@decaf-ts/core 0.8.85 → 0.9.1-9.tasks
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 +1 -1
- package/dist/core.cjs +6705 -2
- package/dist/core.js +6932 -2
- package/lib/auth/constants.cjs +1 -1
- package/lib/auth/decorators.cjs +1 -1
- package/lib/auth/index.cjs +1 -1
- package/lib/esm/auth/constants.js +1 -1
- package/lib/esm/auth/decorators.js +1 -1
- package/lib/esm/auth/index.js +1 -1
- package/lib/esm/fs/FilesystemAdapter.d.ts +1 -0
- package/lib/esm/fs/FilesystemAdapter.js +3 -2
- package/lib/esm/fs/FsDispatch.js +1 -1
- package/lib/esm/fs/helpers.js +1 -1
- package/lib/esm/fs/index.js +1 -1
- package/lib/esm/fs/indexStore.js +1 -1
- package/lib/esm/fs/locks/FilesystemLock.js +1 -1
- package/lib/esm/fs/locks/FilesystemMultiLock.js +1 -1
- package/lib/esm/fs/types.d.ts +6 -0
- package/lib/esm/fs/types.js +1 -1
- package/lib/esm/identity/decorators.js +1 -1
- package/lib/esm/identity/index.js +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/interfaces/ContextuallyLogged.js +1 -1
- package/lib/esm/interfaces/ErrorParser.js +1 -1
- package/lib/esm/interfaces/Executor.js +1 -1
- package/lib/esm/interfaces/Observable.js +1 -1
- package/lib/esm/interfaces/Observer.js +1 -1
- package/lib/esm/interfaces/Paginatable.js +1 -1
- package/lib/esm/interfaces/Queriable.js +1 -1
- package/lib/esm/interfaces/RawExecutor.js +1 -1
- package/lib/esm/interfaces/SequenceOptions.js +1 -1
- package/lib/esm/interfaces/index.js +1 -1
- package/lib/esm/migrations/Migration.js +1 -1
- package/lib/esm/migrations/MigrationService.js +1 -1
- package/lib/esm/migrations/MigrationTasks.js +1 -1
- package/lib/esm/migrations/constants.js +1 -1
- package/lib/esm/migrations/decorators.js +1 -1
- package/lib/esm/migrations/index.js +1 -1
- package/lib/esm/migrations/types.js +1 -1
- package/lib/esm/model/BaseModel.js +1 -1
- package/lib/esm/model/SequenceModel.js +1 -1
- package/lib/esm/model/construction.d.ts +1 -1
- package/lib/esm/model/construction.js +25 -3
- package/lib/esm/model/decorators.js +1 -1
- package/lib/esm/model/index.js +1 -1
- package/lib/esm/model/indexing.js +1 -1
- package/lib/esm/model/types.js +1 -1
- package/lib/esm/overrides/Metadata.js +1 -1
- package/lib/esm/overrides/Model.js +1 -1
- package/lib/esm/overrides/ModelBuilder.js +1 -1
- package/lib/esm/overrides/index.js +1 -1
- package/lib/esm/overrides/injectables.js +1 -1
- package/lib/esm/overrides/overrides.js +29 -1
- package/lib/esm/persistence/Adapter.js +14 -2
- package/lib/esm/persistence/Context.js +1 -1
- package/lib/esm/persistence/ContextLock.js +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +7 -0
- package/lib/esm/persistence/Dispatch.js +20 -3
- package/lib/esm/persistence/ObserverHandler.js +1 -1
- package/lib/esm/persistence/Sequence.js +1 -1
- package/lib/esm/persistence/constants.js +2 -1
- package/lib/esm/persistence/decorators.js +1 -1
- package/lib/esm/persistence/errors.js +1 -1
- package/lib/esm/persistence/event-filters.js +1 -1
- package/lib/esm/persistence/generators.js +1 -1
- package/lib/esm/persistence/index.js +1 -1
- package/lib/esm/persistence/transactions.js +1 -1
- package/lib/esm/persistence/types.d.ts +1 -0
- package/lib/esm/persistence/types.js +1 -1
- package/lib/esm/query/Condition.js +1 -1
- package/lib/esm/query/MethodQueryBuilder.js +1 -1
- package/lib/esm/query/Paginator.js +1 -1
- package/lib/esm/query/Statement.js +1 -1
- package/lib/esm/query/constants.js +1 -1
- package/lib/esm/query/decorators.js +1 -1
- package/lib/esm/query/errors.js +1 -1
- package/lib/esm/query/index.js +1 -1
- package/lib/esm/query/options.js +1 -1
- package/lib/esm/query/selectors.js +1 -1
- package/lib/esm/query/types.js +1 -1
- package/lib/esm/query/utils.js +1 -1
- package/lib/esm/ram/RamAdapter.js +1 -1
- package/lib/esm/ram/RamPaginator.js +1 -1
- package/lib/esm/ram/RamStatement.js +1 -1
- package/lib/esm/ram/constants.js +1 -1
- package/lib/esm/ram/handlers.js +1 -1
- package/lib/esm/ram/index.js +1 -1
- package/lib/esm/ram/types.js +1 -1
- package/lib/esm/repository/Repository.d.ts +2 -2
- package/lib/esm/repository/Repository.js +19 -16
- package/lib/esm/repository/constants.js +1 -1
- package/lib/esm/repository/decorators.js +2 -2
- package/lib/esm/repository/errors.js +1 -1
- package/lib/esm/repository/index.js +1 -1
- package/lib/esm/repository/injectables.js +4 -2
- package/lib/esm/repository/types.js +1 -1
- package/lib/esm/repository/utils.js +1 -1
- package/lib/esm/services/ModelService.d.ts +4 -5
- package/lib/esm/services/ModelService.js +4 -2
- package/lib/esm/services/PersistenceService.js +1 -1
- package/lib/esm/services/index.js +1 -1
- package/lib/esm/services/services.js +1 -1
- package/lib/esm/tasks/CleanUpTask.js +1 -1
- package/lib/esm/tasks/TaskContext.d.ts +3 -1
- package/lib/esm/tasks/TaskContext.js +9 -2
- package/lib/esm/tasks/TaskEngine.d.ts +2 -0
- package/lib/esm/tasks/TaskEngine.js +84 -20
- package/lib/esm/tasks/TaskErrors.js +1 -1
- package/lib/esm/tasks/TaskEventBus.js +1 -1
- package/lib/esm/tasks/TaskEventService.d.ts +7 -0
- package/lib/esm/tasks/TaskEventService.js +16 -0
- package/lib/esm/tasks/TaskHandler.js +1 -1
- package/lib/esm/tasks/TaskHandlerRegistry.js +1 -1
- package/lib/esm/tasks/TaskService.d.ts +5 -1
- package/lib/esm/tasks/TaskService.js +11 -37
- package/lib/esm/tasks/TaskStateChangeError.js +1 -1
- package/lib/esm/tasks/TaskTracker.js +1 -1
- package/lib/esm/tasks/builder.js +1 -1
- package/lib/esm/tasks/constants.js +1 -1
- package/lib/esm/tasks/decorators.js +1 -1
- package/lib/esm/tasks/index.d.ts +1 -0
- package/lib/esm/tasks/index.js +2 -1
- package/lib/esm/tasks/logging.js +4 -7
- package/lib/esm/tasks/models/TaskBackoffModel.js +1 -1
- package/lib/esm/tasks/models/TaskErrorModel.js +1 -1
- package/lib/esm/tasks/models/TaskEventModel.js +1 -1
- package/lib/esm/tasks/models/TaskIOSerializer.js +1 -1
- package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +1 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js +6 -2
- package/lib/esm/tasks/models/TaskModel.js +1 -1
- package/lib/esm/tasks/models/TaskStepResultModel.js +1 -1
- package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +1 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js +7 -3
- package/lib/esm/tasks/models/index.js +1 -1
- package/lib/esm/tasks/types.d.ts +8 -3
- package/lib/esm/tasks/types.js +1 -1
- package/lib/esm/tasks/utils.js +1 -1
- package/lib/esm/utils/ContextualLoggedClass.js +1 -1
- package/lib/esm/utils/decorators.js +1 -1
- package/lib/esm/utils/errors.js +1 -1
- package/lib/esm/utils/index.js +1 -1
- package/lib/esm/utils/throttling.js +1 -1
- package/lib/esm/utils/types.js +1 -1
- package/lib/esm/utils/utils.d.ts +2 -1
- package/lib/esm/utils/utils.js +23 -6
- package/lib/esm/workers/TaskEngine.js +15 -4
- package/lib/esm/workers/WorkThreadEnvironment.js +1 -1
- package/lib/esm/workers/index.js +1 -1
- package/lib/esm/workers/messages.js +1 -1
- package/lib/esm/workers/types.js +1 -1
- package/lib/esm/workers/workerThread.js +36 -8
- package/lib/fs/FilesystemAdapter.cjs +3 -2
- package/lib/fs/FilesystemAdapter.d.ts +1 -0
- package/lib/fs/FsDispatch.cjs +1 -1
- package/lib/fs/helpers.cjs +1 -1
- package/lib/fs/index.cjs +1 -1
- package/lib/fs/indexStore.cjs +1 -1
- package/lib/fs/locks/FilesystemLock.cjs +1 -1
- package/lib/fs/locks/FilesystemMultiLock.cjs +1 -1
- package/lib/fs/types.cjs +1 -1
- package/lib/fs/types.d.ts +6 -0
- package/lib/identity/decorators.cjs +1 -1
- package/lib/identity/index.cjs +1 -1
- package/lib/index.cjs +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/ContextuallyLogged.cjs +1 -1
- package/lib/interfaces/ErrorParser.cjs +1 -1
- package/lib/interfaces/Executor.cjs +1 -1
- package/lib/interfaces/Observable.cjs +1 -1
- package/lib/interfaces/Observer.cjs +1 -1
- package/lib/interfaces/Paginatable.cjs +1 -1
- package/lib/interfaces/Queriable.cjs +1 -1
- package/lib/interfaces/RawExecutor.cjs +1 -1
- package/lib/interfaces/SequenceOptions.cjs +1 -1
- package/lib/interfaces/index.cjs +1 -1
- package/lib/migrations/Migration.cjs +1 -1
- package/lib/migrations/MigrationService.cjs +1 -1
- package/lib/migrations/MigrationTasks.cjs +1 -1
- package/lib/migrations/constants.cjs +1 -1
- package/lib/migrations/decorators.cjs +1 -1
- package/lib/migrations/index.cjs +1 -1
- package/lib/migrations/types.cjs +1 -1
- package/lib/model/BaseModel.cjs +1 -1
- package/lib/model/SequenceModel.cjs +1 -1
- package/lib/model/construction.cjs +25 -3
- package/lib/model/construction.d.ts +1 -1
- package/lib/model/decorators.cjs +1 -1
- package/lib/model/index.cjs +1 -1
- package/lib/model/indexing.cjs +1 -1
- package/lib/model/types.cjs +1 -1
- package/lib/overrides/Metadata.cjs +1 -1
- package/lib/overrides/Model.cjs +1 -1
- package/lib/overrides/ModelBuilder.cjs +1 -1
- package/lib/overrides/index.cjs +1 -1
- package/lib/overrides/injectables.cjs +1 -1
- package/lib/overrides/overrides.cjs +29 -1
- package/lib/persistence/Adapter.cjs +14 -2
- package/lib/persistence/Context.cjs +1 -1
- package/lib/persistence/ContextLock.cjs +1 -1
- package/lib/persistence/Dispatch.cjs +20 -3
- package/lib/persistence/Dispatch.d.ts +7 -0
- package/lib/persistence/ObserverHandler.cjs +1 -1
- package/lib/persistence/Sequence.cjs +1 -1
- package/lib/persistence/constants.cjs +2 -1
- package/lib/persistence/decorators.cjs +1 -1
- package/lib/persistence/errors.cjs +1 -1
- package/lib/persistence/event-filters.cjs +1 -1
- package/lib/persistence/generators.cjs +1 -1
- package/lib/persistence/index.cjs +1 -1
- package/lib/persistence/transactions.cjs +1 -1
- package/lib/persistence/types.cjs +1 -1
- package/lib/persistence/types.d.ts +1 -0
- package/lib/query/Condition.cjs +1 -1
- package/lib/query/MethodQueryBuilder.cjs +1 -1
- package/lib/query/Paginator.cjs +1 -1
- package/lib/query/Statement.cjs +1 -1
- package/lib/query/constants.cjs +1 -1
- package/lib/query/decorators.cjs +1 -1
- package/lib/query/errors.cjs +1 -1
- package/lib/query/index.cjs +1 -1
- package/lib/query/options.cjs +1 -1
- package/lib/query/selectors.cjs +1 -1
- package/lib/query/types.cjs +1 -1
- package/lib/query/utils.cjs +1 -1
- package/lib/ram/RamAdapter.cjs +1 -1
- package/lib/ram/RamPaginator.cjs +1 -1
- package/lib/ram/RamStatement.cjs +1 -1
- package/lib/ram/constants.cjs +1 -1
- package/lib/ram/handlers.cjs +1 -1
- package/lib/ram/index.cjs +1 -1
- package/lib/ram/types.cjs +1 -1
- package/lib/repository/Repository.cjs +19 -16
- package/lib/repository/Repository.d.ts +2 -2
- package/lib/repository/constants.cjs +1 -1
- package/lib/repository/decorators.cjs +2 -2
- package/lib/repository/errors.cjs +1 -1
- package/lib/repository/index.cjs +1 -1
- package/lib/repository/injectables.cjs +4 -2
- package/lib/repository/types.cjs +1 -1
- package/lib/repository/utils.cjs +1 -1
- package/lib/services/ModelService.cjs +4 -2
- package/lib/services/ModelService.d.ts +4 -5
- package/lib/services/PersistenceService.cjs +1 -1
- package/lib/services/index.cjs +1 -1
- package/lib/services/services.cjs +1 -1
- package/lib/tasks/CleanUpTask.cjs +1 -1
- package/lib/tasks/TaskContext.cjs +9 -2
- package/lib/tasks/TaskContext.d.ts +3 -1
- package/lib/tasks/TaskEngine.cjs +84 -20
- package/lib/tasks/TaskEngine.d.ts +2 -0
- package/lib/tasks/TaskErrors.cjs +1 -1
- package/lib/tasks/TaskEventBus.cjs +1 -1
- package/lib/tasks/TaskEventService.cjs +20 -0
- package/lib/tasks/TaskEventService.d.ts +7 -0
- package/lib/tasks/TaskHandler.cjs +1 -1
- package/lib/tasks/TaskHandlerRegistry.cjs +1 -1
- package/lib/tasks/TaskService.cjs +10 -36
- package/lib/tasks/TaskService.d.ts +5 -1
- package/lib/tasks/TaskStateChangeError.cjs +1 -1
- package/lib/tasks/TaskTracker.cjs +1 -1
- package/lib/tasks/builder.cjs +1 -1
- package/lib/tasks/constants.cjs +1 -1
- package/lib/tasks/decorators.cjs +1 -1
- package/lib/tasks/index.cjs +2 -1
- package/lib/tasks/index.d.ts +1 -0
- package/lib/tasks/logging.cjs +4 -7
- package/lib/tasks/models/TaskBackoffModel.cjs +1 -1
- package/lib/tasks/models/TaskErrorModel.cjs +1 -1
- package/lib/tasks/models/TaskEventModel.cjs +1 -1
- package/lib/tasks/models/TaskIOSerializer.cjs +1 -1
- package/lib/tasks/models/TaskLogEntryModel.cjs +5 -1
- package/lib/tasks/models/TaskLogEntryModel.d.ts +1 -0
- package/lib/tasks/models/TaskModel.cjs +1 -1
- package/lib/tasks/models/TaskStepResultModel.cjs +1 -1
- package/lib/tasks/models/TaskStepSpecModel.cjs +6 -2
- package/lib/tasks/models/TaskStepSpecModel.d.ts +1 -0
- package/lib/tasks/models/index.cjs +1 -1
- package/lib/tasks/types.cjs +1 -1
- package/lib/tasks/types.d.ts +8 -3
- package/lib/tasks/utils.cjs +1 -1
- package/lib/utils/ContextualLoggedClass.cjs +1 -1
- package/lib/utils/decorators.cjs +1 -1
- package/lib/utils/errors.cjs +1 -1
- package/lib/utils/index.cjs +1 -1
- package/lib/utils/throttling.cjs +1 -1
- package/lib/utils/types.cjs +1 -1
- package/lib/utils/utils.cjs +22 -5
- package/lib/utils/utils.d.ts +2 -1
- package/lib/workers/TaskEngine.cjs +15 -4
- package/lib/workers/WorkThreadEnvironment.cjs +1 -1
- package/lib/workers/index.cjs +1 -1
- package/lib/workers/messages.cjs +1 -1
- package/lib/workers/types.cjs +1 -1
- package/lib/workers/workerThread.cjs +35 -7
- package/package.json +1 -1
- package/dist/core.cjs.map +0 -1
- package/dist/core.js.map +0 -1
- package/lib/auth/constants.js.map +0 -1
- package/lib/auth/decorators.js.map +0 -1
- package/lib/auth/index.js.map +0 -1
- package/lib/esm/auth/constants.js.map +0 -1
- package/lib/esm/auth/decorators.js.map +0 -1
- package/lib/esm/auth/index.js.map +0 -1
- package/lib/esm/fs/FilesystemAdapter.js.map +0 -1
- package/lib/esm/fs/FsDispatch.js.map +0 -1
- package/lib/esm/fs/helpers.js.map +0 -1
- package/lib/esm/fs/index.js.map +0 -1
- package/lib/esm/fs/indexStore.js.map +0 -1
- package/lib/esm/fs/locks/FilesystemLock.js.map +0 -1
- package/lib/esm/fs/locks/FilesystemMultiLock.js.map +0 -1
- package/lib/esm/fs/types.js.map +0 -1
- package/lib/esm/identity/decorators.js.map +0 -1
- package/lib/esm/identity/index.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/interfaces/ContextuallyLogged.js.map +0 -1
- package/lib/esm/interfaces/ErrorParser.js.map +0 -1
- package/lib/esm/interfaces/Executor.js.map +0 -1
- package/lib/esm/interfaces/Observable.js.map +0 -1
- package/lib/esm/interfaces/Observer.js.map +0 -1
- package/lib/esm/interfaces/Paginatable.js.map +0 -1
- package/lib/esm/interfaces/Queriable.js.map +0 -1
- package/lib/esm/interfaces/RawExecutor.js.map +0 -1
- package/lib/esm/interfaces/SequenceOptions.js.map +0 -1
- package/lib/esm/interfaces/index.js.map +0 -1
- package/lib/esm/migrations/Migration.js.map +0 -1
- package/lib/esm/migrations/MigrationService.js.map +0 -1
- package/lib/esm/migrations/MigrationTasks.js.map +0 -1
- package/lib/esm/migrations/constants.js.map +0 -1
- package/lib/esm/migrations/decorators.js.map +0 -1
- package/lib/esm/migrations/index.js.map +0 -1
- package/lib/esm/migrations/types.js.map +0 -1
- package/lib/esm/model/BaseModel.js.map +0 -1
- package/lib/esm/model/SequenceModel.js.map +0 -1
- package/lib/esm/model/construction.js.map +0 -1
- package/lib/esm/model/decorators.js.map +0 -1
- package/lib/esm/model/index.js.map +0 -1
- package/lib/esm/model/indexing.js.map +0 -1
- package/lib/esm/model/types.js.map +0 -1
- package/lib/esm/overrides/Metadata.js.map +0 -1
- package/lib/esm/overrides/Model.js.map +0 -1
- package/lib/esm/overrides/ModelBuilder.js.map +0 -1
- package/lib/esm/overrides/index.js.map +0 -1
- package/lib/esm/overrides/injectables.js.map +0 -1
- package/lib/esm/overrides/overrides.js.map +0 -1
- package/lib/esm/persistence/Adapter.js.map +0 -1
- package/lib/esm/persistence/Context.js.map +0 -1
- package/lib/esm/persistence/ContextLock.js.map +0 -1
- package/lib/esm/persistence/Dispatch.js.map +0 -1
- package/lib/esm/persistence/ObserverHandler.js.map +0 -1
- package/lib/esm/persistence/Sequence.js.map +0 -1
- package/lib/esm/persistence/constants.js.map +0 -1
- package/lib/esm/persistence/decorators.js.map +0 -1
- package/lib/esm/persistence/errors.js.map +0 -1
- package/lib/esm/persistence/event-filters.js.map +0 -1
- package/lib/esm/persistence/generators.js.map +0 -1
- package/lib/esm/persistence/index.js.map +0 -1
- package/lib/esm/persistence/transactions.js.map +0 -1
- package/lib/esm/persistence/types.js.map +0 -1
- package/lib/esm/query/Condition.js.map +0 -1
- package/lib/esm/query/MethodQueryBuilder.js.map +0 -1
- package/lib/esm/query/Paginator.js.map +0 -1
- package/lib/esm/query/Statement.js.map +0 -1
- package/lib/esm/query/constants.js.map +0 -1
- package/lib/esm/query/decorators.js.map +0 -1
- package/lib/esm/query/errors.js.map +0 -1
- package/lib/esm/query/index.js.map +0 -1
- package/lib/esm/query/options.js.map +0 -1
- package/lib/esm/query/selectors.js.map +0 -1
- package/lib/esm/query/types.js.map +0 -1
- package/lib/esm/query/utils.js.map +0 -1
- package/lib/esm/ram/RamAdapter.js.map +0 -1
- package/lib/esm/ram/RamPaginator.js.map +0 -1
- package/lib/esm/ram/RamStatement.js.map +0 -1
- package/lib/esm/ram/constants.js.map +0 -1
- package/lib/esm/ram/handlers.js.map +0 -1
- package/lib/esm/ram/index.js.map +0 -1
- package/lib/esm/ram/types.js.map +0 -1
- package/lib/esm/repository/Repository.js.map +0 -1
- package/lib/esm/repository/constants.js.map +0 -1
- package/lib/esm/repository/decorators.js.map +0 -1
- package/lib/esm/repository/errors.js.map +0 -1
- package/lib/esm/repository/index.js.map +0 -1
- package/lib/esm/repository/injectables.js.map +0 -1
- package/lib/esm/repository/types.js.map +0 -1
- package/lib/esm/repository/utils.js.map +0 -1
- package/lib/esm/services/ModelService.js.map +0 -1
- package/lib/esm/services/PersistenceService.js.map +0 -1
- package/lib/esm/services/index.js.map +0 -1
- package/lib/esm/services/services.js.map +0 -1
- package/lib/esm/tasks/CleanUpTask.js.map +0 -1
- package/lib/esm/tasks/TaskContext.js.map +0 -1
- package/lib/esm/tasks/TaskEngine.js.map +0 -1
- package/lib/esm/tasks/TaskErrors.js.map +0 -1
- package/lib/esm/tasks/TaskEventBus.js.map +0 -1
- package/lib/esm/tasks/TaskHandler.js.map +0 -1
- package/lib/esm/tasks/TaskHandlerRegistry.js.map +0 -1
- package/lib/esm/tasks/TaskService.js.map +0 -1
- package/lib/esm/tasks/TaskStateChangeError.js.map +0 -1
- package/lib/esm/tasks/TaskTracker.js.map +0 -1
- package/lib/esm/tasks/builder.js.map +0 -1
- package/lib/esm/tasks/constants.js.map +0 -1
- package/lib/esm/tasks/decorators.js.map +0 -1
- package/lib/esm/tasks/index.js.map +0 -1
- package/lib/esm/tasks/logging.js.map +0 -1
- package/lib/esm/tasks/models/TaskBackoffModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskErrorModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskEventModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskIOSerializer.js.map +0 -1
- package/lib/esm/tasks/models/TaskLogEntryModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskStepResultModel.js.map +0 -1
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +0 -1
- package/lib/esm/tasks/models/index.js.map +0 -1
- package/lib/esm/tasks/types.js.map +0 -1
- package/lib/esm/tasks/utils.js.map +0 -1
- package/lib/esm/utils/ContextualLoggedClass.js.map +0 -1
- package/lib/esm/utils/decorators.js.map +0 -1
- package/lib/esm/utils/errors.js.map +0 -1
- package/lib/esm/utils/index.js.map +0 -1
- package/lib/esm/utils/throttling.js.map +0 -1
- package/lib/esm/utils/types.js.map +0 -1
- package/lib/esm/utils/utils.js.map +0 -1
- package/lib/esm/workers/TaskEngine.js.map +0 -1
- package/lib/esm/workers/WorkThreadEnvironment.js.map +0 -1
- package/lib/esm/workers/index.js.map +0 -1
- package/lib/esm/workers/messages.js.map +0 -1
- package/lib/esm/workers/types.js.map +0 -1
- package/lib/esm/workers/workerThread.js.map +0 -1
- package/lib/fs/FilesystemAdapter.js.map +0 -1
- package/lib/fs/FsDispatch.js.map +0 -1
- package/lib/fs/helpers.js.map +0 -1
- package/lib/fs/index.js.map +0 -1
- package/lib/fs/indexStore.js.map +0 -1
- package/lib/fs/locks/FilesystemLock.js.map +0 -1
- package/lib/fs/locks/FilesystemMultiLock.js.map +0 -1
- package/lib/fs/types.js.map +0 -1
- package/lib/identity/decorators.js.map +0 -1
- package/lib/identity/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interfaces/ContextuallyLogged.js.map +0 -1
- package/lib/interfaces/ErrorParser.js.map +0 -1
- package/lib/interfaces/Executor.js.map +0 -1
- package/lib/interfaces/Observable.js.map +0 -1
- package/lib/interfaces/Observer.js.map +0 -1
- package/lib/interfaces/Paginatable.js.map +0 -1
- package/lib/interfaces/Queriable.js.map +0 -1
- package/lib/interfaces/RawExecutor.js.map +0 -1
- package/lib/interfaces/SequenceOptions.js.map +0 -1
- package/lib/interfaces/index.js.map +0 -1
- package/lib/migrations/Migration.js.map +0 -1
- package/lib/migrations/MigrationService.js.map +0 -1
- package/lib/migrations/MigrationTasks.js.map +0 -1
- package/lib/migrations/constants.js.map +0 -1
- package/lib/migrations/decorators.js.map +0 -1
- package/lib/migrations/index.js.map +0 -1
- package/lib/migrations/types.js.map +0 -1
- package/lib/model/BaseModel.js.map +0 -1
- package/lib/model/SequenceModel.js.map +0 -1
- package/lib/model/construction.js.map +0 -1
- package/lib/model/decorators.js.map +0 -1
- package/lib/model/index.js.map +0 -1
- package/lib/model/indexing.js.map +0 -1
- package/lib/model/types.js.map +0 -1
- package/lib/overrides/Metadata.js.map +0 -1
- package/lib/overrides/Model.js.map +0 -1
- package/lib/overrides/ModelBuilder.js.map +0 -1
- package/lib/overrides/index.js.map +0 -1
- package/lib/overrides/injectables.js.map +0 -1
- package/lib/overrides/overrides.js.map +0 -1
- package/lib/persistence/Adapter.js.map +0 -1
- package/lib/persistence/Context.js.map +0 -1
- package/lib/persistence/ContextLock.js.map +0 -1
- package/lib/persistence/Dispatch.js.map +0 -1
- package/lib/persistence/ObserverHandler.js.map +0 -1
- package/lib/persistence/Sequence.js.map +0 -1
- package/lib/persistence/constants.js.map +0 -1
- package/lib/persistence/decorators.js.map +0 -1
- package/lib/persistence/errors.js.map +0 -1
- package/lib/persistence/event-filters.js.map +0 -1
- package/lib/persistence/generators.js.map +0 -1
- package/lib/persistence/index.js.map +0 -1
- package/lib/persistence/transactions.js.map +0 -1
- package/lib/persistence/types.js.map +0 -1
- package/lib/query/Condition.js.map +0 -1
- package/lib/query/MethodQueryBuilder.js.map +0 -1
- package/lib/query/Paginator.js.map +0 -1
- package/lib/query/Statement.js.map +0 -1
- package/lib/query/constants.js.map +0 -1
- package/lib/query/decorators.js.map +0 -1
- package/lib/query/errors.js.map +0 -1
- package/lib/query/index.js.map +0 -1
- package/lib/query/options.js.map +0 -1
- package/lib/query/selectors.js.map +0 -1
- package/lib/query/types.js.map +0 -1
- package/lib/query/utils.js.map +0 -1
- package/lib/ram/RamAdapter.js.map +0 -1
- package/lib/ram/RamPaginator.js.map +0 -1
- package/lib/ram/RamStatement.js.map +0 -1
- package/lib/ram/constants.js.map +0 -1
- package/lib/ram/handlers.js.map +0 -1
- package/lib/ram/index.js.map +0 -1
- package/lib/ram/types.js.map +0 -1
- package/lib/repository/Repository.js.map +0 -1
- package/lib/repository/constants.js.map +0 -1
- package/lib/repository/decorators.js.map +0 -1
- package/lib/repository/errors.js.map +0 -1
- package/lib/repository/index.js.map +0 -1
- package/lib/repository/injectables.js.map +0 -1
- package/lib/repository/types.js.map +0 -1
- package/lib/repository/utils.js.map +0 -1
- package/lib/services/ModelService.js.map +0 -1
- package/lib/services/PersistenceService.js.map +0 -1
- package/lib/services/index.js.map +0 -1
- package/lib/services/services.js.map +0 -1
- package/lib/tasks/CleanUpTask.js.map +0 -1
- package/lib/tasks/TaskContext.js.map +0 -1
- package/lib/tasks/TaskEngine.js.map +0 -1
- package/lib/tasks/TaskErrors.js.map +0 -1
- package/lib/tasks/TaskEventBus.js.map +0 -1
- package/lib/tasks/TaskHandler.js.map +0 -1
- package/lib/tasks/TaskHandlerRegistry.js.map +0 -1
- package/lib/tasks/TaskService.js.map +0 -1
- package/lib/tasks/TaskStateChangeError.js.map +0 -1
- package/lib/tasks/TaskTracker.js.map +0 -1
- package/lib/tasks/builder.js.map +0 -1
- package/lib/tasks/constants.js.map +0 -1
- package/lib/tasks/decorators.js.map +0 -1
- package/lib/tasks/index.js.map +0 -1
- package/lib/tasks/logging.js.map +0 -1
- package/lib/tasks/models/TaskBackoffModel.js.map +0 -1
- package/lib/tasks/models/TaskErrorModel.js.map +0 -1
- package/lib/tasks/models/TaskEventModel.js.map +0 -1
- package/lib/tasks/models/TaskIOSerializer.js.map +0 -1
- package/lib/tasks/models/TaskLogEntryModel.js.map +0 -1
- package/lib/tasks/models/TaskModel.js.map +0 -1
- package/lib/tasks/models/TaskStepResultModel.js.map +0 -1
- package/lib/tasks/models/TaskStepSpecModel.js.map +0 -1
- package/lib/tasks/models/index.js.map +0 -1
- package/lib/tasks/types.js.map +0 -1
- package/lib/tasks/utils.js.map +0 -1
- package/lib/utils/ContextualLoggedClass.js.map +0 -1
- package/lib/utils/decorators.js.map +0 -1
- package/lib/utils/errors.js.map +0 -1
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/throttling.js.map +0 -1
- package/lib/utils/types.js.map +0 -1
- package/lib/utils/utils.js.map +0 -1
- package/lib/workers/TaskEngine.js.map +0 -1
- package/lib/workers/WorkThreadEnvironment.js.map +0 -1
- package/lib/workers/index.js.map +0 -1
- package/lib/workers/messages.js.map +0 -1
- package/lib/workers/types.js.map +0 -1
- package/lib/workers/workerThread.js.map +0 -1
package/lib/esm/tasks/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFza3MvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhc2tDb250ZXh0IH0gZnJvbSBcIi4vVGFza0NvbnRleHRcIjtcbmltcG9ydCB7IFRhc2tMb2dnZXIgfSBmcm9tIFwiLi9sb2dnaW5nXCI7XG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgQWRhcHRlciwgQ29udGV4dEZsYWdzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2luZGV4XCI7XG5pbXBvcnQgeyBDb25mT2YgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvdHlwZXNcIjtcbmltcG9ydCB7IFRhc2tFdmVudEJ1cyB9IGZyb20gXCIuL1Rhc2tFdmVudEJ1c1wiO1xuaW1wb3J0IHsgVGFza0hhbmRsZXJSZWdpc3RyeSB9IGZyb20gXCIuL1Rhc2tIYW5kbGVyUmVnaXN0cnlcIjtcbmltcG9ydCB7IFRhc2tFdmVudE1vZGVsIH0gZnJvbSBcIi4vbW9kZWxzL1Rhc2tFdmVudE1vZGVsXCI7XG5pbXBvcnQgeyBUYXNrU3RhdHVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBUYXNrRXJyb3JNb2RlbCB9IGZyb20gXCIuL21vZGVscy9UYXNrRXJyb3JNb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYXNrSGFuZGxlcjxJID0gYW55LCBPID0gYW55PiB7XG4gIHR5cGU6IHN0cmluZztcbiAgcnVuKGlucHV0OiBJLCBjdHg6IFRhc2tDb250ZXh0KTogUHJvbWlzZTxPPjtcbn1cblxuZXhwb3J0IHR5cGUgTG9nUGlwZU9wdGlvbnMgPSB7XG4gIHN0eWxlOiBib29sZWFuO1xuICBsb2dQcm9ncmVzczogYm9vbGVhbjtcbiAgbG9nU3RhdHVzOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRXZlbnRQaXBlID0gKGV2dDogVGFza0V2ZW50TW9kZWwsIC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvZ1BpcGUge1xuICAobG9nczogW0xvZ0xldmVsLCBzdHJpbmcsIGFueV1bXSk6IFByb21pc2U8dm9pZD47XG4gIChlbnRyeTogW0xvZ0xldmVsLCBzdHJpbmddIHwgW0xvZ0xldmVsLCBzdHJpbmcsIGFueV0pOiBQcm9taXNlPHZvaWQ+O1xuICAobGV2ZWw6IExvZ0xldmVsLCBtc2c6IHN0cmluZywgbWV0YT86IGFueSk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFza0ZsYWdzPExPRyBleHRlbmRzIFRhc2tMb2dnZXI8YW55PiA9IFRhc2tMb2dnZXI8YW55Pj5cbiAgZXh0ZW5kcyBDb250ZXh0RmxhZ3M8TE9HPiB7XG4gIHRhc2tJZDogc3RyaW5nO1xuICBhdHRlbXB0OiBudW1iZXI7XG4gIHBpcGU6IExvZ1BpcGU7XG4gIGZsdXNoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwcm9ncmVzczogKGRhdGE6IGFueSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgaGVhcnRiZWF0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZXN1bHRDYWNoZT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFRhc2tFbmdpbmVDb25maWc8QSBleHRlbmRzIEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55Pj4gPSB7XG4gIGFkYXB0ZXI6IEE7XG4gIG92ZXJyaWRlcz86IFBhcnRpYWw8Q29uZk9mPEE+PjtcbiAgYnVzPzogVGFza0V2ZW50QnVzO1xuICByZWdpc3RyeT86IFRhc2tIYW5kbGVyUmVnaXN0cnk7XG4gIHdvcmtlcklkOiBzdHJpbmc7XG4gIGNvbmN1cnJlbmN5OiBudW1iZXI7XG4gIGxlYXNlTXM6IG51bWJlcjtcbiAgcG9sbE1zSWRsZTogbnVtYmVyO1xuICBwb2xsTXNCdXN5OiBudW1iZXI7XG4gIGxvZ1RhaWxNYXg6IG51bWJlcjtcbiAgc3RyZWFtQnVmZmVyU2l6ZTogbnVtYmVyO1xuICBtYXhMb2dnaW5nQnVmZmVyOiBudW1iZXI7XG4gIGxvZ2dpbmdCdWZmZXJUcnVuY2F0aW9uOiBudW1iZXI7XG4gIGdyYWNlZnVsU2h1dGRvd25Nc1RpbWVvdXQ6IG51bWJlcjtcbiAgYXV0b1NodXRkb3duPzogVGFza0VuZ2luZUF1dG9TaHV0ZG93bkNvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFRhc2tQcm9ncmVzc1BheWxvYWQgPSB7XG4gIHN0YXR1czogVGFza1N0YXR1cztcbiAgY3VycmVudFN0ZXA/OiBudW1iZXI7XG4gIHRvdGFsU3RlcHM/OiBudW1iZXI7XG4gIG91dHB1dD86IGFueTtcbiAgZXJyb3I/OiBUYXNrRXJyb3JNb2RlbDtcbiAgbmV4dFJ1bkF0PzogRGF0ZTtcbiAgc2NoZWR1bGVkVG8/OiBEYXRlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBUYXNrRW5naW5lQXV0b1NodXRkb3duQ29uZmlnIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGJhY2tvZmZTdGVwTXM/OiBudW1iZXI7XG4gIG1heElkbGVEZWxheU1zPzogbnVtYmVyO1xufVxuIl19
|
package/lib/esm/tasks/utils.js
CHANGED
|
@@ -21,4 +21,4 @@ export function serializeError(err) {
|
|
|
21
21
|
export function sleep(ms) {
|
|
22
22
|
return new Promise((r) => setTimeout(r, ms));
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFza3MvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQ0FBZ0M7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsdUJBQW9CO0FBRTlELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsT0FBZSxFQUNmLEdBQXFCO0lBRXJCLE1BQU0sR0FBRyxHQUNQLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLEtBQUs7UUFDcEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1FBQ1osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBUTtJQUNyQyxPQUFPLElBQUksY0FBYyxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDcEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLO1FBQ2pCLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSTtRQUNmLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTztLQUN0QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFza0Vycm9yTW9kZWwgfSBmcm9tIFwiLi9tb2RlbHMvVGFza0Vycm9yTW9kZWxcIjtcbmltcG9ydCB7IFRhc2tCYWNrb2ZmTW9kZWwgfSBmcm9tIFwiLi9tb2RlbHMvVGFza0JhY2tvZmZNb2RlbFwiO1xuaW1wb3J0IHsgQmFja29mZlN0cmF0ZWd5LCBKaXR0ZXJTdHJhdGVneSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUJhY2tvZmZNcyhcbiAgYXR0ZW1wdDogbnVtYmVyLFxuICBjZmc6IFRhc2tCYWNrb2ZmTW9kZWxcbik6IG51bWJlciB7XG4gIGNvbnN0IHJhdyA9XG4gICAgY2ZnLnN0cmF0ZWd5ID09PSBCYWNrb2ZmU3RyYXRlZ3kuRklYRURcbiAgICAgID8gY2ZnLmJhc2VNc1xuICAgICAgOiBjZmcuYmFzZU1zICogTWF0aC5wb3coMiwgTWF0aC5tYXgoMCwgYXR0ZW1wdCAtIDEpKTtcblxuICBjb25zdCBjYXBwZWQgPSBNYXRoLm1pbihyYXcsIGNmZy5tYXhNcyk7XG5cbiAgaWYgKGNmZy5qaXR0ZXIgPT09IEppdHRlclN0cmF0ZWd5LkZVTEwpIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2FwcGVkKTtcbiAgfVxuICByZXR1cm4gY2FwcGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRXJyb3IoZXJyOiBhbnkpOiBUYXNrRXJyb3JNb2RlbCB7XG4gIHJldHVybiBuZXcgVGFza0Vycm9yTW9kZWwoe1xuICAgIG1lc3NhZ2U6IGVycj8ubWVzc2FnZSA/PyBTdHJpbmcoZXJyKSxcbiAgICBzdGFjazogZXJyPy5zdGFjayxcbiAgICBjb2RlOiBlcnI/LmNvZGUsXG4gICAgZGV0YWlsczogZXJyPy5kZXRhaWxzLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyKSA9PiBzZXRUaW1lb3V0KHIsIG1zKSk7XG59XG4iXX0=
|
|
@@ -104,4 +104,4 @@ export class AbsContextual extends ContextualLoggedClass {
|
|
|
104
104
|
return new this.Context().accumulate(overrides);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
//# sourceMappingURL=ContextualLoggedClass.js.map
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dHVhbExvZ2dlZENsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NvbnRleHR1YWxMb2dnZWRDbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFVLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFHTCxhQUFhLEdBRWQsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLG9DQUErQjtBQXlDakQsTUFBTSxPQUFnQixxQkFFcEIsU0FBUSxXQUFXO0lBK0JULE1BQU0sQ0FNZCxJQUF1QyxFQUN2QyxTQUFpQixFQUNqQixjQUFzQixLQUFlLEVBQ3JDLFNBQXFDO1FBTXJDLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdEMsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLElBQUksRUFBRSxFQUNmLFdBQVcsRUFDWCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQVMwQixDQUFDO0lBQzlFLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUtaLEdBQU0sRUFDTixNQUFxQixFQUNyQixHQUFZLEVBQ1osTUFBeUI7UUFFekIsTUFBTSxHQUFHLEdBQUksR0FBa0IsQ0FBQyxTQUFTLENBQUM7WUFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBVSxDQUFDLENBQUMsd0JBQXdCO1lBQ3pELENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLGdCQUFnQjtRQUNoQiwrQ0FBK0M7UUFDL0Msb0NBQW9DO1FBQ3BDLDRDQUE0QztRQUM1QywwQkFBMEI7UUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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RCx3QkFBd0I7UUFDeEIsZ0VBQWdFO1FBQ2hFLDZEQUE2RDtRQUM3RCxNQUFNLFFBQVEsR0FBRyxPQUFRLElBQVksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQzNELHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsdUJBQXVCO1FBQ3ZCLDBDQUEwQztRQUMxQyxnQkFBZ0I7UUFDaEIsUUFBUTtRQUNSLGlDQUFpQztRQUVqQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdkMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBTSxDQUFDO1FBQzFELE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBTSxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlZENsYXNzLCBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgQ29udGV4dHVhbCxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL0NvbnRleHRcIjtcbmltcG9ydCB7IEZsYWdzT2YsIExvZ2dlck9mIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvaW5kZXhcIjtcbmltcG9ydCB7IFByZXBhcmVkU3RhdGVtZW50S2V5cyB9IGZyb20gXCIuLi9xdWVyeS9pbmRleFwiO1xuXG5leHBvcnQgdHlwZSBDb250ZXh0dWFsQXJnczxcbiAgQyBleHRlbmRzIENvbnRleHQ8YW55PixcbiAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4+ID0gWy4uLkFSR1MsIENdO1xuXG5leHBvcnQgdHlwZSBNZXRob2RPck9wZXJhdGlvbiA9XG4gIHwgKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KVxuICB8IHN0cmluZ1xuICB8IE9wZXJhdGlvbktleXNcbiAgfCBQZXJzaXN0ZW5jZUtleXNcbiAgfCBCdWxrQ3J1ZE9wZXJhdGlvbktleXNcbiAgfCBQcmVwYXJlZFN0YXRlbWVudEtleXM7XG5cbmV4cG9ydCB0eXBlIE1heWJlQ29udGV4dHVhbEFyZzxcbiAgQyBleHRlbmRzIENvbnRleHQ8YW55PixcbiAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4+ID0gYW55W10gfCBDb250ZXh0dWFsQXJnczxDLCBBUkdTPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dHVhbGl6ZWRBcmdzPFxuICBDIGV4dGVuZHMgQ29udGV4dDxhbnk+LFxuICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgRVhURU5EIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlLFxuPiA9IEVYVEVORCBleHRlbmRzIHRydWVcbiAgPyB7XG4gICAgICBjdHg6IEM7XG4gICAgICBsb2c6IExvZ2dlck9mPEM+O1xuICAgICAgY3R4QXJnczogQ29udGV4dHVhbEFyZ3M8QywgQVJHUz47XG4gICAgICBmb3I6ICguLi5hbnk6IGFueVtdKSA9PiBDb250ZXh0dWFsaXplZEFyZ3M8QywgQVJHUywgZmFsc2U+O1xuICAgIH1cbiAgOiB7XG4gICAgICBjdHg6IEM7XG4gICAgICBsb2c6IExvZ2dlck9mPEM+O1xuICAgICAgY3R4QXJnczogQ29udGV4dHVhbEFyZ3M8QywgQVJHUz47XG4gICAgfTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRleHR1YWxMb2dnZWRDbGFzczxcbiAgQyBleHRlbmRzIENvbnRleHQ8YW55Pixcbj4gZXh0ZW5kcyBMb2dnZWRDbGFzcyB7XG4gIHByb3RlY3RlZCBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0RcbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT47XG4gIHByb3RlY3RlZCBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IGZhbHNlLFxuICAgIG92ZXJyaWRlcz86IFBhcnRpYWw8RmxhZ3NPZjxDT05URVhUPj5cbiAgKTogQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT47XG4gIHByb3RlY3RlZCBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBhcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8Q09OVEVYVCwgQVJHUz4sXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgYWxsb3dDcmVhdGU6IHRydWUsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPENPTlRFWFQ+PlxuICApOiBQcm9taXNlPFxuICAgIENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+XG4gID47XG4gIHByb3RlY3RlZCBsb2dDdHg8XG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8YW55PiA9IEMsXG4gICAgQ1JFQVRFIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlLFxuICAgIEFSR1MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLFxuICAgIE1FVEhPRCBleHRlbmRzIE1ldGhvZE9yT3BlcmF0aW9uID0gTWV0aG9kT3JPcGVyYXRpb24sXG4gID4oXG4gICAgYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENPTlRFWFQsIEFSR1M+LFxuICAgIG9wZXJhdGlvbjogTUVUSE9ELFxuICAgIGFsbG93Q3JlYXRlOiBDUkVBVEUgPSBmYWxzZSBhcyBDUkVBVEUsXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxGbGFnc09mPENPTlRFWFQ+PlxuICApOlxuICAgIHwgUHJvbWlzZTxcbiAgICAgICAgQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZT5cbiAgICAgID5cbiAgICB8IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+IHtcbiAgICByZXR1cm4gQ29udGV4dHVhbExvZ2dlZENsYXNzLmxvZ0N0eC5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgIG9wZXJhdGlvbixcbiAgICAgIG92ZXJyaWRlcyB8fCB7fSxcbiAgICAgIGFsbG93Q3JlYXRlLFxuICAgICAgLi4uYXJncy5maWx0ZXIoKGUpID0+IHR5cGVvZiBlICE9PSBcInVuZGVmaW5lZFwiKVxuICAgICkgYXNcbiAgICAgIHwgUHJvbWlzZTxcbiAgICAgICAgICBDb250ZXh0dWFsaXplZEFyZ3M8XG4gICAgICAgICAgICBDT05URVhULFxuICAgICAgICAgICAgQVJHUyxcbiAgICAgICAgICAgIE1FVEhPRCBleHRlbmRzIHN0cmluZyA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgID5cbiAgICAgICAgPlxuICAgICAgfCBDb250ZXh0dWFsaXplZEFyZ3M8Q09OVEVYVCwgQVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPjtcbiAgfVxuXG4gIHN0YXRpYyBsb2dGcm9tPFxuICAgIENPTlRFWFQgZXh0ZW5kcyBDb250ZXh0PGFueT4sXG4gICAgQSA9IGFueSB8IENvbnRleHR1YWw8Q09OVEVYVD4sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICBvYmo6IEEsXG4gICAgbG9nZ2VyOiBMb2dnZXJPZjxhbnk+LFxuICAgIGN0eDogQ09OVEVYVCxcbiAgICBtZXRob2Q/OiBNRVRIT0QgfCBrZXlvZiBBXG4gICk6IExvZ2dlciB7XG4gICAgY29uc3QgbG9nID0gKG9iaiBhcyBDb250ZXh0dWFsKVtcImNvbnRleHRcIl1cbiAgICAgID8gbG9nZ2VyLmNsZWFyKCkuZm9yKG9iaiBhcyBhbnkpIC8vIFJlc2V0IGZvciBDb250ZXh0dWFsc1xuICAgICAgOiBsb2dnZXIuZm9yKG9iaik7XG4gICAgLy8gY29uc3QgbG9nID0gKFxuICAgIC8vICAgKHRoaXMgYXMgdW5rbm93biBhcyBDb250ZXh0dWFsKVtcImNvbnRleHRcIl1cbiAgICAvLyAgICAgPyBjdHgubG9nZ2VyLmZvcih0aGlzIGFzIGFueSlcbiAgICAvLyAgICAgOiBjdHgubG9nZ2VyLmNsZWFyKCkuZm9yKHRoaXMgYXMgYW55KVxuICAgIC8vICkgYXMgTG9nZ2VyT2Y8Q09OVEVYVD47XG4gICAgcmV0dXJuIChtZXRob2QgPyBsb2cuZm9yKG1ldGhvZCBhcyBhbnkpIDogbG9nKSBhcyBMb2dnZXI7XG4gIH1cblxuICBzdGF0aWMgbG9nQ3R4PFxuICAgIENPTlRFWFQgZXh0ZW5kcyBDb250ZXh0PGFueT4sXG4gICAgQVJHUyBleHRlbmRzIGFueVtdID0gYW55W10sXG4gICAgTUVUSE9EIGV4dGVuZHMgTWV0aG9kT3JPcGVyYXRpb24gPSBNZXRob2RPck9wZXJhdGlvbixcbiAgPihcbiAgICB0aGlzOiBhbnksXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENPTlRFWFQsIEFSR1M+XG4gICk6IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+O1xuICBzdGF0aWMgbG9nQ3R4PFxuICAgIENPTlRFWFQgZXh0ZW5kcyBDb250ZXh0PGFueT4sXG4gICAgQ1JFQVRFIGV4dGVuZHMgYm9vbGVhbixcbiAgICBDT05URVhUVUFMIGV4dGVuZHMgQ29udGV4dHVhbDxDT05URVhUPiB8IGFueSxcbiAgICBBUkdTIGV4dGVuZHMgYW55W10gPSBhbnlbXSxcbiAgICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RPck9wZXJhdGlvbiA9IE1ldGhvZE9yT3BlcmF0aW9uLFxuICA+KFxuICAgIHRoaXM6IENPTlRFWFRVQUwsXG4gICAgb3BlcmF0aW9uOiBNRVRIT0QsXG4gICAgb3ZlcnJpZGVzOiBQYXJ0aWFsPEZsYWdzT2Y8Q09OVEVYVD4+IHwgdW5kZWZpbmVkLFxuICAgIGFsbG93Q3JlYXRlOiBDUkVBVEUgPSBmYWxzZSBhcyBDUkVBVEUsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENPTlRFWFQsIEFSR1M+XG4gICk6IENSRUFURSBleHRlbmRzIHRydWVcbiAgICA/IFByb21pc2U8XG4gICAgICAgIENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+XG4gICAgICA+XG4gICAgOiBDb250ZXh0dWFsaXplZEFyZ3M8Q09OVEVYVCwgQVJHUywgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlPiB7XG4gICAgY29uc3QgYm9vdEN0eCA9IGFzeW5jIGZ1bmN0aW9uIGJvb3RDdHgoXG4gICAgICB0aGlzOiBDT05URVhUVUFMLFxuICAgICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENPTlRFWFQ+XG4gICAgKSB7XG4gICAgICBpZiAoIXRoaXMpIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm8gY29udGV4dHVhbCBwcm92aWRlZFwiKTtcbiAgICAgIGlmICghKHRoaXMgYXMgYW55KVtcImNvbnRleHRcIl0pXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSW52YWxpZCBjb250ZXh0dWFsIHByb3ZpZGVkXCIpO1xuICAgICAgcmV0dXJuICh0aGlzIGFzIHVua25vd24gYXMgQ29udGV4dHVhbDxDT05URVhUPikuY29udGV4dChcbiAgICAgICAgdHlwZW9mIG9wZXJhdGlvbiA9PT0gXCJzdHJpbmdcIiA/IG9wZXJhdGlvbiA6IG9wZXJhdGlvbi5uYW1lLFxuICAgICAgICBvdmVycmlkZXMgfHwgKHt9IGFzIFBhcnRpYWw8RmxhZ3NPZjxDT05URVhUPj4pLFxuICAgICAgICAuLi5hcmdzXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChcbiAgICAgIG9iajogQ09OVEVYVFVBTCB8IGFueSxcbiAgICAgIHJlc3A6IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTPixcbiAgICAgIG9wOiBNRVRIT0RcbiAgICApOiBNRVRIT0QgZXh0ZW5kcyBzdHJpbmdcbiAgICAgID8gQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIHRydWU+XG4gICAgICA6IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTPiA9PiB7XG4gICAgICAvLyByZXNwLmxvZyA9IENvbnRleHR1YWxMb2dnZWRDbGFzcy5sb2dGcm9tKG9iaiwgcmVzcC5sb2csIGN0eCwgb3ApIGFzIGFueTtcbiAgICAgIGNvbnN0IGJhc2VMb2cgPSByZXNwLmxvZyB8fCBMb2dnaW5nLmdldCgpO1xuICAgICAgcmVzcC5sb2cgPSBvYmouY29udGV4dFxuICAgICAgICA/IGJhc2VMb2cuY2xlYXIoKS5mb3Iob2JqKSAvLyBSZXNldCBmb3IgQ29udGV4dHVhbHNcbiAgICAgICAgOiBiYXNlTG9nLmZvcihvYmopO1xuXG4gICAgICBpZiAodHlwZW9mIG9wID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIChyZXNwIGFzIENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCB0cnVlPikuZm9yID0gKFxuICAgICAgICAgIG1ldGhvZDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmVzcCwgeyBsb2c6IHJlc3AubG9nLmZvcihtZXRob2QpIH0pO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcC5sb2cgPSByZXNwLmxvZy5mb3Iob3ApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3AgYXMgTUVUSE9EIGV4dGVuZHMgc3RyaW5nXG4gICAgICAgID8gQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1MsIHRydWU+XG4gICAgICAgIDogQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1M+O1xuICAgIH07XG5cbiAgICBsZXQgY3R4OiBhbnkgPSBhcmdzLnBvcCgpO1xuICAgIGNvbnN0IGhhc0NvbnRleHQgPSBjdHggaW5zdGFuY2VvZiBDb250ZXh0O1xuICAgIGlmIChjdHggJiYgIWhhc0NvbnRleHQpIHtcbiAgICAgIGFyZ3MucHVzaChjdHgpO1xuICAgICAgY3R4ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoIWFsbG93Q3JlYXRlICYmICFoYXNDb250ZXh0KVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJObyBjb250ZXh0IHByb3ZpZGVkXCIpO1xuICAgIGlmIChoYXNDb250ZXh0ICYmICFhbGxvd0NyZWF0ZSkge1xuICAgICAgaWYgKCFjdHgpXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlzc2luZyBjb250ZXh0LiBzaG91bGQgYmUgaW1wb3NzaWJsZVwiKTtcbiAgICAgIHJldHVybiByZXNwb25zZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAge1xuICAgICAgICAgIGxvZzogY3R4LmxvZ2dlcixcbiAgICAgICAgICBjdHg6IGN0eCxcbiAgICAgICAgICBjdHhBcmdzOiBbLi4uYXJncywgY3R4XSxcbiAgICAgICAgfSBhcyBDb250ZXh0dWFsaXplZEFyZ3M8Q09OVEVYVCwgQVJHUz4sXG4gICAgICAgIG9wZXJhdGlvblxuICAgICAgKSBhcyBhbnk7XG4gICAgfVxuICAgIHJldHVybiBib290Q3R4XG4gICAgICAuY2FsbCh0aGlzLCAuLi5bLi4uYXJncywgY3R4XS5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsb2c6IHJlc3AubG9nZ2VyLFxuICAgICAgICAgICAgY3R4OiByZXNwLFxuICAgICAgICAgICAgY3R4QXJnczogWy4uLmFyZ3MsIHJlc3BdLFxuICAgICAgICAgIH0gYXMgQ29udGV4dHVhbGl6ZWRBcmdzPENPTlRFWFQsIEFSR1M+LFxuICAgICAgICAgIG9wZXJhdGlvblxuICAgICAgICApO1xuICAgICAgfSkgYXMgQ1JFQVRFIGV4dGVuZHMgdHJ1ZVxuICAgICAgPyBQcm9taXNlPFxuICAgICAgICAgIENvbnRleHR1YWxpemVkQXJnczxcbiAgICAgICAgICAgIENPTlRFWFQsXG4gICAgICAgICAgICBBUkdTLFxuICAgICAgICAgICAgTUVUSE9EIGV4dGVuZHMgc3RyaW5nID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgPlxuICAgICAgICA+XG4gICAgICA6IENvbnRleHR1YWxpemVkQXJnczxDT05URVhULCBBUkdTLCBNRVRIT0QgZXh0ZW5kcyBzdHJpbmcgPyB0cnVlIDogZmFsc2U+O1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnNDb250ZXh0dWFsPEMgZXh0ZW5kcyBDb250ZXh0PGFueT4+XG4gIGV4dGVuZHMgQ29udGV4dHVhbExvZ2dlZENsYXNzPEM+XG4gIGltcGxlbWVudHMgQ29udGV4dHVhbDxDPlxue1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGNvbnRleHQgY29uc3RydWN0b3IgZm9yIHRoaXMgYWRhcHRlclxuICAgKiBAc3VtbWFyeSBSZWZlcmVuY2UgdG8gdGhlIGNvbnRleHQgY2xhc3MgY29uc3RydWN0b3IgdXNlZCBieSB0aGlzIGFkYXB0ZXJcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX0NvbnRleHQ6IENvbnN0cnVjdG9yPEM+ID0gQ29udGV4dDxcbiAgICBGbGFnc09mPEM+XG4gID4gYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxDPjtcbiAgcHJvdGVjdGVkIGdldCBDb250ZXh0KCk6IENvbnN0cnVjdG9yPEM+IHtcbiAgICByZXR1cm4gdGhpcy5fQ29udGV4dDtcbiAgfVxuXG4gIGFzeW5jIGNvbnRleHQoXG4gICAgb3BlcmF0aW9uOlxuICAgICAgfCAoKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpXG4gICAgICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gICAgICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICAgICAgfCBPcGVyYXRpb25LZXlzLlVQREFURVxuICAgICAgfCBPcGVyYXRpb25LZXlzLkRFTEVURVxuICAgICAgfCBzdHJpbmcsXG4gICAgb3ZlcnJpZGVzOiBQYXJ0aWFsPEZsYWdzT2Y8Qz4+LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0PGFueT4sIGFueVtdPlxuICApOiBQcm9taXNlPEM+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jb250ZXh0KTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgQ3JlYXRpbmcgbmV3IGNvbnRleHQgZm9yICR7dHlwZW9mIG9wZXJhdGlvbiA9PT0gXCJzdHJpbmdcIiA/IG9wZXJhdGlvbiA6IG9wZXJhdGlvbi5uYW1lfSBvcGVyYXRpb24gd2l0aCBmbGFnIG92ZXJyaWRlczogJHtPYmplY3Qua2V5cyhvdmVycmlkZXMpfWBcbiAgICApO1xuICAgIGxldCBjdHggPSBhcmdzLnBvcCgpO1xuICAgIGlmICghKGN0eCBpbnN0YW5jZW9mIENvbnRleHQpKSB7XG4gICAgICBhcmdzLnB1c2goY3R4KTtcbiAgICAgIGN0eCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBjb25zdCBvcGVyYXRpb25OYW1lID1cbiAgICAvLyAgIHR5cGVvZiBvcGVyYXRpb24gPT09IFwic3RyaW5nXCIgPyBvcGVyYXRpb24gOiBvcGVyYXRpb24ubmFtZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgaGFzRmxhZ3MgPSB0eXBlb2YgKHRoaXMgYXMgYW55KS5mbGFncyA9PT0gXCJmdW5jdGlvblwiO1xuICAgIC8vIGNvbnN0IGZsYWdzID0gaGFzRmxhZ3NcbiAgICAvLyAgID8gYXdhaXQgKHRoaXMgYXMgYW55KS5mbGFncyhcbiAgICAvLyAgICAgICBvcGVyYXRpb25OYW1lLFxuICAgIC8vICAgICAgIG92ZXJyaWRlcyBhcyBQYXJ0aWFsPEZsYWdzT2Y8Qz4+LFxuICAgIC8vICAgICAgIC4uLmFyZ3NcbiAgICAvLyAgICAgKVxuICAgIC8vICAgOiAob3ZlcnJpZGVzIGFzIEZsYWdzT2Y8Qz4pO1xuXG4gICAgaWYgKGN0eCAmJiAhKGN0eCBpbnN0YW5jZW9mIHRoaXMuQ29udGV4dCkpXG4gICAgICByZXR1cm4gbmV3IHRoaXMuQ29udGV4dChjdHgpLmFjY3VtdWxhdGUob3ZlcnJpZGVzKSBhcyBDO1xuICAgIHJldHVybiBuZXcgdGhpcy5Db250ZXh0KCkuYWNjdW11bGF0ZShvdmVycmlkZXMpIGFzIEM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -108,4 +108,4 @@ export function route(httpMethod, path) {
|
|
|
108
108
|
})
|
|
109
109
|
.apply();
|
|
110
110
|
}
|
|
111
|
-
//# sourceMappingURL=decorators.js.map
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBRUwsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsY0FBYyxFQUNkLElBQUksSUFBSSxRQUFRLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNDQUFrQztBQUc1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQWdCO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxTQUFTLGNBQWMsQ0FBQyxFQUFrQjtJQUN4QyxPQUFPLFVBQVUsTUFBVyxFQUFFLFlBQWtCLEVBQUUsVUFBZ0I7UUFDaEUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNsQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFXO1lBQ3pDLE1BQU0sV0FBVyxHQUFJLElBQStCLENBQUMsS0FBSyxDQUFDO1lBQzNELElBQUksV0FBVyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxNQUFNLElBQUksR0FBRyxXQUFXLEVBQUUsSUFBSSxJQUFJLE9BQU8sQ0FBQztnQkFDMUMsTUFBTSxJQUFJLEtBQUssQ0FDYixjQUFjLEVBQUUsd0NBQXdDLElBQUksR0FBRyxDQUNoRSxDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FB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RUFBRSxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ3ZDLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEtBQUssQ0FBQyxVQUFxQixFQUFFLElBQVk7SUFDdkQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxTQUFTLEtBQUs7UUFDWixPQUFPLFNBQVMsS0FBSyxDQUFDLEdBQVcsRUFBRSxJQUFVLEVBQUUsVUFBZ0I7WUFDN0QsTUFBTSxPQUFPLEdBQXlCO2dCQUNwQyxJQUFJLEVBQUUsSUFBSTtnQkFDVixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsT0FBTyxFQUFFLFVBQVU7YUFDcEIsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUM1RCxHQUFHLEVBQ0gsSUFBSSxFQUNKLFVBQVUsQ0FDWCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDdkIsTUFBTSxDQUFDO1FBQ04sU0FBUyxFQUFFLEtBQUs7UUFDaEIsSUFBSSxFQUFFLEVBQUU7S0FDVCxDQUFDO1NBQ0QsS0FBSyxFQUFFLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwbHksXG4gIENvbnN0cnVjdG9yLFxuICBEZWNvcmF0aW9uLFxuICBtZXRhZGF0YSxcbiAgTWV0YWRhdGEsXG4gIG1ldGhvZE1ldGFkYXRhLFxuICBwcm9wIGFzIHByb3BlcnR5LFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IGluamVjdCwgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvaW5qZWN0YWJsZS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBNb2RlbENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBDcnVkT3BlcmF0aW9ucyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZVNlcnZpY2VLZXksIGlzT3BlcmF0aW9uQmxvY2tlZCB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNb2RlbFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvTW9kZWxTZXJ2aWNlXCI7XG5pbXBvcnQgeyBEZWNhZlJvdXRlRGVjT3B0aW9ucywgSHR0cFZlcmJzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZnVuY3Rpb24gT3BlcmF0aW9uR3VhcmQob3A6IENydWRPcGVyYXRpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIF9wcm9wZXJ0eUtleT86IGFueSwgZGVzY3JpcHRvcj86IGFueSkge1xuICAgIGNvbnN0IG9yaWdpbmFsID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBNb2RlbENvbnN0ciA9ICh0aGlzIGFzIE1vZGVsU2VydmljZTxhbnksIGFueT4pLmNsYXNzO1xuICAgICAgaWYgKE1vZGVsQ29uc3RyICYmIGlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0ciwgb3ApKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBNb2RlbENvbnN0cj8ubmFtZSA/PyBcIk1vZGVsXCI7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgT3BlcmF0aW9uIFwiJHtvcH1cIiBpcyBibG9ja2VkIGJ5IEBCbG9ja09wZXJhdGlvbnMgZm9yICR7bmFtZX0uYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSAoKSA9PiBPcGVyYXRpb25HdWFyZChPcGVyYXRpb25LZXlzLkNSRUFURSk7XG5leHBvcnQgY29uc3QgcmVhZCA9ICgpID0+IE9wZXJhdGlvbkd1YXJkKE9wZXJhdGlvbktleXMuUkVBRCk7XG5leHBvcnQgY29uc3QgdXBkYXRlID0gKCkgPT4gT3BlcmF0aW9uR3VhcmQoT3BlcmF0aW9uS2V5cy5VUERBVEUpO1xuZXhwb3J0IGNvbnN0IGRlbCA9ICgpID0+IE9wZXJhdGlvbkd1YXJkKE9wZXJhdGlvbktleXMuREVMRVRFKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlcnZpY2Uoa2V5Pzogc3RyaW5nIHwgTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+KSB7XG4gIHJldHVybiBmdW5jdGlvbiBzZXJ2aWNlKHRhcmdldDogYW55LCBwcm9wPzogYW55LCBkZXNjcmlwdG9yPzogYW55KSB7XG4gICAgaWYgKCFkZXNjcmlwdG9yICYmICFwcm9wKSB7XG4gICAgICAvLyBjbGFzc1xuICAgICAga2V5ID0ga2V5IHx8IHRhcmdldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvcGVydHkoKSh0YXJnZXQsIHByb3ApO1xuICAgICAgLy8gcHJvcGVydHlcbiAgICAgIGtleSA9IGtleSB8fCBNZXRhZGF0YS50eXBlKHRhcmdldC5jb25zdHJ1Y3RvciwgcHJvcCk7XG4gICAgfVxuXG4gICAga2V5ID0gaW5qZWN0YWJsZVNlcnZpY2VLZXkoa2V5IGFzIGFueSk7XG5cbiAgICBjb25zdCBkZWNzID0gW107XG4gICAgaWYgKGRlc2NyaXB0b3IgJiYgdHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIGRlY3MucHVzaChpbmplY3Qoa2V5KSk7XG4gICAgfSBlbHNlIGlmICghZGVzY3JpcHRvciAmJiAhcHJvcCkge1xuICAgICAgTWV0YWRhdGEuc2V0KFBlcnNpc3RlbmNlS2V5cy5TRVJWSUNFLCBrZXksIHRhcmdldCk7XG4gICAgICBkZWNzLnB1c2goXG4gICAgICAgIGluamVjdGFibGUoa2V5LCB7XG4gICAgICAgICAgc2luZ2xldG9uOiB0cnVlLFxuICAgICAgICAgIGNhbGxiYWNrOiAoaW5zdDogYW55KSA9PlxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGluc3QsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGtleSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yKSB7XG4gICAgICBkZWNzLnB1c2goaW5qZWN0KGtleSkpO1xuICAgIH0gZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGRlY29yYXRvciB1c2FnZS4gU2hvdWxkIGJlIGltcG9zc2libGVcIik7XG5cbiAgICAvLyBkZWNzLnB1c2gobWV0YWRhdGEoUGVyc2lzdGVuY2VLZXlzLlNFUlZJQ0UsIGtleSkpO1xuICAgIHJldHVybiBhcHBseSguLi5kZWNzKSh0YXJnZXQsIHByb3AsIGRlc2NyaXB0b3IpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXV0aChtb2RlbDogc3RyaW5nIHwgQ29uc3RydWN0b3IpIHtcbiAgY29uc3QgZGVjb3JhdGlvbktleSA9IFBlcnNpc3RlbmNlS2V5cy5BVVRIO1xuXG4gIGZ1bmN0aW9uIGF1dGgobW9kZWw6IHN0cmluZyB8IENvbnN0cnVjdG9yKSB7XG4gICAgcmV0dXJuIG1ldGFkYXRhKGRlY29yYXRpb25LZXksIG1vZGVsKTtcbiAgfVxuXG4gIHJldHVybiBEZWNvcmF0aW9uLmZvcihkZWNvcmF0aW9uS2V5KVxuICAgIC5kZWZpbmUoe1xuICAgICAgZGVjb3JhdG9yOiBhdXRoLFxuICAgICAgYXJnczogW21vZGVsXSxcbiAgICB9KVxuICAgIC5hcHBseSgpO1xufVxuXG4vKipcbiAqIEEgZGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgc2V0cyB0aGUgcm9sZXMgcmVxdWlyZWQgZm9yIGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uIHRvIHRoZSBtb2RlbCBpbiBOZXN0SlMuXG4gKlxuICogQHBhcmFtIHJvbGVzIC0gQW4gYXJyYXkgb2Ygcm9sZSBuYW1lcyByZXF1aXJlZCBmb3IgYWNjZXNzLlxuICpcbiAqIEByZXR1cm5zIC0gQSBmdW5jdGlvbiB0aGF0IGFwcGxpZXMgdGhlIHJvbGUgZGVjb3JhdG9ycyB0byB0aGUgdGFyZ2V0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBAbW9kZWwoJ3VzZXJzJylcbiAqIEBSb2xlcyhbJ2FkbWluJ10pXG4gKiBleHBvcnQgY2xhc3MgVXNlck1vZGVsIHtcbiAqICAvLy4uLlxuICogfVxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IHJvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4ge1xuICByZXR1cm4gbWV0YWRhdGEoUGVyc2lzdGVuY2VLZXlzLkFVVEhfUk9MRSwgcm9sZXMpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJvdXRlKGh0dHBNZXRob2Q6IEh0dHBWZXJicywgcGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IGtleSA9IFBlcnNpc3RlbmNlS2V5cy5ERUNBRl9ST1VURTtcbiAgZnVuY3Rpb24gcm91dGUoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHJvdXRlKG9iajogb2JqZWN0LCBwcm9wPzogYW55LCBkZXNjcmlwdG9yPzogYW55KSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBEZWNhZlJvdXRlRGVjT3B0aW9ucyA9IHtcbiAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgaHR0cE1ldGhvZDogaHR0cE1ldGhvZCxcbiAgICAgICAgaGFuZGxlcjogZGVzY3JpcHRvcixcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBhcHBseShtZXRob2RNZXRhZGF0YShNZXRhZGF0YS5rZXkoa2V5LCBwcm9wKSwgb3B0aW9ucykpKFxuICAgICAgICBvYmosXG4gICAgICAgIHByb3AsXG4gICAgICAgIGRlc2NyaXB0b3JcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBEZWNvcmF0aW9uLmZvcihrZXkpXG4gICAgLmRlZmluZSh7XG4gICAgICBkZWNvcmF0b3I6IHJvdXRlLFxuICAgICAgYXJnczogW10sXG4gICAgfSlcbiAgICAuYXBwbHkoKTtcbn1cbiJdfQ==
|
package/lib/esm/utils/errors.js
CHANGED
|
@@ -60,4 +60,4 @@ export class ConnectionError extends InternalError {
|
|
|
60
60
|
super(msg, ConnectionError.name, 503);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQUNyRCxZQUFZLEdBQW1CLEVBQUUsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsR0FBRztRQUN6RSxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQVksR0FBbUIsRUFBRSxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUk7UUFDekQsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBQ2hELFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhZFJlcXVlc3RFcnJvciwgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFcnJvciB0aHJvd24gd2hlbiBhIHVzZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBhbiBhY3Rpb25cbiAqIEBzdW1tYXJ5IFRoaXMgZXJyb3IgaXMgdGhyb3duIHdoZW4gYSB1c2VyIGF0dGVtcHRzIHRvIGFjY2VzcyBhIHJlc291cmNlIG9yIHBlcmZvcm0gYW4gYWN0aW9uIHdpdGhvdXQgcHJvcGVyIGF1dGhlbnRpY2F0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ3xFcnJvcn0gbXNnIC0gVGhlIGVycm9yIG1lc3NhZ2Ugb3IgRXJyb3Igb2JqZWN0XG4gKiBAY2xhc3MgQXV0aG9yaXphdGlvbkVycm9yXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZSBvZiB0aHJvd2luZyBhbiBBdXRob3JpemF0aW9uRXJyb3JcbiAqIGlmICghdXNlci5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICogICB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKCdVc2VyIG5vdCBhdXRoZW50aWNhdGVkJyk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEF1dGhvcml6YXRpb25FcnJvciBleHRlbmRzIEJhZFJlcXVlc3RFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IsIG5hbWUgPSBBdXRob3JpemF0aW9uRXJyb3IubmFtZSwgY29kZSA9IDQwMSkge1xuICAgIHN1cGVyKG1zZywgbmFtZSwgY29kZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXJyb3IgdGhyb3duIHdoZW4gYSB1c2VyIGlzIGZvcmJpZGRlbiBmcm9tIGFjY2Vzc2luZyBhIHJlc291cmNlXG4gKiBAc3VtbWFyeSBUaGlzIGVycm9yIGlzIHRocm93biB3aGVuIGFuIGF1dGhlbnRpY2F0ZWQgdXNlciBhdHRlbXB0cyB0byBhY2Nlc3MgYSByZXNvdXJjZSBvciBwZXJmb3JtIGFuIGFjdGlvbiB0aGV5IGRvbid0IGhhdmUgcGVybWlzc2lvbiBmb3JcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgLSBUaGUgZXJyb3IgbWVzc2FnZSBvciBFcnJvciBvYmplY3RcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgRm9yYmlkZGVuRXJyb3JcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBFeGFtcGxlIG9mIHRocm93aW5nIGEgRm9yYmlkZGVuRXJyb3JcbiAqIGlmICghdXNlci5oYXNQZXJtaXNzaW9uKCdhZG1pbicpKSB7XG4gKiAgIHRocm93IG5ldyBGb3JiaWRkZW5FcnJvcignVXNlciBkb2VzIG5vdCBoYXZlIGFkbWluIHBlcm1pc3Npb25zJyk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEZvcmJpZGRlbkVycm9yIGV4dGVuZHMgQXV0aG9yaXphdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvciwgbmFtZSA9IEZvcmJpZGRlbkVycm9yLm5hbWUpIHtcbiAgICBzdXBlcihtc2csIG5hbWUsIDQwMyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXJyb3IgdGhyb3duIHdoZW4gYSBjb25uZWN0aW9uIHRvIGEgc2VydmljZSBmYWlsc1xuICogQHN1bW1hcnkgVGhpcyBlcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgYXBwbGljYXRpb24gZmFpbHMgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhIHJlcXVpcmVkIHNlcnZpY2Ugb3IgcmVzb3VyY2VcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgLSBUaGUgZXJyb3IgbWVzc2FnZSBvciBFcnJvciBvYmplY3RcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgQ29ubmVjdGlvbkVycm9yXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZSBvZiB0aHJvd2luZyBhIENvbm5lY3Rpb25FcnJvclxuICogdHJ5IHtcbiAqICAgYXdhaXQgZGF0YWJhc2UuY29ubmVjdCgpO1xuICogfSBjYXRjaCAoZXJyb3IpIHtcbiAqICAgdGhyb3cgbmV3IENvbm5lY3Rpb25FcnJvcignRmFpbGVkIHRvIGNvbm5lY3QgdG8gZGF0YWJhc2UnKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkVycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIENvbm5lY3Rpb25FcnJvci5uYW1lLCA1MDMpO1xuICB9XG59XG4iXX0=
|
package/lib/esm/utils/index.js
CHANGED
|
@@ -9,4 +9,4 @@ export * from "./errors.js";
|
|
|
9
9
|
export * from "./utils.js";
|
|
10
10
|
export * from "./throttling.js";
|
|
11
11
|
export * from "./types.js";
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILDJDQUF3QztBQUN4QyxnQ0FBNkI7QUFDN0IsNEJBQXlCO0FBQ3pCLDJCQUF3QjtBQUN4QixnQ0FBNkI7QUFDN0IsMkJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gRXhwb3J0cyBmb3IgdGhlIHV0aWxzIG1vZHVsZS5cbiAqIEBzdW1tYXJ5IFRoaXMgZmlsZSBleHBvcnRzIGFsbCB0aGUgbmVjZXNzYXJ5IGNvbXBvbmVudHMgZm9yIHRoZSB1dGlscyBmdW5jdGlvbmFsaXR5LCBpbmNsdWRpbmcgdGhlIENvbnRleHR1YWxMb2dnZWRDbGFzcywgZGVjb3JhdG9ycywgZXJyb3JzLCBhbmQgbW9yZS5cbiAqIEBtb2R1bGUgY29yZS91dGlsc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0dWFsTG9nZ2VkQ2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Rocm90dGxpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
|
|
@@ -139,4 +139,4 @@ function mergeResult(result, collector) {
|
|
|
139
139
|
collector.push(result);
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
//# sourceMappingURL=throttling.js.map
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90aHJvdHRsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0NBQTZCO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVd4RCxNQUFNLFVBQVUsUUFBUSxDQUN0QixNQUFpRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFDN0UsV0FBOEIsQ0FBQztJQUUvQixPQUFPLFNBQVMsUUFBUSxDQUN0QixNQUFjLEVBQ2QsV0FBaUIsRUFDakIsVUFBZ0I7UUFFaEIsU0FBUyxXQUFXLENBQUMsTUFBYyxFQUFFLFdBQWlCLEVBQUUsVUFBZ0I7WUFDdEUsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO2dCQUM3QyxLQUFLLENBQUMsS0FBSyxDQUNULE1BQU0sRUFDTixPQUFtQyxFQUNuQyxJQUE2QjtvQkFFN0IsTUFBTSxjQUFjLEdBQUcsSUFBYSxDQUFDO29CQUNyQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDekIsSUFBSSxDQUFDOzRCQUNILE9BQU8sT0FBTyxHQUFHLEtBQUssVUFBVTtnQ0FDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQztnQ0FDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQzt3QkFDVixDQUFDO3dCQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7NEJBQ3BCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDJEQUEyRCxDQUFDLEVBQUUsQ0FDL0QsQ0FBQzt3QkFDSixDQUFDO29CQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBRUwsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFH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RUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBVTtJQUNoQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVztRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxNQUFlLEVBQUUsU0FBZ0I7SUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7U0FBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBseSwgTWV0YWRhdGEsIG1ldGhvZE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvaW5kZXhcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIENvbnRleHR1YWxMb2dnZWRDbGFzcyxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxufSBmcm9tIFwiLi9Db250ZXh0dWFsTG9nZ2VkQ2xhc3NcIjtcblxuZXhwb3J0IHR5cGUgQnNlVGhyb3R0bGluZ0NvbmZpZyA9IHsgZGVsYXlNcz86IG51bWJlciB9O1xuXG5leHBvcnQgdHlwZSBUaHJvdHRsaW5nQ29uZmlnID0gKHsgY291bnQ6IG51bWJlciB9IHwgeyBidWZmZXJTaXplOiBudW1iZXIgfSkgJlxuICBCc2VUaHJvdHRsaW5nQ29uZmlnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3R0bGUoXG4gIGNmZzogVGhyb3R0bGluZ0NvbmZpZyB8ICgoLi4uYXJnczogYW55W10pID0+IFRocm90dGxpbmdDb25maWcpID0geyBjb3VudDogMSB9LFxuICBhcmdJbmRleDogbnVtYmVyIHwgbnVtYmVyW10gPSAwXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHRocm90dGxlKFxuICAgIHRhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5PzogYW55LFxuICAgIGRlc2NyaXB0b3I/OiBhbnlcbiAgKSB7XG4gICAgZnVuY3Rpb24gdGhyb3R0bGVEZWModGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5PzogYW55LCBkZXNjcmlwdG9yPzogYW55KSB7XG4gICAgICBkZXNjcmlwdG9yLnZhbHVlID0gbmV3IFByb3h5KGRlc2NyaXB0b3IudmFsdWUsIHtcbiAgICAgICAgYXN5bmMgYXBwbHkoXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgIHRoaXNBcmc6IENvbnRleHR1YWxMb2dnZWRDbGFzczxhbnk+LFxuICAgICAgICAgIGFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGludm9jYXRpb25BcmdzID0gYXJncyBhcyBhbnlbXTtcbiAgICAgICAgICBjb25zdCBlZmZlY3RpdmVDZmcgPSAoKCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBjZmcgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgICAgID8gY2ZnKC4uLmludm9jYXRpb25BcmdzKVxuICAgICAgICAgICAgICAgIDogY2ZnO1xuICAgICAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIG9idGFpbiB0aHJvdHRsaW5nIGNvbmZpZ3VyYXRpb24gZnJvbSBoYW5kbGVyOiAke2V9YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKCk7XG5cbiAgICAgICAgICBjb25zdCB7IGxvZywgY3R4IH0gPSAoXG4gICAgICAgICAgICBhd2FpdCB0aGlzQXJnW1wibG9nQ3R4XCJdKGFyZ3MsIFBlcnNpc3RlbmNlS2V5cy5USFJPVFRMRSwgdHJ1ZSlcbiAgICAgICAgICApLmZvcih0aHJvdHRsZSk7XG4gICAgICAgICAgY29uc3Qgbm9ybWFsaXplZEluZGljZXMgPSBub3JtYWxpemVBcmdJbmRleChhcmdJbmRleCk7XG4gICAgICAgICAgaWYgKCFub3JtYWxpemVkSW5kaWNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgICBcIkB0aHJvdHRsaW5nKCkgZXhwZWN0cyBhdCBsZWFzdCBvbmUgYXJndW1lbnQgaW5kZXggdG8gdGhyb3R0bGVcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9ybWFsaXplZEluZGljZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSBpbnZvY2F0aW9uQXJncy5sZW5ndGgpXG4gICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgICAgIGBAdGhyb3R0bGluZygpIHJlcXVpcmVzIGFyZ3VtZW50IGluZGV4ICR7aW5kZXh9IGJ1dCBvbmx5ICR7aW52b2NhdGlvbkFyZ3MubGVuZ3RofSBwcm92aWRlZGBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShpbnZvY2F0aW9uQXJnc1tpbmRleF0pKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgICAgICBgQHRocm90dGxpbmcoKSBleHBlY3RzIGFyZ3VtZW50IGF0IGluZGV4ICR7aW5kZXh9IHRvIGJlIGFuIGFycmF5YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc3QgYXJyYXlzID0gbm9ybWFsaXplZEluZGljZXMubWFwKFxuICAgICAgICAgICAgKGlkeCkgPT4gaW52b2NhdGlvbkFyZ3NbaWR4XSBhcyBhbnlbXVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgdG90YWwgPSBhcnJheXNbMF0ubGVuZ3RoO1xuICAgICAgICAgIGlmICghYXJyYXlzLmV2ZXJ5KChhcnIpID0+IGFyci5sZW5ndGggPT09IHRvdGFsKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICAgIFwiQHRocm90dGxpbmcoKSByZXF1aXJlcyBhbGwgdGFyZ2V0ZWQgYXJndW1lbnRzIHRvIGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRvdGFsID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXNBcmcsIGludm9jYXRpb25BcmdzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjaHVua0JvdW5kcyA9IGJ1aWxkQ2h1bmtCb3VuZHModG90YWwsIGFycmF5cywgZWZmZWN0aXZlQ2ZnKTtcbiAgICAgICAgICBjb25zdCBjaHVua0FyZ3NMaXN0ID0gY2h1bmtCb3VuZHMubWFwKCh7IHN0YXJ0LCBlbmQgfSkgPT5cbiAgICAgICAgICAgIGludm9jYXRpb25BcmdzLm1hcCgoYXJnLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SWR4ID0gbm9ybWFsaXplZEluZGljZXMuaW5kZXhPZihpZHgpO1xuICAgICAgICAgICAgICBpZiAodGFyZ2V0SWR4ID09PSAtMSkgcmV0dXJuIGFyZztcbiAgICAgICAgICAgICAgcmV0dXJuIGFycmF5c1t0YXJnZXRJZHhdLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgYnJlYWtPblNpbmdsZUZhaWx1cmUgPVxuICAgICAgICAgICAgY3R4LmdldChcImJyZWFrT25TaW5nbGVGYWlsdXJlSW5CdWxrXCIpID8/IHRydWU7XG4gICAgICAgICAgY29uc3QgY29sbGVjdGVkUmVzdWx0czogYW55W10gPSBbXTtcbiAgICAgICAgICBjb25zdCBlcnJvcnM6IGFueVtdID0gW107XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IGNodW5rQXJncyBvZiBjaHVua0FyZ3NMaXN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBjaHVua1Jlc3VsdCA9IGF3YWl0IHRhcmdldC5hcHBseSh0aGlzQXJnLCBjaHVua0FyZ3MpO1xuICAgICAgICAgICAgICBtZXJnZVJlc3VsdChjaHVua1Jlc3VsdCwgY29sbGVjdGVkUmVzdWx0cyk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBpZiAoYnJlYWtPblNpbmdsZUZhaWx1cmUpIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICBlcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZWZmZWN0aXZlQ2ZnLmRlbGF5TXMpIHtcbiAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZWZmZWN0aXZlQ2ZnLmRlbGF5TXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgbG9nLndhcm4oXG4gICAgICAgICAgICAgIGAke1N0cmluZyhwcm9wZXJ0eUtleSl9IHRocm90dGxlZCBleGVjdXRpb24gY29udGludWVkIHdpdGggJHtlcnJvcnMubGVuZ3RofSBmYWlsdXJlKHMpYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGFnZ3JlZ2F0ZSA9IG5ldyBBZ2dyZWdhdGVFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICBgVGhyb3R0bGVkICR7U3RyaW5nKHByb3BlcnR5S2V5KX0gZmFpbGVkIGZvciAke2Vycm9ycy5sZW5ndGh9IGNodW5rKHMpYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIChhZ2dyZWdhdGUgYXMgYW55KS5yZXN1bHRzID0gY29sbGVjdGVkUmVzdWx0cztcbiAgICAgICAgICAgIHRocm93IGFnZ3JlZ2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29sbGVjdGVkUmVzdWx0cztcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhcHBseShcbiAgICAgIG1ldGhvZE1ldGFkYXRhKE1ldGFkYXRhLmtleShQZXJzaXN0ZW5jZUtleXMuVEhST1RUTEUsIHByb3BlcnR5S2V5KSwgY2ZnKSxcbiAgICAgIHRocm90dGxlRGVjXG4gICAgKSh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQXJnSW5kZXgoYXJnSW5kZXg6IG51bWJlciB8IG51bWJlcltdKTogbnVtYmVyW10ge1xuICBjb25zdCBlbnRyaWVzID0gKEFycmF5LmlzQXJyYXkoYXJnSW5kZXgpID8gYXJnSW5kZXggOiBbYXJnSW5kZXhdKS5tYXAoXG4gICAgKGlkeCkgPT4ge1xuICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoaWR4KSB8fCBpZHggPCAwKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBcIkB0aHJvdHRsaW5nKCkgYXJndW1lbnQgaW5kZXhlcyBtdXN0IGJlIG5vbi1uZWdhdGl2ZSBpbnRlZ2Vyc1wiXG4gICAgICAgICk7XG4gICAgICByZXR1cm4gaWR4O1xuICAgIH1cbiAgKTtcbiAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChlbnRyaWVzKSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5mdW5jdGlvbiBidWlsZENodW5rQm91bmRzKFxuICB0b3RhbDogbnVtYmVyLFxuICBhcnJheXM6IGFueVtdW10sXG4gIGNmZzogVGhyb3R0bGluZ0NvbmZpZ1xuKTogeyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9W10ge1xuICBpZiAoXCJjb3VudFwiIGluIGNmZykge1xuICAgIGlmIChjZmcuY291bnQgPD0gMClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkB0aHJvdHRsaW5nKCkgY29uZmlndXJhdGlvbiAnY291bnQnIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm9cIlxuICAgICAgKTtcbiAgICBjb25zdCBzcGFuczogeyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9W10gPSBbXTtcbiAgICBmb3IgKGxldCBzdGFydCA9IDA7IHN0YXJ0IDwgdG90YWw7IHN0YXJ0ICs9IGNmZy5jb3VudCkge1xuICAgICAgc3BhbnMucHVzaCh7XG4gICAgICAgIHN0YXJ0LFxuICAgICAgICBlbmQ6IE1hdGgubWluKHRvdGFsLCBzdGFydCArIGNmZy5jb3VudCksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNwYW5zO1xuICB9XG5cbiAgaWYgKFwiYnVmZmVyU2l6ZVwiIGluIGNmZykge1xuICAgIGlmIChjZmcuYnVmZmVyU2l6ZSA8PSAwKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiQHRocm90dGxpbmcoKSBjb25maWd1cmF0aW9uICdidWZmZXJTaXplJyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvXCJcbiAgICAgICk7XG4gICAgY29uc3Qgc3BhbnM6IHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfVtdID0gW107XG4gICAgbGV0IHN0YXJ0ID0gMDtcbiAgICBsZXQgc2l6ZSA9IDA7XG4gICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdG90YWw7IGlkeCsrKSB7XG4gICAgICBjb25zdCBlbnRyeVNpemUgPSBlc3RpbWF0ZUVudHJ5U2l6ZShhcnJheXMsIGlkeCk7XG4gICAgICBpZiAoc2l6ZSA+IDAgJiYgc2l6ZSArIGVudHJ5U2l6ZSA+IGNmZy5idWZmZXJTaXplKSB7XG4gICAgICAgIHNwYW5zLnB1c2goeyBzdGFydCwgZW5kOiBpZHggfSk7XG4gICAgICAgIHN0YXJ0ID0gaWR4O1xuICAgICAgICBzaXplID0gZW50cnlTaXplO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2l6ZSArPSBlbnRyeVNpemU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzdGFydCA8IHRvdGFsIHx8ICFzcGFucy5sZW5ndGgpIHtcbiAgICAgIHNwYW5zLnB1c2goeyBzdGFydCwgZW5kOiB0b3RhbCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNwYW5zO1xuICB9XG5cbiAgcmV0dXJuIFt7IHN0YXJ0OiAwLCBlbmQ6IHRvdGFsIH1dO1xufVxuXG5mdW5jdGlvbiBlc3RpbWF0ZUVudHJ5U2l6ZShhcnJheXM6IGFueVtdW10sIGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gYXJyYXlzLnJlZHVjZSgoYWNjLCBhcnJheSkgPT4gYWNjICsgc2FmZUJ5dGVMZW5ndGgoYXJyYXlbaW5kZXhdKSwgMCk7XG59XG5cbmZ1bmN0aW9uIHNhZmVCeXRlTGVuZ3RoKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gMDtcbiAgdHJ5IHtcbiAgICByZXR1cm4gQnVmZmVyLmJ5dGVMZW5ndGgoSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VSZXN1bHQocmVzdWx0OiB1bmtub3duLCBjb2xsZWN0b3I6IGFueVtdKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICBjb2xsZWN0b3IucHVzaCguLi5yZXN1bHQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBjb2xsZWN0b3IucHVzaChyZXN1bHQpO1xuICB9XG59XG4iXX0=
|
package/lib/esm/utils/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEh0dHBWZXJicyA9IFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIlBBVENIXCIgfCBcIkRFTEVURVwiO1xuXG5leHBvcnQgdHlwZSBEZWNhZkFwaVByb3BlcnR5ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIHR5cGU/OiBhbnk7XG59O1xuXG5leHBvcnQgdHlwZSBEZWNhZk1vZGVsUm91dGUgPSB7XG4gIHBhdGg6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGFwaVByb3BlcnRpZXM6IERlY2FmQXBpUHJvcGVydHlbXTtcbiAgZ2V0UEs6ICguLi5hcmdzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEZWNhZlBhcmFtUHJvcHMgPSB7XG4gIHJhdzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbiAga2V5c0luT3JkZXI6IEFycmF5PHN0cmluZz47XG4gIHZhbHVlc0luT3JkZXI6IEFycmF5PHN0cmluZyB8IG51bWJlcj47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2FmUm91dGVEZWNPcHRpb25zIHtcbiAgcGF0aDogc3RyaW5nO1xuICBodHRwTWV0aG9kOiBIdHRwVmVyYnM7XG4gIGhhbmRsZXI6IFByb3BlcnR5RGVzY3JpcHRvcjtcbn0iXX0=
|
package/lib/esm/utils/utils.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CrudOperations } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { BlockOperationKind, CrudOperations } from "@decaf-ts/db-decorators";
|
|
2
2
|
import type { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
export declare function injectableServiceKey(name: string | symbol | Constructor): string;
|
|
5
5
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError?: false): Promise<T[]>;
|
|
6
6
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError: true): Promise<PromiseSettledResult<T>[]>;
|
|
7
7
|
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
|
|
8
|
+
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, kind: BlockOperationKind, value: string): boolean;
|
|
8
9
|
/**
|
|
9
10
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
10
11
|
* @summary Utility function to handle module import differences between formats.
|
package/lib/esm/utils/utils.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
-
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
3
2
|
import { Metadata } from "@decaf-ts/decoration";
|
|
4
3
|
import { MigrationRuleError } from "./../persistence/errors.js";
|
|
5
4
|
export function injectableServiceKey(name) {
|
|
@@ -30,9 +29,27 @@ export async function promiseSequence(tasks, continueOnError = false) {
|
|
|
30
29
|
}
|
|
31
30
|
return settled;
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const crudOperations = [
|
|
33
|
+
OperationKeys.CREATE,
|
|
34
|
+
OperationKeys.READ,
|
|
35
|
+
OperationKeys.UPDATE,
|
|
36
|
+
OperationKeys.DELETE,
|
|
37
|
+
];
|
|
38
|
+
function isCrudOperation(value) {
|
|
39
|
+
return crudOperations.includes(value);
|
|
40
|
+
}
|
|
41
|
+
export function isOperationBlocked(ModelConstructor, kindOrOperation, value) {
|
|
42
|
+
const metadata = (Metadata.get(ModelConstructor, OperationKeys.REFLECT + OperationKeys.BLOCK) || {});
|
|
43
|
+
if (!metadata?.handler)
|
|
44
|
+
return false;
|
|
45
|
+
const kind = value === undefined && isCrudOperation(kindOrOperation)
|
|
46
|
+
? "crud"
|
|
47
|
+
: kindOrOperation;
|
|
48
|
+
const targetValue = value === undefined && isCrudOperation(kindOrOperation)
|
|
49
|
+
? kindOrOperation
|
|
50
|
+
: value;
|
|
51
|
+
const storedTargets = (metadata.args?.[0] || []);
|
|
52
|
+
return metadata.handler(storedTargets, kind, targetValue) ?? false;
|
|
36
53
|
}
|
|
37
54
|
/**
|
|
38
55
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
@@ -73,4 +90,4 @@ export function prefixMethod(obj, after, prefix, afterName) {
|
|
|
73
90
|
});
|
|
74
91
|
obj[name] = wrapped;
|
|
75
92
|
}
|
|
76
|
-
//# sourceMappingURL=
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQWUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1DQUE4QjtBQUUzRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLElBQW1DO0lBRW5DLElBQUksQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUTtRQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBNkIsQ0FBQyxDQUFDO2FBQzVELFFBQVEsRUFBRTthQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQVVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUNuQyxLQUEyQixFQUMzQixlQUFlLEdBQUcsS0FBSztJQUV2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBOEIsRUFBRSxDQUFDO0lBQzlDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFBQyxPQUFPLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQXFCO0lBQ3ZDLGFBQWEsQ0FBQyxNQUFNO0lBQ3BCLGFBQWEsQ0FBQyxJQUFJO0lBQ2xCLGFBQWEsQ0FBQyxNQUFNO0lBQ3BCLGFBQWEsQ0FBQyxNQUFNO0NBQ3JCLENBQUM7QUFFRixTQUFTLGVBQWUsQ0FBQyxLQUFhO0lBQ3BDLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUF1QixDQUFDLENBQUM7QUFDMUQsQ0FBQztBQWFELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsZ0JBQXVDLEVBQ3ZDLGVBQW9ELEVBQ3BELEtBQWM7SUFFZCxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQzVCLGdCQUF1QixFQUN2QixhQUFhLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQzVDLElBQUksRUFBRSxDQU9OLENBQUM7SUFFRixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQztJQUVyQyxNQUFNLElBQUksR0FDUixLQUFLLEtBQUssU0FBUyxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDckQsQ0FBQyxDQUFFLE1BQTZCO1FBQ2hDLENBQUMsQ0FBRSxlQUFzQyxDQUFDO0lBRTlDLE1BQU0sV0FBVyxHQUNmLEtBQUssS0FBSyxTQUFTLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUNyRCxDQUFDLENBQUUsZUFBMEI7UUFDN0IsQ0FBQyxDQUFFLEtBQWdCLENBQUM7SUFFeEIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUErQixDQUFDO0lBQy9FLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUNyRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsYUFBeUI7SUFFekIsbUVBQW1FO0lBQ25FLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQzFCLEdBQVEsRUFDUixLQUE4QixFQUM5QixNQUErQixFQUMvQixTQUFrQjtJQUVsQixLQUFLLFVBQVUsT0FBTyxDQUFZLEdBQUcsSUFBVztRQUM5QyxJQUFJLE9BQWMsQ0FBQztRQUNuQixJQUFJLENBQUM7WUFDSCxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxrQkFBa0I7Z0JBQUUsT0FBTztZQUM1QyxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNoRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDckMsVUFBVSxFQUFFLElBQUk7UUFDaEIsWUFBWSxFQUFFLElBQUk7UUFDbEIsUUFBUSxFQUFFLEtBQUs7UUFDZixLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJsb2NrT3BlcmF0aW9uRGVzY3JpcHRvcixcbiAgQmxvY2tPcGVyYXRpb25LaW5kLFxuICBDcnVkT3BlcmF0aW9ucyxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IE1pZ3JhdGlvblJ1bGVFcnJvciB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9lcnJvcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdGFibGVTZXJ2aWNlS2V5KFxuICBuYW1lOiBzdHJpbmcgfCBzeW1ib2wgfCBDb25zdHJ1Y3RvclxuKTogc3RyaW5nIHtcbiAgaWYgKCFuYW1lKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gbmFtZSBwcm92aWRlZGApO1xuICByZXR1cm4gdHlwZW9mIG5hbWUgPT09IFwic3RyaW5nXCJcbiAgICA/IG5hbWUucmVwbGFjZUFsbChcIi5cIiwgXCItXCIpXG4gICAgOiBNZXRhZGF0YS5TeW1ib2woTWV0YWRhdGEuY29uc3RyKG5hbWUgYXMgTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+KSlcbiAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgLnJlcGxhY2VBbGwoXCIuXCIsIFwiLVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb21pc2VTZXF1ZW5jZTxUPihcbiAgdGFza3M6ICgoKSA9PiBQcm9taXNlPFQ+KVtdLFxuICBjb250aW51ZU9uRXJyb3I/OiBmYWxzZVxuKTogUHJvbWlzZTxUW10+O1xuZXhwb3J0IGZ1bmN0aW9uIHByb21pc2VTZXF1ZW5jZTxUPihcbiAgdGFza3M6ICgoKSA9PiBQcm9taXNlPFQ+KVtdLFxuICBjb250aW51ZU9uRXJyb3I6IHRydWVcbik6IFByb21pc2U8UHJvbWlzZVNldHRsZWRSZXN1bHQ8VD5bXT47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbWlzZVNlcXVlbmNlPFQ+KFxuICB0YXNrczogKCgpID0+IFByb21pc2U8VD4pW10sXG4gIGNvbnRpbnVlT25FcnJvciA9IGZhbHNlXG4pOiBQcm9taXNlPFRbXSB8IFByb21pc2VTZXR0bGVkUmVzdWx0PFQ+W10+IHtcbiAgaWYgKCFjb250aW51ZU9uRXJyb3IpIHtcbiAgICBjb25zdCByZXN1bHRzOiBUW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3MpIHtcbiAgICAgIHJlc3VsdHMucHVzaChhd2FpdCB0YXNrKCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIGNvbnN0IHNldHRsZWQ6IFByb21pc2VTZXR0bGVkUmVzdWx0PFQ+W10gPSBbXTtcbiAgZm9yIChjb25zdCB0YXNrIG9mIHRhc2tzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHNldHRsZWQucHVzaCh7IHN0YXR1czogXCJmdWxmaWxsZWRcIiwgdmFsdWU6IGF3YWl0IHRhc2soKSB9KTtcbiAgICB9IGNhdGNoIChyZWFzb24pIHtcbiAgICAgIHNldHRsZWQucHVzaCh7IHN0YXR1czogXCJyZWplY3RlZFwiLCByZWFzb24gfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzZXR0bGVkO1xufVxuXG5jb25zdCBjcnVkT3BlcmF0aW9uczogQ3J1ZE9wZXJhdGlvbnNbXSA9IFtcbiAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gIE9wZXJhdGlvbktleXMuUkVBRCxcbiAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gIE9wZXJhdGlvbktleXMuREVMRVRFLFxuXTtcblxuZnVuY3Rpb24gaXNDcnVkT3BlcmF0aW9uKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBDcnVkT3BlcmF0aW9ucyB7XG4gIHJldHVybiBjcnVkT3BlcmF0aW9ucy5pbmNsdWRlcyh2YWx1ZSBhcyBDcnVkT3BlcmF0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09wZXJhdGlvbkJsb2NrZWQoXG4gIE1vZGVsQ29uc3RydWN0b3I6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgb3A6IENydWRPcGVyYXRpb25zXG4pOiBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNPcGVyYXRpb25CbG9ja2VkKFxuICBNb2RlbENvbnN0cnVjdG9yOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gIGtpbmQ6IEJsb2NrT3BlcmF0aW9uS2luZCxcbiAgdmFsdWU6IHN0cmluZ1xuKTogYm9vbGVhbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3BlcmF0aW9uQmxvY2tlZChcbiAgTW9kZWxDb25zdHJ1Y3RvcjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICBraW5kT3JPcGVyYXRpb246IENydWRPcGVyYXRpb25zIHwgQmxvY2tPcGVyYXRpb25LaW5kLFxuICB2YWx1ZT86IHN0cmluZ1xuKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gKE1ldGFkYXRhLmdldChcbiAgICBNb2RlbENvbnN0cnVjdG9yIGFzIGFueSxcbiAgICBPcGVyYXRpb25LZXlzLlJFRkxFQ1QgKyBPcGVyYXRpb25LZXlzLkJMT0NLXG4gICkgfHwge30pIGFzIHtcbiAgICBoYW5kbGVyPzogKFxuICAgICAgdGFyZ2V0czogYW55W10sIC8vIGtlZXAgZmxleGlibGUgZm9yIGhhbmRsZXIgd3JhcHBlcnNcbiAgICAgIGtpbmQ6IEJsb2NrT3BlcmF0aW9uS2luZCxcbiAgICAgIHZhbHVlOiBzdHJpbmdcbiAgICApID0+IGJvb2xlYW47XG4gICAgYXJnczogYW55W107XG4gIH07XG5cbiAgaWYgKCFtZXRhZGF0YT8uaGFuZGxlcikgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IGtpbmQgPVxuICAgIHZhbHVlID09PSB1bmRlZmluZWQgJiYgaXNDcnVkT3BlcmF0aW9uKGtpbmRPck9wZXJhdGlvbilcbiAgICAgID8gKFwiY3J1ZFwiIGFzIEJsb2NrT3BlcmF0aW9uS2luZClcbiAgICAgIDogKGtpbmRPck9wZXJhdGlvbiBhcyBCbG9ja09wZXJhdGlvbktpbmQpO1xuXG4gIGNvbnN0IHRhcmdldFZhbHVlID1cbiAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIGlzQ3J1ZE9wZXJhdGlvbihraW5kT3JPcGVyYXRpb24pXG4gICAgICA/IChraW5kT3JPcGVyYXRpb24gYXMgc3RyaW5nKVxuICAgICAgOiAodmFsdWUgYXMgc3RyaW5nKTtcblxuICBjb25zdCBzdG9yZWRUYXJnZXRzID0gKG1ldGFkYXRhLmFyZ3M/LlswXSB8fCBbXSkgYXMgQmxvY2tPcGVyYXRpb25EZXNjcmlwdG9yW107XG4gIHJldHVybiBtZXRhZGF0YS5oYW5kbGVyKHN0b3JlZFRhcmdldHMsIGtpbmQsIHRhcmdldFZhbHVlKSA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplcyBpbXBvcnRzIHRvIGhhbmRsZSBib3RoIENvbW1vbkpTIGFuZCBFU01vZHVsZSBmb3JtYXRzLlxuICogQHN1bW1hcnkgVXRpbGl0eSBmdW5jdGlvbiB0byBoYW5kbGUgbW9kdWxlIGltcG9ydCBkaWZmZXJlbmNlcyBiZXR3ZWVuIGZvcm1hdHMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUeXBlIG9mIHRoZSBpbXBvcnRlZCBtb2R1bGUuXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IGltcG9ydFByb21pc2UgLSBQcm9taXNlIHJldHVybmVkIGJ5IGR5bmFtaWMgaW1wb3J0LlxuICogQHJldHVybiB7UHJvbWlzZTxUPn0gTm9ybWFsaXplZCBtb2R1bGUuXG4gKlxuICogQGZ1bmN0aW9uIG5vcm1hbGl6ZUltcG9ydFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbm9ybWFsaXplSW1wb3J0PFQ+KFxuICBpbXBvcnRQcm9taXNlOiBQcm9taXNlPFQ+XG4pOiBQcm9taXNlPFQ+IHtcbiAgLy8gQ29tbW9uSlMncyBgbW9kdWxlLmV4cG9ydHNgIGlzIHdyYXBwZWQgYXMgYGRlZmF1bHRgIGluIEVTTW9kdWxlLlxuICByZXR1cm4gaW1wb3J0UHJvbWlzZS50aGVuKChtOiBhbnkpID0+IChtLmRlZmF1bHQgfHwgbSkgYXMgVCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXhNZXRob2QoXG4gIG9iajogYW55LFxuICBhZnRlcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gIHByZWZpeDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gIGFmdGVyTmFtZT86IHN0cmluZ1xuKSB7XG4gIGFzeW5jIGZ1bmN0aW9uIHdyYXBwZXIodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGxldCByZXN1bHRzOiBhbnlbXTtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShwcmVmaXguY2FsbCh0aGlzLCAuLi5hcmdzKSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBNaWdyYXRpb25SdWxlRXJyb3IpIHJldHVybjtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoYWZ0ZXIuYXBwbHkodGhpcywgcmVzdWx0cykpO1xuICB9XG5cbiAgY29uc3Qgd3JhcHBlZCA9IHdyYXBwZXIuYmluZChvYmopO1xuICBjb25zdCBuYW1lID0gYWZ0ZXJOYW1lID8gYWZ0ZXJOYW1lIDogYWZ0ZXIubmFtZTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdyYXBwZWQsIFwibmFtZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIHZhbHVlOiBuYW1lLFxuICB9KTtcbiAgb2JqW25hbWVdID0gd3JhcHBlZDtcbn1cbiJdfQ==
|
|
@@ -68,6 +68,9 @@ export class TaskEngine extends TE {
|
|
|
68
68
|
}
|
|
69
69
|
const configuredImports = this.workerPoolConfig?.modules?.imports ??
|
|
70
70
|
DefaultWorkThreadEnvironment.modules.imports;
|
|
71
|
+
if (!Array.isArray(configuredImports)) {
|
|
72
|
+
throw new InternalError("Worker pool modules.imports must be a string[]");
|
|
73
|
+
}
|
|
71
74
|
const imports = [];
|
|
72
75
|
const append = (specifier) => {
|
|
73
76
|
if (!specifier)
|
|
@@ -77,6 +80,9 @@ export class TaskEngine extends TE {
|
|
|
77
80
|
};
|
|
78
81
|
append(adapterDescriptor.adapterModule);
|
|
79
82
|
for (const specifier of configuredImports) {
|
|
83
|
+
if (typeof specifier !== "string") {
|
|
84
|
+
throw new InternalError("Worker pool modules.imports must contain only strings");
|
|
85
|
+
}
|
|
80
86
|
if (specifier === adapterDescriptor.adapterModule)
|
|
81
87
|
continue;
|
|
82
88
|
append(specifier);
|
|
@@ -381,14 +387,19 @@ export class TaskEngine extends TE {
|
|
|
381
387
|
}
|
|
382
388
|
async executeClaimed(task) {
|
|
383
389
|
const { ctx, log } = (await this.logCtx([], task.classification, true)).for(this.executeClaimed);
|
|
390
|
+
const engine = this;
|
|
384
391
|
const taskCtx = TaskEngine.createTaskContext(ctx, {
|
|
385
392
|
taskId: task.id,
|
|
386
393
|
logger: new TaskLogger(log, this.config.streamBufferSize, this.config.maxLoggingBuffer),
|
|
387
394
|
attempt: task.attempt,
|
|
388
395
|
resultCache: {},
|
|
389
|
-
pipe: async (
|
|
390
|
-
const
|
|
391
|
-
|
|
396
|
+
pipe: async function (...args) {
|
|
397
|
+
const normalized = engine.normalizePipeArgs(args);
|
|
398
|
+
if (!normalized.length)
|
|
399
|
+
return;
|
|
400
|
+
const [updated, logs] = await engine.appendLog(this, task, normalized);
|
|
401
|
+
Object.assign(task, updated);
|
|
402
|
+
await engine.emitLog(this, task.id, logs);
|
|
392
403
|
},
|
|
393
404
|
flush: async () => {
|
|
394
405
|
await taskCtx.logger.flush(taskCtx.pipe);
|
|
@@ -497,4 +508,4 @@ export class TaskEngine extends TE {
|
|
|
497
508
|
}
|
|
498
509
|
}
|
|
499
510
|
}
|
|
500
|
-
//# sourceMappingURL=TaskEngine.js.map
|
|
511
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza0VuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93b3JrZXJzL1Rhc2tFbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsa0NBQTZCO0FBRTdELE9BQU8sRUFFTCw0QkFBNEIsR0FFN0IsbUNBQWdDO0FBUWpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxJQUFJLEVBQUUsRUFDaEIsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLEVBQ1IsY0FBYyxFQUNkLGdCQUFnQixHQUNqQiw0QkFBaUI7QUFPbEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJDQUFzQztBQUVyRSxNQUFNLE9BQU8sVUFBa0QsU0FBUSxFQUd0RTtJQVFDLElBQXVCLE9BQU87UUFDNUIsT0FBTyxXQUFtRCxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUFZLE1BQTJCO1FBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVhOLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFxQixFQUFFLENBQUM7UUFDdEMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO1FBQy9DLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQVFqQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLGFBQWEsQ0FDckIsbUVBQW1FLENBQ3BFLENBQUM7UUFDSixDQUFD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QUFDO2dCQUU3QixJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzlDLEdBQUcsQ0FBQyxLQUFLLENBQ1AsUUFBUSxJQUFJLENBQUMsRUFBRSxpQkFBaUIsSUFBSSxDQUFDLE1BQU0sWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ3RFLENBQUM7Z0JBQ0YsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUNoQixRQUFRLENBQUMsS0FBSyxFQUNkLG9DQUFvQyxFQUNwQztvQkFDRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQzlCLENBQ0YsQ0FBQztnQkFDRixNQUFNLElBQUksQ0FBQyxVQUFVLENBQ25CLE9BQU8sRUFDUCxJQUFJLEVBQ0osVUFBVSxDQUFDLE1BQU0sRUFDakIsVUFBVSxFQUNWLEdBQUcsQ0FDSixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3JrZXIgfSBmcm9tIFwid29ya2VyX3RocmVhZHNcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvQWRhcHRlclwiO1xuaW1wb3J0IHsgQ29udGV4dE9mIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL3R5cGVzXCI7XG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgTWF5YmVDb250ZXh0dWFsQXJnIH0gZnJvbSBcIi4uL3V0aWxzL0NvbnRleHR1YWxMb2dnZWRDbGFzc1wiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IFBlcnNpc3RlbmNlS2V5cywgVVVJRCB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9pbmRleFwiO1xuXG5pbXBvcnQge1xuICBXb3JrVGhyZWFkRW52aXJvbm1lbnRTaGFwZSxcbiAgRGVmYXVsdFdvcmtUaHJlYWRFbnZpcm9ubWVudCxcbiAgV29ya1RocmVhZE1vZHVsZXNDb25maWcsXG59IGZyb20gXCIuL1dvcmtUaHJlYWRFbnZpcm9ubWVudFwiO1xuaW1wb3J0IHtcbiAgTWFpblRvV29ya2VyTWVzc2FnZSxcbiAgV29ya2VySm9iUGF5bG9hZCxcbiAgV29ya2VyTG9nRW50cnksXG4gIFdvcmtlclRvTWFpbk1lc3NhZ2UsXG59IGZyb20gXCIuL21lc3NhZ2VzXCI7XG5pbXBvcnQgeyBUYXNrTW9kZWwgfSBmcm9tIFwiLi4vdGFza3MvbW9kZWxzL1Rhc2tNb2RlbFwiO1xuaW1wb3J0IHtcbiAgVGFza0NvbnRleHQsXG4gIFRhc2tFbmdpbmUgYXMgVEUsXG4gIERlZmF1bHRUYXNrRW5naW5lQ29uZmlnLFxuICBUYXNrRXZlbnRCdXMsXG4gIFRhc2tIYW5kbGVyUmVnaXN0cnksXG4gIFRhc2tTdGF0dXMsXG4gIFRhc2tMb2dnZXIsXG4gIFRhc2tUeXBlLFxuICBzZXJpYWxpemVFcnJvcixcbiAgY29tcHV0ZUJhY2tvZmZNcyxcbn0gZnJvbSBcIi4uL3Rhc2tzXCI7XG5pbXBvcnQge1xuICBUYXNrRW5naW5lQ29uZmlnLFxuICBUYXNrV29ya2VyVGhyZWFkLFxuICBXb3JrZXJKb2JTdGF0ZSxcbiAgV29ya1RocmVhZFBvb2xDb25maWcsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUYXNrU3RhdGVDaGFuZ2VFcnJvciB9IGZyb20gXCIuLi90YXNrcy9UYXNrU3RhdGVDaGFuZ2VFcnJvclwiO1xuXG5leHBvcnQgY2xhc3MgVGFza0VuZ2luZTxBIGV4dGVuZHMgQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+PiBleHRlbmRzIFRFPFxuICBBLFxuICBUYXNrRW5naW5lQ29uZmlnPEE+XG4+IHtcbiAgcHJvdGVjdGVkIHdvcmtlclBvb2xDb25maWc/OiBXb3JrVGhyZWFkUG9vbENvbmZpZztcbiAgcHJvdGVjdGVkIHdvcmtlclRocmVhZHM6IFRhc2tXb3JrZXJUaHJlYWRbXSA9IFtdO1xuICBwcm90ZWN0ZWQgd29ya2VySm9iUXVldWU6IFdvcmtlckpvYlN0YXRlW10gPSBbXTtcbiAgcHJvdGVjdGVkIHdvcmtlckpvYnMgPSBuZXcgTWFwPHN0cmluZywgV29ya2VySm9iU3RhdGU+KCk7XG4gIHByb3RlY3RlZCB3b3JrZXJDb3VudGVyID0gMDtcbiAgcHJvdGVjdGVkIHdvcmtlclRocmVhZENhcGFjaXR5ID0gMTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0IENvbnRleHQoKTogQ29uc3RydWN0b3I8Q29udGV4dE9mPEE+PiB7XG4gICAgcmV0dXJuIFRhc2tDb250ZXh0IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8Q29udGV4dE9mPEE+PjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogVGFza0VuZ2luZUNvbmZpZzxBPikge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgaWYgKGNvbmZpZy53b3JrZXJQb29sICYmICFjb25maWcud29ya2VyQWRhcHRlcikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiV29ya2VyIHBvb2wgcmVxdWlyZXMgd29ya2VyQWRhcHRlciBkZXNjcmlwdG9yIGluIFRhc2tFbmdpbmVDb25maWdcIlxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICB3b3JrZXJDb25jdXJyZW5jeTogMSxcbiAgICAgIH0sXG4gICAgICBEZWZhdWx0VGFza0VuZ2luZUNvbmZpZyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIHtcbiAgICAgICAgYnVzOiBjb25maWcuYnVzIHx8IG5ldyBUYXNrRXZlbnRCdXMoKSxcbiAgICAgICAgcmVnaXN0cnk6IGNvbmZpZy5yZWdpc3RyeSB8fCBuZXcgVGFza0hhbmRsZXJSZWdpc3RyeSgpLFxuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy53b3JrZXJUaHJlYWRDYXBhY2l0eSA9IE1hdGgubWF4KDEsIHRoaXMuY29uZmlnLndvcmtlckNvbmN1cnJlbmN5ID8/IDEpO1xuICAgIHRoaXMud29ya2VyUG9vbENvbmZpZyA9IHRoaXMubm9ybWFsaXplV29ya2VyUG9vbENvbmZpZyhcbiAgICAgIHRoaXMuY29uZmlnLndvcmtlclBvb2xcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVXb3JrZXJQb29sQ29uZmlnKFxuICAgIHBvb2w/OiBXb3JrVGhyZWFkUG9vbENvbmZpZ1xuICApOiBXb3JrVGhyZWFkUG9vbENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwb29sKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICghcG9vbC5lbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiV29ya2VyIHBvb2wgY29uZmlndXJhdGlvbiByZXF1aXJlcyBhbiBleHBsaWNpdCBlbnRyeSBmaWxlIHBhdGhcIlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHBvb2wuc2l6ZSAhPSBudWxsICYmIHBvb2wuc2l6ZSAhPT0gdGhpcy5jb25maWcuY29uY3VycmVuY3kpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIlRhc2tFbmdpbmUgY29uY3VycmVuY3kgbXVzdCBtYXRjaCB3b3JrZXJQb29sLnNpemUgd2hlbiB3b3JrZXIgcG9vbCBpcyBlbmFibGVkXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBwb29sLCB7XG4gICAgICBzaXplOiB0aGlzLmNvbmZpZy5jb25jdXJyZW5jeSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzV29ya2VyUG9vbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLndvcmtlclBvb2xDb25maWcgJiYgKHRoaXMud29ya2VyUG9vbENvbmZpZy5zaXplID8/IDApID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V29ya2VyQ291bnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMud29ya2VyUG9vbENvbmZpZykgcmV0dXJuIDA7XG4gICAgcmV0dXJuIHRoaXMud29ya2VyUG9vbENvbmZpZy5zaXplID8/IDA7XG4gIH1cblxuICBwcml2YXRlIGdldFdvcmtlckV4ZWN1dGlvblNsb3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0V29ya2VyQ291bnQoKSAqIHRoaXMud29ya2VyVGhyZWFkQ2FwYWNpdHk7XG4gIH1cblxuICBwcml2YXRlIGNhbkRpc3BhdGNoVG9Xb3JrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc1dvcmtlclBvb2woKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhlY3V0aW9uQ29uY3VycmVuY3koKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5oYXNXb3JrZXJQb29sKCkpIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCgxLCB0aGlzLmdldFdvcmtlckV4ZWN1dGlvblNsb3RzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29uY3VycmVuY3k7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVXb3JrZXJNb2R1bGVzKCk6IFdvcmtUaHJlYWRNb2R1bGVzQ29uZmlnIHtcbiAgICBjb25zdCBhZGFwdGVyRGVzY3JpcHRvciA9XG4gICAgICB0aGlzLmNvbmZpZy53b3JrZXJBZGFwdGVyID8/IERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQucGVyc2lzdGVuY2U7XG4gICAgaWYgKCFhZGFwdGVyRGVzY3JpcHRvcj8uYWRhcHRlck1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiV29ya2VyIGFkYXB0ZXIgZGVzY3JpcHRvciBtdXN0IGluY2x1ZGUgYWRhcHRlck1vZHVsZVwiXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjb25maWd1cmVkSW1wb3J0cyA9XG4gICAgICB0aGlzLndvcmtlclBvb2xDb25maWc/Lm1vZHVsZXM/LmltcG9ydHMgPz9cbiAgICAgIERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQubW9kdWxlcy5pbXBvcnRzO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjb25maWd1cmVkSW1wb3J0cykpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIldvcmtlciBwb29sIG1vZHVsZXMuaW1wb3J0cyBtdXN0IGJlIGEgc3RyaW5nW11cIlxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgaW1wb3J0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBhcHBlbmQgPSAoc3BlY2lmaWVyPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXNwZWNpZmllcikgcmV0dXJuO1xuICAgICAgaWYgKCFpbXBvcnRzLmluY2x1ZGVzKHNwZWNpZmllcikpIGltcG9ydHMucHVzaChzcGVjaWZpZXIpO1xuICAgIH07XG4gICAgYXBwZW5kKGFkYXB0ZXJEZXNjcmlwdG9yLmFkYXB0ZXJNb2R1bGUpO1xuICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGNvbmZpZ3VyZWRJbXBvcnRzKSB7XG4gICAgICBpZiAodHlwZW9mIHNwZWNpZmllciAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBcIldvcmtlciBwb29sIG1vZHVsZXMuaW1wb3J0cyBtdXN0IGNvbnRhaW4gb25seSBzdHJpbmdzXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChzcGVjaWZpZXIgPT09IGFkYXB0ZXJEZXNjcmlwdG9yLmFkYXB0ZXJNb2R1bGUpIGNvbnRpbnVlO1xuICAgICAgYXBwZW5kKHNwZWNpZmllcik7XG4gICAgfVxuICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGFkYXB0ZXJEZXNjcmlwdG9yLm1vZHVsZXM/LmltcG9ydHMgPz8gW10pIHtcbiAgICAgIGFwcGVuZChzcGVjaWZpZXIpO1xuICAgIH1cbiAgICByZXR1cm4geyBpbXBvcnRzIH07XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBzdGFydCguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55Pik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJydW5cIiwgdHJ1ZSkpLmZvcih0aGlzLnN0YXJ0KTtcbiAgICBhd2FpdCB0aGlzLmxvY2suYWNxdWlyZSgpO1xuICAgIGlmICh0aGlzLnJ1bm5pbmcpIHtcbiAgICAgIHRoaXMubG9jay5yZWxlYXNlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucnVubmluZyA9IHRydWU7XG4gICAgdGhpcy5sb2NrLnJlbGVhc2UoKTtcbiAgICBhd2FpdCB0aGlzLnNwYXduV29ya2VycygpO1xuICAgIHZvaWQgdGhpcy5sb29wKGN0eCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBzdG9wKC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuU0hVVERPV04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5zdG9wKTtcbiAgICBhd2FpdCBzdXBlci5zdG9wKC4uLmN0eEFyZ3MpO1xuICAgIGF3YWl0IHRoaXMuc2h1dGRvd25Xb3JrZXJzKCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFdvcmtlciBwb29sIG9yY2hlc3RyYXRpb25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCBhc3luYyBzcGF3bldvcmtlcnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmhhc1dvcmtlclBvb2woKSkgcmV0dXJuO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZ2V0V29ya2VyQ291bnQoKTtcbiAgICBjb25zdCBjcmVhdGlvbnM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuICAgIHdoaWxlICh0aGlzLndvcmtlclRocmVhZHMubGVuZ3RoIDwgdGFyZ2V0KSB7XG4gICAgICBjb25zdCByZWFkeSA9IHRoaXMuY3JlYXRlV29ya2VyKCk7XG4gICAgICBpZiAocmVhZHkpIGNyZWF0aW9ucy5wdXNoKHJlYWR5KTtcbiAgICB9XG4gICAgaWYgKGNyZWF0aW9ucy5sZW5ndGgpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKGNyZWF0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVdvcmtlcigpOiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMud29ya2VyUG9vbENvbmZpZykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBsZXQgcmVzb2x2ZVJlYWR5ITogKCkgPT4gdm9pZDtcbiAgICBsZXQgcmVqZWN0UmVhZHkhOiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xuICAgIGNvbnN0IHJlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHJlc29sdmVSZWFkeSA9IHJlc29sdmU7XG4gICAgICByZWplY3RSZWFkeSA9IHJlamVjdDtcbiAgICB9KTtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMud29ya2VyUG9vbENvbmZpZy5lbnRyeTtcbiAgICBjb25zdCB3b3JrZXJJZCA9IGAke3RoaXMuY29uZmlnLndvcmtlcklkfS0ke3RoaXMud29ya2VyQ291bnRlcisrfWA7XG4gICAgY29uc3QgZW52OiBXb3JrVGhyZWFkRW52aXJvbm1lbnRTaGFwZSA9IHtcbiAgICAgIHdvcmtlcklkLFxuICAgICAgbW9kZTogdGhpcy53b3JrZXJQb29sQ29uZmlnLm1vZGUgPz8gXCJub2RlXCIsXG4gICAgICBwZXJzaXN0ZW5jZTogT2JqZWN0LmFzc2lnbihcbiAgICAgICAge30sXG4gICAgICAgIHRoaXMuY29uZmlnLndvcmtlckFkYXB0ZXIgPz8gRGVmYXVsdFdvcmtUaHJlYWRFbnZpcm9ubWVudC5wZXJzaXN0ZW5jZSxcbiAgICAgICAge1xuICAgICAgICAgIGFsaWFzOiB0aGlzLmFkYXB0ZXIuYWxpYXMsXG4gICAgICAgICAgZmxhdm91cjogdGhpcy5hZGFwdGVyLmZsYXZvdXIsXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICB0YXNrRW5naW5lOiB7XG4gICAgICAgIGNvbmN1cnJlbmN5OiB0aGlzLndvcmtlclRocmVhZENhcGFjaXR5LFxuICAgICAgICBsZWFzZU1zOiB0aGlzLmNvbmZpZy5sZWFzZU1zLFxuICAgICAgICBwb2xsTXNCdXN5OiB0aGlzLmNvbmZpZy5wb2xsTXNCdXN5LFxuICAgICAgICBwb2xsTXNJZGxlOiB0aGlzLmNvbmZpZy5wb2xsTXNJZGxlLFxuICAgICAgICBsb2dUYWlsTWF4OiB0aGlzLmNvbmZpZy5sb2dUYWlsTWF4LFxuICAgICAgICBzdHJlYW1CdWZmZXJTaXplOiB0aGlzLmNvbmZpZy5zdHJlYW1CdWZmZXJTaXplLFxuICAgICAgICBtYXhMb2dnaW5nQnVmZmVyOiB0aGlzLmNvbmZpZy5tYXhMb2dnaW5nQnVmZmVyLFxuICAgICAgICBsb2dnaW5nQnVmZmVyVHJ1bmNhdGlvbjogdGhpcy5jb25maWcubG9nZ2luZ0J1ZmZlclRydW5jYXRpb24sXG4gICAgICAgIGdyYWNlZnVsU2h1dGRvd25Nc1RpbWVvdXQ6IHRoaXMuY29uZmlnLmdyYWNlZnVsU2h1dGRvd25Nc1RpbWVvdXQsXG4gICAgICAgIGF1dG9TaHV0ZG93bjogdGhpcy5jb25maWcuYXV0b1NodXRkb3duLFxuICAgICAgfSxcbiAgICAgIG1vZHVsZXM6IHRoaXMuY29tcHV0ZVdvcmtlck1vZHVsZXMoKSxcbiAgICB9O1xuICAgIGNvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIoZW50cnksIHtcbiAgICAgIHdvcmtlckRhdGE6IHsgZW52aXJvbm1lbnQ6IGVudiB9LFxuICAgIH0pO1xuICAgIGNvbnN0IHN0YXRlOiBUYXNrV29ya2VyVGhyZWFkID0ge1xuICAgICAgaWQ6IHdvcmtlcklkLFxuICAgICAgd29ya2VyLFxuICAgICAgcmVhZHk6IGZhbHNlLFxuICAgICAgYWN0aXZlSm9iczogMCxcbiAgICAgIGNhcGFjaXR5OiB0aGlzLndvcmtlclRocmVhZENhcGFjaXR5LFxuICAgICAgcmVhZHlQcm9taXNlLFxuICAgICAgcmVzb2x2ZVJlYWR5LFxuICAgICAgcmVqZWN0UmVhZHksXG4gICAgfTtcbiAgICB0aGlzLndvcmtlclRocmVhZHMucHVzaChzdGF0ZSk7XG4gICAgd29ya2VyLm9uKFwibWVzc2FnZVwiLCAobXNnOiBXb3JrZXJUb01haW5NZXNzYWdlKSA9PlxuICAgICAgdGhpcy5oYW5kbGVXb3JrZXJNZXNzYWdlKHN0YXRlLCBtc2cpXG4gICAgKTtcbiAgICB3b3JrZXIub24oXCJlcnJvclwiLCAoZXJyOiBFcnJvcikgPT4gdGhpcy5oYW5kbGVXb3JrZXJFcnJvcihzdGF0ZSwgZXJyKSk7XG4gICAgd29ya2VyLm9uKFwiZXhpdFwiLCAoY29kZSkgPT4gdGhpcy5oYW5kbGVXb3JrZXJFeGl0KHN0YXRlLCBjb2RlKSk7XG4gICAgcmV0dXJuIHJlYWR5UHJvbWlzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2h1dGRvd25Xb3JrZXJzKCkge1xuICAgIGZvciAoY29uc3Qgc3RhdGUgb2YgdGhpcy53b3JrZXJUaHJlYWRzLnNwbGljZSgwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWFpblRvV29ya2VyTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogXCJjb250cm9sXCIsXG4gICAgICAgIGNvbW1hbmQ6IFwic2h1dGRvd25cIixcbiAgICAgIH07XG4gICAgICB0cnkge1xuICAgICAgICBzdGF0ZS53b3JrZXIucG9zdE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgICBhd2FpdCBzdGF0ZS53b3JrZXIudGVybWluYXRlKCk7XG4gICAgfVxuICAgIGZvciAoY29uc3Qgam9iIG9mIHRoaXMud29ya2VySm9iUXVldWUuc3BsaWNlKDApKSB7XG4gICAgICBqb2IucmVqZWN0KFxuICAgICAgICBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgV29ya2VyIHBvb2wgc2h1dHRpbmcgZG93biBiZWZvcmUgam9iICR7am9iLmlkfSBjb3VsZCBzdGFydGBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBqb2Igb2YgdGhpcy53b3JrZXJKb2JzLnZhbHVlcygpKSB7XG4gICAgICBqb2IucmVqZWN0KFxuICAgICAgICBuZXcgSW50ZXJuYWxFcnJvcihgV29ya2VyIHRlcm1pbmF0ZWQgYmVmb3JlIGZpbmlzaGluZyBqb2IgJHtqb2IuaWR9YClcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMud29ya2VySm9icy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVXb3JrZXJFcnJvcihzdGF0ZTogVGFza1dvcmtlclRocmVhZCwgZXJyOiBFcnJvcikge1xuICAgIHRoaXMubG9nLmVycm9yKGB3b3JrZXIgJHtzdGF0ZS5pZH0gZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCwgZXJyKTtcbiAgICBpZiAoc3RhdGUucmVqZWN0UmVhZHkpIHtcbiAgICAgIHN0YXRlLnJlamVjdFJlYWR5KGVycik7XG4gICAgICBzdGF0ZS5yZXNvbHZlUmVhZHkgPSB1bmRlZmluZWQ7XG4gICAgICBzdGF0ZS5yZWplY3RSZWFkeSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVdvcmtlckV4aXQoc3RhdGU6IFRhc2tXb3JrZXJUaHJlYWQsIGNvZGU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLmxvZy5pbmZvKGB3b3JrZXIgJHtzdGF0ZS5pZH0gZXhpdGVkIHdpdGggY29kZSAke2NvZGV9YCk7XG4gICAgaWYgKHN0YXRlLnJlamVjdFJlYWR5KSB7XG4gICAgICBzdGF0ZS5yZWplY3RSZWFkeShcbiAgICAgICAgbmV3IEVycm9yKGB3b3JrZXIgJHtzdGF0ZS5pZH0gZXhpdGVkIGJlZm9yZSByZXBvcnRpbmcgcmVhZHlgKVxuICAgICAgKTtcbiAgICAgIHN0YXRlLnJlc29sdmVSZWFkeSA9IHVuZGVmaW5lZDtcbiAgICAgIHN0YXRlLnJlamVjdFJlYWR5ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBpZHggPSB0aGlzLndvcmtlclRocmVhZHMuaW5kZXhPZihzdGF0ZSk7XG4gICAgaWYgKGlkeCA+PSAwKSB0aGlzLndvcmtlclRocmVhZHMuc3BsaWNlKGlkeCwgMSk7XG4gICAgZm9yIChjb25zdCBbam9iSWQsIGpvYl0gb2YgdGhpcy53b3JrZXJKb2JzLmVudHJpZXMoKSkge1xuICAgICAgaWYgKGpvYi53b3JrZXIgPT09IHN0YXRlKSB7XG4gICAgICAgIGpvYi53b3JrZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMud29ya2VySm9icy5kZWxldGUoam9iSWQpO1xuICAgICAgICB0aGlzLndvcmtlckpvYlF1ZXVlLnVuc2hpZnQoam9iKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMucnVubmluZykge1xuICAgICAgdm9pZCB0aGlzLnNwYXduV29ya2VycygpLmNhdGNoKChlcnIpID0+XG4gICAgICAgIHRoaXMubG9nLmVycm9yKGBmYWlsZWQgdG8gcmVzcGF3biB3b3JrZXJgLCBlcnIpXG4gICAgICApO1xuICAgICAgdGhpcy5wcm9jZXNzV29ya2VyUXVldWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVdvcmtlck1lc3NhZ2UoXG4gICAgc3RhdGU6IFRhc2tXb3JrZXJUaHJlYWQsXG4gICAgbXNnOiBXb3JrZXJUb01haW5NZXNzYWdlXG4gICkge1xuICAgIGlmIChtc2cudHlwZSA9PT0gXCJyZWFkeVwiKSB7XG4gICAgICBzdGF0ZS5yZWFkeSA9IHRydWU7XG4gICAgICBpZiAoc3RhdGUucmVzb2x2ZVJlYWR5KSB7XG4gICAgICAgIHN0YXRlLnJlc29sdmVSZWFkeSgpO1xuICAgICAgICBzdGF0ZS5yZXNvbHZlUmVhZHkgPSB1bmRlZmluZWQ7XG4gICAgICAgIHN0YXRlLnJlamVjdFJlYWR5ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2cuaW5mbyhgd29ya2VyICR7c3RhdGUuaWR9IHJlYWR5YCk7XG4gICAgICB0aGlzLnByb2Nlc3NXb3JrZXJRdWV1ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobXNnLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgdGhpcy5sb2cuZXJyb3IoYHdvcmtlciAke3N0YXRlLmlkfSByZXBvcnRlZCBlcnJvcjogJHttc2cuZXJyb3J9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChtc2cudHlwZSA9PT0gXCJsb2dcIikge1xuICAgICAgY29uc3Qgam9iID0gdGhpcy53b3JrZXJKb2JzLmdldChtc2cuam9iSWQpO1xuICAgICAgaWYgKCFqb2IpIHJldHVybjtcbiAgICAgIHZvaWQgdGhpcy5hcHBlbmRMb2coam9iLmN0eCwgam9iLnRhc2ssIG1zZy5lbnRyaWVzIGFzIFdvcmtlckxvZ0VudHJ5W10pXG4gICAgICAgIC50aGVuKChbdXBkYXRlZCwgZW50cmllc10pID0+IHtcbiAgICAgICAgICBqb2IudGFzayA9IHVwZGF0ZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW1pdExvZyhqb2IuY3R4LCBqb2IudGFzay5pZCwgZW50cmllcyk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLmxvZy5lcnJvcihgRmFpbGVkIHRvIGFwcGVuZCB3b3JrZXIgbG9nYCwgZXJyKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChtc2cudHlwZSA9PT0gXCJwcm9ncmVzc1wiKSB7XG4gICAgICBjb25zdCBqb2IgPSB0aGlzLndvcmtlckpvYnMuZ2V0KG1zZy5qb2JJZCk7XG4gICAgICBpZiAoIWpvYikgcmV0dXJuO1xuICAgICAgdm9pZCB0aGlzLmVtaXRQcm9ncmVzcyhqb2IuY3R4LCBqb2IudGFzay5pZCwgbXNnLnBheWxvYWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobXNnLnR5cGUgPT09IFwiaGVhcnRiZWF0XCIpIHtcbiAgICAgIGNvbnN0IGpvYiA9IHRoaXMud29ya2VySm9icy5nZXQobXNnLmpvYklkKTtcbiAgICAgIGlmICgham9iKSByZXR1cm47XG4gICAgICBqb2IudGFzay5sZWFzZUV4cGlyeSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyB0aGlzLmNvbmZpZy5sZWFzZU1zKTtcbiAgICAgIHZvaWQgdGhpcy50YXNrcy51cGRhdGUoam9iLnRhc2spLmNhdGNoKCgpID0+IG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobXNnLnR5cGUgPT09IFwicmVzdWx0XCIpIHtcbiAgICAgIGNvbnN0IGpvYiA9IHRoaXMud29ya2VySm9icy5nZXQobXNnLmpvYklkKTtcbiAgICAgIGlmICgham9iKSByZXR1cm47XG4gICAgICB0aGlzLndvcmtlckpvYnMuZGVsZXRlKGpvYi5pZCk7XG4gICAgICBzdGF0ZS5hY3RpdmVKb2JzID0gTWF0aC5tYXgoMCwgc3RhdGUuYWN0aXZlSm9icyAtIDEpO1xuICAgICAgdGhpcy5hcHBseVdvcmtlckNhY2hlKGpvYi5jdHgsIG1zZy5jYWNoZSk7XG4gICAgICBzd2l0Y2ggKG1zZy5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSBcInN1Y2Nlc3NcIjpcbiAgICAgICAgICBqb2IucmVzb2x2ZShtc2cub3V0cHV0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImVycm9yXCI6IHtcbiAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IobXNnLmVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIGlmIChtc2cuZXJyb3IubmFtZSkgZXJyLm5hbWUgPSBtc2cuZXJyb3IubmFtZTtcbiAgICAgICAgICBpZiAobXNnLmVycm9yLnN0YWNrKSBlcnIuc3RhY2sgPSBtc2cuZXJyb3Iuc3RhY2s7XG4gICAgICAgICAgam9iLnJlamVjdChlcnIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJzdGF0ZS1jaGFuZ2VcIjpcbiAgICAgICAgICBqb2IucmVqZWN0KG5ldyBUYXNrU3RhdGVDaGFuZ2VFcnJvcihtc2cucmVxdWVzdCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5wcm9jZXNzV29ya2VyUXVldWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5V29ya2VyQ2FjaGUoXG4gICAgY3R4OiBUYXNrQ29udGV4dCxcbiAgICBjYWNoZT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogdm9pZCB7XG4gICAgaWYgKCFjYWNoZSkgcmV0dXJuO1xuICAgIE9iamVjdC5lbnRyaWVzKGNhY2hlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGN0eC5jYWNoZVJlc3VsdChrZXksIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc1dvcmtlclF1ZXVlKCkge1xuICAgIGlmICghdGhpcy5oYXNXb3JrZXJQb29sKCkpIHJldHVybjtcbiAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLndvcmtlclRocmVhZHNcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZS5yZWFkeSAmJiBzdGF0ZS5hY3RpdmVKb2JzIDwgc3RhdGUuY2FwYWNpdHkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5hY3RpdmVKb2JzIC0gYi5hY3RpdmVKb2JzKTtcbiAgICBmb3IgKGNvbnN0IHN0YXRlIG9mIGF2YWlsYWJsZSkge1xuICAgICAgd2hpbGUgKFxuICAgICAgICBzdGF0ZS5hY3RpdmVKb2JzIDwgc3RhdGUuY2FwYWNpdHkgJiZcbiAgICAgICAgdGhpcy53b3JrZXJKb2JRdWV1ZS5sZW5ndGggPiAwXG4gICAgICApIHtcbiAgICAgICAgY29uc3Qgam9iID0gdGhpcy53b3JrZXJKb2JRdWV1ZS5zaGlmdCgpO1xuICAgICAgICBpZiAoIWpvYikgYnJlYWs7XG4gICAgICAgIHRoaXMuYXNzaWduV29ya2VyKHN0YXRlLCBqb2IpO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLndvcmtlckpvYlF1ZXVlLmxlbmd0aCkgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25Xb3JrZXIoc3RhdGU6IFRhc2tXb3JrZXJUaHJlYWQsIGpvYjogV29ya2VySm9iU3RhdGUpIHtcbiAgICBpZiAoIXRoaXMud29ya2VyUG9vbENvbmZpZykgcmV0dXJuO1xuICAgIGNvbnN0IHBheWxvYWQ6IFdvcmtlckpvYlBheWxvYWQgPSB7XG4gICAgICBqb2JJZDogam9iLmlkLFxuICAgICAgdGFza0lkOiBqb2IudGFzay5pZCxcbiAgICAgIGNsYXNzaWZpY2F0aW9uOiBqb2IuY2xhc3NpZmljYXRpb24sXG4gICAgICBpbnB1dDogam9iLmlucHV0LFxuICAgICAgYXR0ZW1wdDogam9iLnRhc2suYXR0ZW1wdCA/PyAwLFxuICAgICAgcmVzdWx0Q2FjaGU6IGpvYi5jdHgucmVzdWx0Q2FjaGUgPz8ge30sXG4gICAgICBzdHJlYW1CdWZmZXJTaXplOiB0aGlzLmNvbmZpZy5zdHJlYW1CdWZmZXJTaXplLFxuICAgICAgbWF4TG9nZ2luZ0J1ZmZlcjogdGhpcy5jb25maWcubWF4TG9nZ2luZ0J1ZmZlcixcbiAgICAgIGxvZ2dpbmdCdWZmZXJUcnVuY2F0aW9uOiB0aGlzLmNvbmZpZy5sb2dnaW5nQnVmZmVyVHJ1bmNhdGlvbixcbiAgICB9O1xuICAgIGpvYi53b3JrZXIgPSBzdGF0ZTtcbiAgICB0aGlzLndvcmtlckpvYnMuc2V0KGpvYi5pZCwgam9iKTtcbiAgICBzdGF0ZS5hY3RpdmVKb2JzICs9IDE7XG4gICAgY29uc3QgbWVzc2FnZTogTWFpblRvV29ya2VyTWVzc2FnZSA9IHtcbiAgICAgIHR5cGU6IFwiZXhlY3V0ZVwiLFxuICAgICAgam9iOiBwYXlsb2FkLFxuICAgIH07XG4gICAgc3RhdGUud29ya2VyLnBvc3RNZXNzYWdlKG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnF1ZXVlV29ya2VySm9iKGpvYjogV29ya2VySm9iU3RhdGUpIHtcbiAgICB0aGlzLndvcmtlckpvYlF1ZXVlLnB1c2goam9iKTtcbiAgICB0aGlzLnByb2Nlc3NXb3JrZXJRdWV1ZSgpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFeGVjdXRpb25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW5IYW5kbGVySW5saW5lKFxuICAgIGNsYXNzaWZpY2F0aW9uOiBzdHJpbmcsXG4gICAgaW5wdXQ6IGFueSxcbiAgICBjdHg6IFRhc2tDb250ZXh0XG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMucmVnaXN0cnkuZ2V0KGNsYXNzaWZpY2F0aW9uKTtcbiAgICBpZiAoIWhhbmRsZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYE5vIHRhc2sgaGFuZGxlciByZWdpc3RlcmVkIGZvciB0eXBlOiAke2NsYXNzaWZpY2F0aW9ufWBcbiAgICAgICk7XG4gICAgcmV0dXJuIGhhbmRsZXIucnVuKGlucHV0LCBjdHgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkaXNwYXRjaFRvV29ya2VyKFxuICAgIGNsYXNzaWZpY2F0aW9uOiBzdHJpbmcsXG4gICAgaW5wdXQ6IGFueSxcbiAgICB0YXNrOiBUYXNrTW9kZWwsXG4gICAgY3R4OiBUYXNrQ29udGV4dFxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghdGhpcy5jYW5EaXNwYXRjaFRvV29ya2VycygpKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5IYW5kbGVySW5saW5lKGNsYXNzaWZpY2F0aW9uLCBpbnB1dCwgY3R4KTtcbiAgICB9XG4gICAgY29uc3QgdXVpZCA9IGF3YWl0IFVVSUQuaW5zdGFuY2UuZ2VuZXJhdGUoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgam9iOiBXb3JrZXJKb2JTdGF0ZSA9IHtcbiAgICAgICAgaWQ6IHV1aWQsXG4gICAgICAgIGNsYXNzaWZpY2F0aW9uLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgdGFzayxcbiAgICAgICAgY3R4LFxuICAgICAgICByZXNvbHZlLFxuICAgICAgICByZWplY3QsXG4gICAgICB9O1xuICAgICAgdGhpcy5lbnF1ZXVlV29ya2VySm9iKGpvYik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGludm9rZUhhbmRsZXIoXG4gICAgY2xhc3NpZmljYXRpb246IHN0cmluZyxcbiAgICBpbnB1dDogYW55LFxuICAgIHRhc2s6IFRhc2tNb2RlbCxcbiAgICBjdHg6IFRhc2tDb250ZXh0XG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCF0aGlzLmhhc1dvcmtlclBvb2woKSkge1xuICAgICAgcmV0dXJuIHRoaXMucnVuSGFuZGxlcklubGluZShjbGFzc2lmaWNhdGlvbiwgaW5wdXQsIGN0eCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoVG9Xb3JrZXIoY2xhc3NpZmljYXRpb24sIGlucHV0LCB0YXNrLCBjdHgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVDbGFpbWVkKHRhc2s6IFRhc2tNb2RlbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4LCBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbXSwgdGFzay5jbGFzc2lmaWNhdGlvbiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuZXhlY3V0ZUNsYWltZWRcbiAgICApO1xuICAgIGNvbnN0IGVuZ2luZSA9IHRoaXM7XG4gICAgY29uc3QgdGFza0N0eCA9IFRhc2tFbmdpbmUuY3JlYXRlVGFza0NvbnRleHQoY3R4LCB7XG4gICAgICB0YXNrSWQ6IHRhc2suaWQsXG4gICAgICBsb2dnZXI6IG5ldyBUYXNrTG9nZ2VyKFxuICAgICAgICBsb2csXG4gICAgICAgIHRoaXMuY29uZmlnLnN0cmVhbUJ1ZmZlclNpemUsXG4gICAgICAgIHRoaXMuY29uZmlnLm1heExvZ2dpbmdCdWZmZXJcbiAgICAgICksXG4gICAgICBhdHRlbXB0OiB0YXNrLmF0dGVtcHQsXG4gICAgICByZXN1bHRDYWNoZToge30sXG4gICAgICBwaXBlOiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICAgIHRoaXM6IFRhc2tDb250ZXh0LFxuICAgICAgICAuLi5hcmdzOiBhbnlbXVxuICAgICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBlbmdpbmUubm9ybWFsaXplUGlwZUFyZ3MoYXJncyk7XG4gICAgICAgIGlmICghbm9ybWFsaXplZC5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgW3VwZGF0ZWQsIGxvZ3NdID0gYXdhaXQgZW5naW5lLmFwcGVuZExvZyh0aGlzLCB0YXNrLCBub3JtYWxpemVkKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0YXNrLCB1cGRhdGVkKTtcbiAgICAgICAgYXdhaXQgZW5naW5lLmVtaXRMb2codGhpcywgdGFzay5pZCwgbG9ncyk7XG4gICAgICB9LFxuICAgICAgZmx1c2g6IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGFza0N0eC5sb2dnZXIuZmx1c2godGFza0N0eC5waXBlKTtcbiAgICAgIH0sXG4gICAgICBwcm9ncmVzczogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRQcm9ncmVzcyh0YXNrQ3R4LCB0YXNrLmlkLCBkYXRhKTtcbiAgICAgIH0sXG4gICAgICBoZWFydGJlYXQ6IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gZXh0ZW5kIGxlYXNlXG4gICAgICAgIGlmICh0YXNrLmxlYXNlT3duZXIgIT09IHRoaXMuY29uZmlnLndvcmtlcklkKSByZXR1cm47XG4gICAgICAgIHRhc2subGVhc2VFeHBpcnkgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgdGhpcy5jb25maWcubGVhc2VNcyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGFzayA9IGF3YWl0IHRoaXMudGFza3MudXBkYXRlKHRhc2spO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBpZiB3ZSBsb3NlIHRoZSBjbGFpbSwgZXhlY3V0aW9uIHNob3VsZCBzdGlsbCBwcm9jZWVkOyBuZXh0IHVwZGF0ZSB3aWxsIGZhaWwgYW5kIGJlIHJldHJpZWQgYnkgcmVjb3ZlcnlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMuZW1pdFN0YXR1cyh0YXNrQ3R4LCB0YXNrLCBUYXNrU3RhdHVzLlJVTk5JTkcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxldCBvdXRwdXQ6IGFueTtcbiAgICAgIGlmICh0YXNrLmF0b21pY2l0eSA9PT0gVGFza1R5cGUuQ09NUE9TSVRFKSB7XG4gICAgICAgIG91dHB1dCA9IGF3YWl0IHRoaXMucnVuQ29tcG9zaXRlKHRhc2ssIHRhc2tDdHgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRhc2sgPSBhd2FpdCB0aGlzLnRhc2tzLnJlYWQodGFzay5pZCwgdGFza0N0eCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIGtlZXAgYmVzdC1lZmZvcnQgdGFzayBzdGF0ZVxuICAgICAgICB9XG4gICAgICAgIGlmIChvdXRwdXQ/LnN0ZXBSZXN1bHRzKSB7XG4gICAgICAgICAgdGFzay5zdGVwUmVzdWx0cyA9IG91dHB1dC5zdGVwUmVzdWx0cztcbiAgICAgICAgICB0YXNrLmN1cnJlbnRTdGVwID0gb3V0cHV0LnN0ZXBSZXN1bHRzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKGBkaXNwYXRjaGluZyBoYW5kbGVyIGZvciAke3Rhc2suaWR9YCk7XG4gICAgICAgIG91dHB1dCA9IGF3YWl0IHRoaXMuaW52b2tlSGFuZGxlcihcbiAgICAgICAgICB0YXNrLmNsYXNzaWZpY2F0aW9uLFxuICAgICAgICAgIHRhc2suaW5wdXQsXG4gICAgICAgICAgdGFzayxcbiAgICAgICAgICB0YXNrQ3R4XG4gICAgICAgICk7XG4gICAgICAgIGxvZy52ZXJib3NlKGBoYW5kbGVyIGZpbmlzaGVkIGZvciAke3Rhc2suaWR9YCk7XG4gICAgICB9XG5cbiAgICAgIHRhc2suc3RhdHVzID0gVGFza1N0YXR1cy5TVUNDRUVERUQ7XG4gICAgICB0YXNrLm91dHB1dCA9IG91dHB1dDtcbiAgICAgIHRhc2suZXJyb3IgPSB1bmRlZmluZWQ7XG4gICAgICB0YXNrLmxlYXNlT3duZXIgPSB1bmRlZmluZWQ7XG4gICAgICB0YXNrLmxlYXNlRXhwaXJ5ID0gdW5kZWZpbmVkO1xuXG4gICAgICB0YXNrID0gYXdhaXQgdGhpcy50YXNrcy51cGRhdGUodGFzaywgdGFza0N0eCk7XG4gICAgICB0YXNrQ3R4LmxvZ2dlci5pbmZvKGB0YXNrICR7dGFzay5pZH0gc3VjY2VzcyBzdGF0ZSAke3Rhc2suc3RhdHVzfWApO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGB0YXNrICR7dGFzay5pZH0gc3VjY2VzcyBzdGF0ZSAke3Rhc2suc3RhdHVzfSBhdHRlbXB0ICR7dGFzay5hdHRlbXB0fWBcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRTdGF0dXModGFza0N0eCwgdGFzaywgVGFza1N0YXR1cy5TVUNDRUVERUQsIG91dHB1dCk7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRhc2sgPSBhd2FpdCB0aGlzLnRhc2tzLnJlYWQodGFzay5pZCwgdGFza0N0eCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8ga2VlcCBiZXN0LWVmZm9ydCB0YXNrIHN0YXRlIGZvciByZXRyaWVzL2ZhaWx1cmVzXG4gICAgICB9XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgVGFza1N0YXRlQ2hhbmdlRXJyb3IpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVUYXNrU3RhdGVDaGFuZ2UoZXJyLnJlcXVlc3QsIHRhc2ssIHRhc2tDdHgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoXCJ0YXNrIGV4ZWN1dGlvbiBlcnJvclwiLCBlcnIpO1xuICAgICAgaWYgKHRhc2suYXRvbWljaXR5ID09PSBUYXNrVHlwZS5DT01QT1NJVEUpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFJlc3VsdHMgPSB0aGlzLm5vcm1hbGl6ZVN0ZXBSZXN1bHRzKHRhc2suc3RlcFJlc3VsdHMpO1xuICAgICAgICB0YXNrLnN0ZXBSZXN1bHRzID0gbm9ybWFsaXplZFJlc3VsdHM7XG4gICAgICAgIGlmICh0YXNrLmN1cnJlbnRTdGVwID09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBmYWlsZWRJZHggPSBub3JtYWxpemVkUmVzdWx0cy5maW5kSW5kZXgoXG4gICAgICAgICAgICAoc3RlcCkgPT4gc3RlcC5zdGF0dXMgPT09IFRhc2tTdGF0dXMuRkFJTEVEXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoZmFpbGVkSWR4ID49IDApIHRhc2suY3VycmVudFN0ZXAgPSBmYWlsZWRJZHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IG5leHRBdHRlbXB0ID0gKHRhc2suYXR0ZW1wdCA/PyAwKSArIDE7XG5cbiAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVFcnJvcihlcnIpO1xuXG4gICAgICBpZiAobmV4dEF0dGVtcHQgPCB0YXNrLm1heEF0dGVtcHRzKSB7XG4gICAgICAgIGNvbnN0IGRlbGF5ID0gY29tcHV0ZUJhY2tvZmZNcyhcbiAgICAgICAgICBuZXh0QXR0ZW1wdCxcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUJhY2tvZmYodGFzay5iYWNrb2ZmKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBuZXh0UnVuQXQgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgZGVsYXkpO1xuXG4gICAgICAgIHRhc2suYXR0ZW1wdCA9IG5leHRBdHRlbXB0O1xuICAgICAgICB0YXNrLnN0YXR1cyA9IFRhc2tTdGF0dXMuV0FJVElOR19SRVRSWTtcbiAgICAgICAgdGFzay5uZXh0UnVuQXQgPSBuZXh0UnVuQXQ7XG4gICAgICAgIHRhc2suZXJyb3IgPSBzZXJpYWxpemVkO1xuICAgICAgICB0YXNrLmxlYXNlT3duZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRhc2subGVhc2VFeHBpcnkgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRhc2sgPSBhd2FpdCB0aGlzLnRhc2tzLnVwZGF0ZSh0YXNrLCB0YXNrQ3R4KTtcbiAgICAgICAgbG9nLndhcm4oXG4gICAgICAgICAgYHRhc2sgJHt0YXNrLmlkfSB3YWl0aW5nIHJldHJ5IHN0YXRlICR7dGFzay5zdGF0dXN9IGF0dGVtcHQgJHt0YXNrLmF0dGVtcHR9YFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0YXNrQ3R4LnBpcGUoTG9nTGV2ZWwud2FybiwgYFJldHJ5IHNjaGVkdWxlZGAsIHtcbiAgICAgICAgICBuZXh0UnVuQXQsXG4gICAgICAgICAgZGVsYXlNczogZGVsYXksXG4gICAgICAgICAgYXR0ZW1wdDogbmV4dEF0dGVtcHQsXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRTdGF0dXMoXG4gICAgICAgICAgdGFza0N0eCxcbiAgICAgICAgICB0YXNrLFxuICAgICAgICAgIFRhc2tTdGF0dXMuV0FJVElOR19SRVRSWSxcbiAgICAgICAgICBzZXJpYWxpemVkLFxuICAgICAgICAgIGVyclxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFzay5hdHRlbXB0ID0gbmV4dEF0dGVtcHQ7XG4gICAgICAgIHRhc2suc3RhdHVzID0gVGFza1N0YXR1cy5GQUlMRUQ7XG4gICAgICAgIHRhc2suZXJyb3IgPSBzZXJpYWxpemVkO1xuICAgICAgICB0YXNrLmxlYXNlT3duZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRhc2subGVhc2VFeHBpcnkgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGFzayA9IGF3YWl0IHRoaXMudGFza3MudXBkYXRlKHRhc2ssIHRhc2tDdHgpO1xuICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgYHRhc2sgJHt0YXNrLmlkfSBmYWlsZWQgc3RhdGUgJHt0YXNrLnN0YXR1c30gYXR0ZW1wdCAke3Rhc2suYXR0ZW1wdH1gXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRhc2tDdHgucGlwZShcbiAgICAgICAgICBMb2dMZXZlbC5lcnJvcixcbiAgICAgICAgICBgVGFzayBmYWlsZWQgKG1heCBhdHRlbXB0cyByZWFjaGVkKWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF4QXR0ZW1wdHM6IHRhc2subWF4QXR0ZW1wdHMsXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRTdGF0dXMoXG4gICAgICAgICAgdGFza0N0eCxcbiAgICAgICAgICB0YXNrLFxuICAgICAgICAgIFRhc2tTdGF0dXMuRkFJTEVELFxuICAgICAgICAgIHNlcmlhbGl6ZWQsXG4gICAgICAgICAgZXJyXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -30,4 +30,4 @@ export const DefaultWorkThreadEnvironment = {
|
|
|
30
30
|
modules: defaultModules,
|
|
31
31
|
};
|
|
32
32
|
export const WorkThreadEnvironment = LoggedEnvironment.accumulate(DefaultWorkThreadEnvironment);
|
|
33
|
-
//# sourceMappingURL=
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya1RocmVhZEVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dvcmtlcnMvV29ya1RocmVhZEVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQXVDakUsTUFBTSx1QkFBdUIsR0FBK0I7SUFDMUQsV0FBVyxFQUFFLENBQUM7SUFDZCxPQUFPLEVBQUUsTUFBTTtJQUNmLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLHVCQUF1QixFQUFFLENBQUM7SUFDMUIseUJBQXlCLEVBQUUsTUFBTTtJQUNqQyxZQUFZLEVBQUU7UUFDWixPQUFPLEVBQUUsS0FBSztRQUNkLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxNQUFNO0tBQ3ZCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUE0QjtJQUM5QyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQztDQUNqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQStCO0lBQ3RFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNO0lBQ3RDLFdBQVcsRUFBRTtRQUNYLGFBQWEsRUFBRSxtQkFBbUI7UUFDbEMsWUFBWSxFQUFFLFdBQVc7UUFDekIsV0FBVyxFQUFFLEVBQUU7S0FDaEI7SUFDRCxVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE9BQU8sRUFBRSxjQUFjO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQy9ELDRCQUE0QixDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VkRW52aXJvbm1lbnQsIGlzQnJvd3NlciB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgVGFza0VuZ2luZUF1dG9TaHV0ZG93bkNvbmZpZyB9IGZyb20gXCIuLi90YXNrcy90eXBlc1wiO1xuXG50eXBlIFdvcmtlck1vZGUgPSBcIm5vZGVcIiB8IFwiYnJvd3NlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtUaHJlYWRQZXJzaXN0ZW5jZUNvbmZpZyB7XG4gIGFkYXB0ZXJNb2R1bGU6IHN0cmluZztcbiAgYWRhcHRlckNsYXNzPzogc3RyaW5nO1xuICBhZGFwdGVyQXJncz86IGFueVtdO1xuICBmbGF2b3VyPzogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgbW9kdWxlcz86IFdvcmtUaHJlYWRNb2R1bGVzQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtUaHJlYWRUYXNrRW5naW5lQ29uZmlnIHtcbiAgY29uY3VycmVuY3k6IG51bWJlcjtcbiAgbGVhc2VNczogbnVtYmVyO1xuICBwb2xsTXNJZGxlOiBudW1iZXI7XG4gIHBvbGxNc0J1c3k6IG51bWJlcjtcbiAgbG9nVGFpbE1heDogbnVtYmVyO1xuICBzdHJlYW1CdWZmZXJTaXplOiBudW1iZXI7XG4gIG1heExvZ2dpbmdCdWZmZXI6IG51bWJlcjtcbiAgbG9nZ2luZ0J1ZmZlclRydW5jYXRpb246IG51bWJlcjtcbiAgZ3JhY2VmdWxTaHV0ZG93bk1zVGltZW91dDogbnVtYmVyO1xuICBhdXRvU2h1dGRvd24/OiBUYXNrRW5naW5lQXV0b1NodXRkb3duQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtUaHJlYWRNb2R1bGVzQ29uZmlnIHtcbiAgaW1wb3J0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya1RocmVhZEVudmlyb25tZW50U2hhcGUge1xuICB3b3JrZXJJZDogc3RyaW5nO1xuICBtb2RlOiBXb3JrZXJNb2RlO1xuICBwZXJzaXN0ZW5jZTogV29ya1RocmVhZFBlcnNpc3RlbmNlQ29uZmlnO1xuICB0YXNrRW5naW5lOiBXb3JrVGhyZWFkVGFza0VuZ2luZUNvbmZpZztcbiAgbW9kdWxlczogV29ya1RocmVhZE1vZHVsZXNDb25maWc7XG59XG5cbmNvbnN0IGRlZmF1bHRUYXNrRW5naW5lQ29uZmlnOiBXb3JrVGhyZWFkVGFza0VuZ2luZUNvbmZpZyA9IHtcbiAgY29uY3VycmVuY3k6IDEsXG4gIGxlYXNlTXM6IDYwXzAwMCxcbiAgcG9sbE1zSWRsZTogNV8wMDAsXG4gIHBvbGxNc0J1c3k6IDFfMDAwLFxuICBsb2dUYWlsTWF4OiAyNTYsXG4gIHN0cmVhbUJ1ZmZlclNpemU6IDUxMixcbiAgbWF4TG9nZ2luZ0J1ZmZlcjogMV8wMjQsXG4gIGxvZ2dpbmdCdWZmZXJUcnVuY2F0aW9uOiA4LFxuICBncmFjZWZ1bFNodXRkb3duTXNUaW1lb3V0OiAxMF8wMDAsXG4gIGF1dG9TaHV0ZG93bjoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIGJhY2tvZmZTdGVwTXM6IDFfMDAwLFxuICAgIG1heElkbGVEZWxheU1zOiA2MF8wMDAsXG4gIH0sXG59O1xuXG5jb25zdCBkZWZhdWx0TW9kdWxlczogV29ya1RocmVhZE1vZHVsZXNDb25maWcgPSB7XG4gIGltcG9ydHM6IFtcIkBkZWNhZi10cy9jb3JlXCIsIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFdvcmtUaHJlYWRFbnZpcm9ubWVudDogV29ya1RocmVhZEVudmlyb25tZW50U2hhcGUgPSB7XG4gIHdvcmtlcklkOiBcIndvcmtlclwiLFxuICBtb2RlOiBpc0Jyb3dzZXIoKSA/IFwiYnJvd3NlclwiIDogXCJub2RlXCIsXG4gIHBlcnNpc3RlbmNlOiB7XG4gICAgYWRhcHRlck1vZHVsZTogXCJAZGVjYWYtdHMvY29yZS9mc1wiLFxuICAgIGFkYXB0ZXJDbGFzczogXCJGc0FkYXB0ZXJcIixcbiAgICBhZGFwdGVyQXJnczogW10sXG4gIH0sXG4gIHRhc2tFbmdpbmU6IGRlZmF1bHRUYXNrRW5naW5lQ29uZmlnLFxuICBtb2R1bGVzOiBkZWZhdWx0TW9kdWxlcyxcbn07XG5cbmV4cG9ydCBjb25zdCBXb3JrVGhyZWFkRW52aXJvbm1lbnQgPSBMb2dnZWRFbnZpcm9ubWVudC5hY2N1bXVsYXRlKFxuICBEZWZhdWx0V29ya1RocmVhZEVudmlyb25tZW50XG4pO1xuIl19
|
package/lib/esm/workers/index.js
CHANGED
|
@@ -2,4 +2,4 @@ export * from "./messages.js";
|
|
|
2
2
|
export * from "./TaskEngine.js";
|
|
3
3
|
export * from "./types.js";
|
|
4
4
|
export * from "./WorkThreadEnvironment.js";
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2Vycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBMkI7QUFDM0IsZ0NBQTZCO0FBQzdCLDJCQUF3QjtBQUN4QiwyQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tZXNzYWdlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVGFza0VuZ2luZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1dvcmtUaHJlYWRFbnZpcm9ubWVudFwiO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2Vycy9tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nTGV2ZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IFRhc2tTdGF0ZUNoYW5nZVJlcXVlc3QgfSBmcm9tIFwiLi4vdGFza3MvVGFza1N0YXRlQ2hhbmdlRXJyb3JcIjtcblxuZXhwb3J0IHR5cGUgV29ya2VyTG9nRW50cnkgPSBbTG9nTGV2ZWwsIHN0cmluZ10gfCBbTG9nTGV2ZWwsIHN0cmluZywgYW55XTtcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZXJKb2JQYXlsb2FkIHtcbiAgam9iSWQ6IHN0cmluZztcbiAgdGFza0lkOiBzdHJpbmc7XG4gIGNsYXNzaWZpY2F0aW9uOiBzdHJpbmc7XG4gIGlucHV0OiBhbnk7XG4gIGF0dGVtcHQ6IG51bWJlcjtcbiAgcmVzdWx0Q2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzdHJlYW1CdWZmZXJTaXplOiBudW1iZXI7XG4gIG1heExvZ2dpbmdCdWZmZXI6IG51bWJlcjtcbiAgbG9nZ2luZ0J1ZmZlclRydW5jYXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgV29ya2VyVG9NYWluTWVzc2FnZSA9XG4gIHwgeyB0eXBlOiBcInJlYWR5XCI7IHdvcmtlcklkOiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJsb2dcIjsgd29ya2VySWQ6IHN0cmluZzsgam9iSWQ6IHN0cmluZzsgZW50cmllczogV29ya2VyTG9nRW50cnlbXSB9XG4gIHwgeyB0eXBlOiBcInByb2dyZXNzXCI7IHdvcmtlcklkOiBzdHJpbmc7IGpvYklkOiBzdHJpbmc7IHBheWxvYWQ6IGFueSB9XG4gIHwgeyB0eXBlOiBcImhlYXJ0YmVhdFwiOyB3b3JrZXJJZDogc3RyaW5nOyBqb2JJZDogc3RyaW5nIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInJlc3VsdFwiO1xuICAgICAgd29ya2VySWQ6IHN0cmluZztcbiAgICAgIGpvYklkOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IFwic3VjY2Vzc1wiO1xuICAgICAgb3V0cHV0OiBhbnk7XG4gICAgICBjYWNoZT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwicmVzdWx0XCI7XG4gICAgICB3b3JrZXJJZDogc3RyaW5nO1xuICAgICAgam9iSWQ6IHN0cmluZztcbiAgICAgIHN0YXR1czogXCJlcnJvclwiO1xuICAgICAgZXJyb3I6IHsgbmFtZT86IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZyB9O1xuICAgICAgY2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInJlc3VsdFwiO1xuICAgICAgd29ya2VySWQ6IHN0cmluZztcbiAgICAgIGpvYklkOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IFwic3RhdGUtY2hhbmdlXCI7XG4gICAgICByZXF1ZXN0OiBUYXNrU3RhdGVDaGFuZ2VSZXF1ZXN0O1xuICAgICAgY2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIH1cbiAgfCB7IHR5cGU6IFwiZXJyb3JcIjsgd29ya2VySWQ6IHN0cmluZzsgZXJyb3I6IHN0cmluZzsgc3RhY2s/OiBzdHJpbmcgfTtcblxuZXhwb3J0IHR5cGUgTWFpblRvV29ya2VyTWVzc2FnZSA9XG4gIHwgeyB0eXBlOiBcImNvbnRyb2xcIjsgY29tbWFuZDogXCJzdG9wXCIgfCBcInNodXRkb3duXCIgfVxuICB8IHsgdHlwZTogXCJleGVjdXRlXCI7IGpvYjogV29ya2VySm9iUGF5bG9hZCB9O1xuIl19
|
package/lib/esm/workers/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2Vycy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV29ya2VyIH0gZnJvbSBcIndvcmtlcl90aHJlYWRzXCI7XG5pbXBvcnQge1xuICBUYXNrQ29udGV4dCxcbiAgVGFza01vZGVsLFxuICBUYXNrRW5naW5lQ29uZmlnIGFzIFRFQyxcbiAgVGFza1NlcnZpY2VDb25maWcgYXMgVFNDLFxufSBmcm9tIFwiLi4vdGFza3MvaW5kZXhcIjtcblxuZXhwb3J0IHR5cGUgVGFza1dvcmtlclRocmVhZCA9IHtcbiAgaWQ6IHN0cmluZztcbiAgd29ya2VyOiBXb3JrZXI7XG4gIHJlYWR5OiBib29sZWFuO1xuICBhY3RpdmVKb2JzOiBudW1iZXI7XG4gIGNhcGFjaXR5OiBudW1iZXI7XG4gIHJlYWR5UHJvbWlzZT86IFByb21pc2U8dm9pZD47XG4gIHJlc29sdmVSZWFkeT86ICgpID0+IHZvaWQ7XG4gIHJlamVjdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFdvcmtlckpvYlN0YXRlID0ge1xuICBpZDogc3RyaW5nO1xuICBjbGFzc2lmaWNhdGlvbjogc3RyaW5nO1xuICBpbnB1dDogYW55O1xuICB0YXNrOiBUYXNrTW9kZWw7XG4gIGN0eDogVGFza0NvbnRleHQ7XG4gIHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xuICByZWplY3Q6IChlcnJvcjogYW55KSA9PiB2b2lkO1xuICB3b3JrZXI/OiBUYXNrV29ya2VyVGhyZWFkO1xufTtcblxuaW1wb3J0IHtcbiAgV29ya1RocmVhZE1vZHVsZXNDb25maWcsXG4gIFdvcmtUaHJlYWRQZXJzaXN0ZW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vV29ya1RocmVhZEVudmlyb25tZW50XCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2luZGV4XCI7XG5cbmV4cG9ydCB0eXBlIFdvcmtlckFkYXB0ZXJEZXNjcmlwdG9yID0gV29ya1RocmVhZFBlcnNpc3RlbmNlQ29uZmlnO1xuXG5leHBvcnQgdHlwZSBXb3JrVGhyZWFkUG9vbENvbmZpZyA9IHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgbW9kZT86IFwibm9kZVwiIHwgXCJicm93c2VyXCI7XG4gIGVudHJ5OiBzdHJpbmc7XG4gIG1vZHVsZXM/OiBXb3JrVGhyZWFkTW9kdWxlc0NvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFRhc2tFbmdpbmVDb25maWc8QSBleHRlbmRzIEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55Pj4gPSBURUM8QT4gJiB7XG4gIHdvcmtlckFkYXB0ZXI/OiBXb3JrZXJBZGFwdGVyRGVzY3JpcHRvcjtcbiAgd29ya2VyUG9vbD86IFdvcmtUaHJlYWRQb29sQ29uZmlnO1xuICB3b3JrZXJDb25jdXJyZW5jeT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFRhc2tTZXJ2aWNlQ29uZmlnPEEgZXh0ZW5kcyBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT4+ID1cbiAgVFNDPEE+ICYge1xuICAgIHdvcmtlckFkYXB0ZXI/OiBXb3JrZXJBZGFwdGVyRGVzY3JpcHRvcjtcbiAgICB3b3JrZXJQb29sPzogV29ya1RocmVhZFBvb2xDb25maWc7XG4gICAgd29ya2VyQ29uY3VycmVuY3k/OiBudW1iZXI7XG4gIH07XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./../overrides/index.js";
|
|
2
2
|
import { parentPort, workerData } from "worker_threads";
|
|
3
|
-
import {
|
|
3
|
+
import { DefaultWorkThreadEnvironment, } from "./WorkThreadEnvironment.js";
|
|
4
4
|
import { normalizeImport } from "./../utils/index.js";
|
|
5
5
|
import { Adapter } from "./../persistence/index.js";
|
|
6
6
|
import { serializeError, TaskEngine, TaskHandlerRegistry, TaskLogger, } from "./../tasks/index.js";
|
|
@@ -11,16 +11,24 @@ if (!initialPort) {
|
|
|
11
11
|
throw new Error("workerThread.ts must be run inside a worker thread");
|
|
12
12
|
}
|
|
13
13
|
const port = initialPort;
|
|
14
|
-
const
|
|
14
|
+
const rawEnvironment = workerData.environment;
|
|
15
|
+
const environment = Object.assign({}, DefaultWorkThreadEnvironment, rawEnvironment, {
|
|
16
|
+
persistence: Object.assign({}, DefaultWorkThreadEnvironment.persistence, rawEnvironment?.persistence ?? {}),
|
|
17
|
+
taskEngine: Object.assign({}, DefaultWorkThreadEnvironment.taskEngine, rawEnvironment?.taskEngine ?? {}),
|
|
18
|
+
modules: Object.assign({}, DefaultWorkThreadEnvironment.modules, rawEnvironment?.modules ?? {}),
|
|
19
|
+
});
|
|
15
20
|
const persistence = environment.persistence;
|
|
16
21
|
const moduleLoadPromise = loadModules(environment.modules);
|
|
17
22
|
async function loadModules(modules) {
|
|
18
|
-
const imports = modules?.imports
|
|
19
|
-
if (!imports.length) {
|
|
23
|
+
const imports = modules?.imports;
|
|
24
|
+
if (!Array.isArray(imports) || !imports.length) {
|
|
20
25
|
throw new Error("Worker modules configuration must include at least one import");
|
|
21
26
|
}
|
|
22
27
|
const loaded = [];
|
|
23
28
|
for (const specifier of imports) {
|
|
29
|
+
if (typeof specifier !== "string") {
|
|
30
|
+
throw new Error("Worker modules imports must contain only strings");
|
|
31
|
+
}
|
|
24
32
|
const normalized = await normalizeImport(import(specifier));
|
|
25
33
|
loaded.push(normalized);
|
|
26
34
|
}
|
|
@@ -91,19 +99,39 @@ async function runJob(job) {
|
|
|
91
99
|
throw new Error(`No task handler registered for type: ${job.classification}`);
|
|
92
100
|
}
|
|
93
101
|
const taskLogger = new TaskLogger(workerLogger, job.streamBufferSize, job.maxLoggingBuffer);
|
|
94
|
-
const
|
|
102
|
+
const postLogs = async (entries) => {
|
|
95
103
|
if (!entries.length)
|
|
96
104
|
return;
|
|
97
105
|
post(toLogMessage(job.jobId, entries));
|
|
98
106
|
};
|
|
107
|
+
const normalizePipeArgs = (args) => {
|
|
108
|
+
if (!args.length)
|
|
109
|
+
return [];
|
|
110
|
+
if (args.length === 1) {
|
|
111
|
+
const value = args[0];
|
|
112
|
+
if (!Array.isArray(value) || value.length === 0)
|
|
113
|
+
return [];
|
|
114
|
+
if (Array.isArray(value[0])) {
|
|
115
|
+
return value.filter(Array.isArray);
|
|
116
|
+
}
|
|
117
|
+
return [value];
|
|
118
|
+
}
|
|
119
|
+
const [level, msg, meta] = args;
|
|
120
|
+
if (typeof level !== "string" || typeof msg !== "string")
|
|
121
|
+
return [];
|
|
122
|
+
return [[level, msg, meta]];
|
|
123
|
+
};
|
|
99
124
|
const ctx = TaskEngine.createTaskContext(undefined, {
|
|
100
125
|
logger: taskLogger,
|
|
101
126
|
taskId: job.taskId,
|
|
102
127
|
attempt: job.attempt,
|
|
103
|
-
pipe: async (
|
|
128
|
+
pipe: async (...args) => {
|
|
129
|
+
const normalized = normalizePipeArgs(args);
|
|
130
|
+
await postLogs(normalized);
|
|
131
|
+
},
|
|
104
132
|
flush: async () => {
|
|
105
133
|
const logs = await taskLogger.flush();
|
|
106
|
-
await
|
|
134
|
+
await postLogs(logs);
|
|
107
135
|
},
|
|
108
136
|
progress: async (payload) => {
|
|
109
137
|
post({
|
|
@@ -182,4 +210,4 @@ port.on("message", (message) => {
|
|
|
182
210
|
});
|
|
183
211
|
}
|
|
184
212
|
});
|
|
185
|
-
//# sourceMappingURL=workerThread.js.map
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyVGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dvcmtlcnMvd29ya2VyVGhyZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFzQjtBQUN0QixPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFFTCw0QkFBNEIsR0FFN0IsbUNBQWdDO0FBT2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsNEJBQWlCO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0NBQXVCO0FBQ3pDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsNEJBQWlCO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkNBQXNDO0FBR3JFLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztBQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFDRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUM7QUFFekIsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFdBQXlDLENBQUM7QUFDNUUsTUFBTSxXQUFXLEdBQStCLE1BQU0sQ0FBQyxNQUFNLENBQzNELEVBQUUsRUFDRiw0QkFBNEIsRUFDNUIsY0FBYyxFQUNkO0lBQ0UsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQ3hCLEVBQUUsRUFDRiw0QkFBNEIsQ0FBQyxXQUFXLEVBQ3hDLGNBQWMsRUFBRSxXQUFXLElBQUksRUFBRSxDQUNsQztJQUNELFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUN2QixFQUFFLEVBQ0YsNEJBQTRCLENBQUMsVUFBVSxFQUN2QyxjQUFjLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FD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QUUsV0FBVyxDQUFDLFFBQVE7Z0JBQzlCLEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUN2RCxLQUFLLEVBQUUsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNwRCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL292ZXJyaWRlc1wiO1xuaW1wb3J0IHsgcGFyZW50UG9ydCwgd29ya2VyRGF0YSB9IGZyb20gXCJ3b3JrZXJfdGhyZWFkc1wiO1xuaW1wb3J0IHtcbiAgV29ya1RocmVhZEVudmlyb25tZW50U2hhcGUsXG4gIERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQsXG4gIFdvcmtUaHJlYWRNb2R1bGVzQ29uZmlnLFxufSBmcm9tIFwiLi9Xb3JrVGhyZWFkRW52aXJvbm1lbnRcIjtcbmltcG9ydCB7XG4gIFdvcmtlclRvTWFpbk1lc3NhZ2UsXG4gIE1haW5Ub1dvcmtlck1lc3NhZ2UsXG4gIFdvcmtlckpvYlBheWxvYWQsXG4gIFdvcmtlckxvZ0VudHJ5LFxufSBmcm9tIFwiLi9tZXNzYWdlc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplSW1wb3J0IH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlXCI7XG5pbXBvcnQge1xuICBzZXJpYWxpemVFcnJvcixcbiAgVGFza0VuZ2luZSxcbiAgVGFza0hhbmRsZXJSZWdpc3RyeSxcbiAgVGFza0xvZ2dlcixcbn0gZnJvbSBcIi4uL3Rhc2tzXCI7XG5pbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBUYXNrU3RhdGVDaGFuZ2VFcnJvciB9IGZyb20gXCIuLi90YXNrcy9UYXNrU3RhdGVDaGFuZ2VFcnJvclwiO1xuaW1wb3J0IHsgVGFza0NvbnRleHQgfSBmcm9tIFwiLi4vdGFza3MvVGFza0NvbnRleHRcIjtcblxuY29uc3QgaW5pdGlhbFBvcnQgPSBwYXJlbnRQb3J0O1xuaWYgKCFpbml0aWFsUG9ydCkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJ3b3JrZXJUaHJlYWQudHMgbXVzdCBiZSBydW4gaW5zaWRlIGEgd29ya2VyIHRocmVhZFwiKTtcbn1cbmNvbnN0IHBvcnQgPSBpbml0aWFsUG9ydDtcblxuY29uc3QgcmF3RW52aXJvbm1lbnQgPSB3b3JrZXJEYXRhLmVudmlyb25tZW50IGFzIFdvcmtUaHJlYWRFbnZpcm9ubWVudFNoYXBlO1xuY29uc3QgZW52aXJvbm1lbnQ6IFdvcmtUaHJlYWRFbnZpcm9ubWVudFNoYXBlID0gT2JqZWN0LmFzc2lnbihcbiAge30sXG4gIERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQsXG4gIHJhd0Vudmlyb25tZW50LFxuICB7XG4gICAgcGVyc2lzdGVuY2U6IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQucGVyc2lzdGVuY2UsXG4gICAgICByYXdFbnZpcm9ubWVudD8ucGVyc2lzdGVuY2UgPz8ge31cbiAgICApLFxuICAgIHRhc2tFbmdpbmU6IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIERlZmF1bHRXb3JrVGhyZWFkRW52aXJvbm1lbnQudGFza0VuZ2luZSxcbiAgICAgIHJhd0Vudmlyb25tZW50Py50YXNrRW5naW5lID8/IHt9XG4gICAgKSxcbiAgICBtb2R1bGVzOiBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBEZWZhdWx0V29ya1RocmVhZEVudmlyb25tZW50Lm1vZHVsZXMsXG4gICAgICByYXdFbnZpcm9ubWVudD8ubW9kdWxlcyA/PyB7fVxuICAgICksXG4gIH1cbik7XG5jb25zdCBwZXJzaXN0ZW5jZSA9IGVudmlyb25tZW50LnBlcnNpc3RlbmNlO1xuY29uc3QgbW9kdWxlTG9hZFByb21pc2UgPSBsb2FkTW9kdWxlcyhlbnZpcm9ubWVudC5tb2R1bGVzKTtcblxuYXN5bmMgZnVuY3Rpb24gbG9hZE1vZHVsZXMobW9kdWxlczogV29ya1RocmVhZE1vZHVsZXNDb25maWcpIHtcbiAgY29uc3QgaW1wb3J0cyA9IG1vZHVsZXM/LmltcG9ydHM7XG4gIGlmICghQXJyYXkuaXNBcnJheShpbXBvcnRzKSB8fCAhaW1wb3J0cy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIldvcmtlciBtb2R1bGVzIGNvbmZpZ3VyYXRpb24gbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSBpbXBvcnRcIlxuICAgICk7XG4gIH1cbiAgY29uc3QgbG9hZGVkOiBhbnlbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBpbXBvcnRzKSB7XG4gICAgaWYgKHR5cGVvZiBzcGVjaWZpZXIgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIldvcmtlciBtb2R1bGVzIGltcG9ydHMgbXVzdCBjb250YWluIG9ubHkgc3RyaW5nc1wiKTtcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoc3BlY2lmaWVyKSk7XG4gICAgbG9hZGVkLnB1c2gobm9ybWFsaXplZCk7XG4gIH1cbiAgcmV0dXJuIGxvYWRlZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUFkYXB0ZXIoKTogUHJvbWlzZTxBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT4+IHtcbiAgY29uc3QgbG9hZGVkTW9kdWxlcyA9IGF3YWl0IG1vZHVsZUxvYWRQcm9taXNlO1xuICBpZiAoIWxvYWRlZE1vZHVsZXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGxvYWQgYWRhcHRlciBtb2R1bGUgZm9yIHdvcmtlclwiKTtcbiAgfVxuICBpZiAoXG4gICAgcGVyc2lzdGVuY2UuYWRhcHRlck1vZHVsZSAmJlxuICAgIGVudmlyb25tZW50Lm1vZHVsZXMuaW1wb3J0c1swXSAhPT0gcGVyc2lzdGVuY2UuYWRhcHRlck1vZHVsZVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQWRhcHRlciBtb2R1bGUgbWlzbWF0Y2g6IGV4cGVjdGVkICR7cGVyc2lzdGVuY2UuYWRhcHRlck1vZHVsZX0gYXMgdGhlIGZpcnN0IGltcG9ydGBcbiAgICApO1xuICB9XG4gIGNvbnN0IGFkYXB0ZXJFeHBvcnRzID0gbG9hZGVkTW9kdWxlc1swXTtcbiAgY29uc3QgQWRhcHRlckN0b3IgPSBwZXJzaXN0ZW5jZS5hZGFwdGVyQ2xhc3NcbiAgICA/IChhZGFwdGVyRXhwb3J0cyBhcyBhbnkpW3BlcnNpc3RlbmNlLmFkYXB0ZXJDbGFzc11cbiAgICA6IChhZGFwdGVyRXhwb3J0cyBhcyBhbnkpLmRlZmF1bHQgfHwgYWRhcHRlckV4cG9ydHM7XG4gIGlmICghQWRhcHRlckN0b3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVW5hYmxlIHRvIHJlc29sdmUgYWRhcHRlciBjb25zdHJ1Y3RvciAke3BlcnNpc3RlbmNlLmFkYXB0ZXJDbGFzc30gZnJvbSAke2Vudmlyb25tZW50Lm1vZHVsZXMuaW1wb3J0c1swXX1gXG4gICAgKTtcbiAgfVxuICBjb25zdCBpbnN0YW5jZSA9IG5ldyBBZGFwdGVyQ3RvciguLi4ocGVyc2lzdGVuY2UuYWRhcHRlckFyZ3MgfHwgW10pKTtcbiAgaWYgKHBlcnNpc3RlbmNlLmFsaWFzKSB7XG4gICAgQWRhcHRlci5zZXRDdXJyZW50KHBlcnNpc3RlbmNlLmFsaWFzKTtcbiAgfSBlbHNlIGlmICgoaW5zdGFuY2UgYXMgYW55KS5mbGF2b3VyKSB7XG4gICAgQWRhcHRlci5zZXRDdXJyZW50KChpbnN0YW5jZSBhcyBhbnkpLmZsYXZvdXIpO1xuICB9XG4gIGlmICh0eXBlb2YgKGluc3RhbmNlIGFzIGFueSkuaW5pdGlhbGl6ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgYXdhaXQgKGluc3RhbmNlIGFzIGFueSkuaW5pdGlhbGl6ZSgpO1xuICB9XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cblxubGV0IGFkYXB0ZXJQcm9taXNlOiBQcm9taXNlPEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55Pj4gfCB1bmRlZmluZWQ7XG5jb25zdCByZWdpc3RyeVByb21pc2UgPSBtb2R1bGVMb2FkUHJvbWlzZS50aGVuKCgpID0+IG5ldyBUYXNrSGFuZGxlclJlZ2lzdHJ5KCkpO1xuXG5mdW5jdGlvbiBnZXRBZGFwdGVyKCk6IFByb21pc2U8QWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+PiB7XG4gIGlmICghYWRhcHRlclByb21pc2UpIGFkYXB0ZXJQcm9taXNlID0gcmVzb2x2ZUFkYXB0ZXIoKTtcbiAgcmV0dXJuIGFkYXB0ZXJQcm9taXNlO1xufVxuY29uc3Qgd29ya2VyTG9nZ2VyID0gTG9nZ2luZy5nZXQoKS5mb3IoYFRhc2tXb3JrZXI6JHtlbnZpcm9ubWVudC53b3JrZXJJZH1gKTtcblxuZnVuY3Rpb24gcG9zdChtZXNzYWdlOiBXb3JrZXJUb01haW5NZXNzYWdlKSB7XG4gIHBvcnQucG9zdE1lc3NhZ2UobWVzc2FnZSk7XG59XG5cbmZ1bmN0aW9uIHRvTG9nTWVzc2FnZShcbiAgam9iSWQ6IHN0cmluZyxcbiAgZW50cmllczogV29ya2VyTG9nRW50cnlbXVxuKTogV29ya2VyVG9NYWluTWVzc2FnZSB7XG4gIHJldHVybiB7IHR5cGU6IFwibG9nXCIsIHdvcmtlcklkOiBlbnZpcm9ubWVudC53b3JrZXJJZCwgam9iSWQsIGVudHJpZXMgfTtcbn1cblxuZ2V0QWRhcHRlcigpXG4gIC50aGVuKCgpID0+IHtcbiAgICBwb3N0KHtcbiAgICAgIHR5cGU6IFwicmVhZHlcIixcbiAgICAgIHdvcmtlcklkOiBlbnZpcm9ubWVudC53b3JrZXJJZCxcbiAgICB9KTtcbiAgfSlcbiAgLmNhdGNoKChlcnIpID0+IHtcbiAgICBwb3N0KHtcbiAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgIHdvcmtlcklkOiBlbnZpcm9ubWVudC53b3JrZXJJZCxcbiAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVyciksXG4gICAgICBzdGFjazogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH0pO1xuXG5hc3luYyBmdW5jdGlvbiBydW5Kb2Ioam9iOiBXb3JrZXJKb2JQYXlsb2FkKSB7XG4gIGF3YWl0IGdldEFkYXB0ZXIoKTtcbiAgY29uc3QgcmVnaXN0cnkgPSBhd2FpdCByZWdpc3RyeVByb21pc2U7XG4gIGNvbnN0IGhhbmRsZXIgPSByZWdpc3RyeS5nZXQoam9iLmNsYXNzaWZpY2F0aW9uKTtcbiAgaWYgKCFoYW5kbGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIHRhc2sgaGFuZGxlciByZWdpc3RlcmVkIGZvciB0eXBlOiAke2pvYi5jbGFzc2lmaWNhdGlvbn1gXG4gICAgKTtcbiAgfVxuICBjb25zdCB0YXNrTG9nZ2VyID0gbmV3IFRhc2tMb2dnZXIoXG4gICAgd29ya2VyTG9nZ2VyLFxuICAgIGpvYi5zdHJlYW1CdWZmZXJTaXplLFxuICAgIGpvYi5tYXhMb2dnaW5nQnVmZmVyXG4gICk7XG5cbiAgY29uc3QgcG9zdExvZ3MgPSBhc3luYyAoZW50cmllczogV29ya2VyTG9nRW50cnlbXSkgPT4ge1xuICAgIGlmICghZW50cmllcy5sZW5ndGgpIHJldHVybjtcbiAgICBwb3N0KHRvTG9nTWVzc2FnZShqb2Iuam9iSWQsIGVudHJpZXMpKTtcbiAgfTtcblxuICBjb25zdCBub3JtYWxpemVQaXBlQXJncyA9IChhcmdzOiBhbnlbXSk6IFdvcmtlckxvZ0VudHJ5W10gPT4ge1xuICAgIGlmICghYXJncy5sZW5ndGgpIHJldHVybiBbXTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gYXJnc1swXTtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoID09PSAwKSByZXR1cm4gW107XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZVswXSkpIHtcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBhbnlbXSkuZmlsdGVyKEFycmF5LmlzQXJyYXkpIGFzIFdvcmtlckxvZ0VudHJ5W107XG4gICAgICB9XG4gICAgICByZXR1cm4gW3ZhbHVlIGFzIFdvcmtlckxvZ0VudHJ5XTtcbiAgICB9XG4gICAgY29uc3QgW2xldmVsLCBtc2csIG1ldGFdID0gYXJncztcbiAgICBpZiAodHlwZW9mIGxldmVsICE9PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBtc2cgIT09IFwic3RyaW5nXCIpIHJldHVybiBbXTtcbiAgICByZXR1cm4gW1tsZXZlbCwgbXNnLCBtZXRhXSBhcyBXb3JrZXJMb2dFbnRyeV07XG4gIH07XG5cbiAgY29uc3QgY3R4ID0gVGFza0VuZ2luZS5jcmVhdGVUYXNrQ29udGV4dCh1bmRlZmluZWQsIHtcbiAgICBsb2dnZXI6IHRhc2tMb2dnZXIsXG4gICAgdGFza0lkOiBqb2IudGFza0lkLFxuICAgIGF0dGVtcHQ6IGpvYi5hdHRlbXB0LFxuICAgIHBpcGU6IGFzeW5jICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVBpcGVBcmdzKGFyZ3MpO1xuICAgICAgYXdhaXQgcG9zdExvZ3Mobm9ybWFsaXplZCk7XG4gICAgfSxcbiAgICBmbHVzaDogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbG9ncyA9IGF3YWl0IHRhc2tMb2dnZXIuZmx1c2goKTtcbiAgICAgIGF3YWl0IHBvc3RMb2dzKGxvZ3MgYXMgV29ya2VyTG9nRW50cnlbXSk7XG4gICAgfSxcbiAgICBwcm9ncmVzczogYXN5bmMgKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgcG9zdCh7XG4gICAgICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICAgICAgd29ya2VySWQ6IGVudmlyb25tZW50LndvcmtlcklkLFxuICAgICAgICBqb2JJZDogam9iLmpvYklkLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBoZWFydGJlYXQ6IGFzeW5jICgpID0+IHtcbiAgICAgIHBvc3Qoe1xuICAgICAgICB0eXBlOiBcImhlYXJ0YmVhdFwiLFxuICAgICAgICB3b3JrZXJJZDogZW52aXJvbm1lbnQud29ya2VySWQsXG4gICAgICAgIGpvYklkOiBqb2Iuam9iSWQsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHJlc3VsdENhY2hlOiBqb2IucmVzdWx0Q2FjaGUgPz8ge30sXG4gIH0pIGFzIFRhc2tDb250ZXh0O1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgaGFuZGxlci5ydW4oam9iLmlucHV0LCBjdHgpO1xuICAgIGF3YWl0IGN0eC5mbHVzaCgpO1xuICAgIHBvc3Qoe1xuICAgICAgdHlwZTogXCJyZXN1bHRcIixcbiAgICAgIHdvcmtlcklkOiBlbnZpcm9ubWVudC53b3JrZXJJZCxcbiAgICAgIGpvYklkOiBqb2Iuam9iSWQsXG4gICAgICBzdGF0dXM6IFwic3VjY2Vzc1wiLFxuICAgICAgb3V0cHV0LFxuICAgICAgY2FjaGU6IGN0eC5yZXN1bHRDYWNoZSA/PyB7fSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGF3YWl0IGN0eC5mbHVzaCgpO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFRhc2tTdGF0ZUNoYW5nZUVycm9yKSB7XG4gICAgICBwb3N0KHtcbiAgICAgICAgdHlwZTogXCJyZXN1bHRcIixcbiAgICAgICAgd29ya2VySWQ6IGVudmlyb25tZW50LndvcmtlcklkLFxuICAgICAgICBqb2JJZDogam9iLmpvYklkLFxuICAgICAgICBzdGF0dXM6IFwic3RhdGUtY2hhbmdlXCIsXG4gICAgICAgIHJlcXVlc3Q6IGVycm9yLnJlcXVlc3QsXG4gICAgICAgIGNhY2hlOiBjdHgucmVzdWx0Q2FjaGUgPz8ge30sXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZUVycm9yKGVycm9yKTtcbiAgICBwb3N0KHtcbiAgICAgIHR5cGU6IFwicmVzdWx0XCIsXG4gICAgICB3b3JrZXJJZDogZW52aXJvbm1lbnQud29ya2VySWQsXG4gICAgICBqb2JJZDogam9iLmpvYklkLFxuICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICBlcnJvcjoge1xuICAgICAgICBuYW1lOlxuICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgID8gZXJyb3IubmFtZVxuICAgICAgICAgICAgOiAoc2VyaWFsaXplZCBhcyBhbnkpPy5jb2RlIHx8IFwiRXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogc2VyaWFsaXplZD8ubWVzc2FnZSA/PyBTdHJpbmcoZXJyb3IpLFxuICAgICAgICBzdGFjazogc2VyaWFsaXplZD8uc3RhY2ssXG4gICAgICB9LFxuICAgICAgY2FjaGU6IGN0eC5yZXN1bHRDYWNoZSA/PyB7fSxcbiAgICB9KTtcbiAgfVxufVxuXG5wb3J0Lm9uKFwibWVzc2FnZVwiLCAobWVzc2FnZTogTWFpblRvV29ya2VyTWVzc2FnZSkgPT4ge1xuICBpZiAobWVzc2FnZS50eXBlID09PSBcImNvbnRyb2xcIikge1xuICAgIGlmIChtZXNzYWdlLmNvbW1hbmQgPT09IFwic3RvcFwiIHx8IG1lc3NhZ2UuY29tbWFuZCA9PT0gXCJzaHV0ZG93blwiKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBpZiAobWVzc2FnZS50eXBlID09PSBcImV4ZWN1dGVcIikge1xuICAgIHZvaWQgcnVuSm9iKG1lc3NhZ2Uuam9iKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICBwb3N0KHtcbiAgICAgICAgdHlwZTogXCJlcnJvclwiLFxuICAgICAgICB3b3JrZXJJZDogZW52aXJvbm1lbnQud29ya2VySWQsXG4gICAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVyciksXG4gICAgICAgIHN0YWNrOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5zdGFjayA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59KTtcbiJdfQ==
|