@decaf-ts/for-fabric 0.12.7 → 0.12.10
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/README.md +177 -146
- package/dist/for-fabric.cjs +3804 -2
- package/dist/for-fabric.js +3908 -2
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/cli-module.cjs +215 -6
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs +3 -3
- 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 +9 -4
- 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/OtherLeafletContract.cjs +72 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +76 -0
- 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 +19 -20
- 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 +3 -3
- package/lib/cjs/contract/models/OtherBatchShared.cjs +137 -28
- package/lib/cjs/contract/models/OtherLeaflet.cjs +3 -3
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +3 -3
- package/lib/cjs/contract/models/OtherMarket.cjs +3 -3
- package/lib/cjs/contract/models/OtherProduct.cjs +4 -4
- package/lib/cjs/contract/models/OtherProductImage.cjs +3 -3
- package/lib/cjs/contract/models/OtherProductShared.cjs +3 -3
- package/lib/cjs/contract/models/OtherProductStrength.cjs +3 -5
- 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 +8 -6
- 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/contract/trackedModels/History.cjs +81 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +124 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +121 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +71 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +90 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +83 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +65 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +105 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +91 -0
- 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/bootstrap.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/fabric-overrides.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 +18 -4
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/cli-module.js +214 -5
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js +2 -2
- 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 +8 -3
- 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/OtherLeafletContract.js +63 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +67 -0
- 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 +18 -19
- 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 +2 -2
- package/lib/esm/contract/models/OtherBatchShared.js +139 -31
- package/lib/esm/contract/models/OtherLeaflet.js +2 -2
- package/lib/esm/contract/models/OtherLeafletFile.js +2 -2
- package/lib/esm/contract/models/OtherMarket.js +2 -2
- package/lib/esm/contract/models/OtherProduct.js +4 -4
- package/lib/esm/contract/models/OtherProductImage.js +2 -2
- package/lib/esm/contract/models/OtherProductShared.js +2 -2
- package/lib/esm/contract/models/OtherProductStrength.js +2 -4
- 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 +8 -6
- 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/contract/trackedModels/History.js +72 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +115 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +112 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +62 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +81 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +74 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +56 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +96 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +82 -0
- 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/bootstrap.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/fabric-overrides.js +3 -3
- 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 +16 -2
- package/lib/types/contract/OtherLeafletContract.d.cts +18 -0
- package/lib/types/contract/OtherLeafletContract.d.mts +18 -0
- package/lib/types/contract/OtherLeafletFileContract.d.cts +17 -0
- package/lib/types/contract/OtherLeafletFileContract.d.mts +17 -0
- package/lib/types/contract/models/OtherBatchShared.d.cts +43 -6
- package/lib/types/contract/models/OtherBatchShared.d.mts +43 -6
- package/lib/types/contract/trackedModels/History.d.cts +9 -0
- package/lib/types/contract/trackedModels/History.d.mts +9 -0
- package/lib/types/contract/trackedModels/OtherAudit.d.cts +15 -0
- package/lib/types/contract/trackedModels/OtherAudit.d.mts +15 -0
- package/lib/types/contract/trackedModels/OtherLeaflet.d.cts +16 -0
- package/lib/types/contract/trackedModels/OtherLeaflet.d.mts +16 -0
- package/lib/types/contract/trackedModels/OtherLeafletFile.d.cts +10 -0
- package/lib/types/contract/trackedModels/OtherLeafletFile.d.mts +10 -0
- package/lib/types/contract/trackedModels/OtherMarket.d.cts +13 -0
- package/lib/types/contract/trackedModels/OtherMarket.d.mts +13 -0
- package/lib/types/contract/trackedModels/OtherProduct.d.cts +12 -0
- package/lib/types/contract/trackedModels/OtherProduct.d.mts +12 -0
- package/lib/types/contract/trackedModels/OtherProductImage.d.cts +9 -0
- package/lib/types/contract/trackedModels/OtherProductImage.d.mts +9 -0
- package/lib/types/contract/trackedModels/OtherProductShared.d.cts +18 -0
- package/lib/types/contract/trackedModels/OtherProductShared.d.mts +18 -0
- package/lib/types/contract/trackedModels/OtherProductStrength.d.cts +12 -0
- package/lib/types/contract/trackedModels/OtherProductStrength.d.mts +12 -0
- package/lib/types/contracts/FabricContractStatement.d.cts +2 -2
- package/lib/types/contracts/FabricContractStatement.d.mts +2 -2
- package/lib/types/version.d.cts +15 -1
- package/lib/types/version.d.mts +15 -1
- package/package.json +19 -6
- 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/bootstrap.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/fabric-overrides.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/bootstrap.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/fabric-overrides.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
|
@@ -77,5 +77,5 @@ exports.Market = Market = __decorate([
|
|
|
77
77
|
(0, decorator_validation_1.model)(),
|
|
78
78
|
__metadata("design:paramtypes", [Object])
|
|
79
79
|
], Market);
|
|
80
|
-
//# sourceMappingURL=
|
|
81
|
-
//# sourceMappingURL=Market.js.map
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9NYXJrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsR0FDVCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQW9CO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFlO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0NBQTJCO0FBTTVDLElBQU0sTUFBTSxHQUFaLE1BQU0sTUFBTyxTQUFRLG1CQUFtQjtJQTJDN0MsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQTFDQztJQUhDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hELFdBQVcsQ0FBQywyREFBMkQsQ0FBQzs7a0NBQzdEO0FBUVo7SUFOQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQ1YsbUVBQW1FLENBQ3BFOzt3Q0FDaUI7QUFLbEI7SUFIQyxNQUFNLEVBQUU7SUFDUixJQUFJLEVBQUU7SUFDTixRQUFRLEVBQUU7OzJDQUNVO0FBUXJCO0lBTkMsTUFBTSxFQUFFO0lBQ1IsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDWixXQUFXLENBQ1YsMEVBQTBFLENBQzNFOzs0Q0FDcUI7QUFJdEI7SUFGQyxNQUFNLEVBQUU7SUFDUixXQUFXLENBQUMsbURBQW1ELENBQUM7O3VDQUNoRDtBQU1qQjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDVixzRUFBc0UsQ0FDdkU7OytDQUN3QjtBQU16QjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDViw0RUFBNEUsQ0FDN0U7OzBDQUNtQjtBQXpDVCxNQUFNO0lBSmxCLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25CLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3hCLEtBQUssRUFBRTs7R0FDSyxNQUFNLENBOENsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBtYXhsZW5ndGgsXG4gIG1pbmxlbmd0aCxcbiAgbW9kZWwsXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBUYWJsZU5hbWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3RpblwiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuQGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkB0YWJsZShUYWJsZU5hbWVzLk1hcmtldClcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTWFya2V0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZywgZ2VuZXJhdGVkOiBmYWxzZSB9KVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJtYXJrZXRJZFwiXSwgXCI6XCIsIHRydWUpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgbWFya2V0IElELlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIklkZW50aWZpZXIgb2YgdGhlIG1hcmtldCB3aGVyZSB0aGUgcHJvZHVjdCBpcyByZWdpc3RlcmVkIG9yIHNvbGQuXCJcbiAgKVxuICBtYXJrZXRJZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGd0aW4oKVxuICBAcmVxdWlyZWQoKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQG1pbmxlbmd0aCgyKVxuICBAbWF4bGVuZ3RoKDIpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIlR3by1sZXR0ZXIgbmF0aW9uYWwgY29kZSAoSVNPIGZvcm1hdCkgcmVwcmVzZW50aW5nIHRoZSBtYXJrZXQncyBjb3VudHJ5LlwiXG4gIClcbiAgbmF0aW9uYWxDb2RlPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBNYXJrZXRpbmcgQXV0aG9yaXphdGlvbiBIb2xkZXIgKE1BSCkuXCIpXG4gIG1haE5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIk5hbWUgb2YgdGhlIGxlZ2FsIGVudGl0eSByZXNwb25zaWJsZSBmb3IgdGhlIHByb2R1Y3QgaW4gdGhpcyBtYXJrZXQuXCJcbiAgKVxuICBsZWdhbEVudGl0eU5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIkFkZHJlc3Mgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciBvciByZXNwb25zaWJsZSBsZWdhbCBlbnRpdHkuXCJcbiAgKVxuICBtYWhBZGRyZXNzPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGVsPzogTW9kZWxBcmc8TWFya2V0Pikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTWFya2V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUks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LEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2hELFVBQVUsQ0FBQztJQUNQLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSx3QkFBVyxFQUFDLDRFQUE0RSxDQUFDO0lBQ3pGLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxpQkFBQSxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQ2hCLElBQUEsd0JBQVcsRUFBQyx1Q0FBdUMsQ0FBQztJQUNwRCxJQUFBLGlCQUFJLEVBQUMsd0JBQWEsQ0FBQztJQUNuQixJQUFBLFlBQUssRUFBQyx5QkFBVSxDQUFDLE1BQU0sQ0FBQztJQUN4QixJQUFBLDRCQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM1QyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRVgsczBJQUFzMEkiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbWF4bGVuZ3RoLCBtaW5sZW5ndGgsIG1vZGVsLCByZXF1aXJlZCwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBUYWJsZU5hbWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsLmpzXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3Rpbi5qc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xubGV0IE1hcmtldCA9IGNsYXNzIE1hcmtldCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG1vZGVsKSB7XG4gICAgICAgIHN1cGVyKG1vZGVsKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcsIGdlbmVyYXRlZDogZmFsc2UgfSksXG4gICAgY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJtYXJrZXRJZFwiXSwgXCI6XCIsIHRydWUpLFxuICAgIGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlIGFuZCBtYXJrZXQgSUQuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiSWRlbnRpZmllciBvZiB0aGUgbWFya2V0IHdoZXJlIHRoZSBwcm9kdWN0IGlzIHJlZ2lzdGVyZWQgb3Igc29sZC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE1hcmtldC5wcm90b3R5cGUsIFwibWFya2V0SWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGd0aW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcInByb2R1Y3RDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBtaW5sZW5ndGgoMiksXG4gICAgbWF4bGVuZ3RoKDIpLFxuICAgIGRlc2NyaXB0aW9uKFwiVHdvLWxldHRlciBuYXRpb25hbCBjb2RlIChJU08gZm9ybWF0KSByZXByZXNlbnRpbmcgdGhlIG1hcmtldCdzIGNvdW50cnkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm5hdGlvbmFsQ29kZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBNYXJrZXRpbmcgQXV0aG9yaXphdGlvbiBIb2xkZXIgKE1BSCkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm1haE5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgbGVnYWwgZW50aXR5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvZHVjdCBpbiB0aGlzIG1hcmtldC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE1hcmtldC5wcm90b3R5cGUsIFwibGVnYWxFbnRpdHlOYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIkFkZHJlc3Mgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciBvciByZXNwb25zaWJsZSBsZWdhbCBlbnRpdHkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm1haEFkZHJlc3NcIiwgdm9pZCAwKTtcbk1hcmtldCA9IF9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIHRhYmxlKFRhYmxlTmFtZXMuTWFya2V0KSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE1hcmtldCk7XG5leHBvcnQgeyBNYXJrZXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVRXRnlhMlYwTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiblJ5WVdOMEwyMXZaR1ZzY3k5TllYSnJaWFF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlEwRXNUMEZCVHl4RlFVTk1MRk5CUVZNc1JVRkRWQ3hUUVVGVExFVkJRMVFzUzBGQlN5eEZRVU5NTEZGQlFWRXNSMEZEVkN4TlFVRk5MR2REUVVGblF5eERRVUZETzBGQlEzaERMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzZFVKQlFXOUNPMEZCUTNwRExFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMR05CUVdNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU03UVVGRE1VVXNUMEZCVHl4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCUTI1RUxFOUJRVThzUlVGQlJTeFhRVUZYTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc2MwSkJRWE5DTEVOQlFVTTdRVUZEZWtRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMR2xEUVVFNFFqdEJRVU0xUkN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxHdENRVUZsTzBGQlF6bENMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzWjBOQlFUSkNPMEZCVFRWRExFbEJRVTBzVFVGQlRTeEhRVUZhTEUxQlFVMHNUVUZCVHl4VFFVRlJMRzFDUVVGdFFqdEpRVEpETjBNc1dVRkJXU3hMUVVGM1FqdFJRVU5zUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRFppeERRVUZETzBOQlEwWXNRMEZCUVR0QlFURkRRenRKUVVoRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETzBsQlEzUkRMRkZCUVZFc1EwRkJReXhEUVVGRExHRkJRV0VzUlVGQlJTeFZRVUZWTEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRE8wbEJRMmhFTEZkQlFWY3NRMEZCUXl3eVJFRkJNa1FzUTBGQlF6czdhME5CUXpkRU8wRkJVVm83U1VGT1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN1NVRkRWaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUTFZc2JVVkJRVzFGTEVOQlEzQkZPenQzUTBGRGFVSTdRVUZMYkVJN1NVRklReXhOUVVGTkxFVkJRVVU3U1VGRFVpeEpRVUZKTEVWQlFVVTdTVUZEVGl4UlFVRlJMRVZCUVVVN096SkRRVU5WTzBGQlVYSkNPMGxCVGtNc1RVRkJUU3hGUVVGRk8wbEJRMUlzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTmFMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRFdpeFhRVUZYTEVOQlExWXNNRVZCUVRCRkxFTkJRek5GT3pzMFEwRkRjVUk3UVVGSmRFSTdTVUZHUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhYUVVGWExFTkJRVU1zYlVSQlFXMUVMRU5CUVVNN08zVkRRVU5vUkR0QlFVMXFRanRKUVVwRExFMUJRVTBzUlVGQlJUdEpRVU5TTEZkQlFWY3NRMEZEVml4elJVRkJjMFVzUTBGRGRrVTdPeXREUVVOM1FqdEJRVTE2UWp0SlFVcERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGZEJRVmNzUTBGRFZpdzBSVUZCTkVVc1EwRkROMFU3T3pCRFFVTnRRanRCUVhwRFZDeE5RVUZOTzBsQlNteENMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXp0SlFVTndSQ3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETzBsQlEyNUNMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlEzaENMRXRCUVVzc1JVRkJSVHM3UjBGRFN5eE5RVUZOTEVOQk9FTnNRaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0IwZVhCbElIc2dUVzlrWld4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0J0WVhoc1pXNW5kR2dzWEc0Z0lHMXBibXhsYm1kMGFDeGNiaUFnYlc5a1pXd3NYRzRnSUhKbGNYVnBjbVZrTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCVVlXSnNaVTVoYldWeklIMGdabkp2YlNCY0lpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCamIyeDFiVzRzSUdsdVpHVjRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpd2djR3NzSUhSaFlteGxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJqYjIxd2IzTmxaQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnWkdWelkzSnBjSFJwYjI0c0lIVnpaWE1nZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdJRUpoYzJWSlpHVnVkR2xtYVdWa1RXOWtaV3dnZlNCbWNtOXRJRndpTGk5Q1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc1hDSTdYRzVwYlhCdmNuUWdleUJuZEdsdUlIMGdabkp2YlNCY0lpNHZaM1JwYmx3aU8xeHVhVzF3YjNKMElIc2dSbUZpY21salJteGhkbTkxY2lCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZhVzVrWlhoY0lqdGNibHh1UUdSbGMyTnlhWEIwYVc5dUtGd2lUR2x1YTNNZ1lTQndjbTlrZFdOMElIUnZJR0VnYzNCbFkybG1hV01nYldGeWEyVjBMbHdpS1Z4dVFIVnpaWE1vUm1GaWNtbGpSbXhoZG05MWNpbGNia0IwWVdKc1pTaFVZV0pzWlU1aGJXVnpMazFoY210bGRDbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXRnlhMlYwSUdWNGRHVnVaSE1nUW1GelpVbGtaVzUwYVdacFpXUk5iMlJsYkNCN1hHNGdJRUJ3YXloN0lIUjVjR1U2SUZOMGNtbHVaeXdnWjJWdVpYSmhkR1ZrT2lCbVlXeHpaU0I5S1Z4dUlDQkFZMjl0Y0c5elpXUW9XMXdpY0hKdlpIVmpkRU52WkdWY0lpd2dYQ0p0WVhKclpYUkpaRndpWFN3Z1hDSTZYQ0lzSUhSeWRXVXBYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJbFZ1YVhGMVpTQnBaR1Z1ZEdsbWFXVnlJR052YlhCdmMyVmtJRzltSUhCeWIyUjFZM1FnWTI5a1pTQmhibVFnYldGeWEyVjBJRWxFTGx3aUtWeHVJQ0JwWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtsa1pXNTBhV1pwWlhJZ2IyWWdkR2hsSUcxaGNtdGxkQ0IzYUdWeVpTQjBhR1VnY0hKdlpIVmpkQ0JwY3lCeVpXZHBjM1JsY21Wa0lHOXlJSE52YkdRdVhDSmNiaUFnS1Z4dUlDQnRZWEpyWlhSSlpDRTZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRR2QwYVc0b0tWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQndjbTlrZFdOMFEyOWtaU0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUcxcGJteGxibWQwYUNneUtWeHVJQ0JBYldGNGJHVnVaM1JvS0RJcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWxSM2J5MXNaWFIwWlhJZ2JtRjBhVzl1WVd3Z1kyOWtaU0FvU1ZOUElHWnZjbTFoZENrZ2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCdFlYSnJaWFFuY3lCamIzVnVkSEo1TGx3aVhHNGdJQ2xjYmlBZ2JtRjBhVzl1WVd4RGIyUmxQem9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSk9ZVzFsSUc5bUlIUm9aU0JOWVhKclpYUnBibWNnUVhWMGFHOXlhWHBoZEdsdmJpQkliMnhrWlhJZ0tFMUJTQ2t1WENJcFhHNGdJRzFoYUU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWs1aGJXVWdiMllnZEdobElHeGxaMkZzSUdWdWRHbDBlU0J5WlhOd2IyNXphV0pzWlNCbWIzSWdkR2hsSUhCeWIyUjFZM1FnYVc0Z2RHaHBjeUJ0WVhKclpYUXVYQ0pjYmlBZ0tWeHVJQ0JzWldkaGJFVnVkR2wwZVU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtGa1pISmxjM01nYjJZZ2RHaGxJRTFoY210bGRHbHVaeUJCZFhSb2IzSnBlbUYwYVc5dUlFaHZiR1JsY2lCdmNpQnlaWE53YjI1emFXSnNaU0JzWldkaGJDQmxiblJwZEhrdVhDSmNiaUFnS1Z4dUlDQnRZV2hCWkdSeVpYTnpQem9nYzNSeWFXNW5PMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLRzF2WkdWc1B6b2dUVzlrWld4QmNtYzhUV0Z5YTJWMFBpa2dlMXh1SUNBZ0lITjFjR1Z5S0cxdlpHVnNLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
|
|
@@ -40,7 +40,7 @@ exports.OtherAudit = OtherAudit;
|
|
|
40
40
|
__decorate([
|
|
41
41
|
(0, core_1.pk)(),
|
|
42
42
|
(0, core_1.uuid)(uuidSeed),
|
|
43
|
-
(0, index_js_1.mirror)("mirror-collection", "
|
|
43
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
44
44
|
(0, decoration_1.description)("Unique identifier of the audit record."),
|
|
45
45
|
__metadata("design:type", String)
|
|
46
46
|
], OtherAudit.prototype, "id", void 0);
|
|
@@ -120,5 +120,5 @@ exports.OtherAudit = OtherAudit = __decorate([
|
|
|
120
120
|
(0, decorator_validation_1.model)(),
|
|
121
121
|
__metadata("design:paramtypes", [Object])
|
|
122
122
|
], OtherAudit);
|
|
123
|
-
//# sourceMappingURL=
|
|
124
|
-
//# sourceMappingURL=OtherAudit.js.map
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvT3RoZXJBdWRpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUNMLEtBQUssRUFDTCxFQUFFLEVBQ0YsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLElBQUksRUFFSixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUFvQjtBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUFvQjtBQUM5QyxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEdBQ2QsZ0NBQTJCO0FBRTVCLDZEQUE2RDtBQUM3RCxTQUFTLFFBQVEsQ0FBQyxDQUFhLEVBQUUsR0FBRyxJQUF5QjtJQUMzRCxJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbkcsQ0FBQztJQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLGFBQWEsQ0FBQywwQ0FBMEMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0FBQ0gsQ0FBQztBQVlNLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxTQUFTO0lBOER2QyxZQUFZLEtBQTRCO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRixDQUFBO0FBNURDO0lBSkMsRUFBRSxFQUFFO0lBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNkLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztJQUNuRCxXQUFXLENBQUMsd0NBQXdDLENBQUM7O3NDQUMxQztBQVFaO0lBTkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHFDQUFxQyxDQUFDO0lBQ2xELGdCQUFnQixFQUFFOzt5Q0FDSjtBQVFmO0lBTkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNaLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQzs7MENBQzVCO0FBT3pCO0lBTEMsV0FBVyxDQUFDLHlDQUF5QyxDQUFDO0lBQ3RELE1BQU0sRUFBRTtJQUNSLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFFBQVEsRUFBRTtJQUNWLGdCQUFnQixFQUFFOzs0Q0FDRDtBQU9sQjtJQUxDLE1BQU0sRUFBRTtJQUNSLFNBQVMsRUFBRTtJQUNYLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxrREFBa0QsQ0FBQztJQUMvRCxnQkFBZ0IsRUFBRTs7MENBQ0g7QUFRaEI7SUFOQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ1osS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHFEQUFxRCxDQUFDOzs2Q0FDaEQ7QUFPbkI7SUFMQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixhQUFhLEVBQUU7SUFDZixXQUFXLENBQUMsaURBQWlELENBQUM7OytDQUMxQztBQU1yQjtJQUpDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFNBQVMsRUFBRTtJQUNYLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQzs7eUNBQ2I7QUFJNUI7SUFGQyxPQUFPLEVBQUU7SUFDVCxXQUFXLENBQUMsa0NBQWtDLENBQUM7O3lDQUNqQztBQTVESixVQUFVO0lBVnRCLFdBQVcsQ0FBQywyQ0FBMkMsQ0FBQztJQUN4RCxlQUFlLENBQUM7UUFDZix3QkFBd0I7UUFDeEIsYUFBYSxDQUFDLE1BQU07UUFDcEIsYUFBYSxDQUFDLE1BQU07S0FDckIsQ0FBQztJQUNELElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkIsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNkLEtBQUssRUFBRTs7R0FDSyxVQUFVLENBaUV0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1vZGVsLFxuICB0eXBlIE1vZGVsQXJnLFxuICByZXF1aXJlZCxcbiAgdHlwZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxuICByZWFkb25seSxcbiAgc2VyaWFsaXplLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAgcGssXG4gIGNyZWF0ZWRCeSxcbiAgY29sdW1uLFxuICBPcmRlckRpcmVjdGlvbixcbiAgaW5kZXgsXG4gIHV1aWQsXG4gIENvbnRleHR1YWxBcmdzLFxuICBkZWZhdWx0UXVlcnlBdHRyLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuL0Jhc2VNb2RlbFwiO1xuaW1wb3J0IHsgQXVkaXRPcGVyYXRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIE5hbWVzcGFjZUNvbGxlY3Rpb24sXG4gIG93bmVkQnksXG4gIHNoYXJlZERhdGEsXG4gIHRyYW5zYWN0aW9uSWQsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZnVuY3Rpb24gdXVpZFNlZWQobTogT3RoZXJBdWRpdCwgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55Pikge1xuICB0cnkge1xuICAgIHJldHVybiBgJHttLm1vZGVsfSR7bS5hY3Rpb259JHttLnJlY29yZElkfSR7bS51c2VySWR9JHttLnRyYW5zYWN0aW9ufSR7SlNPTi5zdHJpbmdpZnkobS5kaWZmcyl9YDtcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgZGV0ZXJtaW5pc3RpYyB1dWlkOiAke2V9YCk7XG4gIH1cbn1cblxuQGRlc2NyaXB0aW9uKFwiTG9ncyB1c2VyIGFjdGl2aXR5IGZvciBhdWRpdGluZyBwdXJwb3Nlcy5cIilcbkBCbG9ja09wZXJhdGlvbnMoW1xuICAvLyBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gIE9wZXJhdGlvbktleXMuREVMRVRFLFxuXSlcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQHRhYmxlKFwiYXVkaXRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJBdWRpdCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIEBwaygpXG4gIEB1dWlkKHV1aWRTZWVkKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYXVkaXQgcmVjb3JkLlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIm1vZGVsL2VudGl0eSBhZmZlY3RlZCBieSB0aGUgYWN0aW9uXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgbW9kZWwhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEB0eXBlKFN0cmluZylcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIlR5cGUgb2YgYWN0aW9uIHBlcmZvcm1lZCBieSB0aGUgdXNlci5cIilcbiAgYWN0aW9uITogQXVkaXRPcGVyYXRpb25zO1xuXG4gIEBkZXNjcmlwdGlvbihcIklkIGZyb20gdGhlIG1vZGVsIHJlY29yZGVkIGluIHRoZSBhdWRpdFwiKVxuICBAY29sdW1uKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEByZXF1aXJlZCgpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcmVjb3JkSWQhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBjcmVhdGVkQnkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiSWRlbnRpZmllciBvZiB0aGUgdXNlciB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgdXNlcklkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAdHlwZShTdHJpbmcpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJHcm91cCBvciByb2xlIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIilcbiAgdXNlckdyb3VwITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAdHJhbnNhY3Rpb25JZCgpXG4gIEBkZXNjcmlwdGlvbihcInRoZSB0cmFuc2FjdGlvbiB0aGUgYXVkaXQgcmVjb3JkIHdhcyBjcmVhdGVkIGluXCIpXG4gIHRyYW5zYWN0aW9uITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVhZG9ubHkoKVxuICBAc2VyaWFsaXplKClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIGRpZmZzIGZvciB0aGUgYWN0aW9uLlwiKVxuICBkaWZmcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgQG93bmVkQnkoKVxuICBAZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGF1ZGl0IGxvZ1wiKVxuICBvd25lciE6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPE90aGVyQXVkaXQ+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyQXVkaXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENB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LEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFZiw4c09BQThzTyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQsIHR5cGUsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tPcGVyYXRpb25zLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCByZWFkb25seSwgc2VyaWFsaXplLCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHRhYmxlLCBwaywgY3JlYXRlZEJ5LCBjb2x1bW4sIE9yZGVyRGlyZWN0aW9uLCBpbmRleCwgdXVpZCwgZGVmYXVsdFF1ZXJ5QXR0ciwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuL0Jhc2VNb2RlbC5qc1wiO1xuaW1wb3J0IHsgQXVkaXRPcGVyYXRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBtaXJyb3IsIE5hbWVzcGFjZUNvbGxlY3Rpb24sIG93bmVkQnksIHNoYXJlZERhdGEsIHRyYW5zYWN0aW9uSWQsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2luZGV4LmpzXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiB1dWlkU2VlZChtLCAuLi5hcmdzKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGAke20ubW9kZWx9JHttLmFjdGlvbn0ke20ucmVjb3JkSWR9JHttLnVzZXJJZH0ke20udHJhbnNhY3Rpb259JHtKU09OLnN0cmluZ2lmeShtLmRpZmZzKX1gO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGdlbmVyYXRlIGRldGVybWluaXN0aWMgdXVpZDogJHtlfWApO1xuICAgIH1cbn1cbmxldCBPdGhlckF1ZGl0ID0gY2xhc3MgT3RoZXJBdWRpdCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgY29uc3RydWN0b3IobW9kZWwpIHtcbiAgICAgICAgc3VwZXIobW9kZWwpO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBwaygpLFxuICAgIHV1aWQodXVpZFNlZWQpLFxuICAgIG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIiksXG4gICAgZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYXVkaXQgcmVjb3JkLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIm1vZGVsL2VudGl0eSBhZmZlY3RlZCBieSB0aGUgYWN0aW9uXCIpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwibW9kZWxcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICB0eXBlKFN0cmluZyksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJUeXBlIG9mIGFjdGlvbiBwZXJmb3JtZWQgYnkgdGhlIHVzZXIuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJhY3Rpb25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiSWQgZnJvbSB0aGUgbW9kZWwgcmVjb3JkZWQgaW4gdGhlIGF1ZGl0XCIpLFxuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIHJlcXVpcmVkKCksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJyZWNvcmRJZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgY3JlYXRlZEJ5KCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIiksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJ1c2VySWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICB0eXBlKFN0cmluZyksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJHcm91cCBvciByb2xlIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcInVzZXJHcm91cFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIHRyYW5zYWN0aW9uSWQoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSB0cmFuc2FjdGlvbiB0aGUgYXVkaXQgcmVjb3JkIHdhcyBjcmVhdGVkIGluXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJ0cmFuc2FjdGlvblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBzZXJpYWxpemUoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSBkaWZmcyBmb3IgdGhlIGFjdGlvbi5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcImRpZmZzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvd25lZEJ5KCksXG4gICAgZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGF1ZGl0IGxvZ1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbk90aGVyQXVkaXQgPSBfX2RlY29yYXRlKFtcbiAgICBkZXNjcmlwdGlvbihcIkxvZ3MgdXNlciBhY3Rpdml0eSBmb3IgYXVkaXRpbmcgcHVycG9zZXMuXCIpLFxuICAgIEJsb2NrT3BlcmF0aW9ucyhbXG4gICAgICAgIC8vIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgXSksXG4gICAgdXNlcyhGYWJyaWNGbGF2b3VyKSxcbiAgICBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpLFxuICAgIHRhYmxlKFwiYXVkaXRcIiksXG4gICAgbW9kZWwoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW09iamVjdF0pXG5dLCBPdGhlckF1ZGl0KTtcbmV4cG9ydCB7IE90aGVyQXVkaXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpCZFdScGRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjI1MGNtRmpkQzl0YjJSbGJITXZUM1JvWlhKQmRXUnBkQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlEwd3NTMEZCU3l4RlFVVk1MRkZCUVZFc1JVRkRVaXhKUVVGSkxFZEJRMHdzVFVGQlRTeG5RMEZCWjBNc1EwRkJRenRCUVVONFF5eFBRVUZQTEVWQlEwd3NaVUZCWlN4RlFVTm1MR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzVVVGQlVTeEZRVU5TTEZOQlFWTXNSMEZEVml4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEycERMRTlCUVU4c1JVRkJSU3hYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNjMEpCUVhOQ0xFTkJRVU03UVVGRGVrUXNUMEZCVHl4RlFVTk1MRXRCUVVzc1JVRkRUQ3hGUVVGRkxFVkJRMFlzVTBGQlV5eEZRVU5VTEUxQlFVMHNSVUZEVGl4alFVRmpMRVZCUTJRc1MwRkJTeXhGUVVOTUxFbEJRVWtzUlVGRlNpeG5Ra0ZCWjBJc1IwRkRha0lzVFVGQlRTeG5Ra0ZCWjBJc1EwRkJRenRCUVVONFFpeFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMSFZDUVVGdlFqdEJRVU40UXl4UFFVRlBMRVZCUVVVc1pVRkJaU3hGUVVGRkxIVkNRVUZ2UWp0QlFVTTVReXhQUVVGUExFVkJRMHdzWVVGQllTeEZRVU5pTEUxQlFVMHNSVUZEVGl4dFFrRkJiVUlzUlVGRGJrSXNUMEZCVHl4RlFVTlFMRlZCUVZVc1JVRkRWaXhoUVVGaExFZEJRMlFzWjBOQlFUSkNPMEZCUlRWQ0xEWkVRVUUyUkR0QlFVTTNSQ3hUUVVGVExGRkJRVkVzUTBGQlF5eERRVUZoTEVWQlFVVXNSMEZCUnl4SlFVRjVRanRKUVVNelJDeEpRVUZKTEVOQlFVTTdVVUZEU0N4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRGJrY3NRMEZCUXp0SlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03VVVGRGNFSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXd3UTBGQk1FTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVONlJTeERRVUZETzBGQlEwZ3NRMEZCUXp0QlFWbE5MRWxCUVUwc1ZVRkJWU3hIUVVGb1FpeE5RVUZOTEZWQlFWY3NVMEZCVVN4VFFVRlRPMGxCT0VSMlF5eFpRVUZaTEV0QlFUUkNPMUZCUTNSRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTm1MRU5CUVVNN1EwRkRSaXhEUVVGQk8wRkJOVVJETzBsQlNrTXNSVUZCUlN4RlFVRkZPMGxCUTBvc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF6dEpRVU5rTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHpRa0ZCYzBJc1EwRkJRenRKUVVOdVJDeFhRVUZYTEVOQlFVTXNkME5CUVhkRExFTkJRVU03TzNORFFVTXhRenRCUVZGYU8wbEJUa01zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExIRkRRVUZ4UXl4RFFVRkRPMGxCUTJ4RUxHZENRVUZuUWl4RlFVRkZPenQ1UTBGRFNqdEJRVkZtTzBsQlRrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzVVVGQlVTeEZRVUZGTzBsQlExWXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVOYUxFdEJRVXNzUTBGQlF5eERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF5OURMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXpzN01FTkJRelZDTzBGQlQzcENPMGxCVEVNc1YwRkJWeXhEUVVGRExIbERRVUY1UXl4RFFVRkRPMGxCUTNSRUxFMUJRVTBzUlVGQlJUdEpRVU5TTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGRkJRVkVzUlVGQlJUdEpRVU5XTEdkQ1FVRm5RaXhGUVVGRk96czBRMEZEUkR0QlFVOXNRanRKUVV4RExFMUJRVTBzUlVGQlJUdEpRVU5TTEZOQlFWTXNSVUZCUlR0SlFVTllMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJReTlETEZkQlFWY3NRMEZCUXl4clJFRkJhMFFzUTBGQlF6dEpRVU12UkN4blFrRkJaMElzUlVGQlJUczdNRU5CUTBnN1FVRlJhRUk3U1VGT1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN1NVRkRWaXhSUVVGUkxFVkJRVVU3U1VGRFZpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUTFvc1MwRkJTeXhEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NSVUZCUlN4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGREwwTXNWMEZCVnl4RFFVRkRMSEZFUVVGeFJDeERRVUZET3pzMlEwRkRhRVE3UVVGUGJrSTdTVUZNUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhSUVVGUkxFVkJRVVU3U1VGRFZpeFJRVUZSTEVWQlFVVTdTVUZEVml4aFFVRmhMRVZCUVVVN1NVRkRaaXhYUVVGWExFTkJRVU1zYVVSQlFXbEVMRU5CUVVNN095dERRVU14UXp0QlFVMXlRanRKUVVwRExFMUJRVTBzUlVGQlJUdEpRVU5TTEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1JVRkJSVHRKUVVOWUxGZEJRVmNzUTBGQlF5d3lRa0ZCTWtJc1EwRkJRenM3ZVVOQlEySTdRVUZKTlVJN1NVRkdReXhQUVVGUExFVkJRVVU3U1VGRFZDeFhRVUZYTEVOQlFVTXNhME5CUVd0RExFTkJRVU03TzNsRFFVTnFRenRCUVRWRVNpeFZRVUZWTzBsQlZuUkNMRmRCUVZjc1EwRkJReXd5UTBGQk1rTXNRMEZCUXp0SlFVTjRSQ3hsUVVGbExFTkJRVU03VVVGRFppeDNRa0ZCZDBJN1VVRkRlRUlzWVVGQllTeERRVUZETEUxQlFVMDdVVUZEY0VJc1lVRkJZU3hEUVVGRExFMUJRVTA3UzBGRGNrSXNRMEZCUXp0SlFVTkVMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU03U1VGRGJrSXNWVUZCVlN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03U1VGRGJFUXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVOa0xFdEJRVXNzUlVGQlJUczdSMEZEU3l4VlFVRlZMRU5CYVVWMFFpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdYRzRnSUcxdlpHVnNMRnh1SUNCMGVYQmxJRTF2WkdWc1FYSm5MRnh1SUNCeVpYRjFhWEpsWkN4Y2JpQWdkSGx3WlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdRbXh2WTJ0UGNHVnlZWFJwYjI1ekxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JQY0dWeVlYUnBiMjVMWlhsekxGeHVJQ0J5WldGa2IyNXNlU3hjYmlBZ2MyVnlhV0ZzYVhwbExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJR1JsYzJOeWFYQjBhVzl1TENCMWMyVnpJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0IwWVdKc1pTeGNiaUFnY0dzc1hHNGdJR055WldGMFpXUkNlU3hjYmlBZ1kyOXNkVzF1TEZ4dUlDQlBjbVJsY2tScGNtVmpkR2x2Yml4Y2JpQWdhVzVrWlhnc1hHNGdJSFYxYVdRc1hHNGdJRU52Ym5SbGVIUjFZV3hCY21kekxGeHVJQ0JrWldaaGRXeDBVWFZsY25sQmRIUnlMRnh1ZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYm1sdGNHOXlkQ0I3SUVKaGMyVk5iMlJsYkNCOUlHWnliMjBnWENJdUwwSmhjMlZOYjJSbGJGd2lPMXh1YVcxd2IzSjBJSHNnUVhWa2FYUlBjR1Z5WVhScGIyNXpJSDBnWm5KdmJTQmNJaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JHWVdKeWFXTkdiR0YyYjNWeUxGeHVJQ0J0YVhKeWIzSXNYRzRnSUU1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0c1hHNGdJRzkzYm1Wa1Fua3NYRzRnSUhOb1lYSmxaRVJoZEdFc1hHNGdJSFJ5WVc1ellXTjBhVzl1U1dRc1hHNTlJR1p5YjIwZ1hDSXVMaTh1TGk5emFHRnlaV1F2YVc1a1pYaGNJanRjYmx4dUx5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dVpuVnVZM1JwYjI0Z2RYVnBaRk5sWldRb2JUb2dUM1JvWlhKQmRXUnBkQ3dnTGk0dVlYSm5jem9nUTI5dWRHVjRkSFZoYkVGeVozTThZVzU1UGlrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUhKbGRIVnliaUJnSkh0dExtMXZaR1ZzZlNSN2JTNWhZM1JwYjI1OUpIdHRMbkpsWTI5eVpFbGtmU1I3YlM1MWMyVnlTV1I5Skh0dExuUnlZVzV6WVdOMGFXOXVmU1I3U2xOUFRpNXpkSEpwYm1kcFpua29iUzVrYVdabWN5bDlZRHRjYmlBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCR1lXbHNaV1FnZEc4Z1oyVnVaWEpoZEdVZ1pHVjBaWEp0YVc1cGMzUnBZeUIxZFdsa09pQWtlMlY5WUNrN1hHNGdJSDFjYm4xY2JseHVRR1JsYzJOeWFYQjBhVzl1S0Z3aVRHOW5jeUIxYzJWeUlHRmpkR2wyYVhSNUlHWnZjaUJoZFdScGRHbHVaeUJ3ZFhKd2IzTmxjeTVjSWlsY2JrQkNiRzlqYTA5d1pYSmhkR2x2Ym5Nb1cxeHVJQ0F2THlCUGNHVnlZWFJwYjI1TFpYbHpMa05TUlVGVVJTeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5NVZVRVJCVkVVc1hHNGdJRTl3WlhKaGRHbHZia3RsZVhNdVJFVk1SVlJGTEZ4dVhTbGNia0IxYzJWektFWmhZbkpwWTBac1lYWnZkWElwWEc1QWMyaGhjbVZrUkdGMFlTaE9ZVzFsYzNCaFkyVkRiMnhzWldOMGFXOXVLRndpWkdWallXWXRibUZ0WlhOd1lXTmxYQ0lwS1Z4dVFIUmhZbXhsS0Z3aVlYVmthWFJjSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVDNSb1pYSkJkV1JwZENCbGVIUmxibVJ6SUVKaGMyVk5iMlJsYkNCN1hHNGdJRUJ3YXlncFhHNGdJRUIxZFdsa0tIVjFhV1JUWldWa0tWeHVJQ0JBYldseWNtOXlLRndpYldseWNtOXlMV052Ykd4bFkzUnBiMjVjSWl3Z1hDSlFhR0Z5YldGc1pXUm5aWEpoYzNOdlkwMVRVRndpS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKVmJtbHhkV1VnYVdSbGJuUnBabWxsY2lCdlppQjBhR1VnWVhWa2FYUWdjbVZqYjNKa0xsd2lLVnh1SUNCcFpDRTZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FISmxZV1J2Ym14NUtDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0ltMXZaR1ZzTDJWdWRHbDBlU0JoWm1abFkzUmxaQ0JpZVNCMGFHVWdZV04wYVc5dVhDSXBYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdiVzlrWld3aE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJRUIwZVhCbEtGTjBjbWx1WnlsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSWxSNWNHVWdiMllnWVdOMGFXOXVJSEJsY21admNtMWxaQ0JpZVNCMGFHVWdkWE5sY2k1Y0lpbGNiaUFnWVdOMGFXOXVJVG9nUVhWa2FYUlBjR1Z5WVhScGIyNXpPMXh1WEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSWtsa0lHWnliMjBnZEdobElHMXZaR1ZzSUhKbFkyOXlaR1ZrSUdsdUlIUm9aU0JoZFdScGRGd2lLVnh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdjbVZqYjNKa1NXUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJqY21WaGRHVmtRbmtvS1Z4dUlDQkFhVzVrWlhnb1cwOXlaR1Z5UkdseVpXTjBhVzl1TGtGVFF5d2dUM0prWlhKRWFYSmxZM1JwYjI0dVJGTkRYU2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpU1dSbGJuUnBabWxsY2lCdlppQjBhR1VnZFhObGNpQjNhRzhnY0dWeVptOXliV1ZrSUhSb1pTQmhZM1JwYjI0dVhDSXBYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdkWE5sY2tsa0lUb2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWNtVmhaRzl1Ykhrb0tWeHVJQ0JBZEhsd1pTaFRkSEpwYm1jcFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKSGNtOTFjQ0J2Y2lCeWIyeGxJRzltSUhSb1pTQjFjMlZ5SUhkb2J5QndaWEptYjNKdFpXUWdkR2hsSUdGamRHbHZiaTVjSWlsY2JpQWdkWE5sY2tkeWIzVndJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFjbVZoWkc5dWJIa29LVnh1SUNCQWRISmhibk5oWTNScGIyNUpaQ2dwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSW5Sb1pTQjBjbUZ1YzJGamRHbHZiaUIwYUdVZ1lYVmthWFFnY21WamIzSmtJSGRoY3lCamNtVmhkR1ZrSUdsdVhDSXBYRzRnSUhSeVlXNXpZV04wYVc5dUlUb2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZoWkc5dWJIa29LVnh1SUNCQWMyVnlhV0ZzYVhwbEtDbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lkR2hsSUdScFptWnpJR1p2Y2lCMGFHVWdZV04wYVc5dUxsd2lLVnh1SUNCa2FXWm1jejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0N1hHNWNiaUFnUUc5M2JtVmtRbmtvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKMGFHVWdiM2R1WlhJZ0tHMXpjQ2tnYjJZZ2RHaGxJR0YxWkdsMElHeHZaMXdpS1Z4dUlDQnZkMjVsY2lFNklITjBjbWx1Wnp0Y2JseHVJQ0JqYjI1emRISjFZM1J2Y2lodGIyUmxiRDg2SUUxdlpHVnNRWEpuUEU5MGFHVnlRWFZrYVhRK0tTQjdYRzRnSUNBZ2MzVndaWElvYlc5a1pXd3BPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OtherBatchShared = void 0;
|
|
3
|
+
exports.OtherBatchShared = exports.ArraySerializer = void 0;
|
|
4
4
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
5
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
6
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -25,6 +25,119 @@ const decorators_private_js_1 = require("./decorators-private.cjs");
|
|
|
25
25
|
const gtin_js_1 = require("./gtin.cjs");
|
|
26
26
|
const index_js_1 = require("./../../shared/index.cjs");
|
|
27
27
|
const history_dec_js_1 = require("./history-dec.cjs");
|
|
28
|
+
// import { historyDec } from "./history-dec";
|
|
29
|
+
class ArraySerializer extends decorator_validation_1.JSONSerializer {
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @summary prepares the model for serialization
|
|
35
|
+
* @description returns a shallow copy of the object, containing an enumerable {@link ModelKeys#ANCHOR} property
|
|
36
|
+
* so the object can be recognized upon deserialization
|
|
37
|
+
*
|
|
38
|
+
* @param {any} value
|
|
39
|
+
* @protected
|
|
40
|
+
*/
|
|
41
|
+
preSerialize(value, ...args) {
|
|
42
|
+
return this.serializeValue(value, ...args);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @summary Rebuilds a model from a serialization
|
|
46
|
+
* @param {string} str
|
|
47
|
+
*
|
|
48
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
49
|
+
*/
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
51
|
+
deserialize(str, ...args) {
|
|
52
|
+
const deserialization = JSON.parse(str);
|
|
53
|
+
return this.rebuildValue(deserialization);
|
|
54
|
+
}
|
|
55
|
+
serializeValue(value, ...args) {
|
|
56
|
+
if (value === undefined || value === null)
|
|
57
|
+
return value;
|
|
58
|
+
if (typeof value !== "object")
|
|
59
|
+
return value;
|
|
60
|
+
if (value instanceof Date)
|
|
61
|
+
return value.toISOString();
|
|
62
|
+
if (Array.isArray(value)) {
|
|
63
|
+
return value.map((item) => this.serializeValue(item, ...args));
|
|
64
|
+
}
|
|
65
|
+
if (decorator_validation_1.Model.isModel(value)) {
|
|
66
|
+
return this.serializeModel(value, ...args);
|
|
67
|
+
}
|
|
68
|
+
return this.serializePlain(value, ...args);
|
|
69
|
+
}
|
|
70
|
+
serializeModel(value, ...args) {
|
|
71
|
+
const serialized = this.serializePlain(value, ...args);
|
|
72
|
+
const metadata = this.getMetadata(value.constructor) ??
|
|
73
|
+
value.constructor?.name;
|
|
74
|
+
if (metadata)
|
|
75
|
+
serialized[decorator_validation_1.ModelKeys.ANCHOR] = metadata;
|
|
76
|
+
return serialized;
|
|
77
|
+
}
|
|
78
|
+
serializePlain(value, ...args) {
|
|
79
|
+
const result = {};
|
|
80
|
+
for (const [key, child] of Object.entries(value)) {
|
|
81
|
+
result[key] = this.serializeValue(child, ...args);
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
getMetadata(constructor) {
|
|
86
|
+
try {
|
|
87
|
+
return decoration_1.Metadata.modelName(constructor);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
rebuildValue(value) {
|
|
94
|
+
if (value === null || typeof value !== "object")
|
|
95
|
+
return value;
|
|
96
|
+
if (Array.isArray(value)) {
|
|
97
|
+
return value.map((item) => this.rebuildValue(item));
|
|
98
|
+
}
|
|
99
|
+
const anchor = value[decorator_validation_1.ModelKeys.ANCHOR];
|
|
100
|
+
const rebuilt = this.rebuildObject(value);
|
|
101
|
+
if (!anchor)
|
|
102
|
+
return rebuilt;
|
|
103
|
+
if (anchor === "??condition")
|
|
104
|
+
return core_1.Condition.from(rebuilt);
|
|
105
|
+
return decorator_validation_1.Model.build(rebuilt, anchor);
|
|
106
|
+
}
|
|
107
|
+
rebuildObject(value) {
|
|
108
|
+
const result = {};
|
|
109
|
+
for (const [key, child] of Object.entries(value)) {
|
|
110
|
+
if (key === decorator_validation_1.ModelKeys.ANCHOR)
|
|
111
|
+
continue;
|
|
112
|
+
result[key] = this.rebuildValue(child);
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @summary Serializes a model
|
|
118
|
+
* @param {T} model
|
|
119
|
+
*
|
|
120
|
+
* @throws {Error} if fails to serialize
|
|
121
|
+
*/
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
123
|
+
serialize(model, ...args) {
|
|
124
|
+
return JSON.stringify(this.preSerialize(model));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.ArraySerializer = ArraySerializer;
|
|
128
|
+
let ManufacturerAddress = class ManufacturerAddress extends decorator_validation_1.Model {
|
|
129
|
+
constructor(arg) {
|
|
130
|
+
super(arg);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
__decorate([
|
|
134
|
+
(0, decorator_validation_1.minlength)(2),
|
|
135
|
+
__metadata("design:type", String)
|
|
136
|
+
], ManufacturerAddress.prototype, "address", void 0);
|
|
137
|
+
ManufacturerAddress = __decorate([
|
|
138
|
+
(0, decorator_validation_1.model)(),
|
|
139
|
+
__metadata("design:paramtypes", [Object])
|
|
140
|
+
], ManufacturerAddress);
|
|
28
141
|
let OtherBatchShared = class OtherBatchShared extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
|
|
29
142
|
constructor(model) {
|
|
30
143
|
super(model);
|
|
@@ -34,9 +147,9 @@ let OtherBatchShared = class OtherBatchShared extends BaseIdentifiedModel_js_1.B
|
|
|
34
147
|
exports.OtherBatchShared = OtherBatchShared;
|
|
35
148
|
__decorate([
|
|
36
149
|
(0, core_1.pk)(),
|
|
37
|
-
(0, history_dec_js_1.historyDec)(),
|
|
38
150
|
(0, decorators_private_js_1.audit)(OtherBatchShared),
|
|
39
|
-
(0,
|
|
151
|
+
(0, history_dec_js_1.historyDec)(),
|
|
152
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
40
153
|
(0, db_decorators_1.composed)(["productCode", "batchNumber"], ":"),
|
|
41
154
|
(0, decoration_1.description)("Unique identifier composed of product code and batch number."),
|
|
42
155
|
__metadata("design:type", String)
|
|
@@ -66,8 +179,8 @@ __decorate([
|
|
|
66
179
|
], OtherBatchShared.prototype, "batchNumber", void 0);
|
|
67
180
|
__decorate([
|
|
68
181
|
(0, decorator_validation_1.required)(),
|
|
69
|
-
(0, decorator_validation_1.date)(constants_js_1.DatePattern),
|
|
70
182
|
(0, core_1.column)(),
|
|
183
|
+
(0, decorator_validation_1.date)("yyyy-MM-dd HH:mm:ss"),
|
|
71
184
|
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
72
185
|
(0, decoration_1.description)("Date when the batch expires."),
|
|
73
186
|
__metadata("design:type", Date)
|
|
@@ -79,9 +192,9 @@ __decorate([
|
|
|
79
192
|
], OtherBatchShared.prototype, "importLicenseNumber", void 0);
|
|
80
193
|
__decorate([
|
|
81
194
|
(0, core_1.column)(),
|
|
82
|
-
(0, decorator_validation_1.date)(constants_js_1.DatePattern),
|
|
83
195
|
(0, decoration_1.description)("Date when the batch was manufactured."),
|
|
84
|
-
|
|
196
|
+
(0, decorator_validation_1.date)(constants_js_1.DatePattern),
|
|
197
|
+
__metadata("design:type", Date)
|
|
85
198
|
], OtherBatchShared.prototype, "dateOfManufacturing", void 0);
|
|
86
199
|
__decorate([
|
|
87
200
|
(0, core_1.column)(),
|
|
@@ -90,36 +203,32 @@ __decorate([
|
|
|
90
203
|
__metadata("design:type", String)
|
|
91
204
|
], OtherBatchShared.prototype, "manufacturerName", void 0);
|
|
92
205
|
__decorate([
|
|
206
|
+
(0, db_decorators_1.serialize)(ArraySerializer),
|
|
93
207
|
(0, core_1.column)(),
|
|
94
|
-
(0,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
(0, core_1.column)(),
|
|
99
|
-
(0, decoration_1.description)("Manufacturer address line 2."),
|
|
100
|
-
__metadata("design:type", String)
|
|
101
|
-
], OtherBatchShared.prototype, "manufacturerAddress2", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
(0, core_1.column)(),
|
|
104
|
-
(0, decoration_1.description)("Manufacturer address line 3."),
|
|
105
|
-
__metadata("design:type", String)
|
|
106
|
-
], OtherBatchShared.prototype, "manufacturerAddress3", void 0);
|
|
208
|
+
(0, decorator_validation_1.list)(ManufacturerAddress),
|
|
209
|
+
(0, decoration_1.description)("Manufacturer address"),
|
|
210
|
+
__metadata("design:type", Array)
|
|
211
|
+
], OtherBatchShared.prototype, "manufacturerAddress", void 0);
|
|
107
212
|
__decorate([
|
|
108
213
|
(0, core_1.column)(),
|
|
109
|
-
(0, decoration_1.description)("
|
|
214
|
+
(0, decoration_1.description)("Name of the site where the product was packaged."),
|
|
110
215
|
__metadata("design:type", String)
|
|
111
|
-
], OtherBatchShared.prototype, "
|
|
112
|
-
__decorate([
|
|
113
|
-
(0, core_1.column)(),
|
|
114
|
-
(0, decoration_1.description)("Manufacturer address line 5."),
|
|
115
|
-
__metadata("design:type", String)
|
|
116
|
-
], OtherBatchShared.prototype, "manufacturerAddress5", void 0);
|
|
216
|
+
], OtherBatchShared.prototype, "packagingSiteName", void 0);
|
|
117
217
|
__decorate([
|
|
118
218
|
(0, core_1.column)(),
|
|
119
219
|
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
120
220
|
(0, decoration_1.description)("Indicates whether this batch has been recalled."),
|
|
121
221
|
__metadata("design:type", Boolean)
|
|
122
222
|
], OtherBatchShared.prototype, "batchRecall", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
(0, index_js_1.ownedBy)(),
|
|
225
|
+
(0, decoration_1.description)("the owner (msp) of the batch"),
|
|
226
|
+
__metadata("design:type", String)
|
|
227
|
+
], OtherBatchShared.prototype, "owner", void 0);
|
|
228
|
+
__decorate([
|
|
229
|
+
(0, db_decorators_1.version)(),
|
|
230
|
+
__metadata("design:type", Number)
|
|
231
|
+
], OtherBatchShared.prototype, "version", void 0);
|
|
123
232
|
exports.OtherBatchShared = OtherBatchShared = __decorate([
|
|
124
233
|
(0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
|
|
125
234
|
(0, decoration_1.description)("Represents a product batch"),
|
|
@@ -129,5 +238,5 @@ exports.OtherBatchShared = OtherBatchShared = __decorate([
|
|
|
129
238
|
(0, decorator_validation_1.model)(),
|
|
130
239
|
__metadata("design:paramtypes", [Object])
|
|
131
240
|
], OtherBatchShared);
|
|
132
|
-
//# sourceMappingURL=OtherBatchShared.js.map
|
|
133
|
-
//# sourceMappingURL=OtherBatchShared.js.map
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJCYXRjaFNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvT3RoZXJCYXRjaFNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQ0wsSUFBSSxFQUNKLGNBQWMsRUFDZCxJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEdBQ1QsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLGNBQWMsRUFDZCxFQUFFLEVBQ0YsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsdUJBQW9CO0FBQ3hELE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBZSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxnQ0FBNkI7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBZTtBQUM5QixPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsR0FDWCxnQ0FBMkI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBc0I7QUFDM0MsOENBQThDO0FBRTlDLE1BQU0sT0FBTyxlQUFpQyxTQUFRLGNBQWlCO0lBQ3JFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNnQixZQUFZ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SyxFQUFFOztHQUNLLGdCQUFnQixDQTJFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgZGF0ZSxcbiAgSlNPTlNlcmlhbGl6ZXIsXG4gIGxpc3QsXG4gIG1pbmxlbmd0aCxcbiAgTW9kZWwsXG4gIG1vZGVsLFxuICBNb2RlbEtleXMsXG4gIHBhdHRlcm4sXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBjb2x1bW4sXG4gIENvbmRpdGlvbixcbiAgZGVmYXVsdFF1ZXJ5QXR0cixcbiAgaW5kZXgsXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBwayxcbiAgdGFibGUsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQmF0Y2hQYXR0ZXJuLCBEYXRlUGF0dGVybiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBjb21wb3NlZCxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgcmVhZG9ubHksXG4gIHNlcmlhbGl6ZSxcbiAgdmVyc2lvbixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgZGVzY3JpcHRpb24sIE1ldGFkYXRhLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi9kZWNvcmF0b3JzLXByaXZhdGVcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi9ndGluXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIE5hbWVzcGFjZUNvbGxlY3Rpb24sXG4gIG93bmVkQnksXG4gIHNoYXJlZERhdGEsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi9oaXN0b3J5LWRlY1wiO1xuLy8gaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuL2hpc3RvcnktZGVjXCI7XG5cbmV4cG9ydCBjbGFzcyBBcnJheVNlcmlhbGl6ZXI8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEpTT05TZXJpYWxpemVyPE0+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBwcmVwYXJlcyB0aGUgbW9kZWwgZm9yIHNlcmlhbGl6YXRpb25cbiAgICogQGRlc2NyaXB0aW9uIHJldHVybnMgYSBzaGFsbG93IGNvcHkgb2YgdGhlIG9iamVjdCwgY29udGFpbmluZyBhbiBlbnVtZXJhYmxlIHtAbGluayBNb2RlbEtleXMjQU5DSE9SfSBwcm9wZXJ0eVxuICAgKiBzbyB0aGUgb2JqZWN0IGNhbiBiZSByZWNvZ25pemVkIHVwb24gZGVzZXJpYWxpemF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlU2VyaWFsaXplKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplVmFsdWUodmFsdWUsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlYnVpbGRzIGEgbW9kZWwgZnJvbSBhIHNlcmlhbGl6YXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIG92ZXJyaWRlIGRlc2VyaWFsaXplKHN0cjogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IE0ge1xuICAgIGNvbnN0IGRlc2VyaWFsaXphdGlvbiA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICByZXR1cm4gdGhpcy5yZWJ1aWxkVmFsdWUoZGVzZXJpYWxpemF0aW9uKSBhcyBNO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVWYWx1ZSh2YWx1ZTogYW55LCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHJldHVybiB2YWx1ZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtKSA9PiB0aGlzLnNlcmlhbGl6ZVZhbHVlKGl0ZW0sIC4uLmFyZ3MpKTtcbiAgICB9XG4gICAgaWYgKE1vZGVsLmlzTW9kZWwodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVNb2RlbCh2YWx1ZSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVBsYWluKHZhbHVlLCAuLi5hcmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplTW9kZWwodmFsdWU6IE1vZGVsLCAuLi5hcmdzOiBhbnlbXSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0aGlzLnNlcmlhbGl6ZVBsYWluKFxuICAgICAgdmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICAgIGNvbnN0IG1ldGFkYXRhID1cbiAgICAgIHRoaXMuZ2V0TWV0YWRhdGEodmFsdWUuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3IpID8/XG4gICAgICB2YWx1ZS5jb25zdHJ1Y3Rvcj8ubmFtZTtcbiAgICBpZiAobWV0YWRhdGEpIHNlcmlhbGl6ZWRbTW9kZWxLZXlzLkFOQ0hPUl0gPSBtZXRhZGF0YTtcbiAgICByZXR1cm4gc2VyaWFsaXplZDtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplUGxhaW4oXG4gICAgdmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCBjaGlsZF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IHRoaXMuc2VyaWFsaXplVmFsdWUoY2hpbGQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRhZGF0YShjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3IpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gTWV0YWRhdGEubW9kZWxOYW1lKGNvbnN0cnVjdG9yKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkVmFsdWUodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikgcmV0dXJuIHZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoaXRlbSkgPT4gdGhpcy5yZWJ1aWxkVmFsdWUoaXRlbSkpO1xuICAgIH1cbiAgICBjb25zdCBhbmNob3IgPSB2YWx1ZVtNb2RlbEtleXMuQU5DSE9SXTtcbiAgICBjb25zdCByZWJ1aWx0ID0gdGhpcy5yZWJ1aWxkT2JqZWN0KHZhbHVlKTtcbiAgICBpZiAoIWFuY2hvcikgcmV0dXJuIHJlYnVpbHQ7XG4gICAgaWYgKGFuY2hvciA9PT0gXCI/P2NvbmRpdGlvblwiKSByZXR1cm4gQ29uZGl0aW9uLmZyb20ocmVidWlsdCk7XG4gICAgcmV0dXJuIE1vZGVsLmJ1aWxkKHJlYnVpbHQsIGFuY2hvcik7XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGRPYmplY3QodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5BTkNIT1IpIGNvbnRpbnVlO1xuICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnJlYnVpbGRWYWx1ZShjaGlsZCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgU2VyaWFsaXplcyBhIG1vZGVsXG4gICAqIEBwYXJhbSB7VH0gbW9kZWxcbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGZhaWxzIHRvIHNlcmlhbGl6ZVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBvdmVycmlkZSBzZXJpYWxpemUobW9kZWw6IE0sIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVTZXJpYWxpemUobW9kZWwpKTtcbiAgfVxufVxuXG5AbW9kZWwoKVxuY2xhc3MgTWFudWZhY3R1cmVyQWRkcmVzcyBleHRlbmRzIE1vZGVsIHtcbiAgQG1pbmxlbmd0aCgyKVxuICBhZGRyZXNzITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFyZz86IE1vZGVsQXJnPE1hbnVmYWN0dXJlckFkZHJlc3M+KSB7XG4gICAgc3VwZXIoYXJnKTtcbiAgfVxufVxuXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQGRlc2NyaXB0aW9uKFwiUmVwcmVzZW50cyBhIHByb2R1Y3QgYmF0Y2hcIilcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AQmxvY2tPcGVyYXRpb25zKFtPcGVyYXRpb25LZXlzLkRFTEVURV0pXG5AdGFibGUoXCJvdGhlcl9iYXRjaF9zaGFyZWRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJCYXRjaFNoYXJlZCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAYXVkaXQoT3RoZXJCYXRjaFNoYXJlZClcbiAgQGhpc3RvcnlEZWMoKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJiYXRjaE51bWJlclwiXSwgXCI6XCIpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgYmF0Y2ggbnVtYmVyLlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAZ3RpbigpXG4gIEByZWFkb25seSgpXG4gIC8vIEBtYW55VG9PbmUoXG4gIC8vICAgKCkgPT4gUHJvZHVjdCxcbiAgLy8gICB7IHVwZGF0ZTogQ2FzY2FkZS5OT05FLCBkZWxldGU6IENhc2NhZGUuTk9ORSB9LFxuICAvLyAgIGZhbHNlXG4gIC8vIClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkNvZGUgb2YgdGhlIHByb2R1Y3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYmF0Y2guXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIEBwYXR0ZXJuKEJhdGNoUGF0dGVybilcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkJhdGNoIG51bWJlciBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdC5cIilcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBiYXRjaE51bWJlciE6IHN0cmluZztcblxuICBAcmVxdWlyZWQoKVxuICBAY29sdW1uKClcbiAgQGRhdGUoXCJ5eXl5LU1NLWRkIEhIOm1tOnNzXCIpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJEYXRlIHdoZW4gdGhlIGJhdGNoIGV4cGlyZXMuXCIpXG4gIGV4cGlyeURhdGUhOiBEYXRlO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJJbXBvcnQgbGljZW5zZSBudW1iZXIgZm9yIHRoaXMgYmF0Y2guXCIpXG4gIGltcG9ydExpY2Vuc2VOdW1iZXI/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIkRhdGUgd2hlbiB0aGUgYmF0Y2ggd2FzIG1hbnVmYWN0dXJlZC5cIilcbiAgQGRhdGUoRGF0ZVBhdHRlcm4pXG4gIGRhdGVPZk1hbnVmYWN0dXJpbmc/OiBEYXRlO1xuXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgcHJvZHVjdCBtYW51ZmFjdHVyZXIuXCIpXG4gIG1hbnVmYWN0dXJlck5hbWU/OiBzdHJpbmc7XG5cbiAgQHNlcmlhbGl6ZShBcnJheVNlcmlhbGl6ZXIpXG4gIEBjb2x1bW4oKVxuICBAbGlzdChNYW51ZmFjdHVyZXJBZGRyZXNzKVxuICBAZGVzY3JpcHRpb24oXCJNYW51ZmFjdHVyZXIgYWRkcmVzc1wiKVxuICBtYW51ZmFjdHVyZXJBZGRyZXNzPzogTWFudWZhY3R1cmVyQWRkcmVzc1tdO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBzaXRlIHdoZXJlIHRoZSBwcm9kdWN0IHdhcyBwYWNrYWdlZC5cIilcbiAgcGFja2FnaW5nU2l0ZU5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGJhdGNoIGhhcyBiZWVuIHJlY2FsbGVkLlwiKVxuICBiYXRjaFJlY2FsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBvd25lZEJ5KClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBiYXRjaFwiKVxuICBvd25lciE6IHN0cmluZztcblxuICBAdmVyc2lvbigpXG4gIG92ZXJyaWRlIHZlcnNpb24hOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxPdGhlckJhdGNoU2hhcmVkPikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJCYXRjaFNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyQmF0Y2hTaGFyZWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUs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QUFPLEdBQUU7SUFDVCxJQUFBLHdCQUFXLEVBQUMsOEJBQThCLENBQUM7SUFDM0MsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEQsVUFBVSxDQUFDO0lBQ1AsSUFBQSx1QkFBTyxHQUFFO0lBQ1QsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEQsMkJBQUEsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0lBQzFCLElBQUEscUJBQVUsRUFBQyxJQUFBLDhCQUFtQixFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsSUFBQSx3QkFBVyxFQUFDLDRCQUE0QixDQUFDO0lBQ3pDLElBQUEsaUJBQUksRUFBQyx3QkFBYSxDQUFDO0lBQ25CLElBQUEsK0JBQWUsRUFBQyxDQUFDLDZCQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBQSxZQUFLLEVBQUMsb0JBQW9CLENBQUM7SUFDM0IsSUFBQSw0QkFBSyxHQUFFO0lBQ1AsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDNUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXJCLDhrZ0JBQThrZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgZGF0ZSwgSlNPTlNlcmlhbGl6ZXIsIGxpc3QsIG1pbmxlbmd0aCwgTW9kZWwsIG1vZGVsLCBNb2RlbEtleXMsIHBhdHRlcm4sIHJlcXVpcmVkLCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgQ29uZGl0aW9uLCBkZWZhdWx0UXVlcnlBdHRyLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhdGNoUGF0dGVybiwgRGF0ZVBhdHRlcm4gfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IEJsb2NrT3BlcmF0aW9ucywgY29tcG9zZWQsIE9wZXJhdGlvbktleXMsIHJlYWRvbmx5LCBzZXJpYWxpemUsIHZlcnNpb24sIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiwgTWV0YWRhdGEsIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsLmpzXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnMtcHJpdmF0ZS5qc1wiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuL2d0aW4uanNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIsIG1pcnJvciwgTmFtZXNwYWNlQ29sbGVjdGlvbiwgb3duZWRCeSwgc2hhcmVkRGF0YSwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi9oaXN0b3J5LWRlYy5qc1wiO1xuLy8gaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuL2hpc3RvcnktZGVjXCI7XG5leHBvcnQgY2xhc3MgQXJyYXlTZXJpYWxpemVyIGV4dGVuZHMgSlNPTlNlcmlhbGl6ZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBwcmVwYXJlcyB0aGUgbW9kZWwgZm9yIHNlcmlhbGl6YXRpb25cbiAgICAgKiBAZGVzY3JpcHRpb24gcmV0dXJucyBhIHNoYWxsb3cgY29weSBvZiB0aGUgb2JqZWN0LCBjb250YWluaW5nIGFuIGVudW1lcmFibGUge0BsaW5rIE1vZGVsS2V5cyNBTkNIT1J9IHByb3BlcnR5XG4gICAgICogc28gdGhlIG9iamVjdCBjYW4gYmUgcmVjb2duaXplZCB1cG9uIGRlc2VyaWFsaXphdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByZVNlcmlhbGl6ZSh2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVWYWx1ZSh2YWx1ZSwgLi4uYXJncyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBzdW1tYXJ5IFJlYnVpbGRzIGEgbW9kZWwgZnJvbSBhIHNlcmlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGRlc2VyaWFsaXplKHN0ciwgLi4uYXJncykge1xuICAgICAgICBjb25zdCBkZXNlcmlhbGl6YXRpb24gPSBKU09OLnBhcnNlKHN0cik7XG4gICAgICAgIHJldHVybiB0aGlzLnJlYnVpbGRWYWx1ZShkZXNlcmlhbGl6YXRpb24pO1xuICAgIH1cbiAgICBzZXJpYWxpemVWYWx1ZSh2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b0lTT1N0cmluZygpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGl0ZW0pID0+IHRoaXMuc2VyaWFsaXplVmFsdWUoaXRlbSwgLi4uYXJncykpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChNb2RlbC5pc01vZGVsKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplTW9kZWwodmFsdWUsIC4uLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVBsYWluKHZhbHVlLCAuLi5hcmdzKTtcbiAgICB9XG4gICAgc2VyaWFsaXplTW9kZWwodmFsdWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMuc2VyaWFsaXplUGxhaW4odmFsdWUsIC4uLmFyZ3MpO1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZ2V0TWV0YWRhdGEodmFsdWUuY29uc3RydWN0b3IpID8/XG4gICAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3Rvcj8ubmFtZTtcbiAgICAgICAgaWYgKG1ldGFkYXRhKVxuICAgICAgICAgICAgc2VyaWFsaXplZFtNb2RlbEtleXMuQU5DSE9SXSA9IG1ldGFkYXRhO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplZDtcbiAgICB9XG4gICAgc2VyaWFsaXplUGxhaW4odmFsdWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgY2hpbGRdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnNlcmlhbGl6ZVZhbHVlKGNoaWxkLCAuLi5hcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBnZXRNZXRhZGF0YShjb25zdHJ1Y3Rvcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIE1ldGFkYXRhLm1vZGVsTmFtZShjb25zdHJ1Y3Rvcik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWJ1aWxkVmFsdWUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtKSA9PiB0aGlzLnJlYnVpbGRWYWx1ZShpdGVtKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yID0gdmFsdWVbTW9kZWxLZXlzLkFOQ0hPUl07XG4gICAgICAgIGNvbnN0IHJlYnVpbHQgPSB0aGlzLnJlYnVpbGRPYmplY3QodmFsdWUpO1xuICAgICAgICBpZiAoIWFuY2hvcilcbiAgICAgICAgICAgIHJldHVybiByZWJ1aWx0O1xuICAgICAgICBpZiAoYW5jaG9yID09PSBcIj8/Y29uZGl0aW9uXCIpXG4gICAgICAgICAgICByZXR1cm4gQ29uZGl0aW9uLmZyb20ocmVidWlsdCk7XG4gICAgICAgIHJldHVybiBNb2RlbC5idWlsZChyZWJ1aWx0LCBhbmNob3IpO1xuICAgIH1cbiAgICByZWJ1aWxkT2JqZWN0KHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5BTkNIT1IpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMucmVidWlsZFZhbHVlKGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBTZXJpYWxpemVzIGEgbW9kZWxcbiAgICAgKiBAcGFyYW0ge1R9IG1vZGVsXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgZmFpbHMgdG8gc2VyaWFsaXplXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHNlcmlhbGl6ZShtb2RlbCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVTZXJpYWxpemUobW9kZWwpKTtcbiAgICB9XG59XG5sZXQgTWFudWZhY3R1cmVyQWRkcmVzcyA9IGNsYXNzIE1hbnVmYWN0dXJlckFkZHJlc3MgZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoYXJnKSB7XG4gICAgICAgIHN1cGVyKGFyZyk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIG1pbmxlbmd0aCgyKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTWFudWZhY3R1cmVyQWRkcmVzcy5wcm90b3R5cGUsIFwiYWRkcmVzc1wiLCB2b2lkIDApO1xuTWFudWZhY3R1cmVyQWRkcmVzcyA9IF9fZGVjb3JhdGUoW1xuICAgIG1vZGVsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtPYmplY3RdKVxuXSwgTWFudWZhY3R1cmVyQWRkcmVzcyk7XG5sZXQgT3RoZXJCYXRjaFNoYXJlZCA9IGNsYXNzIE90aGVyQmF0Y2hTaGFyZWQgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbCkge1xuICAgICAgICBzdXBlcihtb2RlbCk7XG4gICAgICAgIHRoaXMuYmF0Y2hSZWNhbGwgPSBmYWxzZTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoKSxcbiAgICBhdWRpdChPdGhlckJhdGNoU2hhcmVkKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCJdLCBcIjpcIiksXG4gICAgZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBjb21wb3NlZCBvZiBwcm9kdWN0IGNvZGUgYW5kIGJhdGNoIG51bWJlci5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBndGluKCksXG4gICAgcmVhZG9ubHkoKVxuICAgIC8vIEBtYW55VG9PbmUoXG4gICAgLy8gICAoKSA9PiBQcm9kdWN0LFxuICAgIC8vICAgeyB1cGRhdGU6IENhc2NhZGUuTk9ORSwgZGVsZXRlOiBDYXNjYWRlLk5PTkUgfSxcbiAgICAvLyAgIGZhbHNlXG4gICAgLy8gKVxuICAgICxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIkNvZGUgb2YgdGhlIHByb2R1Y3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYmF0Y2guXCIpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwicHJvZHVjdENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgcGF0dGVybihCYXRjaFBhdHRlcm4pLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiQmF0Y2ggbnVtYmVyIGFzc2lnbmVkIHRvIHRoZSBwcm9kdWN0LlwiKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImJhdGNoTnVtYmVyXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIGNvbHVtbigpLFxuICAgIGRhdGUoXCJ5eXl5LU1NLWRkIEhIOm1tOnNzXCIpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiRGF0ZSB3aGVuIHRoZSBiYXRjaCBleHBpcmVzLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImV4cGlyeURhdGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGRlc2NyaXB0aW9uKFwiSW1wb3J0IGxpY2Vuc2UgbnVtYmVyIGZvciB0aGlzIGJhdGNoLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwiaW1wb3J0TGljZW5zZU51bWJlclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgZGVzY3JpcHRpb24oXCJEYXRlIHdoZW4gdGhlIGJhdGNoIHdhcyBtYW51ZmFjdHVyZWQuXCIpLFxuICAgIGRhdGUoRGF0ZVBhdHRlcm4pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwiZGF0ZU9mTWFudWZhY3R1cmluZ1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBwcm9kdWN0IG1hbnVmYWN0dXJlci5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcIm1hbnVmYWN0dXJlck5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHNlcmlhbGl6ZShBcnJheVNlcmlhbGl6ZXIpLFxuICAgIGNvbHVtbigpLFxuICAgIGxpc3QoTWFudWZhY3R1cmVyQWRkcmVzcyksXG4gICAgZGVzY3JpcHRpb24oXCJNYW51ZmFjdHVyZXIgYWRkcmVzc1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBPdGhlckJhdGNoU2hhcmVkLnByb3RvdHlwZSwgXCJtYW51ZmFjdHVyZXJBZGRyZXNzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIHNpdGUgd2hlcmUgdGhlIHByb2R1Y3Qgd2FzIHBhY2thZ2VkLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwicGFja2FnaW5nU2l0ZU5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBiYXRjaCBoYXMgYmVlbiByZWNhbGxlZC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEJvb2xlYW4pXG5dLCBPdGhlckJhdGNoU2hhcmVkLnByb3RvdHlwZSwgXCJiYXRjaFJlY2FsbFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb3duZWRCeSgpLFxuICAgIGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBiYXRjaFwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHZlcnNpb24oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgTnVtYmVyKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwidmVyc2lvblwiLCB2b2lkIDApO1xuT3RoZXJCYXRjaFNoYXJlZCA9IF9fZGVjb3JhdGUoW1xuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSksXG4gICAgZGVzY3JpcHRpb24oXCJSZXByZXNlbnRzIGEgcHJvZHVjdCBiYXRjaFwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIEJsb2NrT3BlcmF0aW9ucyhbT3BlcmF0aW9uS2V5cy5ERUxFVEVdKSxcbiAgICB0YWJsZShcIm90aGVyX2JhdGNoX3NoYXJlZFwiKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE90aGVyQmF0Y2hTaGFyZWQpO1xuZXhwb3J0IHsgT3RoZXJCYXRjaFNoYXJlZCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDNSb1pYSkNZWFJqYUZOb1lYSmxaQzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5amIyNTBjbUZqZEM5dGIyUmxiSE12VDNSb1pYSkNZWFJqYUZOb1lYSmxaQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGRFFTeFBRVUZQTEVWQlEwd3NTVUZCU1N4RlFVTktMR05CUVdNc1JVRkRaQ3hKUVVGSkxFVkJRMG9zVTBGQlV5eEZRVU5VTEV0QlFVc3NSVUZEVEN4TFFVRkxMRVZCUTB3c1UwRkJVeXhGUVVOVUxFOUJRVThzUlVGRFVDeFJRVUZSTEVkQlExUXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UXl4UFFVRlBMRVZCUTB3c1RVRkJUU3hGUVVOT0xGTkJRVk1zUlVGRFZDeG5Ra0ZCWjBJc1JVRkRhRUlzUzBGQlN5eEZRVU5NTEdOQlFXTXNSVUZEWkN4RlFVRkZMRVZCUTBZc1MwRkJTeXhIUVVOT0xFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkRlRUlzVDBGQlR5eEZRVUZGTEZsQlFWa3NSVUZCUlN4WFFVRlhMRVZCUVVVc2RVSkJRVzlDTzBGQlEzaEVMRTlCUVU4c1JVRkRUQ3hsUVVGbExFVkJRMllzVVVGQlVTeEZRVU5TTEdGQlFXRXNSVUZEWWl4UlFVRlJMRVZCUTFJc1UwRkJVeXhGUVVOVUxFOUJRVThzUjBGRFVpeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRMnBETEU5QlFVOHNSVUZCWlN4WFFVRlhMRVZCUVVVc1VVRkJVU3hGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJRMmhHTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeHBRMEZCT0VJN1FVRkROVVFzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4blEwRkJOa0k3UVVGRE4wTXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hyUWtGQlpUdEJRVU01UWl4UFFVRlBMRVZCUTB3c1lVRkJZU3hGUVVOaUxFMUJRVTBzUlVGRFRpeHRRa0ZCYlVJc1JVRkRia0lzVDBGQlR5eEZRVU5RTEZWQlFWVXNSMEZEV0N4blEwRkJNa0k3UVVGRE5VSXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3g1UWtGQmMwSTdRVUZETTBNc09FTkJRVGhETzBGQlJUbERMRTFCUVUwc1QwRkJUeXhsUVVGcFF5eFRRVUZSTEdOQlFXbENPMGxCUTNKRk8xRkJRMFVzUzBGQlN5eEZRVUZGTEVOQlFVTTdTVUZEVml4RFFVRkRPMGxCUlVRN096czdPenM3VDBGUFJ6dEpRVU5uUWl4WlFVRlpMRU5CUVVNc1MwRkJWU3hGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkROME1zUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwZ3NOa1JCUVRaRU8wbEJRM0JFTEZkQlFWY3NRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJSeXhKUVVGWE8xRkJRemxETEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZUVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEdWQlFXVXNRMEZCVFN4RFFVRkRPMGxCUTJwRUxFTkJRVU03U1VGRlR5eGpRVUZqTEVOQlFVTXNTMEZCVlN4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVNdlF5eEpRVUZKTEV0QlFVc3NTMEZCU3l4VFFVRlRMRWxCUVVrc1MwRkJTeXhMUVVGTExFbEJRVWs3V1VGQlJTeFBRVUZQTEV0QlFVc3NRMEZCUXp0UlFVTjRSQ3hKUVVGSkxFOUJRVThzUzBGQlN5eExRVUZMTEZGQlFWRTdXVUZCUlN4UFFVRlBMRXRCUVVzc1EwRkJRenRSUVVNMVF5eEpRVUZKTEV0QlFVc3NXVUZCV1N4SlFVRkpPMWxCUVVVc1QwRkJUeXhMUVVGTExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEZEVRc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRla0lzVDBGQlR5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtVc1EwRkJRenRSUVVORUxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRM3BDTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhEUVVGRE8xRkJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6ZERMRU5CUVVNN1NVRkZUeXhqUVVGakxFTkJRVU1zUzBGQldTeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTnFSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVTndReXhMUVVFMFFpeEZRVU0xUWl4SFFVRkhMRWxCUVVrc1EwRkRVaXhEUVVGRE8xRkJRMFlzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQk1FSXNRMEZCUXp0WlFVTnNSQ3hMUVVGTExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NRMEZCUXp0UlFVTXhRaXhKUVVGSkxGRkJRVkU3V1VGQlJTeFZRVUZWTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF6dFJRVU4wUkN4UFFVRlBMRlZCUVZVc1EwRkJRenRKUVVOd1FpeERRVUZETzBsQlJVOHNZMEZCWXl4RFFVTndRaXhMUVVFd1FpeEZRVU14UWl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hOUVVGTkxFMUJRVTBzUjBGQmQwSXNSVUZCUlN4RFFVRkRPMUZCUTNaRExFdEJRVXNzVFVGQlRTeERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRU5CUVVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRha1FzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRVFzUTBGQlF6dFJRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlR5eFhRVUZYTEVOQlFVTXNWMEZCZDBJN1VVRkRNVU1zU1VGQlNTeERRVUZETzFsQlEwZ3NUMEZCVHl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlEzcERMRU5CUVVNN1VVRkJReXhOUVVGTkxFTkJRVU03V1VGRFVDeFBRVUZQTEZOQlFWTXNRMEZCUXp0UlFVTnVRaXhEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZQTEZsQlFWa3NRMEZCUXl4TFFVRlZPMUZCUXpkQ0xFbEJRVWtzUzBGQlN5eExRVUZMTEVsQlFVa3NTVUZCU1N4UFFVRlBMRXRCUVVzc1MwRkJTeXhSUVVGUk8xbEJRVVVzVDBGQlR5eExRVUZMTEVOQlFVTTdVVUZET1VRc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRla0lzVDBGQlR5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRFUXNRMEZCUXp0UlFVTkVMRTFCUVUwc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRka01zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU14UXl4SlFVRkpMRU5CUVVNc1RVRkJUVHRaUVVGRkxFOUJRVThzVDBGQlR5eERRVUZETzFGQlF6VkNMRWxCUVVrc1RVRkJUU3hMUVVGTExHRkJRV0U3V1VGQlJTeFBRVUZQTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE4wUXNUMEZCVHl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVTjBReXhEUVVGRE8wbEJSVThzWVVGQllTeERRVUZETEV0QlFUQkNPMUZCUXpsRExFMUJRVTBzVFVGQlRTeEhRVUYzUWl4RlFVRkZMRU5CUVVNN1VVRkRka01zUzBGQlN5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOcVJDeEpRVUZKTEVkQlFVY3NTMEZCU3l4VFFVRlRMRU5CUVVNc1RVRkJUVHRuUWtGQlJTeFRRVUZUTzFsQlEzWkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRM3BETEVOQlFVTTdVVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETzBsQlJVUTdPenM3TzA5QlMwYzdTVUZEU0N3MlJFRkJOa1E3U1VGRGNFUXNVMEZCVXl4RFFVRkRMRXRCUVZFc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1JDeERRVUZETzBOQlEwWTdRVUZGUkN4SlFVTk5MRzFDUVVGdFFpeEhRVVI2UWl4TlFVTk5MRzFDUVVGdlFpeFRRVUZSTEV0QlFVczdTVUZKY2tNc1dVRkJXU3hIUVVGdFF6dFJRVU0zUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeERRVUZETzBOQlEwWXNRMEZCUVR0QlFVeERPMGxCUkVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF6czdiMFJCUTBrN1FVRkdZaXh0UWtGQmJVSTdTVUZFZUVJc1MwRkJTeXhGUVVGRk96dEhRVU5HTEcxQ1FVRnRRaXhEUVU5NFFqdEJRVkZOTEVsQlFVMHNaMEpCUVdkQ0xFZEJRWFJDTEUxQlFVMHNaMEpCUVdsQ0xGTkJRVkVzYlVKQlFXMUNPMGxCZDBWMlJDeFpRVUZaTEV0QlFXdERPMUZCUXpWRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFWWm1MR2RDUVVGWExFZEJRVmtzUzBGQlN5eERRVUZETzBsQlZ6ZENMRU5CUVVNN1EwRkRSaXhEUVVGQk8wRkJjRVZETzBsQlRrTXNSVUZCUlN4RlFVRkZPMGxCUTBvc1MwRkJTeXhEUVVGRExHZENRVUZuUWl4RFFVRkRPMGxCUTNaQ0xGVkJRVlVzUlVGQlJUdEpRVU5hTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHpRa0ZCYzBJc1EwRkJRenRKUVVOdVJDeFJRVUZSTEVOQlFVTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1lVRkJZU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETzBsQlF6ZERMRmRCUVZjc1EwRkJReXc0UkVGQk9FUXNRMEZCUXpzN05FTkJRMmhGTzBGQldWbzdTVUZXUXl4SlFVRkpMRVZCUVVVN1NVRkRUaXhSUVVGUkxFVkJRVVU3U1VGRFdDeGpRVUZqTzBsQlEyUXNiVUpCUVcxQ08wbEJRMjVDTEc5RVFVRnZSRHRKUVVOd1JDeFZRVUZWTzBsQlExWXNTVUZCU1RzN1NVRkRTQ3hMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2FVUkJRV2xFTEVOQlFVTTdTVUZET1VRc1owSkJRV2RDTEVWQlFVVTdPM0ZFUVVORk8wRkJVWEpDTzBsQlRrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXp0SlFVTnlRaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2RVTkJRWFZETEVOQlFVTTdTVUZEY0VRc1owSkJRV2RDTEVWQlFVVTdPM0ZFUVVORk8wRkJUM0pDTzBsQlRFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1RVRkJUU3hGUVVGRk8wbEJRMUlzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wbEJRek5DTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5dzRRa0ZCT0VJc1EwRkJRenM0UWtGREwwSXNTVUZCU1R0dlJFRkJRenRCUVVsc1FqdEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXpzN05rUkJRM2hDTzBGQlN6ZENPMGxCU0VNc1RVRkJUU3hGUVVGRk8wbEJRMUlzVjBGQlZ5eERRVUZETEhWRFFVRjFReXhEUVVGRE8wbEJRM0JFTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNN09FSkJRMGtzU1VGQlNUczJSRUZCUXp0QlFVc3pRanRKUVVoRExFMUJRVTBzUlVGQlJUdEpRVU5TTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5eHRRMEZCYlVNc1EwRkJRenM3TUVSQlEzWkNPMEZCVFRGQ08wbEJTa01zVTBGQlV5eERRVUZETEdWQlFXVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFVkJRVVU3U1VGRFVpeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU03U1VGRGVrSXNWMEZCVnl4RFFVRkRMSE5DUVVGelFpeERRVUZET3pzMlJFRkRVVHRCUVVrMVF6dEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRmRCUVZjc1EwRkJReXhyUkVGQmEwUXNRMEZCUXpzN01rUkJRM0pETzBGQlN6TkNPMGxCU0VNc1RVRkJUU3hGUVVGRk8wbEJRMUlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExHbEVRVUZwUkN4RFFVRkRPenR4UkVGRGJFTTdRVUZKTjBJN1NVRkdReXhQUVVGUExFVkJRVVU3U1VGRFZDeFhRVUZYTEVOQlFVTXNPRUpCUVRoQ0xFTkJRVU03T3l0RFFVTTNRanRCUVVkT08wbEJSRklzVDBGQlR5eEZRVUZGT3p0cFJFRkRaMEk3UVVGMFJXWXNaMEpCUVdkQ08wbEJUalZDTEZWQlFWVXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRMnhFTEZkQlFWY3NRMEZCUXl3MFFrRkJORUlzUTBGQlF6dEpRVU42UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRE8wbEJRMjVDTEdWQlFXVXNRMEZCUXl4RFFVRkRMR0ZCUVdFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU4yUXl4TFFVRkxMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTTdTVUZETTBJc1MwRkJTeXhGUVVGRk96dEhRVU5MTEdkQ1FVRm5RaXhEUVRKRk5VSWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdkSGx3WlNCN0lFMXZaR1ZzUVhKbklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdaR0YwWlN4Y2JpQWdTbE5QVGxObGNtbGhiR2w2WlhJc1hHNGdJR3hwYzNRc1hHNGdJRzFwYm14bGJtZDBhQ3hjYmlBZ1RXOWtaV3dzWEc0Z0lHMXZaR1ZzTEZ4dUlDQk5iMlJsYkV0bGVYTXNYRzRnSUhCaGRIUmxjbTRzWEc0Z0lISmxjWFZwY21Wa0xGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JqYjJ4MWJXNHNYRzRnSUVOdmJtUnBkR2x2Yml4Y2JpQWdaR1ZtWVhWc2RGRjFaWEo1UVhSMGNpeGNiaUFnYVc1a1pYZ3NYRzRnSUU5eVpHVnlSR2x5WldOMGFXOXVMRnh1SUNCd2F5eGNiaUFnZEdGaWJHVXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSHNnUW1GMFkyaFFZWFIwWlhKdUxDQkVZWFJsVUdGMGRHVnliaUI5SUdaeWIyMGdYQ0l1TDJOdmJuTjBZVzUwYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnUW14dlkydFBjR1Z5WVhScGIyNXpMRnh1SUNCamIyMXdiM05sWkN4Y2JpQWdUM0JsY21GMGFXOXVTMlY1Y3l4Y2JpQWdjbVZoWkc5dWJIa3NYRzRnSUhObGNtbGhiR2w2WlN4Y2JpQWdkbVZ5YzJsdmJpeGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjI1emRISjFZM1J2Y2l3Z1pHVnpZM0pwY0hScGIyNHNJRTFsZEdGa1lYUmhMQ0IxYzJWeklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIMGdabkp2YlNCY0lpNHZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dWFXMXdiM0owSUhzZ1lYVmthWFFnZlNCbWNtOXRJRndpTGk5a1pXTnZjbUYwYjNKekxYQnlhWFpoZEdWY0lqdGNibWx0Y0c5eWRDQjdJR2QwYVc0Z2ZTQm1jbTl0SUZ3aUxpOW5kR2x1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JHWVdKeWFXTkdiR0YyYjNWeUxGeHVJQ0J0YVhKeWIzSXNYRzRnSUU1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0c1hHNGdJRzkzYm1Wa1Fua3NYRzRnSUhOb1lYSmxaRVJoZEdFc1hHNTlJR1p5YjIwZ1hDSXVMaTh1TGk5emFHRnlaV1F2YVc1a1pYaGNJanRjYm1sdGNHOXlkQ0I3SUdocGMzUnZjbmxFWldNZ2ZTQm1jbTl0SUZ3aUxpOW9hWE4wYjNKNUxXUmxZMXdpTzF4dUx5OGdhVzF3YjNKMElIc2dhR2x6ZEc5eWVVUmxZeUI5SUdaeWIyMGdYQ0l1TDJocGMzUnZjbmt0WkdWalhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkJjbkpoZVZObGNtbGhiR2w2WlhJOFRTQmxlSFJsYm1SeklFMXZaR1ZzUGlCbGVIUmxibVJ6SUVwVFQwNVRaWEpwWVd4cGVtVnlQRTArSUh0Y2JpQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCd2NtVndZWEpsY3lCMGFHVWdiVzlrWld3Z1ptOXlJSE5sY21saGJHbDZZWFJwYjI1Y2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlISmxkSFZ5Ym5NZ1lTQnphR0ZzYkc5M0lHTnZjSGtnYjJZZ2RHaGxJRzlpYW1WamRDd2dZMjl1ZEdGcGJtbHVaeUJoYmlCbGJuVnRaWEpoWW14bElIdEFiR2x1YXlCTmIyUmxiRXRsZVhNalFVNURTRTlTZlNCd2NtOXdaWEowZVZ4dUlDQWdLaUJ6YnlCMGFHVWdiMkpxWldOMElHTmhiaUJpWlNCeVpXTnZaMjVwZW1Wa0lIVndiMjRnWkdWelpYSnBZV3hwZW1GMGFXOXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3WVc1NWZTQjJZV3gxWlZ4dUlDQWdLaUJBY0hKdmRHVmpkR1ZrWEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2IzWmxjbkpwWkdVZ2NISmxVMlZ5YVdGc2FYcGxLSFpoYkhWbE9pQmhibmtzSUM0dUxtRnlaM002SUdGdWVWdGRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzJWeWFXRnNhWHBsVm1Gc2RXVW9kbUZzZFdVc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpsWW5WcGJHUnpJR0VnYlc5a1pXd2dabkp2YlNCaElITmxjbWxoYkdsNllYUnBiMjVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlITjBjbHh1SUNBZ0tseHVJQ0FnS2lCQWRHaHliM2R6SUh0RmNuSnZjbjBnU1dZZ2FYUWdabUZwYkhNZ2RHOGdjR0Z5YzJVZ2RHaGxJSE4wY21sdVp5d2diM0lnZEc4Z1luVnBiR1FnZEdobElHMXZaR1ZzWEc0Z0lDQXFMMXh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWFZ1ZFhObFpDMTJZWEp6WEc0Z0lHOTJaWEp5YVdSbElHUmxjMlZ5YVdGc2FYcGxLSE4wY2pvZ2MzUnlhVzVuTENBdUxpNWhjbWR6T2lCaGJubGJYU2s2SUUwZ2UxeHVJQ0FnSUdOdmJuTjBJR1JsYzJWeWFXRnNhWHBoZEdsdmJpQTlJRXBUVDA0dWNHRnljMlVvYzNSeUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV0oxYVd4a1ZtRnNkV1VvWkdWelpYSnBZV3hwZW1GMGFXOXVLU0JoY3lCTk8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpaWEpwWVd4cGVtVldZV3gxWlNoMllXeDFaVG9nWVc1NUxDQXVMaTVoY21kek9pQmhibmxiWFNrNklHRnVlU0I3WEc0Z0lDQWdhV1lnS0haaGJIVmxJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dkbUZzZFdVZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElDRTlQU0JjSW05aWFtVmpkRndpS1NCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ2FXWWdLSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdSR0YwWlNrZ2NtVjBkWEp1SUhaaGJIVmxMblJ2U1ZOUFUzUnlhVzVuS0NrN1hHNGdJQ0FnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVdWJXRndLQ2hwZEdWdEtTQTlQaUIwYUdsekxuTmxjbWxoYkdsNlpWWmhiSFZsS0dsMFpXMHNJQzR1TG1GeVozTXBLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRTF2WkdWc0xtbHpUVzlrWld3b2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpaWEpwWVd4cGVtVk5iMlJsYkNoMllXeDFaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk5sY21saGJHbDZaVkJzWVdsdUtIWmhiSFZsTENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MyVnlhV0ZzYVhwbFRXOWtaV3dvZG1Gc2RXVTZJRTF2WkdWc0xDQXVMaTVoY21kek9pQmhibmxiWFNrNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdlMXh1SUNBZ0lHTnZibk4wSUhObGNtbGhiR2w2WldRZ1BTQjBhR2x6TG5ObGNtbGhiR2w2WlZCc1lXbHVLRnh1SUNBZ0lDQWdkbUZzZFdVZ1lYTWdVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaXhjYmlBZ0lDQWdJQzR1TG1GeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJRzFsZEdGa1lYUmhJRDFjYmlBZ0lDQWdJSFJvYVhNdVoyVjBUV1YwWVdSaGRHRW9kbUZzZFdVdVkyOXVjM1J5ZFdOMGIzSWdZWE1nUTI5dWMzUnlkV04wYjNJcElEOC9YRzRnSUNBZ0lDQjJZV3gxWlM1amIyNXpkSEoxWTNSdmNqOHVibUZ0WlR0Y2JpQWdJQ0JwWmlBb2JXVjBZV1JoZEdFcElITmxjbWxoYkdsNlpXUmJUVzlrWld4TFpYbHpMa0ZPUTBoUFVsMGdQU0J0WlhSaFpHRjBZVHRjYmlBZ0lDQnlaWFIxY200Z2MyVnlhV0ZzYVhwbFpEdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjMlZ5YVdGc2FYcGxVR3hoYVc0b1hHNGdJQ0FnZG1Gc2RXVTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRzWEc0Z0lDQWdMaTR1WVhKbmN6b2dZVzU1VzExY2JpQWdLVG9nVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytJRDBnZTMwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCYmEyVjVMQ0JqYUdsc1pGMGdiMllnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQnlaWE4xYkhSYmEyVjVYU0E5SUhSb2FYTXVjMlZ5YVdGc2FYcGxWbUZzZFdVb1kyaHBiR1FzSUM0dUxtRnlaM01wTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCblpYUk5aWFJoWkdGMFlTaGpiMjV6ZEhKMVkzUnZjam9nUTI5dWMzUnlkV04wYjNJcE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdUV1YwWVdSaGRHRXViVzlrWld4T1lXMWxLR052Ym5OMGNuVmpkRzl5S1R0Y2JpQWdJQ0I5SUdOaGRHTm9JSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnlaV0oxYVd4a1ZtRnNkV1VvZG1Gc2RXVTZJR0Z1ZVNrNklHRnVlU0I3WEc0Z0lDQWdhV1lnS0haaGJIVmxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUIyWVd4MVpTQWhQVDBnWENKdlltcGxZM1JjSWlrZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhaaGJIVmxMbTFoY0Nnb2FYUmxiU2tnUFQ0Z2RHaHBjeTV5WldKMWFXeGtWbUZzZFdVb2FYUmxiU2twTzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCaGJtTm9iM0lnUFNCMllXeDFaVnROYjJSbGJFdGxlWE11UVU1RFNFOVNYVHRjYmlBZ0lDQmpiMjV6ZENCeVpXSjFhV3gwSUQwZ2RHaHBjeTV5WldKMWFXeGtUMkpxWldOMEtIWmhiSFZsS1R0Y2JpQWdJQ0JwWmlBb0lXRnVZMmh2Y2lrZ2NtVjBkWEp1SUhKbFluVnBiSFE3WEc0Z0lDQWdhV1lnS0dGdVkyaHZjaUE5UFQwZ1hDSS9QMk52Ym1ScGRHbHZibHdpS1NCeVpYUjFjbTRnUTI5dVpHbDBhVzl1TG1aeWIyMG9jbVZpZFdsc2RDazdYRzRnSUNBZ2NtVjBkWEp1SUUxdlpHVnNMbUoxYVd4a0tISmxZblZwYkhRc0lHRnVZMmh2Y2lrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElISmxZblZwYkdSUFltcGxZM1FvZG1Gc2RXVTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRwT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0lIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRnUFNCN2ZUdGNiaUFnSUNCbWIzSWdLR052Ym5OMElGdHJaWGtzSUdOb2FXeGtYU0J2WmlCUFltcGxZM1F1Wlc1MGNtbGxjeWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJR2xtSUNoclpYa2dQVDA5SUUxdlpHVnNTMlY1Y3k1QlRrTklUMUlwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnY21WemRXeDBXMnRsZVYwZ1BTQjBhR2x6TG5KbFluVnBiR1JXWVd4MVpTaGphR2xzWkNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRSE4xYlcxaGNua2dVMlZ5YVdGc2FYcGxjeUJoSUcxdlpHVnNYRzRnSUNBcUlFQndZWEpoYlNCN1ZIMGdiVzlrWld4Y2JpQWdJQ3BjYmlBZ0lDb2dRSFJvY205M2N5QjdSWEp5YjNKOUlHbG1JR1poYVd4eklIUnZJSE5sY21saGJHbDZaVnh1SUNBZ0tpOWNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MTFiblZ6WldRdGRtRnljMXh1SUNCdmRtVnljbWxrWlNCelpYSnBZV3hwZW1Vb2JXOWtaV3c2SUUwc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTbE5QVGk1emRISnBibWRwWm5rb2RHaHBjeTV3Y21WVFpYSnBZV3hwZW1Vb2JXOWtaV3dwS1R0Y2JpQWdmVnh1ZlZ4dVhHNUFiVzlrWld3b0tWeHVZMnhoYzNNZ1RXRnVkV1poWTNSMWNtVnlRV1JrY21WemN5QmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRRzFwYm14bGJtZDBhQ2d5S1Z4dUlDQmhaR1J5WlhOeklUb2djM1J5YVc1bk8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHRnlaejg2SUUxdlpHVnNRWEpuUEUxaGJuVm1ZV04wZFhKbGNrRmtaSEpsYzNNK0tTQjdYRzRnSUNBZ2MzVndaWElvWVhKbktUdGNiaUFnZlZ4dWZWeHVYRzVBYzJoaGNtVmtSR0YwWVNoT1lXMWxjM0JoWTJWRGIyeHNaV04wYVc5dUtGd2laR1ZqWVdZdGJtRnRaWE53WVdObFhDSXBLVnh1UUdSbGMyTnlhWEIwYVc5dUtGd2lVbVZ3Y21WelpXNTBjeUJoSUhCeWIyUjFZM1FnWW1GMFkyaGNJaWxjYmtCMWMyVnpLRVpoWW5KcFkwWnNZWFp2ZFhJcFhHNUFRbXh2WTJ0UGNHVnlZWFJwYjI1ektGdFBjR1Z5WVhScGIyNUxaWGx6TGtSRlRFVlVSVjBwWEc1QWRHRmliR1VvWENKdmRHaGxjbDlpWVhSamFGOXphR0Z5WldSY0lpbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1QzUm9aWEpDWVhSamFGTm9ZWEpsWkNCbGVIUmxibVJ6SUVKaGMyVkpaR1Z1ZEdsbWFXVmtUVzlrWld3Z2UxeHVJQ0JBY0dzb0tWeHVJQ0JBWVhWa2FYUW9UM1JvWlhKQ1lYUmphRk5vWVhKbFpDbGNiaUFnUUdocGMzUnZjbmxFWldNb0tWeHVJQ0JBYldseWNtOXlLRndpYldseWNtOXlMV052Ykd4bFkzUnBiMjVjSWl3Z1hDSlFhR0Z5YldGc1pXUm5aWEpoYzNOdlkwMVRVRndpS1Z4dUlDQkFZMjl0Y0c5elpXUW9XMXdpY0hKdlpIVmpkRU52WkdWY0lpd2dYQ0ppWVhSamFFNTFiV0psY2x3aVhTd2dYQ0k2WENJcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lsVnVhWEYxWlNCcFpHVnVkR2xtYVdWeUlHTnZiWEJ2YzJWa0lHOW1JSEJ5YjJSMVkzUWdZMjlrWlNCaGJtUWdZbUYwWTJnZ2JuVnRZbVZ5TGx3aUtWeHVJQ0JwWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWjNScGJpZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJQzh2SUVCdFlXNTVWRzlQYm1Vb1hHNGdJQzh2SUNBZ0tDa2dQVDRnVUhKdlpIVmpkQ3hjYmlBZ0x5OGdJQ0I3SUhWd1pHRjBaVG9nUTJGelkyRmtaUzVPVDA1RkxDQmtaV3hsZEdVNklFTmhjMk5oWkdVdVRrOU9SU0I5TEZ4dUlDQXZMeUFnSUdaaGJITmxYRzRnSUM4dklDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrTnZaR1VnYjJZZ2RHaGxJSEJ5YjJSMVkzUWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lIUm9hWE1nWW1GMFkyZ3VYQ0lwWEc0Z0lFQmtaV1poZFd4MFVYVmxjbmxCZEhSeUtDbGNiaUFnY0hKdlpIVmpkRU52WkdVaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaV0ZrYjI1c2VTZ3BYRzRnSUVCd1lYUjBaWEp1S0VKaGRHTm9VR0YwZEdWeWJpbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrSmhkR05vSUc1MWJXSmxjaUJoYzNOcFoyNWxaQ0IwYnlCMGFHVWdjSEp2WkhWamRDNWNJaWxjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0JpWVhSamFFNTFiV0psY2lFNklITjBjbWx1Wnp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUdSaGRHVW9YQ0o1ZVhsNUxVMU5MV1JrSUVoSU9tMXRPbk56WENJcFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKRVlYUmxJSGRvWlc0Z2RHaGxJR0poZEdOb0lHVjRjR2x5WlhNdVhDSXBYRzRnSUdWNGNHbHllVVJoZEdVaE9pQkVZWFJsTzF4dVhHNGdJRUJqYjJ4MWJXNG9LVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pKYlhCdmNuUWdiR2xqWlc1elpTQnVkVzFpWlhJZ1ptOXlJSFJvYVhNZ1ltRjBZMmd1WENJcFhHNGdJR2x0Y0c5eWRFeHBZMlZ1YzJWT2RXMWlaWEkvT2lCemRISnBibWM3WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJa1JoZEdVZ2QyaGxiaUIwYUdVZ1ltRjBZMmdnZDJGeklHMWhiblZtWVdOMGRYSmxaQzVjSWlsY2JpQWdRR1JoZEdVb1JHRjBaVkJoZEhSbGNtNHBYRzRnSUdSaGRHVlBaazFoYm5WbVlXTjBkWEpwYm1jL09pQkVZWFJsTzF4dVhHNGdJRUJqYjJ4MWJXNG9LVnh1SUNCQWFXNWtaWGdvVzA5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXl3Z1QzSmtaWEpFYVhKbFkzUnBiMjR1UkZORFhTbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lUbUZ0WlNCdlppQjBhR1VnY0hKdlpIVmpkQ0J0WVc1MVptRmpkSFZ5WlhJdVhDSXBYRzRnSUcxaGJuVm1ZV04wZFhKbGNrNWhiV1UvT2lCemRISnBibWM3WEc1Y2JpQWdRSE5sY21saGJHbDZaU2hCY25KaGVWTmxjbWxoYkdsNlpYSXBYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFiR2x6ZENoTllXNTFabUZqZEhWeVpYSkJaR1J5WlhOektWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSk5ZVzUxWm1GamRIVnlaWElnWVdSa2NtVnpjMXdpS1Z4dUlDQnRZVzUxWm1GamRIVnlaWEpCWkdSeVpYTnpQem9nVFdGdWRXWmhZM1IxY21WeVFXUmtjbVZ6YzF0ZE8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKT1lXMWxJRzltSUhSb1pTQnphWFJsSUhkb1pYSmxJSFJvWlNCd2NtOWtkV04wSUhkaGN5QndZV05yWVdkbFpDNWNJaWxjYmlBZ2NHRmphMkZuYVc1blUybDBaVTVoYldVL09pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnBibVJsZUNoYlQzSmtaWEpFYVhKbFkzUnBiMjR1UVZORExDQlBjbVJsY2tScGNtVmpkR2x2Ymk1RVUwTmRLVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pKYm1ScFkyRjBaWE1nZDJobGRHaGxjaUIwYUdseklHSmhkR05vSUdoaGN5QmlaV1Z1SUhKbFkyRnNiR1ZrTGx3aUtWeHVJQ0JpWVhSamFGSmxZMkZzYkRvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTzF4dVhHNGdJRUJ2ZDI1bFpFSjVLQ2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpZEdobElHOTNibVZ5SUNodGMzQXBJRzltSUhSb1pTQmlZWFJqYUZ3aUtWeHVJQ0J2ZDI1bGNpRTZJSE4wY21sdVp6dGNibHh1SUNCQWRtVnljMmx2YmlncFhHNGdJRzkyWlhKeWFXUmxJSFpsY25OcGIyNGhPaUJ1ZFcxaVpYSTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iVzlrWld3L09pQk5iMlJsYkVGeVp6eFBkR2hsY2tKaGRHTm9VMmhoY21Wa1Bpa2dlMXh1SUNBZ0lITjFjR1Z5S0cxdlpHVnNLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
|
|
@@ -46,7 +46,7 @@ exports.Leaflet = Leaflet;
|
|
|
46
46
|
__decorate([
|
|
47
47
|
(0, core_1.pk)(),
|
|
48
48
|
(0, history_dec_js_1.historyDec)(),
|
|
49
|
-
(0, index_js_1.mirror)("mirror-collection", "
|
|
49
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
50
50
|
(0, decorators_private_js_1.audit)(Leaflet),
|
|
51
51
|
(0, db_decorators_1.composed)(["productCode", "batchNumber", "leafletType", "lang", "epiMarket"], ":", ["batchNumber", "epiMarket"]),
|
|
52
52
|
(0, decoration_1.description)("Unique identifier composed of product code, batch number, and language."),
|
|
@@ -117,5 +117,5 @@ exports.Leaflet = Leaflet = __decorate([
|
|
|
117
117
|
(0, decorator_validation_1.model)(),
|
|
118
118
|
__metadata("design:paramtypes", [Object])
|
|
119
119
|
], Leaflet);
|
|
120
|
-
//# sourceMappingURL=
|
|
121
|
-
//# sourceMappingURL=OtherLeaflet.js.map
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9PdGhlckxlYWZsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsY0FBYyxFQUNkLEVBQUUsRUFDRixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUM1RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsR0FDWCxnQ0FBMkI7QUFDNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxnQ0FBNkI7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBc0I7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBZTtBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQTJCO0FBUy9DLElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBUSxTQUFRLG1CQUFtQjtJQTBFOUMsWUFBWSxLQUF5QjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUF2Q2YsZ0JBQVcsR0FBVyxTQUFTLENBQUM7SUF3Q2hDLENBQUM7SUFFUSxPQUFPLENBQ2QsS0FBUSxFQUNSLEdBQUcsVUFBdUI7UUFFMUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUNsQixLQUFZLEVBQ1osR0FBSTtZQUNGLEdBQUcsSUFBSSxHQUFHLENBQUM7Z0JBQ1QsVUFBVTtnQkFDVixXQUFXO2dCQUNYLFdBQVc7Z0JBQ1gsbUJBQW1CO2dCQUNuQixnQkFBZ0I7YUFDakIsQ0FBQyxDQUFDLE1BQU0sRUFBRTtTQUNGLENBQ1osQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBbEZDO0lBWkMsRUFBRSxFQUFFO0lBQ0osVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO0lBQ25ELEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDZCxRQUFRLENBQ1AsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQ2xFLEdBQUcsRUFDSCxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FDN0I7SUFDQSxXQUFXLENBQ1YseUVBQXlFLENBQzFFOzttQ0FDVztBQVNaO0lBUEMsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHdEQUF3RCxDQUFDO0lBQ3JFLGdCQUFnQixFQUFFOzs0Q0FDRTtBQU9yQjtJQUxDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxvREFBb0QsQ0FBQztJQUNqRSxnQkFBZ0IsRUFBRTs7NENBQ0U7QUFPckI7SUFMQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQUMsdUNBQXVDLENBQUM7OzRDQUNyQjtBQU9oQztJQUxDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyx3REFBd0QsQ0FBQzs7cUNBQ3hEO0FBSWQ7SUFGQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7OzBDQUNRO0FBV25CO0lBVEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsV0FBVyxDQUFDLDZDQUE2QyxDQUFDO0lBQzFELFFBQVEsQ0FDUCxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFDdEIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUNwRCxLQUFLLENBQ047SUFDQSxXQUFXLENBQUMsMENBQTBDLENBQUM7OytDQUNiO0FBVTNDO0lBUkMsU0FBUyxDQUNSLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUN0QixFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQ3BELEtBQUssQ0FDTjtJQUNBLFdBQVcsQ0FDVix5RUFBeUUsQ0FDMUU7O2tEQUNpRDtBQUlsRDtJQUZDLE9BQU8sRUFBRTtJQUNULFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQzs7c0NBQy9CO0FBeEVKLE9BQU87SUFQbkIsV0FBVyxDQUNWLCtFQUErRSxDQUNoRjtJQUNBLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkIsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUN0QixVQUFVLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxLQUFLLEVBQUU7O0dBQ0ssT0FBTyxDQStGbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wYXJpc29uLFxuICBNb2RlbCxcbiAgdHlwZSBNb2RlbEFyZyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ2FzY2FkZSxcbiAgY29sdW1uLFxuICBkZWZhdWx0UXVlcnlBdHRyLFxuICBpbmRleCxcbiAgb25lVG9NYW55LFxuICBvbmVUb09uZSxcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIHBrLFxuICB0YWJsZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCwgcmVhZG9ubHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHtcbiAgRmFicmljRmxhdm91cixcbiAgbWlycm9yLFxuICBOYW1lc3BhY2VDb2xsZWN0aW9uLFxuICBvd25lZEJ5LFxuICBzaGFyZWREYXRhLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2luZGV4XCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnMtcHJpdmF0ZVwiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuL2hpc3RvcnktZGVjXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3RpblwiO1xuaW1wb3J0IHsgT3RoZXJMZWFmbGV0RmlsZSB9IGZyb20gXCIuL090aGVyTGVhZmxldEZpbGVcIjtcblxuQGRlc2NyaXB0aW9uKFxuICBcIlJlcHJlc2VudHMgdGhlIGVQSSBsZWFmbGV0IGxpbmtlZCB0byBhIHNwZWNpZmljIHByb2R1Y3QsIGJhdGNoLCBhbmQgbGFuZ3VhZ2UuXCJcbilcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AdGFibGUoXCJvdGhlcl9sZWFmbGV0XCIpXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBMZWFmbGV0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwaygpXG4gIEBoaXN0b3J5RGVjKClcbiAgQG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIilcbiAgQGF1ZGl0KExlYWZsZXQpXG4gIEBjb21wb3NlZChcbiAgICBbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCIsIFwibGVhZmxldFR5cGVcIiwgXCJsYW5nXCIsIFwiZXBpTWFya2V0XCJdLFxuICAgIFwiOlwiLFxuICAgIFtcImJhdGNoTnVtYmVyXCIsIFwiZXBpTWFya2V0XCJdXG4gIClcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlLCBiYXRjaCBudW1iZXIsIGFuZCBsYW5ndWFnZS5cIlxuICApXG4gIGlkITogc3RyaW5nO1xuXG4gIEBndGluKClcbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJHVElOIGNvZGUgb2YgdGhlIHByb2R1Y3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGVhZmxldC5cIilcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkJhdGNoIG51bWJlciBsaW5rZWQgdG8gdGhlIHByb2R1Y3QsIGlmIGFwcGxpY2FibGUuXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgYmF0Y2hOdW1iZXI/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJUeXBlIGNhdGVnb3J5IHRoZSBsZWFmbGV0IGJlbG9uZ3MgdG8uXCIpXG4gIGxlYWZsZXRUeXBlOiBzdHJpbmcgPSBcImxlYWZsZXRcIjtcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkxhbmd1YWdlIGNvZGUgb2YgdGhlIGxlYWZsZXQgKGUuZy4sICdlbicsICdwdCcsICdlcycpLlwiKVxuICBsYW5nITogc3RyaW5nOyAvLyBUT0RPIC0+IHJvbGxiYWNrIHRvIGxhbmd1YWdlIHByb3BlcnR5XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIGVwaU1hcmtldCE6IHN0cmluZzsgLy8gVE9ETyAtPiBDcmVhdGUgdmFsaWRhdGlvbiBkZWNvcmF0b3IuIENvdW50cnlNYXJrZXQgaXMgYSBDT05ESVRJT05BTCBwcm9wZXJ0eS4gY2FuIG9ubHkgZXhpc3QgZm9yIHByb2R1Y3Qgb25seS4gbm8gYmF0Y2hcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGRlc2NyaXB0aW9uKFwiTWFpbiBYTUwgY29udGVudCBvZiB0aGUgZWxlY3Ryb25pYyBsZWFmbGV0LlwiKVxuICBAb25lVG9PbmUoXG4gICAgKCkgPT4gT3RoZXJMZWFmbGV0RmlsZSxcbiAgICB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LFxuICAgIGZhbHNlXG4gIClcbiAgQGRlc2NyaXB0aW9uKFwiZmlsZSB3aXRoIHRoZSB4bWwgY29udGVudCBvZiB0aGUgbGVhZmxldFwiKVxuICB4bWxGaWxlQ29udGVudCE6IHN0cmluZyB8IE90aGVyTGVhZmxldEZpbGU7XG5cbiAgQG9uZVRvTWFueShcbiAgICAoKSA9PiBPdGhlckxlYWZsZXRGaWxlLFxuICAgIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sXG4gICAgZmFsc2VcbiAgKVxuICBAZGVzY3JpcHRpb24oXG4gICAgXCJMaXN0IG9mIGFkZGl0aW9uYWwgZmlsZXMgbGlua2VkIHRvIHRoZSBsZWFmbGV0LCBzdWNoIGFzIFBERnMgb3IgaW1hZ2VzLlwiXG4gIClcbiAgb3RoZXJGaWxlc0NvbnRlbnQhOiBzdHJpbmdbXSB8IE90aGVyTGVhZmxldEZpbGVbXTtcblxuICBAb3duZWRCeSgpXG4gIEBkZXNjcmlwdGlvbihcInRoZSBvd25lciAobXNwKSBvZiB0aGUgbGVhZmxldFwiKVxuICBvd25lciE6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPExlYWZsZXQ+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY29tcGFyZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG90aGVyOiBNLFxuICAgIC4uLmV4Y2VwdGlvbnM6IChrZXlvZiBNKVtdXG4gICk6IENvbXBhcmlzb248TT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5jb21wYXJlPE0+KFxuICAgICAgb3RoZXIgYXMgYW55LFxuICAgICAgLi4uKFtcbiAgICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgICAgZXhjZXB0aW9ucyxcbiAgICAgICAgICBcInVwZGF0ZWRBdFwiLFxuICAgICAgICAgIFwidXBkYXRlZEJ5XCIsXG4gICAgICAgICAgXCJvdGhlckZpbGVzQ29udGVudFwiLFxuICAgICAgICAgIFwieG1sRmlsZUNvbnRlbnRcIixcbiAgICAgICAgXSkudmFsdWVzKCksXG4gICAgICBdIGFzIGFueVtdKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT3RoZXJMZWFmbGV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDNUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVaLGt1UUFBa3VRIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENhc2NhZGUsIGNvbHVtbiwgZGVmYXVsdFF1ZXJ5QXR0ciwgaW5kZXgsIG9uZVRvTWFueSwgb25lVG9PbmUsIE9yZGVyRGlyZWN0aW9uLCBwaywgdGFibGUsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCwgcmVhZG9ubHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbC5qc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciwgbWlycm9yLCBOYW1lc3BhY2VDb2xsZWN0aW9uLCBvd25lZEJ5LCBzaGFyZWREYXRhLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi9kZWNvcmF0b3JzLXByaXZhdGUuanNcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi9oaXN0b3J5LWRlYy5qc1wiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuL2d0aW4uanNcIjtcbmltcG9ydCB7IE90aGVyTGVhZmxldEZpbGUgfSBmcm9tIFwiLi9PdGhlckxlYWZsZXRGaWxlLmpzXCI7XG5sZXQgTGVhZmxldCA9IGNsYXNzIExlYWZsZXQgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbCkge1xuICAgICAgICBzdXBlcihtb2RlbCk7XG4gICAgICAgIHRoaXMubGVhZmxldFR5cGUgPSBcImxlYWZsZXRcIjtcbiAgICB9XG4gICAgY29tcGFyZShvdGhlciwgLi4uZXhjZXB0aW9ucykge1xuICAgICAgICByZXR1cm4gc3VwZXIuY29tcGFyZShvdGhlciwgLi4uW1xuICAgICAgICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9ucyxcbiAgICAgICAgICAgICAgICBcInVwZGF0ZWRBdFwiLFxuICAgICAgICAgICAgICAgIFwidXBkYXRlZEJ5XCIsXG4gICAgICAgICAgICAgICAgXCJvdGhlckZpbGVzQ29udGVudFwiLFxuICAgICAgICAgICAgICAgIFwieG1sRmlsZUNvbnRlbnRcIixcbiAgICAgICAgICAgIF0pLnZhbHVlcygpLFxuICAgICAgICBdKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBhdWRpdChMZWFmbGV0KSxcbiAgICBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCIsIFwibGVhZmxldFR5cGVcIiwgXCJsYW5nXCIsIFwiZXBpTWFya2V0XCJdLCBcIjpcIiwgW1wiYmF0Y2hOdW1iZXJcIiwgXCJlcGlNYXJrZXRcIl0pLFxuICAgIGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlLCBiYXRjaCBudW1iZXIsIGFuZCBsYW5ndWFnZS5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBndGluKCksXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiR1RJTiBjb2RlIG9mIHRoZSBwcm9kdWN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxlYWZsZXQuXCIpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwicHJvZHVjdENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJCYXRjaCBudW1iZXIgbGlua2VkIHRvIHRoZSBwcm9kdWN0LCBpZiBhcHBsaWNhYmxlLlwiKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcImJhdGNoTnVtYmVyXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJUeXBlIGNhdGVnb3J5IHRoZSBsZWFmbGV0IGJlbG9uZ3MgdG8uXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJsZWFmbGV0VHlwZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiTGFuZ3VhZ2UgY29kZSBvZiB0aGUgbGVhZmxldCAoZS5nLiwgJ2VuJywgJ3B0JywgJ2VzJykuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJsYW5nXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZWFkb25seSgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJlcGlNYXJrZXRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgZGVzY3JpcHRpb24oXCJNYWluIFhNTCBjb250ZW50IG9mIHRoZSBlbGVjdHJvbmljIGxlYWZsZXQuXCIpLFxuICAgIG9uZVRvT25lKCgpID0+IE90aGVyTGVhZmxldEZpbGUsIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sIGZhbHNlKSxcbiAgICBkZXNjcmlwdGlvbihcImZpbGUgd2l0aCB0aGUgeG1sIGNvbnRlbnQgb2YgdGhlIGxlYWZsZXRcIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcInhtbEZpbGVDb250ZW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvbmVUb01hbnkoKCkgPT4gT3RoZXJMZWFmbGV0RmlsZSwgeyB1cGRhdGU6IENhc2NhZGUuQ0FTQ0FERSwgZGVsZXRlOiBDYXNjYWRlLkNBU0NBREUgfSwgZmFsc2UpLFxuICAgIGRlc2NyaXB0aW9uKFwiTGlzdCBvZiBhZGRpdGlvbmFsIGZpbGVzIGxpbmtlZCB0byB0aGUgbGVhZmxldCwgc3VjaCBhcyBQREZzIG9yIGltYWdlcy5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwib3RoZXJGaWxlc0NvbnRlbnRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG93bmVkQnkoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSBvd25lciAobXNwKSBvZiB0aGUgbGVhZmxldFwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbkxlYWZsZXQgPSBfX2RlY29yYXRlKFtcbiAgICBkZXNjcmlwdGlvbihcIlJlcHJlc2VudHMgdGhlIGVQSSBsZWFmbGV0IGxpbmtlZCB0byBhIHNwZWNpZmljIHByb2R1Y3QsIGJhdGNoLCBhbmQgbGFuZ3VhZ2UuXCIpLFxuICAgIHVzZXMoRmFicmljRmxhdm91ciksXG4gICAgdGFibGUoXCJvdGhlcl9sZWFmbGV0XCIpLFxuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSksXG4gICAgbW9kZWwoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW09iamVjdF0pXG5dLCBMZWFmbGV0KTtcbmV4cG9ydCB7IExlYWZsZXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpNWldGbWJHVjBMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJuUnlZV04wTDIxdlpHVnNjeTlQZEdobGNreGxZV1pzWlhRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJTMEVzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVTnFSU3hQUVVGUExFVkJRMHdzVDBGQlR5eEZRVU5RTEUxQlFVMHNSVUZEVGl4blFrRkJaMElzUlVGRGFFSXNTMEZCU3l4RlFVTk1MRk5CUVZNc1JVRkRWQ3hSUVVGUkxFVkJRMUlzWTBGQll5eEZRVU5rTEVWQlFVVXNSVUZEUml4TFFVRkxMRWRCUTA0c1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVTjRRaXhQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlF6ZEVMRTlCUVU4c1JVRkJSU3hYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNjMEpCUVhOQ0xFTkJRVU03UVVGRGVrUXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTEdsRFFVRTRRanRCUVVNMVJDeFBRVUZQTEVWQlEwd3NZVUZCWVN4RlFVTmlMRTFCUVUwc1JVRkRUaXh0UWtGQmJVSXNSVUZEYmtJc1QwRkJUeXhGUVVOUUxGVkJRVlVzUjBGRFdDeG5RMEZCTWtJN1FVRkROVUlzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4blEwRkJOa0k3UVVGRE4wTXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3g1UWtGQmMwSTdRVUZETTBNc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeHJRa0ZCWlR0QlFVTTVRaXhQUVVGUExFVkJRVVVzWjBKQlFXZENMRVZCUVVVc09FSkJRVEpDTzBGQlV5OURMRWxCUVUwc1QwRkJUeXhIUVVGaUxFMUJRVTBzVDBGQlVTeFRRVUZSTEcxQ1FVRnRRanRKUVRCRk9VTXNXVUZCV1N4TFFVRjVRanRSUVVOdVF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRjJRMllzWjBKQlFWY3NSMEZCVnl4VFFVRlRMRU5CUVVNN1NVRjNRMmhETEVOQlFVTTdTVUZGVVN4UFFVRlBMRU5CUTJRc1MwRkJVU3hGUVVOU0xFZEJRVWNzVlVGQmRVSTdVVUZGTVVJc1QwRkJUeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVU5zUWl4TFFVRlpMRVZCUTFvc1IwRkJTVHRaUVVOR0xFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTTdaMEpCUTFRc1ZVRkJWVHRuUWtGRFZpeFhRVUZYTzJkQ1FVTllMRmRCUVZjN1owSkJRMWdzYlVKQlFXMUNPMmRDUVVOdVFpeG5Ra0ZCWjBJN1lVRkRha0lzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlR0VFFVTkdMRU5CUTFvc1EwRkJRenRKUVVOS0xFTkJRVU03UTBGRFJpeERRVUZCTzBGQmJFWkRPMGxCV2tNc1JVRkJSU3hGUVVGRk8wbEJRMG9zVlVGQlZTeEZRVUZGTzBsQlExb3NUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEhOQ1FVRnpRaXhEUVVGRE8wbEJRMjVFTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkRaQ3hSUVVGUkxFTkJRMUFzUTBGQlF5eGhRVUZoTEVWQlFVVXNZVUZCWVN4RlFVRkZMR0ZCUVdFc1JVRkJSU3hOUVVGTkxFVkJRVVVzVjBGQlZ5eERRVUZETEVWQlEyeEZMRWRCUVVjc1JVRkRTQ3hEUVVGRExHRkJRV0VzUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZETjBJN1NVRkRRU3hYUVVGWExFTkJRMVlzZVVWQlFYbEZMRU5CUXpGRk96dHRRMEZEVnp0QlFWTmFPMGxCVUVNc1NVRkJTU3hGUVVGRk8wbEJRMDRzVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExIZEVRVUYzUkN4RFFVRkRPMGxCUTNKRkxHZENRVUZuUWl4RlFVRkZPenMwUTBGRFJUdEJRVTl5UWp0SlFVeERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGRkJRVkVzUlVGQlJUdEpRVU5XTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5eHZSRUZCYjBRc1EwRkJRenRKUVVOcVJTeG5Ra0ZCWjBJc1JVRkJSVHM3TkVOQlEwVTdRVUZQY2tJN1NVRk1ReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFJRVUZSTEVWQlFVVTdTVUZEVml4UlFVRlJMRVZCUVVVN1NVRkRWaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2RVTkJRWFZETEVOQlFVTTdPelJEUVVOeVFqdEJRVTlvUXp0SlFVeERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGRkJRVkVzUlVGQlJUdEpRVU5XTEZGQlFWRXNSVUZCUlR0SlFVTldMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJReTlETEZkQlFWY3NRMEZCUXl4M1JFRkJkMFFzUTBGQlF6czdjVU5CUTNoRU8wRkJTV1E3U1VGR1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN096QkRRVU5STzBGQlYyNUNPMGxCVkVNc1RVRkJUU3hGUVVGRk8wbEJRMUlzVVVGQlVTeEZRVUZGTzBsQlExWXNWMEZCVnl4RFFVRkRMRFpEUVVFMlF5eERRVUZETzBsQlF6RkVMRkZCUVZFc1EwRkRVQ3hIUVVGSExFVkJRVVVzUTBGQlF5eG5Ra0ZCWjBJc1JVRkRkRUlzUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzVDBGQlR5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVTndSQ3hMUVVGTExFTkJRMDQ3U1VGRFFTeFhRVUZYTEVOQlFVTXNNRU5CUVRCRExFTkJRVU03T3l0RFFVTmlPMEZCVlRORE8wbEJVa01zVTBGQlV5eERRVU5TTEVkQlFVY3NSVUZCUlN4RFFVRkRMR2RDUVVGblFpeEZRVU4wUWl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRM0JFTEV0QlFVc3NRMEZEVGp0SlFVTkJMRmRCUVZjc1EwRkRWaXg1UlVGQmVVVXNRMEZETVVVN08ydEVRVU5wUkR0QlFVbHNSRHRKUVVaRExFOUJRVThzUlVGQlJUdEpRVU5VTEZkQlFWY3NRMEZCUXl4blEwRkJaME1zUTBGQlF6czdjME5CUXk5Q08wRkJlRVZLTEU5QlFVODdTVUZRYmtJc1YwRkJWeXhEUVVOV0xDdEZRVUVyUlN4RFFVTm9SanRKUVVOQkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTTdTVUZEYmtJc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF6dEpRVU4wUWl4VlFVRlZMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEpRVU5zUkN4TFFVRkxMRVZCUVVVN08wZEJRMHNzVDBGQlR5eERRU3RHYmtJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UxeHVJQ0JEYjIxd1lYSnBjMjl1TEZ4dUlDQk5iMlJsYkN4Y2JpQWdkSGx3WlNCTmIyUmxiRUZ5Wnl4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ2JXOWtaV3dzSUhKbGNYVnBjbVZrSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1EyRnpZMkZrWlN4Y2JpQWdZMjlzZFcxdUxGeHVJQ0JrWldaaGRXeDBVWFZsY25sQmRIUnlMRnh1SUNCcGJtUmxlQ3hjYmlBZ2IyNWxWRzlOWVc1NUxGeHVJQ0J2Ym1WVWIwOXVaU3hjYmlBZ1QzSmtaWEpFYVhKbFkzUnBiMjRzWEc0Z0lIQnJMRnh1SUNCMFlXSnNaU3hjYm4wZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZXlCamIyMXdiM05sWkN3Z2NtVmhaRzl1YkhrZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHUmxjMk55YVhCMGFXOXVMQ0IxYzJWeklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIMGdabkp2YlNCY0lpNHZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dWFXMXdiM0owSUh0Y2JpQWdSbUZpY21salJteGhkbTkxY2l4Y2JpQWdiV2x5Y205eUxGeHVJQ0JPWVcxbGMzQmhZMlZEYjJ4c1pXTjBhVzl1TEZ4dUlDQnZkMjVsWkVKNUxGeHVJQ0J6YUdGeVpXUkVZWFJoTEZ4dWZTQm1jbTl0SUZ3aUxpNHZMaTR2YzJoaGNtVmtMMmx1WkdWNFhDSTdYRzVwYlhCdmNuUWdleUJoZFdScGRDQjlJR1p5YjIwZ1hDSXVMMlJsWTI5eVlYUnZjbk10Y0hKcGRtRjBaVndpTzF4dWFXMXdiM0owSUhzZ2FHbHpkRzl5ZVVSbFl5QjlJR1p5YjIwZ1hDSXVMMmhwYzNSdmNua3RaR1ZqWENJN1hHNXBiWEJ2Y25RZ2V5Qm5kR2x1SUgwZ1puSnZiU0JjSWk0dlozUnBibHdpTzF4dWFXMXdiM0owSUhzZ1QzUm9aWEpNWldGbWJHVjBSbWxzWlNCOUlHWnliMjBnWENJdUwwOTBhR1Z5VEdWaFpteGxkRVpwYkdWY0lqdGNibHh1UUdSbGMyTnlhWEIwYVc5dUtGeHVJQ0JjSWxKbGNISmxjMlZ1ZEhNZ2RHaGxJR1ZRU1NCc1pXRm1iR1YwSUd4cGJtdGxaQ0IwYnlCaElITndaV05wWm1saklIQnliMlIxWTNRc0lHSmhkR05vTENCaGJtUWdiR0Z1WjNWaFoyVXVYQ0pjYmlsY2JrQjFjMlZ6S0VaaFluSnBZMFpzWVhadmRYSXBYRzVBZEdGaWJHVW9YQ0p2ZEdobGNsOXNaV0ZtYkdWMFhDSXBYRzVBYzJoaGNtVmtSR0YwWVNoT1lXMWxjM0JoWTJWRGIyeHNaV04wYVc5dUtGd2laR1ZqWVdZdGJtRnRaWE53WVdObFhDSXBLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5Qk1aV0ZtYkdWMElHVjRkR1Z1WkhNZ1FtRnpaVWxrWlc1MGFXWnBaV1JOYjJSbGJDQjdYRzRnSUVCd2F5Z3BYRzRnSUVCb2FYTjBiM0o1UkdWaktDbGNiaUFnUUcxcGNuSnZjaWhjSW0xcGNuSnZjaTFqYjJ4c1pXTjBhVzl1WENJc0lGd2lVR2hoY20xaGJHVmtaMlZ5WVhOemIyTk5VMUJjSWlsY2JpQWdRR0YxWkdsMEtFeGxZV1pzWlhRcFhHNGdJRUJqYjIxd2IzTmxaQ2hjYmlBZ0lDQmJYQ0p3Y205a2RXTjBRMjlrWlZ3aUxDQmNJbUpoZEdOb1RuVnRZbVZ5WENJc0lGd2liR1ZoWm14bGRGUjVjR1ZjSWl3Z1hDSnNZVzVuWENJc0lGd2laWEJwVFdGeWEyVjBYQ0pkTEZ4dUlDQWdJRndpT2x3aUxGeHVJQ0FnSUZ0Y0ltSmhkR05vVG5WdFltVnlYQ0lzSUZ3aVpYQnBUV0Z5YTJWMFhDSmRYRzRnSUNsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z4dUlDQWdJRndpVlc1cGNYVmxJR2xrWlc1MGFXWnBaWElnWTI5dGNHOXpaV1FnYjJZZ2NISnZaSFZqZENCamIyUmxMQ0JpWVhSamFDQnVkVzFpWlhJc0lHRnVaQ0JzWVc1bmRXRm5aUzVjSWx4dUlDQXBYRzRnSUdsa0lUb2djM1J5YVc1bk8xeHVYRzRnSUVCbmRHbHVLQ2xjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnlaV0ZrYjI1c2VTZ3BYRzRnSUVCcGJtUmxlQ2hiVDNKa1pYSkVhWEpsWTNScGIyNHVRVk5ETENCUGNtUmxja1JwY21WamRHbHZiaTVFVTBOZEtWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSkhWRWxPSUdOdlpHVWdiMllnZEdobElIQnliMlIxWTNRZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUhSb2FYTWdiR1ZoWm14bGRDNWNJaWxjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0J3Y205a2RXTjBRMjlrWlNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FISmxZV1J2Ym14NUtDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrSmhkR05vSUc1MWJXSmxjaUJzYVc1clpXUWdkRzhnZEdobElIQnliMlIxWTNRc0lHbG1JR0Z3Y0d4cFkyRmliR1V1WENJcFhHNGdJRUJrWldaaGRXeDBVWFZsY25sQmRIUnlLQ2xjYmlBZ1ltRjBZMmhPZFcxaVpYSS9PaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnlaV0ZrYjI1c2VTZ3BYRzRnSUVCcGJtUmxlQ2hiVDNKa1pYSkVhWEpsWTNScGIyNHVRVk5ETENCUGNtUmxja1JwY21WamRHbHZiaTVFVTBOZEtWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSlVlWEJsSUdOaGRHVm5iM0o1SUhSb1pTQnNaV0ZtYkdWMElHSmxiRzl1WjNNZ2RHOHVYQ0lwWEc0Z0lHeGxZV1pzWlhSVWVYQmxPaUJ6ZEhKcGJtY2dQU0JjSW14bFlXWnNaWFJjSWp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhKbFlXUnZibXg1S0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSWt4aGJtZDFZV2RsSUdOdlpHVWdiMllnZEdobElHeGxZV1pzWlhRZ0tHVXVaeTRzSUNkbGJpY3NJQ2R3ZENjc0lDZGxjeWNwTGx3aUtWeHVJQ0JzWVc1bklUb2djM1J5YVc1bk95QXZMeUJVVDBSUElDMCtJSEp2Ykd4aVlXTnJJSFJ2SUd4aGJtZDFZV2RsSUhCeWIzQmxjblI1WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJR1Z3YVUxaGNtdGxkQ0U2SUhOMGNtbHVaenNnTHk4Z1ZFOUVUeUF0UGlCRGNtVmhkR1VnZG1Gc2FXUmhkR2x2YmlCa1pXTnZjbUYwYjNJdUlFTnZkVzUwY25sTllYSnJaWFFnYVhNZ1lTQkRUMDVFU1ZSSlQwNUJUQ0J3Y205d1pYSjBlUzRnWTJGdUlHOXViSGtnWlhocGMzUWdabTl5SUhCeWIyUjFZM1FnYjI1c2VTNGdibThnWW1GMFkyaGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpVFdGcGJpQllUVXdnWTI5dWRHVnVkQ0J2WmlCMGFHVWdaV3hsWTNSeWIyNXBZeUJzWldGbWJHVjBMbHdpS1Z4dUlDQkFiMjVsVkc5UGJtVW9YRzRnSUNBZ0tDa2dQVDRnVDNSb1pYSk1aV0ZtYkdWMFJtbHNaU3hjYmlBZ0lDQjdJSFZ3WkdGMFpUb2dRMkZ6WTJGa1pTNURRVk5EUVVSRkxDQmtaV3hsZEdVNklFTmhjMk5oWkdVdVEwRlRRMEZFUlNCOUxGeHVJQ0FnSUdaaGJITmxYRzRnSUNsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVptbHNaU0IzYVhSb0lIUm9aU0I0Yld3Z1kyOXVkR1Z1ZENCdlppQjBhR1VnYkdWaFpteGxkRndpS1Z4dUlDQjRiV3hHYVd4bFEyOXVkR1Z1ZENFNklITjBjbWx1WnlCOElFOTBhR1Z5VEdWaFpteGxkRVpwYkdVN1hHNWNiaUFnUUc5dVpWUnZUV0Z1ZVNoY2JpQWdJQ0FvS1NBOVBpQlBkR2hsY2t4bFlXWnNaWFJHYVd4bExGeHVJQ0FnSUhzZ2RYQmtZWFJsT2lCRFlYTmpZV1JsTGtOQlUwTkJSRVVzSUdSbGJHVjBaVG9nUTJGelkyRmtaUzVEUVZORFFVUkZJSDBzWEc0Z0lDQWdabUZzYzJWY2JpQWdLVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YRzRnSUNBZ1hDSk1hWE4wSUc5bUlHRmtaR2wwYVc5dVlXd2dabWxzWlhNZ2JHbHVhMlZrSUhSdklIUm9aU0JzWldGbWJHVjBMQ0J6ZFdOb0lHRnpJRkJFUm5NZ2IzSWdhVzFoWjJWekxsd2lYRzRnSUNsY2JpQWdiM1JvWlhKR2FXeGxjME52Ym5SbGJuUWhPaUJ6ZEhKcGJtZGJYU0I4SUU5MGFHVnlUR1ZoWm14bGRFWnBiR1ZiWFR0Y2JseHVJQ0JBYjNkdVpXUkNlU2dwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSW5Sb1pTQnZkMjVsY2lBb2JYTndLU0J2WmlCMGFHVWdiR1ZoWm14bGRGd2lLVnh1SUNCdmQyNWxjaUU2SUhOMGNtbHVaenRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWh0YjJSbGJEODZJRTF2WkdWc1FYSm5QRXhsWVdac1pYUStLU0I3WEc0Z0lDQWdjM1Z3WlhJb2JXOWtaV3dwTzF4dUlDQjlYRzVjYmlBZ2IzWmxjbkpwWkdVZ1kyOXRjR0Z5WlR4TklHVjRkR1Z1WkhNZ1RXOWtaV3crS0Z4dUlDQWdJRzkwYUdWeU9pQk5MRnh1SUNBZ0lDNHVMbVY0WTJWd2RHbHZibk02SUNoclpYbHZaaUJOS1Z0ZFhHNGdJQ2s2SUVOdmJYQmhjbWx6YjI0OFRUNGdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJSEpsZEhWeWJpQnpkWEJsY2k1amIyMXdZWEpsUEUwK0tGeHVJQ0FnSUNBZ2IzUm9aWElnWVhNZ1lXNTVMRnh1SUNBZ0lDQWdMaTR1S0Z0Y2JpQWdJQ0FnSUNBZ0xpNHVibVYzSUZObGRDaGJYRzRnSUNBZ0lDQWdJQ0FnWlhoalpYQjBhVzl1Y3l4Y2JpQWdJQ0FnSUNBZ0lDQmNJblZ3WkdGMFpXUkJkRndpTEZ4dUlDQWdJQ0FnSUNBZ0lGd2lkWEJrWVhSbFpFSjVYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ1hDSnZkR2hsY2tacGJHVnpRMjl1ZEdWdWRGd2lMRnh1SUNBZ0lDQWdJQ0FnSUZ3aWVHMXNSbWxzWlVOdmJuUmxiblJjSWl4Y2JpQWdJQ0FnSUNBZ1hTa3VkbUZzZFdWektDa3NYRzRnSUNBZ0lDQmRJR0Z6SUdGdWVWdGRLVnh1SUNBZ0lDazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|