@decaf-ts/for-fabric 0.11.0 → 0.12.1
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 +3797 -2
- package/dist/for-fabric.js +3901 -2
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/cli-module.cjs +28 -3
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientRepository.cjs +2 -2
- package/lib/cjs/client/FabricClientStatement.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/constants.cjs +2 -2
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/index.cjs +2 -2
- package/lib/cjs/client/indexes/generation.cjs +2 -2
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/index.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/models/Audit.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/History.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/models/OtherBatchShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/MigrationContract.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/crud/crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/constants.cjs +2 -2
- package/lib/cjs/shared/decorators.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/overrides.cjs +2 -2
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/version.cjs +3 -3
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/cli-module.js +27 -2
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientRepository.js +1 -1
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/constants.js +1 -1
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/indexes/generation.js +1 -1
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/models/Audit.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/History.js +1 -1
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js +1 -1
- package/lib/esm/contract/models/OtherBatchShared.js +1 -1
- package/lib/esm/contract/models/OtherLeaflet.js +1 -1
- package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/models/OtherMarket.js +1 -1
- package/lib/esm/contract/models/OtherProduct.js +1 -1
- package/lib/esm/contract/models/OtherProductImage.js +1 -1
- package/lib/esm/contract/models/OtherProductShared.js +1 -1
- package/lib/esm/contract/models/OtherProductStrength.js +1 -1
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/SegregatedDocument.js +1 -1
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators.js +1 -1
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contracts/ContractAdapter.js +1 -1
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/MigrationContract.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/crud/crud-contract.js +1 -1
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/version.js +2 -2
- package/lib/types/client/FabricClientAdapter.d.cts +3 -3
- package/lib/types/client/FabricClientAdapter.d.mts +3 -3
- package/lib/types/client/FabricClientDispatch.d.cts +2 -2
- package/lib/types/client/FabricClientDispatch.d.mts +2 -2
- package/lib/types/client/FabricClientPaginator.d.cts +1 -1
- package/lib/types/client/FabricClientPaginator.d.mts +1 -1
- package/lib/types/client/FabricClientRepository.d.cts +1 -1
- package/lib/types/client/FabricClientRepository.d.mts +1 -1
- package/lib/types/client/FabricClientStatement.d.cts +2 -2
- package/lib/types/client/FabricClientStatement.d.mts +2 -2
- package/lib/types/client/collections/index.d.cts +1 -1
- package/lib/types/client/collections/index.d.mts +1 -1
- package/lib/types/client/constants.d.cts +1 -1
- package/lib/types/client/constants.d.mts +1 -1
- package/lib/types/client/erc20/FabricERC20ClientRepository.d.cts +3 -3
- package/lib/types/client/erc20/FabricERC20ClientRepository.d.mts +3 -3
- package/lib/types/client/erc20/index.d.cts +1 -1
- package/lib/types/client/erc20/index.d.mts +1 -1
- package/lib/types/client/ids/index.d.cts +1 -1
- package/lib/types/client/ids/index.d.mts +1 -1
- package/lib/types/client/index.d.cts +14 -14
- package/lib/types/client/index.d.mts +14 -14
- package/lib/types/client/indexes/index.d.cts +1 -1
- package/lib/types/client/indexes/index.d.mts +1 -1
- package/lib/types/client/services/FabricEnrollmentService.d.cts +4 -4
- package/lib/types/client/services/FabricEnrollmentService.d.mts +4 -4
- package/lib/types/client/services/FabricIdentityService.d.cts +5 -5
- package/lib/types/client/services/FabricIdentityService.d.mts +5 -5
- package/lib/types/client/services/RegistrationRequestBuilder.d.cts +1 -1
- package/lib/types/client/services/RegistrationRequestBuilder.d.mts +1 -1
- package/lib/types/client/services/index.d.cts +4 -4
- package/lib/types/client/services/index.d.mts +4 -4
- package/lib/types/client/types.d.cts +1 -1
- package/lib/types/client/types.d.mts +1 -1
- package/lib/types/client/utils.d.cts +1 -1
- package/lib/types/client/utils.d.mts +1 -1
- package/lib/types/contract/AddressContract.d.cts +2 -2
- package/lib/types/contract/AddressContract.d.mts +2 -2
- package/lib/types/contract/AuditContract.d.cts +2 -2
- package/lib/types/contract/AuditContract.d.mts +2 -2
- package/lib/types/contract/BatchContract.d.cts +2 -2
- package/lib/types/contract/BatchContract.d.mts +2 -2
- package/lib/types/contract/MarketContract.d.cts +2 -2
- package/lib/types/contract/MarketContract.d.mts +2 -2
- package/lib/types/contract/OtherAuditContract.d.cts +2 -2
- package/lib/types/contract/OtherAuditContract.d.mts +2 -2
- package/lib/types/contract/OtherBatchContract.d.cts +2 -2
- package/lib/types/contract/OtherBatchContract.d.mts +2 -2
- package/lib/types/contract/OtherMarketContract.d.cts +2 -2
- package/lib/types/contract/OtherMarketContract.d.mts +2 -2
- package/lib/types/contract/OtherProductContract.d.cts +2 -2
- package/lib/types/contract/OtherProductContract.d.mts +2 -2
- package/lib/types/contract/OtherProductImageContract.d.cts +2 -2
- package/lib/types/contract/OtherProductImageContract.d.mts +2 -2
- package/lib/types/contract/OtherProductSharedContract.d.cts +2 -2
- package/lib/types/contract/OtherProductSharedContract.d.mts +2 -2
- package/lib/types/contract/OtherProductStrengthContract.d.cts +2 -2
- package/lib/types/contract/OtherProductStrengthContract.d.mts +2 -2
- package/lib/types/contract/Product.d.cts +1 -1
- package/lib/types/contract/Product.d.mts +1 -1
- package/lib/types/contract/ProductContract.d.cts +2 -2
- package/lib/types/contract/ProductContract.d.mts +2 -2
- package/lib/types/contract/ProductStrengthContract.d.cts +2 -2
- package/lib/types/contract/ProductStrengthContract.d.mts +2 -2
- package/lib/types/contract/SegregatedPrivateDocumentContract.d.cts +2 -2
- package/lib/types/contract/SegregatedPrivateDocumentContract.d.mts +2 -2
- package/lib/types/contract/SegregatedSharedDocumentContract.d.cts +2 -2
- package/lib/types/contract/SegregatedSharedDocumentContract.d.mts +2 -2
- package/lib/types/contract/UserContract.d.cts +2 -2
- package/lib/types/contract/UserContract.d.mts +2 -2
- package/lib/types/contract/models/Audit.d.cts +2 -2
- package/lib/types/contract/models/Audit.d.mts +2 -2
- package/lib/types/contract/models/BaseIdentifiedModel.d.cts +1 -1
- package/lib/types/contract/models/BaseIdentifiedModel.d.mts +1 -1
- package/lib/types/contract/models/Batch.d.cts +1 -1
- package/lib/types/contract/models/Batch.d.mts +1 -1
- package/lib/types/contract/models/GtinOwner.d.cts +1 -1
- package/lib/types/contract/models/GtinOwner.d.mts +1 -1
- package/lib/types/contract/models/Leaflet.d.cts +1 -1
- package/lib/types/contract/models/Leaflet.d.mts +1 -1
- package/lib/types/contract/models/LeafletFile.d.cts +1 -1
- package/lib/types/contract/models/LeafletFile.d.mts +1 -1
- package/lib/types/contract/models/Market.d.cts +1 -1
- package/lib/types/contract/models/Market.d.mts +1 -1
- package/lib/types/contract/models/OtherAudit.d.cts +2 -2
- package/lib/types/contract/models/OtherAudit.d.mts +2 -2
- package/lib/types/contract/models/OtherBatchShared.d.cts +1 -1
- package/lib/types/contract/models/OtherBatchShared.d.mts +1 -1
- package/lib/types/contract/models/OtherLeaflet.d.cts +2 -2
- package/lib/types/contract/models/OtherLeaflet.d.mts +2 -2
- package/lib/types/contract/models/OtherLeafletFile.d.cts +1 -1
- package/lib/types/contract/models/OtherLeafletFile.d.mts +1 -1
- package/lib/types/contract/models/OtherMarket.d.cts +1 -1
- package/lib/types/contract/models/OtherMarket.d.mts +1 -1
- package/lib/types/contract/models/OtherProduct.d.cts +1 -1
- package/lib/types/contract/models/OtherProduct.d.mts +1 -1
- package/lib/types/contract/models/OtherProductImage.d.cts +1 -1
- package/lib/types/contract/models/OtherProductImage.d.mts +1 -1
- package/lib/types/contract/models/OtherProductShared.d.cts +4 -4
- package/lib/types/contract/models/OtherProductShared.d.mts +4 -4
- package/lib/types/contract/models/OtherProductStrength.d.cts +1 -1
- package/lib/types/contract/models/OtherProductStrength.d.mts +1 -1
- package/lib/types/contract/models/Product.d.cts +3 -3
- package/lib/types/contract/models/Product.d.mts +3 -3
- package/lib/types/contract/models/ProductStrength.d.cts +1 -1
- package/lib/types/contract/models/ProductStrength.d.mts +1 -1
- package/lib/types/contract/models/SegregatedDocument.d.cts +1 -1
- package/lib/types/contract/models/SegregatedDocument.d.mts +1 -1
- package/lib/types/contract/models/decorators-private.d.cts +2 -2
- package/lib/types/contract/models/decorators-private.d.mts +2 -2
- package/lib/types/contract/models/decorators.d.cts +2 -2
- package/lib/types/contract/models/decorators.d.mts +2 -2
- package/lib/types/contract/models/history-dec.d.cts +1 -1
- package/lib/types/contract/models/history-dec.d.mts +1 -1
- package/lib/types/contracts/ContractAdapter.d.cts +5 -5
- package/lib/types/contracts/ContractAdapter.d.mts +5 -5
- package/lib/types/contracts/ContractContext.d.cts +1 -1
- package/lib/types/contracts/ContractContext.d.mts +1 -1
- package/lib/types/contracts/FabricContractDispatch.d.cts +2 -2
- package/lib/types/contracts/FabricContractDispatch.d.mts +2 -2
- package/lib/types/contracts/FabricContractPaginator.d.cts +1 -1
- package/lib/types/contracts/FabricContractPaginator.d.mts +1 -1
- package/lib/types/contracts/FabricContractRepository.d.cts +3 -3
- package/lib/types/contracts/FabricContractRepository.d.mts +3 -3
- package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.cts +1 -1
- package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.mts +1 -1
- package/lib/types/contracts/FabricContractStatement.d.cts +1 -1
- package/lib/types/contracts/FabricContractStatement.d.mts +1 -1
- package/lib/types/contracts/MigrationContract.d.cts +3 -3
- package/lib/types/contracts/MigrationContract.d.mts +3 -3
- package/lib/types/contracts/auth/index.d.cts +1 -1
- package/lib/types/contracts/auth/index.d.mts +1 -1
- package/lib/types/contracts/crud/crud-contract.d.cts +5 -5
- package/lib/types/contracts/crud/crud-contract.d.mts +5 -5
- package/lib/types/contracts/crud/index.d.cts +2 -2
- package/lib/types/contracts/crud/index.d.mts +2 -2
- package/lib/types/contracts/crud/serialized-crud-contract.d.cts +1 -1
- package/lib/types/contracts/crud/serialized-crud-contract.d.mts +1 -1
- package/lib/types/contracts/erc20/erc20contract.d.cts +3 -3
- package/lib/types/contracts/erc20/erc20contract.d.mts +3 -3
- package/lib/types/contracts/erc20/index.d.cts +1 -1
- package/lib/types/contracts/erc20/index.d.mts +1 -1
- package/lib/types/contracts/index.d.cts +13 -13
- package/lib/types/contracts/index.d.mts +13 -13
- package/lib/types/contracts/types.d.cts +1 -1
- package/lib/types/contracts/types.d.mts +1 -1
- package/lib/types/index.d.cts +3 -3
- package/lib/types/index.d.mts +3 -3
- package/lib/types/shared/decorators.d.cts +3 -3
- package/lib/types/shared/decorators.d.mts +3 -3
- package/lib/types/shared/erc20/index.d.cts +1 -1
- package/lib/types/shared/erc20/index.d.mts +1 -1
- package/lib/types/shared/index.d.cts +14 -14
- package/lib/types/shared/index.d.mts +14 -14
- package/lib/types/shared/interfaces/index.d.cts +1 -1
- package/lib/types/shared/interfaces/index.d.mts +1 -1
- package/lib/types/shared/model/FabricIdentifiedBaseModel.d.cts +1 -1
- package/lib/types/shared/model/FabricIdentifiedBaseModel.d.mts +1 -1
- package/lib/types/shared/model/Identity.d.cts +2 -2
- package/lib/types/shared/model/Identity.d.mts +2 -2
- package/lib/types/shared/model/index.d.cts +4 -4
- package/lib/types/shared/model/index.d.mts +4 -4
- package/lib/types/shared/overrides/Model.d.cts +2 -2
- package/lib/types/shared/overrides/Model.d.mts +2 -2
- package/lib/types/shared/overrides/index.d.cts +2 -2
- package/lib/types/shared/overrides/index.d.mts +2 -2
- package/lib/types/version.d.cts +1 -1
- package/lib/types/version.d.mts +1 -1
- package/package.json +7 -7
- package/dist/for-fabric.cjs.map +0 -1
- package/dist/for-fabric.js.map +0 -1
- package/lib/cjs/bin/cli.cjs.map +0 -1
- package/lib/cjs/cli-module.cjs.map +0 -1
- package/lib/cjs/cli-utils.cjs.map +0 -1
- package/lib/cjs/client/FabricClientAdapter.cjs.map +0 -1
- package/lib/cjs/client/FabricClientDispatch.cjs.map +0 -1
- package/lib/cjs/client/FabricClientPaginator.cjs.map +0 -1
- package/lib/cjs/client/FabricClientRepository.cjs.map +0 -1
- package/lib/cjs/client/FabricClientStatement.cjs.map +0 -1
- package/lib/cjs/client/collections/generation.cjs.map +0 -1
- package/lib/cjs/client/collections/index.cjs.map +0 -1
- package/lib/cjs/client/constants.cjs.map +0 -1
- package/lib/cjs/client/crypto.cjs.map +0 -1
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +0 -1
- package/lib/cjs/client/erc20/index.cjs.map +0 -1
- package/lib/cjs/client/fabric-fs.cjs.map +0 -1
- package/lib/cjs/client/fabric-hsm.cjs.map +0 -1
- package/lib/cjs/client/ids/id-extraction.cjs.map +0 -1
- package/lib/cjs/client/ids/index.cjs.map +0 -1
- package/lib/cjs/client/index.cjs.map +0 -1
- package/lib/cjs/client/indexes/generation.cjs.map +0 -1
- package/lib/cjs/client/indexes/index.cjs.map +0 -1
- package/lib/cjs/client/logging.cjs.map +0 -1
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +0 -1
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +0 -1
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +0 -1
- package/lib/cjs/client/services/constants.cjs.map +0 -1
- package/lib/cjs/client/services/index.cjs.map +0 -1
- package/lib/cjs/client/types.cjs.map +0 -1
- package/lib/cjs/client/utils.cjs.map +0 -1
- package/lib/cjs/contract/Address.cjs.map +0 -1
- package/lib/cjs/contract/AddressContract.cjs.map +0 -1
- package/lib/cjs/contract/AuditContract.cjs.map +0 -1
- package/lib/cjs/contract/BatchContract.cjs.map +0 -1
- package/lib/cjs/contract/MarketContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherAuditContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherBatchContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherMarketContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +0 -1
- package/lib/cjs/contract/Product.cjs.map +0 -1
- package/lib/cjs/contract/ProductContract.cjs.map +0 -1
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +0 -1
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +0 -1
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +0 -1
- package/lib/cjs/contract/User.cjs.map +0 -1
- package/lib/cjs/contract/UserContract.cjs.map +0 -1
- package/lib/cjs/contract/index.cjs.map +0 -1
- package/lib/cjs/contract/logging-context.cjs.map +0 -1
- package/lib/cjs/contract/models/Audit.cjs.map +0 -1
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +0 -1
- package/lib/cjs/contract/models/BaseModel.cjs.map +0 -1
- package/lib/cjs/contract/models/Batch.cjs.map +0 -1
- package/lib/cjs/contract/models/GtinOwner.cjs.map +0 -1
- package/lib/cjs/contract/models/History.cjs.map +0 -1
- package/lib/cjs/contract/models/Leaflet.cjs.map +0 -1
- package/lib/cjs/contract/models/LeafletFile.cjs.map +0 -1
- package/lib/cjs/contract/models/Market.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherAudit.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherMarket.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProduct.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +0 -1
- package/lib/cjs/contract/models/Product.cjs.map +0 -1
- package/lib/cjs/contract/models/ProductStrength.cjs.map +0 -1
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +0 -1
- package/lib/cjs/contract/models/constants.cjs.map +0 -1
- package/lib/cjs/contract/models/decorators-private.cjs.map +0 -1
- package/lib/cjs/contract/models/decorators.cjs.map +0 -1
- package/lib/cjs/contract/models/gtin.cjs.map +0 -1
- package/lib/cjs/contract/models/history-dec.cjs.map +0 -1
- package/lib/cjs/contracts/ContractAdapter.cjs.map +0 -1
- package/lib/cjs/contracts/ContractContext.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +0 -1
- package/lib/cjs/contracts/MigrationContract.cjs.map +0 -1
- package/lib/cjs/contracts/PrivateSequence.cjs.map +0 -1
- package/lib/cjs/contracts/auth/decorators.cjs.map +0 -1
- package/lib/cjs/contracts/auth/index.cjs.map +0 -1
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +0 -1
- package/lib/cjs/contracts/crud/index.cjs.map +0 -1
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/index.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/models.cjs.map +0 -1
- package/lib/cjs/contracts/index.cjs.map +0 -1
- package/lib/cjs/contracts/logging.cjs.map +0 -1
- package/lib/cjs/contracts/overrides.cjs.map +0 -1
- package/lib/cjs/contracts/types.cjs.map +0 -1
- package/lib/cjs/contracts/uuid.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/shared/ClientSerializer.cjs.map +0 -1
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +0 -1
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +0 -1
- package/lib/cjs/shared/constants.cjs.map +0 -1
- package/lib/cjs/shared/decorators.cjs.map +0 -1
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +0 -1
- package/lib/cjs/shared/erc20/index.cjs.map +0 -1
- package/lib/cjs/shared/errors.cjs.map +0 -1
- package/lib/cjs/shared/events.cjs.map +0 -1
- package/lib/cjs/shared/fabric-types.cjs.map +0 -1
- package/lib/cjs/shared/index.cjs.map +0 -1
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +0 -1
- package/lib/cjs/shared/interfaces/index.cjs.map +0 -1
- package/lib/cjs/shared/math.cjs.map +0 -1
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +0 -1
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +0 -1
- package/lib/cjs/shared/model/Identity.cjs.map +0 -1
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +0 -1
- package/lib/cjs/shared/model/index.cjs.map +0 -1
- package/lib/cjs/shared/overrides/Model.cjs.map +0 -1
- package/lib/cjs/shared/overrides/index.cjs.map +0 -1
- package/lib/cjs/shared/overrides/overrides.cjs.map +0 -1
- package/lib/cjs/shared/types.cjs.map +0 -1
- package/lib/cjs/version.cjs.map +0 -1
- package/lib/esm/bin/cli.js.map +0 -1
- package/lib/esm/cli-module.js.map +0 -1
- package/lib/esm/cli-utils.js.map +0 -1
- package/lib/esm/client/FabricClientAdapter.js.map +0 -1
- package/lib/esm/client/FabricClientDispatch.js.map +0 -1
- package/lib/esm/client/FabricClientPaginator.js.map +0 -1
- package/lib/esm/client/FabricClientRepository.js.map +0 -1
- package/lib/esm/client/FabricClientStatement.js.map +0 -1
- package/lib/esm/client/collections/generation.js.map +0 -1
- package/lib/esm/client/collections/index.js.map +0 -1
- package/lib/esm/client/constants.js.map +0 -1
- package/lib/esm/client/crypto.js.map +0 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +0 -1
- package/lib/esm/client/erc20/index.js.map +0 -1
- package/lib/esm/client/fabric-fs.js.map +0 -1
- package/lib/esm/client/fabric-hsm.js.map +0 -1
- package/lib/esm/client/ids/id-extraction.js.map +0 -1
- package/lib/esm/client/ids/index.js.map +0 -1
- package/lib/esm/client/index.js.map +0 -1
- package/lib/esm/client/indexes/generation.js.map +0 -1
- package/lib/esm/client/indexes/index.js.map +0 -1
- package/lib/esm/client/logging.js.map +0 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +0 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +0 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +0 -1
- package/lib/esm/client/services/constants.js.map +0 -1
- package/lib/esm/client/services/index.js.map +0 -1
- package/lib/esm/client/types.js.map +0 -1
- package/lib/esm/client/utils.js.map +0 -1
- package/lib/esm/contract/Address.js.map +0 -1
- package/lib/esm/contract/AddressContract.js.map +0 -1
- package/lib/esm/contract/AuditContract.js.map +0 -1
- package/lib/esm/contract/BatchContract.js.map +0 -1
- package/lib/esm/contract/MarketContract.js.map +0 -1
- package/lib/esm/contract/OtherAuditContract.js.map +0 -1
- package/lib/esm/contract/OtherBatchContract.js.map +0 -1
- package/lib/esm/contract/OtherMarketContract.js.map +0 -1
- package/lib/esm/contract/OtherProductContract.js.map +0 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +0 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +0 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +0 -1
- package/lib/esm/contract/Product.js.map +0 -1
- package/lib/esm/contract/ProductContract.js.map +0 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +0 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +0 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +0 -1
- package/lib/esm/contract/User.js.map +0 -1
- package/lib/esm/contract/UserContract.js.map +0 -1
- package/lib/esm/contract/index.js.map +0 -1
- package/lib/esm/contract/logging-context.js.map +0 -1
- package/lib/esm/contract/models/Audit.js.map +0 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +0 -1
- package/lib/esm/contract/models/BaseModel.js.map +0 -1
- package/lib/esm/contract/models/Batch.js.map +0 -1
- package/lib/esm/contract/models/GtinOwner.js.map +0 -1
- package/lib/esm/contract/models/History.js.map +0 -1
- package/lib/esm/contract/models/Leaflet.js.map +0 -1
- package/lib/esm/contract/models/LeafletFile.js.map +0 -1
- package/lib/esm/contract/models/Market.js.map +0 -1
- package/lib/esm/contract/models/OtherAudit.js.map +0 -1
- package/lib/esm/contract/models/OtherBatchShared.js.map +0 -1
- package/lib/esm/contract/models/OtherLeaflet.js.map +0 -1
- package/lib/esm/contract/models/OtherLeafletFile.js.map +0 -1
- package/lib/esm/contract/models/OtherMarket.js.map +0 -1
- package/lib/esm/contract/models/OtherProduct.js.map +0 -1
- package/lib/esm/contract/models/OtherProductImage.js.map +0 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +0 -1
- package/lib/esm/contract/models/OtherProductStrength.js.map +0 -1
- package/lib/esm/contract/models/Product.js.map +0 -1
- package/lib/esm/contract/models/ProductStrength.js.map +0 -1
- package/lib/esm/contract/models/SegregatedDocument.js.map +0 -1
- package/lib/esm/contract/models/constants.js.map +0 -1
- package/lib/esm/contract/models/decorators-private.js.map +0 -1
- package/lib/esm/contract/models/decorators.js.map +0 -1
- package/lib/esm/contract/models/gtin.js.map +0 -1
- package/lib/esm/contract/models/history-dec.js.map +0 -1
- package/lib/esm/contracts/ContractAdapter.js.map +0 -1
- package/lib/esm/contracts/ContractContext.js.map +0 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +0 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +0 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +0 -1
- package/lib/esm/contracts/MigrationContract.js.map +0 -1
- package/lib/esm/contracts/PrivateSequence.js.map +0 -1
- package/lib/esm/contracts/auth/decorators.js.map +0 -1
- package/lib/esm/contracts/auth/index.js.map +0 -1
- package/lib/esm/contracts/crud/crud-contract.js.map +0 -1
- package/lib/esm/contracts/crud/index.js.map +0 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +0 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +0 -1
- package/lib/esm/contracts/erc20/index.js.map +0 -1
- package/lib/esm/contracts/erc20/models.js.map +0 -1
- package/lib/esm/contracts/index.js.map +0 -1
- package/lib/esm/contracts/logging.js.map +0 -1
- package/lib/esm/contracts/overrides.js.map +0 -1
- package/lib/esm/contracts/types.js.map +0 -1
- package/lib/esm/contracts/uuid.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/shared/ClientSerializer.js.map +0 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/constants.js.map +0 -1
- package/lib/esm/shared/decorators.js.map +0 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +0 -1
- package/lib/esm/shared/erc20/index.js.map +0 -1
- package/lib/esm/shared/errors.js.map +0 -1
- package/lib/esm/shared/events.js.map +0 -1
- package/lib/esm/shared/fabric-types.js.map +0 -1
- package/lib/esm/shared/index.js.map +0 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +0 -1
- package/lib/esm/shared/interfaces/index.js.map +0 -1
- package/lib/esm/shared/math.js.map +0 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +0 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
- package/lib/esm/shared/model/Identity.js.map +0 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +0 -1
- package/lib/esm/shared/model/index.js.map +0 -1
- package/lib/esm/shared/overrides/Model.js.map +0 -1
- package/lib/esm/shared/overrides/index.js.map +0 -1
- package/lib/esm/shared/overrides/overrides.js.map +0 -1
- package/lib/esm/shared/types.js.map +0 -1
- package/lib/esm/version.js.map +0 -1
- package/lib/types/bin/cli.d.ts +0 -1
- package/lib/types/cli-module.d.ts +0 -3
- package/lib/types/cli-utils.d.ts +0 -21
- package/lib/types/client/FabricClientAdapter.d.ts +0 -404
- package/lib/types/client/FabricClientDispatch.d.ts +0 -133
- package/lib/types/client/FabricClientPaginator.d.ts +0 -12
- package/lib/types/client/FabricClientRepository.d.ts +0 -71
- package/lib/types/client/FabricClientStatement.d.ts +0 -64
- package/lib/types/client/collections/generation.d.ts +0 -46
- package/lib/types/client/collections/index.d.ts +0 -1
- package/lib/types/client/constants.d.ts +0 -2
- package/lib/types/client/crypto.d.ts +0 -107
- package/lib/types/client/erc20/FabricERC20ClientRepository.d.ts +0 -254
- package/lib/types/client/erc20/index.d.ts +0 -1
- package/lib/types/client/fabric-fs.d.ts +0 -92
- package/lib/types/client/fabric-hsm.d.ts +0 -24
- package/lib/types/client/ids/id-extraction.d.ts +0 -4
- package/lib/types/client/ids/index.d.ts +0 -1
- package/lib/types/client/index.d.ts +0 -23
- package/lib/types/client/indexes/generation.d.ts +0 -10
- package/lib/types/client/indexes/index.d.ts +0 -1
- package/lib/types/client/logging.d.ts +0 -60
- package/lib/types/client/services/FabricEnrollmentService.d.ts +0 -176
- package/lib/types/client/services/FabricIdentityService.d.ts +0 -98
- package/lib/types/client/services/RegistrationRequestBuilder.d.ts +0 -19
- package/lib/types/client/services/constants.d.ts +0 -15
- package/lib/types/client/services/index.d.ts +0 -4
- package/lib/types/client/types.d.ts +0 -20
- package/lib/types/client/utils.d.ts +0 -71
- package/lib/types/contract/Address.d.ts +0 -13
- package/lib/types/contract/AddressContract.d.ts +0 -5
- package/lib/types/contract/AuditContract.d.ts +0 -5
- package/lib/types/contract/BatchContract.d.ts +0 -5
- package/lib/types/contract/MarketContract.d.ts +0 -5
- package/lib/types/contract/OtherAuditContract.d.ts +0 -5
- package/lib/types/contract/OtherBatchContract.d.ts +0 -5
- package/lib/types/contract/OtherMarketContract.d.ts +0 -5
- package/lib/types/contract/OtherProductContract.d.ts +0 -5
- package/lib/types/contract/OtherProductImageContract.d.ts +0 -5
- package/lib/types/contract/OtherProductSharedContract.d.ts +0 -5
- package/lib/types/contract/OtherProductStrengthContract.d.ts +0 -5
- package/lib/types/contract/Product.d.ts +0 -7
- package/lib/types/contract/ProductContract.d.ts +0 -5
- package/lib/types/contract/ProductStrengthContract.d.ts +0 -5
- package/lib/types/contract/SegregatedPrivateDocumentContract.d.ts +0 -5
- package/lib/types/contract/SegregatedSharedDocumentContract.d.ts +0 -5
- package/lib/types/contract/User.d.ts +0 -7
- package/lib/types/contract/UserContract.d.ts +0 -5
- package/lib/types/contract/index.d.ts +0 -2
- package/lib/types/contract/logging-context.d.ts +0 -8
- package/lib/types/contract/models/Audit.d.ts +0 -13
- package/lib/types/contract/models/BaseIdentifiedModel.d.ts +0 -7
- package/lib/types/contract/models/BaseModel.d.ts +0 -7
- package/lib/types/contract/models/Batch.d.ts +0 -18
- package/lib/types/contract/models/GtinOwner.d.ts +0 -8
- package/lib/types/contract/models/History.d.ts +0 -9
- package/lib/types/contract/models/Leaflet.d.ts +0 -12
- package/lib/types/contract/models/LeafletFile.d.ts +0 -9
- package/lib/types/contract/models/Market.d.ts +0 -12
- package/lib/types/contract/models/OtherAudit.d.ts +0 -15
- package/lib/types/contract/models/OtherBatchShared.d.ts +0 -18
- package/lib/types/contract/models/OtherLeaflet.d.ts +0 -16
- package/lib/types/contract/models/OtherLeafletFile.d.ts +0 -10
- package/lib/types/contract/models/OtherMarket.d.ts +0 -13
- package/lib/types/contract/models/OtherProduct.d.ts +0 -12
- package/lib/types/contract/models/OtherProductImage.d.ts +0 -9
- package/lib/types/contract/models/OtherProductShared.d.ts +0 -18
- package/lib/types/contract/models/OtherProductStrength.d.ts +0 -12
- package/lib/types/contract/models/Product.d.ts +0 -15
- package/lib/types/contract/models/ProductStrength.d.ts +0 -11
- package/lib/types/contract/models/SegregatedDocument.d.ts +0 -18
- package/lib/types/contract/models/constants.d.ts +0 -24
- package/lib/types/contract/models/decorators-private.d.ts +0 -16
- package/lib/types/contract/models/decorators.d.ts +0 -28
- package/lib/types/contract/models/gtin.d.ts +0 -8
- package/lib/types/contract/models/history-dec.d.ts +0 -6
- package/lib/types/contracts/ContractAdapter.d.ts +0 -287
- package/lib/types/contracts/ContractContext.d.ts +0 -89
- package/lib/types/contracts/FabricContractDispatch.d.ts +0 -7
- package/lib/types/contracts/FabricContractPaginator.d.ts +0 -105
- package/lib/types/contracts/FabricContractRepository.d.ts +0 -119
- package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.ts +0 -62
- package/lib/types/contracts/FabricContractSequence.d.ts +0 -87
- package/lib/types/contracts/FabricContractStatement.d.ts +0 -36
- package/lib/types/contracts/MigrationContract.d.ts +0 -22
- package/lib/types/contracts/PrivateSequence.d.ts +0 -15
- package/lib/types/contracts/auth/decorators.d.ts +0 -6
- package/lib/types/contracts/auth/index.d.ts +0 -1
- package/lib/types/contracts/crud/crud-contract.d.ts +0 -199
- package/lib/types/contracts/crud/index.d.ts +0 -2
- package/lib/types/contracts/crud/serialized-crud-contract.d.ts +0 -42
- package/lib/types/contracts/erc20/erc20contract.d.ts +0 -152
- package/lib/types/contracts/erc20/index.d.ts +0 -2
- package/lib/types/contracts/erc20/models.d.ts +0 -114
- package/lib/types/contracts/index.d.ts +0 -20
- package/lib/types/contracts/logging.d.ts +0 -54
- package/lib/types/contracts/overrides.d.ts +0 -1
- package/lib/types/contracts/types.d.ts +0 -38
- package/lib/types/contracts/uuid.d.ts +0 -2
- package/lib/types/index.d.ts +0 -8
- package/lib/types/shared/ClientSerializer.d.ts +0 -52
- package/lib/types/shared/DeterministicSerializer.d.ts +0 -47
- package/lib/types/shared/SimpleDeterministicSerializer.d.ts +0 -7
- package/lib/types/shared/constants.d.ts +0 -35
- package/lib/types/shared/decorators.d.ts +0 -81
- package/lib/types/shared/erc20/erc20-constants.d.ts +0 -25
- package/lib/types/shared/erc20/index.d.ts +0 -1
- package/lib/types/shared/errors.d.ts +0 -140
- package/lib/types/shared/events.d.ts +0 -37
- package/lib/types/shared/fabric-types.d.ts +0 -32
- package/lib/types/shared/index.d.ts +0 -21
- package/lib/types/shared/interfaces/Checkable.d.ts +0 -23
- package/lib/types/shared/interfaces/index.d.ts +0 -1
- package/lib/types/shared/math.d.ts +0 -34
- package/lib/types/shared/model/FabricBaseModel.d.ts +0 -7
- package/lib/types/shared/model/FabricIdentifiedBaseModel.d.ts +0 -7
- package/lib/types/shared/model/Identity.d.ts +0 -42
- package/lib/types/shared/model/IdentityCredentials.d.ts +0 -41
- package/lib/types/shared/model/index.d.ts +0 -4
- package/lib/types/shared/overrides/Model.d.ts +0 -22
- package/lib/types/shared/overrides/index.d.ts +0 -2
- package/lib/types/shared/overrides/overrides.d.ts +0 -1
- package/lib/types/shared/types.d.ts +0 -125
- package/lib/types/version.d.ts +0 -2
|
@@ -231,5 +231,5 @@ async function extractPrivateKey(pem) {
|
|
|
231
231
|
throw new db_decorators_1.InternalError(e);
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
|
-
//# sourceMappingURL=fabric-fs.js.map
|
|
235
|
-
//# sourceMappingURL=fabric-fs.js.map
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC9mYWJyaWMtZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBb0IsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUV4Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLGFBQWtDLEVBQ2xDLFVBQW1FO0lBRW5FLElBQUksYUFBYSxZQUFZLFVBQVU7UUFBRSxPQUFPLGFBQWEsQ0FBQztJQUM5RCxJQUNFLGFBQWEsQ0FBQyxLQUFLLENBQ2pCLHNFQUFzRSxDQUN2RTtRQUVELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxhQUE4QjtJQUMzRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVE7UUFBRSxPQUFPLGFBQWEsQ0FBQztJQUU1RCxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7UUFDeEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FDN0IsUUFBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsS0FBYTtJQUViLEdBQUcsQ0FBQyxLQUFLLENBQ1AsaUJBQWlCLEtBQUssU0FBUyxRQUFRLHFCQUFxQixXQUFXLEVBQUUsQ0FDMUUsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUMvQixLQUFhLEVBQ2IsaUJBQXlCO0lBRXpCLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ2hELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBZSxDQUFDLE1BQU0saUJBQWlCLENBQ3RELGlCQUFpQixFQUNqQixrQkFBa0IsQ0FDbkIsQ0FBZSxDQUFDO0lBRWpCLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUM7QUFDaEMsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQWU7SUFDdkQsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSwwQkFBMEIsQ0FDOUMsT0FBZTtJQUVmLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxnQkFBd0I7SUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7UUFDOUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDO0lBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFNLGlCQUFpQixDQUM1QyxnQkFBZ0IsRUFDaEIsZ0JBQWdCLENBQ2pCLENBQVcsQ0FBQztJQUNiLDRCQUE0QjtJQUM1QixnREFBZ0Q7SUFDaEQsS0FBSztJQUVMLDJCQUEyQjtJQUMzQixNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxNQUFNLENBQUMsR0FBSSxVQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLEtBQUs7SUFFTCxPQUFPLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFRLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxHQUFXO0lBQ2pELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUN6QixJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUNoQixNQUFNLEdBQUksVUFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUSxDQUFDO1FBQzVELE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUVuRSxTQUFTLE1BQU0sQ0FBQyxHQUFXO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLEdBQUc7U0FDWixRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ2hCLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLENBQUM7U0FDMUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7U0FDcEIsT0FBTyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUNoQyxPQUFPLEVBQ1AsU0FBUyxFQUNUO1lBQ0UsSUFBSSxFQUFFLE9BQU87WUFDYixVQUFVLEVBQUUsT0FBTztTQUNwQixFQUNELElBQUksRUFDSixDQUFDLE1BQU0sQ0FBQyxDQUNULENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Jyb3dzZXIsIE1pbmlMb2dnZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiZmFicmljLWNvbW1vblwiO1xuaW1wb3J0IHsgSWRlbnRpdHksIFNpZ25lciwgc2lnbmVycyB9IGZyb20gXCJAaHlwZXJsZWRnZXIvZmFicmljLWdhdGV3YXlcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZUltcG9ydCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG5jb25zdCBsb2cgPSBuZXcgTWluaUxvZ2dlcihcImZhYnJpYy1mc1wiKTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTG9hZHMgY29udGVudCBmcm9tIGEgZmlsZSBvciByZXR1cm5zIHRoZSBjb250ZW50IGlmIGFscmVhZHkgbG9hZGVkXG4gKiBAc3VtbWFyeSBEZXRlcm1pbmVzIGlmIHRoZSBpbnB1dCBpcyBhbHJlYWR5IGNvbnRlbnQgb3IgYSBwYXRoIHRvIGEgZmlsZSwgYW5kIGxvYWRzIHRoZSBmaWxlIGlmIG5lZWRlZFxuICogQHBhcmFtIHtzdHJpbmcgfCBVaW50OEFycmF5fSBjb250ZW50T3JQYXRoIC0gVGhlIGNvbnRlbnQgb3IgcGF0aCB0byBsb2FkXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmaWxlUmVhZGVyIC0gRnVuY3Rpb24gdG8gcmVhZCB0aGUgZmlsZSBpZiBjb250ZW50T3JQYXRoIGlzIGEgcGF0aFxuICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmcgfCBVaW50OEFycmF5IHwgQnVmZmVyPn0gVGhlIGNvbnRlbnRcbiAqIEBmdW5jdGlvbiBjb250ZW50T2ZMb2FkRmlsZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udGVudE9mTG9hZEZpbGUoXG4gIGNvbnRlbnRPclBhdGg6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gIGZpbGVSZWFkZXI6IChwYXRoOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nIHwgVWludDhBcnJheSB8IEJ1ZmZlcj5cbikge1xuICBpZiAoY29udGVudE9yUGF0aCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHJldHVybiBjb250ZW50T3JQYXRoO1xuICBpZiAoXG4gICAgY29udGVudE9yUGF0aC5tYXRjaChcbiAgICAgIC8tLS0tLUJFR0lOIChDRVJUSUZJQ0FURXxLRVl8UFJJVkFURSBLRVkpLS0tLS0uKz8tLS0tLUVORCBcXDEtLS0tLSQvZ21zXG4gICAgKVxuICApXG4gICAgcmV0dXJuIGNvbnRlbnRPclBhdGg7XG4gIHJldHVybiBhd2FpdCBmaWxlUmVhZGVyKGNvbnRlbnRPclBhdGgpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZWFkcyBhIGZpbGUgZnJvbSB0aGUgZmlsZSBzeXN0ZW1cbiAqIEBzdW1tYXJ5IExvYWRzIGEgZmlsZSB1c2luZyB0aGUgTm9kZS5qcyBmaWxlIHN5c3RlbSBtb2R1bGVcbiAqIEBwYXJhbSB7c3RyaW5nIHwgQnVmZmVyfSBjb250ZW50T3JQYXRoIC0gVGhlIGNvbnRlbnQgb3IgcGF0aCB0byBsb2FkXG4gKiBAcmV0dXJuIHtQcm9taXNlPEJ1ZmZlcj59IFRoZSBmaWxlIGNvbnRlbnQgYXMgYSBCdWZmZXJcbiAqIEBmdW5jdGlvbiByZWFkRmlsZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZEZpbGUoY29udGVudE9yUGF0aDogc3RyaW5nIHwgQnVmZmVyKSB7XG4gIGlmICh0eXBlb2YgY29udGVudE9yUGF0aCAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIGNvbnRlbnRPclBhdGg7XG5cbiAgY29uc3QgZmlsZVJlYWRlciA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB7IHByb21pc2VzIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwiZnNcIikpO1xuICAgIHJldHVybiBhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShwYXRoKTtcbiAgfTtcblxuICByZXR1cm4gYXdhaXQgZmlsZVJlYWRlcihjb250ZW50T3JQYXRoKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIENlcnRpZmljYXRlIEF1dGhvcml0eSB1c2VyXG4gKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIHVzZXIgd2l0aCB0aGUgZ2l2ZW4gY3JlZGVudGlhbHMgZm9yIGludGVyYWN0aW5nIHdpdGggYSBGYWJyaWMgQ0FcbiAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyTmFtZSAtIFRoZSB1c2VyIG5hbWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcml2YXRlS2V5IC0gVGhlIHByaXZhdGUga2V5IGFzIGEgc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gY2VydGlmaWNhdGUgLSBUaGUgY2VydGlmaWNhdGUgYXMgYSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBtc3BJZCAtIFRoZSBNZW1iZXJzaGlwIFNlcnZpY2UgUHJvdmlkZXIgSURcbiAqIEByZXR1cm4ge1Byb21pc2U8VXNlcj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBjcmVhdGVkIHVzZXJcbiAqIEBmdW5jdGlvbiBnZXRDQVVzZXJcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENBVXNlcihcbiAgdXNlck5hbWU6IHN0cmluZyxcbiAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICBjZXJ0aWZpY2F0ZTogc3RyaW5nLFxuICBtc3BJZDogc3RyaW5nXG4pOiBQcm9taXNlPFVzZXI+IHtcbiAgbG9nLmRlYnVnKFxuICAgIGBDcmVhdGluZyBhIENBICR7bXNwSWR9IHVzZXIgJHt1c2VyTmFtZX0gd2l0aCBjZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlfWBcbiAgKTtcbiAgY29uc3QgdXNlciA9IG5ldyBVc2VyKHVzZXJOYW1lKTtcbiAgY29uc3QgY3J5cHRvU3VpdGUgPSBVc2VyLm5ld0NyeXB0b1N1aXRlKCk7XG4gIHVzZXIuc2V0Q3J5cHRvU3VpdGUoY3J5cHRvU3VpdGUpO1xuICBjb25zdCBpbXBvcnRlZEtleSA9IGNyeXB0b1N1aXRlLmNyZWF0ZUtleUZyb21SYXcocHJpdmF0ZUtleSk7XG4gIGF3YWl0IHVzZXIuc2V0RW5yb2xsbWVudChpbXBvcnRlZEtleSwgY2VydGlmaWNhdGUsIG1zcElkKTtcbiAgcmV0dXJuIHVzZXI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdldHMgYW4gaWRlbnRpdHkgZnJvbSBhIGNlcnRpZmljYXRlIGRpcmVjdG9yeVxuICogQHN1bW1hcnkgTG9hZHMgYSBjZXJ0aWZpY2F0ZSBmcm9tIGEgZGlyZWN0b3J5IGFuZCBjcmVhdGVzIGFuIElkZW50aXR5IG9iamVjdFxuICogQHBhcmFtIHtzdHJpbmd9IG1zcElkIC0gVGhlIE1lbWJlcnNoaXAgU2VydmljZSBQcm92aWRlciBJRFxuICogQHBhcmFtIHtzdHJpbmd9IGNlcnREaXJlY3RvcnlQYXRoIC0gUGF0aCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJuIHtQcm9taXNlPElkZW50aXR5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGlkZW50aXR5XG4gKiBAZnVuY3Rpb24gZ2V0SWRlbnRpdHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElkZW50aXR5KFxuICBtc3BJZDogc3RyaW5nLFxuICBjZXJ0RGlyZWN0b3J5UGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPElkZW50aXR5PiB7XG4gIGNvbnN0IGlkZW50aXR5RmlsZVJlYWRlciA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB7IHByb21pc2VzIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwiZnNcIikpO1xuICAgIGNvbnN0IGNlcnRQYXRoID0gYXdhaXQgZ2V0Rmlyc3REaXJGaWxlTmFtZShwYXRoKTtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IHByb21pc2VzLnJlYWRGaWxlKGNlcnRQYXRoKTtcbiAgICByZXR1cm4gY3JlZGVudGlhbHM7XG4gIH07XG5cbiAgY29uc3QgY3JlZGVudGlhbHM6IFVpbnQ4QXJyYXkgPSAoYXdhaXQgY29udGVudE9mTG9hZEZpbGUoXG4gICAgY2VydERpcmVjdG9yeVBhdGgsXG4gICAgaWRlbnRpdHlGaWxlUmVhZGVyXG4gICkpIGFzIFVpbnQ4QXJyYXk7XG5cbiAgcmV0dXJuIHsgbXNwSWQsIGNyZWRlbnRpYWxzIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgZmlyc3QgZmlsZSBpbiBhIGRpcmVjdG9yeVxuICogQHN1bW1hcnkgUmVhZHMgYSBkaXJlY3RvcnkgYW5kIHJldHVybnMgdGhlIHBhdGggdG8gdGhlIGZpcnN0IGZpbGUgZm91bmRcbiAqIEBwYXJhbSB7c3RyaW5nfSBkaXJQYXRoIC0gUGF0aCB0byB0aGUgZGlyZWN0b3J5XG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZpcnN0IGZpbGVcbiAqIEBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lKGRpclBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gIGNvbnN0IHsgam9pbiB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChcInBhdGhcIikpO1xuICBjb25zdCBmaWxlcyA9IGF3YWl0IHByb21pc2VzLnJlYWRkaXIoZGlyUGF0aCk7XG4gIHJldHVybiBqb2luKGRpclBhdGgsIGZpbGVzWzBdKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlyc3QgZmlsZSBpbiBhIGRpcmVjdG9yeVxuICogQHN1bW1hcnkgUmVhZHMgYSBkaXJlY3RvcnksIGZpbmRzIHRoZSBmaXJzdCBmaWxlLCBhbmQgcmV0dXJucyBpdHMgY29udGVudCBhcyBhIHN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IGRpclBhdGggLSBQYXRoIHRvIHRoZSBkaXJlY3RvcnlcbiAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNvbnRlbnQgb2YgdGhlIGZpcnN0IGZpbGVcbiAqIEBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lQ29udGVudFxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Rmlyc3REaXJGaWxlTmFtZUNvbnRlbnQoXG4gIGRpclBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBwcm9taXNlcyB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChcImZzXCIpKTtcbiAgY29uc3QgeyBqb2luIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwicGF0aFwiKSk7XG4gIGNvbnN0IGZpbGVzID0gYXdhaXQgcHJvbWlzZXMucmVhZGRpcihkaXJQYXRoKTtcbiAgcmV0dXJuIChhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShqb2luKGRpclBhdGgsIGZpbGVzWzBdKSkpLnRvU3RyaW5nKCk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdldHMgYSBzaWduZXIgZnJvbSBhIGtleSBkaXJlY3RvcnlcbiAqIEBzdW1tYXJ5IExvYWRzIGEgcHJpdmF0ZSBrZXkgZnJvbSBhIGRpcmVjdG9yeSBhbmQgY3JlYXRlcyBhIFNpZ25lciBmb3IgRmFicmljIHRyYW5zYWN0aW9uc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleURpcmVjdG9yeVBhdGggLSBQYXRoIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgcHJpdmF0ZSBrZXlcbiAqIEByZXR1cm4ge1Byb21pc2U8U2lnbmVyPn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHNpZ25lclxuICogQGZ1bmN0aW9uIGdldFNpZ25lclxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U2lnbmVyKGtleURpcmVjdG9yeVBhdGg6IHN0cmluZyk6IFByb21pc2U8U2lnbmVyPiB7XG4gIGNvbnN0IHNpZ25lckZpbGVSZWFkZXIgPSBhc3luYyAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgeyBwcm9taXNlcyB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChcImZzXCIpKTtcbiAgICBjb25zdCBrZXlQYXRoID0gYXdhaXQgZ2V0Rmlyc3REaXJGaWxlTmFtZShwYXRoKTtcbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZXMucmVhZEZpbGUoa2V5UGF0aCk7XG4gIH07XG5cbiAgY29uc3QgcHJpdmF0ZUtleVBlbSA9IChhd2FpdCBjb250ZW50T2ZMb2FkRmlsZShcbiAgICBrZXlEaXJlY3RvcnlQYXRoLFxuICAgIHNpZ25lckZpbGVSZWFkZXJcbiAgKSkgYXMgQnVmZmVyO1xuICAvLyBOb2RlIGJhc2VkIGltcGxlbWVudGF0aW9uXG4gIC8vIHByaXZhdGVLZXkgPSBjcmVhdGVQcml2YXRlS2V5KHByaXZhdGVLZXlQZW0pO1xuICAvLyAtLVxuXG4gIC8vIHdlYiBiYXNlZCBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgZXh0cmFjdFByaXZhdGVLZXkocHJpdmF0ZUtleVBlbSk7XG4gIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHByaXZhdGVLZXkpO1xuICBjb25zdCBrID0gKHByaXZhdGVLZXkgYXMgYW55KVtrZXlzWzBdXTtcbiAgLy8gLS1cblxuICByZXR1cm4gc2lnbmVycy5uZXdQcml2YXRlS2V5U2lnbmVyKGsgYXMgYW55KTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXh0cmFjdHMgYSBwcml2YXRlIGtleSBmcm9tIGEgUEVNIGJ1ZmZlclxuICogQHN1bW1hcnkgQ29udmVydHMgYSBQRU0tZW5jb2RlZCBwcml2YXRlIGtleSB0byBhIENyeXB0b0tleSBvYmplY3RcbiAqIEBwYXJhbSB7QnVmZmVyfSBwZW0gLSBUaGUgUEVNLWVuY29kZWQgcHJpdmF0ZSBrZXlcbiAqIEByZXR1cm4ge1Byb21pc2U8Q3J5cHRvS2V5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIENyeXB0b0tleVxuICogQGZ1bmN0aW9uIGV4dHJhY3RQcml2YXRlS2V5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICogICBwYXJ0aWNpcGFudCBFeHRyYWN0UHJpdmF0ZUtleVxuICogICBwYXJ0aWNpcGFudCBTdWJ0bGVDcnlwdG9cbiAqXG4gKiAgIENhbGxlci0+PkV4dHJhY3RQcml2YXRlS2V5OiBleHRyYWN0UHJpdmF0ZUtleShwZW0pXG4gKiAgIEV4dHJhY3RQcml2YXRlS2V5LT4+RXh0cmFjdFByaXZhdGVLZXk6IEdldCBTdWJ0bGVDcnlwdG8gaW1wbGVtZW50YXRpb25cbiAqICAgRXh0cmFjdFByaXZhdGVLZXktPj5FeHRyYWN0UHJpdmF0ZUtleTogUGFyc2UgUEVNIGZvcm1hdFxuICogICBFeHRyYWN0UHJpdmF0ZUtleS0+PkV4dHJhY3RQcml2YXRlS2V5OiBDb252ZXJ0IHRvIGJpbmFyeSBERVJcbiAqICAgRXh0cmFjdFByaXZhdGVLZXktPj5TdWJ0bGVDcnlwdG86IGltcG9ydEtleShwa2NzOCwgYmluYXJ5RGVyLCBvcHRpb25zKVxuICogICBTdWJ0bGVDcnlwdG8tLT4+RXh0cmFjdFByaXZhdGVLZXk6IENyeXB0b0tleVxuICogICBFeHRyYWN0UHJpdmF0ZUtleS0tPj5DYWxsZXI6IENyeXB0b0tleVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFByaXZhdGVLZXkocGVtOiBCdWZmZXIpIHtcbiAgY29uc3QgbGliTmFtZSA9IFwiY3J5cHRvXCI7XG4gIGxldCBzdWJ0bGU7XG4gIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgIHN1YnRsZSA9IChnbG9iYWxUaGlzIGFzIGFueSkuY3J5cHRvLnN1YnRsZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBsaWIgPSAoYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChsaWJOYW1lKSkpIGFzIGFueTtcbiAgICBzdWJ0bGUgPSBsaWIuc3VidGxlIHx8IGxpYi53ZWJjcnlwdG8uc3VidGxlO1xuICB9XG5cbiAgaWYgKCFzdWJ0bGUpIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBsb2FkIFN1YnRsZUNyeXB0byBtb2R1bGVcIik7XG5cbiAgZnVuY3Rpb24gc3RyMmFiKHN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgYnVmID0gbmV3IEFycmF5QnVmZmVyKHN0ci5sZW5ndGgpO1xuICAgIGNvbnN0IGJ1ZlZpZXcgPSBuZXcgVWludDhBcnJheShidWYpO1xuICAgIGZvciAobGV0IGkgPSAwLCBzdHJMZW4gPSBzdHIubGVuZ3RoOyBpIDwgc3RyTGVuOyBpKyspIHtcbiAgICAgIGJ1ZlZpZXdbaV0gPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfVxuXG4gIGNvbnN0IHN0ciA9IHBlbVxuICAgIC50b1N0cmluZyhcInV0ZjhcIilcbiAgICAucmVwbGFjZShcIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVwiLCBcIlwiKVxuICAgIC5yZXBsYWNlQWxsKFwiXFxuXCIsIFwiXCIpXG4gICAgLnJlcGxhY2UoXCItLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXCIsIFwiXCIpO1xuICBjb25zdCBkZWNvZGVkID0gQnVmZmVyLmZyb20oc3RyLCBcImJhc2U2NFwiKS50b1N0cmluZyhcImJpbmFyeVwiKTtcbiAgY29uc3QgYmluYXJ5RGVyID0gc3RyMmFiKGRlY29kZWQpO1xuXG4gIHRyeSB7XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgc3VidGxlLmltcG9ydEtleShcbiAgICAgIFwicGtjczhcIixcbiAgICAgIGJpbmFyeURlcixcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJFQ0RTQVwiLFxuICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsXG4gICAgICB9LFxuICAgICAgdHJ1ZSxcbiAgICAgIFtcInNpZ25cIl1cbiAgICApO1xuXG4gICAgcmV0dXJuIGtleTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoZSk7XG4gIH1cbn1cbiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZmFicmljLWZzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsOENBTUM7QUFTRCw0QkFRQztBQVlELDhCQVFDO0FBVUQsa0NBU0M7QUFTRCxrREFLQztBQVNELGdFQUtDO0FBU0QsOEJBZ0JDO0FBc0JELDhDQXFDQztBQTdMRCwrQ0FBMEQ7QUFDMUQsaURBQXFDO0FBQ3JDLGdFQUFzRDtBQUN0RCwyREFBd0Q7QUFDeEQseUNBQWlEO0FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksb0JBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4Qzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsVUFBVTtJQUM3RCxJQUFJLGFBQWEsWUFBWSxVQUFVO1FBQ25DLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQztRQUMzRixPQUFPLGFBQWEsQ0FBQztJQUN6QixPQUFPLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFDRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLFFBQVEsQ0FBQyxhQUFhO0lBQ3hDLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUTtRQUNqQyxPQUFPLGFBQWEsQ0FBQztJQUN6QixNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBQSxzQkFBZSxvREFBUSxJQUFJLElBQUUsQ0FBQztRQUN6RCxPQUFPLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUM7SUFDRixPQUFPLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFD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QUFDO0FBQ0QsODJpQkFBODJpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQnJvd3NlciwgTWluaUxvZ2dlciB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gXCJmYWJyaWMtY29tbW9uXCI7XG5pbXBvcnQgeyBzaWduZXJzIH0gZnJvbSBcIkBoeXBlcmxlZGdlci9mYWJyaWMtZ2F0ZXdheVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplSW1wb3J0IH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5jb25zdCBsb2cgPSBuZXcgTWluaUxvZ2dlcihcImZhYnJpYy1mc1wiKTtcbi8qKlxuICogQGRlc2NyaXB0aW9uIExvYWRzIGNvbnRlbnQgZnJvbSBhIGZpbGUgb3IgcmV0dXJucyB0aGUgY29udGVudCBpZiBhbHJlYWR5IGxvYWRlZFxuICogQHN1bW1hcnkgRGV0ZXJtaW5lcyBpZiB0aGUgaW5wdXQgaXMgYWxyZWFkeSBjb250ZW50IG9yIGEgcGF0aCB0byBhIGZpbGUsIGFuZCBsb2FkcyB0aGUgZmlsZSBpZiBuZWVkZWRcbiAqIEBwYXJhbSB7c3RyaW5nIHwgVWludDhBcnJheX0gY29udGVudE9yUGF0aCAtIFRoZSBjb250ZW50IG9yIHBhdGggdG8gbG9hZFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZmlsZVJlYWRlciAtIEZ1bmN0aW9uIHRvIHJlYWQgdGhlIGZpbGUgaWYgY29udGVudE9yUGF0aCBpcyBhIHBhdGhcbiAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nIHwgVWludDhBcnJheSB8IEJ1ZmZlcj59IFRoZSBjb250ZW50XG4gKiBAZnVuY3Rpb24gY29udGVudE9mTG9hZEZpbGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnRlbnRPZkxvYWRGaWxlKGNvbnRlbnRPclBhdGgsIGZpbGVSZWFkZXIpIHtcbiAgICBpZiAoY29udGVudE9yUGF0aCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgIHJldHVybiBjb250ZW50T3JQYXRoO1xuICAgIGlmIChjb250ZW50T3JQYXRoLm1hdGNoKC8tLS0tLUJFR0lOIChDRVJUSUZJQ0FURXxLRVl8UFJJVkFURSBLRVkpLS0tLS0uKz8tLS0tLUVORCBcXDEtLS0tLSQvZ21zKSlcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRPclBhdGg7XG4gICAgcmV0dXJuIGF3YWl0IGZpbGVSZWFkZXIoY29udGVudE9yUGF0aCk7XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZWFkcyBhIGZpbGUgZnJvbSB0aGUgZmlsZSBzeXN0ZW1cbiAqIEBzdW1tYXJ5IExvYWRzIGEgZmlsZSB1c2luZyB0aGUgTm9kZS5qcyBmaWxlIHN5c3RlbSBtb2R1bGVcbiAqIEBwYXJhbSB7c3RyaW5nIHwgQnVmZmVyfSBjb250ZW50T3JQYXRoIC0gVGhlIGNvbnRlbnQgb3IgcGF0aCB0byBsb2FkXG4gKiBAcmV0dXJuIHtQcm9taXNlPEJ1ZmZlcj59IFRoZSBmaWxlIGNvbnRlbnQgYXMgYSBCdWZmZXJcbiAqIEBmdW5jdGlvbiByZWFkRmlsZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZEZpbGUoY29udGVudE9yUGF0aCkge1xuICAgIGlmICh0eXBlb2YgY29udGVudE9yUGF0aCAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRPclBhdGg7XG4gICAgY29uc3QgZmlsZVJlYWRlciA9IGFzeW5jIChwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgICAgIHJldHVybiBhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShwYXRoKTtcbiAgICB9O1xuICAgIHJldHVybiBhd2FpdCBmaWxlUmVhZGVyKGNvbnRlbnRPclBhdGgpO1xufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIENlcnRpZmljYXRlIEF1dGhvcml0eSB1c2VyXG4gKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIHVzZXIgd2l0aCB0aGUgZ2l2ZW4gY3JlZGVudGlhbHMgZm9yIGludGVyYWN0aW5nIHdpdGggYSBGYWJyaWMgQ0FcbiAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyTmFtZSAtIFRoZSB1c2VyIG5hbWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcml2YXRlS2V5IC0gVGhlIHByaXZhdGUga2V5IGFzIGEgc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gY2VydGlmaWNhdGUgLSBUaGUgY2VydGlmaWNhdGUgYXMgYSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBtc3BJZCAtIFRoZSBNZW1iZXJzaGlwIFNlcnZpY2UgUHJvdmlkZXIgSURcbiAqIEByZXR1cm4ge1Byb21pc2U8VXNlcj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBjcmVhdGVkIHVzZXJcbiAqIEBmdW5jdGlvbiBnZXRDQVVzZXJcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENBVXNlcih1c2VyTmFtZSwgcHJpdmF0ZUtleSwgY2VydGlmaWNhdGUsIG1zcElkKSB7XG4gICAgbG9nLmRlYnVnKGBDcmVhdGluZyBhIENBICR7bXNwSWR9IHVzZXIgJHt1c2VyTmFtZX0gd2l0aCBjZXJ0aWZpY2F0ZSAke2NlcnRpZmljYXRlfWApO1xuICAgIGNvbnN0IHVzZXIgPSBuZXcgVXNlcih1c2VyTmFtZSk7XG4gICAgY29uc3QgY3J5cHRvU3VpdGUgPSBVc2VyLm5ld0NyeXB0b1N1aXRlKCk7XG4gICAgdXNlci5zZXRDcnlwdG9TdWl0ZShjcnlwdG9TdWl0ZSk7XG4gICAgY29uc3QgaW1wb3J0ZWRLZXkgPSBjcnlwdG9TdWl0ZS5jcmVhdGVLZXlGcm9tUmF3KHByaXZhdGVLZXkpO1xuICAgIGF3YWl0IHVzZXIuc2V0RW5yb2xsbWVudChpbXBvcnRlZEtleSwgY2VydGlmaWNhdGUsIG1zcElkKTtcbiAgICByZXR1cm4gdXNlcjtcbn1cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdldHMgYW4gaWRlbnRpdHkgZnJvbSBhIGNlcnRpZmljYXRlIGRpcmVjdG9yeVxuICogQHN1bW1hcnkgTG9hZHMgYSBjZXJ0aWZpY2F0ZSBmcm9tIGEgZGlyZWN0b3J5IGFuZCBjcmVhdGVzIGFuIElkZW50aXR5IG9iamVjdFxuICogQHBhcmFtIHtzdHJpbmd9IG1zcElkIC0gVGhlIE1lbWJlcnNoaXAgU2VydmljZSBQcm92aWRlciBJRFxuICogQHBhcmFtIHtzdHJpbmd9IGNlcnREaXJlY3RvcnlQYXRoIC0gUGF0aCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJuIHtQcm9taXNlPElkZW50aXR5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGlkZW50aXR5XG4gKiBAZnVuY3Rpb24gZ2V0SWRlbnRpdHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElkZW50aXR5KG1zcElkLCBjZXJ0RGlyZWN0b3J5UGF0aCkge1xuICAgIGNvbnN0IGlkZW50aXR5RmlsZVJlYWRlciA9IGFzeW5jIChwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgICAgIGNvbnN0IGNlcnRQYXRoID0gYXdhaXQgZ2V0Rmlyc3REaXJGaWxlTmFtZShwYXRoKTtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShjZXJ0UGF0aCk7XG4gICAgICAgIHJldHVybiBjcmVkZW50aWFscztcbiAgICB9O1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gKGF3YWl0IGNvbnRlbnRPZkxvYWRGaWxlKGNlcnREaXJlY3RvcnlQYXRoLCBpZGVudGl0eUZpbGVSZWFkZXIpKTtcbiAgICByZXR1cm4geyBtc3BJZCwgY3JlZGVudGlhbHMgfTtcbn1cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgZmlyc3QgZmlsZSBpbiBhIGRpcmVjdG9yeVxuICogQHN1bW1hcnkgUmVhZHMgYSBkaXJlY3RvcnkgYW5kIHJldHVybnMgdGhlIHBhdGggdG8gdGhlIGZpcnN0IGZpbGUgZm91bmRcbiAqIEBwYXJhbSB7c3RyaW5nfSBkaXJQYXRoIC0gUGF0aCB0byB0aGUgZGlyZWN0b3J5XG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZpcnN0IGZpbGVcbiAqIEBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lKGRpclBhdGgpIHtcbiAgICBjb25zdCB7IHByb21pc2VzIH0gPSBhd2FpdCBub3JtYWxpemVJbXBvcnQoaW1wb3J0KFwiZnNcIikpO1xuICAgIGNvbnN0IHsgam9pbiB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChcInBhdGhcIikpO1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcHJvbWlzZXMucmVhZGRpcihkaXJQYXRoKTtcbiAgICByZXR1cm4gam9pbihkaXJQYXRoLCBmaWxlc1swXSk7XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBmaXJzdCBmaWxlIGluIGEgZGlyZWN0b3J5XG4gKiBAc3VtbWFyeSBSZWFkcyBhIGRpcmVjdG9yeSwgZmluZHMgdGhlIGZpcnN0IGZpbGUsIGFuZCByZXR1cm5zIGl0cyBjb250ZW50IGFzIGEgc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gZGlyUGF0aCAtIFBhdGggdG8gdGhlIGRpcmVjdG9yeVxuICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmc+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgY29udGVudCBvZiB0aGUgZmlyc3QgZmlsZVxuICogQGZ1bmN0aW9uIGdldEZpcnN0RGlyRmlsZU5hbWVDb250ZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGaXJzdERpckZpbGVOYW1lQ29udGVudChkaXJQYXRoKSB7XG4gICAgY29uc3QgeyBwcm9taXNlcyB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KGltcG9ydChcImZzXCIpKTtcbiAgICBjb25zdCB7IGpvaW4gfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJwYXRoXCIpKTtcbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHByb21pc2VzLnJlYWRkaXIoZGlyUGF0aCk7XG4gICAgcmV0dXJuIChhd2FpdCBwcm9taXNlcy5yZWFkRmlsZShqb2luKGRpclBhdGgsIGZpbGVzWzBdKSkpLnRvU3RyaW5nKCk7XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgc2lnbmVyIGZyb20gYSBrZXkgZGlyZWN0b3J5XG4gKiBAc3VtbWFyeSBMb2FkcyBhIHByaXZhdGUga2V5IGZyb20gYSBkaXJlY3RvcnkgYW5kIGNyZWF0ZXMgYSBTaWduZXIgZm9yIEZhYnJpYyB0cmFuc2FjdGlvbnNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlEaXJlY3RvcnlQYXRoIC0gUGF0aCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHByaXZhdGUga2V5XG4gKiBAcmV0dXJuIHtQcm9taXNlPFNpZ25lcj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBzaWduZXJcbiAqIEBmdW5jdGlvbiBnZXRTaWduZXJcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNpZ25lcihrZXlEaXJlY3RvcnlQYXRoKSB7XG4gICAgY29uc3Qgc2lnbmVyRmlsZVJlYWRlciA9IGFzeW5jIChwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcHJvbWlzZXMgfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoXCJmc1wiKSk7XG4gICAgICAgIGNvbnN0IGtleVBhdGggPSBhd2FpdCBnZXRGaXJzdERpckZpbGVOYW1lKHBhdGgpO1xuICAgICAgICByZXR1cm4gYXdhaXQgcHJvbWlzZXMucmVhZEZpbGUoa2V5UGF0aCk7XG4gICAgfTtcbiAgICBjb25zdCBwcml2YXRlS2V5UGVtID0gKGF3YWl0IGNvbnRlbnRPZkxvYWRGaWxlKGtleURpcmVjdG9yeVBhdGgsIHNpZ25lckZpbGVSZWFkZXIpKTtcbiAgICAvLyBOb2RlIGJhc2VkIGltcGxlbWVudGF0aW9uXG4gICAgLy8gcHJpdmF0ZUtleSA9IGNyZWF0ZVByaXZhdGVLZXkocHJpdmF0ZUtleVBlbSk7XG4gICAgLy8gLS1cbiAgICAvLyB3ZWIgYmFzZWQgaW1wbGVtZW50YXRpb25cbiAgICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgZXh0cmFjdFByaXZhdGVLZXkocHJpdmF0ZUtleVBlbSk7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocHJpdmF0ZUtleSk7XG4gICAgY29uc3QgayA9IHByaXZhdGVLZXlba2V5c1swXV07XG4gICAgLy8gLS1cbiAgICByZXR1cm4gc2lnbmVycy5uZXdQcml2YXRlS2V5U2lnbmVyKGspO1xufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXh0cmFjdHMgYSBwcml2YXRlIGtleSBmcm9tIGEgUEVNIGJ1ZmZlclxuICogQHN1bW1hcnkgQ29udmVydHMgYSBQRU0tZW5jb2RlZCBwcml2YXRlIGtleSB0byBhIENyeXB0b0tleSBvYmplY3RcbiAqIEBwYXJhbSB7QnVmZmVyfSBwZW0gLSBUaGUgUEVNLWVuY29kZWQgcHJpdmF0ZSBrZXlcbiAqIEByZXR1cm4ge1Byb21pc2U8Q3J5cHRvS2V5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIENyeXB0b0tleVxuICogQGZ1bmN0aW9uIGV4dHJhY3RQcml2YXRlS2V5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWMuY2xpZW50XG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICogICBwYXJ0aWNpcGFudCBFeHRyYWN0UHJpdmF0ZUtleVxuICogICBwYXJ0aWNpcGFudCBTdWJ0bGVDcnlwdG9cbiAqXG4gKiAgIENhbGxlci0+PkV4dHJhY3RQcml2YXRlS2V5OiBleHRyYWN0UHJpdmF0ZUtleShwZW0pXG4gKiAgIEV4dHJhY3RQcml2YXRlS2V5LT4+RXh0cmFjdFByaXZhdGVLZXk6IEdldCBTdWJ0bGVDcnlwdG8gaW1wbGVtZW50YXRpb25cbiAqICAgRXh0cmFjdFByaXZhdGVLZXktPj5FeHRyYWN0UHJpdmF0ZUtleTogUGFyc2UgUEVNIGZvcm1hdFxuICogICBFeHRyYWN0UHJpdmF0ZUtleS0+PkV4dHJhY3RQcml2YXRlS2V5OiBDb252ZXJ0IHRvIGJpbmFyeSBERVJcbiAqICAgRXh0cmFjdFByaXZhdGVLZXktPj5TdWJ0bGVDcnlwdG86IGltcG9ydEtleShwa2NzOCwgYmluYXJ5RGVyLCBvcHRpb25zKVxuICogICBTdWJ0bGVDcnlwdG8tLT4+RXh0cmFjdFByaXZhdGVLZXk6IENyeXB0b0tleVxuICogICBFeHRyYWN0UHJpdmF0ZUtleS0tPj5DYWxsZXI6IENyeXB0b0tleVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFByaXZhdGVLZXkocGVtKSB7XG4gICAgY29uc3QgbGliTmFtZSA9IFwiY3J5cHRvXCI7XG4gICAgbGV0IHN1YnRsZTtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgICAgc3VidGxlID0gZ2xvYmFsVGhpcy5jcnlwdG8uc3VidGxlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgbGliID0gKGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQobGliTmFtZSkpKTtcbiAgICAgICAgc3VidGxlID0gbGliLnN1YnRsZSB8fCBsaWIud2ViY3J5cHRvLnN1YnRsZTtcbiAgICB9XG4gICAgaWYgKCFzdWJ0bGUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBsb2FkIFN1YnRsZUNyeXB0byBtb2R1bGVcIik7XG4gICAgZnVuY3Rpb24gc3RyMmFiKHN0cikge1xuICAgICAgICBjb25zdCBidWYgPSBuZXcgQXJyYXlCdWZmZXIoc3RyLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGJ1ZlZpZXcgPSBuZXcgVWludDhBcnJheShidWYpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgc3RyTGVuID0gc3RyLmxlbmd0aDsgaSA8IHN0ckxlbjsgaSsrKSB7XG4gICAgICAgICAgICBidWZWaWV3W2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ1ZjtcbiAgICB9XG4gICAgY29uc3Qgc3RyID0gcGVtXG4gICAgICAgIC50b1N0cmluZyhcInV0ZjhcIilcbiAgICAgICAgLnJlcGxhY2UoXCItLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS1cIiwgXCJcIilcbiAgICAgICAgLnJlcGxhY2VBbGwoXCJcXG5cIiwgXCJcIilcbiAgICAgICAgLnJlcGxhY2UoXCItLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXCIsIFwiXCIpO1xuICAgIGNvbnN0IGRlY29kZWQgPSBCdWZmZXIuZnJvbShzdHIsIFwiYmFzZTY0XCIpLnRvU3RyaW5nKFwiYmluYXJ5XCIpO1xuICAgIGNvbnN0IGJpbmFyeURlciA9IHN0cjJhYihkZWNvZGVkKTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBrZXkgPSBhd2FpdCBzdWJ0bGUuaW1wb3J0S2V5KFwicGtjczhcIiwgYmluYXJ5RGVyLCB7XG4gICAgICAgICAgICBuYW1lOiBcIkVDRFNBXCIsXG4gICAgICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsXG4gICAgICAgIH0sIHRydWUsIFtcInNpZ25cIl0pO1xuICAgICAgICByZXR1cm4ga2V5O1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2labUZpY21sakxXWnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dmMzSmpMMk5zYVdWdWRDOW1ZV0p5YVdNdFpuTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU14UkN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzWlVGQlpTeERRVUZETzBGQlEzSkRMRTlCUVU4c1JVRkJiMElzVDBGQlR5eEZRVUZGTEUxQlFVMHNOa0pCUVRaQ0xFTkJRVU03UVVGRGVFVXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCUTNoRUxFOUJRVThzUlVGQlJTeGxRVUZsTEVWQlFVVXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVVZxUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVVjRRenM3T3pzN096czdSMEZSUnp0QlFVTklMRTFCUVUwc1EwRkJReXhMUVVGTExGVkJRVlVzYVVKQlFXbENMRU5CUTNKRExHRkJRV3RETEVWQlEyeERMRlZCUVcxRk8wbEJSVzVGTEVsQlFVa3NZVUZCWVN4WlFVRlpMRlZCUVZVN1VVRkJSU3hQUVVGUExHRkJRV0VzUTBGQlF6dEpRVU01UkN4SlFVTkZMR0ZCUVdFc1EwRkJReXhMUVVGTExFTkJRMnBDTEhORlFVRnpSU3hEUVVOMlJUdFJRVVZFTEU5QlFVOHNZVUZCWVN4RFFVRkRPMGxCUTNaQ0xFOUJRVThzVFVGQlRTeFZRVUZWTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1FVRkRla01zUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zUzBGQlN5eFZRVUZWTEZGQlFWRXNRMEZCUXl4aFFVRTRRanRKUVVNelJDeEpRVUZKTEU5QlFVOHNZVUZCWVN4TFFVRkxMRkZCUVZFN1VVRkJSU3hQUVVGUExHRkJRV0VzUTBGQlF6dEpRVVUxUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhMUVVGTExFVkJRVVVzU1VGQldTeEZRVUZGTEVWQlFVVTdVVUZEZUVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeEhRVUZITEUxQlFVMHNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzcEVMRTlCUVU4c1RVRkJUU3hSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTNaRExFTkJRVU1zUTBGQlF6dEpRVVZHTEU5QlFVOHNUVUZCVFN4VlFVRlZMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGVrTXNRMEZCUXp0QlFVVkVPenM3T3pzN096czdPMGRCVlVjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZETjBJc1VVRkJaMElzUlVGRGFFSXNWVUZCYTBJc1JVRkRiRUlzVjBGQmJVSXNSVUZEYmtJc1MwRkJZVHRKUVVWaUxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlExQXNhVUpCUVdsQ0xFdEJRVXNzVTBGQlV5eFJRVUZSTEhGQ1FVRnhRaXhYUVVGWExFVkJRVVVzUTBGRE1VVXNRMEZCUXp0SlFVTkdMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMGxCUTJoRExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRKUVVNeFF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8wbEJRMnBETEUxQlFVMHNWMEZCVnl4SFFVRkhMRmRCUVZjc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVNM1JDeE5RVUZOTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1YwRkJWeXhGUVVGRkxGZEJRVmNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTXhSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5rTEVOQlFVTTdRVUZGUkRzN096czdPenM3UjBGUlJ6dEJRVU5JTEUxQlFVMHNRMEZCUXl4TFFVRkxMRlZCUVZVc1YwRkJWeXhEUVVNdlFpeExRVUZoTEVWQlEySXNhVUpCUVhsQ08wbEJSWHBDTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzUzBGQlN5eEZRVUZGTEVsQlFWa3NSVUZCUlN4RlFVRkZPMUZCUTJoRUxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNSMEZCUnl4TlFVRk5MR1ZCUVdVc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEcxQ1FVRnRRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEycEVMRTFCUVUwc1YwRkJWeXhIUVVGSExFMUJRVTBzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVOMFJDeFBRVUZQTEZkQlFWY3NRMEZCUXp0SlFVTnlRaXhEUVVGRExFTkJRVU03U1VGRlJpeE5RVUZOTEZkQlFWY3NSMEZCWlN4RFFVRkRMRTFCUVUwc2FVSkJRV2xDTEVOQlEzUkVMR2xDUVVGcFFpeEZRVU5xUWl4clFrRkJhMElzUTBGRGJrSXNRMEZCWlN4RFFVRkRPMGxCUldwQ0xFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNWMEZCVnl4RlFVRkZMRU5CUVVNN1FVRkRhRU1zUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zUzBGQlN5eFZRVUZWTEcxQ1FVRnRRaXhEUVVGRExFOUJRV1U3U1VGRGRrUXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hIUVVGSExFMUJRVTBzWlVGQlpTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM3BFTEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhOUVVGTkxHVkJRV1VzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOMlJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZET1VNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMnBETEVOQlFVTTdRVUZGUkRzN096czdPenRIUVU5SE8wRkJRMGdzVFVGQlRTeERRVUZETEV0QlFVc3NWVUZCVlN3d1FrRkJNRUlzUTBGRE9VTXNUMEZCWlR0SlFVVm1MRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUjBGQlJ5eE5RVUZOTEdWQlFXVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU42UkN4TlFVRk5MRVZCUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzVFVGQlRTeGxRVUZsTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRrUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUXpsRExFOUJRVThzUTBGQlF5eE5RVUZOTEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdRVUZEZGtVc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRU5CUVVNc1MwRkJTeXhWUVVGVkxGTkJRVk1zUTBGQlF5eG5Ra0ZCZDBJN1NVRkRkRVFzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhMUVVGTExFVkJRVVVzU1VGQldTeEZRVUZGTEVWQlFVVTdVVUZET1VNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeEhRVUZITEUxQlFVMHNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzcEVMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGFFUXNUMEZCVHl4TlFVRk5MRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZETVVNc1EwRkJReXhEUVVGRE8wbEJSVVlzVFVGQlRTeGhRVUZoTEVkQlFVY3NRMEZCUXl4TlFVRk5MR2xDUVVGcFFpeERRVU0xUXl4blFrRkJaMElzUlVGRGFFSXNaMEpCUVdkQ0xFTkJRMnBDTEVOQlFWY3NRMEZCUXp0SlFVTmlMRFJDUVVFMFFqdEpRVU0xUWl4blJFRkJaMFE3U1VGRGFFUXNTMEZCU3p0SlFVVk1MREpDUVVFeVFqdEpRVU16UWl4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxHbENRVUZwUWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhEUVVGRE8wbEJRekZFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVOMFJDeE5RVUZOTEVOQlFVTXNSMEZCU1N4VlFVRnJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNaRExFdEJRVXM3U1VGRlRDeFBRVUZQTEU5QlFVOHNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eERRVUZSTEVOQlFVTXNRMEZCUXp0QlFVTXZReXhEUVVGRE8wRkJSVVE3T3pzN096czdPenM3T3pzN096czdPenM3TzBkQmIwSkhPMEZCUTBnc1RVRkJUU3hEUVVGRExFdEJRVXNzVlVGQlZTeHBRa0ZCYVVJc1EwRkJReXhIUVVGWE8wbEJRMnBFTEUxQlFVMHNUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJRenRKUVVONlFpeEpRVUZKTEUxQlFVMHNRMEZCUXp0SlFVTllMRWxCUVVrc1UwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF6dFJRVU5vUWl4TlFVRk5MRWRCUVVrc1ZVRkJhMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUXpkRExFTkJRVU03VTBGQlRTeERRVUZETzFGQlEwNHNUVUZCVFN4SFFVRkhMRWRCUVVjc1EwRkJReXhOUVVGTkxHVkJRV1VzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJVU3hEUVVGRE8xRkJRelZFTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUXpsRExFTkJRVU03U1VGRlJDeEpRVUZKTEVOQlFVTXNUVUZCVFR0UlFVRkZMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zYjBOQlFXOURMRU5CUVVNc1EwRkJRenRKUVVWdVJTeFRRVUZUTEUxQlFVMHNRMEZCUXl4SFFVRlhPMUZCUTNwQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU40UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTndReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVkQlFVY3NUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGNrUXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRha01zUTBGQlF6dFJRVU5FTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUTJJc1EwRkJRenRKUVVWRUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVkQlFVYzdVMEZEV2l4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRE8xTkJRMmhDTEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUlVGQlJTeEZRVUZGTEVOQlFVTTdVMEZETVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTTdVMEZEY0VJc1QwRkJUeXhEUVVGRExESkNRVUV5UWl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRelZETEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEpRVU01UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZGYkVNc1NVRkJTU3hEUVVGRE8xRkJRMGdzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVOb1F5eFBRVUZQTEVWQlExQXNVMEZCVXl4RlFVTlVPMWxCUTBVc1NVRkJTU3hGUVVGRkxFOUJRVTg3V1VGRFlpeFZRVUZWTEVWQlFVVXNUMEZCVHp0VFFVTndRaXhGUVVORUxFbEJRVWtzUlVGRFNpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVTlVMRU5CUVVNN1VVRkZSaXhQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU5pTEVOQlFVTTdTVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSU3hEUVVGRE8xRkJRMmhDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRE4wSXNRMEZCUXp0QlFVTklMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QnBjMEp5YjNkelpYSXNJRTFwYm1sTWIyZG5aWElnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJ4dloyZHBibWRjSWp0Y2JtbHRjRzl5ZENCN0lGVnpaWElnZlNCbWNtOXRJRndpWm1GaWNtbGpMV052YlcxdmJsd2lPMXh1YVcxd2IzSjBJSHNnU1dSbGJuUnBkSGtzSUZOcFoyNWxjaXdnYzJsbmJtVnljeUI5SUdaeWIyMGdYQ0pBYUhsd1pYSnNaV1JuWlhJdlptRmljbWxqTFdkaGRHVjNZWGxjSWp0Y2JtbHRjRzl5ZENCN0lFbHVkR1Z5Ym1Gc1JYSnliM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSaUxXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0I3SUc1dmNtMWhiR2w2WlVsdGNHOXlkQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1WEc1amIyNXpkQ0JzYjJjZ1BTQnVaWGNnVFdsdWFVeHZaMmRsY2loY0ltWmhZbkpwWXkxbWMxd2lLVHRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdURzloWkhNZ1kyOXVkR1Z1ZENCbWNtOXRJR0VnWm1sc1pTQnZjaUJ5WlhSMWNtNXpJSFJvWlNCamIyNTBaVzUwSUdsbUlHRnNjbVZoWkhrZ2JHOWhaR1ZrWEc0Z0tpQkFjM1Z0YldGeWVTQkVaWFJsY20xcGJtVnpJR2xtSUhSb1pTQnBibkIxZENCcGN5QmhiSEpsWVdSNUlHTnZiblJsYm5RZ2IzSWdZU0J3WVhSb0lIUnZJR0VnWm1sc1pTd2dZVzVrSUd4dllXUnpJSFJvWlNCbWFXeGxJR2xtSUc1bFpXUmxaRnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWNnZkNCVmFXNTBPRUZ5Y21GNWZTQmpiMjUwWlc1MFQzSlFZWFJvSUMwZ1ZHaGxJR052Ym5SbGJuUWdiM0lnY0dGMGFDQjBieUJzYjJGa1hHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JtYVd4bFVtVmhaR1Z5SUMwZ1JuVnVZM1JwYjI0Z2RHOGdjbVZoWkNCMGFHVWdabWxzWlNCcFppQmpiMjUwWlc1MFQzSlFZWFJvSUdseklHRWdjR0YwYUZ4dUlDb2dRSEpsZEhWeWJpQjdVSEp2YldselpUeHpkSEpwYm1jZ2ZDQlZhVzUwT0VGeWNtRjVJSHdnUW5WbVptVnlQbjBnVkdobElHTnZiblJsYm5SY2JpQXFJRUJtZFc1amRHbHZiaUJqYjI1MFpXNTBUMlpNYjJGa1JtbHNaVnh1SUNvZ1FHMWxiV0psY2s5bUlHMXZaSFZzWlRwbWIzSXRabUZpY21sakxtTnNhV1Z1ZEZ4dUlDb3ZYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z1kyOXVkR1Z1ZEU5bVRHOWhaRVpwYkdVb1hHNGdJR052Ym5SbGJuUlBjbEJoZEdnNklITjBjbWx1WnlCOElGVnBiblE0UVhKeVlYa3NYRzRnSUdacGJHVlNaV0ZrWlhJNklDaHdZWFJvT2lCemRISnBibWNwSUQwK0lGQnliMjFwYzJVOGMzUnlhVzVuSUh3Z1ZXbHVkRGhCY25KaGVTQjhJRUoxWm1abGNqNWNiaWtnZTF4dUlDQnBaaUFvWTI5dWRHVnVkRTl5VUdGMGFDQnBibk4wWVc1alpXOW1JRlZwYm5RNFFYSnlZWGtwSUhKbGRIVnliaUJqYjI1MFpXNTBUM0pRWVhSb08xeHVJQ0JwWmlBb1hHNGdJQ0FnWTI5dWRHVnVkRTl5VUdGMGFDNXRZWFJqYUNoY2JpQWdJQ0FnSUM4dExTMHRMVUpGUjBsT0lDaERSVkpVU1VaSlEwRlVSWHhMUlZsOFVGSkpWa0ZVUlNCTFJWa3BMUzB0TFMwdUt6OHRMUzB0TFVWT1JDQmNYREV0TFMwdExTUXZaMjF6WEc0Z0lDQWdLVnh1SUNBcFhHNGdJQ0FnY21WMGRYSnVJR052Ym5SbGJuUlBjbEJoZEdnN1hHNGdJSEpsZEhWeWJpQmhkMkZwZENCbWFXeGxVbVZoWkdWeUtHTnZiblJsYm5SUGNsQmhkR2dwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pXRmtjeUJoSUdacGJHVWdabkp2YlNCMGFHVWdabWxzWlNCemVYTjBaVzFjYmlBcUlFQnpkVzF0WVhKNUlFeHZZV1J6SUdFZ1ptbHNaU0IxYzJsdVp5QjBhR1VnVG05a1pTNXFjeUJtYVd4bElITjVjM1JsYlNCdGIyUjFiR1ZjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuSUh3Z1FuVm1abVZ5ZlNCamIyNTBaVzUwVDNKUVlYUm9JQzBnVkdobElHTnZiblJsYm5RZ2IzSWdjR0YwYUNCMGJ5QnNiMkZrWEc0Z0tpQkFjbVYwZFhKdUlIdFFjbTl0YVhObFBFSjFabVpsY2o1OUlGUm9aU0JtYVd4bElHTnZiblJsYm5RZ1lYTWdZU0JDZFdabVpYSmNiaUFxSUVCbWRXNWpkR2x2YmlCeVpXRmtSbWxzWlZ4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcG1iM0l0Wm1GaWNtbGpMbU5zYVdWdWRGeHVJQ292WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdjbVZoWkVacGJHVW9ZMjl1ZEdWdWRFOXlVR0YwYURvZ2MzUnlhVzVuSUh3Z1FuVm1abVZ5S1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnWTI5dWRHVnVkRTl5VUdGMGFDQWhQVDBnWENKemRISnBibWRjSWlrZ2NtVjBkWEp1SUdOdmJuUmxiblJQY2xCaGRHZzdYRzVjYmlBZ1kyOXVjM1FnWm1sc1pWSmxZV1JsY2lBOUlHRnplVzVqSUNod1lYUm9PaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSEJ5YjIxcGMyVnpJSDBnUFNCaGQyRnBkQ0J1YjNKdFlXeHBlbVZKYlhCdmNuUW9hVzF3YjNKMEtGd2labk5jSWlrcE8xeHVJQ0FnSUhKbGRIVnliaUJoZDJGcGRDQndjbTl0YVhObGN5NXlaV0ZrUm1sc1pTaHdZWFJvS1R0Y2JpQWdmVHRjYmx4dUlDQnlaWFIxY200Z1lYZGhhWFFnWm1sc1pWSmxZV1JsY2loamIyNTBaVzUwVDNKUVlYUm9LVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTNKbFlYUmxjeUJoSUVObGNuUnBabWxqWVhSbElFRjFkR2h2Y21sMGVTQjFjMlZ5WEc0Z0tpQkFjM1Z0YldGeWVTQkpibWwwYVdGc2FYcGxjeUJoSUhWelpYSWdkMmwwYUNCMGFHVWdaMmwyWlc0Z1kzSmxaR1Z1ZEdsaGJITWdabTl5SUdsdWRHVnlZV04wYVc1bklIZHBkR2dnWVNCR1lXSnlhV01nUTBGY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjFjMlZ5VG1GdFpTQXRJRlJvWlNCMWMyVnlJRzVoYldWY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQndjbWwyWVhSbFMyVjVJQzBnVkdobElIQnlhWFpoZEdVZ2EyVjVJR0Z6SUdFZ2MzUnlhVzVuWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1kyVnlkR2xtYVdOaGRHVWdMU0JVYUdVZ1kyVnlkR2xtYVdOaGRHVWdZWE1nWVNCemRISnBibWRjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdGMzQkpaQ0F0SUZSb1pTQk5aVzFpWlhKemFHbHdJRk5sY25acFkyVWdVSEp2ZG1sa1pYSWdTVVJjYmlBcUlFQnlaWFIxY200Z2UxQnliMjFwYzJVOFZYTmxjajU5SUZCeWIyMXBjMlVnY21WemIyeDJhVzVuSUhSdklIUm9aU0JqY21WaGRHVmtJSFZ6WlhKY2JpQXFJRUJtZFc1amRHbHZiaUJuWlhSRFFWVnpaWEpjYmlBcUlFQnRaVzFpWlhKUFppQnRiMlIxYkdVNlptOXlMV1poWW5KcFl5NWpiR2xsYm5SY2JpQXFMMXh1Wlhod2IzSjBJR0Z6ZVc1aklHWjFibU4wYVc5dUlHZGxkRU5CVlhObGNpaGNiaUFnZFhObGNrNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ2NISnBkbUYwWlV0bGVUb2djM1J5YVc1bkxGeHVJQ0JqWlhKMGFXWnBZMkYwWlRvZ2MzUnlhVzVuTEZ4dUlDQnRjM0JKWkRvZ2MzUnlhVzVuWEc0cE9pQlFjbTl0YVhObFBGVnpaWEkrSUh0Y2JpQWdiRzluTG1SbFluVm5LRnh1SUNBZ0lHQkRjbVZoZEdsdVp5QmhJRU5CSUNSN2JYTndTV1I5SUhWelpYSWdKSHQxYzJWeVRtRnRaWDBnZDJsMGFDQmpaWEowYVdacFkyRjBaU0FrZTJObGNuUnBabWxqWVhSbGZXQmNiaUFnS1R0Y2JpQWdZMjl1YzNRZ2RYTmxjaUE5SUc1bGR5QlZjMlZ5S0hWelpYSk9ZVzFsS1R0Y2JpQWdZMjl1YzNRZ1kzSjVjSFJ2VTNWcGRHVWdQU0JWYzJWeUxtNWxkME55ZVhCMGIxTjFhWFJsS0NrN1hHNGdJSFZ6WlhJdWMyVjBRM0o1Y0hSdlUzVnBkR1VvWTNKNWNIUnZVM1ZwZEdVcE8xeHVJQ0JqYjI1emRDQnBiWEJ2Y25SbFpFdGxlU0E5SUdOeWVYQjBiMU4xYVhSbExtTnlaV0YwWlV0bGVVWnliMjFTWVhjb2NISnBkbUYwWlV0bGVTazdYRzRnSUdGM1lXbDBJSFZ6WlhJdWMyVjBSVzV5YjJ4c2JXVnVkQ2hwYlhCdmNuUmxaRXRsZVN3Z1kyVnlkR2xtYVdOaGRHVXNJRzF6Y0Vsa0tUdGNiaUFnY21WMGRYSnVJSFZ6WlhJN1hHNTlYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFZGxkSE1nWVc0Z2FXUmxiblJwZEhrZ1puSnZiU0JoSUdObGNuUnBabWxqWVhSbElHUnBjbVZqZEc5eWVWeHVJQ29nUUhOMWJXMWhjbmtnVEc5aFpITWdZU0JqWlhKMGFXWnBZMkYwWlNCbWNtOXRJR0VnWkdseVpXTjBiM0o1SUdGdVpDQmpjbVZoZEdWeklHRnVJRWxrWlc1MGFYUjVJRzlpYW1WamRGeHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzF6Y0Vsa0lDMGdWR2hsSUUxbGJXSmxjbk5vYVhBZ1UyVnlkbWxqWlNCUWNtOTJhV1JsY2lCSlJGeHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR05sY25SRWFYSmxZM1J2Y25sUVlYUm9JQzBnVUdGMGFDQjBieUIwYUdVZ1pHbHlaV04wYjNKNUlHTnZiblJoYVc1cGJtY2dkR2hsSUdObGNuUnBabWxqWVhSbFhHNGdLaUJBY21WMGRYSnVJSHRRY205dGFYTmxQRWxrWlc1MGFYUjVQbjBnVUhKdmJXbHpaU0J5WlhOdmJIWnBibWNnZEc4Z2RHaGxJR2xrWlc1MGFYUjVYRzRnS2lCQVpuVnVZM1JwYjI0Z1oyVjBTV1JsYm5ScGRIbGNiaUFxSUVCdFpXMWlaWEpQWmlCdGIyUjFiR1U2Wm05eUxXWmhZbkpwWXk1amJHbGxiblJjYmlBcUwxeHVaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUdkbGRFbGtaVzUwYVhSNUtGeHVJQ0J0YzNCSlpEb2djM1J5YVc1bkxGeHVJQ0JqWlhKMFJHbHlaV04wYjNKNVVHRjBhRG9nYzNSeWFXNW5YRzRwT2lCUWNtOXRhWE5sUEVsa1pXNTBhWFI1UGlCN1hHNGdJR052Ym5OMElHbGtaVzUwYVhSNVJtbHNaVkpsWVdSbGNpQTlJR0Z6ZVc1aklDaHdZWFJvT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUhCeWIyMXBjMlZ6SUgwZ1BTQmhkMkZwZENCdWIzSnRZV3hwZW1WSmJYQnZjblFvYVcxd2IzSjBLRndpWm5OY0lpa3BPMXh1SUNBZ0lHTnZibk4wSUdObGNuUlFZWFJvSUQwZ1lYZGhhWFFnWjJWMFJtbHljM1JFYVhKR2FXeGxUbUZ0WlNod1lYUm9LVHRjYmlBZ0lDQmpiMjV6ZENCamNtVmtaVzUwYVdGc2N5QTlJR0YzWVdsMElIQnliMjFwYzJWekxuSmxZV1JHYVd4bEtHTmxjblJRWVhSb0tUdGNiaUFnSUNCeVpYUjFjbTRnWTNKbFpHVnVkR2xoYkhNN1hHNGdJSDA3WEc1Y2JpQWdZMjl1YzNRZ1kzSmxaR1Z1ZEdsaGJITTZJRlZwYm5RNFFYSnlZWGtnUFNBb1lYZGhhWFFnWTI5dWRHVnVkRTltVEc5aFpFWnBiR1VvWEc0Z0lDQWdZMlZ5ZEVScGNtVmpkRzl5ZVZCaGRHZ3NYRzRnSUNBZ2FXUmxiblJwZEhsR2FXeGxVbVZoWkdWeVhHNGdJQ2twSUdGeklGVnBiblE0UVhKeVlYazdYRzVjYmlBZ2NtVjBkWEp1SUhzZ2JYTndTV1FzSUdOeVpXUmxiblJwWVd4eklIMDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRWRsZEhNZ2RHaGxJR1oxYkd3Z2NHRjBhQ0J2WmlCMGFHVWdabWx5YzNRZ1ptbHNaU0JwYmlCaElHUnBjbVZqZEc5eWVWeHVJQ29nUUhOMWJXMWhjbmtnVW1WaFpITWdZU0JrYVhKbFkzUnZjbmtnWVc1a0lISmxkSFZ5Ym5NZ2RHaGxJSEJoZEdnZ2RHOGdkR2hsSUdacGNuTjBJR1pwYkdVZ1ptOTFibVJjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCa2FYSlFZWFJvSUMwZ1VHRjBhQ0IwYnlCMGFHVWdaR2x5WldOMGIzSjVYRzRnS2lCQWNtVjBkWEp1SUh0UWNtOXRhWE5sUEhOMGNtbHVaejU5SUZCeWIyMXBjMlVnY21WemIyeDJhVzVuSUhSdklIUm9aU0JtZFd4c0lIQmhkR2dnYjJZZ2RHaGxJR1pwY25OMElHWnBiR1ZjYmlBcUlFQm1kVzVqZEdsdmJpQm5aWFJHYVhKemRFUnBja1pwYkdWT1lXMWxYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21admNpMW1ZV0p5YVdNdVkyeHBaVzUwWEc0Z0tpOWNibVY0Y0c5eWRDQmhjM2x1WXlCbWRXNWpkR2x2YmlCblpYUkdhWEp6ZEVScGNrWnBiR1ZPWVcxbEtHUnBjbEJoZEdnNklITjBjbWx1WnlrNklGQnliMjFwYzJVOGMzUnlhVzVuUGlCN1hHNGdJR052Ym5OMElIc2djSEp2YldselpYTWdmU0E5SUdGM1lXbDBJRzV2Y20xaGJHbDZaVWx0Y0c5eWRDaHBiWEJ2Y25Rb1hDSm1jMXdpS1NrN1hHNGdJR052Ym5OMElIc2dhbTlwYmlCOUlEMGdZWGRoYVhRZ2JtOXliV0ZzYVhwbFNXMXdiM0owS0dsdGNHOXlkQ2hjSW5CaGRHaGNJaWtwTzF4dUlDQmpiMjV6ZENCbWFXeGxjeUE5SUdGM1lXbDBJSEJ5YjIxcGMyVnpMbkpsWVdSa2FYSW9aR2x5VUdGMGFDazdYRzRnSUhKbGRIVnliaUJxYjJsdUtHUnBjbEJoZEdnc0lHWnBiR1Z6V3pCZEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdSMlYwY3lCMGFHVWdZMjl1ZEdWdWRDQnZaaUIwYUdVZ1ptbHljM1FnWm1sc1pTQnBiaUJoSUdScGNtVmpkRzl5ZVZ4dUlDb2dRSE4xYlcxaGNua2dVbVZoWkhNZ1lTQmthWEpsWTNSdmNua3NJR1pwYm1SeklIUm9aU0JtYVhKemRDQm1hV3hsTENCaGJtUWdjbVYwZFhKdWN5QnBkSE1nWTI5dWRHVnVkQ0JoY3lCaElITjBjbWx1WjF4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHUnBjbEJoZEdnZ0xTQlFZWFJvSUhSdklIUm9aU0JrYVhKbFkzUnZjbmxjYmlBcUlFQnlaWFIxY200Z2UxQnliMjFwYzJVOGMzUnlhVzVuUG4wZ1VISnZiV2x6WlNCeVpYTnZiSFpwYm1jZ2RHOGdkR2hsSUdOdmJuUmxiblFnYjJZZ2RHaGxJR1pwY25OMElHWnBiR1ZjYmlBcUlFQm1kVzVqZEdsdmJpQm5aWFJHYVhKemRFUnBja1pwYkdWT1lXMWxRMjl1ZEdWdWRGeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBtYjNJdFptRmljbWxqTG1Oc2FXVnVkRnh1SUNvdlhHNWxlSEJ2Y25RZ1lYTjVibU1nWm5WdVkzUnBiMjRnWjJWMFJtbHljM1JFYVhKR2FXeGxUbUZ0WlVOdmJuUmxiblFvWEc0Z0lHUnBjbEJoZEdnNklITjBjbWx1WjF4dUtUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnWTI5dWMzUWdleUJ3Y205dGFYTmxjeUI5SUQwZ1lYZGhhWFFnYm05eWJXRnNhWHBsU1cxd2IzSjBLR2x0Y0c5eWRDaGNJbVp6WENJcEtUdGNiaUFnWTI5dWMzUWdleUJxYjJsdUlIMGdQU0JoZDJGcGRDQnViM0p0WVd4cGVtVkpiWEJ2Y25Rb2FXMXdiM0owS0Z3aWNHRjBhRndpS1NrN1hHNGdJR052Ym5OMElHWnBiR1Z6SUQwZ1lYZGhhWFFnY0hKdmJXbHpaWE11Y21WaFpHUnBjaWhrYVhKUVlYUm9LVHRjYmlBZ2NtVjBkWEp1SUNoaGQyRnBkQ0J3Y205dGFYTmxjeTV5WldGa1JtbHNaU2hxYjJsdUtHUnBjbEJoZEdnc0lHWnBiR1Z6V3pCZEtTa3BMblJ2VTNSeWFXNW5LQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVkbGRITWdZU0J6YVdkdVpYSWdabkp2YlNCaElHdGxlU0JrYVhKbFkzUnZjbmxjYmlBcUlFQnpkVzF0WVhKNUlFeHZZV1J6SUdFZ2NISnBkbUYwWlNCclpYa2dabkp2YlNCaElHUnBjbVZqZEc5eWVTQmhibVFnWTNKbFlYUmxjeUJoSUZOcFoyNWxjaUJtYjNJZ1JtRmljbWxqSUhSeVlXNXpZV04wYVc5dWMxeHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR3RsZVVScGNtVmpkRzl5ZVZCaGRHZ2dMU0JRWVhSb0lIUnZJSFJvWlNCa2FYSmxZM1J2Y25rZ1kyOXVkR0ZwYm1sdVp5QjBhR1VnY0hKcGRtRjBaU0JyWlhsY2JpQXFJRUJ5WlhSMWNtNGdlMUJ5YjIxcGMyVThVMmxuYm1WeVBuMGdVSEp2YldselpTQnlaWE52YkhacGJtY2dkRzhnZEdobElITnBaMjVsY2x4dUlDb2dRR1oxYm1OMGFXOXVJR2RsZEZOcFoyNWxjbHh1SUNvZ1FHMWxiV0psY2s5bUlHMXZaSFZzWlRwbWIzSXRabUZpY21sakxtTnNhV1Z1ZEZ4dUlDb3ZYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z1oyVjBVMmxuYm1WeUtHdGxlVVJwY21WamRHOXllVkJoZEdnNklITjBjbWx1WnlrNklGQnliMjFwYzJVOFUybG5ibVZ5UGlCN1hHNGdJR052Ym5OMElITnBaMjVsY2tacGJHVlNaV0ZrWlhJZ1BTQmhjM2x1WXlBb2NHRjBhRG9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ3Y205dGFYTmxjeUI5SUQwZ1lYZGhhWFFnYm05eWJXRnNhWHBsU1cxd2IzSjBLR2x0Y0c5eWRDaGNJbVp6WENJcEtUdGNiaUFnSUNCamIyNXpkQ0JyWlhsUVlYUm9JRDBnWVhkaGFYUWdaMlYwUm1seWMzUkVhWEpHYVd4bFRtRnRaU2h3WVhSb0tUdGNiaUFnSUNCeVpYUjFjbTRnWVhkaGFYUWdjSEp2YldselpYTXVjbVZoWkVacGJHVW9hMlY1VUdGMGFDazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdjSEpwZG1GMFpVdGxlVkJsYlNBOUlDaGhkMkZwZENCamIyNTBaVzUwVDJaTWIyRmtSbWxzWlNoY2JpQWdJQ0JyWlhsRWFYSmxZM1J2Y25sUVlYUm9MRnh1SUNBZ0lITnBaMjVsY2tacGJHVlNaV0ZrWlhKY2JpQWdLU2tnWVhNZ1FuVm1abVZ5TzF4dUlDQXZMeUJPYjJSbElHSmhjMlZrSUdsdGNHeGxiV1Z1ZEdGMGFXOXVYRzRnSUM4dklIQnlhWFpoZEdWTFpYa2dQU0JqY21WaGRHVlFjbWwyWVhSbFMyVjVLSEJ5YVhaaGRHVkxaWGxRWlcwcE8xeHVJQ0F2THlBdExWeHVYRzRnSUM4dklIZGxZaUJpWVhObFpDQnBiWEJzWlcxbGJuUmhkR2x2Ymx4dUlDQmpiMjV6ZENCd2NtbDJZWFJsUzJWNUlEMGdZWGRoYVhRZ1pYaDBjbUZqZEZCeWFYWmhkR1ZMWlhrb2NISnBkbUYwWlV0bGVWQmxiU2s3WEc0Z0lHTnZibk4wSUd0bGVYTWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0hCeWFYWmhkR1ZMWlhrcE8xeHVJQ0JqYjI1emRDQnJJRDBnS0hCeWFYWmhkR1ZMWlhrZ1lYTWdZVzU1S1Z0clpYbHpXekJkWFR0Y2JpQWdMeThnTFMxY2JseHVJQ0J5WlhSMWNtNGdjMmxuYm1WeWN5NXVaWGRRY21sMllYUmxTMlY1VTJsbmJtVnlLR3NnWVhNZ1lXNTVLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUlhoMGNtRmpkSE1nWVNCd2NtbDJZWFJsSUd0bGVTQm1jbTl0SUdFZ1VFVk5JR0oxWm1abGNseHVJQ29nUUhOMWJXMWhjbmtnUTI5dWRtVnlkSE1nWVNCUVJVMHRaVzVqYjJSbFpDQndjbWwyWVhSbElHdGxlU0IwYnlCaElFTnllWEIwYjB0bGVTQnZZbXBsWTNSY2JpQXFJRUJ3WVhKaGJTQjdRblZtWm1WeWZTQndaVzBnTFNCVWFHVWdVRVZOTFdWdVkyOWtaV1FnY0hKcGRtRjBaU0JyWlhsY2JpQXFJRUJ5WlhSMWNtNGdlMUJ5YjIxcGMyVThRM0o1Y0hSdlMyVjVQbjBnVUhKdmJXbHpaU0J5WlhOdmJIWnBibWNnZEc4Z2RHaGxJRU55ZVhCMGIwdGxlVnh1SUNvZ1FHWjFibU4wYVc5dUlHVjRkSEpoWTNSUWNtbDJZWFJsUzJWNVhHNGdLaUJBYldWdFltVnlUMllnYlc5a2RXeGxPbVp2Y2kxbVlXSnlhV011WTJ4cFpXNTBYRzRnS2lCQWJXVnliV0ZwWkZ4dUlDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdLaUFnSUhCaGNuUnBZMmx3WVc1MElFTmhiR3hsY2x4dUlDb2dJQ0J3WVhKMGFXTnBjR0Z1ZENCRmVIUnlZV04wVUhKcGRtRjBaVXRsZVZ4dUlDb2dJQ0J3WVhKMGFXTnBjR0Z1ZENCVGRXSjBiR1ZEY25sd2RHOWNiaUFxWEc0Z0tpQWdJRU5oYkd4bGNpMCtQa1Y0ZEhKaFkzUlFjbWwyWVhSbFMyVjVPaUJsZUhSeVlXTjBVSEpwZG1GMFpVdGxlU2h3WlcwcFhHNGdLaUFnSUVWNGRISmhZM1JRY21sMllYUmxTMlY1TFQ0K1JYaDBjbUZqZEZCeWFYWmhkR1ZMWlhrNklFZGxkQ0JUZFdKMGJHVkRjbmx3ZEc4Z2FXMXdiR1Z0Wlc1MFlYUnBiMjVjYmlBcUlDQWdSWGgwY21GamRGQnlhWFpoZEdWTFpYa3RQajVGZUhSeVlXTjBVSEpwZG1GMFpVdGxlVG9nVUdGeWMyVWdVRVZOSUdadmNtMWhkRnh1SUNvZ0lDQkZlSFJ5WVdOMFVISnBkbUYwWlV0bGVTMCtQa1Y0ZEhKaFkzUlFjbWwyWVhSbFMyVjVPaUJEYjI1MlpYSjBJSFJ2SUdKcGJtRnllU0JFUlZKY2JpQXFJQ0FnUlhoMGNtRmpkRkJ5YVhaaGRHVkxaWGt0UGo1VGRXSjBiR1ZEY25sd2RHODZJR2x0Y0c5eWRFdGxlU2h3YTJOek9Dd2dZbWx1WVhKNVJHVnlMQ0J2Y0hScGIyNXpLVnh1SUNvZ0lDQlRkV0owYkdWRGNubHdkRzh0TFQ0K1JYaDBjbUZqZEZCeWFYWmhkR1ZMWlhrNklFTnllWEIwYjB0bGVWeHVJQ29nSUNCRmVIUnlZV04wVUhKcGRtRjBaVXRsZVMwdFBqNURZV3hzWlhJNklFTnllWEIwYjB0bGVWeHVJQ292WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdaWGgwY21GamRGQnlhWFpoZEdWTFpYa29jR1Z0T2lCQ2RXWm1aWElwSUh0Y2JpQWdZMjl1YzNRZ2JHbGlUbUZ0WlNBOUlGd2lZM0o1Y0hSdlhDSTdYRzRnSUd4bGRDQnpkV0owYkdVN1hHNGdJR2xtSUNocGMwSnliM2R6WlhJb0tTa2dlMXh1SUNBZ0lITjFZblJzWlNBOUlDaG5iRzlpWVd4VWFHbHpJR0Z6SUdGdWVTa3VZM0o1Y0hSdkxuTjFZblJzWlR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCamIyNXpkQ0JzYVdJZ1BTQW9ZWGRoYVhRZ2JtOXliV0ZzYVhwbFNXMXdiM0owS0dsdGNHOXlkQ2hzYVdKT1lXMWxLU2twSUdGeklHRnVlVHRjYmlBZ0lDQnpkV0owYkdVZ1BTQnNhV0l1YzNWaWRHeGxJSHg4SUd4cFlpNTNaV0pqY25sd2RHOHVjM1ZpZEd4bE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0NGemRXSjBiR1VwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSWtOdmRXeGtJRzV2ZENCc2IyRmtJRk4xWW5Sc1pVTnllWEIwYnlCdGIyUjFiR1ZjSWlrN1hHNWNiaUFnWm5WdVkzUnBiMjRnYzNSeU1tRmlLSE4wY2pvZ2MzUnlhVzVuS1NCN1hHNGdJQ0FnWTI5dWMzUWdZblZtSUQwZ2JtVjNJRUZ5Y21GNVFuVm1abVZ5S0hOMGNpNXNaVzVuZEdncE8xeHVJQ0FnSUdOdmJuTjBJR0oxWmxacFpYY2dQU0J1WlhjZ1ZXbHVkRGhCY25KaGVTaGlkV1lwTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd0xDQnpkSEpNWlc0Z1BTQnpkSEl1YkdWdVozUm9PeUJwSUR3Z2MzUnlUR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR0oxWmxacFpYZGJhVjBnUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHSjFaanRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJSE4wY2lBOUlIQmxiVnh1SUNBZ0lDNTBiMU4wY21sdVp5aGNJblYwWmpoY0lpbGNiaUFnSUNBdWNtVndiR0ZqWlNoY0lpMHRMUzB0UWtWSFNVNGdVRkpKVmtGVVJTQkxSVmt0TFMwdExWd2lMQ0JjSWx3aUtWeHVJQ0FnSUM1eVpYQnNZV05sUVd4c0tGd2lYRnh1WENJc0lGd2lYQ0lwWEc0Z0lDQWdMbkpsY0d4aFkyVW9YQ0l0TFMwdExVVk9SQ0JRVWtsV1FWUkZJRXRGV1MwdExTMHRYQ0lzSUZ3aVhDSXBPMXh1SUNCamIyNXpkQ0JrWldOdlpHVmtJRDBnUW5WbVptVnlMbVp5YjIwb2MzUnlMQ0JjSW1KaGMyVTJORndpS1M1MGIxTjBjbWx1WnloY0ltSnBibUZ5ZVZ3aUtUdGNiaUFnWTI5dWMzUWdZbWx1WVhKNVJHVnlJRDBnYzNSeU1tRmlLR1JsWTI5a1pXUXBPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnWVhkaGFYUWdjM1ZpZEd4bExtbHRjRzl5ZEV0bGVTaGNiaUFnSUNBZ0lGd2ljR3RqY3poY0lpeGNiaUFnSUNBZ0lHSnBibUZ5ZVVSbGNpeGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdibUZ0WlRvZ1hDSkZRMFJUUVZ3aUxGeHVJQ0FnSUNBZ0lDQnVZVzFsWkVOMWNuWmxPaUJjSWxBdE1qVTJYQ0lzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnZEhKMVpTeGNiaUFnSUNBZ0lGdGNJbk5wWjI1Y0lsMWNiaUFnSUNBcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUd0bGVUdGNiaUFnZlNCallYUmphQ0FvWlRvZ1lXNTVLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1pTazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
@@ -162,5 +162,5 @@ class HSMSignerFactoryCustom {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
exports.HSMSignerFactoryCustom = HSMSignerFactoryCustom;
|
|
165
|
-
//# sourceMappingURL=fabric-hsm.js.map
|
|
166
|
-
//# sourceMappingURL=fabric-hsm.js.map
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWhzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvZmFicmljLWhzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsOEJBQXlCO0FBQ3JELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxHQUF5QixJQUFJLENBQUM7SUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFNUIsWUFBWSxPQUFlO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQyxzQkFBc0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckQsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQztnQkFDSCxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEQsQ0FBQztZQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7Z0JBQ3BCLGtFQUFrRTtnQkFDbEUsSUFBSyxDQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNoRSxNQUFNLENBQUMsQ0FBQztnQkFDVixDQUFDO1lBQ0gsQ0FBQztZQUNELHNCQUFzQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFZO1FBQ25DLE1BQU0sc0JBQXNCLEdBQUc7WUFDN0IsaUNBQWlDO1lBQ2pDLGtEQUFrRDtZQUNsRCx1Q0FBdUM7WUFDdkMsNEJBQTRCO1lBQzVCLDBDQUEwQztTQUMzQyxDQUFDO1FBRUYsSUFBSSxHQUFHO1lBQUUsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFDLEtBQUssTUFBTSxhQUFhLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxhQUFhLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTztRQUNMLHNCQUFzQixDQUFDLE9BQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sZUFBZSxDQUFDLGdCQUEyQjtRQUNqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMzQjtZQUNFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixFQUNELGdCQUFnQixDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUErQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBZ0IsRUFBRSxJQUFZO1FBQ25ELElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBbUI7UUFDMUMsTUFBTSxLQUFLLEdBQ1Qsc0JBQXNCLENBQUMsT0FDeEIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sU0FBUyxHQUNiLHNCQUFzQixDQUFDLE9BQ3hCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLFNBQVMsV0FBVywwQ0FBMEMsQ0FDL0QsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBc0IsRUFBRSxRQUFnQixFQUFFLEdBQVc7UUFDakUsSUFBSSxDQUFDO1lBQ0Ysc0JBQXNCLENBQUMsT0FBeUIsQ0FBQyxPQUFPLENBQ3ZELE9BQU8sRUFDUCxRQUFRLEVBQ1IsR0FBRyxDQUNKLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztZQUN0QixNQUFNLFNBQVMsR0FBRyxHQUF1QixDQUFDO1lBQzFDLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztnQkFDekQsTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQ3JCLE9BQXNCLEVBQ3RCLE9BQWUsRUFDZixVQUFlO1FBRWYsTUFBTSxjQUFjLEdBQUc7WUFDckIsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQzFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUMxQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO1NBQ3BELENBQUM7UUFFRCxzQkFBc0IsQ0FBQyxPQUF5QixDQUFDLGlCQUFpQixDQUNqRSxPQUFPLEVBQ1AsY0FBYyxDQUNmLENBQUM7UUFDRixNQUFNLFNBQVMsR0FDYixzQkFBc0IsQ0FBQyxPQUN4QixDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2Qsc0JBQXNCLENBQUMsT0FBeUIsQ0FBQyxrQkFBa0IsQ0FDbEUsT0FBTyxDQUNSLENBQUM7WUFDRixNQUFNLElBQUksS0FBSyxDQUNiLHdDQUF3QyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDaEUsQ0FBQztRQUNKLENBQUM7UUFDQSxzQkFBc0IsQ0FBQyxPQUF5QixDQUFDLGtCQUFrQixDQUNsRSxPQUFPLENBQ1IsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsZ0JBQTJCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxPQUF3QixDQUFDO1FBQzdELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEUsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyQixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUNyQyxPQUFPLEVBQ1AsTUFBTSxDQUFDLGVBQWUsRUFDdEIsT0FBTyxDQUFDLFVBQVUsQ0FDbkIsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1osc0JBQXNCLENBQUMsT0FBeUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUUsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTztZQUNMLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBVyxFQUFFLEVBQUU7Z0JBQzNCLHNCQUFzQixDQUFDLE9BQXlCLENBQUMsVUFBVSxDQUMxRCxPQUFPLEVBQ1AsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUMvQixnQkFBZ0IsQ0FDakIsQ0FBQztnQkFDRixNQUFNLGdCQUFnQixHQUFHLE1BQ3ZCLHNCQUFzQixDQUFDLE9BQ3hCLENBQUMsV0FBVyxDQUNYLE9BQU8sRUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDbkIsZ0VBQWdFO2dCQUNoRSw0RUFBNEU7Z0JBQzVFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUN0QyxDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDO3FCQUN6RCxVQUFVLEVBQUU7cUJBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNULHNCQUFzQixDQUFDLE9BQXlCLENBQUMsY0FBYyxDQUM5RCxPQUFPLENBQ1IsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBSSxLQUFvQjtRQUMzQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDJCQUEyQixDQUFDLEdBQXFCO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxRQUFnQjtRQUN4QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxDQUFDLENBQUMsUUFBUTtZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUE4QjtRQUNsRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQ3hELFdBQVcsQ0FBQyxTQUFTLENBQ3RCLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwa2NzMTEgZnJvbSBcInBrY3MxMWpzXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgTWlzc2luZ1BLQ1NTMTFMaWIgfSBmcm9tIFwiLi4vc2hhcmVkL2Vycm9yc1wiO1xuaW1wb3J0IGNyeXB0byBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgeyBwMjU2IH0gZnJvbSBcIkBub2JsZS9jdXJ2ZXMvbmlzdFwiO1xuXG5leHBvcnQgY2xhc3MgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbSB7XG4gIHN0YXRpYyAjcGtjczExOiBwa2NzMTEuUEtDUzExIHwgbnVsbCA9IG51bGw7XG4gIHN0YXRpYyAjaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihsaWJyYXJ5OiBzdHJpbmcpIHtcbiAgICBpZiAoIUhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSkge1xuICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExID0gbmV3IHBrY3MxMS5QS0NTMTEoKTtcbiAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMS5sb2FkKHRoaXMuZmluZEhTTVBLQ1MxMUxpYihsaWJyYXJ5KSk7XG4gICAgfVxuXG4gICAgaWYgKCFIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNpbml0aWFsaXplZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfSW5pdGlhbGl6ZSgpO1xuICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAvLyBpZ25vcmUgXCJhbHJlYWR5IGluaXRpYWxpemVkXCIgaWYgdGVzdHMgLyBob3QgcmVsb2FkcyBjYXVzZSByZXVzZVxuICAgICAgICBpZiAoKGUgYXMgYW55KS5jb2RlICE9PSBwa2NzMTEuQ0tSX0NSWVBUT0tJX0FMUkVBRFlfSU5JVElBTElaRUQpIHtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNpbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kSFNNUEtDUzExTGliKGxpYj86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY29tbW9uU29mdEhTTVBhdGhOYW1lcyA9IFtcbiAgICAgIFwiL3Vzci9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zb1wiLFxuICAgICAgXCIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3NvZnRoc20vbGlic29mdGhzbTIuc29cIixcbiAgICAgIFwiL3Vzci9sb2NhbC9saWIvc29mdGhzbS9saWJzb2Z0aHNtMi5zb1wiLFxuICAgICAgXCIvdXNyL2xpYi9saWJhY3NwLXBrY3MxMS5zb1wiLFxuICAgICAgXCIvb3B0L2hvbWVicmV3L2xpYi9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgXTtcblxuICAgIGlmIChsaWIpIGNvbW1vblNvZnRIU01QYXRoTmFtZXMucHVzaChsaWIpO1xuXG4gICAgZm9yIChjb25zdCBwYXRobmFtZVRvVHJ5IG9mIGNvbW1vblNvZnRIU01QYXRoTmFtZXMpIHtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKHBhdGhuYW1lVG9UcnkpKSB7XG4gICAgICAgIHJldHVybiBwYXRobmFtZVRvVHJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBNaXNzaW5nUEtDU1MxMUxpYihcIlVuYWJsZSB0byBmaW5kIFBLQ1MxMSBsaWJyYXJ5XCIpO1xuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEhLkNfRmluYWxpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnM6IEhTTUNvbmZpZykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICB1c2VyVHlwZTogcGtjczExLkNLVV9VU0VSLFxuICAgICAgfSxcbiAgICAgIGhzbVNpZ25lck9wdGlvbnNcbiAgICApO1xuICAgIHRoaXMuYXNzZXJ0Tm90RW1wdHkob3B0aW9ucy5sYWJlbCwgXCJsYWJlbFwiKTtcbiAgICB0aGlzLmFzc2VydE5vdEVtcHR5KG9wdGlvbnMucGluLCBcInBpblwiKTtcbiAgICB0aGlzLmFzc2VydE5vdEVtcHR5KG9wdGlvbnMuaWRlbnRpZmllciBhcyB1bmtub3duIGFzIHN0cmluZywgXCJpZGVudGlmaWVyXCIpO1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnROb3RFbXB0eShwcm9wZXJ0eTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke25hbWV9IHByb3BlcnR5IG11c3QgYmUgcHJvdmlkZWRgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRTbG90Rm9yTGFiZWwocGtjczExTGFiZWw6IHN0cmluZykge1xuICAgIGNvbnN0IHNsb3RzID0gKFxuICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTFcbiAgICApLkNfR2V0U2xvdExpc3QodHJ1ZSk7XG4gICAgaWYgKHNsb3RzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gcGtjczExIHNsb3RzIGNhbiBiZSBmb3VuZFwiKTtcbiAgICB9XG4gICAgY29uc3Qgc2xvdCA9IHNsb3RzLmZpbmQoKHNsb3RUb0NoZWNrKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbkluZm8gPSAoXG4gICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExXG4gICAgICApLkNfR2V0VG9rZW5JbmZvKHNsb3RUb0NoZWNrKTtcbiAgICAgIHJldHVybiB0b2tlbkluZm8ubGFiZWwudHJpbSgpID09PSBwa2NzMTFMYWJlbDtcbiAgICB9KTtcbiAgICBpZiAoIXNsb3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGxhYmVsICR7cGtjczExTGFiZWx9IGNhbm5vdCBiZSBmb3VuZCBpbiB0aGUgcGtjczExIHNsb3QgbGlzdGBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzbG90O1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dpbihzZXNzaW9uOiBwa2NzMTEuSGFuZGxlLCB1c2VyVHlwZTogbnVtYmVyLCBwaW46IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfTG9naW4oXG4gICAgICAgIHNlc3Npb24sXG4gICAgICAgIHVzZXJUeXBlLFxuICAgICAgICBwaW5cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBjb25zdCBwa2NzMTFlcnIgPSBlcnIgYXMgeyBjb2RlOiBudW1iZXIgfTtcbiAgICAgIGlmIChwa2NzMTFlcnIuY29kZSAhPT0gcGtjczExLkNLUl9VU0VSX0FMUkVBRFlfTE9HR0VEX0lOKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRPYmplY3RJbkhTTShcbiAgICBzZXNzaW9uOiBwa2NzMTEuSGFuZGxlLFxuICAgIGtleXR5cGU6IG51bWJlcixcbiAgICBpZGVudGlmaWVyOiBhbnlcbiAgKSB7XG4gICAgY29uc3QgcGtjczExVGVtcGxhdGUgPSBbXG4gICAgICB7IHR5cGU6IHBrY3MxMS5DS0FfSUQsIHZhbHVlOiBpZGVudGlmaWVyIH0sXG4gICAgICB7IHR5cGU6IHBrY3MxMS5DS0FfQ0xBU1MsIHZhbHVlOiBrZXl0eXBlIH0sXG4gICAgICB7IHR5cGU6IHBrY3MxMS5DS0FfS0VZX1RZUEUsIHZhbHVlOiBwa2NzMTEuQ0tLX0VDIH0sXG4gICAgXTtcblxuICAgIChIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMSkuQ19GaW5kT2JqZWN0c0luaXQoXG4gICAgICBzZXNzaW9uLFxuICAgICAgcGtjczExVGVtcGxhdGVcbiAgICApO1xuICAgIGNvbnN0IGhzbU9iamVjdCA9IChcbiAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExXG4gICAgKS5DX0ZpbmRPYmplY3RzKHNlc3Npb24sIDEpWzBdO1xuICAgIGlmICghaHNtT2JqZWN0KSB7XG4gICAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfRmluZE9iamVjdHNGaW5hbChcbiAgICAgICAgc2Vzc2lvblxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBmaW5kIG9iamVjdCBpbiBIU00gd2l0aCBJRCAke2lkZW50aWZpZXIudG9TdHJpbmcoKX1gXG4gICAgICApO1xuICAgIH1cbiAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfRmluZE9iamVjdHNGaW5hbChcbiAgICAgIHNlc3Npb25cbiAgICApO1xuICAgIHJldHVybiBoc21PYmplY3Q7XG4gIH1cblxuICBuZXdTaWduZXIoaHNtU2lnbmVyT3B0aW9uczogSFNNQ29uZmlnKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnMpO1xuICAgIGNvbnN0IHBrY3MgPSBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMTtcbiAgICBjb25zdCBzbG90ID0gdGhpcy5maW5kU2xvdEZvckxhYmVsKG9wdGlvbnMubGFiZWwpO1xuICAgIGNvbnN0IHNlc3Npb24gPSBwa2NzLkNfT3BlblNlc3Npb24oc2xvdCwgcGtjczExLkNLRl9TRVJJQUxfU0VTU0lPTik7XG4gICAgbGV0IHByaXZhdGVLZXlIYW5kbGU7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubG9naW4oc2Vzc2lvbiwgb3B0aW9ucy51c2VyVHlwZSwgb3B0aW9ucy5waW4pO1xuICAgICAgcHJpdmF0ZUtleUhhbmRsZSA9IHRoaXMuZmluZE9iamVjdEluSFNNKFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICBwa2NzMTEuQ0tPX1BSSVZBVEVfS0VZLFxuICAgICAgICBvcHRpb25zLmlkZW50aWZpZXJcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAoSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTEpLkNfQ2xvc2VTZXNzaW9uKHNlc3Npb24pO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc2lnbmVyOiBhc3luYyAoZGlnZXN0OiBhbnkpID0+IHtcbiAgICAgICAgKEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSBhcyBwa2NzMTEuUEtDUzExKS5DX1NpZ25Jbml0KFxuICAgICAgICAgIHNlc3Npb24sXG4gICAgICAgICAgeyBtZWNoYW5pc206IHBrY3MxMS5DS01fRUNEU0EgfSxcbiAgICAgICAgICBwcml2YXRlS2V5SGFuZGxlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbXBhY3RTaWduYXR1cmUgPSBhd2FpdCAoXG4gICAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExIGFzIHBrY3MxMS5QS0NTMTFcbiAgICAgICAgKS5DX1NpZ25Bc3luYyhcbiAgICAgICAgICBzZXNzaW9uLFxuICAgICAgICAgIEJ1ZmZlci5mcm9tKGRpZ2VzdCksXG4gICAgICAgICAgLy8gRUMgc2lnbmF0dXJlcyBoYXZlIGxlbmd0aCBvZiAybiBhY2NvcmRpbmcgdG8gdGhlIFBLQ1MxMSBzcGVjOlxuICAgICAgICAgIC8vIGh0dHBzOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9wa2NzMTEvcGtjczExLXNwZWMvdjMuMS9wa2NzMTEtc3BlYy12My4xLmh0bWxcbiAgICAgICAgICBCdWZmZXIuYWxsb2MocDI1Ni5Qb2ludC5Gbi5CWVRFUyAqIDIpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBwMjU2LlNpZ25hdHVyZS5mcm9tQnl0ZXMoY29tcGFjdFNpZ25hdHVyZSwgXCJjb21wYWN0XCIpXG4gICAgICAgICAgLm5vcm1hbGl6ZVMoKVxuICAgICAgICAgIC50b0J5dGVzKFwiZGVyXCIpO1xuICAgICAgfSxcbiAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgIChIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEgYXMgcGtjczExLlBLQ1MxMSkuQ19DbG9zZVNlc3Npb24oXG4gICAgICAgICAgc2Vzc2lvblxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnREZWZpbmVkPFQ+KHZhbHVlOiBUIHwgdW5kZWZpbmVkKTogVCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInJlcXVpcmVkIHZhbHVlIHdhcyB1bmRlZmluZWRcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVbmNvbXByZXNzZWRQb2ludE9uQ3VydmUoa2V5OiBjcnlwdG8uS2V5T2JqZWN0KTogQnVmZmVyIHtcbiAgICBjb25zdCBqd2sgPSBrZXkuZXhwb3J0KHsgZm9ybWF0OiBcImp3a1wiIH0pO1xuICAgIGNvbnN0IHggPSBCdWZmZXIuZnJvbSh0aGlzLmFzc2VydERlZmluZWQoandrLngpLCBcImJhc2U2NHVybFwiKTtcbiAgICBjb25zdCB5ID0gQnVmZmVyLmZyb20odGhpcy5hc3NlcnREZWZpbmVkKGp3ay55KSwgXCJiYXNlNjR1cmxcIik7XG4gICAgY29uc3QgcHJlZml4ID0gQnVmZmVyLmZyb20oXCIwNFwiLCBcImhleFwiKTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbcHJlZml4LCB4LCB5XSk7XG4gIH1cblxuICBnZXRTS0lGcm9tQ2VydGlmaWNhdGVQYXRoKGNlcnRQYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwID0gY2VydFBhdGguZW5kc1dpdGgoXCIucGVtXCIpXG4gICAgICA/IGNlcnRQYXRoXG4gICAgICA6IHBhdGguam9pbihjZXJ0UGF0aCwgXCJjZXJ0LnBlbVwiKTtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGZzLnJlYWRGaWxlU3luYyhwKTtcblxuICAgIHJldHVybiB0aGlzLmdldFNLSUZyb21DZXJ0aWZpY2F0ZShjcmVkZW50aWFscyk7XG4gIH1cblxuICBnZXRTS0lGcm9tQ2VydGlmaWNhdGUoY2VydDogc3RyaW5nIHwgTm9uU2hhcmVkQnVmZmVyKTogQnVmZmVyIHtcbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBjcnlwdG8uWDUwOUNlcnRpZmljYXRlKGNlcnQpO1xuICAgIGNvbnN0IHVuY29tcHJlc3NlZFBvaW50ID0gdGhpcy5nZXRVbmNvbXByZXNzZWRQb2ludE9uQ3VydmUoXG4gICAgICBjZXJ0aWZpY2F0ZS5wdWJsaWNLZXlcbiAgICApO1xuXG4gICAgcmV0dXJuIGNyeXB0by5jcmVhdGVIYXNoKFwic2hhMjU2XCIpLnVwZGF0ZSh1bmNvbXByZXNzZWRQb2ludCkuZGlnZXN0KCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU01Db25maWcge1xuICBsYWJlbDogc3RyaW5nO1xuICBpZGVudGlmaWVyOiBCdWZmZXI8QXJyYXlCdWZmZXJMaWtlPjtcbiAgcGluOiBzdHJpbmc7XG59XG4iXX0=
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLWhzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhYnJpYy1oc20uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQThCO0FBQzlCLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscURBQTBEO0FBQzFELG9EQUE0QjtBQUM1Qiw2Q0FBMEM7QUFDMUMsTUFBYSxzQkFBc0I7SUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsWUFBWSxPQUFPO1FBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckQsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQztnQkFDRCxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEQsQ0FBQztZQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1Asa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO29CQUNyRCxNQUFNLENBQUMsQ0FBQztnQkFDWixDQUFDO1lBQ0wsQ0FBQztZQUNELHNCQUFzQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ2hCLE1BQU0sc0JBQXNCLEdBQUc7WUFDM0IsaUNBQWlDO1lBQ2pDLGtEQUFrRDtZQUNsRCx1Q0FBdUM7WUFDdkMsNEJBQTRCO1lBQzVCLDBD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QUFJLENBQUMsQ0FBQztRQUNyRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsT0FBTyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRSxDQUFDOztBQXJKTCx3REFzSkM7QUFDRCxrdWhCQUFrdWhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBrY3MxMSBmcm9tIFwicGtjczExanNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBNaXNzaW5nUEtDU1MxMUxpYiB9IGZyb20gXCIuLy4uL3NoYXJlZC9lcnJvcnMuanNcIjtcbmltcG9ydCBjcnlwdG8gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0IHsgcDI1NiB9IGZyb20gXCJAbm9ibGUvY3VydmVzL25pc3RcIjtcbmV4cG9ydCBjbGFzcyBIU01TaWduZXJGYWN0b3J5Q3VzdG9tIHtcbiAgICBzdGF0aWMgI3BrY3MxMSA9IG51bGw7XG4gICAgc3RhdGljICNpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGNvbnN0cnVjdG9yKGxpYnJhcnkpIHtcbiAgICAgICAgaWYgKCFIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEpIHtcbiAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMSA9IG5ldyBwa2NzMTEuUEtDUzExKCk7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEubG9hZCh0aGlzLmZpbmRIU01QS0NTMTFMaWIobGlicmFyeSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfSW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmUgXCJhbHJlYWR5IGluaXRpYWxpemVkXCIgaWYgdGVzdHMgLyBob3QgcmVsb2FkcyBjYXVzZSByZXVzZVxuICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT09IHBrY3MxMS5DS1JfQ1JZUFRPS0lfQUxSRUFEWV9JTklUSUFMSVpFRCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kSFNNUEtDUzExTGliKGxpYikge1xuICAgICAgICBjb25zdCBjb21tb25Tb2Z0SFNNUGF0aE5hbWVzID0gW1xuICAgICAgICAgICAgXCIvdXNyL2xpYi9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgICAgICAgICBcIi91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvc29mdGhzbS9saWJzb2Z0aHNtMi5zb1wiLFxuICAgICAgICAgICAgXCIvdXNyL2xvY2FsL2xpYi9zb2Z0aHNtL2xpYnNvZnRoc20yLnNvXCIsXG4gICAgICAgICAgICBcIi91c3IvbGliL2xpYmFjc3AtcGtjczExLnNvXCIsXG4gICAgICAgICAgICBcIi9vcHQvaG9tZWJyZXcvbGliL3NvZnRoc20vbGlic29mdGhzbTIuc29cIixcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKGxpYilcbiAgICAgICAgICAgIGNvbW1vblNvZnRIU01QYXRoTmFtZXMucHVzaChsaWIpO1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhuYW1lVG9Ucnkgb2YgY29tbW9uU29mdEhTTVBhdGhOYW1lcykge1xuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aG5hbWVUb1RyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF0aG5hbWVUb1RyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ1BLQ1NTMTFMaWIoXCJVbmFibGUgdG8gZmluZCBQS0NTMTEgbGlicmFyeVwiKTtcbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluYWxpemUoKTtcbiAgICB9XG4gICAgc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgdXNlclR5cGU6IHBrY3MxMS5DS1VfVVNFUixcbiAgICAgICAgfSwgaHNtU2lnbmVyT3B0aW9ucyk7XG4gICAgICAgIHRoaXMuYXNzZXJ0Tm90RW1wdHkob3B0aW9ucy5sYWJlbCwgXCJsYWJlbFwiKTtcbiAgICAgICAgdGhpcy5hc3NlcnROb3RFbXB0eShvcHRpb25zLnBpbiwgXCJwaW5cIik7XG4gICAgICAgIHRoaXMuYXNzZXJ0Tm90RW1wdHkob3B0aW9ucy5pZGVudGlmaWVyLCBcImlkZW50aWZpZXJcIik7XG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cbiAgICBhc3NlcnROb3RFbXB0eShwcm9wZXJ0eSwgbmFtZSkge1xuICAgICAgICBpZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke25hbWV9IHByb3BlcnR5IG11c3QgYmUgcHJvdmlkZWRgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kU2xvdEZvckxhYmVsKHBrY3MxMUxhYmVsKSB7XG4gICAgICAgIGNvbnN0IHNsb3RzID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfR2V0U2xvdExpc3QodHJ1ZSk7XG4gICAgICAgIGlmIChzbG90cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHBrY3MxMSBzbG90cyBjYW4gYmUgZm91bmRcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2xvdCA9IHNsb3RzLmZpbmQoKHNsb3RUb0NoZWNrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbkluZm8gPSBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19HZXRUb2tlbkluZm8oc2xvdFRvQ2hlY2spO1xuICAgICAgICAgICAgcmV0dXJuIHRva2VuSW5mby5sYWJlbC50cmltKCkgPT09IHBrY3MxMUxhYmVsO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFzbG90KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGxhYmVsICR7cGtjczExTGFiZWx9IGNhbm5vdCBiZSBmb3VuZCBpbiB0aGUgcGtjczExIHNsb3QgbGlzdGApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzbG90O1xuICAgIH1cbiAgICBsb2dpbihzZXNzaW9uLCB1c2VyVHlwZSwgcGluKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19Mb2dpbihzZXNzaW9uLCB1c2VyVHlwZSwgcGluKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zdCBwa2NzMTFlcnIgPSBlcnI7XG4gICAgICAgICAgICBpZiAocGtjczExZXJyLmNvZGUgIT09IHBrY3MxMS5DS1JfVVNFUl9BTFJFQURZX0xPR0dFRF9JTikge1xuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kT2JqZWN0SW5IU00oc2Vzc2lvbiwga2V5dHlwZSwgaWRlbnRpZmllcikge1xuICAgICAgICBjb25zdCBwa2NzMTFUZW1wbGF0ZSA9IFtcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9JRCwgdmFsdWU6IGlkZW50aWZpZXIgfSxcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9DTEFTUywgdmFsdWU6IGtleXR5cGUgfSxcbiAgICAgICAgICAgIHsgdHlwZTogcGtjczExLkNLQV9LRVlfVFlQRSwgdmFsdWU6IHBrY3MxMS5DS0tfRUMgfSxcbiAgICAgICAgXTtcbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHNJbml0KHNlc3Npb24sIHBrY3MxMVRlbXBsYXRlKTtcbiAgICAgICAgY29uc3QgaHNtT2JqZWN0ID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHMoc2Vzc2lvbiwgMSlbMF07XG4gICAgICAgIGlmICghaHNtT2JqZWN0KSB7XG4gICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19GaW5kT2JqZWN0c0ZpbmFsKHNlc3Npb24pO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCBvYmplY3QgaW4gSFNNIHdpdGggSUQgJHtpZGVudGlmaWVyLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfRmluZE9iamVjdHNGaW5hbChzZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIGhzbU9iamVjdDtcbiAgICB9XG4gICAgbmV3U2lnbmVyKGhzbVNpZ25lck9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuc2FuaXRpemVPcHRpb25zKGhzbVNpZ25lck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBwa2NzID0gSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExO1xuICAgICAgICBjb25zdCBzbG90ID0gdGhpcy5maW5kU2xvdEZvckxhYmVsKG9wdGlvbnMubGFiZWwpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gcGtjcy5DX09wZW5TZXNzaW9uKHNsb3QsIHBrY3MxMS5DS0ZfU0VSSUFMX1NFU1NJT04pO1xuICAgICAgICBsZXQgcHJpdmF0ZUtleUhhbmRsZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW4oc2Vzc2lvbiwgb3B0aW9ucy51c2VyVHlwZSwgb3B0aW9ucy5waW4pO1xuICAgICAgICAgICAgcHJpdmF0ZUtleUhhbmRsZSA9IHRoaXMuZmluZE9iamVjdEluSFNNKHNlc3Npb24sIHBrY3MxMS5DS09fUFJJVkFURV9LRVksIG9wdGlvbnMuaWRlbnRpZmllcik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfQ2xvc2VTZXNzaW9uKHNlc3Npb24pO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaWduZXI6IGFzeW5jIChkaWdlc3QpID0+IHtcbiAgICAgICAgICAgICAgICBIU01TaWduZXJGYWN0b3J5Q3VzdG9tLiNwa2NzMTEuQ19TaWduSW5pdChzZXNzaW9uLCB7IG1lY2hhbmlzbTogcGtjczExLkNLTV9FQ0RTQSB9LCBwcml2YXRlS2V5SGFuZGxlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wYWN0U2lnbmF0dXJlID0gYXdhaXQgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbS4jcGtjczExLkNfU2lnbkFzeW5jKHNlc3Npb24sIEJ1ZmZlci5mcm9tKGRpZ2VzdCksIFxuICAgICAgICAgICAgICAgIC8vIEVDIHNpZ25hdHVyZXMgaGF2ZSBsZW5ndGggb2YgMm4gYWNjb3JkaW5nIHRvIHRoZSBQS0NTMTEgc3BlYzpcbiAgICAgICAgICAgICAgICAvLyBodHRwczovL2RvY3Mub2FzaXMtb3Blbi5vcmcvcGtjczExL3BrY3MxMS1zcGVjL3YzLjEvcGtjczExLXNwZWMtdjMuMS5odG1sXG4gICAgICAgICAgICAgICAgQnVmZmVyLmFsbG9jKHAyNTYuUG9pbnQuRm4uQllURVMgKiAyKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHAyNTYuU2lnbmF0dXJlLmZyb21CeXRlcyhjb21wYWN0U2lnbmF0dXJlLCBcImNvbXBhY3RcIilcbiAgICAgICAgICAgICAgICAgICAgLm5vcm1hbGl6ZVMoKVxuICAgICAgICAgICAgICAgICAgICAudG9CeXRlcyhcImRlclwiKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIEhTTVNpZ25lckZhY3RvcnlDdXN0b20uI3BrY3MxMS5DX0Nsb3NlU2Vzc2lvbihzZXNzaW9uKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzc2VydERlZmluZWQodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInJlcXVpcmVkIHZhbHVlIHdhcyB1bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBnZXRVbmNvbXByZXNzZWRQb2ludE9uQ3VydmUoa2V5KSB7XG4gICAgICAgIGNvbnN0IGp3ayA9IGtleS5leHBvcnQoeyBmb3JtYXQ6IFwiandrXCIgfSk7XG4gICAgICAgIGNvbnN0IHggPSBCdWZmZXIuZnJvbSh0aGlzLmFzc2VydERlZmluZWQoandrLngpLCBcImJhc2U2NHVybFwiKTtcbiAgICAgICAgY29uc3QgeSA9IEJ1ZmZlci5mcm9tKHRoaXMuYXNzZXJ0RGVmaW5lZChqd2sueSksIFwiYmFzZTY0dXJsXCIpO1xuICAgICAgICBjb25zdCBwcmVmaXggPSBCdWZmZXIuZnJvbShcIjA0XCIsIFwiaGV4XCIpO1xuICAgICAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbcHJlZml4LCB4LCB5XSk7XG4gICAgfVxuICAgIGdldFNLSUZyb21DZXJ0aWZpY2F0ZVBhdGgoY2VydFBhdGgpIHtcbiAgICAgICAgY29uc3QgcCA9IGNlcnRQYXRoLmVuZHNXaXRoKFwiLnBlbVwiKVxuICAgICAgICAgICAgPyBjZXJ0UGF0aFxuICAgICAgICAgICAgOiBwYXRoLmpvaW4oY2VydFBhdGgsIFwiY2VydC5wZW1cIik7XG4gICAgICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gZnMucmVhZEZpbGVTeW5jKHApO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTS0lGcm9tQ2VydGlmaWNhdGUoY3JlZGVudGlhbHMpO1xuICAgIH1cbiAgICBnZXRTS0lGcm9tQ2VydGlmaWNhdGUoY2VydCkge1xuICAgICAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBjcnlwdG8uWDUwOUNlcnRpZmljYXRlKGNlcnQpO1xuICAgICAgICBjb25zdCB1bmNvbXByZXNzZWRQb2ludCA9IHRoaXMuZ2V0VW5jb21wcmVzc2VkUG9pbnRPbkN1cnZlKGNlcnRpZmljYXRlLnB1YmxpY0tleSk7XG4gICAgICAgIHJldHVybiBjcnlwdG8uY3JlYXRlSGFzaChcInNoYTI1NlwiKS51cGRhdGUodW5jb21wcmVzc2VkUG9pbnQpLmRpZ2VzdCgpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVptRmljbWxqTFdoemJTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDNOeVl5OWpiR2xsYm5RdlptRmljbWxqTFdoemJTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRTFCUVUwc1RVRkJUU3hWUVVGVkxFTkJRVU03UVVGRE9VSXNUMEZCVHl4RlFVRkZMRTFCUVUwc1NVRkJTU3hEUVVGRE8wRkJRM0JDTEU5QlFVOHNTVUZCU1N4TlFVRk5MRTFCUVUwc1EwRkJRenRCUVVONFFpeFBRVUZQTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzT0VKQlFYbENPMEZCUTNKRUxFOUJRVThzVFVGQlRTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTTFRaXhQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRk1VTXNUVUZCVFN4UFFVRlBMSE5DUVVGelFqdEpRVU5xUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhIUVVGNVFpeEpRVUZKTEVOQlFVTTdTVUZETlVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTTdTVUZGTlVJc1dVRkJXU3hQUVVGbE8xRkJRM3BDTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTndReXh6UWtGQmMwSXNRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdXVUZEY2tRc2MwSkJRWE5DTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUlN4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8xbEJRM3BETEVsQlFVa3NRMEZCUXp0blFrRkRTQ3h6UWtGQmMwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03V1VGRGFFUXNRMEZCUXp0WlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03WjBKQlEzQkNMR3RGUVVGclJUdG5Ra0ZEYkVVc1NVRkJTeXhEUVVGVExFTkJRVU1zU1VGQlNTeExRVUZMTEUxQlFVMHNRMEZCUXl4blEwRkJaME1zUlVGQlJTeERRVUZETzI5Q1FVTm9SU3hOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZEVml4RFFVRkRPMWxCUTBnc1EwRkJRenRaUVVORUxITkNRVUZ6UWl4RFFVRkRMRmxCUVZrc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRE4wTXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZUeXhuUWtGQlowSXNRMEZCUXl4SFFVRlpPMUZCUTI1RExFMUJRVTBzYzBKQlFYTkNMRWRCUVVjN1dVRkROMElzYVVOQlFXbERPMWxCUTJwRExHdEVRVUZyUkR0WlFVTnNSQ3gxUTBGQmRVTTdXVUZEZGtNc05FSkJRVFJDTzFsQlF6VkNMREJEUVVFd1F6dFRRVU16UXl4RFFVRkRPMUZCUlVZc1NVRkJTU3hIUVVGSE8xbEJRVVVzYzBKQlFYTkNMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJURkRMRXRCUVVzc1RVRkJUU3hoUVVGaExFbEJRVWtzYzBKQlFYTkNMRVZCUVVVc1EwRkJRenRaUVVOdVJDeEpRVUZKTEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZEYWtNc1QwRkJUeXhoUVVGaExFTkJRVU03V1VGRGRrSXNRMEZCUXp0UlFVTklMRU5CUVVNN1VVRkZSQ3hOUVVGTkxFbEJRVWtzYVVKQlFXbENMRU5CUVVNc0swSkJRU3RDTEVOQlFVTXNRMEZCUXp0SlFVTXZSQ3hEUVVGRE8wbEJSVVFzVDBGQlR6dFJRVU5NTEhOQ1FVRnpRaXhEUVVGRExFOUJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0SlFVTXZReXhEUVVGRE8wbEJSVThzWlVGQlpTeERRVUZETEdkQ1FVRXlRanRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVNelFqdFpRVU5GTEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1VVRkJVVHRUUVVNeFFpeEZRVU5FTEdkQ1FVRm5RaXhEUVVOcVFpeERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUXpWRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU40UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFZRVUVyUWl4RlFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJRek5GTEU5QlFVOHNUMEZCVHl4RFFVRkRPMGxCUTJwQ0xFTkJRVU03U1VGRlR5eGpRVUZqTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGWk8xRkJRMjVFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWxCUVVrc1VVRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU42UkN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExFZEJRVWNzU1VGQlNTdzBRa0ZCTkVJc1EwRkJReXhEUVVGRE8xRkJRM1pFTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlU4c1owSkJRV2RDTEVOQlFVTXNWMEZCYlVJN1VVRkRNVU1zVFVGQlRTeExRVUZMTEVkQlExUXNjMEpCUVhOQ0xFTkJRVU1zVDBGRGVFSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGRFSXNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzWkNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenRSUVVOc1JDeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEZkQlFWY3NSVUZCUlN4RlFVRkZPMWxCUTNSRExFMUJRVTBzVTBGQlV5eEhRVU5pTEhOQ1FVRnpRaXhEUVVGRExFOUJRM2hDTEVOQlFVTXNZMEZCWXl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xbEJRemxDTEU5QlFVOHNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eFhRVUZYTEVOQlFVTTdVVUZEYUVRc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRFNDeEpRVUZKTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1dVRkRWaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTEZOQlFWTXNWMEZCVnl3d1EwRkJNRU1zUTBGREwwUXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkRSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGVHl4TFFVRkxMRU5CUVVNc1QwRkJjMElzUlVGQlJTeFJRVUZuUWl4RlFVRkZMRWRCUVZjN1VVRkRha1VzU1VGQlNTeERRVUZETzFsQlEwWXNjMEpCUVhOQ0xFTkJRVU1zVDBGQmVVSXNRMEZCUXl4UFFVRlBMRU5CUTNaRUxFOUJRVThzUlVGRFVDeFJRVUZSTEVWQlExSXNSMEZCUnl4RFFVTktMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRVU1zVDBGQlR5eEhRVUZaTEVWQlFVVXNRMEZCUXp0WlFVTjBRaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEhRVUYxUWl4RFFVRkRPMWxCUXpGRExFbEJRVWtzVTBGQlV5eERRVUZETEVsQlFVa3NTMEZCU3l4TlFVRk5MRU5CUVVNc01FSkJRVEJDTEVWQlFVVXNRMEZCUXp0blFrRkRla1FzVFVGQlRTeEhRVUZITEVOQlFVTTdXVUZEV2l4RFFVRkRPMUZCUTBnc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlR5eGxRVUZsTEVOQlEzSkNMRTlCUVhOQ0xFVkJRM1JDTEU5QlFXVXNSVUZEWml4VlFVRmxPMUZCUldZc1RVRkJUU3hqUVVGakxFZEJRVWM3V1VGRGNrSXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeExRVUZMTEVWQlFVVXNWVUZCVlN4RlFVRkZPMWxCUXpGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1MwRkJTeXhGUVVGRkxFOUJRVThzUlVGQlJUdFpRVU14UXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFTkJRVU1zV1VGQldTeEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRk8xTkJRM0JFTEVOQlFVTTdVVUZGUkN4elFrRkJjMElzUTBGQlF5eFBRVUY1UWl4RFFVRkRMR2xDUVVGcFFpeERRVU5xUlN4UFFVRlBMRVZCUTFBc1kwRkJZeXhEUVVObUxFTkJRVU03VVVGRFJpeE5RVUZOTEZOQlFWTXNSMEZEWWl4elFrRkJjMElzUTBGQlF5eFBRVU40UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRMMElzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUTJRc2MwSkJRWE5DTEVOQlFVTXNUMEZCZVVJc1EwRkJReXhyUWtGQmEwSXNRMEZEYkVVc1QwRkJUeXhEUVVOU0xFTkJRVU03V1VGRFJpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVTmlMSGREUVVGM1F5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RlFVRkZMRVZCUVVVc1EwRkRhRVVzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZEUVN4elFrRkJjMElzUTBGQlF5eFBRVUY1UWl4RFFVRkRMR3RDUVVGclFpeERRVU5zUlN4UFFVRlBMRU5CUTFJc1EwRkJRenRSUVVOR0xFOUJRVThzVTBGQlV5eERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZSQ3hUUVVGVExFTkJRVU1zWjBKQlFUSkNPMUZCUTI1RExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0UlFVTjJSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eHpRa0ZCYzBJc1EwRkJReXhQUVVGM1FpeERRVUZETzFGQlF6ZEVMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEYkVRc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1VVRkRjRVVzU1VGQlNTeG5Ra0ZCWjBJc1EwRkJRenRSUVVOeVFpeEpRVUZKTEVOQlFVTTdXVUZEU0N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeFBRVUZQTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU51UkN4blFrRkJaMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVTnlReXhQUVVGUExFVkJRMUFzVFVGQlRTeERRVUZETEdWQlFXVXNSVUZEZEVJc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGRGJrSXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkJReXhQUVVGUExFZEJRVWNzUlVGQlJTeERRVUZETzFsQlExb3NjMEpCUVhOQ0xFTkJRVU1zVDBGQmVVSXNRMEZCUXl4alFVRmpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03V1VGRE1VVXNUVUZCVFN4SFFVRkhMRU5CUVVNN1VVRkRXaXhEUVVGRE8xRkJRMFFzVDBGQlR6dFpRVU5NTEUxQlFVMHNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJWeXhGUVVGRkxFVkJRVVU3WjBKQlF6TkNMSE5DUVVGelFpeERRVUZETEU5QlFYbENMRU5CUVVNc1ZVRkJWU3hEUVVNeFJDeFBRVUZQTEVWQlExQXNSVUZCUlN4VFFVRlRMRVZCUVVVc1RVRkJUU3hEUVVGRExGTkJRVk1zUlVGQlJTeEZRVU12UWl4blFrRkJaMElzUTBGRGFrSXNRMEZCUXp0blFrRkRSaXhOUVVGTkxHZENRVUZuUWl4SFFVRkhMRTFCUTNaQ0xITkNRVUZ6UWl4RFFVRkRMRTlCUTNoQ0xFTkJRVU1zVjBGQlZ5eERRVU5ZTEU5QlFVOHNSVUZEVUN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZEYmtJc1owVkJRV2RGTzJkQ1FVTm9SU3cwUlVGQk5FVTdaMEpCUXpWRkxFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVTjBReXhEUVVGRE8yZENRVU5HTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhUUVVGVExFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1UwRkJVeXhEUVVGRE8zRkNRVU42UkN4VlFVRlZMRVZCUVVVN2NVSkJRMW9zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUTNCQ0xFTkJRVU03V1VGRFJDeExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZPMmRDUVVOVUxITkNRVUZ6UWl4RFFVRkRMRTlCUVhsQ0xFTkJRVU1zWTBGQll5eERRVU01UkN4UFFVRlBMRU5CUTFJc1EwRkJRenRaUVVOS0xFTkJRVU03VTBGRFJpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVlBMR0ZCUVdFc1EwRkJTU3hMUVVGdlFqdFJRVU16UXl4SlFVRkpMRXRCUVVzc1MwRkJTeXhUUVVGVExFVkJRVVVzUTBGQlF6dFpRVU40UWl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExEaENRVUU0UWl4RFFVRkRMRU5CUVVNN1VVRkRiRVFzUTBGQlF6dFJRVVZFTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJZc1EwRkJRenRKUVVWUExESkNRVUV5UWl4RFFVRkRMRWRCUVhGQ08xRkJRM1pFTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNeFF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGZEJRVmNzUTBGQlF5eERRVUZETzFGQlF6bEVMRTFCUVUwc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRPVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEZUVNc1QwRkJUeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzWkRMRU5CUVVNN1NVRkZSQ3g1UWtGQmVVSXNRMEZCUXl4UlFVRm5RanRSUVVONFF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU5xUXl4RFFVRkRMRU5CUVVNc1VVRkJVVHRaUVVOV0xFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU53UXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhGUVVGRkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlhaRExFOUJRVThzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzBsQlEycEVMRU5CUVVNN1NVRkZSQ3h4UWtGQmNVSXNRMEZCUXl4SlFVRTRRanRSUVVOc1JDeE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEY2tRc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlEzaEVMRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRM1JDTEVOQlFVTTdVVUZGUml4UFFVRlBMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1NVRkRlRVVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQndhMk56TVRFZ1puSnZiU0JjSW5CclkzTXhNV3B6WENJN1hHNXBiWEJ2Y25RZ1puTWdabkp2YlNCY0ltWnpYQ0k3WEc1cGJYQnZjblFnY0dGMGFDQm1jbTl0SUZ3aWNHRjBhRndpTzF4dWFXMXdiM0owSUhzZ1RXbHpjMmx1WjFCTFExTlRNVEZNYVdJZ2ZTQm1jbTl0SUZ3aUxpNHZjMmhoY21Wa0wyVnljbTl5YzF3aU8xeHVhVzF3YjNKMElHTnllWEIwYnlCbWNtOXRJRndpWTNKNWNIUnZYQ0k3WEc1cGJYQnZjblFnZXlCd01qVTJJSDBnWm5KdmJTQmNJa0J1YjJKc1pTOWpkWEoyWlhNdmJtbHpkRndpTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTQjdYRzRnSUhOMFlYUnBZeUFqY0d0amN6RXhPaUJ3YTJOek1URXVVRXREVXpFeElId2diblZzYkNBOUlHNTFiR3c3WEc0Z0lITjBZWFJwWXlBamFXNXBkR2xoYkdsNlpXUWdQU0JtWVd4elpUdGNibHh1SUNCamIyNXpkSEoxWTNSdmNpaHNhV0p5WVhKNU9pQnpkSEpwYm1jcElIdGNiaUFnSUNCcFppQW9JVWhUVFZOcFoyNWxja1poWTNSdmNubERkWE4wYjIwdUkzQnJZM014TVNrZ2UxeHVJQ0FnSUNBZ1NGTk5VMmxuYm1WeVJtRmpkRzl5ZVVOMWMzUnZiUzRqY0d0amN6RXhJRDBnYm1WM0lIQnJZM014TVM1UVMwTlRNVEVvS1R0Y2JpQWdJQ0FnSUVoVFRWTnBaMjVsY2taaFkzUnZjbmxEZFhOMGIyMHVJM0JyWTNNeE1TNXNiMkZrS0hSb2FYTXVabWx1WkVoVFRWQkxRMU14TVV4cFlpaHNhV0p5WVhKNUtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLQ0ZJVTAxVGFXZHVaWEpHWVdOMGIzSjVRM1Z6ZEc5dExpTnBibWwwYVdGc2FYcGxaQ2tnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdTRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amNHdGpjekV4TGtOZlNXNXBkR2xoYkdsNlpTZ3BPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aVG9nZFc1cmJtOTNiaWtnZTF4dUlDQWdJQ0FnSUNBdkx5QnBaMjV2Y21VZ1hDSmhiSEpsWVdSNUlHbHVhWFJwWVd4cGVtVmtYQ0lnYVdZZ2RHVnpkSE1nTHlCb2IzUWdjbVZzYjJGa2N5QmpZWFZ6WlNCeVpYVnpaVnh1SUNBZ0lDQWdJQ0JwWmlBb0tHVWdZWE1nWVc1NUtTNWpiMlJsSUNFOVBTQndhMk56TVRFdVEwdFNYME5TV1ZCVVQwdEpYMEZNVWtWQlJGbGZTVTVKVkVsQlRFbGFSVVFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQklVMDFUYVdkdVpYSkdZV04wYjNKNVEzVnpkRzl0TGlOcGJtbDBhV0ZzYVhwbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCbWFXNWtTRk5OVUV0RFV6RXhUR2xpS0d4cFlqODZJSE4wY21sdVp5azZJSE4wY21sdVp5QjdYRzRnSUNBZ1kyOXVjM1FnWTI5dGJXOXVVMjltZEVoVFRWQmhkR2hPWVcxbGN5QTlJRnRjYmlBZ0lDQWdJRndpTDNWemNpOXNhV0l2YzI5bWRHaHpiUzlzYVdKemIyWjBhSE50TWk1emIxd2lMRnh1SUNBZ0lDQWdYQ0l2ZFhOeUwyeHBZaTk0T0RaZk5qUXRiR2x1ZFhndFoyNTFMM052Wm5Sb2MyMHZiR2xpYzI5bWRHaHpiVEl1YzI5Y0lpeGNiaUFnSUNBZ0lGd2lMM1Z6Y2k5c2IyTmhiQzlzYVdJdmMyOW1kR2h6YlM5c2FXSnpiMlowYUhOdE1pNXpiMXdpTEZ4dUlDQWdJQ0FnWENJdmRYTnlMMnhwWWk5c2FXSmhZM053TFhCclkzTXhNUzV6YjF3aUxGeHVJQ0FnSUNBZ1hDSXZiM0IwTDJodmJXVmljbVYzTDJ4cFlpOXpiMlowYUhOdEwyeHBZbk52Wm5Sb2MyMHlMbk52WENJc1hHNGdJQ0FnWFR0Y2JseHVJQ0FnSUdsbUlDaHNhV0lwSUdOdmJXMXZibE52Wm5SSVUwMVFZWFJvVG1GdFpYTXVjSFZ6YUNoc2FXSXBPMXh1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0J3WVhSb2JtRnRaVlJ2VkhKNUlHOW1JR052YlcxdmJsTnZablJJVTAxUVlYUm9UbUZ0WlhNcElIdGNiaUFnSUNBZ0lHbG1JQ2htY3k1bGVHbHpkSE5UZVc1aktIQmhkR2h1WVcxbFZHOVVjbmtwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCd1lYUm9ibUZ0WlZSdlZISjVPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9jbTkzSUc1bGR5Qk5hWE56YVc1blVFdERVMU14TVV4cFlpaGNJbFZ1WVdKc1pTQjBieUJtYVc1a0lGQkxRMU14TVNCc2FXSnlZWEo1WENJcE8xeHVJQ0I5WEc1Y2JpQWdaR2x6Y0c5elpTZ3BJSHRjYmlBZ0lDQklVMDFUYVdkdVpYSkdZV04wYjNKNVEzVnpkRzl0TGlOd2EyTnpNVEVoTGtOZlJtbHVZV3hwZW1Vb0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjMkZ1YVhScGVtVlBjSFJwYjI1ektHaHpiVk5wWjI1bGNrOXdkR2x2Ym5NNklFaFRUVU52Ym1acFp5a2dlMXh1SUNBZ0lHTnZibk4wSUc5d2RHbHZibk1nUFNCUFltcGxZM1F1WVhOemFXZHVLRnh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IxYzJWeVZIbHdaVG9nY0d0amN6RXhMa05MVlY5VlUwVlNMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJR2h6YlZOcFoyNWxjazl3ZEdsdmJuTmNiaUFnSUNBcE8xeHVJQ0FnSUhSb2FYTXVZWE56WlhKMFRtOTBSVzF3ZEhrb2IzQjBhVzl1Y3k1c1lXSmxiQ3dnWENKc1lXSmxiRndpS1R0Y2JpQWdJQ0IwYUdsekxtRnpjMlZ5ZEU1dmRFVnRjSFI1S0c5d2RHbHZibk11Y0dsdUxDQmNJbkJwYmx3aUtUdGNiaUFnSUNCMGFHbHpMbUZ6YzJWeWRFNXZkRVZ0Y0hSNUtHOXdkR2x2Ym5NdWFXUmxiblJwWm1sbGNpQmhjeUIxYm10dWIzZHVJR0Z6SUhOMGNtbHVaeXdnWENKcFpHVnVkR2xtYVdWeVhDSXBPMXh1SUNBZ0lISmxkSFZ5YmlCdmNIUnBiMjV6TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCaGMzTmxjblJPYjNSRmJYQjBlU2h3Y205d1pYSjBlVG9nYzNSeWFXNW5MQ0J1WVcxbE9pQnpkSEpwYm1jcElIdGNiaUFnSUNCcFppQW9JWEJ5YjNCbGNuUjVJSHg4SUhCeWIzQmxjblI1TG5SdlUzUnlhVzVuS0NrdWRISnBiU2dwTG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQWtlMjVoYldWOUlIQnliM0JsY25SNUlHMTFjM1FnWW1VZ2NISnZkbWxrWldSZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHWnBibVJUYkc5MFJtOXlUR0ZpWld3b2NHdGpjekV4VEdGaVpXdzZJSE4wY21sdVp5a2dlMXh1SUNBZ0lHTnZibk4wSUhOc2IzUnpJRDBnS0Z4dUlDQWdJQ0FnU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGpjR3RqY3pFeElHRnpJSEJyWTNNeE1TNVFTME5UTVRGY2JpQWdJQ0FwTGtOZlIyVjBVMnh2ZEV4cGMzUW9kSEoxWlNrN1hHNGdJQ0FnYVdZZ0tITnNiM1J6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lUbThnY0d0amN6RXhJSE5zYjNSeklHTmhiaUJpWlNCbWIzVnVaRndpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2MyeHZkQ0E5SUhOc2IzUnpMbVpwYm1Rb0tITnNiM1JVYjBOb1pXTnJLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0IwYjJ0bGJrbHVabThnUFNBb1hHNGdJQ0FnSUNBZ0lFaFRUVk5wWjI1bGNrWmhZM1J2Y25sRGRYTjBiMjB1STNCclkzTXhNU0JoY3lCd2EyTnpNVEV1VUV0RFV6RXhYRzRnSUNBZ0lDQXBMa05mUjJWMFZHOXJaVzVKYm1adktITnNiM1JVYjBOb1pXTnJLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBiMnRsYmtsdVptOHViR0ZpWld3dWRISnBiU2dwSUQwOVBTQndhMk56TVRGTVlXSmxiRHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnBaaUFvSVhOc2IzUXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGNiaUFnSUNBZ0lDQWdZR3hoWW1Wc0lDUjdjR3RqY3pFeFRHRmlaV3g5SUdOaGJtNXZkQ0JpWlNCbWIzVnVaQ0JwYmlCMGFHVWdjR3RqY3pFeElITnNiM1FnYkdsemRHQmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ6Ykc5ME8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnNiMmRwYmloelpYTnphVzl1T2lCd2EyTnpNVEV1U0dGdVpHeGxMQ0IxYzJWeVZIbHdaVG9nYm5WdFltVnlMQ0J3YVc0NklITjBjbWx1WnlrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQW9TRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amNHdGpjekV4SUdGeklIQnJZM014TVM1UVMwTlRNVEVwTGtOZlRHOW5hVzRvWEc0Z0lDQWdJQ0FnSUhObGMzTnBiMjRzWEc0Z0lDQWdJQ0FnSUhWelpYSlVlWEJsTEZ4dUlDQWdJQ0FnSUNCd2FXNWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnlPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQndhMk56TVRGbGNuSWdQU0JsY25JZ1lYTWdleUJqYjJSbE9pQnVkVzFpWlhJZ2ZUdGNiaUFnSUNBZ0lHbG1JQ2h3YTJOek1URmxjbkl1WTI5a1pTQWhQVDBnY0d0amN6RXhMa05MVWw5VlUwVlNYMEZNVWtWQlJGbGZURTlIUjBWRVgwbE9LU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJR1Z5Y2p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdacGJtUlBZbXBsWTNSSmJraFRUU2hjYmlBZ0lDQnpaWE56YVc5dU9pQndhMk56TVRFdVNHRnVaR3hsTEZ4dUlDQWdJR3RsZVhSNWNHVTZJRzUxYldKbGNpeGNiaUFnSUNCcFpHVnVkR2xtYVdWeU9pQmhibmxjYmlBZ0tTQjdYRzRnSUNBZ1kyOXVjM1FnY0d0amN6RXhWR1Z0Y0d4aGRHVWdQU0JiWEc0Z0lDQWdJQ0I3SUhSNWNHVTZJSEJyWTNNeE1TNURTMEZmU1VRc0lIWmhiSFZsT2lCcFpHVnVkR2xtYVdWeUlIMHNYRzRnSUNBZ0lDQjdJSFI1Y0dVNklIQnJZM014TVM1RFMwRmZRMHhCVTFNc0lIWmhiSFZsT2lCclpYbDBlWEJsSUgwc1hHNGdJQ0FnSUNCN0lIUjVjR1U2SUhCclkzTXhNUzVEUzBGZlMwVlpYMVJaVUVVc0lIWmhiSFZsT2lCd2EyTnpNVEV1UTB0TFgwVkRJSDBzWEc0Z0lDQWdYVHRjYmx4dUlDQWdJQ2hJVTAxVGFXZHVaWEpHWVdOMGIzSjVRM1Z6ZEc5dExpTndhMk56TVRFZ1lYTWdjR3RqY3pFeExsQkxRMU14TVNrdVExOUdhVzVrVDJKcVpXTjBjMGx1YVhRb1hHNGdJQ0FnSUNCelpYTnphVzl1TEZ4dUlDQWdJQ0FnY0d0amN6RXhWR1Z0Y0d4aGRHVmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR2h6YlU5aWFtVmpkQ0E5SUNoY2JpQWdJQ0FnSUVoVFRWTnBaMjVsY2taaFkzUnZjbmxEZFhOMGIyMHVJM0JyWTNNeE1TQmhjeUJ3YTJOek1URXVVRXREVXpFeFhHNGdJQ0FnS1M1RFgwWnBibVJQWW1wbFkzUnpLSE5sYzNOcGIyNHNJREVwV3pCZE8xeHVJQ0FnSUdsbUlDZ2hhSE50VDJKcVpXTjBLU0I3WEc0Z0lDQWdJQ0FvU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGpjR3RqY3pFeElHRnpJSEJyWTNNeE1TNVFTME5UTVRFcExrTmZSbWx1WkU5aWFtVmpkSE5HYVc1aGJDaGNiaUFnSUNBZ0lDQWdjMlZ6YzJsdmJseHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lGVnVZV0pzWlNCMGJ5Qm1hVzVrSUc5aWFtVmpkQ0JwYmlCSVUwMGdkMmwwYUNCSlJDQWtlMmxrWlc1MGFXWnBaWEl1ZEc5VGRISnBibWNvS1gxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdJQ0FvU0ZOTlUybG5ibVZ5Um1GamRHOXllVU4xYzNSdmJTNGpjR3RqY3pFeElHRnpJSEJyWTNNeE1TNVFTME5UTVRFcExrTmZSbWx1WkU5aWFtVmpkSE5HYVc1aGJDaGNiaUFnSUNBZ0lITmxjM05wYjI1Y2JpQWdJQ0FwTzF4dUlDQWdJSEpsZEhWeWJpQm9jMjFQWW1wbFkzUTdYRzRnSUgxY2JseHVJQ0J1WlhkVGFXZHVaWElvYUhOdFUybG5ibVZ5VDNCMGFXOXVjem9nU0ZOTlEyOXVabWxuS1NCN1hHNGdJQ0FnWTI5dWMzUWdiM0IwYVc5dWN5QTlJSFJvYVhNdWMyRnVhWFJwZW1WUGNIUnBiMjV6S0doemJWTnBaMjVsY2s5d2RHbHZibk1wTzF4dUlDQWdJR052Ym5OMElIQnJZM01nUFNCSVUwMVRhV2R1WlhKR1lXTjBiM0o1UTNWemRHOXRMaU53YTJOek1URWdZWE1nY0d0amN6RXhMbEJMUTFNeE1UdGNiaUFnSUNCamIyNXpkQ0J6Ykc5MElEMGdkR2hwY3k1bWFXNWtVMnh2ZEVadmNreGhZbVZzS0c5d2RHbHZibk11YkdGaVpXd3BPMXh1SUNBZ0lHTnZibk4wSUhObGMzTnBiMjRnUFNCd2EyTnpMa05mVDNCbGJsTmxjM05wYjI0b2MyeHZkQ3dnY0d0amN6RXhMa05MUmw5VFJWSkpRVXhmVTBWVFUwbFBUaWs3WEc0Z0lDQWdiR1YwSUhCeWFYWmhkR1ZMWlhsSVlXNWtiR1U3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUhSb2FYTXViRzluYVc0b2MyVnpjMmx2Yml3Z2IzQjBhVzl1Y3k1MWMyVnlWSGx3WlN3Z2IzQjBhVzl1Y3k1d2FXNHBPMXh1SUNBZ0lDQWdjSEpwZG1GMFpVdGxlVWhoYm1Sc1pTQTlJSFJvYVhNdVptbHVaRTlpYW1WamRFbHVTRk5OS0Z4dUlDQWdJQ0FnSUNCelpYTnphVzl1TEZ4dUlDQWdJQ0FnSUNCd2EyTnpNVEV1UTB0UFgxQlNTVlpCVkVWZlMwVlpMRnh1SUNBZ0lDQWdJQ0J2Y0hScGIyNXpMbWxrWlc1MGFXWnBaWEpjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnSUNBb1NGTk5VMmxuYm1WeVJtRmpkRzl5ZVVOMWMzUnZiUzRqY0d0amN6RXhJR0Z6SUhCclkzTXhNUzVRUzBOVE1URXBMa05mUTJ4dmMyVlRaWE56YVc5dUtITmxjM05wYjI0cE8xeHVJQ0FnSUNBZ2RHaHliM2NnWlhKeU8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdjMmxuYm1WeU9pQmhjM2x1WXlBb1pHbG5aWE4wT2lCaGJua3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0tFaFRUVk5wWjI1bGNrWmhZM1J2Y25sRGRYTjBiMjB1STNCclkzTXhNU0JoY3lCd2EyTnpNVEV1VUV0RFV6RXhLUzVEWDFOcFoyNUpibWwwS0Z4dUlDQWdJQ0FnSUNBZ0lITmxjM05wYjI0c1hHNGdJQ0FnSUNBZ0lDQWdleUJ0WldOb1lXNXBjMjA2SUhCclkzTXhNUzVEUzAxZlJVTkVVMEVnZlN4Y2JpQWdJQ0FnSUNBZ0lDQndjbWwyWVhSbFMyVjVTR0Z1Wkd4bFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZiWEJoWTNSVGFXZHVZWFIxY21VZ1BTQmhkMkZwZENBb1hHNGdJQ0FnSUNBZ0lDQWdTRk5OVTJsbmJtVnlSbUZqZEc5eWVVTjFjM1J2YlM0amNHdGpjekV4SUdGeklIQnJZM014TVM1UVMwTlRNVEZjYmlBZ0lDQWdJQ0FnS1M1RFgxTnBaMjVCYzNsdVl5aGNiaUFnSUNBZ0lDQWdJQ0J6WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUVKMVptWmxjaTVtY205dEtHUnBaMlZ6ZENrc1hHNGdJQ0FnSUNBZ0lDQWdMeThnUlVNZ2MybG5ibUYwZFhKbGN5Qm9ZWFpsSUd4bGJtZDBhQ0J2WmlBeWJpQmhZMk52Y21ScGJtY2dkRzhnZEdobElGQkxRMU14TVNCemNHVmpPbHh1SUNBZ0lDQWdJQ0FnSUM4dklHaDBkSEJ6T2k4dlpHOWpjeTV2WVhOcGN5MXZjR1Z1TG05eVp5OXdhMk56TVRFdmNHdGpjekV4TFhOd1pXTXZkak11TVM5d2EyTnpNVEV0YzNCbFl5MTJNeTR4TG1oMGJXeGNiaUFnSUNBZ0lDQWdJQ0JDZFdabVpYSXVZV3hzYjJNb2NESTFOaTVRYjJsdWRDNUdiaTVDV1ZSRlV5QXFJRElwWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCd01qVTJMbE5wWjI1aGRIVnlaUzVtY205dFFubDBaWE1vWTI5dGNHRmpkRk5wWjI1aGRIVnlaU3dnWENKamIyMXdZV04wWENJcFhHNGdJQ0FnSUNBZ0lDQWdMbTV2Y20xaGJHbDZaVk1vS1Z4dUlDQWdJQ0FnSUNBZ0lDNTBiMEo1ZEdWektGd2laR1Z5WENJcE8xeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHTnNiM05sT2lBb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNoSVUwMVRhV2R1WlhKR1lXTjBiM0o1UTNWemRHOXRMaU53YTJOek1URWdZWE1nY0d0amN6RXhMbEJMUTFNeE1Ta3VRMTlEYkc5elpWTmxjM05wYjI0b1hHNGdJQ0FnSUNBZ0lDQWdjMlZ6YzJsdmJseHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JoYzNObGNuUkVaV1pwYm1Wa1BGUStLSFpoYkhWbE9pQlVJSHdnZFc1a1pXWnBibVZrS1RvZ1ZDQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbElEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSW5KbGNYVnBjbVZrSUhaaGJIVmxJSGRoY3lCMWJtUmxabWx1WldSY0lpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JuWlhSVmJtTnZiWEJ5WlhOelpXUlFiMmx1ZEU5dVEzVnlkbVVvYTJWNU9pQmpjbmx3ZEc4dVMyVjVUMkpxWldOMEtUb2dRblZtWm1WeUlIdGNiaUFnSUNCamIyNXpkQ0JxZDJzZ1BTQnJaWGt1Wlhod2IzSjBLSHNnWm05eWJXRjBPaUJjSW1wM2Exd2lJSDBwTzF4dUlDQWdJR052Ym5OMElIZ2dQU0JDZFdabVpYSXVabkp2YlNoMGFHbHpMbUZ6YzJWeWRFUmxabWx1WldRb2FuZHJMbmdwTENCY0ltSmhjMlUyTkhWeWJGd2lLVHRjYmlBZ0lDQmpiMjV6ZENCNUlEMGdRblZtWm1WeUxtWnliMjBvZEdocGN5NWhjM05sY25SRVpXWnBibVZrS0dwM2F5NTVLU3dnWENKaVlYTmxOalIxY214Y0lpazdYRzRnSUNBZ1kyOXVjM1FnY0hKbFptbDRJRDBnUW5WbVptVnlMbVp5YjIwb1hDSXdORndpTENCY0ltaGxlRndpS1R0Y2JpQWdJQ0J5WlhSMWNtNGdRblZtWm1WeUxtTnZibU5oZENoYmNISmxabWw0TENCNExDQjVYU2s3WEc0Z0lIMWNibHh1SUNCblpYUlRTMGxHY205dFEyVnlkR2xtYVdOaGRHVlFZWFJvS0dObGNuUlFZWFJvT2lCemRISnBibWNwSUh0Y2JpQWdJQ0JqYjI1emRDQndJRDBnWTJWeWRGQmhkR2d1Wlc1a2MxZHBkR2dvWENJdWNHVnRYQ0lwWEc0Z0lDQWdJQ0EvSUdObGNuUlFZWFJvWEc0Z0lDQWdJQ0E2SUhCaGRHZ3VhbTlwYmloalpYSjBVR0YwYUN3Z1hDSmpaWEowTG5CbGJWd2lLVHRjYmlBZ0lDQmpiMjV6ZENCamNtVmtaVzUwYVdGc2N5QTlJR1p6TG5KbFlXUkdhV3hsVTNsdVl5aHdLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRGTkxTVVp5YjIxRFpYSjBhV1pwWTJGMFpTaGpjbVZrWlc1MGFXRnNjeWs3WEc0Z0lIMWNibHh1SUNCblpYUlRTMGxHY205dFEyVnlkR2xtYVdOaGRHVW9ZMlZ5ZERvZ2MzUnlhVzVuSUh3Z1RtOXVVMmhoY21Wa1FuVm1abVZ5S1RvZ1FuVm1abVZ5SUh0Y2JpQWdJQ0JqYjI1emRDQmpaWEowYVdacFkyRjBaU0E5SUc1bGR5Qmpjbmx3ZEc4dVdEVXdPVU5sY25ScFptbGpZWFJsS0dObGNuUXBPMXh1SUNBZ0lHTnZibk4wSUhWdVkyOXRjSEpsYzNObFpGQnZhVzUwSUQwZ2RHaHBjeTVuWlhSVmJtTnZiWEJ5WlhOelpXUlFiMmx1ZEU5dVEzVnlkbVVvWEc0Z0lDQWdJQ0JqWlhKMGFXWnBZMkYwWlM1d2RXSnNhV05MWlhsY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnY21WMGRYSnVJR055ZVhCMGJ5NWpjbVZoZEdWSVlYTm9LRndpYzJoaE1qVTJYQ0lwTG5Wd1pHRjBaU2gxYm1OdmJYQnlaWE56WldSUWIybHVkQ2t1WkdsblpYTjBLQ2s3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSVUwMURiMjVtYVdjZ2UxeHVJQ0JzWVdKbGJEb2djM1J5YVc1bk8xeHVJQ0JwWkdWdWRHbG1hV1Z5T2lCQ2RXWm1aWEk4UVhKeVlYbENkV1ptWlhKTWFXdGxQanRjYmlBZ2NHbHVPaUJ6ZEhKcGJtYzdYRzU5WEc0aVhYMD0iXX0=
|
|
@@ -27,5 +27,5 @@ function extractIds(clazz, models, ids) {
|
|
|
27
27
|
}
|
|
28
28
|
return extractId(models, ids);
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
31
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZXh0cmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnQvaWRzL2lkLWV4dHJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFHeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBcUIsRUFDckIsTUFBNkQsRUFDN0QsR0FBc0M7SUFFdEMsSUFBSSxFQUFXLENBQUM7SUFDaEIsSUFBSSxRQUFhLENBQUM7SUFDbEIsSUFBSSxPQUF3QixDQUFDO0lBRTdCLFNBQVMsU0FBUyxDQUFDLENBQTBCLEVBQUUsR0FBbUI7UUFDaEUsRUFBRSxHQUFHLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxRQUFRLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLHFCQUFxQixDQUFDLENBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUksQ0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNqQyxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVc7WUFDM0IsTUFBTSxJQUFJLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU07WUFDckQsTUFBTSxJQUFJLGFBQWEsQ0FDckIsOERBQThELENBQy9ELENBQUM7UUFDSixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFxQixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgUHJpbWFyeUtleVR5cGUgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZU9wdGlvbnMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNvbXBvc2VBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElkczxNIGV4dGVuZHMgTW9kZWw+KFxuICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gIG1vZGVsczogTSB8IE1bXSB8IFJlY29yZDxzdHJpbmcsIGFueT4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gIGlkczogUHJpbWFyeUtleVR5cGUgfCBQcmltYXJ5S2V5VHlwZVtdXG4pIHtcbiAgbGV0IHBrOiBrZXlvZiBNO1xuICBsZXQgY29tcG9zZWQ6IGFueTtcbiAgbGV0IHBrUHJvcHM6IFNlcXVlbmNlT3B0aW9ucztcblxuICBmdW5jdGlvbiBleHRyYWN0SWQobTogTSB8IFJlY29yZDxzdHJpbmcsIGFueT4sIGlkczogUHJpbWFyeUtleVR5cGUpIHtcbiAgICBwayA9IHBrIHx8IE1vZGVsLnBrKGNsYXp6KTtcbiAgICBwa1Byb3BzID0gcGtQcm9wcyB8fCBNb2RlbC5zZXF1ZW5jZUZvcihjbGF6eik7XG4gICAgY29tcG9zZWQgPSBjb21wb3NlZCB8fCBNb2RlbC5jb21wb3NlZChjbGF6eiwgcGspO1xuXG4gICAgaWYgKGNvbXBvc2VkKSB7XG4gICAgICByZXR1cm4gY29tcG9zZUF0dHJpYnV0ZVZhbHVlKG0gYXMgYW55LCBjb21wb3NlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSAobSBhcyBhbnkpW3BrXSB8fCBpZHM7XG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBjb3VsZCBub3QgcmVidWlsZCBpZCBmb3IgJHttLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobW9kZWxzKSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShpZHMpIHx8IGlkcy5sZW5ndGggIT09IG1vZGVscy5sZW5ndGgpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJpbmNvbnNpc3RlbnQgcGFyYW1ldGVycy4gYm90aCBtdXN0IGJlIGFycmF5cyBvZiBlcXVhbCBsZW5ndGhcIlxuICAgICAgKTtcbiAgICByZXR1cm4gbW9kZWxzLm1hcCgobSwgaSkgPT4gZXh0cmFjdElkKG0sIGlkc1tpXSkpO1xuICB9XG4gIHJldHVybiBleHRyYWN0SWQobW9kZWxzLCBpZHMgYXMgUHJpbWFyeUtleVR5cGUpO1xufVxuIl19
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZXh0cmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlkLWV4dHJhY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxnQ0FzQkM7QUF6QkQseUVBQXVEO0FBQ3ZELDJEQUF3RDtBQUN4RCwyREFBZ0U7QUFDaEUsU0FBZ0IsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRztJQUN6QyxJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksUUFBUSxDQUFDO0lBQ2IsSUFBSSxPQUFPLENBQUM7SUFDWixTQUFTLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRztRQUNyQixFQUFFLEdBQUcsRUFBRSxJQUFJLDRCQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sR0FBRyxPQUFPLElBQUksNEJBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsUUFBUSxHQUFHLFFBQVEsSUFBSSw0QkFBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBQSxxQ0FBcUIsRUFBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDeEIsSUFBSSxPQUFPLEVBQUUsS0FBSyxXQUFXO1lBQ3pCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTTtZQUNuRCxNQUFNLElBQUksNkJBQWEsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFDRCwwaEhBQTBoSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgY29tcG9zZUF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElkcyhjbGF6eiwgbW9kZWxzLCBpZHMpIHtcbiAgICBsZXQgcGs7XG4gICAgbGV0IGNvbXBvc2VkO1xuICAgIGxldCBwa1Byb3BzO1xuICAgIGZ1bmN0aW9uIGV4dHJhY3RJZChtLCBpZHMpIHtcbiAgICAgICAgcGsgPSBwayB8fCBNb2RlbC5wayhjbGF6eik7XG4gICAgICAgIHBrUHJvcHMgPSBwa1Byb3BzIHx8IE1vZGVsLnNlcXVlbmNlRm9yKGNsYXp6KTtcbiAgICAgICAgY29tcG9zZWQgPSBjb21wb3NlZCB8fCBNb2RlbC5jb21wb3NlZChjbGF6eiwgcGspO1xuICAgICAgICBpZiAoY29tcG9zZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb3NlQXR0cmlidXRlVmFsdWUobSwgY29tcG9zZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlkID0gbVtwa10gfHwgaWRzO1xuICAgICAgICBpZiAodHlwZW9mIGlkID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYGNvdWxkIG5vdCByZWJ1aWxkIGlkIGZvciAke20uY29uc3RydWN0b3IubmFtZX1gKTtcbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbHMpKSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShpZHMpIHx8IGlkcy5sZW5ndGggIT09IG1vZGVscy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcImluY29uc2lzdGVudCBwYXJhbWV0ZXJzLiBib3RoIG11c3QgYmUgYXJyYXlzIG9mIGVxdWFsIGxlbmd0aFwiKTtcbiAgICAgICAgcmV0dXJuIG1vZGVscy5tYXAoKG0sIGkpID0+IGV4dHJhY3RJZChtLCBpZHNbaV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4dHJhY3RJZChtb2RlbHMsIGlkcyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhV1F0WlhoMGNtRmpkR2x2Ymk1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiR2xsYm5RdmFXUnpMMmxrTFdWNGRISmhZM1JwYjI0dWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MR2REUVVGblF5eERRVUZETzBGQlEzWkVMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRV3RDTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGSGVFVXNUMEZCVHl4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRmFFVXNUVUZCVFN4VlFVRlZMRlZCUVZVc1EwRkRlRUlzUzBGQmNVSXNSVUZEY2tJc1RVRkJOa1FzUlVGRE4wUXNSMEZCYzBNN1NVRkZkRU1zU1VGQlNTeEZRVUZYTEVOQlFVTTdTVUZEYUVJc1NVRkJTU3hSUVVGaExFTkJRVU03U1VGRGJFSXNTVUZCU1N4UFFVRjNRaXhEUVVGRE8wbEJSVGRDTEZOQlFWTXNVMEZCVXl4RFFVRkRMRU5CUVRCQ0xFVkJRVVVzUjBGQmJVSTdVVUZEYUVVc1JVRkJSU3hIUVVGSExFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRek5DTEU5QlFVOHNSMEZCUnl4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTTVReXhSUVVGUkxFZEJRVWNzVVVGQlVTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJXcEVMRWxCUVVrc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRFlpeFBRVUZQTEhGQ1FVRnhRaXhEUVVGRExFTkJRVkVzUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTnVSQ3hEUVVGRE8xRkJSVVFzVFVGQlRTeEZRVUZGTEVkQlFVa3NRMEZCVXl4RFFVRkRMRVZCUVVVc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF6dFJRVU5xUXl4SlFVRkpMRTlCUVU4c1JVRkJSU3hMUVVGTExGZEJRVmM3V1VGRE0wSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXcwUWtGQk5FSXNRMEZCUXl4RFFVRkRMRmRCUVZjc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlF6VkZMRTlCUVU4c1JVRkJSU3hEUVVGRE8wbEJRMW9zUTBGQlF6dEpRVVZFTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETzFGQlF6RkNMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhOUVVGTkxFdEJRVXNzVFVGQlRTeERRVUZETEUxQlFVMDdXVUZEY2tRc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGRGNrSXNPRVJCUVRoRUxFTkJReTlFTEVOQlFVTTdVVUZEU2l4UFFVRlBMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFUXNRMEZCUXp0SlFVTkVMRTlCUVU4c1UwRkJVeXhEUVVGRExFMUJRVTBzUlVGQlJTeEhRVUZ4UWl4RFFVRkRMRU5CUVVNN1FVRkRiRVFzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRTF2WkdWc0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ1NXNTBaWEp1WVd4RmNuSnZjaXdnVUhKcGJXRnllVXRsZVZSNWNHVWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5OMGNuVmpkRzl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUJUWlhGMVpXNWpaVTl3ZEdsdmJuTWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJR052YlhCdmMyVkJkSFJ5YVdKMWRHVldZV3gxWlNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHSXRaR1ZqYjNKaGRHOXljMXdpTzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYaDBjbUZqZEVsa2N6eE5JR1Y0ZEdWdVpITWdUVzlrWld3K0tGeHVJQ0JqYkdGNmVqb2dRMjl1YzNSeWRXTjBiM0k4VFQ0c1hHNGdJRzF2WkdWc2N6b2dUU0I4SUUxYlhTQjhJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRnZkNCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK1cxMHNYRzRnSUdsa2N6b2dVSEpwYldGeWVVdGxlVlI1Y0dVZ2ZDQlFjbWx0WVhKNVMyVjVWSGx3WlZ0ZFhHNHBJSHRjYmlBZ2JHVjBJSEJyT2lCclpYbHZaaUJOTzF4dUlDQnNaWFFnWTI5dGNHOXpaV1E2SUdGdWVUdGNiaUFnYkdWMElIQnJVSEp2Y0hNNklGTmxjWFZsYm1ObFQzQjBhVzl1Y3p0Y2JseHVJQ0JtZFc1amRHbHZiaUJsZUhSeVlXTjBTV1FvYlRvZ1RTQjhJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRzSUdsa2N6b2dVSEpwYldGeWVVdGxlVlI1Y0dVcElIdGNiaUFnSUNCd2F5QTlJSEJySUh4OElFMXZaR1ZzTG5CcktHTnNZWHA2S1R0Y2JpQWdJQ0J3YTFCeWIzQnpJRDBnY0d0UWNtOXdjeUI4ZkNCTmIyUmxiQzV6WlhGMVpXNWpaVVp2Y2loamJHRjZlaWs3WEc0Z0lDQWdZMjl0Y0c5elpXUWdQU0JqYjIxd2IzTmxaQ0I4ZkNCTmIyUmxiQzVqYjIxd2IzTmxaQ2hqYkdGNmVpd2djR3NwTzF4dVhHNGdJQ0FnYVdZZ0tHTnZiWEJ2YzJWa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1kyOXRjRzl6WlVGMGRISnBZblYwWlZaaGJIVmxLRzBnWVhNZ1lXNTVMQ0JqYjIxd2IzTmxaQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2FXUWdQU0FvYlNCaGN5QmhibmtwVzNCclhTQjhmQ0JwWkhNN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcFpDQTlQVDBnWENKMWJtUmxabWx1WldSY0lpbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCamIzVnNaQ0J1YjNRZ2NtVmlkV2xzWkNCcFpDQm1iM0lnSkh0dExtTnZibk4wY25WamRHOXlMbTVoYldWOVlDazdYRzRnSUNBZ2NtVjBkWEp1SUdsa08xeHVJQ0I5WEc1Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29iVzlrWld4ektTa2dlMXh1SUNBZ0lHbG1JQ2doUVhKeVlYa3VhWE5CY25KaGVTaHBaSE1wSUh4OElHbGtjeTVzWlc1bmRHZ2dJVDA5SUcxdlpHVnNjeTVzWlc1bmRHZ3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSnBibU52Ym5OcGMzUmxiblFnY0dGeVlXMWxkR1Z5Y3k0Z1ltOTBhQ0J0ZFhOMElHSmxJR0Z5Y21GNWN5QnZaaUJsY1hWaGJDQnNaVzVuZEdoY0lseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnYlc5a1pXeHpMbTFoY0Nnb2JTd2dhU2tnUFQ0Z1pYaDBjbUZqZEVsa0tHMHNJR2xrYzF0cFhTa3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmxlSFJ5WVdOMFNXUW9iVzlrWld4ekxDQnBaSE1nWVhNZ1VISnBiV0Z5ZVV0bGVWUjVjR1VwTzF4dWZWeHVJbDE5Il19
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./id-extraction.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L2lkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pZC1leHRyYWN0aW9uXCI7XG4iXX0=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLGtUQUFrVCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2lkLWV4dHJhY3Rpb24uanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyeHBaVzUwTDJsa2N5OXBibVJsZUM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3h0UTBGQlowTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpsZUhCdmNuUWdLaUJtY205dElGd2lMaTlwWkMxbGVIUnlZV04wYVc5dVhDSTdYRzRpWFgwPSJdfQ==
|
package/lib/cjs/client/index.cjs
CHANGED
|
@@ -37,5 +37,5 @@ __exportStar(require("./FabricClientAdapter.cjs"), exports);
|
|
|
37
37
|
__exportStar(require("./FabricClientRepository.cjs"), exports);
|
|
38
38
|
__exportStar(require("./../shared/types.cjs"), exports);
|
|
39
39
|
__exportStar(require("./utils.cjs"), exports);
|
|
40
|
-
//# sourceMappingURL=
|
|
41
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsdUNBQThCO0FBQzlCLGlDQUF3QjtBQUN4QiwrQkFBc0I7QUFDdEIsbUNBQTBCO0FBQzFCLG9DQUEyQjtBQUMzQiwrQkFBNEI7QUFDNUIsNEJBQXlCO0FBQ3pCLG9DQUEyQjtBQUMzQiwwQ0FBdUM7QUFDdkMsK0JBQTRCO0FBQzVCLHlDQUFzQztBQUN0Qyw0Q0FBeUM7QUFDekMscUNBQWdDO0FBQ2hDLDJCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIEh5cGVybGVkZ2VyIEZhYnJpYyBDbGllbnQgTW9kdWxlIGZvciBEZWNhZi10c1xuICogQHN1bW1hcnkgVGhpcyBtb2R1bGUgcHJvdmlkZXMgY2xpZW50LXNpZGUgdXRpbGl0aWVzIGFuZCBhZGFwdGVycyB0byBpbnRlcmFjdCB3aXRoIEh5cGVybGVkZ2VyIEZhYnJpYyBuZXR3b3JrcyB1c2luZyBEZWNhZi10cy4gSXQgZXhwb3NlcyB0aGUgRmFicmljIGNsaWVudCBhZGFwdGVyLCBldmVudCBkaXNwYXRjaCB1dGlsaXRpZXMsIGFuZCBmaWxlc3lzdGVtIGhlbHBlcnMgZm9yIGxvYWRpbmcgaWRlbnRpdGllcyBhbmQga2V5cy5cbiAqIEBtb2R1bGUgY2xpZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1mYWJyaWNcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgYSBjbGllbnQgYWRhcHRlciBhbmQgc3VibWl0IGEgdHJhbnNhY3Rpb25cbiAqIC8vIFNlZSBhbHNvOiB7QGxpbmsgbW9kdWxlOmZvci1mYWJyaWN+RmFicmljQ2xpZW50QWRhcHRlcn0gYW5kIHtAbGluayBtb2R1bGU6Zm9yLWZhYnJpY35GYWJyaWNDbGllbnREaXNwYXRjaH1cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb2xsZWN0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJjMjBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lkc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY3J5cHRvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50RGlzcGF0Y2hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZhYnJpYy1mc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50QWRhcHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50UmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx5REFBdUM7QUFDdkMsbURBQWlDO0FBQ2pDLGlEQUErQjtBQUMvQixxREFBbUM7QUFDbkMsc0RBQW9DO0FBQ3BDLGlEQUErQjtBQUMvQiw4Q0FBNEI7QUFDNUIsc0RBQW9DO0FBQ3BDLDREQUEwQztBQUMxQyxpREFBK0I7QUFDL0IsMkRBQXlDO0FBQ3pDLDhEQUE0QztBQUM1Qyx1REFBcUM7QUFDckMsNkNBQTJCO0FBQzNCLDAwREFBMDBEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gSHlwZXJsZWRnZXIgRmFicmljIENsaWVudCBNb2R1bGUgZm9yIERlY2FmLXRzXG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGllbnQtc2lkZSB1dGlsaXRpZXMgYW5kIGFkYXB0ZXJzIHRvIGludGVyYWN0IHdpdGggSHlwZXJsZWRnZXIgRmFicmljIG5ldHdvcmtzIHVzaW5nIERlY2FmLXRzLiBJdCBleHBvc2VzIHRoZSBGYWJyaWMgY2xpZW50IGFkYXB0ZXIsIGV2ZW50IGRpc3BhdGNoIHV0aWxpdGllcywgYW5kIGZpbGVzeXN0ZW0gaGVscGVycyBmb3IgbG9hZGluZyBpZGVudGl0aWVzIGFuZCBrZXlzLlxuICogQG1vZHVsZSBjbGllbnRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpY1xuICogQGV4YW1wbGVcbiAqIC8vIENyZWF0ZSBhIGNsaWVudCBhZGFwdGVyIGFuZCBzdWJtaXQgYSB0cmFuc2FjdGlvblxuICogLy8gU2VlIGFsc286IHtAbGluayBtb2R1bGU6Zm9yLWZhYnJpY35GYWJyaWNDbGllbnRBZGFwdGVyfSBhbmQge0BsaW5rIG1vZHVsZTpmb3ItZmFicmljfkZhYnJpY0NsaWVudERpc3BhdGNofVxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9jb2xsZWN0aW9ucy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJjMjAvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lkcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXhlcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY3J5cHRvLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50RGlzcGF0Y2guanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZhYnJpYy1mcy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50QWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRmFicmljQ2xpZW50UmVwb3NpdG9yeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vLi4vc2hhcmVkL3R5cGVzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZZMnhwWlc1MEwybHVaR1Y0TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenM3T3pzN096dEhRVkZITzBGQlJVZ3NkVU5CUVRoQ08wRkJRemxDTEdsRFFVRjNRanRCUVVONFFpd3JRa0ZCYzBJN1FVRkRkRUlzYlVOQlFUQkNPMEZCUXpGQ0xHOURRVUV5UWp0QlFVTXpRaXdyUWtGQk5FSTdRVUZETlVJc05FSkJRWGxDTzBGQlEzcENMRzlEUVVFeVFqdEJRVU16UWl3d1EwRkJkVU03UVVGRGRrTXNLMEpCUVRSQ08wRkJRelZDTEhsRFFVRnpRenRCUVVOMFF5dzBRMEZCZVVNN1FVRkRla01zY1VOQlFXZERPMEZCUTJoRExESkNRVUYzUWlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRWg1Y0dWeWJHVmtaMlZ5SUVaaFluSnBZeUJEYkdsbGJuUWdUVzlrZFd4bElHWnZjaUJFWldOaFppMTBjMXh1SUNvZ1FITjFiVzFoY25rZ1ZHaHBjeUJ0YjJSMWJHVWdjSEp2ZG1sa1pYTWdZMnhwWlc1MExYTnBaR1VnZFhScGJHbDBhV1Z6SUdGdVpDQmhaR0Z3ZEdWeWN5QjBieUJwYm5SbGNtRmpkQ0IzYVhSb0lFaDVjR1Z5YkdWa1oyVnlJRVpoWW5KcFl5QnVaWFIzYjNKcmN5QjFjMmx1WnlCRVpXTmhaaTEwY3k0Z1NYUWdaWGh3YjNObGN5QjBhR1VnUm1GaWNtbGpJR05zYVdWdWRDQmhaR0Z3ZEdWeUxDQmxkbVZ1ZENCa2FYTndZWFJqYUNCMWRHbHNhWFJwWlhNc0lHRnVaQ0JtYVd4bGMzbHpkR1Z0SUdobGJIQmxjbk1nWm05eUlHeHZZV1JwYm1jZ2FXUmxiblJwZEdsbGN5QmhibVFnYTJWNWN5NWNiaUFxSUVCdGIyUjFiR1VnWTJ4cFpXNTBYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21admNpMW1ZV0p5YVdOY2JpQXFJRUJsZUdGdGNHeGxYRzRnS2lBdkx5QkRjbVZoZEdVZ1lTQmpiR2xsYm5RZ1lXUmhjSFJsY2lCaGJtUWdjM1ZpYldsMElHRWdkSEpoYm5OaFkzUnBiMjVjYmlBcUlDOHZJRk5sWlNCaGJITnZPaUI3UUd4cGJtc2diVzlrZFd4bE9tWnZjaTFtWVdKeWFXTitSbUZpY21salEyeHBaVzUwUVdSaGNIUmxjbjBnWVc1a0lIdEFiR2x1YXlCdGIyUjFiR1U2Wm05eUxXWmhZbkpwWTM1R1lXSnlhV05EYkdsbGJuUkVhWE53WVhSamFIMWNiaUFxTDF4dVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOWpiMnhzWldOMGFXOXVjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlpYSmpNakJjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwybGtjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmFXNWtaWGhsYzF3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjMlZ5ZG1salpYTmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDJOdmJuTjBZVzUwYzF3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZZM0o1Y0hSdlhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTl6WlhKMmFXTmxjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlJtRmljbWxqUTJ4cFpXNTBSR2x6Y0dGMFkyaGNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDJaaFluSnBZeTFtYzF3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZSbUZpY21salEyeHBaVzUwUVdSaGNIUmxjbHdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlJtRmljbWxqUTJ4cFpXNTBVbVZ3YjNOcGRHOXllVndpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dUwzTm9ZWEpsWkM5MGVYQmxjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmRYUnBiSE5jSWp0Y2JpSmRmUT09Il19
|
|
@@ -92,5 +92,5 @@ function writeDesignDocs(designDocs, p = process.cwd(), collection) {
|
|
|
92
92
|
fs.writeFileSync(file, JSON.stringify(payload, undefined, 2));
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
//# sourceMappingURL=
|
|
96
|
-
//# sourceMappingURL=generation.js.map
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnQvaW5kZXhlcy9nZW5lcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBb0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl6RSxTQUFTLHdCQUF3QixDQUFDLFFBQWdCO0lBQ2hELGlFQUFpRTtJQUNqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsaUVBQWlFO0lBQ2pFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsQ0FBaUI7SUFFakIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLENBQWlCLEVBQ2pCLEtBQXdDO0lBRXhDLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQXFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFH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RyxFQUFFLEVBQ3pCLFVBQW1CO0lBRW5CLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtRQUFFLE9BQU87SUFDL0IsaUVBQWlFO0lBQ2pFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixpRUFBaUU7SUFDakUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN6QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FDdkIsSUFBSSxDQUFDLElBQUksQ0FDUCxDQUFDLEVBQ0QsOEJBQThCLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEtBQUssT0FBTyxDQUN4RyxDQUNGLENBQUM7UUFDRix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDM0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICBDcmVhdGVJbmRleFJlcXVlc3QsXG4gIENvdWNoREJEZXNpZ25Eb2MsXG4gIGdlbmVyYXRlSW5kZXhlcyxcbiAgZ2VuZXJhdGVWaWV3cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9mb3ItY291Y2hkYlwiO1xuaW1wb3J0IHsgTW9kZWwsIE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmV4cG9ydCB0eXBlIEluZGV4ID0gQ3JlYXRlSW5kZXhSZXF1ZXN0O1xuXG5mdW5jdGlvbiBlbnN1cmVEaXJlY3RvcnlFeGlzdGVuY2UoZmlsZVBhdGg6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuICBjb25zdCBkaXJuYW1lOiBzdHJpbmcgPSBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpO1xuICBpZiAoZnMuZXhpc3RzU3luYyhkaXJuYW1lKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShkaXJuYW1lKTtcbiAgZnMubWtkaXJTeW5jKGRpcm5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNb2RlbEluZGV4ZXM8TSBleHRlbmRzIE1vZGVsPihcbiAgbTogQ29uc3RydWN0b3I8TT5cbik6IEluZGV4W10ge1xuICByZXR1cm4gZ2VuZXJhdGVJbmRleGVzKFttXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jczxNIGV4dGVuZHMgTW9kZWw+KFxuICBtOiBDb25zdHJ1Y3RvcjxNPixcbiAgYWNjdW0/OiBSZWNvcmQ8c3RyaW5nLCBDb3VjaERCRGVzaWduRG9jPlxuKTogQ291Y2hEQkRlc2lnbkRvY1tdIHtcbiAgY29uc3Qgdmlld3MgPSBnZW5lcmF0ZVZpZXdzKFttXSk7XG4gIGNvbnN0IHN0b3JhZ2U6IFJlY29yZDxzdHJpbmcsIENvdWNoREJEZXNpZ25Eb2M+ID0gYWNjdW0gfHwge307XG4gIHZpZXdzLmZvckVhY2goKGRvYykgPT4ge1xuICAgIHN0b3JhZ2VbZG9jLl9pZF0gPSBkb2M7XG4gIH0pO1xuICByZXR1cm4gdmlld3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkTW9kZWxGaWxlKGZpbGU6IGFueSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IGV4cG9ydHMgPSByZXF1aXJlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBmaWxlLnBhcmVudFBhdGgsIGZpbGUubmFtZSkpO1xuXG4gIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZXhwb3J0cykuZmlsdGVyKChlKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG0gPSBuZXcgKGUgYXMgQ29uc3RydWN0b3IpKCk7XG4gICAgICByZXR1cm4gbSBpbnN0YW5jZW9mIE1vZGVsO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PltdO1xuICByZXR1cm4gdmFsdWVzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE1vZGVsRm9sZGVycyhcbiAgLi4uZm9sZGVyczogc3RyaW5nW11cbik6IFByb21pc2U8TW9kZWxDb25zdHJ1Y3Rvcjxhbnk+W10+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG5cbiAgY29uc3QgcmVzdWx0OiBNb2RlbENvbnN0cnVjdG9yPGFueT5bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgZm9sZGVyIG9mIGZvbGRlcnMpIHtcbiAgICBjb25zdCBmaWxlcyA9IGZzXG4gICAgICAucmVhZGRpclN5bmMoZm9sZGVyLCB7XG4gICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXG4gICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmOiBhbnkpID0+IGYuaXNGaWxlKCkgJiYgZi5uYW1lLmVuZHNXaXRoKFwianNcIikpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgcmVzdWx0LnB1c2goLi4ucmVhZE1vZGVsRmlsZShmaWxlKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUluZGV4ZXMoXG4gIGluZGV4ZXM6IEluZGV4W10sXG4gIHA6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCksXG4gIGNvbGxlY3Rpb24/OiBzdHJpbmdcbikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuXG4gIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKFxuICAgICAgcGF0aC5qb2luKFxuICAgICAgICBwLFxuICAgICAgICBgLi9NRVRBLUlORi9zdGF0ZWRiL2NvdWNoZGIvJHtjb2xsZWN0aW9uID8gYGNvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbn0vYCA6IFwiXCJ9aW5kZXhlcy8ke2luZGV4Lm5hbWV9Lmpzb25gXG4gICAgICApXG4gICAgKTtcbiAgICBlbnN1cmVEaXJlY3RvcnlFeGlzdGVuY2UoZmlsZSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBKU09OLnN0cmluZ2lmeShpbmRleCwgdW5kZWZpbmVkLCAyKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVEZXNpZ25Eb2NzKFxuICBkZXNpZ25Eb2NzOiBDb3VjaERCRGVzaWduRG9jW10sXG4gIHA6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCksXG4gIGNvbGxlY3Rpb24/OiBzdHJpbmdcbikge1xuICBpZiAoIWRlc2lnbkRvY3MubGVuZ3RoKSByZXR1cm47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5cbiAgZGVzaWduRG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICBjb25zdCBkb2NJZCA9IGRvYy5faWQucmVwbGFjZSgvXl9kZXNpZ25cXC8vLCBcIlwiKTtcbiAgICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKFxuICAgICAgcGF0aC5qb2luKFxuICAgICAgICBwLFxuICAgICAgICBgLi9NRVRBLUlORi9zdGF0ZWRiL2NvdWNoZGIvJHtjb2xsZWN0aW9uID8gYGNvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbn0vYCA6IFwiXCJ9ZGVzaWduX2RvY3MvJHtkb2NJZH0uanNvbmBcbiAgICAgIClcbiAgICApO1xuICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlKTtcbiAgICBjb25zdCBwYXlsb2FkID0geyAuLi5kb2MgfTtcbiAgICBkZWxldGUgcGF5bG9hZC5fcmV2O1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZSwgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCwgdW5kZWZpbmVkLCAyKSk7XG4gIH0pO1xufVxuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdlbmVyYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSxvREFFQztBQUNELDBEQU9DO0FBQ0Qsc0NBZ0JDO0FBQ0QsNENBZ0JDO0FBQ0Qsb0NBVUM7QUFDRCwwQ0FlQztBQXJGRCx1REFBd0U7QUFDeEUseUVBQXVEO0FBQ3ZELFNBQVMsd0JBQXdCLENBQUMsUUFBUTtJQUN0QyxpRUFBaUU7SUFDakUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLGlFQUFpRTtJQUNqRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBQ0QsU0FBZ0Isb0JBQW9CLENBQUMsQ0FBQztJQUNsQyxPQUFPLElBQUEsNkJBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUNELFNBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLO0lBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUEsMkJBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFD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SUFDWCxpRUFBaUU7SUFDakUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLGlFQUFpRTtJQUNqRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakosd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztRQUNwQixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFDRCw4bFRBQThsVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlSW5kZXhlcywgZ2VuZXJhdGVWaWV3cywgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmZ1bmN0aW9uIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlUGF0aCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgY29uc3QgZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlUGF0aCk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZGlybmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShkaXJuYW1lKTtcbiAgICBmcy5ta2RpclN5bmMoZGlybmFtZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNb2RlbEluZGV4ZXMobSkge1xuICAgIHJldHVybiBnZW5lcmF0ZUluZGV4ZXMoW21dKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBhY2N1bSkge1xuICAgIGNvbnN0IHZpZXdzID0gZ2VuZXJhdGVWaWV3cyhbbV0pO1xuICAgIGNvbnN0IHN0b3JhZ2UgPSBhY2N1bSB8fCB7fTtcbiAgICB2aWV3cy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgc3RvcmFnZVtkb2MuX2lkXSA9IGRvYztcbiAgICB9KTtcbiAgICByZXR1cm4gdmlld3M7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVhZE1vZGVsRmlsZShmaWxlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCBleHBvcnRzID0gcmVxdWlyZShwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgZmlsZS5wYXJlbnRQYXRoLCBmaWxlLm5hbWUpKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGV4cG9ydHMpLmZpbHRlcigoZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbSA9IG5ldyBlKCk7XG4gICAgICAgICAgICByZXR1cm4gbSBpbnN0YW5jZW9mIE1vZGVsO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWVzO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNb2RlbEZvbGRlcnMoLi4uZm9sZGVycykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBmb2xkZXIgb2YgZm9sZGVycykge1xuICAgICAgICBjb25zdCBmaWxlcyA9IGZzXG4gICAgICAgICAgICAucmVhZGRpclN5bmMoZm9sZGVyLCB7XG4gICAgICAgICAgICB3aXRoRmlsZVR5cGVzOiB0cnVlLFxuICAgICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcigoZikgPT4gZi5pc0ZpbGUoKSAmJiBmLm5hbWUuZW5kc1dpdGgoXCJqc1wiKSk7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4ucmVhZE1vZGVsRmlsZShmaWxlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUluZGV4ZXMoaW5kZXhlcywgcCA9IHByb2Nlc3MuY3dkKCksIGNvbGxlY3Rpb24pIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHBhdGgucmVzb2x2ZShwYXRoLmpvaW4ocCwgYC4vTUVUQS1JTkYvc3RhdGVkYi9jb3VjaGRiLyR7Y29sbGVjdGlvbiA/IGBjb2xsZWN0aW9ucy8ke2NvbGxlY3Rpb259L2AgOiBcIlwifWluZGV4ZXMvJHtpbmRleC5uYW1lfS5qc29uYCkpO1xuICAgICAgICBlbnN1cmVEaXJlY3RvcnlFeGlzdGVuY2UoZmlsZSk7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZSwgSlNPTi5zdHJpbmdpZnkoaW5kZXgsIHVuZGVmaW5lZCwgMikpO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRGVzaWduRG9jcyhkZXNpZ25Eb2NzLCBwID0gcHJvY2Vzcy5jd2QoKSwgY29sbGVjdGlvbikge1xuICAgIGlmICghZGVzaWduRG9jcy5sZW5ndGgpXG4gICAgICAgIHJldHVybjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuICAgIGRlc2lnbkRvY3MuZm9yRWFjaCgoZG9jKSA9PiB7XG4gICAgICAgIGNvbnN0IGRvY0lkID0gZG9jLl9pZC5yZXBsYWNlKC9eX2Rlc2lnblxcLy8sIFwiXCIpO1xuICAgICAgICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbihwLCBgLi9NRVRBLUlORi9zdGF0ZWRiL2NvdWNoZGIvJHtjb2xsZWN0aW9uID8gYGNvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbn0vYCA6IFwiXCJ9ZGVzaWduX2RvY3MvJHtkb2NJZH0uanNvbmApKTtcbiAgICAgICAgZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGZpbGUpO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0geyAuLi5kb2MgfTtcbiAgICAgICAgZGVsZXRlIHBheWxvYWQuX3JldjtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBKU09OLnN0cmluZ2lmeShwYXlsb2FkLCB1bmRlZmluZWQsIDIpKTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVoyVnVaWEpoZEdsdmJpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYkdsbGJuUXZhVzVrWlhobGN5OW5aVzVsY21GMGFXOXVMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVOQkxFOUJRVThzUlVGSFRDeGxRVUZsTEVWQlEyWXNZVUZCWVN4SFFVTmtMRTFCUVUwc2RVSkJRWFZDTEVOQlFVTTdRVUZETDBJc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQmIwSXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVWw2UlN4VFFVRlRMSGRDUVVGM1FpeERRVUZETEZGQlFXZENPMGxCUTJoRUxHbEZRVUZwUlR0SlFVTnFSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRla0lzYVVWQlFXbEZPMGxCUTJwRkxFMUJRVTBzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVNM1FpeE5RVUZOTEU5QlFVOHNSMEZCVnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBsQlF5OURMRWxCUVVrc1JVRkJSU3hEUVVGRExGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUXpOQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVTkVMSGRDUVVGM1FpeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUTJ4RExFVkJRVVVzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1FVRkRlRUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4dlFrRkJiMElzUTBGRGJFTXNRMEZCYVVJN1NVRkZha0lzVDBGQlR5eGxRVUZsTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRemxDTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2RVSkJRWFZDTEVOQlEzSkRMRU5CUVdsQ0xFVkJRMnBDTEV0QlFYZERPMGxCUlhoRExFMUJRVTBzUzBGQlN5eEhRVUZITEdGQlFXRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGFrTXNUVUZCVFN4UFFVRlBMRWRCUVhGRExFdEJRVXNzU1VGQlNTeEZRVUZGTEVOQlFVTTdTVUZET1VRc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZPMUZCUTNCQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRM3BDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTBnc1QwRkJUeXhMUVVGTExFTkJRVU03UVVGRFppeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR0ZCUVdFc1EwRkJReXhKUVVGVE8wbEJRM0pETEdsRlFVRnBSVHRKUVVOcVJTeE5RVUZOTEVsQlFVa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRE4wSXNhVVZCUVdsRk8wbEJRMnBGTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxGTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlN5eERRVUZwUWl4RlFVRkZMRU5CUVVNN1dVRkRia01zVDBGQlR5eERRVUZETEZsQlFWa3NTMEZCU3l4RFFVRkRPMWxCUXpGQ0xEWkVRVUUyUkR0UlFVTXZSQ3hEUVVGRE8xRkJRVU1zVDBGQlR5eERRVUZWTEVWQlFVVXNRMEZCUXp0WlFVTndRaXhQUVVGUExFdEJRVXNzUTBGQlF6dFJRVU5tTEVOQlFVTTdTVUZEU0N4RFFVRkRMRU5CUVRSQ0xFTkJRVU03U1VGRE9VSXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNRMEZCUXl4TFFVRkxMRlZCUVZVc1owSkJRV2RDTEVOQlEzQkRMRWRCUVVjc1QwRkJhVUk3U1VGRmNFSXNhVVZCUVdsRk8wbEJRMnBGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVVY2UWl4TlFVRk5MRTFCUVUwc1IwRkJORUlzUlVGQlJTeERRVUZETzBsQlJUTkRMRXRCUVVzc1RVRkJUU3hOUVVGTkxFbEJRVWtzVDBGQlR5eEZRVUZGTEVOQlFVTTdVVUZETjBJc1RVRkJUU3hMUVVGTExFZEJRVWNzUlVGQlJUdGhRVU5pTEZkQlFWY3NRMEZCUXl4TlFVRk5MRVZCUVVVN1dVRkRia0lzWVVGQllTeEZRVUZGTEVsQlFVazdXVUZEYmtJc1UwRkJVeXhGUVVGRkxFbEJRVWs3VTBGRGFFSXNRMEZCUXp0aFFVTkVMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE0wUXNTMEZCU3l4TlFVRk5MRWxCUVVrc1NVRkJTU3hMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU42UWl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRU1zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRmxCUVZrc1EwRkRNVUlzVDBGQlowSXNSVUZEYUVJc1NVRkJXU3hQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlEzcENMRlZCUVcxQ08wbEJSVzVDTEdsRlFVRnBSVHRKUVVOcVJTeE5RVUZOTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGVrSXNhVVZCUVdsRk8wbEJRMnBGTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVVUzUWl4UFFVRlBMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVTdVVUZEZUVJc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZEZGtJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGRFVDeERRVUZETEVWQlEwUXNPRUpCUVRoQ0xGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNaVUZCWlN4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFhRVUZYTEV0QlFVc3NRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkRla2NzUTBGRFJpeERRVUZETzFGQlEwWXNkMEpCUVhkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETDBJc1JVRkJSU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRPVVFzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEVEN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGRE4wSXNWVUZCT0VJc1JVRkRPVUlzU1VGQldTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUTNwQ0xGVkJRVzFDTzBsQlJXNUNMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRUdFJRVUZGTEU5QlFVODdTVUZETDBJc2FVVkJRV2xGTzBsQlEycEZMRTFCUVUwc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTjZRaXhwUlVGQmFVVTdTVUZEYWtVc1RVRkJUU3hKUVVGSkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUlRkQ0xGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSVHRSUVVONlFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eFpRVUZaTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRhRVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkRka0lzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZEVUN4RFFVRkRMRVZCUTBRc09FSkJRVGhDTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1pVRkJaU3hWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4bFFVRmxMRXRCUVVzc1QwRkJUeXhEUVVONFJ5eERRVU5HTEVOQlFVTTdVVUZEUml4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSMEZCUnl4RlFVRkZMRU5CUVVNN1VVRkRNMElzVDBGQlR5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUTNCQ0xFVkJRVVVzUTBGQlF5eGhRVUZoTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMmhGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVOdmJuTjBjblZqZEc5eUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkRjbVZoZEdWSmJtUmxlRkpsY1hWbGMzUXNYRzRnSUVOdmRXTm9SRUpFWlhOcFoyNUViMk1zWEc0Z0lHZGxibVZ5WVhSbFNXNWtaWGhsY3l4Y2JpQWdaMlZ1WlhKaGRHVldhV1YzY3l4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OW1iM0l0WTI5MVkyaGtZbHdpTzF4dWFXMXdiM0owSUhzZ1RXOWtaV3dzSUUxdlpHVnNRMjl1YzNSeWRXTjBiM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFbHVaR1Y0SUQwZ1EzSmxZWFJsU1c1a1pYaFNaWEYxWlhOME8xeHVYRzVtZFc1amRHbHZiaUJsYm5OMWNtVkVhWEpsWTNSdmNubEZlR2x6ZEdWdVkyVW9abWxzWlZCaGRHZzZJSE4wY21sdVp5a2dlMXh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWEpsY1hWcGNtVXRhVzF3YjNKMGMxeHVJQ0JqYjI1emRDQm1jeUE5SUhKbGNYVnBjbVVvWENKbWMxd2lLVHRjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTF5WlhGMWFYSmxMV2x0Y0c5eWRITmNiaUFnWTI5dWMzUWdjR0YwYUNBOUlISmxjWFZwY21Vb1hDSndZWFJvWENJcE8xeHVJQ0JqYjI1emRDQmthWEp1WVcxbE9pQnpkSEpwYm1jZ1BTQndZWFJvTG1ScGNtNWhiV1VvWm1sc1pWQmhkR2dwTzF4dUlDQnBaaUFvWm5NdVpYaHBjM1J6VTNsdVl5aGthWEp1WVcxbEtTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNGdJR1Z1YzNWeVpVUnBjbVZqZEc5eWVVVjRhWE4wWlc1alpTaGthWEp1WVcxbEtUdGNiaUFnWm5NdWJXdGthWEpUZVc1aktHUnBjbTVoYldVcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWdVpYSmhkR1ZOYjJSbGJFbHVaR1Y0WlhNOFRTQmxlSFJsYm1SeklFMXZaR1ZzUGloY2JpQWdiVG9nUTI5dWMzUnlkV04wYjNJOFRUNWNiaWs2SUVsdVpHVjRXMTBnZTF4dUlDQnlaWFIxY200Z1oyVnVaWEpoZEdWSmJtUmxlR1Z6S0Z0dFhTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpXNWxjbUYwWlUxdlpHVnNSR1Z6YVdkdVJHOWpjenhOSUdWNGRHVnVaSE1nVFc5a1pXdytLRnh1SUNCdE9pQkRiMjV6ZEhKMVkzUnZjanhOUGl4Y2JpQWdZV05qZFcwL09pQlNaV052Y21ROGMzUnlhVzVuTENCRGIzVmphRVJDUkdWemFXZHVSRzlqUGx4dUtUb2dRMjkxWTJoRVFrUmxjMmxuYmtSdlkxdGRJSHRjYmlBZ1kyOXVjM1FnZG1sbGQzTWdQU0JuWlc1bGNtRjBaVlpwWlhkektGdHRYU2s3WEc0Z0lHTnZibk4wSUhOMGIzSmhaMlU2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRU52ZFdOb1JFSkVaWE5wWjI1RWIyTStJRDBnWVdOamRXMGdmSHdnZTMwN1hHNGdJSFpwWlhkekxtWnZja1ZoWTJnb0tHUnZZeWtnUFQ0Z2UxeHVJQ0FnSUhOMGIzSmhaMlZiWkc5akxsOXBaRjBnUFNCa2IyTTdYRzRnSUgwcE8xeHVJQ0J5WlhSMWNtNGdkbWxsZDNNN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5WldGa1RXOWtaV3hHYVd4bEtHWnBiR1U2SUdGdWVTa2dlMXh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWEpsY1hWcGNtVXRhVzF3YjNKMGMxeHVJQ0JqYjI1emRDQndZWFJvSUQwZ2NtVnhkV2x5WlNoY0luQmhkR2hjSWlrN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lHTnZibk4wSUdWNGNHOXlkSE1nUFNCeVpYRjFhWEpsS0hCaGRHZ3VhbTlwYmlod2NtOWpaWE56TG1OM1pDZ3BMQ0JtYVd4bExuQmhjbVZ1ZEZCaGRHZ3NJR1pwYkdVdWJtRnRaU2twTzF4dVhHNGdJR052Ym5OMElIWmhiSFZsY3lBOUlFOWlhbVZqZEM1MllXeDFaWE1vWlhod2IzSjBjeWt1Wm1sc2RHVnlLQ2hsS1NBOVBpQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR052Ym5OMElHMGdQU0J1WlhjZ0tHVWdZWE1nUTI5dWMzUnlkV04wYjNJcEtDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JTQnBibk4wWVc1alpXOW1JRTF2WkdWc08xeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDBwSUdGeklFMXZaR1ZzUTI5dWMzUnlkV04wYjNJOFlXNTVQbHRkTzF4dUlDQnlaWFIxY200Z2RtRnNkV1Z6TzF4dWZWeHVYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z2NtVmhaRTF2WkdWc1JtOXNaR1Z5Y3loY2JpQWdMaTR1Wm05c1pHVnljem9nYzNSeWFXNW5XMTFjYmlrNklGQnliMjFwYzJVOFRXOWtaV3hEYjI1emRISjFZM1J2Y2p4aGJuaytXMTArSUh0Y2JpQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxeVpYRjFhWEpsTFdsdGNHOXlkSE5jYmlBZ1kyOXVjM1FnWm5NZ1BTQnlaWEYxYVhKbEtGd2labk5jSWlrN1hHNWNiaUFnWTI5dWMzUWdjbVZ6ZFd4ME9pQk5iMlJsYkVOdmJuTjBjblZqZEc5eVBHRnVlVDViWFNBOUlGdGRPMXh1WEc0Z0lHWnZjaUFvWTI5dWMzUWdabTlzWkdWeUlHOW1JR1p2YkdSbGNuTXBJSHRjYmlBZ0lDQmpiMjV6ZENCbWFXeGxjeUE5SUdaelhHNGdJQ0FnSUNBdWNtVmhaR1JwY2xONWJtTW9abTlzWkdWeUxDQjdYRzRnSUNBZ0lDQWdJSGRwZEdoR2FXeGxWSGx3WlhNNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUhKbFkzVnljMmwyWlRvZ2RISjFaU3hjYmlBZ0lDQWdJSDBwWEc0Z0lDQWdJQ0F1Wm1sc2RHVnlLQ2htT2lCaGJua3BJRDArSUdZdWFYTkdhV3hsS0NrZ0ppWWdaaTV1WVcxbExtVnVaSE5YYVhSb0tGd2lhbk5jSWlrcE8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1ptbHNaU0J2WmlCbWFXeGxjeWtnZTF4dUlDQWdJQ0FnY21WemRXeDBMbkIxYzJnb0xpNHVjbVZoWkUxdlpHVnNSbWxzWlNobWFXeGxLU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIzY21sMFpVbHVaR1Y0WlhNb1hHNGdJR2x1WkdWNFpYTTZJRWx1WkdWNFcxMHNYRzRnSUhBNklITjBjbWx1WnlBOUlIQnliMk5sYzNNdVkzZGtLQ2tzWEc0Z0lHTnZiR3hsWTNScGIyNC9PaUJ6ZEhKcGJtZGNiaWtnZTF4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhKbGNYVnBjbVV0YVcxd2IzSjBjMXh1SUNCamIyNXpkQ0JtY3lBOUlISmxjWFZwY21Vb1hDSm1jMXdpS1R0Y2JpQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxeVpYRjFhWEpsTFdsdGNHOXlkSE5jYmlBZ1kyOXVjM1FnY0dGMGFDQTlJSEpsY1hWcGNtVW9YQ0p3WVhSb1hDSXBPMXh1WEc0Z0lHbHVaR1Y0WlhNdVptOXlSV0ZqYUNnb2FXNWtaWGdwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0JtYVd4bElEMGdjR0YwYUM1eVpYTnZiSFpsS0Z4dUlDQWdJQ0FnY0dGMGFDNXFiMmx1S0Z4dUlDQWdJQ0FnSUNCd0xGeHVJQ0FnSUNBZ0lDQmdMaTlOUlZSQkxVbE9SaTl6ZEdGMFpXUmlMMk52ZFdOb1pHSXZKSHRqYjJ4c1pXTjBhVzl1SUQ4Z1lHTnZiR3hsWTNScGIyNXpMeVI3WTI5c2JHVmpkR2x2Ym4wdllDQTZJRndpWENKOWFXNWtaWGhsY3k4a2UybHVaR1Y0TG01aGJXVjlMbXB6YjI1Z1hHNGdJQ0FnSUNBcFhHNGdJQ0FnS1R0Y2JpQWdJQ0JsYm5OMWNtVkVhWEpsWTNSdmNubEZlR2x6ZEdWdVkyVW9abWxzWlNrN1hHNGdJQ0FnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWhtYVd4bExDQktVMDlPTG5OMGNtbHVaMmxtZVNocGJtUmxlQ3dnZFc1a1pXWnBibVZrTENBeUtTazdYRzRnSUgwcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZDNKcGRHVkVaWE5wWjI1RWIyTnpLRnh1SUNCa1pYTnBaMjVFYjJOek9pQkRiM1ZqYUVSQ1JHVnphV2R1Ukc5alcxMHNYRzRnSUhBNklITjBjbWx1WnlBOUlIQnliMk5sYzNNdVkzZGtLQ2tzWEc0Z0lHTnZiR3hsWTNScGIyNC9PaUJ6ZEhKcGJtZGNiaWtnZTF4dUlDQnBaaUFvSVdSbGMybG5ia1J2WTNNdWJHVnVaM1JvS1NCeVpYUjFjbTQ3WEc0Z0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibTh0Y21WeGRXbHlaUzFwYlhCdmNuUnpYRzRnSUdOdmJuTjBJR1p6SUQwZ2NtVnhkV2x5WlNoY0ltWnpYQ0lwTzF4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhKbGNYVnBjbVV0YVcxd2IzSjBjMXh1SUNCamIyNXpkQ0J3WVhSb0lEMGdjbVZ4ZFdseVpTaGNJbkJoZEdoY0lpazdYRzVjYmlBZ1pHVnphV2R1Ukc5amN5NW1iM0pGWVdOb0tDaGtiMk1wSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0JrYjJOSlpDQTlJR1J2WXk1ZmFXUXVjbVZ3YkdGalpTZ3ZYbDlrWlhOcFoyNWNYQzh2TENCY0lsd2lLVHRjYmlBZ0lDQmpiMjV6ZENCbWFXeGxJRDBnY0dGMGFDNXlaWE52YkhabEtGeHVJQ0FnSUNBZ2NHRjBhQzVxYjJsdUtGeHVJQ0FnSUNBZ0lDQndMRnh1SUNBZ0lDQWdJQ0JnTGk5TlJWUkJMVWxPUmk5emRHRjBaV1JpTDJOdmRXTm9aR0l2Skh0amIyeHNaV04wYVc5dUlEOGdZR052Ykd4bFkzUnBiMjV6THlSN1kyOXNiR1ZqZEdsdmJuMHZZQ0E2SUZ3aVhDSjlaR1Z6YVdkdVgyUnZZM012Skh0a2IyTkpaSDB1YW5OdmJtQmNiaUFnSUNBZ0lDbGNiaUFnSUNBcE8xeHVJQ0FnSUdWdWMzVnlaVVJwY21WamRHOXllVVY0YVhOMFpXNWpaU2htYVd4bEtUdGNiaUFnSUNCamIyNXpkQ0J3WVhsc2IyRmtJRDBnZXlBdUxpNWtiMk1nZlR0Y2JpQWdJQ0JrWld4bGRHVWdjR0Y1Ykc5aFpDNWZjbVYyTzF4dUlDQWdJR1p6TG5keWFYUmxSbWxzWlZONWJtTW9abWxzWlN3Z1NsTlBUaTV6ZEhKcGJtZHBabmtvY0dGNWJHOWhaQ3dnZFc1a1pXWnBibVZrTENBeUtTazdYRzRnSUgwcE8xeHVmVnh1SWwxOSJdfQ==
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./generation.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L2luZGV4ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZ2VuZXJhdGlvblwiO1xuIl19
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLGtUQUFrVCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2dlbmVyYXRpb24uanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyeHBaVzUwTDJsdVpHVjRaWE12YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1owTkJRVFpDSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dloyVnVaWEpoZEdsdmJsd2lPMXh1SWwxOSJdfQ==
|
|
@@ -99,5 +99,5 @@ const factory = (object, config) => {
|
|
|
99
99
|
};
|
|
100
100
|
// Set the factory as the default logger factory
|
|
101
101
|
logging_1.Logging.setFactory(factory);
|
|
102
|
-
//# sourceMappingURL=
|
|
103
|
-
//# sourceMappingURL=logging.js.map
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvbG9nZ2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUVQLFFBQVEsRUFDUixVQUFVLEVBQ1YsZ0JBQWdCLEdBRWpCLE1BQU0sbUJBQW1CLENBQUM7QUFHM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVO0lBTTFDLFlBQVksT0FBZSxFQUFFLElBQXdDO1FBQ25FLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ2dCLEdBQUcsQ0FDcEIsS0FBZSxFQUNmLEdBQXVCLEVBQ3ZCLEtBQWE7UUFFYixJQUNFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFhLENBQUM7WUFDbEQsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBRXZCLE9BQU87UUFFVCxJQUFJLE1BQU0sQ0FBQztRQUNYLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNuQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxHQUFrQixDQUM3QixNQUFlLEVBQ2YsTUFBMkMsRUFDM0MsRUFBRTtJQUNGLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBRUYsZ0RBQWdEO0FBQ2hELE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMb2dnZXJGYWN0b3J5LFxuICBMb2dnaW5nLFxuICBMb2dnZXIsXG4gIExvZ0xldmVsLFxuICBNaW5pTG9nZ2VyLFxuICBOdW1lcmljTG9nTGV2ZWxzLFxuICBTdHJpbmdMaWtlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTG9nZ2VyIGltcGxlbWVudGF0aW9uIHRhaWxvcmVkIGZvciBIeXBlcmxlZGdlciBGYWJyaWMgY2xpZW50cy5cbiAqIEBzdW1tYXJ5IEFkYXB0cyB0aGUgZGVjYWYtdHMgTWluaUxvZ2dlciB0byByb3V0ZSBtZXNzYWdlcyB0aHJvdWdoIGEgcGVyLWNvbnRleHQgRmFicmljIGxvZ2dlciwgaG9ub3JpbmcgY29uZmlndXJlZCBsb2cgbGV2ZWxzIGFuZCBmb3JtYXR0aW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRleHQgLSBUaGUgbG9nZ2luZyBjb250ZXh0IG5hbWUgdXNlZCB0byBzY29wZSB0aGUgbG9nZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIHtQYXJ0aWFsPExvZ2dpbmdDb25maWc+IHwgdW5kZWZpbmVkfSBjb25mIC0gT3B0aW9uYWwgbG9nZ2luZyBjb25maWd1cmF0aW9uIHRvIG92ZXJyaWRlIGRlZmF1bHRzIGZvciB0aGlzIGNvbnRleHQuXG4gKiBAY2xhc3MgRmFicmljTG9nZ2VyXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gYSBGYWJyaWMgY2xpZW50L3NlcnZpY2VcbiAqIGNvbnN0IGxvZ2dlciA9IG5ldyBGYWJyaWNMb2dnZXIoJ015RmFicmljU2VydmljZScsIHsgbGV2ZWw6ICdpbmZvJyB9KTtcbiAqIGxvZ2dlci5pbmZvKCdQcm9jZXNzaW5nIHRyYW5zYWN0aW9uJyk7XG4gKiBsb2dnZXIuZGVidWcoJ1RyYW5zYWN0aW9uIGRldGFpbHMnLCB7IHR4SWQ6ICcxMjMnIH0pO1xuICogbG9nZ2VyLmVycm9yKCdTb21ldGhpbmcgd2VudCB3cm9uZycpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIGF1dG9udW1iZXJcbiAqICAgcGFydGljaXBhbnQgQyBhcyBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgRkwgYXMgRmFicmljTG9nZ2VyXG4gKiAgIHBhcnRpY2lwYW50IE1MIGFzIE1pbmlMb2dnZXIgKGRlbGVnYXRlKVxuICogICBDLT4+Rkw6IGluZm8oJ1Byb2Nlc3NpbmcgdHJhbnNhY3Rpb24nKVxuICogICBGTC0+PkZMOiBjcmVhdGVMb2cobGV2ZWwsbXNnLHN0YWNrKVxuICogICBGTC0+Pk1MOiBpbmZvKGxvZylcbiAqICAgQy0+PkZMOiBlcnJvcihuZXcgRXJyb3IoJ3gnKSlcbiAqICAgRkwtPj5GTDogY3JlYXRlTG9nKGxldmVsLG1zZyxzdGFjaylcbiAqICAgRkwtPj5NTDogZXJyb3IobG9nKVxuICovXG5leHBvcnQgY2xhc3MgRmFicmljTG9nZ2VyIGV4dGVuZHMgTWluaUxvZ2dlciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHVuZGVybHlpbmcgRmFicmljIGxvZ2dlciBpbnN0YW5jZVxuICAgKi9cbiAgcHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IHN0cmluZywgY29uZjogUGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyKGNvbnRleHQsIGNvbmYpO1xuICAgIHRoaXMubG9nZ2VyID0gbmV3IE1pbmlMb2dnZXIoY29udGV4dCwgY29uZik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBzcGVjaWZpZWQgbGV2ZWwuXG4gICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBNaW5pTG9nZ2VyLmxvZyB0byBmb3J3YXJkIHRvIHRoZSBpbnRlcm5hbCBGYWJyaWMtYXdhcmUgbG9nZ2VyLCBlbmZvcmNpbmcgY29uZmlndXJlZCB0aHJlc2hvbGRzLlxuICAgKiBAcGFyYW0ge0xvZ0xldmVsfSBsZXZlbCAtIFRoZSBsb2cgbGV2ZWwgdG8gdXNlIGZvciB0aGlzIG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7U3RyaW5nTGlrZSB8IEVycm9yfSBtc2cgLSBUaGUgbWVzc2FnZSBvciBlcnJvciB0byBsb2cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhY2tdIC0gT3B0aW9uYWwgc3RhY2sgdHJhY2Ugc3RyaW5nIGZvciBlcnJvcnMuXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIGF1dG9udW1iZXJcbiAgICogICBwYXJ0aWNpcGFudCBDIGFzIENhbGxlclxuICAgKiAgIHBhcnRpY2lwYW50IEZMIGFzIEZhYnJpY0xvZ2dlclxuICAgKiAgIHBhcnRpY2lwYW50IE1MIGFzIE1pbmlMb2dnZXIgKGRlbGVnYXRlKVxuICAgKiAgIEMtPj5GTDogbG9nKGxldmVsLCBtc2csIHN0YWNrPylcbiAgICogICBGTC0+PkZMOiBjaGVjayBjb25maWd1cmVkIGxldmVsXG4gICAqICAgYWx0IGJlbG93IHRocmVzaG9sZFxuICAgKiAgICAgRkwtLT4+QzogcmV0dXJuXG4gICAqICAgZWxzZSBhYm92ZSB0aHJlc2hvbGRcbiAgICogICAgIEZMLT4+Rkw6IGNyZWF0ZUxvZyhsZXZlbCwgbXNnLCBzdGFjaylcbiAgICogICAgIEZMLT4+TUw6IG1ldGhvZC5jYWxsKGxvZ2dlciwgbG9nKVxuICAgKiAgICAgTUwtLT4+Rkw6IHZvaWRcbiAgICogICBlbmRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2coXG4gICAgbGV2ZWw6IExvZ0xldmVsLFxuICAgIG1zZzogU3RyaW5nTGlrZSB8IEVycm9yLFxuICAgIHN0YWNrPzogRXJyb3JcbiAgKSB7XG4gICAgaWYgKFxuICAgICAgTnVtZXJpY0xvZ0xldmVsc1t0aGlzLmNvbmZpZyhcImxldmVsXCIpIGFzIExvZ0xldmVsXSA8XG4gICAgICBOdW1lcmljTG9nTGV2ZWxzW2xldmVsXVxuICAgIClcbiAgICAgIHJldHVybjtcblxuICAgIGxldCBtZXRob2Q7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5pbmZvOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5pbmZvO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwudmVyYm9zZTpcbiAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIudmVyYm9zZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLmRlYnVnOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5kZWJ1ZztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLmVycm9yOlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5lcnJvcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLnNpbGx5OlxuICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5zaWxseTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGxvZyBsZXZlbFwiKTtcbiAgICB9XG4gICAgbWV0aG9kLmNhbGwodGhpcy5sb2dnZXIsIHRoaXMuY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRmFicmljTG9nZ2VyIGluc3RhbmNlcy5cbiAqIEBzdW1tYXJ5IFByb2R1Y2VzIGEgbmV3IEZhYnJpY0xvZ2dlciBib3VuZCB0byB0aGUgcHJvdmlkZWQgY29udGV4dCBuYW1lIGFuZCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdCAtIFRoZSBsb2dnaW5nIGNvbnRleHQgbmFtZS5cbiAqIEBwYXJhbSB7UGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZH0gY29uZmlnIC0gT3B0aW9uYWwgbG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybiB7RmFicmljTG9nZ2VyfSBBIG5ldyBGYWJyaWNMb2dnZXIgaW5zdGFuY2UuXG4gKiBAZnVuY3Rpb24gZmFjdG9yeVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5jb25zdCBmYWN0b3J5OiBMb2dnZXJGYWN0b3J5ID0gKFxuICBvYmplY3Q/OiBzdHJpbmcsXG4gIGNvbmZpZz86IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4gfCB1bmRlZmluZWRcbikgPT4ge1xuICByZXR1cm4gbmV3IEZhYnJpY0xvZ2dlcihvYmplY3QgfHwgXCJNSVNTSU5HXCIsIGNvbmZpZyB8fCB7fSk7XG59O1xuXG4vLyBTZXQgdGhlIGZhY3RvcnkgYXMgdGhlIGRlZmF1bHQgbG9nZ2VyIGZhY3RvcnlcbkxvZ2dpbmcuc2V0RmFjdG9yeShmYWN0b3J5KTtcbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQXFGO0FBQ3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQWEsWUFBYSxTQUFRLG9CQUFVO0lBQ3hDLFlBQVksT0FBTyxFQUFFLElBQUk7UUFDckIsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ0gsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSztRQUNqQixJQUFJLDBCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsMEJBQWdCLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxJQUFJLE1BQU0sQ0FBQztRQUNYLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDWixLQUFLLGtCQUFRLENBQUMsSUFBSTtnQkFDZCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE1BQU07WUFDVixLQUFLLGtCQUFRLENBQUMsT0FBTztnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUM3QixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxrQkFBUSxDQUFDLEtBQUs7Z0JBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBdERELG9DQXNEQztBQUNEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDL0IsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFDRixnREFBZ0Q7QUFDaEQsaUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUIsMHdPQUEwd08iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nLCBMb2dMZXZlbCwgTWluaUxvZ2dlciwgTnVtZXJpY0xvZ0xldmVscywgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIExvZ2dlciBpbXBsZW1lbnRhdGlvbiB0YWlsb3JlZCBmb3IgSHlwZXJsZWRnZXIgRmFicmljIGNsaWVudHMuXG4gKiBAc3VtbWFyeSBBZGFwdHMgdGhlIGRlY2FmLXRzIE1pbmlMb2dnZXIgdG8gcm91dGUgbWVzc2FnZXMgdGhyb3VnaCBhIHBlci1jb250ZXh0IEZhYnJpYyBsb2dnZXIsIGhvbm9yaW5nIGNvbmZpZ3VyZWQgbG9nIGxldmVscyBhbmQgZm9ybWF0dGluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGxvZ2dpbmcgY29udGV4dCBuYW1lIHVzZWQgdG8gc2NvcGUgdGhlIGxvZ2dlciBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7UGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZH0gY29uZiAtIE9wdGlvbmFsIGxvZ2dpbmcgY29uZmlndXJhdGlvbiB0byBvdmVycmlkZSBkZWZhdWx0cyBmb3IgdGhpcyBjb250ZXh0LlxuICogQGNsYXNzIEZhYnJpY0xvZ2dlclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGEgRmFicmljIGNsaWVudC9zZXJ2aWNlXG4gKiBjb25zdCBsb2dnZXIgPSBuZXcgRmFicmljTG9nZ2VyKCdNeUZhYnJpY1NlcnZpY2UnLCB7IGxldmVsOiAnaW5mbycgfSk7XG4gKiBsb2dnZXIuaW5mbygnUHJvY2Vzc2luZyB0cmFuc2FjdGlvbicpO1xuICogbG9nZ2VyLmRlYnVnKCdUcmFuc2FjdGlvbiBkZXRhaWxzJywgeyB0eElkOiAnMTIzJyB9KTtcbiAqIGxvZ2dlci5lcnJvcignU29tZXRoaW5nIHdlbnQgd3JvbmcnKTtcbiAqIGBgYFxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBhdXRvbnVtYmVyXG4gKiAgIHBhcnRpY2lwYW50IEMgYXMgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IEZMIGFzIEZhYnJpY0xvZ2dlclxuICogICBwYXJ0aWNpcGFudCBNTCBhcyBNaW5pTG9nZ2VyIChkZWxlZ2F0ZSlcbiAqICAgQy0+PkZMOiBpbmZvKCdQcm9jZXNzaW5nIHRyYW5zYWN0aW9uJylcbiAqICAgRkwtPj5GTDogY3JlYXRlTG9nKGxldmVsLG1zZyxzdGFjaylcbiAqICAgRkwtPj5NTDogaW5mbyhsb2cpXG4gKiAgIEMtPj5GTDogZXJyb3IobmV3IEVycm9yKCd4JykpXG4gKiAgIEZMLT4+Rkw6IGNyZWF0ZUxvZyhsZXZlbCxtc2csc3RhY2spXG4gKiAgIEZMLT4+TUw6IGVycm9yKGxvZylcbiAqL1xuZXhwb3J0IGNsYXNzIEZhYnJpY0xvZ2dlciBleHRlbmRzIE1pbmlMb2dnZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRleHQsIGNvbmYpIHtcbiAgICAgICAgc3VwZXIoY29udGV4dCwgY29uZik7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gbmV3IE1pbmlMb2dnZXIoY29udGV4dCwgY29uZik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsLlxuICAgICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBNaW5pTG9nZ2VyLmxvZyB0byBmb3J3YXJkIHRvIHRoZSBpbnRlcm5hbCBGYWJyaWMtYXdhcmUgbG9nZ2VyLCBlbmZvcmNpbmcgY29uZmlndXJlZCB0aHJlc2hvbGRzLlxuICAgICAqIEBwYXJhbSB7TG9nTGV2ZWx9IGxldmVsIC0gVGhlIGxvZyBsZXZlbCB0byB1c2UgZm9yIHRoaXMgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0ge1N0cmluZ0xpa2UgfCBFcnJvcn0gbXNnIC0gVGhlIG1lc3NhZ2Ugb3IgZXJyb3IgdG8gbG9nLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhY2tdIC0gT3B0aW9uYWwgc3RhY2sgdHJhY2Ugc3RyaW5nIGZvciBlcnJvcnMuXG4gICAgICogQHJldHVybiB7dm9pZH1cbiAgICAgKiBAbWVybWFpZFxuICAgICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgICAqICAgYXV0b251bWJlclxuICAgICAqICAgcGFydGljaXBhbnQgQyBhcyBDYWxsZXJcbiAgICAgKiAgIHBhcnRpY2lwYW50IEZMIGFzIEZhYnJpY0xvZ2dlclxuICAgICAqICAgcGFydGljaXBhbnQgTUwgYXMgTWluaUxvZ2dlciAoZGVsZWdhdGUpXG4gICAgICogICBDLT4+Rkw6IGxvZyhsZXZlbCwgbXNnLCBzdGFjaz8pXG4gICAgICogICBGTC0+PkZMOiBjaGVjayBjb25maWd1cmVkIGxldmVsXG4gICAgICogICBhbHQgYmVsb3cgdGhyZXNob2xkXG4gICAgICogICAgIEZMLS0+PkM6IHJldHVyblxuICAgICAqICAgZWxzZSBhYm92ZSB0aHJlc2hvbGRcbiAgICAgKiAgICAgRkwtPj5GTDogY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKVxuICAgICAqICAgICBGTC0+Pk1MOiBtZXRob2QuY2FsbChsb2dnZXIsIGxvZylcbiAgICAgKiAgICAgTUwtLT4+Rkw6IHZvaWRcbiAgICAgKiAgIGVuZFxuICAgICAqL1xuICAgIGxvZyhsZXZlbCwgbXNnLCBzdGFjaykge1xuICAgICAgICBpZiAoTnVtZXJpY0xvZ0xldmVsc1t0aGlzLmNvbmZpZyhcImxldmVsXCIpXSA8XG4gICAgICAgICAgICBOdW1lcmljTG9nTGV2ZWxzW2xldmVsXSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IG1ldGhvZDtcbiAgICAgICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbC5pbmZvOlxuICAgICAgICAgICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLmluZm87XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsLnZlcmJvc2U6XG4gICAgICAgICAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIudmVyYm9zZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9nTGV2ZWwuZGVidWc6XG4gICAgICAgICAgICAgICAgbWV0aG9kID0gdGhpcy5sb2dnZXIuZGVidWc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvZ0xldmVsLmVycm9yOlxuICAgICAgICAgICAgICAgIG1ldGhvZCA9IHRoaXMubG9nZ2VyLmVycm9yO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2dMZXZlbC5zaWxseTpcbiAgICAgICAgICAgICAgICBtZXRob2QgPSB0aGlzLmxvZ2dlci5zaWxseTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBsb2cgbGV2ZWxcIik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0aG9kLmNhbGwodGhpcy5sb2dnZXIsIHRoaXMuY3JlYXRlTG9nKGxldmVsLCBtc2csIHN0YWNrKSk7XG4gICAgfVxufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRmFicmljTG9nZ2VyIGluc3RhbmNlcy5cbiAqIEBzdW1tYXJ5IFByb2R1Y2VzIGEgbmV3IEZhYnJpY0xvZ2dlciBib3VuZCB0byB0aGUgcHJvdmlkZWQgY29udGV4dCBuYW1lIGFuZCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdCAtIFRoZSBsb2dnaW5nIGNvbnRleHQgbmFtZS5cbiAqIEBwYXJhbSB7UGFydGlhbDxMb2dnaW5nQ29uZmlnPiB8IHVuZGVmaW5lZH0gY29uZmlnIC0gT3B0aW9uYWwgbG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybiB7RmFicmljTG9nZ2VyfSBBIG5ldyBGYWJyaWNMb2dnZXIgaW5zdGFuY2UuXG4gKiBAZnVuY3Rpb24gZmFjdG9yeVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItZmFicmljLmNsaWVudFxuICovXG5jb25zdCBmYWN0b3J5ID0gKG9iamVjdCwgY29uZmlnKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBGYWJyaWNMb2dnZXIob2JqZWN0IHx8IFwiTUlTU0lOR1wiLCBjb25maWcgfHwge30pO1xufTtcbi8vIFNldCB0aGUgZmFjdG9yeSBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZmFjdG9yeVxuTG9nZ2luZy5zZXRGYWN0b3J5KGZhY3RvcnkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYkc5bloybHVaeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwzTnlZeTlqYkdsbGJuUXZiRzluWjJsdVp5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUlV3c1QwRkJUeXhGUVVWUUxGRkJRVkVzUlVGRFVpeFZRVUZWTEVWQlExWXNaMEpCUVdkQ0xFZEJSV3BDTEUxQlFVMHNiVUpCUVcxQ0xFTkJRVU03UVVGSE0wSTdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN08wZEJNRUpITzBGQlEwZ3NUVUZCVFN4UFFVRlBMRmxCUVdFc1UwRkJVU3hWUVVGVk8wbEJUVEZETEZsQlFWa3NUMEZCWlN4RlFVRkZMRWxCUVhkRE8xRkJRMjVGTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUTBGQlF6dEpRVVZFT3pzN096czdPenM3T3pzN096czdPenM3T3pzN08wOUJjMEpITzBsQlEyZENMRWRCUVVjc1EwRkRjRUlzUzBGQlpTeEZRVU5tTEVkQlFYVkNMRVZCUTNaQ0xFdEJRV0U3VVVGRllpeEpRVU5GTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRmhMRU5CUVVNN1dVRkRiRVFzWjBKQlFXZENMRU5CUVVNc1MwRkJTeXhEUVVGRE8xbEJSWFpDTEU5QlFVODdVVUZGVkN4SlFVRkpMRTFCUVUwc1EwRkJRenRSUVVOWUxGRkJRVkVzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWkN4TFFVRkxMRkZCUVZFc1EwRkJReXhKUVVGSk8yZENRVU5vUWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTTdaMEpCUXpGQ0xFMUJRVTA3V1VGRFVpeExRVUZMTEZGQlFWRXNRMEZCUXl4UFFVRlBPMmRDUVVOdVFpeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU03WjBKQlF6ZENMRTFCUVUwN1dVRkRVaXhMUVVGTExGRkJRVkVzUTBGQlF5eExRVUZMTzJkQ1FVTnFRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRek5DTEUxQlFVMDdXVUZEVWl4TFFVRkxMRkZCUVZFc1EwRkJReXhMUVVGTE8yZENRVU5xUWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTTdaMEpCUXpOQ0xFMUJRVTA3V1VGRFVpeExRVUZMTEZGQlFWRXNRMEZCUXl4TFFVRkxPMmRDUVVOcVFpeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU03WjBKQlF6TkNMRTFCUVUwN1dVRkRVanRuUWtGRFJTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdVVUZEZWtNc1EwRkJRenRSUVVORUxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU01UkN4RFFVRkRPME5CUTBZN1FVRkZSRHM3T3pzN096czdSMEZSUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhIUVVGclFpeERRVU0zUWl4TlFVRmxMRVZCUTJZc1RVRkJNa01zUlVGRE0wTXNSVUZCUlR0SlFVTkdMRTlCUVU4c1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeEpRVUZKTEZOQlFWTXNSVUZCUlN4TlFVRk5MRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRE4wUXNRMEZCUXl4RFFVRkRPMEZCUlVZc1owUkJRV2RFTzBGQlEyaEVMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMXh1SUNCTWIyZG5aWEpHWVdOMGIzSjVMRnh1SUNCTWIyZG5hVzVuTEZ4dUlDQk1iMmRuWlhJc1hHNGdJRXh2WjB4bGRtVnNMRnh1SUNCTmFXNXBURzluWjJWeUxGeHVJQ0JPZFcxbGNtbGpURzluVEdWMlpXeHpMRnh1SUNCVGRISnBibWRNYVd0bExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMnh2WjJkcGJtZGNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWREYjI1bWFXY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMnh2WjJkcGJtZGNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdURzluWjJWeUlHbHRjR3hsYldWdWRHRjBhVzl1SUhSaGFXeHZjbVZrSUdadmNpQkllWEJsY214bFpHZGxjaUJHWVdKeWFXTWdZMnhwWlc1MGN5NWNiaUFxSUVCemRXMXRZWEo1SUVGa1lYQjBjeUIwYUdVZ1pHVmpZV1l0ZEhNZ1RXbHVhVXh2WjJkbGNpQjBieUJ5YjNWMFpTQnRaWE56WVdkbGN5QjBhSEp2ZFdkb0lHRWdjR1Z5TFdOdmJuUmxlSFFnUm1GaWNtbGpJR3h2WjJkbGNpd2dhRzl1YjNKcGJtY2dZMjl1Wm1sbmRYSmxaQ0JzYjJjZ2JHVjJaV3h6SUdGdVpDQm1iM0p0WVhSMGFXNW5MbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdOdmJuUmxlSFFnTFNCVWFHVWdiRzluWjJsdVp5QmpiMjUwWlhoMElHNWhiV1VnZFhObFpDQjBieUJ6WTI5d1pTQjBhR1VnYkc5bloyVnlJR2x1YzNSaGJtTmxMbHh1SUNvZ1FIQmhjbUZ0SUh0UVlYSjBhV0ZzUEV4dloyZHBibWREYjI1bWFXYytJSHdnZFc1a1pXWnBibVZrZlNCamIyNW1JQzBnVDNCMGFXOXVZV3dnYkc5bloybHVaeUJqYjI1bWFXZDFjbUYwYVc5dUlIUnZJRzkyWlhKeWFXUmxJR1JsWm1GMWJIUnpJR1p2Y2lCMGFHbHpJR052Ym5SbGVIUXVYRzRnS2lCQVkyeGhjM01nUm1GaWNtbGpURzluWjJWeVhHNGdLaUJBWlhoaGJYQnNaVnh1SUNvZ1lHQmdkSGx3WlhOamNtbHdkRnh1SUNvZ0x5OGdTVzRnWVNCR1lXSnlhV01nWTJ4cFpXNTBMM05sY25acFkyVmNiaUFxSUdOdmJuTjBJR3h2WjJkbGNpQTlJRzVsZHlCR1lXSnlhV05NYjJkblpYSW9KMDE1Um1GaWNtbGpVMlZ5ZG1salpTY3NJSHNnYkdWMlpXdzZJQ2RwYm1adkp5QjlLVHRjYmlBcUlHeHZaMmRsY2k1cGJtWnZLQ2RRY205alpYTnphVzVuSUhSeVlXNXpZV04wYVc5dUp5azdYRzRnS2lCc2IyZG5aWEl1WkdWaWRXY29KMVJ5WVc1ellXTjBhVzl1SUdSbGRHRnBiSE1uTENCN0lIUjRTV1E2SUNjeE1qTW5JSDBwTzF4dUlDb2diRzluWjJWeUxtVnljbTl5S0NkVGIyMWxkR2hwYm1jZ2QyVnVkQ0IzY205dVp5Y3BPMXh1SUNvZ1lHQmdYRzRnS2lCQWJXVnliV0ZwWkZ4dUlDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdLaUFnSUdGMWRHOXVkVzFpWlhKY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1F5QmhjeUJEWVd4c1pYSmNiaUFxSUNBZ2NHRnlkR2xqYVhCaGJuUWdSa3dnWVhNZ1JtRmljbWxqVEc5bloyVnlYRzRnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRTFNSUdGeklFMXBibWxNYjJkblpYSWdLR1JsYkdWbllYUmxLVnh1SUNvZ0lDQkRMVDQrUmt3NklHbHVabThvSjFCeWIyTmxjM05wYm1jZ2RISmhibk5oWTNScGIyNG5LVnh1SUNvZ0lDQkdUQzArUGtaTU9pQmpjbVZoZEdWTWIyY29iR1YyWld3c2JYTm5MSE4wWVdOcktWeHVJQ29nSUNCR1RDMCtQazFNT2lCcGJtWnZLR3h2WnlsY2JpQXFJQ0FnUXkwK1BrWk1PaUJsY25KdmNpaHVaWGNnUlhKeWIzSW9KM2duS1NsY2JpQXFJQ0FnUmt3dFBqNUdURG9nWTNKbFlYUmxURzluS0d4bGRtVnNMRzF6Wnl4emRHRmpheWxjYmlBcUlDQWdSa3d0UGo1TlREb2daWEp5YjNJb2JHOW5LVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nUm1GaWNtbGpURzluWjJWeUlHVjRkR1Z1WkhNZ1RXbHVhVXh2WjJkbGNpQjdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdWR2hsSUhWdVpHVnliSGxwYm1jZ1JtRmljbWxqSUd4dloyZGxjaUJwYm5OMFlXNWpaVnh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUd4dloyZGxjam9nVEc5bloyVnlPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLR052Ym5SbGVIUTZJSE4wY21sdVp5d2dZMjl1WmpvZ1VHRnlkR2xoYkR4TWIyZG5hVzVuUTI5dVptbG5QaUI4SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUhOMWNHVnlLR052Ym5SbGVIUXNJR052Ym1ZcE8xeHVJQ0FnSUhSb2FYTXViRzluWjJWeUlEMGdibVYzSUUxcGJtbE1iMmRuWlhJb1kyOXVkR1Y0ZEN3Z1kyOXVaaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRXh2WjNNZ1lTQnRaWE56WVdkbElHRjBJSFJvWlNCemNHVmphV1pwWldRZ2JHVjJaV3d1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRTkyWlhKeWFXUmxjeUIwYUdVZ1ltRnpaU0JOYVc1cFRHOW5aMlZ5TG14dlp5QjBieUJtYjNKM1lYSmtJSFJ2SUhSb1pTQnBiblJsY201aGJDQkdZV0p5YVdNdFlYZGhjbVVnYkc5bloyVnlMQ0JsYm1admNtTnBibWNnWTI5dVptbG5kWEpsWkNCMGFISmxjMmh2YkdSekxseHVJQ0FnS2lCQWNHRnlZVzBnZTB4dloweGxkbVZzZlNCc1pYWmxiQ0F0SUZSb1pTQnNiMmNnYkdWMlpXd2dkRzhnZFhObElHWnZjaUIwYUdseklHMWxjM05oWjJVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5UR2xyWlNCOElFVnljbTl5ZlNCdGMyY2dMU0JVYUdVZ2JXVnpjMkZuWlNCdmNpQmxjbkp2Y2lCMGJ5QnNiMmN1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJjM1JoWTJ0ZElDMGdUM0IwYVc5dVlXd2djM1JoWTJzZ2RISmhZMlVnYzNSeWFXNW5JR1p2Y2lCbGNuSnZjbk11WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM1p2YVdSOVhHNGdJQ0FxSUVCdFpYSnRZV2xrWEc0Z0lDQXFJSE5sY1hWbGJtTmxSR2xoWjNKaGJWeHVJQ0FnS2lBZ0lHRjFkRzl1ZFcxaVpYSmNiaUFnSUNvZ0lDQndZWEowYVdOcGNHRnVkQ0JESUdGeklFTmhiR3hsY2x4dUlDQWdLaUFnSUhCaGNuUnBZMmx3WVc1MElFWk1JR0Z6SUVaaFluSnBZMHh2WjJkbGNseHVJQ0FnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRTFNSUdGeklFMXBibWxNYjJkblpYSWdLR1JsYkdWbllYUmxLVnh1SUNBZ0tpQWdJRU10UGo1R1REb2diRzluS0d4bGRtVnNMQ0J0YzJjc0lITjBZV05yUHlsY2JpQWdJQ29nSUNCR1RDMCtQa1pNT2lCamFHVmpheUJqYjI1bWFXZDFjbVZrSUd4bGRtVnNYRzRnSUNBcUlDQWdZV3gwSUdKbGJHOTNJSFJvY21WemFHOXNaRnh1SUNBZ0tpQWdJQ0FnUmt3dExUNCtRem9nY21WMGRYSnVYRzRnSUNBcUlDQWdaV3h6WlNCaFltOTJaU0IwYUhKbGMyaHZiR1JjYmlBZ0lDb2dJQ0FnSUVaTUxUNCtSa3c2SUdOeVpXRjBaVXh2Wnloc1pYWmxiQ3dnYlhObkxDQnpkR0ZqYXlsY2JpQWdJQ29nSUNBZ0lFWk1MVDQrVFV3NklHMWxkR2h2WkM1allXeHNLR3h2WjJkbGNpd2diRzluS1Z4dUlDQWdLaUFnSUNBZ1RVd3RMVDQrUmt3NklIWnZhV1JjYmlBZ0lDb2dJQ0JsYm1SY2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnZkbVZ5Y21sa1pTQnNiMmNvWEc0Z0lDQWdiR1YyWld3NklFeHZaMHhsZG1Wc0xGeHVJQ0FnSUcxelp6b2dVM1J5YVc1blRHbHJaU0I4SUVWeWNtOXlMRnh1SUNBZ0lITjBZV05yUHpvZ1JYSnliM0pjYmlBZ0tTQjdYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdUblZ0WlhKcFkweHZaMHhsZG1Wc2MxdDBhR2x6TG1OdmJtWnBaeWhjSW14bGRtVnNYQ0lwSUdGeklFeHZaMHhsZG1Wc1hTQThYRzRnSUNBZ0lDQk9kVzFsY21salRHOW5UR1YyWld4elcyeGxkbVZzWFZ4dUlDQWdJQ2xjYmlBZ0lDQWdJSEpsZEhWeWJqdGNibHh1SUNBZ0lHeGxkQ0J0WlhSb2IyUTdYRzRnSUNBZ2MzZHBkR05vSUNoc1pYWmxiQ2tnZTF4dUlDQWdJQ0FnWTJGelpTQk1iMmRNWlhabGJDNXBibVp2T2x4dUlDQWdJQ0FnSUNCdFpYUm9iMlFnUFNCMGFHbHpMbXh2WjJkbGNpNXBibVp2TzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJR05oYzJVZ1RHOW5UR1YyWld3dWRtVnlZbTl6WlRwY2JpQWdJQ0FnSUNBZ2JXVjBhRzlrSUQwZ2RHaHBjeTVzYjJkblpYSXVkbVZ5WW05elpUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbVJsWW5Wbk9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTVrWldKMVp6dGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbVZ5Y205eU9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTVsY25KdmNqdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCallYTmxJRXh2WjB4bGRtVnNMbk5wYkd4NU9seHVJQ0FnSUNBZ0lDQnRaWFJvYjJRZ1BTQjBhR2x6TG14dloyZGxjaTV6YVd4c2VUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKSmJuWmhiR2xrSUd4dlp5QnNaWFpsYkZ3aUtUdGNiaUFnSUNCOVhHNGdJQ0FnYldWMGFHOWtMbU5oYkd3b2RHaHBjeTVzYjJkblpYSXNJSFJvYVhNdVkzSmxZWFJsVEc5bktHeGxkbVZzTENCdGMyY3NJSE4wWVdOcktTazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1JtRmpkRzl5ZVNCbWRXNWpkR2x2YmlCbWIzSWdZM0psWVhScGJtY2dSbUZpY21salRHOW5aMlZ5SUdsdWMzUmhibU5sY3k1Y2JpQXFJRUJ6ZFcxdFlYSjVJRkJ5YjJSMVkyVnpJR0VnYm1WM0lFWmhZbkpwWTB4dloyZGxjaUJpYjNWdVpDQjBieUIwYUdVZ2NISnZkbWxrWldRZ1kyOXVkR1Y0ZENCdVlXMWxJR0Z1WkNCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5aWFtVmpkQ0F0SUZSb1pTQnNiMmRuYVc1bklHTnZiblJsZUhRZ2JtRnRaUzVjYmlBcUlFQndZWEpoYlNCN1VHRnlkR2xoYkR4TWIyZG5hVzVuUTI5dVptbG5QaUI4SUhWdVpHVm1hVzVsWkgwZ1kyOXVabWxuSUMwZ1QzQjBhVzl1WVd3Z2JHOW5aMmx1WnlCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNvZ1FISmxkSFZ5YmlCN1JtRmljbWxqVEc5bloyVnlmU0JCSUc1bGR5QkdZV0p5YVdOTWIyZG5aWElnYVc1emRHRnVZMlV1WEc0Z0tpQkFablZ1WTNScGIyNGdabUZqZEc5eWVWeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBtYjNJdFptRmljbWxqTG1Oc2FXVnVkRnh1SUNvdlhHNWpiMjV6ZENCbVlXTjBiM0o1T2lCTWIyZG5aWEpHWVdOMGIzSjVJRDBnS0Z4dUlDQnZZbXBsWTNRL09pQnpkSEpwYm1jc1hHNGdJR052Ym1acFp6ODZJRkJoY25ScFlXdzhURzluWjJsdVowTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUmNiaWtnUFQ0Z2UxeHVJQ0J5WlhSMWNtNGdibVYzSUVaaFluSnBZMHh2WjJkbGNpaHZZbXBsWTNRZ2ZId2dYQ0pOU1ZOVFNVNUhYQ0lzSUdOdmJtWnBaeUI4ZkNCN2ZTazdYRzU5TzF4dVhHNHZMeUJUWlhRZ2RHaGxJR1poWTNSdmNua2dZWE1nZEdobElHUmxabUYxYkhRZ2JHOW5aMlZ5SUdaaFkzUnZjbmxjYmt4dloyZHBibWN1YzJWMFJtRmpkRzl5ZVNobVlXTjBiM0o1S1R0Y2JpSmRmUT09Il19
|