@researchdatabox/redbox-core 5.1.0-beta.12573 → 5.1.0-beta.13939
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/browser/redoc-library-loader.cjs +20 -0
- package/browser/redoc-standalone.js +143 -0
- package/dist/CoreBase.d.ts +43 -0
- package/dist/CoreBase.d.ts.map +1 -0
- package/dist/CoreBase.js +101 -0
- package/dist/CoreController.d.ts +23 -31
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +142 -131
- package/dist/CoreService.d.ts +13 -33
- package/dist/CoreService.d.ts.map +1 -1
- package/dist/CoreService.js +69 -95
- package/dist/HarvestRunService.d.ts +9 -1
- package/dist/HarvestRunService.d.ts.map +1 -1
- package/dist/HarvestRunService.js +1 -1
- package/dist/RecordRouteForm.d.ts +49 -0
- package/dist/RecordRouteForm.d.ts.map +1 -0
- package/dist/RecordRouteForm.js +188 -0
- package/dist/RecordSaveResponse.d.ts +4 -0
- package/dist/RecordSaveResponse.d.ts.map +1 -1
- package/dist/RecordSaveResponse.js +3 -2
- package/dist/action-execution/executor.d.ts +1 -1
- package/dist/action-execution/executor.d.ts.map +1 -1
- package/dist/action-execution/executor.js +19 -20
- package/dist/action-execution/legacy-result.d.ts +1 -1
- package/dist/action-execution/legacy-result.d.ts.map +1 -1
- package/dist/action-execution/legacy-result.js +43 -10
- package/dist/action-execution/types.d.ts +3 -3
- package/dist/action-execution/types.d.ts.map +1 -1
- package/dist/api-routes/groups/harvest-runs.d.ts +1 -0
- package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -1
- package/dist/api-routes/groups/harvest-runs.js +24 -3
- package/dist/api-routes/groups/records.d.ts.map +1 -1
- package/dist/api-routes/groups/records.js +30 -21
- package/dist/api-routes/groups/reports.d.ts.map +1 -1
- package/dist/api-routes/groups/reports.js +3 -2
- package/dist/api-routes/helpers.d.ts +1 -1
- package/dist/api-routes/helpers.d.ts.map +1 -1
- package/dist/api-routes/helpers.js +10 -6
- package/dist/api-routes/openapi.d.ts.map +1 -1
- package/dist/api-routes/openapi.js +15 -1
- package/dist/api-routes/request-extraction.js +2 -2
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +7 -2
- package/dist/api-routes/schemas/responses.d.ts +38 -12
- package/dist/api-routes/schemas/responses.d.ts.map +1 -1
- package/dist/api-routes/schemas/responses.js +11 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +13 -3
- package/dist/config/agendaQueue.config.d.ts +5 -0
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +29 -2
- package/dist/config/appConfigSecrets.config.d.ts +14 -0
- package/dist/config/appConfigSecrets.config.d.ts.map +1 -0
- package/dist/config/appConfigSecrets.config.js +8 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts +16 -3
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +1 -1
- package/dist/config/dompurify.config.d.ts.map +1 -1
- package/dist/config/dompurify.config.js +3 -2
- package/dist/config/harvestRuns.config.d.ts +7 -0
- package/dist/config/harvestRuns.config.d.ts.map +1 -1
- package/dist/config/harvestRuns.config.js +2 -1
- package/dist/config/http.config.d.ts +3 -2
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +108 -12
- package/dist/config/i18n.config.d.ts +3 -0
- package/dist/config/i18n.config.d.ts.map +1 -1
- package/dist/config/i18n.config.js +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -1
- package/dist/config/log.config.d.ts +33 -5
- package/dist/config/log.config.d.ts.map +1 -1
- package/dist/config/log.config.js +58 -54
- package/dist/config/record.config.d.ts +17 -0
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +7 -1
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +11 -2
- package/dist/config/session.config.d.ts +2 -2
- package/dist/config/session.config.d.ts.map +1 -1
- package/dist/config/solr.config.d.ts +8 -0
- package/dist/config/solr.config.d.ts.map +1 -1
- package/dist/config/solr.config.js +15 -2
- package/dist/config/storage.config.d.ts.map +1 -1
- package/dist/config/storage.config.js +9 -1
- package/dist/config/vocab.config.d.ts +1 -0
- package/dist/config/vocab.config.d.ts.map +1 -1
- package/dist/config/vocab.config.js +3 -3
- package/dist/config/webpack.config.d.ts.map +1 -1
- package/dist/config/webpack.config.js +23 -5
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +3 -2
- package/dist/configmodels/FigsharePublishing.d.ts +1 -1
- package/dist/controllers/ActionController.d.ts.map +1 -1
- package/dist/controllers/ActionController.js +8 -2
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +21 -2
- package/dist/controllers/DynamicAssetController.d.ts +9 -10
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +67 -53
- package/dist/controllers/EmailController.d.ts.map +1 -1
- package/dist/controllers/EmailController.js +32 -14
- package/dist/controllers/ExportController.d.ts +9 -0
- package/dist/controllers/ExportController.d.ts.map +1 -1
- package/dist/controllers/ExportController.js +154 -3
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +62 -33
- package/dist/controllers/RecordAuditController.d.ts.map +1 -1
- package/dist/controllers/RecordAuditController.js +4 -2
- package/dist/controllers/RecordController.d.ts +4 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +248 -114
- package/dist/controllers/ReportController.d.ts +1 -0
- package/dist/controllers/ReportController.d.ts.map +1 -1
- package/dist/controllers/ReportController.js +40 -12
- package/dist/controllers/TranslationController.d.ts.map +1 -1
- package/dist/controllers/TranslationController.js +56 -16
- package/dist/controllers/UserController.d.ts +3 -1
- package/dist/controllers/UserController.d.ts.map +1 -1
- package/dist/controllers/UserController.js +178 -76
- package/dist/controllers/VocabularyController.d.ts +0 -1
- package/dist/controllers/VocabularyController.d.ts.map +1 -1
- package/dist/controllers/VocabularyController.js +18 -16
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
- package/dist/controllers/webservice/AdminController.js +2 -5
- package/dist/controllers/webservice/HarvestRunController.d.ts +1 -0
- package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -1
- package/dist/controllers/webservice/HarvestRunController.js +46 -2
- package/dist/controllers/webservice/IntegrationAuditController.d.ts +0 -1
- package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
- package/dist/controllers/webservice/IntegrationAuditController.js +13 -6
- package/dist/controllers/webservice/RecordController.d.ts +1 -1
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +13 -4
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ReportController.js +15 -10
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +17 -8
- package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
- package/dist/controllers/webservice/VocabularyController.js +19 -13
- package/dist/form-config/generated-view-only.d.ts.map +1 -1
- package/dist/form-config/generated-view-only.js +12 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/loader/index.d.ts +1 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +56 -11
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +15 -3
- package/dist/middleware/requestChronicle.d.ts +14 -0
- package/dist/middleware/requestChronicle.d.ts.map +1 -0
- package/dist/middleware/requestChronicle.js +73 -0
- package/dist/model/BuildResponse.d.ts +7 -5
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/model/RBValidationError.d.ts +18 -5
- package/dist/model/RBValidationError.d.ts.map +1 -1
- package/dist/model/RBValidationError.js +56 -17
- package/dist/model/storage/ExportJobModel.d.ts +33 -0
- package/dist/model/storage/ExportJobModel.d.ts.map +1 -0
- package/dist/model/storage/ExportJobModel.js +3 -0
- package/dist/model/storage/HarvestRunModel.d.ts +20 -0
- package/dist/model/storage/HarvestRunModel.d.ts.map +1 -1
- package/dist/model/storage/HarvestRunModel.js +2 -1
- package/dist/model/storage/index.d.ts +2 -1
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +1 -1
- package/dist/policies/checkAuth.d.ts.map +1 -1
- package/dist/policies/checkAuth.js +3 -2
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +7 -2
- package/dist/policies/noCache.d.ts.map +1 -1
- package/dist/policies/noCache.js +4 -3
- package/dist/record-contract/record-contract-compiler.d.ts.map +1 -1
- package/dist/record-contract/record-contract-compiler.js +3 -19
- package/dist/record-contract/record-contract-context.d.ts +2 -0
- package/dist/record-contract/record-contract-context.d.ts.map +1 -1
- package/dist/record-contract/record-contract-context.js +1 -1
- package/dist/responses/notFound.d.ts.map +1 -1
- package/dist/responses/notFound.js +6 -1
- package/dist/responses/serverError.d.ts.map +1 -1
- package/dist/responses/serverError.js +13 -3
- package/dist/sails.d.ts +27 -17
- package/dist/sails.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.d.ts +11 -2
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +163 -51
- package/dist/services/AppConfigSecrets.d.ts +66 -0
- package/dist/services/AppConfigSecrets.d.ts.map +1 -0
- package/dist/services/AppConfigSecrets.js +396 -0
- package/dist/services/AppConfigService.d.ts +16 -1
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +283 -33
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
- package/dist/services/BrandingThemeCssService.js +32 -3
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
- package/dist/services/BrandingThemeTokens.js +10 -1
- package/dist/services/ConfigService.d.ts +1 -0
- package/dist/services/ConfigService.d.ts.map +1 -1
- package/dist/services/ConfigService.js +24 -9
- package/dist/services/DomSanitizerService.d.ts.map +1 -1
- package/dist/services/DomSanitizerService.js +19 -6
- package/dist/services/EmailService.d.ts +10 -2
- package/dist/services/EmailService.d.ts.map +1 -1
- package/dist/services/EmailService.js +53 -53
- package/dist/services/ExportService.d.ts +62 -0
- package/dist/services/ExportService.d.ts.map +1 -0
- package/dist/services/ExportService.js +609 -0
- package/dist/services/FormVocabularyService.d.ts.map +1 -1
- package/dist/services/FormVocabularyService.js +14 -4
- package/dist/services/FormsService.d.ts +3 -0
- package/dist/services/FormsService.d.ts.map +1 -1
- package/dist/services/FormsService.js +10 -3
- package/dist/services/HarvestRunService.d.ts +23 -1
- package/dist/services/HarvestRunService.d.ts.map +1 -1
- package/dist/services/HarvestRunService.js +155 -22
- package/dist/services/I18nEntriesService.d.ts +5 -0
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +55 -3
- package/dist/services/NamedQueryService.d.ts +1 -0
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +67 -31
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +69 -83
- package/dist/services/RaidService.d.ts.map +1 -1
- package/dist/services/RaidService.js +45 -11
- package/dist/services/RecordSchemaService.d.ts +3 -1
- package/dist/services/RecordSchemaService.d.ts.map +1 -1
- package/dist/services/RecordSchemaService.js +2 -1
- package/dist/services/RecordValidationService.d.ts +3 -0
- package/dist/services/RecordValidationService.d.ts.map +1 -1
- package/dist/services/RecordValidationService.js +25 -5
- package/dist/services/RecordsService.d.ts +10 -1
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +194 -93
- package/dist/services/ReportsService.d.ts +1 -0
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +10 -9
- package/dist/services/RvaImportService.d.ts.map +1 -1
- package/dist/services/RvaImportService.js +6 -5
- package/dist/services/SolrSearchService.d.ts +7 -2
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +205 -81
- package/dist/services/StorageManagerService.d.ts +5 -0
- package/dist/services/StorageManagerService.d.ts.map +1 -1
- package/dist/services/StorageManagerService.js +4 -1
- package/dist/services/TriggerService.d.ts.map +1 -1
- package/dist/services/TriggerService.js +64 -56
- package/dist/services/UsersService.d.ts +13 -1
- package/dist/services/UsersService.d.ts.map +1 -1
- package/dist/services/UsersService.js +191 -257
- package/dist/services/VocabularyService.d.ts +11 -1
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +120 -24
- package/dist/services/doi-v2/http.d.ts +3 -2
- package/dist/services/doi-v2/http.d.ts.map +1 -1
- package/dist/services/doi-v2/http.js +38 -4
- package/dist/services/doi-v2/runtime.d.ts +4 -3
- package/dist/services/doi-v2/runtime.d.ts.map +1 -1
- package/dist/services/doi-v2/runtime.js +52 -17
- package/dist/services/figshare-v2/assets.d.ts +1 -1
- package/dist/services/figshare-v2/assets.d.ts.map +1 -1
- package/dist/services/figshare-v2/assets.js +1 -1
- package/dist/services/figshare-v2/http.d.ts +3 -2
- package/dist/services/figshare-v2/http.d.ts.map +1 -1
- package/dist/services/figshare-v2/http.js +38 -4
- package/dist/services/figshare-v2/observability.d.ts.map +1 -1
- package/dist/services/figshare-v2/observability.js +3 -3
- package/dist/services/figshare-v2/runtime.d.ts +4 -3
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
- package/dist/services/figshare-v2/runtime.js +48 -13
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -3
- package/dist/services/integration-v2/runtime.d.ts +1 -1
- package/dist/services/integration-v2/runtime.d.ts.map +1 -1
- package/dist/services/integration-v2/runtime.js +7 -7
- package/dist/services/oni-v2/audit.d.ts +3 -2
- package/dist/services/oni-v2/audit.d.ts.map +1 -1
- package/dist/services/oni-v2/audit.js +38 -4
- package/dist/services/oni-v2/bindings.d.ts +1 -1
- package/dist/services/oni-v2/bindings.d.ts.map +1 -1
- package/dist/services/oni-v2/bindings.js +37 -4
- package/dist/services/oni-v2/repository.d.ts +3 -2
- package/dist/services/oni-v2/repository.d.ts.map +1 -1
- package/dist/services/oni-v2/repository.js +42 -7
- package/dist/services/oni-v2/runtime.d.ts +5 -4
- package/dist/services/oni-v2/runtime.d.ts.map +1 -1
- package/dist/services/oni-v2/runtime.js +57 -19
- package/dist/services/oni-v2/templating.d.ts +4 -2
- package/dist/services/oni-v2/templating.d.ts.map +1 -1
- package/dist/services/oni-v2/templating.js +42 -7
- package/dist/services/raid-v2/audit.d.ts +1 -1
- package/dist/services/raid-v2/audit.d.ts.map +1 -1
- package/dist/services/raid-v2/audit.js +39 -5
- package/dist/services/raid-v2/errors.d.ts +9 -9
- package/dist/services/raid-v2/errors.js +44 -11
- package/dist/services/raid-v2/http.d.ts +1 -1
- package/dist/services/raid-v2/http.d.ts.map +1 -1
- package/dist/services/raid-v2/http.js +42 -8
- package/dist/services/raid-v2/logger.d.ts +1 -1
- package/dist/services/raid-v2/logger.d.ts.map +1 -1
- package/dist/services/raid-v2/logger.js +42 -8
- package/dist/services/raid-v2/mapping.d.ts +1 -1
- package/dist/services/raid-v2/mapping.d.ts.map +1 -1
- package/dist/services/raid-v2/mapping.js +41 -7
- package/dist/services/raid-v2/runtime.d.ts +1 -1
- package/dist/services/raid-v2/runtime.d.ts.map +1 -1
- package/dist/services/raid-v2/runtime.js +76 -34
- package/dist/services/raid-v2/tags.d.ts +8 -8
- package/dist/services/raid-v2/tags.d.ts.map +1 -1
- package/dist/services/raid-v2/tags.js +42 -9
- package/dist/services/record-hooks/coordinator.d.ts +11 -0
- package/dist/services/record-hooks/coordinator.d.ts.map +1 -1
- package/dist/services/record-hooks/coordinator.js +70 -6
- package/dist/storage/GridFSDriver.d.ts +16 -9
- package/dist/storage/GridFSDriver.d.ts.map +1 -1
- package/dist/storage/GridFSDriver.js +87 -33
- package/dist/storage/TusStorageManagerDataStore.d.ts +11 -1
- package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
- package/dist/storage/TusStorageManagerDataStore.js +190 -56
- package/dist/utilities/HarvestHistoryRetention.d.ts +17 -0
- package/dist/utilities/HarvestHistoryRetention.d.ts.map +1 -0
- package/dist/utilities/HarvestHistoryRetention.js +141 -0
- package/dist/utilities/HarvestRunIndexes.d.ts +12 -0
- package/dist/utilities/HarvestRunIndexes.d.ts.map +1 -0
- package/dist/utilities/HarvestRunIndexes.js +84 -0
- package/dist/utilities/PinoLoggerUtils.d.ts +9 -0
- package/dist/utilities/PinoLoggerUtils.d.ts.map +1 -0
- package/dist/utilities/PinoLoggerUtils.js +17 -0
- package/dist/utilities/RequestChronicle.d.ts +221 -0
- package/dist/utilities/RequestChronicle.d.ts.map +1 -0
- package/dist/utilities/RequestChronicle.js +770 -0
- package/dist/utilities/RequestChronicleContext.d.ts +6 -0
- package/dist/utilities/RequestChronicleContext.d.ts.map +1 -0
- package/dist/utilities/RequestChronicleContext.js +19 -0
- package/dist/utilities/RequestChronicleSettings.d.ts +29 -0
- package/dist/utilities/RequestChronicleSettings.d.ts.map +1 -0
- package/dist/utilities/RequestChronicleSettings.js +31 -0
- package/dist/utilities/TransactionUtils.d.ts +2 -1
- package/dist/utilities/TransactionUtils.d.ts.map +1 -1
- package/dist/utilities/TransactionUtils.js +1 -1
- package/dist/utilities/TranslationHtml.d.ts.map +1 -1
- package/dist/utilities/TranslationHtml.js +13 -5
- package/dist/utilities/VocabularyAdminAccess.d.ts +10 -0
- package/dist/utilities/VocabularyAdminAccess.d.ts.map +1 -0
- package/dist/utilities/VocabularyAdminAccess.js +42 -0
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +7 -2
- package/dist/visitor/context-variables.visitor.d.ts +1 -2
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +5 -1
- package/dist/visitor/related-object-data-inline.visitor.d.ts +1 -1
- package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/related-object-data-inline.visitor.js +57 -23
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +4 -2
- package/dist/visitor/visitor-helpers.js +3 -3
- package/dist/visitor/vocab-inline.visitor.d.ts +1 -2
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +1 -1
- package/dist/waterline-models/ExportJob.d.ts +38 -0
- package/dist/waterline-models/ExportJob.d.ts.map +1 -0
- package/dist/waterline-models/ExportJob.js +148 -0
- package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRecordEvent.js +3 -9
- package/dist/waterline-models/HarvestRun.d.ts +5 -1
- package/dist/waterline-models/HarvestRun.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRun.js +13 -7
- package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRunChunk.js +3 -7
- package/dist/waterline-models/User.d.ts +2 -2
- package/dist/waterline-models/User.d.ts.map +1 -1
- package/dist/waterline-models/User.js +3 -3
- package/dist/waterline-models/index.d.ts +2 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +4 -1
- package/logfmt-transport.cjs +59 -0
- package/package.json +76 -45
- package/dist/Logger.d.ts +0 -16
- package/dist/Logger.d.ts.map +0 -1
- package/dist/Logger.js +0 -3
|
@@ -1,9 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.mintRaidProgram = void 0;
|
|
4
37
|
exports.runRaidProgram = runRaidProgram;
|
|
5
38
|
/* oxlint-disable typescript/no-explicit-any */
|
|
6
|
-
const
|
|
39
|
+
const Cause = __importStar(require("effect/Cause"));
|
|
40
|
+
const Duration = __importStar(require("effect/Duration"));
|
|
41
|
+
const Effect = __importStar(require("effect/Effect"));
|
|
42
|
+
const Exit = __importStar(require("effect/Exit"));
|
|
43
|
+
const Fiber = __importStar(require("effect/Fiber"));
|
|
44
|
+
const Ref = __importStar(require("effect/Ref"));
|
|
45
|
+
const Schedule = __importStar(require("effect/Schedule"));
|
|
7
46
|
const errors_1 = require("./errors");
|
|
8
47
|
const tags_1 = require("./tags");
|
|
9
48
|
function getPath(value, path) {
|
|
@@ -28,13 +67,13 @@ function deletePath(target, path) {
|
|
|
28
67
|
}
|
|
29
68
|
function serializableOptions(options) { const { signal: _signal, ...rest } = options; return rest; }
|
|
30
69
|
function stage(action, summary, effect, parent) {
|
|
31
|
-
return
|
|
70
|
+
return Effect.gen(function* () {
|
|
32
71
|
const audit = yield* tags_1.RaidAuditTag;
|
|
33
72
|
const ctx = yield* audit.start(action, summary, parent);
|
|
34
|
-
return yield* effect.pipe(
|
|
73
|
+
return yield* effect.pipe(Effect.tap(value => audit.complete(ctx, { responseSummary: typeof value === 'object' ? value : { value } })), Effect.tapError(error => audit.fail(ctx, error)));
|
|
35
74
|
});
|
|
36
75
|
}
|
|
37
|
-
const mintRaidProgram = (input) =>
|
|
76
|
+
const mintRaidProgram = (input) => Effect.gen(function* () {
|
|
38
77
|
const config = yield* tags_1.RaidConfigTag;
|
|
39
78
|
const context = yield* tags_1.RaidRunContextTag;
|
|
40
79
|
const records = yield* tags_1.RaidRecordRepositoryTag;
|
|
@@ -43,15 +82,15 @@ const mintRaidProgram = (input) => effect_1.Effect.gen(function* () {
|
|
|
43
82
|
const audit = yield* tags_1.RaidAuditTag;
|
|
44
83
|
const queue = yield* tags_1.RaidQueueTag;
|
|
45
84
|
const parent = yield* audit.start('mintRaid', { brandId: context.brandId, mappingProfile: String(getPath(input.options, 'request.mappingProfile') ?? getPath(input.options, 'request.recordType') ?? 'dmp') });
|
|
46
|
-
const result = yield*
|
|
47
|
-
yield* stage('resolveRaidConfiguration', { brandId: context.brandId, brandName: context.brandName, enabled: config.enabled },
|
|
85
|
+
const result = yield* Effect.gen(function* () {
|
|
86
|
+
yield* stage('resolveRaidConfiguration', { brandId: context.brandId, brandName: context.brandName, enabled: config.enabled }, Effect.void, parent);
|
|
48
87
|
let sourceRecord = structuredClone(input.record);
|
|
49
88
|
const sourceField = String(getPath(input.options, 'request.sourceOidField') ?? '');
|
|
50
89
|
if (sourceField) {
|
|
51
90
|
const sourceOid = String(getPath(input.record, sourceField) ?? '');
|
|
52
91
|
if (!sourceOid)
|
|
53
|
-
return yield*
|
|
54
|
-
sourceRecord = yield* stage('loadRaidSourceRecord', { sourceOid }, records.getMeta(sourceOid).pipe(
|
|
92
|
+
return yield* Effect.fail(new errors_1.RaidSourceRecordError({ message: `Source OID is missing at '${sourceField}'` }));
|
|
93
|
+
sourceRecord = yield* stage('loadRaidSourceRecord', { sourceOid }, records.getMeta(sourceOid).pipe(Effect.map(record => structuredClone(record)), Effect.mapError(cause => new errors_1.RaidSourceRecordError({ message: `Failed to load source record '${sourceOid}'`, cause }))), parent);
|
|
55
94
|
for (const override of getPath(input.options, 'request.recordOverrides') ?? []) {
|
|
56
95
|
if (override.field && override.value)
|
|
57
96
|
setPath(sourceRecord, override.field, getPath(input.record, override.value));
|
|
@@ -61,22 +100,25 @@ const mintRaidProgram = (input) => effect_1.Effect.gen(function* () {
|
|
|
61
100
|
const inlineFields = getPath(input.options, 'request.mint.fields');
|
|
62
101
|
const fields = typeof inlineFields === 'object' && inlineFields !== null ? inlineFields : config.mapping[profile];
|
|
63
102
|
if (!fields)
|
|
64
|
-
return yield*
|
|
103
|
+
return yield* Effect.fail(new errors_1.RaidSourceRecordError({ message: `RAiD mapping profile '${profile}' is not configured` }));
|
|
65
104
|
const request = yield* stage('mapRaidRequest', { profile, fieldCount: Object.keys(fields).length }, mapper.map(sourceRecord, fields, input.options), parent);
|
|
66
|
-
const token = yield* stage('acquireRaidToken', {}, client.getToken().pipe(
|
|
67
|
-
const attempts = yield*
|
|
68
|
-
let retrySchedule =
|
|
105
|
+
const token = yield* stage('acquireRaidToken', {}, client.getToken().pipe(Effect.timeoutOrElse({ duration: Duration.millis(config.connection.oauth.timeoutMs), orElse: () => Effect.fail(new errors_1.RaidTimeoutError({ message: 'RAiD token request timed out', operation: 'token', retryable: true })) })), parent);
|
|
106
|
+
const attempts = yield* Ref.make(0);
|
|
107
|
+
let retrySchedule = Schedule.max([
|
|
108
|
+
Schedule.exponential(Duration.millis(config.connection.retry.baseDelayMs)),
|
|
109
|
+
Schedule.recurs(Math.max(0, config.connection.retry.maxAttempts - 1)),
|
|
110
|
+
]).pipe(Schedule.while(({ input }) => (0, errors_1.isRetryable)(input)), Schedule.modifyDelay(({ duration }) => Effect.succeed(Duration.min(duration, Duration.millis(config.connection.retry.maxDelayMs)))));
|
|
69
111
|
if (config.connection.retry.jitter)
|
|
70
|
-
retrySchedule = retrySchedule.pipe(
|
|
71
|
-
const minted = yield*
|
|
72
|
-
const attempt = yield*
|
|
73
|
-
const mintOnce = (accessToken) => client.mint(request, accessToken, attempt).pipe(
|
|
74
|
-
return yield* stage('mintRaidRequest', { attempt, method: 'POST', path: '/raid' }, mintOnce(token).pipe(
|
|
75
|
-
}).pipe(
|
|
112
|
+
retrySchedule = retrySchedule.pipe(Schedule.jittered);
|
|
113
|
+
const minted = yield* Effect.gen(function* () {
|
|
114
|
+
const attempt = yield* Ref.updateAndGet(attempts, value => value + 1);
|
|
115
|
+
const mintOnce = (accessToken) => client.mint(request, accessToken, attempt).pipe(Effect.timeoutOrElse({ duration: Duration.millis(config.connection.timeoutMs), orElse: () => Effect.fail(new errors_1.RaidTimeoutError({ message: 'RAiD mint request timed out', operation: 'mint', retryable: true })) }));
|
|
116
|
+
return yield* stage('mintRaidRequest', { attempt, method: 'POST', path: '/raid' }, mintOnce(token).pipe(Effect.catchIf(error => error instanceof errors_1.RaidHttpError && error.statusCode === 401, () => client.getToken(true).pipe(Effect.flatMap(mintOnce)))), parent);
|
|
117
|
+
}).pipe(Effect.tapError(error => Effect.logWarning('RAiD mint attempt failed').pipe(Effect.annotateLogs({ retryable: (0, errors_1.isRetryable)(error) }))), Effect.retry(retrySchedule));
|
|
76
118
|
if (!minted.identifier?.id)
|
|
77
|
-
return yield*
|
|
119
|
+
return yield* Effect.fail(new errors_1.RaidHttpError({ message: 'RAiD response did not contain an identifier', statusCode: minted.statusCode, responseBody: minted.body, method: 'POST', path: '/raid', retryable: false }));
|
|
78
120
|
const identifier = minted.identifier.id;
|
|
79
|
-
yield* stage('persistRaid', { identifier },
|
|
121
|
+
yield* stage('persistRaid', { identifier }, Effect.gen(function* () {
|
|
80
122
|
setPath(input.record, `metadata.${config.raidFieldName}`, identifier);
|
|
81
123
|
if (config.saveBodyInMeta)
|
|
82
124
|
setPath(input.record, 'metaMetadata.raid.response', minted.body);
|
|
@@ -85,11 +127,11 @@ const mintRaidProgram = (input) => effect_1.Effect.gen(function* () {
|
|
|
85
127
|
for (const associated of getPath(input.options, 'request.alsoSaveRaidToOid') ?? []) {
|
|
86
128
|
const targetOid = String(getPath(input.record, associated.oidPath ?? '') ?? '');
|
|
87
129
|
if (targetOid)
|
|
88
|
-
yield* records.appendToRecord(targetOid, identifier, associated.raidPath ?? '').pipe(
|
|
130
|
+
yield* records.appendToRecord(targetOid, identifier, associated.raidPath ?? '').pipe(Effect.mapError(cause => new errors_1.RaidPersistenceError({ message: `RAiD minted but failed to persist it to associated record '${targetOid}'`, mintedIdentifier: identifier, cause })));
|
|
89
131
|
}
|
|
90
132
|
}), parent);
|
|
91
133
|
return input.record;
|
|
92
|
-
}).pipe(
|
|
134
|
+
}).pipe(Effect.catch(error => Effect.gen(function* () {
|
|
93
135
|
if ((0, errors_1.isRetryable)(error) && config.durableRetry.jobName && context.attemptCount < config.durableRetry.maxAttempts) {
|
|
94
136
|
const nextAttempt = context.attemptCount + 1;
|
|
95
137
|
setPath(input.record, 'metaMetadata.raid.attemptCount', nextAttempt);
|
|
@@ -101,35 +143,35 @@ const mintRaidProgram = (input) => effect_1.Effect.gen(function* () {
|
|
|
101
143
|
attemptCount: nextAttempt,
|
|
102
144
|
traceId: parent?.traceId,
|
|
103
145
|
...(context.initiatingActor ? { initiatingActor: context.initiatingActor } : {}),
|
|
104
|
-
}).pipe(
|
|
146
|
+
}).pipe(Effect.mapError(cause => new errors_1.RaidQueueError({ message: 'Failed to schedule durable RAiD retry', cause }))), parent);
|
|
105
147
|
return input.record;
|
|
106
148
|
}
|
|
107
|
-
return yield*
|
|
108
|
-
}))).pipe(
|
|
109
|
-
? audit.fail(parent,
|
|
110
|
-
:
|
|
149
|
+
return yield* Effect.fail(error);
|
|
150
|
+
}))).pipe(Effect.onExit(exit => Exit.isFailure(exit)
|
|
151
|
+
? audit.fail(parent, Cause.squash(exit.cause), { message: Cause.hasInterruptsOnly(exit.cause) ? 'RAiD orchestration interrupted' : undefined })
|
|
152
|
+
: Effect.void));
|
|
111
153
|
yield* audit.complete(parent, { responseSummary: { oid: context.oid, raid: getPath(result, `metadata.${config.raidFieldName}`) } });
|
|
112
154
|
return result;
|
|
113
155
|
});
|
|
114
156
|
exports.mintRaidProgram = mintRaidProgram;
|
|
115
157
|
async function runRaidProgram(program, signal) {
|
|
116
|
-
const fiber =
|
|
117
|
-
const interrupt = () =>
|
|
158
|
+
const fiber = Effect.runFork(program);
|
|
159
|
+
const interrupt = () => Effect.runFork(Fiber.interrupt(fiber));
|
|
118
160
|
if (signal?.aborted)
|
|
119
161
|
interrupt();
|
|
120
162
|
else
|
|
121
163
|
signal?.addEventListener('abort', interrupt, { once: true });
|
|
122
164
|
try {
|
|
123
|
-
const exit = await
|
|
124
|
-
if (
|
|
165
|
+
const exit = await Effect.runPromise(Fiber.await(fiber));
|
|
166
|
+
if (Exit.isSuccess(exit))
|
|
125
167
|
return exit.value;
|
|
126
|
-
const failure =
|
|
168
|
+
const failure = Cause.findErrorOption(exit.cause);
|
|
127
169
|
if (failure._tag === 'Some')
|
|
128
170
|
throw failure.value;
|
|
129
|
-
throw
|
|
171
|
+
throw Cause.squash(exit.cause);
|
|
130
172
|
}
|
|
131
173
|
finally {
|
|
132
174
|
signal?.removeEventListener('abort', interrupt);
|
|
133
175
|
}
|
|
134
176
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yYWlkLXYyL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0lBLHdDQVdDO0FBM0lELCtDQUErQztBQUMvQyxtQ0FBNkU7QUFFN0UscUNBQXFJO0FBQ3JJLGlDQUFrSjtBQUtsSixTQUFTLE9BQU8sQ0FBQyxLQUFjLEVBQUUsSUFBWTtJQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLEdBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN6TCxDQUFDO0FBQ0QsU0FBUyxPQUFPLENBQUMsTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBYztJQUM5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUMsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQU0sQ0FBQztRQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFD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
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yYWlkLXYyL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0lBLHdDQVdDO0FBbkpELCtDQUErQztBQUMvQyxvREFBc0M7QUFDdEMsMERBQTRDO0FBQzVDLHNEQUF3QztBQUN4QyxrREFBb0M7QUFDcEMsb0RBQXNDO0FBQ3RDLGdEQUFrQztBQUNsQywwREFBNEM7QUFFNUMscUNBQXFJO0FBQ3JJLGlDQUFrSjtBQUtsSixTQUFTLE9BQU8sQ0FBQyxLQUFjLEVBQUUsSUFBWTtJQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLEdBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN6TCxDQUFDO0FBQ0QsU0FBUyxPQUFPLENBQUMsTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBYztJQUM5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUMsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsTUFB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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Context from 'effect/Context';
|
|
2
2
|
import type { RaidPublishingConfigData } from '../../configmodels/RaidPublishing';
|
|
3
3
|
import type { RaidAuditService, RaidHttpClient, RaidMapper, RaidQueue, RaidRecordRepository, RaidRunContext } from './types';
|
|
4
|
-
export declare const RaidConfigTag: Context.
|
|
5
|
-
export declare const RaidRunContextTag: Context.
|
|
6
|
-
export declare const RaidHttpClientTag: Context.
|
|
7
|
-
export declare const RaidRecordRepositoryTag: Context.
|
|
8
|
-
export declare const RaidAuditTag: Context.
|
|
9
|
-
export declare const RaidQueueTag: Context.
|
|
10
|
-
export declare const RaidMappingTag: Context.
|
|
4
|
+
export declare const RaidConfigTag: Context.Service<RaidPublishingConfigData, RaidPublishingConfigData>;
|
|
5
|
+
export declare const RaidRunContextTag: Context.Service<RaidRunContext, RaidRunContext>;
|
|
6
|
+
export declare const RaidHttpClientTag: Context.Service<RaidHttpClient, RaidHttpClient>;
|
|
7
|
+
export declare const RaidRecordRepositoryTag: Context.Service<RaidRecordRepository, RaidRecordRepository>;
|
|
8
|
+
export declare const RaidAuditTag: Context.Service<RaidAuditService, RaidAuditService>;
|
|
9
|
+
export declare const RaidQueueTag: Context.Service<RaidQueue, RaidQueue>;
|
|
10
|
+
export declare const RaidMappingTag: Context.Service<RaidMapper, RaidMapper>;
|
|
11
11
|
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/services/raid-v2/tags.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/services/raid-v2/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7H,eAAO,MAAM,aAAa,qEAAiE,CAAC;AAC5F,eAAO,MAAM,iBAAiB,iDAA2D,CAAC;AAC1F,eAAO,MAAM,iBAAiB,iDAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,6DAAuE,CAAC;AAC5G,eAAO,MAAM,YAAY,qDAAwD,CAAC;AAClF,eAAO,MAAM,YAAY,uCAAiD,CAAC;AAC3E,eAAO,MAAM,cAAc,yCAAoD,CAAC"}
|
|
@@ -1,12 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.RaidMappingTag = exports.RaidQueueTag = exports.RaidAuditTag = exports.RaidRecordRepositoryTag = exports.RaidHttpClientTag = exports.RaidRunContextTag = exports.RaidConfigTag = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.RaidConfigTag =
|
|
6
|
-
exports.RaidRunContextTag =
|
|
7
|
-
exports.RaidHttpClientTag =
|
|
8
|
-
exports.RaidRecordRepositoryTag =
|
|
9
|
-
exports.RaidAuditTag =
|
|
10
|
-
exports.RaidQueueTag =
|
|
11
|
-
exports.RaidMappingTag =
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
const Context = __importStar(require("effect/Context"));
|
|
38
|
+
exports.RaidConfigTag = Context.Service('redbox/RaidConfig');
|
|
39
|
+
exports.RaidRunContextTag = Context.Service('redbox/RaidRunContext');
|
|
40
|
+
exports.RaidHttpClientTag = Context.Service('redbox/RaidHttpClient');
|
|
41
|
+
exports.RaidRecordRepositoryTag = Context.Service('redbox/RaidRecordRepository');
|
|
42
|
+
exports.RaidAuditTag = Context.Service('redbox/RaidAudit');
|
|
43
|
+
exports.RaidQueueTag = Context.Service('redbox/RaidQueue');
|
|
44
|
+
exports.RaidMappingTag = Context.Service('redbox/RaidMapping');
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yYWlkLXYyL3RhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQTBDO0FBSTdCLFFBQUEsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQTJCLG1CQUFtQixDQUFDLENBQUM7QUFDL0UsUUFBQSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDO0FBQzdFLFFBQUEsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBaUIsdUJBQXVCLENBQUMsQ0FBQztBQUM3RSxRQUFBLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQXVCLDZCQUE2QixDQUFDLENBQUM7QUFDL0YsUUFBQSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQztBQUNyRSxRQUFBLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFZLGtCQUFrQixDQUFDLENBQUM7QUFDOUQsUUFBQSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBYSxvQkFBb0IsQ0FBQyxDQUFDIn0=
|
|
@@ -13,8 +13,19 @@ export interface RecordHookPreResult {
|
|
|
13
13
|
report: ActionExecutionReport;
|
|
14
14
|
terminalCause?: unknown;
|
|
15
15
|
}
|
|
16
|
+
/** Server-owned save operation, independent of the hook phase being invoked. */
|
|
17
|
+
export interface RecordHookPreContext {
|
|
18
|
+
readonly operation: 'create' | 'update' | 'delete';
|
|
19
|
+
}
|
|
16
20
|
export interface RecordHookPostSyncResult {
|
|
17
21
|
record: AnyRecord;
|
|
22
|
+
/** Highest valid revision from applied record-returning hooks in this phase. */
|
|
23
|
+
committedRevision?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Isolated overlay of the committing result and subsequent applied record
|
|
26
|
+
* results. May be partial; callers must obtain the committed base from storage.
|
|
27
|
+
*/
|
|
28
|
+
committedRecord?: AnyRecord;
|
|
18
29
|
response: AnyRecord;
|
|
19
30
|
report: ActionExecutionReport;
|
|
20
31
|
terminalCause?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/services/record-hooks/coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/services/record-hooks/coordinator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,2BAA2B,EAE3B,wBAAwB,EAExB,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAGtC,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzC,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEjH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,wBAAwB,CAAC;IACpC,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,WAAW,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,QAAQ,CAAC,IAAI,gCAAgC;gBAEjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AA+DD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,kBAAkB,GAC9B,IAAI,CAIN;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;gBAE3C,OAAO,EAAE,4BAA4B;IAIjD,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,eAAe;IAWvB;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,MAAM;IAoBd;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA2CjB,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,mBAAmB,CAAC;IAsBzB,WAAW,CACf,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,wBAAwB,CAAC;IA6DpC,YAAY,CACV,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,wBAAwB;CA6B5B"}
|
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.RecordHookCoordinator = exports.RecordHookConfigurationError = void 0;
|
|
4
37
|
exports.validateRecordHookConfiguration = validateRecordHookConfiguration;
|
|
5
|
-
const
|
|
38
|
+
const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
|
|
39
|
+
const Effect = __importStar(require("effect/Effect"));
|
|
6
40
|
const lodash_1 = require("lodash");
|
|
7
41
|
const executor_1 = require("../../action-execution/executor");
|
|
8
42
|
const legacy_result_1 = require("../../action-execution/legacy-result");
|
|
@@ -166,12 +200,17 @@ class RecordHookCoordinator {
|
|
|
166
200
|
async runPre(oid, record, recordType, mode, user) {
|
|
167
201
|
// Each hook receives the record produced by the previous one.
|
|
168
202
|
let currentRecord = this.normalizeRecord(record);
|
|
203
|
+
const operationMode = this.options.operation.mode;
|
|
204
|
+
const hookContext = Object.freeze({
|
|
205
|
+
operation: operationMode === 'onCreate' ? 'create' : operationMode === 'onDelete' ? 'delete' : 'update',
|
|
206
|
+
});
|
|
169
207
|
const actions = this.actions(recordType, mode, 'pre', hook => {
|
|
170
208
|
const fn = this.options.resolveHook(hook, mode, 'pre');
|
|
171
|
-
|
|
209
|
+
// Keep the fifth response slot aligned with postSync; pre has no response.
|
|
210
|
+
return fn(oid, currentRecord, hookOptions(hook), user, undefined, hookContext);
|
|
172
211
|
});
|
|
173
212
|
const context = this.phaseContext(mode, 'pre');
|
|
174
|
-
const outcome = await
|
|
213
|
+
const outcome = await Effect.runPromise((0, executor_1.runSequentialActionPlan)(actions, context, this.dependencies, value => {
|
|
175
214
|
currentRecord = this.normalizeRecord(value);
|
|
176
215
|
}));
|
|
177
216
|
this.append(outcome.report);
|
|
@@ -180,6 +219,8 @@ class RecordHookCoordinator {
|
|
|
180
219
|
async runPostSync(oid, record, recordType, mode, user, initialResponse) {
|
|
181
220
|
let currentRecord = this.normalizeRecord(record);
|
|
182
221
|
let response = initialResponse;
|
|
222
|
+
let committedRevision;
|
|
223
|
+
let committedRecord;
|
|
183
224
|
// Each hook is handed its own clone of the response so far, and keeps that
|
|
184
225
|
// same clone across retries. Hooks are allowed to mutate it in place.
|
|
185
226
|
const hookInputs = new Map();
|
|
@@ -200,6 +241,22 @@ class RecordHookCoordinator {
|
|
|
200
241
|
const returnType = options.returnType === undefined ? 'record' : options.returnType;
|
|
201
242
|
if (returnType === 'record') {
|
|
202
243
|
currentRecord = this.normalizeRecord(value, true);
|
|
244
|
+
// Keep this separate from currentRecord: a later hook may return a
|
|
245
|
+
// partial replacement or an older snapshot. Only applied results count.
|
|
246
|
+
if ((0, sails_ng_common_1.isRecordRevision)(currentRecord.revision) &&
|
|
247
|
+
(committedRevision === undefined || currentRecord.revision > committedRevision)) {
|
|
248
|
+
committedRevision = currentRecord.revision;
|
|
249
|
+
committedRecord = (0, lodash_1.cloneDeep)(currentRecord);
|
|
250
|
+
}
|
|
251
|
+
else if (committedRecord) {
|
|
252
|
+
// Match the save boundary's top-level replacement semantics without
|
|
253
|
+
// changing currentRecord or the input passed to the next hook.
|
|
254
|
+
for (const [key, value] of Object.entries(currentRecord)) {
|
|
255
|
+
committedRecord[key] = (0, lodash_1.cloneDeep)(value);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (committedRecord)
|
|
259
|
+
committedRecord.revision = committedRevision;
|
|
203
260
|
}
|
|
204
261
|
else if (value && typeof value === 'object') {
|
|
205
262
|
response = mergeLegacyHookResponse(response, value);
|
|
@@ -207,9 +264,16 @@ class RecordHookCoordinator {
|
|
|
207
264
|
response = mergeWorkspaceFields(response, hookInputs.get(index));
|
|
208
265
|
};
|
|
209
266
|
const context = this.phaseContext(mode, 'postSync');
|
|
210
|
-
const outcome = await
|
|
267
|
+
const outcome = await Effect.runPromise((0, executor_1.runSequentialActionPlan)(actions, context, this.dependencies, applyResult));
|
|
211
268
|
this.append(outcome.report);
|
|
212
|
-
return {
|
|
269
|
+
return {
|
|
270
|
+
record: currentRecord,
|
|
271
|
+
committedRevision,
|
|
272
|
+
committedRecord,
|
|
273
|
+
response,
|
|
274
|
+
report: outcome.report,
|
|
275
|
+
terminalCause: outcome.terminalCause,
|
|
276
|
+
};
|
|
213
277
|
}
|
|
214
278
|
dispatchPost(oid, record, recordType, mode, user) {
|
|
215
279
|
const normalizedRecord = this.normalizeRecord(record);
|
|
@@ -273,4 +337,4 @@ function mergeWorkspaceFields(response, hookInput) {
|
|
|
273
337
|
}
|
|
274
338
|
return merged;
|
|
275
339
|
}
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcmVjb3JkLWhvb2tzL2Nvb3JkaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRIQSwwRUFRQztBQXBJRCxtQ0FBZ0M7QUFDaEMsbUNBQXdDO0FBQ3hDLDhEQUl5QztBQUN6Qyx3RUFBMEU7QUFDMUUsMERBQStGO0FBeUMvRixNQUFhLDRCQUE2QixTQUFRLEtBQUs7SUFDNUMsSUFBSSxHQUFHLDhCQUE4QixDQUFDO0lBQ3RDLElBQUksR0FBRyw0QkFBNEIsQ0FBQztJQUU3QyxZQUFZLE9BQWUsRUFBRSxPQUE2QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFSRCxvRUFRQztBQUVELFNBQVMsb0JBQW9CLENBQUMsSUFBWSxFQUFFLEtBQWE7SUFDdkQsTUFBTSxJQUFJLDRCQUE0QixDQUFDLFdBQVcsS0FBSywyQkFBMkIsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBYTtJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFBLFlBQUcsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFZLENBQUM7SUFDaEQsT0FBTyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUUsT0FBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3pHLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFVBQW1CLEVBQUUsSUFBWSxFQUFFLEtBQWE7SUFDN0UsTUFBTSxVQUFVLEdBQUcsSUFBQSxZQUFHLEVBQUMsVUFBVSxFQUFFLFNBQVMsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFZLENBQUM7SUFDeEUsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMvQixvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sVUFBb0MsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsSUFBMEIsRUFDMUIsSUFBWSxFQUNaLEtBQTJCLEVBQzNCLEtBQWEsRUFDYixPQUFvQixFQUNwQixXQUErQjtJQUUvQixJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDN0Qsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBQSxZQUFHLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFBLFlBQUcsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEYsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLDRCQUE0QixDQUFDLGFBQWEsS0FBSyxhQUFhLFFBQVEsU0FBUyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFDRCxJQUFBLHNDQUE2QixFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxTQUFTLENBQ2hCLFVBQW1CLEVBQ25CLElBQVksRUFDWixLQUEyQixFQUMzQixXQUErQjtJQUUvQixNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDbEMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3pHLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQiwrQkFBK0IsQ0FDN0MsVUFBbUIsRUFDbkIsS0FBd0IsRUFDeEIsV0FBK0I7SUFFL0IsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFhLHFCQUFxQjtJQUNmLE9BQU8sQ0FBK0I7SUFFdkQsWUFBWSxPQUFxQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWSxFQUFFLEtBQTJCO1FBQzVELE9BQU8sSUFBQSw2QkFBa0IsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUEyQixDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVPLE1BQU0sQ0FBQyxNQUE2QjtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUN2RCxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsTUFBZSxFQUFFLGFBQWEsR0FBRyxLQUFLO1FBQzVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakUsT0FBTyxNQUFtQixDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFtQixDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxPQUFPLENBQ2IsVUFBbUIsRUFDbkIsSUFBWSxFQUNaLEtBQTJCLEVBQzNCLE1BQThEO1FBRTlELE9BQU8sU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDcEcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUNaLElBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLElBQVksRUFDWixLQUEyQixFQUMzQixLQUFhLEVBQ2IsTUFBOEQ7UUFFOUQsTUFBTSxZQUFZLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDckMsT0FBTztZQUNMLFFBQVE7WUFDUixJQUFJLEVBQUUsSUFBMkI7WUFDakMsS0FBSztZQUNMLEtBQUs7WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdEIsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUs7WUFDakQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsa0NBQWtCLEVBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUM7U0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxlQUFlLENBQ3JCLFVBQW1CLEVBQ25CLElBQVksRUFDWixNQUE4RDtRQUU5RCxNQUFNLFVBQVUsR0FBRyxJQUFBLFlBQUcsRUFBQyxVQUFVLEVBQUUsU0FBUyxJQUFJLE9BQU8sQ0FBWSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNsQyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUNoQyxJQUE0QixFQUM1QixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQ3pCLENBQUM7Z0JBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM5RixDQUFDO1lBQUMsT0FBTyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxNQUFNLEdBQTRCO29CQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVztvQkFDaEQsU0FBUyxFQUFFLElBQUk7b0JBQ2YsVUFBVSxFQUFFLE1BQU07b0JBQ2xCLFlBQVksRUFBRSxLQUFLO29CQUNuQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsWUFBWSxFQUFFLDRCQUE0QjtpQkFDM0MsQ0FBQztnQkFDRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNyQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDdkQsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNyQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDdkQsQ0FBQztnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixHQUFrQixFQUNsQixNQUFpQixFQUNqQixVQUFtQixFQUNuQixJQUFZLEVBQ1osSUFBYTtRQUViLDhEQUE4RDtRQUM5RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDM0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2RCxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLE1BQU0sZUFBTSxDQUFDLFVBQVUsQ0FDckMsSUFBQSxrQ0FBdUIsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbkUsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakcsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQ2YsR0FBa0IsRUFDbEIsTUFBaUIsRUFDakIsVUFBbUIsRUFDbkIsSUFBWSxFQUNaLElBQWEsRUFDYixlQUEwQjtRQUUxQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMvQiwyRUFBMkU7UUFDM0Usc0VBQXNFO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFxQixDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDekUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixTQUFTLEdBQUcsSUFBQSxrQkFBUyxFQUFDLFFBQVEsQ0FBYyxDQUFDO2dCQUM3QyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSx5RUFBeUU7UUFDekUscUVBQXFFO1FBQ3JFLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBUSxFQUFFO1lBQzFELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3BGLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEQsQ0FBQztpQkFBTSxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUMsUUFBUSxHQUFHLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxLQUFrQixDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUNELFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sT0FBTyxHQUFHLE1BQU0sZUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFBLGtDQUF1QixFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNHLENBQUM7SUFFRCxZQUFZLENBQ1YsR0FBa0IsRUFDbEIsTUFBaUIsRUFDakIsVUFBbUIsRUFDbkIsSUFBWSxFQUNaLElBQWE7UUFFYixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEQsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3pDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDOUUsU0FBUyxDQUFDLGVBQWUsS0FBSyxFQUFFLENBQUM7UUFDakMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQWdDO1lBQ3hELEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsd0JBQXdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckQsa0JBQWtCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0MsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5RSxTQUFTLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFDbkQsSUFBSSxTQUFTLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNwQyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDeEQsU0FBUyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztvQkFDekMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFBLHFDQUEwQixFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFoT0Qsc0RBZ09DO0FBRUQsaUZBQWlGO0FBQ2pGLFNBQVMsdUJBQXVCLENBQUMsUUFBbUIsRUFBRSxRQUFtQjtJQUN2RSxNQUFNLE1BQU0sR0FBYyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDMUMsSUFBSSxPQUFPLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLE9BQU8sUUFBUSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxNQUFNLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCwrRUFBK0U7QUFDL0UsU0FBUyxvQkFBb0IsQ0FBQyxRQUFtQixFQUFFLFNBQWdDO0lBQ2pGLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDMUMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxZQUFZLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNoRixNQUFNLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxNQUFNLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDakQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcmVjb3JkLWhvb2tzL2Nvb3JkaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlJQSwwRUFRQztBQWpKRCxzRUFBb0U7QUFDcEUsc0RBQXdDO0FBQ3hDLG1DQUF3QztBQUN4Qyw4REFJeUM7QUFDekMsd0VBQTBFO0FBQzFFLDBEQUErRjtBQXFEL0YsTUFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQzVDLElBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUN0QyxJQUFJLEdBQUcsNEJBQTRCLENBQUM7SUFFN0MsWUFBWSxPQUFlLEVBQUUsT0FBNkI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBUkQsb0VBUUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLElBQVksRUFBRSxLQUFhO0lBQ3ZELE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxXQUFXLEtBQUssMkJBQTJCLElBQUksR0FBRyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQWE7SUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBQSxZQUFHLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBWSxDQUFDO0lBQ2hELE9BQU8sT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFFLE9BQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN6RyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxVQUFtQixFQUFFLElBQVksRUFBRSxLQUFhO0lBQzdFLE1BQU0sVUFBVSxHQUFHLElB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
|