@tilde-nlp/ngx-translate 1.0.0
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 +2 -0
- package/esm2020/lib/components/shared/extension-dialog/components/index.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +24 -0
- package/esm2020/lib/components/shared/extension-dialog/extension-dialog.component.mjs +133 -0
- package/esm2020/lib/components/shared/extension-dialog/extension-dialog.module.mjs +51 -0
- package/esm2020/lib/components/shared/extension-dialog/index.mjs +6 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-categories.enum.mjs +9 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.mjs +35 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.mjs +13 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-types.enum.mjs +13 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/index.mjs +5 -0
- package/esm2020/lib/components/shared/extension-dialog/models/index.mjs +3 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/config.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/index.mjs +3 -0
- package/esm2020/lib/components/shared/extension-dialog/services/extension-dialog.service.mjs +22 -0
- package/esm2020/lib/components/shared/extension-dialog/services/index.mjs +2 -0
- package/esm2020/lib/components/shared/text-to-speech/index.mjs +3 -0
- package/esm2020/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.mjs +2 -0
- package/esm2020/lib/components/shared/text-to-speech/text-to-speech.component.mjs +62 -0
- package/esm2020/lib/components/shared/text-to-speech/text-to-speech.module.mjs +36 -0
- package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.mjs +39 -0
- package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.mjs +28 -0
- package/esm2020/lib/factories/file-api-service.factory.mjs +12 -0
- package/esm2020/lib/factories/system-service.factory.mjs +12 -0
- package/esm2020/lib/factories/text-api-service.factory.mjs +12 -0
- package/esm2020/lib/i18n/available-languages.mjs +19 -0
- package/esm2020/lib/i18n/de.mjs +378 -0
- package/esm2020/lib/i18n/en.mjs +426 -0
- package/esm2020/lib/i18n/et.mjs +378 -0
- package/esm2020/lib/i18n/fi.mjs +383 -0
- package/esm2020/lib/i18n/lt.mjs +378 -0
- package/esm2020/lib/i18n/lv.mjs +391 -0
- package/esm2020/lib/i18n/models/available-languages.model.mjs +2 -0
- package/esm2020/lib/i18n/pl.mjs +378 -0
- package/esm2020/lib/i18n/sv.mjs +242 -0
- package/esm2020/lib/injection-tokens/file-api-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/index.mjs +6 -0
- package/esm2020/lib/injection-tokens/system-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/text-api-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/tld-translate-config.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/translation-api-version.token.mjs +2 -0
- package/esm2020/lib/modules/material.module.mjs +97 -0
- package/esm2020/lib/modules/tld-audio/index.mjs +4 -0
- package/esm2020/lib/modules/tld-audio/models/audio-error-case.model.mjs +13 -0
- package/esm2020/lib/modules/tld-audio/models/dictate-configurationi.model.mjs +2 -0
- package/esm2020/lib/modules/tld-audio/models/index.mjs +3 -0
- package/esm2020/lib/modules/tld-audio/models/transcription-update.model.mjs +2 -0
- package/esm2020/lib/modules/tld-audio/services/audio-record.service.mjs +116 -0
- package/esm2020/lib/modules/tld-audio/services/index.mjs +4 -0
- package/esm2020/lib/modules/tld-audio/services/tld-voice-input-api.service.mjs +48 -0
- package/esm2020/lib/modules/tld-audio/services/tld-voice-input.service.mjs +60 -0
- package/esm2020/lib/modules/tld-audio/tld-audio.module.mjs +41 -0
- package/esm2020/lib/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +151 -0
- package/esm2020/lib/modules/tld-audio/tld-record/tld-record.component.mjs +87 -0
- package/esm2020/lib/modules/tld-common/animations/pulse.animation.mjs +11 -0
- package/esm2020/lib/modules/tld-common/components/index.mjs +10 -0
- package/esm2020/lib/modules/tld-common/components/open-close-button/open-close-button.component.mjs +41 -0
- package/esm2020/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.mjs +44 -0
- package/esm2020/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.mjs +103 -0
- package/esm2020/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.mjs +193 -0
- package/esm2020/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.mjs +60 -0
- package/esm2020/lib/modules/tld-common/components/tld-loader/tld-loader.component.mjs +12 -0
- package/esm2020/lib/modules/tld-common/components/tld-message/tld-message.component.mjs +49 -0
- package/esm2020/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.mjs +17 -0
- package/esm2020/lib/modules/tld-common/components/translate-button/tld-translate-button.service.mjs +30 -0
- package/esm2020/lib/modules/tld-common/components/translate-button/translate-button.component.mjs +59 -0
- package/esm2020/lib/modules/tld-common/directives/drag-and-drop.directive.mjs +57 -0
- package/esm2020/lib/modules/tld-common/directives/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/auth-options.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/common.mjs +107 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-audio-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-core-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-file-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-web-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/core/index.mjs +3 -0
- package/esm2020/lib/modules/tld-common/models/core/language-menu-version.enum.mjs +6 -0
- package/esm2020/lib/modules/tld-common/models/core/translation-api-version.model.mjs +6 -0
- package/esm2020/lib/modules/tld-common/models/errors/error-codes.enum.mjs +27 -0
- package/esm2020/lib/modules/tld-common/models/errors/error-codes.type.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/errors/error.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/file-upload.model.mjs +10 -0
- package/esm2020/lib/modules/tld-common/models/index.mjs +22 -0
- package/esm2020/lib/modules/tld-common/models/lang-list-item.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/language-with-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/message.model.mjs +7 -0
- package/esm2020/lib/modules/tld-common/models/selected-language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/download-file-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-meta.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.mjs +9 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/remove-file-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/index.mjs +19 -0
- package/esm2020/lib/modules/tld-common/models/services/system/system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/system/tld-system-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.mjs +7 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/pipes/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/pipes/translate-domain.pipe.mjs +27 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icon.service.mjs +30 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.mjs +22 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/index.mjs +10 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.mjs +12 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.mjs +10 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.mjs +11 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons.mjs +52 -0
- package/esm2020/lib/modules/tld-common/services/index.mjs +5 -0
- package/esm2020/lib/modules/tld-common/services/scroll/tld-scroll.service.mjs +43 -0
- package/esm2020/lib/modules/tld-common/services/tld-alert.service.mjs +139 -0
- package/esm2020/lib/modules/tld-common/services/tld-highlight.service.mjs +25 -0
- package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +226 -0
- package/esm2020/lib/modules/tld-common/services/wtw-link-params.service.mjs +33 -0
- package/esm2020/lib/modules/tld-common/tld-common.module.mjs +97 -0
- package/esm2020/lib/modules/tld-document/download-button/download-button.component.mjs +78 -0
- package/esm2020/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.mjs +32 -0
- package/esm2020/lib/modules/tld-document/index.mjs +8 -0
- package/esm2020/lib/modules/tld-document/models/file-conversion-types.model.mjs +6 -0
- package/esm2020/lib/modules/tld-document/models/index.mjs +6 -0
- package/esm2020/lib/modules/tld-document/models/start-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/models/translate-file.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/models/translation-statuss.model.mjs +15 -0
- package/esm2020/lib/modules/tld-document/models/upload-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.mjs +32 -0
- package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +166 -0
- package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/file-api-v2.service.mjs +87 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.mjs +6 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/index.mjs +3 -0
- package/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +398 -0
- package/esm2020/lib/modules/tld-document/tld-document.module.mjs +70 -0
- package/esm2020/lib/modules/tld-document/tld-file-translate-base.component.mjs +76 -0
- package/esm2020/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +94 -0
- package/esm2020/lib/modules/tld-term/index.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +9 -0
- package/esm2020/lib/modules/tld-term/models/index.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +114 -0
- package/esm2020/lib/modules/tld-term/services/index.mjs +4 -0
- package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +33 -0
- package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +34 -0
- package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +253 -0
- package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +19 -0
- package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +99 -0
- package/esm2020/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.mjs +47 -0
- package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +36 -0
- package/esm2020/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.mjs +35 -0
- package/esm2020/lib/modules/tld-term/tld-term.module.mjs +67 -0
- package/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +109 -0
- package/esm2020/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.mjs +35 -0
- package/esm2020/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.mjs +153 -0
- package/esm2020/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.mjs +56 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.mjs +60 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.mjs +92 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.mjs +60 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +272 -0
- package/esm2020/lib/modules/tld-text/index.mjs +9 -0
- package/esm2020/lib/modules/tld-text/models/check-grammar-response-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/dictionary.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/get-sentence-v1-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-base.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-meta.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-replacement.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-correction-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/highlight-params.model.mjs +11 -0
- package/esm2020/lib/modules/tld-text/models/highlight-tree-type.model.mjs +12 -0
- package/esm2020/lib/modules/tld-text/models/highlight-tree.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/highlight.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/index.mjs +11 -0
- package/esm2020/lib/modules/tld-text/models/retranslate-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/source-text-changed.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v1.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/untranslated-paragraph.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +187 -0
- package/esm2020/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.mjs +110 -0
- package/esm2020/lib/modules/tld-text/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/services/tld-translate-text.service.mjs +380 -0
- package/esm2020/lib/modules/tld-text/tld-text.module.mjs +95 -0
- package/esm2020/lib/modules/tld-text/utils/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/models/existing-paragraph-info.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/models/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/tld-translate-text.utils.mjs +56 -0
- package/esm2020/lib/modules/tld-tooltip/index.mjs +5 -0
- package/esm2020/lib/modules/tld-tooltip/models/active-data.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/domain.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/index.mjs +5 -0
- package/esm2020/lib/modules/tld-tooltip/models/switcher-options.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/system-metadata-keys.model.mjs +7 -0
- package/esm2020/lib/modules/tld-tooltip/models/vendor.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/description.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/metadata.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/name.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/tld-system-api.service.mjs +57 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/error.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +60 -0
- package/esm2020/lib/modules/tld-tooltip/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/tld-system.service.mjs +302 -0
- package/esm2020/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.mjs +69 -0
- package/esm2020/lib/modules/tld-tooltip/tld-tooltip.module.mjs +95 -0
- package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs +188 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.mjs +179 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +209 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +48 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/index.mjs +8 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +31 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.mjs +3 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/index.mjs +6 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.mjs +7 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.mjs +58 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.mjs +31 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.mjs +27 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +79 -0
- package/esm2020/lib/modules/tld-translate-file/tld-translate-file.component.mjs +65 -0
- package/esm2020/lib/modules/tld-web/index.mjs +3 -0
- package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +499 -0
- package/esm2020/lib/modules/tld-web/tld-translate-web.service.mjs +16 -0
- package/esm2020/lib/modules/tld-web/tld-web.module.mjs +52 -0
- package/esm2020/lib/tld-translate-body/tld-translate-body.component.mjs +60 -0
- package/esm2020/lib/tld-translate.component.mjs +229 -0
- package/esm2020/lib/tld-translate.module.mjs +118 -0
- package/esm2020/public-api.mjs +43 -0
- package/esm2020/tilde-nlp-ngx-translate.mjs +5 -0
- package/fesm2015/tilde-nlp-ngx-translate.mjs +11019 -0
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -0
- package/fesm2020/tilde-nlp-ngx-translate.mjs +10912 -0
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/shared/extension-dialog/components/index.d.ts +1 -0
- package/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.d.ts +12 -0
- package/lib/components/shared/extension-dialog/extension-dialog.component.d.ts +15 -0
- package/lib/components/shared/extension-dialog/extension-dialog.module.d.ts +15 -0
- package/lib/components/shared/extension-dialog/index.d.ts +5 -0
- package/lib/components/shared/extension-dialog/models/enums/file-categories.enum.d.ts +7 -0
- package/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.d.ts +33 -0
- package/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.d.ts +11 -0
- package/lib/components/shared/extension-dialog/models/enums/file-types.enum.d.ts +11 -0
- package/lib/components/shared/extension-dialog/models/enums/index.d.ts +4 -0
- package/lib/components/shared/extension-dialog/models/index.d.ts +2 -0
- package/lib/components/shared/extension-dialog/models/interfaces/config.d.ts +18 -0
- package/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.d.ts +3 -0
- package/lib/components/shared/extension-dialog/models/interfaces/index.d.ts +2 -0
- package/lib/components/shared/extension-dialog/services/extension-dialog.service.d.ts +9 -0
- package/lib/components/shared/extension-dialog/services/index.d.ts +1 -0
- package/lib/components/shared/text-to-speech/index.d.ts +2 -0
- package/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.d.ts +23 -0
- package/lib/components/shared/text-to-speech/text-to-speech.component.d.ts +18 -0
- package/lib/components/shared/text-to-speech/text-to-speech.module.d.ts +11 -0
- package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.d.ts +17 -0
- package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.d.ts +9 -0
- package/lib/factories/file-api-service.factory.d.ts +7 -0
- package/lib/factories/system-service.factory.d.ts +6 -0
- package/lib/factories/text-api-service.factory.d.ts +6 -0
- package/lib/i18n/available-languages.d.ts +2 -0
- package/lib/i18n/de.d.ts +377 -0
- package/lib/i18n/en.d.ts +425 -0
- package/lib/i18n/et.d.ts +377 -0
- package/lib/i18n/fi.d.ts +382 -0
- package/lib/i18n/lt.d.ts +377 -0
- package/lib/i18n/lv.d.ts +390 -0
- package/lib/i18n/models/available-languages.model.d.ts +10 -0
- package/lib/i18n/pl.d.ts +377 -0
- package/lib/i18n/sv.d.ts +241 -0
- package/lib/injection-tokens/file-api-service.token.d.ts +1 -0
- package/lib/injection-tokens/index.d.ts +5 -0
- package/lib/injection-tokens/system-service.token.d.ts +1 -0
- package/lib/injection-tokens/text-api-service.token.d.ts +1 -0
- package/lib/injection-tokens/tld-translate-config.token.d.ts +1 -0
- package/lib/injection-tokens/translation-api-version.token.d.ts +1 -0
- package/lib/modules/material.module.d.ts +27 -0
- package/lib/modules/tld-audio/index.d.ts +3 -0
- package/lib/modules/tld-audio/models/audio-error-case.model.d.ts +11 -0
- package/lib/modules/tld-audio/models/dictate-configurationi.model.d.ts +6 -0
- package/lib/modules/tld-audio/models/index.d.ts +2 -0
- package/lib/modules/tld-audio/models/transcription-update.model.d.ts +4 -0
- package/lib/modules/tld-audio/services/audio-record.service.d.ts +35 -0
- package/lib/modules/tld-audio/services/index.d.ts +3 -0
- package/lib/modules/tld-audio/services/tld-voice-input-api.service.d.ts +16 -0
- package/lib/modules/tld-audio/services/tld-voice-input.service.d.ts +20 -0
- package/lib/modules/tld-audio/tld-audio.module.d.ts +14 -0
- package/lib/modules/tld-audio/tld-dictate/tld-dictate.component.d.ts +43 -0
- package/lib/modules/tld-audio/tld-record/tld-record.component.d.ts +32 -0
- package/lib/modules/tld-common/animations/pulse.animation.d.ts +1 -0
- package/lib/modules/tld-common/components/index.d.ts +9 -0
- package/lib/modules/tld-common/components/open-close-button/open-close-button.component.d.ts +15 -0
- package/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.d.ts +19 -0
- package/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.d.ts +28 -0
- package/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.d.ts +52 -0
- package/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.d.ts +24 -0
- package/lib/modules/tld-common/components/tld-loader/tld-loader.component.d.ts +5 -0
- package/lib/modules/tld-common/components/tld-message/tld-message.component.d.ts +18 -0
- package/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.d.ts +6 -0
- package/lib/modules/tld-common/components/translate-button/tld-translate-button.service.d.ts +12 -0
- package/lib/modules/tld-common/components/translate-button/translate-button.component.d.ts +22 -0
- package/lib/modules/tld-common/directives/drag-and-drop.directive.d.ts +14 -0
- package/lib/modules/tld-common/directives/index.d.ts +1 -0
- package/lib/modules/tld-common/index.d.ts +1 -0
- package/lib/modules/tld-common/models/auth-options.model.d.ts +4 -0
- package/lib/modules/tld-common/models/common.d.ts +28 -0
- package/lib/modules/tld-common/models/configs/tld-audio-config.model.d.ts +22 -0
- package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +27 -0
- package/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.d.ts +11 -0
- package/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.d.ts +11 -0
- package/lib/modules/tld-common/models/configs/tld-translate-config.model.d.ts +18 -0
- package/lib/modules/tld-common/models/configs/tld-translate-core-config.model.d.ts +42 -0
- package/lib/modules/tld-common/models/configs/tld-translate-file-config.model.d.ts +25 -0
- package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +39 -0
- package/lib/modules/tld-common/models/configs/tld-translate-web-config.model.d.ts +10 -0
- package/lib/modules/tld-common/models/core/index.d.ts +2 -0
- package/lib/modules/tld-common/models/core/language-menu-version.enum.d.ts +4 -0
- package/lib/modules/tld-common/models/core/translation-api-version.model.d.ts +4 -0
- package/lib/modules/tld-common/models/errors/error-codes.enum.d.ts +21 -0
- package/lib/modules/tld-common/models/errors/error-codes.type.d.ts +4 -0
- package/lib/modules/tld-common/models/errors/error.model.d.ts +3 -0
- package/lib/modules/tld-common/models/file-upload.model.d.ts +13 -0
- package/lib/modules/tld-common/models/index.d.ts +21 -0
- package/lib/modules/tld-common/models/lang-list-item.model.d.ts +6 -0
- package/lib/modules/tld-common/models/language-with-translation.model.d.ts +6 -0
- package/lib/modules/tld-common/models/message.model.d.ts +11 -0
- package/lib/modules/tld-common/models/selected-language.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/file-api/download-file-params.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/file-api/file-api-service.model.d.ts +17 -0
- package/lib/modules/tld-common/models/services/file-api/file-meta.model.d.ts +8 -0
- package/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.d.ts +7 -0
- package/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.d.ts +13 -0
- package/lib/modules/tld-common/models/services/file-api/remove-file-params.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.d.ts +8 -0
- package/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/index.d.ts +18 -0
- package/lib/modules/tld-common/models/services/system/system.model.d.ts +17 -0
- package/lib/modules/tld-common/models/services/system/tld-system-api-service.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.d.ts +26 -0
- package/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.d.ts +21 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.d.ts +7 -0
- package/lib/modules/tld-common/pipes/index.d.ts +1 -0
- package/lib/modules/tld-common/pipes/translate-domain.pipe.d.ts +13 -0
- package/lib/modules/tld-common/services/icon-service/icon.service.d.ts +12 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/index.d.ts +9 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons.d.ts +3 -0
- package/lib/modules/tld-common/services/index.d.ts +4 -0
- package/lib/modules/tld-common/services/scroll/tld-scroll.service.d.ts +12 -0
- package/lib/modules/tld-common/services/tld-alert.service.d.ts +33 -0
- package/lib/modules/tld-common/services/tld-highlight.service.d.ts +14 -0
- package/lib/modules/tld-common/services/tld-translate-config.service.d.ts +39 -0
- package/lib/modules/tld-common/services/wtw-link-params.service.d.ts +13 -0
- package/lib/modules/tld-common/tld-common.module.d.ts +23 -0
- package/lib/modules/tld-document/download-button/download-button.component.d.ts +30 -0
- package/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.d.ts +21 -0
- package/lib/modules/tld-document/index.d.ts +7 -0
- package/lib/modules/tld-document/models/file-conversion-types.model.d.ts +4 -0
- package/lib/modules/tld-document/models/index.d.ts +5 -0
- package/lib/modules/tld-document/models/start-translation.model.d.ts +16 -0
- package/lib/modules/tld-document/models/translate-file.model.d.ts +33 -0
- package/lib/modules/tld-document/models/translation-statuss.model.d.ts +12 -0
- package/lib/modules/tld-document/models/upload-response.model.d.ts +8 -0
- package/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.d.ts +21 -0
- package/lib/modules/tld-document/services/api/file-api.service.d.ts +26 -0
- package/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.d.ts +6 -0
- package/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.d.ts +8 -0
- package/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.d.ts +11 -0
- package/lib/modules/tld-document/services/api-v2/file-api-v2.service.d.ts +22 -0
- package/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.d.ts +4 -0
- package/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.d.ts +20 -0
- package/lib/modules/tld-document/services/index.d.ts +2 -0
- package/lib/modules/tld-document/services/tld-translate-file.service.d.ts +60 -0
- package/lib/modules/tld-document/tld-document.module.d.ts +19 -0
- package/lib/modules/tld-document/tld-file-translate-base.component.d.ts +29 -0
- package/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.d.ts +40 -0
- package/lib/modules/tld-term/index.d.ts +6 -0
- package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +5 -0
- package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +7 -0
- package/lib/modules/tld-term/models/index.d.ts +6 -0
- package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +15 -0
- package/lib/modules/tld-term/models/mt-collection-status.model.d.ts +5 -0
- package/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.d.ts +11 -0
- package/lib/modules/tld-term/models/term-api/tld-term-collection.model.d.ts +46 -0
- package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +43 -0
- package/lib/modules/tld-term/services/index.d.ts +3 -0
- package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +13 -0
- package/lib/modules/tld-term/services/term-api.service.d.ts +15 -0
- package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +57 -0
- package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +9 -0
- package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +39 -0
- package/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.d.ts +20 -0
- package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +13 -0
- package/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.d.ts +17 -0
- package/lib/modules/tld-term/tld-term.module.d.ts +22 -0
- package/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.d.ts +27 -0
- package/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.d.ts +20 -0
- package/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.d.ts +40 -0
- package/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.d.ts +24 -0
- package/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.d.ts +36 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.d.ts +11 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.d.ts +33 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.d.ts +24 -0
- package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +104 -0
- package/lib/modules/tld-text/index.d.ts +8 -0
- package/lib/modules/tld-text/models/check-grammar-response-v2.model.d.ts +4 -0
- package/lib/modules/tld-text/models/dictionary.model.d.ts +28 -0
- package/lib/modules/tld-text/models/get-sentence-v1-response.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-check-base.model.d.ts +6 -0
- package/lib/modules/tld-text/models/grammar-check-meta.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-check-replacement.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-correction-v2.model.d.ts +9 -0
- package/lib/modules/tld-text/models/highlight-params.model.d.ts +10 -0
- package/lib/modules/tld-text/models/highlight-tree-type.model.d.ts +10 -0
- package/lib/modules/tld-text/models/highlight-tree.model.d.ts +22 -0
- package/lib/modules/tld-text/models/highlight.model.d.ts +10 -0
- package/lib/modules/tld-text/models/index.d.ts +10 -0
- package/lib/modules/tld-text/models/retranslate-params.model.d.ts +4 -0
- package/lib/modules/tld-text/models/source-text-changed.model.d.ts +6 -0
- package/lib/modules/tld-text/models/translate-paragraph-params.model.d.ts +6 -0
- package/lib/modules/tld-text/models/translate-paragraph-response-v1.model.d.ts +15 -0
- package/lib/modules/tld-text/models/translate-paragraph-response-v2.model.d.ts +9 -0
- package/lib/modules/tld-text/models/translate-paragraph-response.model.d.ts +7 -0
- package/lib/modules/tld-text/models/untranslated-paragraph.model.d.ts +4 -0
- package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +24 -0
- package/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.d.ts +17 -0
- package/lib/modules/tld-text/services/index.d.ts +1 -0
- package/lib/modules/tld-text/services/tld-translate-text.service.d.ts +104 -0
- package/lib/modules/tld-text/tld-text.module.d.ts +27 -0
- package/lib/modules/tld-text/utils/index.d.ts +1 -0
- package/lib/modules/tld-text/utils/models/existing-paragraph-info.model.d.ts +5 -0
- package/lib/modules/tld-text/utils/models/index.d.ts +1 -0
- package/lib/modules/tld-text/utils/tld-translate-text.utils.d.ts +9 -0
- package/lib/modules/tld-tooltip/index.d.ts +4 -0
- package/lib/modules/tld-tooltip/models/active-data.model.d.ts +24 -0
- package/lib/modules/tld-tooltip/models/domain.model.d.ts +8 -0
- package/lib/modules/tld-tooltip/models/index.d.ts +4 -0
- package/lib/modules/tld-tooltip/models/switcher-options.model.d.ts +14 -0
- package/lib/modules/tld-tooltip/models/system-metadata-keys.model.d.ts +5 -0
- package/lib/modules/tld-tooltip/models/vendor.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/description.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/language.model.d.ts +5 -0
- package/lib/modules/tld-tooltip/services/api/models/metadata.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/name.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/system.model.d.ts +14 -0
- package/lib/modules/tld-tooltip/services/api/tld-system-api.service.d.ts +15 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/error.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.d.ts +6 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.d.ts +7 -0
- package/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.d.ts +15 -0
- package/lib/modules/tld-tooltip/services/index.d.ts +1 -0
- package/lib/modules/tld-tooltip/services/tld-system.service.d.ts +57 -0
- package/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.d.ts +33 -0
- package/lib/modules/tld-tooltip/tld-tooltip.module.d.ts +25 -0
- package/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.d.ts +64 -0
- package/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.d.ts +44 -0
- package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +65 -0
- package/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.d.ts +17 -0
- package/lib/modules/tld-tooltip/translation-system-picker/index.d.ts +7 -0
- package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +14 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.d.ts +11 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.d.ts +8 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/index.d.ts +5 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.d.ts +5 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/translation-system-picker/services/index.d.ts +1 -0
- package/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.d.ts +24 -0
- package/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.d.ts +13 -0
- package/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.d.ts +10 -0
- package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +34 -0
- package/lib/modules/tld-translate-file/tld-translate-file.component.d.ts +37 -0
- package/lib/modules/tld-web/index.d.ts +2 -0
- package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +85 -0
- package/lib/modules/tld-web/tld-translate-web.service.d.ts +7 -0
- package/lib/modules/tld-web/tld-web.module.d.ts +14 -0
- package/lib/tld-translate-body/tld-translate-body.component.d.ts +23 -0
- package/lib/tld-translate.component.d.ts +65 -0
- package/lib/tld-translate.module.d.ts +23 -0
- package/package.json +40 -0
- package/public-api.d.ts +28 -0
- package/src/assets/webcomponent/styles.css +1 -0
- package/src/assets/webcomponent/tld-translate.js +3 -0
- package/src/assets/webtranslate/page-translate-widget.js +4934 -0
- package/src/assets/webtranslate/remove.png +0 -0
- package/src/assets/webtranslate/tilde_logo.png +0 -0
- package/src/assets/webtranslate/translate-website.js +393 -0
- package/src/assets/webtranslate/widget.css +139 -0
- package/src/styles/colors.scss +15 -0
- package/src/styles/fonts.scss +3 -0
- package/src/styles/mixin/border-default.scss +10 -0
- package/src/styles/mixin/tld-translate-accent-colors.scss +46 -0
- package/src/styles/mixin/tld-translate-colors.scss +7 -0
- package/src/styles/mixin/tld-translate-placeholders.scss +5 -0
- package/src/styles/mixin/tld-translate-primary-colors.scss +5 -0
- package/src/styles/styles.scss +377 -0
- package/src/styles/translator-borders.scss +28 -0
- package/tilde-nlp-ngx-translate-1.0.0.tgz +0 -0
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import * as $ from 'jquery';
|
|
4
|
+
import { NotificationMessageType } from '@tilde-nlp/ngx-common';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { TRANSLATION_API_VERSION_TOKEN } from '../../../injection-tokens';
|
|
8
|
+
import { TldMessageType, TranslationApiVersion } from '../../tld-common/models';
|
|
9
|
+
import { availableLanguages } from './../../../i18n/available-languages';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
import * as i2 from "../../tld-common/services";
|
|
13
|
+
import * as i3 from "../../tld-common/components/translate-button/tld-translate-button.service";
|
|
14
|
+
import * as i4 from "@angular/router";
|
|
15
|
+
import * as i5 from "../../tld-tooltip/services/tld-system.service";
|
|
16
|
+
import * as i6 from "../../tld-term/services";
|
|
17
|
+
import * as i7 from "../tld-translate-web.service";
|
|
18
|
+
import * as i8 from "@angular/common";
|
|
19
|
+
import * as i9 from "../../tld-tooltip/tld-translate-switcher/tld-translate-switcher.component";
|
|
20
|
+
import * as i10 from "../../tld-common/components/translate-button/translate-button.component";
|
|
21
|
+
import * as i11 from "@angular/material/button";
|
|
22
|
+
import * as i12 from "@angular/material/icon";
|
|
23
|
+
import * as i13 from "@angular/material/progress-bar";
|
|
24
|
+
import * as i14 from "@angular/flex-layout/flex";
|
|
25
|
+
import * as i15 from "@angular/flex-layout/extended";
|
|
26
|
+
import * as i16 from "@angular/forms";
|
|
27
|
+
import * as i17 from "@tilde-nlp/ngx-common";
|
|
28
|
+
import * as i18 from "../../tld-common/models";
|
|
29
|
+
window.$ = window.jQuery = $;
|
|
30
|
+
export class TldTranslateWebsiteComponent {
|
|
31
|
+
constructor(translate, configService, translateButtonService, alerts, router, activatedRoute, tldSystem, collectionService, tldTranslateWebService, iconService, apiVersion) {
|
|
32
|
+
this.translate = translate;
|
|
33
|
+
this.configService = configService;
|
|
34
|
+
this.translateButtonService = translateButtonService;
|
|
35
|
+
this.alerts = alerts;
|
|
36
|
+
this.router = router;
|
|
37
|
+
this.activatedRoute = activatedRoute;
|
|
38
|
+
this.tldSystem = tldSystem;
|
|
39
|
+
this.collectionService = collectionService;
|
|
40
|
+
this.tldTranslateWebService = tldTranslateWebService;
|
|
41
|
+
this.apiVersion = apiVersion;
|
|
42
|
+
this.product = '';
|
|
43
|
+
this.company = '';
|
|
44
|
+
this.urlToTranslate = ''; // translateWeb_Url
|
|
45
|
+
this.showCancel = false;
|
|
46
|
+
this.showRestore = false;
|
|
47
|
+
this.showTranslateBtn = true;
|
|
48
|
+
this.translating = false;
|
|
49
|
+
this.disableButton = false; // actionButtonDisabled
|
|
50
|
+
this.onError = new EventEmitter();
|
|
51
|
+
this.messages = [];
|
|
52
|
+
//Progress bar
|
|
53
|
+
this.mode = 'determinate';
|
|
54
|
+
this.progressValue = 0;
|
|
55
|
+
this.showProgress = false;
|
|
56
|
+
this.noSystemsError = { text: 'TLD_TRANSLATE.ERROR_NO_SYSTEMS_LOADED', type: TldMessageType.ERROR };
|
|
57
|
+
this.useParentWidth = true;
|
|
58
|
+
this.destroy$ = new Subject();
|
|
59
|
+
iconService.registerIcons();
|
|
60
|
+
}
|
|
61
|
+
get showNoSystemsError() {
|
|
62
|
+
return this.tldSystem.noSystemsError;
|
|
63
|
+
}
|
|
64
|
+
get actionButtonDisabled() { return this.disableButton; }
|
|
65
|
+
get hideLangMenuLabels() {
|
|
66
|
+
return this.configService?.coreConfig.hideLangMenuLabels;
|
|
67
|
+
}
|
|
68
|
+
get maxDisplayedLanguages() {
|
|
69
|
+
return this.configService.coreConfig.maxDisplayedLanguages;
|
|
70
|
+
}
|
|
71
|
+
get isCollectionsActivated() {
|
|
72
|
+
return this.configService?.termConfig?.isCollectionsActivated;
|
|
73
|
+
}
|
|
74
|
+
get showDomainsWithLanguageName() {
|
|
75
|
+
return this.configService.coreConfig.showDomainsWithLanguageName;
|
|
76
|
+
}
|
|
77
|
+
get sandbox() { return this.configService.webtranslateConfig.sandbox; }
|
|
78
|
+
changeAuth(isAuth) {
|
|
79
|
+
this.configService.coreConfig.isAuth = isAuth;
|
|
80
|
+
this.initializeWidget();
|
|
81
|
+
}
|
|
82
|
+
initializeWidget() {
|
|
83
|
+
this.tldSystem.init(this.tldSystem.getLastUsedSystem() ?? this.configService.coreConfig.defaultSystemId);
|
|
84
|
+
}
|
|
85
|
+
ngOnInit() {
|
|
86
|
+
if (this.configService.coreConfig.debug) {
|
|
87
|
+
for (const key in availableLanguages) {
|
|
88
|
+
this.translate.setTranslation(key, availableLanguages[key], true);
|
|
89
|
+
}
|
|
90
|
+
this.configService.coreConfig.isAuth = true;
|
|
91
|
+
this.translate.use("en");
|
|
92
|
+
}
|
|
93
|
+
this.initFromConfig();
|
|
94
|
+
this.initializeWidget();
|
|
95
|
+
this.tldSystem.getActiveData().pipe(distinctUntilChanged(), takeUntil(this.destroy$))
|
|
96
|
+
.subscribe((val) => {
|
|
97
|
+
this.activeSystemObj = val;
|
|
98
|
+
if (!val) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.switcherOptions = {
|
|
102
|
+
domains: val.domains,
|
|
103
|
+
source: { code: val.sourceLang.lang, systemId: val.systemId },
|
|
104
|
+
sourceLanguageList: val.sourceLangList,
|
|
105
|
+
systemId: val.systemId,
|
|
106
|
+
swapActive: val.swapLangActive,
|
|
107
|
+
target: { code: val.targetLang.lang, systemId: val.systemId },
|
|
108
|
+
targetLanguageList: val.targetLangList,
|
|
109
|
+
vendors: val.vendors
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
this.translateButtonService.getActionClick().pipe(takeUntil(this.destroy$))
|
|
113
|
+
.subscribe(() => {
|
|
114
|
+
this.translateButtonClick();
|
|
115
|
+
});
|
|
116
|
+
this.alerts.getMessages().pipe(takeUntil(this.destroy$))
|
|
117
|
+
.subscribe((message) => {
|
|
118
|
+
if (message.type === NotificationMessageType.ERROR) {
|
|
119
|
+
this.onError.emit(message.error);
|
|
120
|
+
}
|
|
121
|
+
// pushing only "one of" message in array, so screen is not spammed with messages
|
|
122
|
+
const existingMessage = this.messages.find(msg => msg.body === message.body && msg.type === message.type && msg.title === message.title);
|
|
123
|
+
if (!existingMessage) {
|
|
124
|
+
this.messages.push(message);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
this.translate.get('APP_NAME').pipe(takeUntil(this.destroy$))
|
|
128
|
+
.subscribe((text) => {
|
|
129
|
+
this.configService.coreConfig.appName = text;
|
|
130
|
+
});
|
|
131
|
+
window.onmessage = this.receiveMessage.bind(this);
|
|
132
|
+
}
|
|
133
|
+
ngAfterViewInit() {
|
|
134
|
+
if (!this.tldTranslateWebService.wtScriptsAdded) {
|
|
135
|
+
this.addScript('./assets/webtranslate/translate-website.js');
|
|
136
|
+
this.addConfigurationScrip();
|
|
137
|
+
this.addScript('./assets/webtranslate/page-translate-widget.js');
|
|
138
|
+
this.tldTranslateWebService.wtScriptsAdded = true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
ngOnDestroy() {
|
|
142
|
+
window.onmessage = undefined;
|
|
143
|
+
this.destroy$.next(null);
|
|
144
|
+
this.destroy$.complete();
|
|
145
|
+
}
|
|
146
|
+
receiveMessage(event) {
|
|
147
|
+
// TODO add correct origin
|
|
148
|
+
// if (event.origin !== "")
|
|
149
|
+
// return;
|
|
150
|
+
if (this.debug) {
|
|
151
|
+
// eslint-disable-next-line no-console
|
|
152
|
+
console.info('Message received from iframe:' + JSON.stringify(event.data));
|
|
153
|
+
}
|
|
154
|
+
if (event.data && event.data.message) {
|
|
155
|
+
switch (event.data.message) {
|
|
156
|
+
case 'ready':
|
|
157
|
+
this.tldSystem.sysList.pipe(takeUntil(this.destroy$))
|
|
158
|
+
.subscribe(data => {
|
|
159
|
+
let systemListToIframe = [];
|
|
160
|
+
data.forEach((sys, index) => {
|
|
161
|
+
systemListToIframe.push({
|
|
162
|
+
id: sys.id,
|
|
163
|
+
sourceLanguage: sys.sourceLanguage,
|
|
164
|
+
targetLanguage: sys.targetLanguage,
|
|
165
|
+
name: sys.title ?? sys.id,
|
|
166
|
+
order: index,
|
|
167
|
+
domain: sys.domain
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
// push system list to iframe
|
|
171
|
+
this.settingSystemListForFirstTime = true;
|
|
172
|
+
this.sendMessage({ message: 'setSystemList', systemList: systemListToIframe });
|
|
173
|
+
if (this.activatedRoute.snapshot.queryParams.url) {
|
|
174
|
+
this.sendMessage({
|
|
175
|
+
message: 'loadUrl',
|
|
176
|
+
url: this.activatedRoute.snapshot.queryParams.url,
|
|
177
|
+
translateAfterLoad: false
|
|
178
|
+
});
|
|
179
|
+
this.urlToTranslate = this.activatedRoute.snapshot.queryParams.url;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
this.urlInputField.nativeElement.focus();
|
|
183
|
+
break;
|
|
184
|
+
case 'urlLoaded':
|
|
185
|
+
this.showProgress = false;
|
|
186
|
+
// webpage finished loading, set the full url in address box
|
|
187
|
+
this.urlToTranslate = event.data.url;
|
|
188
|
+
this.showTranslateBtn = true;
|
|
189
|
+
this.disableButton = false;
|
|
190
|
+
break;
|
|
191
|
+
case 'startedLoading':
|
|
192
|
+
this.mode = 'indeterminate';
|
|
193
|
+
this.showProgress = true;
|
|
194
|
+
this.showCancel = false;
|
|
195
|
+
this.showRestore = false;
|
|
196
|
+
this.showTranslateBtn = false;
|
|
197
|
+
break;
|
|
198
|
+
case 'stoppedLoading':
|
|
199
|
+
if (!this.translating) {
|
|
200
|
+
this.showCancel = false;
|
|
201
|
+
this.showRestore = false;
|
|
202
|
+
this.showTranslateBtn = true;
|
|
203
|
+
this.disableButton = false;
|
|
204
|
+
}
|
|
205
|
+
break;
|
|
206
|
+
case 'systemChanged':
|
|
207
|
+
// set default system, right after web translation widget in iframe is loaded
|
|
208
|
+
if (this.settingSystemListForFirstTime) {
|
|
209
|
+
this.settingSystemListForFirstTime = false;
|
|
210
|
+
this.sendMessage({ message: 'changeSystem', systemId: this.switcherOptions.systemId });
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// if initiated by language of the loaded webpage being different
|
|
214
|
+
// than source language of currently selected system
|
|
215
|
+
// we should change the system in UI and warn the user about the fact
|
|
216
|
+
if (event.data.auto && event.data.changed) {
|
|
217
|
+
if (this.webLangAutodetect) {
|
|
218
|
+
this.systemChange(event.data.systemId);
|
|
219
|
+
this.switcherOptions.systemId = event.data.systemId;
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
this.sendMessage({ message: 'changeSystem', systemId: this.switcherOptions.systemId });
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
break;
|
|
227
|
+
case 'translationStarted':
|
|
228
|
+
this.mode = 'determinate';
|
|
229
|
+
this.progressValue = 0;
|
|
230
|
+
this.showProgress = true;
|
|
231
|
+
this.translating = true;
|
|
232
|
+
// disable system change, show cancel button
|
|
233
|
+
this.showTranslateBtn = false;
|
|
234
|
+
this.showCancel = true;
|
|
235
|
+
this.disableButton = true; // to disableSystemChange
|
|
236
|
+
break;
|
|
237
|
+
case 'translationStopped':
|
|
238
|
+
this.translating = false;
|
|
239
|
+
this.showProgress = false;
|
|
240
|
+
break;
|
|
241
|
+
case 'translated':
|
|
242
|
+
// show restore button
|
|
243
|
+
this.showRestore = true;
|
|
244
|
+
this.showCancel = false;
|
|
245
|
+
break;
|
|
246
|
+
case 'untranslated':
|
|
247
|
+
// enable system change, show translate button
|
|
248
|
+
this.disableButton = false;
|
|
249
|
+
this.showRestore = false;
|
|
250
|
+
this.showCancel = false;
|
|
251
|
+
this.showTranslateBtn = true;
|
|
252
|
+
break;
|
|
253
|
+
case 'progress':
|
|
254
|
+
this.progressValue = event.data.progress;
|
|
255
|
+
break;
|
|
256
|
+
case 'error':
|
|
257
|
+
// enable system change, show translate button
|
|
258
|
+
this.disableButton = false;
|
|
259
|
+
this.showRestore = false;
|
|
260
|
+
this.showCancel = false;
|
|
261
|
+
this.showTranslateBtn = true;
|
|
262
|
+
if (console) {
|
|
263
|
+
console.error(event.data.description);
|
|
264
|
+
}
|
|
265
|
+
break;
|
|
266
|
+
case 'warning':
|
|
267
|
+
if (console) {
|
|
268
|
+
console.warn(event.data.description);
|
|
269
|
+
}
|
|
270
|
+
break;
|
|
271
|
+
default:
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
sendMessage(message) {
|
|
277
|
+
if (this.debug) {
|
|
278
|
+
// eslint-disable-next-line no-console
|
|
279
|
+
console.info('Message sent to iframe:' + JSON.stringify(message));
|
|
280
|
+
}
|
|
281
|
+
window.postMessage(message, window.location.origin);
|
|
282
|
+
}
|
|
283
|
+
removeMessage(ix) {
|
|
284
|
+
this.messages.splice(ix, 1);
|
|
285
|
+
}
|
|
286
|
+
swapLanguages() {
|
|
287
|
+
this.tldSystem.swapSystemLanguages();
|
|
288
|
+
const sys = this.tldSystem.getActiveSystemObj();
|
|
289
|
+
this.sendMessage({ message: 'changeSystem', systemId: sys.id });
|
|
290
|
+
}
|
|
291
|
+
systemChange(systemId) {
|
|
292
|
+
this.tldSystem.changeSystem(systemId);
|
|
293
|
+
this.sendMessage({ message: 'changeSystem', systemId });
|
|
294
|
+
}
|
|
295
|
+
sourceLanguageChange(language) {
|
|
296
|
+
this.tldSystem.changeLanguage(language, this.switcherOptions.target.code);
|
|
297
|
+
const sys = this.tldSystem.getActiveSystemObj();
|
|
298
|
+
this.sendMessage({ message: 'changeSystem', systemId: sys.id });
|
|
299
|
+
}
|
|
300
|
+
targetLanguageChange(language) {
|
|
301
|
+
this.tldSystem.changeLanguage(this.switcherOptions.source.code, language);
|
|
302
|
+
const sys = this.tldSystem.getActiveSystemObj();
|
|
303
|
+
this.sendMessage({ message: 'changeSystem', systemId: sys.id });
|
|
304
|
+
}
|
|
305
|
+
translateButtonClick() {
|
|
306
|
+
const selectedCollectionId = this.collectionService.selectedIdForTranslation();
|
|
307
|
+
if (this.urlToTranslate != '') {
|
|
308
|
+
this.sendMessage({
|
|
309
|
+
message: 'loadUrl',
|
|
310
|
+
url: this.urlToTranslate,
|
|
311
|
+
translateAfterLoad: true,
|
|
312
|
+
termCorpusId: selectedCollectionId
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
loadButtonClicked() {
|
|
317
|
+
if (this.urlToTranslate != '') {
|
|
318
|
+
this.sendMessage({
|
|
319
|
+
message: 'loadUrl',
|
|
320
|
+
url: this.urlToTranslate,
|
|
321
|
+
translateAfterLoad: false
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
cancel() {
|
|
326
|
+
this.sendMessage({ message: 'untranslate' });
|
|
327
|
+
}
|
|
328
|
+
restore() {
|
|
329
|
+
this.sendMessage({ message: 'untranslate' });
|
|
330
|
+
}
|
|
331
|
+
initFromConfig() {
|
|
332
|
+
const coreConfig = this.configService.coreConfig;
|
|
333
|
+
const webtranslateConfig = this.configService.webtranslateConfig;
|
|
334
|
+
this.logoLocation = webtranslateConfig.logoLocation;
|
|
335
|
+
this.debug = webtranslateConfig.debug;
|
|
336
|
+
this.webLangAutodetect = webtranslateConfig.webLangAutodetect; // after page is loaded auto detect language and change active system
|
|
337
|
+
this.allowSuggestions = webtranslateConfig.allowSuggestions;
|
|
338
|
+
this.hidePopup = webtranslateConfig.hidePopup;
|
|
339
|
+
this.translatePagePath = webtranslateConfig.translatePagePath;
|
|
340
|
+
this.appId = coreConfig.appId;
|
|
341
|
+
this.clientId = coreConfig.clientId;
|
|
342
|
+
if (this.apiVersion == TranslationApiVersion.V1) {
|
|
343
|
+
this.translateServiceUrl = this.configService.coreConfig.translationServiceUrl;
|
|
344
|
+
}
|
|
345
|
+
else if (this.apiVersion == TranslationApiVersion.V2) {
|
|
346
|
+
this.translateServiceUrl = this.configService.apiV2Config.translationUrl;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
goToHome() {
|
|
350
|
+
this.router.navigateByUrl('');
|
|
351
|
+
this.sendMessage({ message: 'untranslate' });
|
|
352
|
+
}
|
|
353
|
+
addScript(url) {
|
|
354
|
+
const script = document.createElement('script');
|
|
355
|
+
script.src = url;
|
|
356
|
+
document.body.appendChild(script);
|
|
357
|
+
}
|
|
358
|
+
addConfigurationScrip() {
|
|
359
|
+
const body = document.body;
|
|
360
|
+
const script = document.createElement('script');
|
|
361
|
+
script.type = 'text/javascript';
|
|
362
|
+
script.innerHTML = '';
|
|
363
|
+
script.innerHTML = `
|
|
364
|
+
|
|
365
|
+
if (typeof (Tilde) === 'undefined')
|
|
366
|
+
Tilde = {};
|
|
367
|
+
|
|
368
|
+
Tilde.PageTranslateWidgetServerConfiguration = {
|
|
369
|
+
translateServiceUrl: '${this.translateServiceUrl}',
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
Tilde.PageTranslateWidgetClientConfiguration = {
|
|
373
|
+
TranslatePagePrefix: location.host + '/${this.translatePagePath}/',
|
|
374
|
+
|
|
375
|
+
// Url of the place where CSS for translation widget is kept
|
|
376
|
+
// if you wish to customize the standard letsmt style,
|
|
377
|
+
// point this to your own css file
|
|
378
|
+
cssLocation: './assets/webtranslate/widget.css',
|
|
379
|
+
|
|
380
|
+
// client id for authorization
|
|
381
|
+
clientId: "${this.clientId}",
|
|
382
|
+
|
|
383
|
+
//api version
|
|
384
|
+
apiVersion: "${this.apiVersion}", // 0 - V1; 1 - V2
|
|
385
|
+
|
|
386
|
+
// enable or disable original text popup
|
|
387
|
+
hidePopup: ${this.hidePopup},
|
|
388
|
+
|
|
389
|
+
// id of the <div> where to draw widget
|
|
390
|
+
widgetContainerId: "PageTranslateWidget",
|
|
391
|
+
|
|
392
|
+
// available translation systems (target languages)
|
|
393
|
+
translationSystems: [],
|
|
394
|
+
|
|
395
|
+
// source language of the page that needs to be translated
|
|
396
|
+
language: "en",
|
|
397
|
+
|
|
398
|
+
// translate widget UI to language that is chosen in target language dropdown
|
|
399
|
+
translateUItoChosenLanguage: false,
|
|
400
|
+
|
|
401
|
+
// translate widget administrative part to language that is chosen in target language dropdown
|
|
402
|
+
translateAdminUItoChosenLanguage: false,
|
|
403
|
+
|
|
404
|
+
uiLanguage: "${this.translate.currentLang}",
|
|
405
|
+
|
|
406
|
+
// if page was translated and you click on a link
|
|
407
|
+
// that goes to another page in the same site,
|
|
408
|
+
// then translate the newly opened page also
|
|
409
|
+
translateAfterNavigation: true,
|
|
410
|
+
|
|
411
|
+
// true - language list is shown as links
|
|
412
|
+
// false - language list is shown as dropdown list and "translate" button
|
|
413
|
+
languageListAsLinks: false,
|
|
414
|
+
|
|
415
|
+
showHeader: false,
|
|
416
|
+
|
|
417
|
+
showTranslationSuggestionAdminPage: false,
|
|
418
|
+
|
|
419
|
+
// after translation show a warning that page is machine translated at the top of the page
|
|
420
|
+
showMachineTranslationWarningAfterTranslation: false,
|
|
421
|
+
|
|
422
|
+
// show all available translation systems instead of just the ones configured in this file
|
|
423
|
+
showAllTranslationSystems: false,
|
|
424
|
+
|
|
425
|
+
// add some pixels to dropdown padding to make it look more similar on different browsers
|
|
426
|
+
browserSpecificDropdownPadding: false,
|
|
427
|
+
|
|
428
|
+
// name of icon set: "default", "white", "grey", "red"
|
|
429
|
+
iconSet: "white",
|
|
430
|
+
|
|
431
|
+
// Possible values: 1, 2, 3. Text for link "Restore original: Latvian" may be made shorter or longer
|
|
432
|
+
// useful to adapt to small or large screens
|
|
433
|
+
restoreOriginalLinkLength: 2,
|
|
434
|
+
|
|
435
|
+
// enable or disable "Suggest translation" link in popup that shows original text of translated sentence
|
|
436
|
+
suggestTranslation: ${this.allowSuggestions},
|
|
437
|
+
|
|
438
|
+
// show message box when error happens?
|
|
439
|
+
showMessageBoxOnError: false,
|
|
440
|
+
|
|
441
|
+
// application identifier
|
|
442
|
+
appId: "${this.appId}",
|
|
443
|
+
|
|
444
|
+
// server will only return systems that are meant for given appId
|
|
445
|
+
filterSystemsByAppId: false,
|
|
446
|
+
|
|
447
|
+
// show help link
|
|
448
|
+
enableHelp: false,
|
|
449
|
+
|
|
450
|
+
// show feedback link
|
|
451
|
+
enableFeedback: false,
|
|
452
|
+
|
|
453
|
+
// allowed system statuses, by default only "running"
|
|
454
|
+
allowedSystemStatuses: "running",
|
|
455
|
+
|
|
456
|
+
// passed to translation service for logging.
|
|
457
|
+
// "web-embedded" for widget that is embedded in html page,
|
|
458
|
+
// "web" for widget that can load and translate any website
|
|
459
|
+
widget: "web"
|
|
460
|
+
};
|
|
461
|
+
`;
|
|
462
|
+
body.appendChild(script);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
TldTranslateWebsiteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateWebsiteComponent, deps: [{ token: i1.TranslateService }, { token: i2.TldTranslateConfigService }, { token: i3.TldTranslateButtonService }, { token: i2.TldAlertService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i5.TldSystemService }, { token: i6.TldTermCollectionsService }, { token: i7.TldTranslateWebService }, { token: i2.IconService }, { token: TRANSLATION_API_VERSION_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
466
|
+
TldTranslateWebsiteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTranslateWebsiteComponent, selector: "tld-translate-website", inputs: { product: "product", company: "company" }, outputs: { onError: "onError" }, viewQueries: [{ propertyName: "urlInputField", first: true, predicate: ["url"], descendants: true }], ngImport: i0, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"address-wrapper\">\r\n <div fxFlex class=\"back-btn\">\r\n\r\n <button (click)=\"goToHome()\" color=\"accent\" mat-flat-button [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon inline=true>chevron_left</mat-icon>\r\n </button>\r\n\r\n </div>\r\n <div fxFlex class=\"\">\r\n <div data-text=\"address\" class=\"\">{{'WEBTRANSLATE.ADDRESS' | translate}}</div>\r\n </div>\r\n <div fxFlex=\"100%\" class=\"address-input\">\r\n <input type=\"url\" #url class=\"url w-100\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n </div>\r\n <div fxFlex class=\"load-btn\">\r\n <button (click)=\"loadButtonClicked()\" color=\"accent\" mat-flat-button\r\n [attr.title]=\"'WEBTRANSLATE.LOAD_PAGE' | translate\" [disabled]=\"!urlToTranslate\">\r\n <mat-icon inline=true>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n <iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"\r\n [attr.sandbox]=\"sandbox\"></iframe>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box}#widget .translate-container-header{width:100%;height:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}#website-frame-container{inset:5.92em 0 0;border-top:solid 1px #d4d4d4;position:fixed}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.back-btn .mat-flat-button,.load-btn .mat-flat-button{width:27px;height:27px;line-height:27px;min-width:27px;padding:0}.back-btn .mat-flat-button .mat-icon,.load-btn .mat-flat-button .mat-icon{vertical-align:top;font-size:1.25em}.address-wrapper{max-width:60em;margin-bottom:.38em;margin-left:auto;margin-right:auto}.load-btn{padding-left:.8em}.back-btn{padding-right:.8em}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.w-100{width:100%}.address-input{padding-left:.9em;padding-right:.65em}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: i10.TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "component", type: i11.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i14.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i14.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i14.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i14.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i15.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i16.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i16.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i16.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i17.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i17.CompanyProductComponent, selector: "lib-company-product", inputs: ["company", "product"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
|
|
467
|
+
trigger('openCloseAnimation', [
|
|
468
|
+
transition(':enter', [
|
|
469
|
+
style({ height: 0 }),
|
|
470
|
+
animate(500)
|
|
471
|
+
]),
|
|
472
|
+
transition(':leave', animate(500, style({ height: 0 })))
|
|
473
|
+
])
|
|
474
|
+
] });
|
|
475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateWebsiteComponent, decorators: [{
|
|
476
|
+
type: Component,
|
|
477
|
+
args: [{ selector: 'tld-translate-website', animations: [
|
|
478
|
+
trigger('openCloseAnimation', [
|
|
479
|
+
transition(':enter', [
|
|
480
|
+
style({ height: 0 }),
|
|
481
|
+
animate(500)
|
|
482
|
+
]),
|
|
483
|
+
transition(':leave', animate(500, style({ height: 0 })))
|
|
484
|
+
])
|
|
485
|
+
], template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"address-wrapper\">\r\n <div fxFlex class=\"back-btn\">\r\n\r\n <button (click)=\"goToHome()\" color=\"accent\" mat-flat-button [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon inline=true>chevron_left</mat-icon>\r\n </button>\r\n\r\n </div>\r\n <div fxFlex class=\"\">\r\n <div data-text=\"address\" class=\"\">{{'WEBTRANSLATE.ADDRESS' | translate}}</div>\r\n </div>\r\n <div fxFlex=\"100%\" class=\"address-input\">\r\n <input type=\"url\" #url class=\"url w-100\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n </div>\r\n <div fxFlex class=\"load-btn\">\r\n <button (click)=\"loadButtonClicked()\" color=\"accent\" mat-flat-button\r\n [attr.title]=\"'WEBTRANSLATE.LOAD_PAGE' | translate\" [disabled]=\"!urlToTranslate\">\r\n <mat-icon inline=true>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n <iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"\r\n [attr.sandbox]=\"sandbox\"></iframe>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box}#widget .translate-container-header{width:100%;height:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}#website-frame-container{inset:5.92em 0 0;border-top:solid 1px #d4d4d4;position:fixed}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.back-btn .mat-flat-button,.load-btn .mat-flat-button{width:27px;height:27px;line-height:27px;min-width:27px;padding:0}.back-btn .mat-flat-button .mat-icon,.load-btn .mat-flat-button .mat-icon{vertical-align:top;font-size:1.25em}.address-wrapper{max-width:60em;margin-bottom:.38em;margin-left:auto;margin-right:auto}.load-btn{padding-left:.8em}.back-btn{padding-right:.8em}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.w-100{width:100%}.address-input{padding-left:.9em;padding-right:.65em}\n"] }]
|
|
486
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TldTranslateConfigService }, { type: i3.TldTranslateButtonService }, { type: i2.TldAlertService }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: i5.TldSystemService }, { type: i6.TldTermCollectionsService }, { type: i7.TldTranslateWebService }, { type: i2.IconService }, { type: i18.TranslationApiVersion, decorators: [{
|
|
487
|
+
type: Inject,
|
|
488
|
+
args: [TRANSLATION_API_VERSION_TOKEN]
|
|
489
|
+
}] }]; }, propDecorators: { product: [{
|
|
490
|
+
type: Input
|
|
491
|
+
}], company: [{
|
|
492
|
+
type: Input
|
|
493
|
+
}], urlInputField: [{
|
|
494
|
+
type: ViewChild,
|
|
495
|
+
args: ['url']
|
|
496
|
+
}], onError: [{
|
|
497
|
+
type: Output
|
|
498
|
+
}] } });
|
|
499
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS13ZWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXdlYi90bGQtdHJhbnNsYXRlLXdlYi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtd2ViL3RsZC10cmFuc2xhdGUtd2ViL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXpILE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRSxPQUFPLEVBQXdCLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUl6RSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FB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O2dCQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDYixDQUFDO1lBRUYsVUFBVSxDQUFDLFFBQVEsRUFDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUM7S0FDSDsyRkFFVSw0QkFBNEI7a0JBakJ4QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQjt3QkFDVixPQUFPLENBQUMsb0JBQW9CLEVBQUU7NEJBRTVCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUVGLFVBQVUsQ0FBQyxRQUFRLEVBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDs7MEJBY0UsTUFBTTsyQkFBQyw2QkFBNkI7NENBSTlCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRVksYUFBYTtzQkFBOUIsU0FBUzt1QkFBQyxLQUFLO2dCQXVCTixPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUUkFOU0xBVElPTl9BUElfVkVSU0lPTl9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9jb21wb25lbnRzL3RyYW5zbGF0ZS1idXR0b24vdGxkLXRyYW5zbGF0ZS1idXR0b24uc2VydmljZSc7XHJcbmltcG9ydCB7IElUbGRUcmFuc2xhdGVNZXNzYWdlLCBUbGRNZXNzYWdlVHlwZSwgVHJhbnNsYXRpb25BcGlWZXJzaW9uIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJY29uU2VydmljZSwgVGxkQWxlcnRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRsZFRlcm1Db2xsZWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtdGVybS9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElBY3RpdmVEYXRhIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvbW9kZWxzL2FjdGl2ZS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgSVN3aXRjaGVyVHJhbnNsYXRpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvbW9kZWxzL3N3aXRjaGVyLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMvdGxkLXN5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlV2ViU2VydmljZSB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtd2ViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBhdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuLy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcblxyXG5cclxuZGVjbGFyZSB2YXIgd2luZG93OiBhbnk7XHJcbndpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9ICQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtd2Vic2l0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZUFuaW1hdGlvbicsIFtcclxuXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IGhlaWdodDogMCB9KSxcclxuICAgICAgICBhbmltYXRlKDUwMClcclxuICAgICAgXSksXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLFxyXG4gICAgICAgIGFuaW1hdGUoNTAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVdlYnNpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlQnV0dG9uU2VydmljZTogVGxkVHJhbnNsYXRlQnV0dG9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29sbGVjdGlvblNlcnZpY2U6IFRsZFRlcm1Db2xsZWN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFRyYW5zbGF0ZVdlYlNlcnZpY2U6IFRsZFRyYW5zbGF0ZVdlYlNlcnZpY2UsXHJcbiAgICBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFRSQU5TTEFUSU9OX0FQSV9WRVJTSU9OX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGFwaVZlcnNpb246IFRyYW5zbGF0aW9uQXBpVmVyc2lvblxyXG4gICkge1xyXG4gICAgaWNvblNlcnZpY2UucmVnaXN0ZXJJY29ucygpO1xyXG4gIH1cclxuICBASW5wdXQoKSBwcm9kdWN0ID0gJyc7XHJcbiAgQElucHV0KCkgY29tcGFueSA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKCd1cmwnKSB1cmxJbnB1dEZpZWxkOiBFbGVtZW50UmVmO1xyXG5cclxuICBzZXR0aW5nU3lzdGVtTGlzdEZvckZpcnN0VGltZTogYm9vbGVhbjtcclxuICB1cmxUb1RyYW5zbGF0ZSA9ICcnOyAvLyB0cmFuc2xhdGVXZWJfVXJsXHJcbiAgc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gIHNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgdHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICBkaXNhYmxlQnV0dG9uID0gZmFsc2U7IC8vIGFjdGlvbkJ1dHRvbkRpc2FibGVkXHJcblxyXG4gIC8vIHBhcmFtcyBmcm9tIGNvbmZpZyBzZXJ2aWNlLlxyXG4gIGxvZ29Mb2NhdGlvbjogc3RyaW5nO1xyXG4gIGRlYnVnOiBib29sZWFuO1xyXG4gIHdlYkxhbmdBdXRvZGV0ZWN0OiBib29sZWFuOyAvLyBUT0RPIGNoZWNrIGlmIHJlYWxseSBuZWVkZWQgLy8gYWZ0ZXIgcGFnZSBpcyBsb2FkZWQgYXV0byBkZXRlY3QgbGFuZ3VhZ2UgYW5kIGNoYW5nZSBhY3RpdmUgc3lzdGVtXHJcbiAgYWxsb3dTdWdnZXN0aW9uczogYm9vbGVhbjtcclxuICBoaWRlUG9wdXA6IGJvb2xlYW47XHJcbiAgdHJhbnNsYXRlUGFnZVBhdGg6IHN0cmluZzsgLy8gIHBhdGggdG8gV2ViVHJhbnNsYXRpb25Qcm94eVxyXG4gIGNsaWVudElkOiBzdHJpbmc7XHJcbiAgYXBwSWQ6IHN0cmluZztcclxuICB0cmFuc2xhdGVTZXJ2aWNlVXJsOiBzdHJpbmc7XHJcblxyXG4gIHN3aXRjaGVyT3B0aW9uczogSVN3aXRjaGVyVHJhbnNsYXRpb25PcHRpb25zO1xyXG5cclxuICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgYWN0aXZlU3lzdGVtT2JqOiBJQWN0aXZlRGF0YTtcclxuICBtZXNzYWdlczogTm90aWZpY2F0aW9uTWVzc2FnZVtdID0gW107XHJcblxyXG4gIC8vUHJvZ3Jlc3MgYmFyXHJcbiAgbW9kZTogUHJvZ3Jlc3NCYXJNb2RlID0gJ2RldGVybWluYXRlJztcclxuICBwcm9ncmVzc1ZhbHVlID0gMDtcclxuICBzaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICBnZXQgc2hvd05vU3lzdGVtc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGxkU3lzdGVtLm5vU3lzdGVtc0Vycm9yO1xyXG4gIH1cclxuICBub1N5c3RlbXNFcnJvcjogSVRsZFRyYW5zbGF0ZU1lc3NhZ2UgPSB7IHRleHQ6ICdUTERfVFJBTlNMQVRFLkVSUk9SX05PX1NZU1RFTVNfTE9BREVEJywgdHlwZTogVGxkTWVzc2FnZVR5cGUuRVJST1IgfTtcclxuXHJcbiAgZ2V0IGFjdGlvbkJ1dHRvbkRpc2FibGVkKCkgeyByZXR1cm4gdGhpcy5kaXNhYmxlQnV0dG9uOyB9XHJcblxyXG5cclxuICBnZXQgaGlkZUxhbmdNZW51TGFiZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZT8uY29yZUNvbmZpZy5oaWRlTGFuZ01lbnVMYWJlbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgbWF4RGlzcGxheWVkTGFuZ3VhZ2VzKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcubWF4RGlzcGxheWVkTGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy50ZXJtQ29uZmlnPy5pc0NvbGxlY3Rpb25zQWN0aXZhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5zaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FuZGJveCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS53ZWJ0cmFuc2xhdGVDb25maWcuc2FuZGJveDsgfVxyXG5cclxuICByZWFkb25seSB1c2VQYXJlbnRXaWR0aCA9IHRydWU7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNoYW5nZUF1dGgoaXNBdXRoOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5pc0F1dGggPSBpc0F1dGg7XHJcbiAgICB0aGlzLmluaXRpYWxpemVXaWRnZXQoKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVXaWRnZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5pbml0KHRoaXMudGxkU3lzdGVtLmdldExhc3RVc2VkU3lzdGVtKCkgPz8gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuZGVmYXVsdFN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmRlYnVnKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGF2YWlsYWJsZUxhbmd1YWdlcykge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnNldFRyYW5zbGF0aW9uKGtleSwgYXZhaWxhYmxlTGFuZ3VhZ2VzW2tleV0sIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmlzQXV0aCA9IHRydWU7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShcImVuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdEZyb21Db25maWcoKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG5cclxuICAgIHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKS5waXBlKFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbDogSUFjdGl2ZURhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbU9iaiA9IHZhbDtcclxuICAgICAgICBpZiAoIXZhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN3aXRjaGVyT3B0aW9ucyA9IHtcclxuICAgICAgICAgIGRvbWFpbnM6IHZhbC5kb21haW5zLFxyXG4gICAgICAgICAgc291cmNlOiB7IGNvZGU6IHZhbC5zb3VyY2VMYW5nLmxhbmcsIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQgfSxcclxuICAgICAgICAgIHNvdXJjZUxhbmd1YWdlTGlzdDogdmFsLnNvdXJjZUxhbmdMaXN0LFxyXG4gICAgICAgICAgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCxcclxuICAgICAgICAgIHN3YXBBY3RpdmU6IHZhbC5zd2FwTGFuZ0FjdGl2ZSxcclxuICAgICAgICAgIHRhcmdldDogeyBjb2RlOiB2YWwudGFyZ2V0TGFuZy5sYW5nLCBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkIH0sXHJcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZUxpc3Q6IHZhbC50YXJnZXRMYW5nTGlzdCxcclxuICAgICAgICAgIHZlbmRvcnM6IHZhbC52ZW5kb3JzXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcblxyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uU2VydmljZS5nZXRBY3Rpb25DbGljaygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFsZXJ0cy5nZXRNZXNzYWdlcygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogTm90aWZpY2F0aW9uTWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SKSB7XHJcbiAgICAgICAgICB0aGlzLm9uRXJyb3IuZW1pdChtZXNzYWdlLmVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gcHVzaGluZyBvbmx5IFwib25lIG9mXCIgbWVzc2FnZSBpbiBhcnJheSwgc28gc2NyZWVuIGlzIG5vdCBzcGFtbWVkIHdpdGggbWVzc2FnZXNcclxuICAgICAgICBjb25zdCBleGlzdGluZ01lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzLmZpbmQobXNnID0+IG1zZy5ib2R5ID09PSBtZXNzYWdlLmJvZHkgJiYgbXNnLnR5cGUgPT09IG1lc3NhZ2UudHlwZSAmJiBtc2cudGl0bGUgPT09IG1lc3NhZ2UudGl0bGUpO1xyXG4gICAgICAgIGlmICghZXhpc3RpbmdNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FQUF9OQU1FJykucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5hcHBOYW1lID0gdGV4dDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgd2luZG93Lm9ubWVzc2FnZSA9IHRoaXMucmVjZWl2ZU1lc3NhZ2UuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50bGRUcmFuc2xhdGVXZWJTZXJ2aWNlLnd0U2NyaXB0c0FkZGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkU2NyaXB0KCcuL2Fzc2V0cy93ZWJ0cmFuc2xhdGUvdHJhbnNsYXRlLXdlYnNpdGUuanMnKTtcclxuICAgICAgdGhpcy5hZGRDb25maWd1cmF0aW9uU2NyaXAoKTtcclxuICAgICAgdGhpcy5hZGRTY3JpcHQoJy4vYXNzZXRzL3dlYnRyYW5zbGF0ZS9wYWdlLXRyYW5zbGF0ZS13aWRnZXQuanMnKTtcclxuICAgICAgdGhpcy50bGRUcmFuc2xhdGVXZWJTZXJ2aWNlLnd0U2NyaXB0c0FkZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlY2VpdmVNZXNzYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgIC8vIFRPRE8gYWRkIGNvcnJlY3Qgb3JpZ2luXHJcbiAgICAvLyBpZiAoZXZlbnQub3JpZ2luICE9PSBcIlwiKVxyXG4gICAgLy8gcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLmRlYnVnKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGNvbnNvbGUuaW5mbygnTWVzc2FnZSByZWNlaXZlZCBmcm9tIGlmcmFtZTonICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQuZGF0YSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLm1lc3NhZ2UpIHtcclxuICAgICAgc3dpdGNoIChldmVudC5kYXRhLm1lc3NhZ2UpIHtcclxuICAgICAgICBjYXNlICdyZWFkeSc6XHJcbiAgICAgICAgICB0aGlzLnRsZFN5c3RlbS5zeXNMaXN0LnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgICAgICBsZXQgc3lzdGVtTGlzdFRvSWZyYW1lID0gW107XHJcbiAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChzeXMsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzeXN0ZW1MaXN0VG9JZnJhbWUucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIGlkOiBzeXMuaWQsXHJcbiAgICAgICAgICAgICAgICAgIHNvdXJjZUxhbmd1YWdlOiBzeXMuc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBzeXMudGFyZ2V0TGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHN5cy50aXRsZSA/PyBzeXMuaWQsXHJcbiAgICAgICAgICAgICAgICAgIG9yZGVyOiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgZG9tYWluOiBzeXMuZG9tYWluXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgLy8gcHVzaCBzeXN0ZW0gbGlzdCB0byBpZnJhbWVcclxuICAgICAgICAgICAgICB0aGlzLnNldHRpbmdTeXN0ZW1MaXN0Rm9yRmlyc3RUaW1lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3NldFN5c3RlbUxpc3QnLCBzeXN0ZW1MaXN0OiBzeXN0ZW1MaXN0VG9JZnJhbWUgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXJsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ2xvYWRVcmwnLFxyXG4gICAgICAgICAgICAgICAgICB1cmw6IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXJsLFxyXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGVBZnRlckxvYWQ6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXJsVG9UcmFuc2xhdGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnVybDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB0aGlzLnVybElucHV0RmllbGQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VybExvYWRlZCc6XHJcbiAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gd2VicGFnZSBmaW5pc2hlZCBsb2FkaW5nLCBzZXQgdGhlIGZ1bGwgdXJsIGluIGFkZHJlc3MgYm94XHJcbiAgICAgICAgICB0aGlzLnVybFRvVHJhbnNsYXRlID0gZXZlbnQuZGF0YS51cmw7XHJcblxyXG4gICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N0YXJ0ZWRMb2FkaW5nJzpcclxuICAgICAgICAgIHRoaXMubW9kZSA9ICdpbmRldGVybWluYXRlJztcclxuICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93UmVzdG9yZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdG9wcGVkTG9hZGluZyc6XHJcbiAgICAgICAgICBpZiAoIXRoaXMudHJhbnNsYXRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3RvcmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlQnV0dG9uID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzeXN0ZW1DaGFuZ2VkJzpcclxuICAgICAgICAgIC8vIHNldCBkZWZhdWx0IHN5c3RlbSwgcmlnaHQgYWZ0ZXIgd2ViIHRyYW5zbGF0aW9uIHdpZGdldCBpbiBpZnJhbWUgaXMgbG9hZGVkXHJcbiAgICAgICAgICBpZiAodGhpcy5zZXR0aW5nU3lzdGVtTGlzdEZvckZpcnN0VGltZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdTeXN0ZW1MaXN0Rm9yRmlyc3RUaW1lID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQ6IHRoaXMuc3dpdGNoZXJPcHRpb25zLnN5c3RlbUlkIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gaWYgaW5pdGlhdGVkIGJ5IGxhbmd1YWdlIG9mIHRoZSBsb2FkZWQgd2VicGFnZSBiZWluZyBkaWZmZXJlbnRcclxuICAgICAgICAgICAgLy8gdGhhbiBzb3VyY2UgbGFuZ3VhZ2Ugb2YgY3VycmVudGx5IHNlbGVjdGVkICBzeXN0ZW1cclxuICAgICAgICAgICAgLy8gd2Ugc2hvdWxkIGNoYW5nZSB0aGUgc3lzdGVtIGluIFVJIGFuZCB3YXJuIHRoZSB1c2VyIGFib3V0IHRoZSBmYWN0XHJcbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmF1dG8gJiYgZXZlbnQuZGF0YS5jaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMud2ViTGFuZ0F1dG9kZXRlY3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3lzdGVtQ2hhbmdlKGV2ZW50LmRhdGEuc3lzdGVtSWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zd2l0Y2hlck9wdGlvbnMuc3lzdGVtSWQgPSBldmVudC5kYXRhLnN5c3RlbUlkO1xyXG5cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZDogdGhpcy5zd2l0Y2hlck9wdGlvbnMuc3lzdGVtSWQgfSk7XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RyYW5zbGF0aW9uU3RhcnRlZCc6XHJcbiAgICAgICAgICB0aGlzLm1vZGUgPSAnZGV0ZXJtaW5hdGUnO1xyXG4gICAgICAgICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gMDtcclxuICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIC8vIGRpc2FibGUgc3lzdGVtIGNoYW5nZSwgc2hvdyBjYW5jZWwgYnV0dG9uXHJcbiAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVCdXR0b24gPSB0cnVlOyAgLy8gdG8gZGlzYWJsZVN5c3RlbUNoYW5nZVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RyYW5zbGF0aW9uU3RvcHBlZCc6XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndHJhbnNsYXRlZCc6XHJcbiAgICAgICAgICAvLyBzaG93IHJlc3RvcmUgYnV0dG9uXHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN0b3JlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW50cmFuc2xhdGVkJzpcclxuICAgICAgICAgIC8vIGVuYWJsZSBzeXN0ZW0gY2hhbmdlLCBzaG93IHRyYW5zbGF0ZSBidXR0b25cclxuICAgICAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93UmVzdG9yZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAncHJvZ3Jlc3MnOlxyXG4gICAgICAgICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gZXZlbnQuZGF0YS5wcm9ncmVzcztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgICAgIC8vIGVuYWJsZSBzeXN0ZW0gY2hhbmdlLCBzaG93IHRyYW5zbGF0ZSBidXR0b25cclxuICAgICAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93UmVzdG9yZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKGNvbnNvbGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihldmVudC5kYXRhLmRlc2NyaXB0aW9uKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd3YXJuaW5nJzpcclxuICAgICAgICAgIGlmIChjb25zb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihldmVudC5kYXRhLmRlc2NyaXB0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VuZE1lc3NhZ2UobWVzc2FnZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICBjb25zb2xlLmluZm8oJ01lc3NhZ2Ugc2VudCB0byBpZnJhbWU6JyArIEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICB3aW5kb3cucG9zdE1lc3NhZ2UobWVzc2FnZSwgd2luZG93LmxvY2F0aW9uLm9yaWdpbik7XHJcbiAgfVxyXG5cclxuICByZW1vdmVNZXNzYWdlKGl4OiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVzc2FnZXMuc3BsaWNlKGl4LCAxKTtcclxuICB9XHJcblxyXG4gIHN3YXBMYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5zd2FwU3lzdGVtTGFuZ3VhZ2VzKCk7XHJcblxyXG4gICAgY29uc3Qgc3lzID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlU3lzdGVtT2JqKCk7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkOiBzeXMuaWQgfSk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1DaGFuZ2Uoc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uY2hhbmdlU3lzdGVtKHN5c3RlbUlkKTtcclxuXHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkIH0pO1xyXG4gIH1cclxuXHJcbiAgc291cmNlTGFuZ3VhZ2VDaGFuZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uY2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2UsIHRoaXMuc3dpdGNoZXJPcHRpb25zLnRhcmdldC5jb2RlKTtcclxuXHJcbiAgICBjb25zdCBzeXMgPSB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKTtcclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQ6IHN5cy5pZCB9KTtcclxuICB9XHJcblxyXG4gIHRhcmdldExhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKHRoaXMuc3dpdGNoZXJPcHRpb25zLnNvdXJjZS5jb2RlLCBsYW5ndWFnZSk7XHJcblxyXG4gICAgY29uc3Qgc3lzID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlU3lzdGVtT2JqKCk7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkOiBzeXMuaWQgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVCdXR0b25DbGljaygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkQ29sbGVjdGlvbklkID0gdGhpcy5jb2xsZWN0aW9uU2VydmljZS5zZWxlY3RlZElkRm9yVHJhbnNsYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy51cmxUb1RyYW5zbGF0ZSAhPSAnJykge1xyXG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICBtZXNzYWdlOiAnbG9hZFVybCcsXHJcbiAgICAgICAgdXJsOiB0aGlzLnVybFRvVHJhbnNsYXRlLFxyXG4gICAgICAgIHRyYW5zbGF0ZUFmdGVyTG9hZDogdHJ1ZSxcclxuICAgICAgICB0ZXJtQ29ycHVzSWQ6IHNlbGVjdGVkQ29sbGVjdGlvbklkXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEJ1dHRvbkNsaWNrZWQoKSB7XHJcbiAgICBpZiAodGhpcy51cmxUb1RyYW5zbGF0ZSAhPSAnJykge1xyXG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICBtZXNzYWdlOiAnbG9hZFVybCcsXHJcbiAgICAgICAgdXJsOiB0aGlzLnVybFRvVHJhbnNsYXRlLFxyXG4gICAgICAgIHRyYW5zbGF0ZUFmdGVyTG9hZDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3VudHJhbnNsYXRlJyB9KTtcclxuICB9XHJcblxyXG4gIHJlc3RvcmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3VudHJhbnNsYXRlJyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEZyb21Db25maWcoKSB7XHJcbiAgICBjb25zdCBjb3JlQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWc7XHJcbiAgICBjb25zdCB3ZWJ0cmFuc2xhdGVDb25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2Uud2VidHJhbnNsYXRlQ29uZmlnO1xyXG4gICAgdGhpcy5sb2dvTG9jYXRpb24gPSB3ZWJ0cmFuc2xhdGVDb25maWcubG9nb0xvY2F0aW9uO1xyXG4gICAgdGhpcy5kZWJ1ZyA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5kZWJ1ZztcclxuICAgIHRoaXMud2ViTGFuZ0F1dG9kZXRlY3QgPSB3ZWJ0cmFuc2xhdGVDb25maWcud2ViTGFuZ0F1dG9kZXRlY3Q7IC8vIGFmdGVyIHBhZ2UgaXMgbG9hZGVkIGF1dG8gZGV0ZWN0IGxhbmd1YWdlIGFuZCBjaGFuZ2UgYWN0aXZlIHN5c3RlbVxyXG4gICAgdGhpcy5hbGxvd1N1Z2dlc3Rpb25zID0gd2VidHJhbnNsYXRlQ29uZmlnLmFsbG93U3VnZ2VzdGlvbnM7XHJcbiAgICB0aGlzLmhpZGVQb3B1cCA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5oaWRlUG9wdXA7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVBhZ2VQYXRoID0gd2VidHJhbnNsYXRlQ29uZmlnLnRyYW5zbGF0ZVBhZ2VQYXRoO1xyXG4gICAgdGhpcy5hcHBJZCA9IGNvcmVDb25maWcuYXBwSWQ7XHJcbiAgICB0aGlzLmNsaWVudElkID0gY29yZUNvbmZpZy5jbGllbnRJZDtcclxuXHJcbiAgICBpZiAodGhpcy5hcGlWZXJzaW9uID09IFRyYW5zbGF0aW9uQXBpVmVyc2lvbi5WMSkge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VVcmwgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy50cmFuc2xhdGlvblNlcnZpY2VVcmw7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYXBpVmVyc2lvbiA9PSBUcmFuc2xhdGlvbkFwaVZlcnNpb24uVjIpIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlVXJsID0gdGhpcy5jb25maWdTZXJ2aWNlLmFwaVYyQ29uZmlnLnRyYW5zbGF0aW9uVXJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ29Ub0hvbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcnKTtcclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAndW50cmFuc2xhdGUnIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHNjcmlwdC5zcmMgPSB1cmw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG5cclxuICBhZGRDb25maWd1cmF0aW9uU2NyaXAoKTogdm9pZCB7XHJcbiAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgIHNjcmlwdC5pbm5lckhUTUwgPSAnJztcclxuICAgIHNjcmlwdC5pbm5lckhUTUwgPSBgXHJcblxyXG4gICAgaWYgKHR5cGVvZiAoVGlsZGUpID09PSAndW5kZWZpbmVkJylcclxuICAgICAgICBUaWxkZSA9IHt9O1xyXG5cclxuICAgICAgICBUaWxkZS5QYWdlVHJhbnNsYXRlV2lkZ2V0U2VydmVyQ29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgICAgIHRyYW5zbGF0ZVNlcnZpY2VVcmw6ICcke3RoaXMudHJhbnNsYXRlU2VydmljZVVybH0nLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgVGlsZGUuUGFnZVRyYW5zbGF0ZVdpZGdldENsaWVudENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIFRyYW5zbGF0ZVBhZ2VQcmVmaXg6IGxvY2F0aW9uLmhvc3QgKyAnLyR7dGhpcy50cmFuc2xhdGVQYWdlUGF0aH0vJyxcclxuXHJcbiAgICAgICAgLy8gVXJsIG9mIHRoZSBwbGFjZSB3aGVyZSBDU1MgZm9yIHRyYW5zbGF0aW9uIHdpZGdldCBpcyBrZXB0XHJcbiAgICAgICAgLy8gaWYgeW91IHdpc2ggdG8gY3VzdG9taXplIHRoZSBzdGFuZGFyZCBsZXRzbXQgc3R5bGUsXHJcbiAgICAgICAgLy8gcG9pbnQgdGhpcyB0byB5b3VyIG93biBjc3MgZmlsZVxyXG4gICAgICAgIGNzc0xvY2F0aW9uOiAnLi9hc3NldHMvd2VidHJhbnNsYXRlL3dpZGdldC5jc3MnLFxyXG5cclxuICAgICAgICAvLyBjbGllbnQgaWQgZm9yIGF1dGhvcml6YXRpb25cclxuICAgICAgICBjbGllbnRJZDogXCIke3RoaXMuY2xpZW50SWR9XCIsXHJcblxyXG4gICAgICAgIC8vYXBpIHZlcnNpb25cclxuICAgICAgICBhcGlWZXJzaW9uOiBcIiR7dGhpcy5hcGlWZXJzaW9ufVwiLCAgLy8gMCAtIFYxOyAxIC0gVjJcclxuXHJcbiAgICAgICAgLy8gZW5hYmxlIG9yIGRpc2FibGUgb3JpZ2luYWwgdGV4dCBwb3B1cFxyXG4gICAgICAgIGhpZGVQb3B1cDogJHt0aGlzLmhpZGVQb3B1cH0sXHJcblxyXG4gICAgICAgIC8vIGlkIG9mIHRoZSA8ZGl2PiB3aGVyZSB0byBkcmF3IHdpZGdldFxyXG4gICAgICAgIHdpZGdldENvbnRhaW5lcklkOiBcIlBhZ2VUcmFuc2xhdGVXaWRnZXRcIixcclxuXHJcbiAgICAgICAgLy8gYXZhaWxhYmxlIHRyYW5zbGF0aW9uIHN5c3RlbXMgKHRhcmdldCBsYW5ndWFnZXMpXHJcbiAgICAgICAgdHJhbnNsYXRpb25TeXN0ZW1zOiBbXSxcclxuXHJcbiAgICAgICAgLy8gc291cmNlIGxhbmd1YWdlIG9mIHRoZSBwYWdlIHRoYXQgbmVlZHMgdG8gYmUgdHJhbnNsYXRlZFxyXG4gICAgICAgIGxhbmd1YWdlOiBcImVuXCIsXHJcblxyXG4gICAgICAgIC8vIHRyYW5zbGF0ZSB3aWRnZXQgVUkgdG8gbGFuZ3VhZ2UgdGhhdCBpcyBjaG9zZW4gaW4gdGFyZ2V0IGxhbmd1YWdlIGRyb3Bkb3duXHJcbiAgICAgICAgdHJhbnNsYXRlVUl0b0Nob3Nlbkxhbmd1YWdlOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gdHJhbnNsYXRlIHdpZGdldCBhZG1pbmlzdHJhdGl2ZSBwYXJ0IHRvIGxhbmd1YWdlIHRoYXQgaXMgY2hvc2VuIGluIHRhcmdldCBsYW5ndWFnZSBkcm9wZG93blxyXG4gICAgICAgIHRyYW5zbGF0ZUFkbWluVUl0b0Nob3Nlbkxhbmd1YWdlOiBmYWxzZSxcclxuXHJcbiAgICAgICAgdWlMYW5ndWFnZTogXCIke3RoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nfVwiLFxyXG5cclxuICAgICAgICAvLyBpZiBwYWdlIHdhcyB0cmFuc2xhdGVkIGFuZCB5b3UgY2xpY2sgb24gYSBsaW5rXHJcbiAgICAgICAgLy8gdGhhdCBnb2VzIHRvIGFub3RoZXIgcGFnZSBpbiB0aGUgc2FtZSBzaXRlLFxyXG4gICAgICAgIC8vIHRoZW4gdHJhbnNsYXRlIHRoZSBuZXdseSBvcGVuZWQgcGFnZSBhbHNvXHJcbiAgICAgICAgdHJhbnNsYXRlQWZ0ZXJOYXZpZ2F0aW9uOiB0cnVlLFxyXG5cclxuICAgICAgICAvLyB0cnVlIC0gbGFuZ3VhZ2UgbGlzdCBpcyBzaG93biBhcyBsaW5rc1xyXG4gICAgICAgIC8vIGZhbHNlIC0gbGFuZ3VhZ2UgbGlzdCBpcyBzaG93biBhcyBkcm9wZG93biBsaXN0IGFuZCBcInRyYW5zbGF0ZVwiIGJ1dHRvblxyXG4gICAgICAgIGxhbmd1YWdlTGlzdEFzTGlua3M6IGZhbHNlLFxyXG5cclxuICAgICAgICBzaG93SGVhZGVyOiBmYWxzZSxcclxuXHJcbiAgICAgICAgc2hvd1RyYW5zbGF0aW9uU3VnZ2VzdGlvbkFkbWluUGFnZTogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIGFmdGVyIHRyYW5zbGF0aW9uIHNob3cgYSB3YXJuaW5nIHRoYXQgcGFnZSBpcyBtYWNoaW5lIHRyYW5zbGF0ZWQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZVxyXG4gICAgICAgIHNob3dNYWNoaW5lVHJhbnNsYXRpb25XYXJuaW5nQWZ0ZXJUcmFuc2xhdGlvbjogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgYWxsIGF2YWlsYWJsZSB0cmFuc2xhdGlvbiBzeXN0ZW1zIGluc3RlYWQgb2YganVzdCB0aGUgb25lcyBjb25maWd1cmVkIGluIHRoaXMgZmlsZVxyXG4gICAgICAgIHNob3dBbGxUcmFuc2xhdGlvblN5c3RlbXM6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBhZGQgc29tZSBwaXhlbHMgdG8gZHJvcGRvd24gcGFkZGluZyB0byBtYWtlIGl0IGxvb2sgbW9yZSBzaW1pbGFyIG9uIGRpZmZlcmVudCBicm93c2Vyc1xyXG4gICAgICAgIGJyb3dzZXJTcGVjaWZpY0Ryb3Bkb3duUGFkZGluZzogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIG5hbWUgb2YgaWNvbiBzZXQ6IFwiZGVmYXVsdFwiLCBcIndoaXRlXCIsIFwiZ3JleVwiLCBcInJlZFwiXHJcbiAgICAgICAgaWNvblNldDogXCJ3aGl0ZVwiLFxyXG5cclxuICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6IDEsIDIsIDMuIFRleHQgZm9yIGxpbmsgXCJSZXN0b3JlIG9yaWdpbmFsOiBMYXR2aWFuXCIgbWF5IGJlIG1hZGUgc2hvcnRlciBvciBsb25nZXJcclxuICAgICAgICAvLyB1c2VmdWwgdG8gYWRhcHQgdG8gc21hbGwgb3IgbGFyZ2Ugc2NyZWVuc1xyXG4gICAgICAgIHJlc3RvcmVPcmlnaW5hbExpbmtMZW5ndGg6IDIsXHJcblxyXG4gICAgICAgIC8vIGVuYWJsZSBvciBkaXNhYmxlIFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiIGxpbmsgaW4gcG9wdXAgdGhhdCBzaG93cyBvcmlnaW5hbCB0ZXh0IG9mIHRyYW5zbGF0ZWQgc2VudGVuY2VcclxuICAgICAgICBzdWdnZXN0VHJhbnNsYXRpb246ICR7dGhpcy5hbGxvd1N1Z2dlc3Rpb25zfSxcclxuXHJcbiAgICAgICAgLy8gc2hvdyBtZXNzYWdlIGJveCB3aGVuIGVycm9yIGhhcHBlbnM/XHJcbiAgICAgICAgc2hvd01lc3NhZ2VCb3hPbkVycm9yOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gYXBwbGljYXRpb24gaWRlbnRpZmllclxyXG4gICAgICAgIGFwcElkOiBcIiR7dGhpcy5hcHBJZH1cIixcclxuXHJcbiAgICAgICAgLy8gc2VydmVyIHdpbGwgb25seSByZXR1cm4gc3lzdGVtcyB0aGF0IGFyZSBtZWFudCBmb3IgZ2l2ZW4gYXBwSWRcclxuICAgICAgICBmaWx0ZXJTeXN0ZW1zQnlBcHBJZDogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgaGVscCBsaW5rXHJcbiAgICAgICAgZW5hYmxlSGVscDogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgZmVlZGJhY2sgbGlua1xyXG4gICAgICAgIGVuYWJsZUZlZWRiYWNrOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gYWxsb3dlZCBzeXN0ZW0gc3RhdHVzZXMsIGJ5IGRlZmF1bHQgb25seSBcInJ1bm5pbmdcIlxyXG4gICAgICAgIGFsbG93ZWRTeXN0ZW1TdGF0dXNlczogXCJydW5uaW5nXCIsXHJcblxyXG4gICAgICAgIC8vIHBhc3NlZCB0byB0cmFuc2xhdGlvbiBzZXJ2aWNlIGZvciBsb2dnaW5nLlxyXG4gICAgICAgIC8vIFwid2ViLWVtYmVkZGVkXCIgZm9yIHdpZGdldCB0aGF0IGlzIGVtYmVkZGVkIGluIGh0bWwgcGFnZSxcclxuICAgICAgICAvLyBcIndlYlwiIGZvciB3aWRnZXQgdGhhdCBjYW4gbG9hZCBhbmQgdHJhbnNsYXRlIGFueSB3ZWJzaXRlXHJcbiAgICAgICAgd2lkZ2V0OiBcIndlYlwiXHJcbiAgICB9O1xyXG4gICAgYDtcclxuICAgIGJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cIndpZGdldFwiIGNsYXNzPVwidGxkLXRyYW5zbGF0ZS13ZWJcIj5cclxuICA8ZGl2IGNsYXNzPVwidHJhbnNsYXRlLWNvbnRhaW5lci1oZWFkZXJcIj5cclxuICAgIDxhIGhyZWY9XCIvXCIgaWQ9XCJob21lLWxpbmtcIiBbYXR0ci50aXRsZV09XCInV0VCVFJBTlNMQVRFLkJBQ0snIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgIDxpbWcgW3NyY109XCJsb2dvTG9jYXRpb25cIiBhbHQ9XCJsb2dvXCI+XHJcbiAgICAgIDxsaWItY29tcGFueS1wcm9kdWN0ICpuZ0lmPVwiY29tcGFueSAmJiBwcm9kdWN0XCIgW2NvbXBhbnldPVwiY29tcGFueVwiIFtwcm9kdWN0XT1cInByb2R1Y3RcIj48L2xpYi1jb21wYW55LXByb2R1Y3Q+XHJcbiAgICA8L2E+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdHJhbnNsYXRlLW1vYmlsZSdcIj5cclxuXHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiYWRkcmVzcy13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXggY2xhc3M9XCJiYWNrLWJ0blwiPlxyXG5cclxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImdvVG9Ib21lKClcIiBjb2xvcj1cImFjY2VudFwiIG1hdC1mbGF0LWJ1dHRvbiBbYXR0ci50aXRsZV09XCInV0VCVFJBTlNMQVRFLkJBQ0snIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBpbmxpbmU9dHJ1ZT5jaGV2cm9uX2xlZnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZnhGbGV4IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICA8ZGl2IGRhdGEtdGV4dD1cImFkZHJlc3NcIiBjbGFzcz1cIlwiPnt7J1dFQlRSQU5TTEFURS5BRERSRVNTJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJhZGRyZXNzLWlucHV0XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInVybFwiICN1cmwgY2xhc3M9XCJ1cmwgdy0xMDBcIiBhdXRvZm9jdXM9XCJhdXRvZm9jdXNcIiBbKG5nTW9kZWwpXT1cInVybFRvVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImxvYWRCdXR0b25DbGlja2VkKClcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZnhGbGV4IGNsYXNzPVwibG9hZC1idG5cIj5cclxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImxvYWRCdXR0b25DbGlja2VkKClcIiBjb2xvcj1cImFjY2VudFwiIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCInV0VCVFJBTlNMQVRFLkxPQURfUEFHRScgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBpbmxpbmU9dHJ1ZT5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyXCIgY2xhc3M9XCJ0bGQtdHJhbnNsYXRlLXN3aXRjaGVyLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeEZsZXg+XHJcbiAgICAgICAgICA8dGxkLXRyYW5zbGF0ZS1zd2l0Y2hlclxyXG4gICAgICAgICAgICAqbmdJZj1cInN3aXRjaGVyT3B0aW9uc1wiXHJcbiAgICAgICAgICAgIFtpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXT1cImlzQ29sbGVjdGlvbnNBY3RpdmF0ZWRcIlxyXG4gICAgICAgICAgICBbdXNlUGFyZW50V2lkdGhdPVwidXNlUGFyZW50V2lkdGhcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbc2V0dGluZ3NdPVwic3dpdGNoZXJPcHRpb25zXCJcclxuICAgICAgICAgICAgW3Nob3dUcmFuc2xhdGVCdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbaGlkZU9uU21hbGxTY3JlZW5zXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2hpZGVMYW5nTWVudUxhYmVsc109XCJoaWRlTGFuZ01lbnVMYWJlbHNcIlxyXG4gICAgICAgICAgICBbbWF4RGlzcGxheWVkTGFuZ3VhZ2VzXT1cIm1heERpc3BsYXllZExhbmd1YWdlc1wiXHJcbiAgICAgICAgICAgIFtzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVdPVwic2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXCJcclxuICAgICAgICAgICAgKG9uRG9tYWluQ2hhbmdlKT1cInN5c3RlbUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQWN0aW9uQ2xpY2spPVwidHJhbnNsYXRlQnV0dG9uQ2xpY2soKVwiXHJcbiAgICAgICAgICAgIChvbkxhbmd1YWdlU3dhcCk9XCJzd2FwTGFuZ3VhZ2VzKClcIlxyXG4gICAgICAgICAgICAob25Tb3VyY2VMYW5ndWFnZUNoYW5nZSk9XCJzb3VyY2VMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uVGFyZ2V0TGFuZ3VhZ2VDaGFuZ2UpPVwidGFyZ2V0TGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC90bGQtdHJhbnNsYXRlLXN3aXRjaGVyPlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIGNsYXNzPVwiYWN0aW9uLWJ0bi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDx0bGQtdHJhbnNsYXRlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd1RyYW5zbGF0ZUJ0blwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzd2l0Y2hlci10cmFuc2xhdGUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWQgfHwgIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDwvdGxkLXRyYW5zbGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93Q2FuY2VsXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImNhbmNlbC1idXR0b25cIj57eydXRUJUUkFOU0xBVEUuQ0FOQ0VMJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93UmVzdG9yZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJyZXN0b3JlKClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwicmVzdG9yZS1idXR0b25cIj57eydXRUJUUkFOU0xBVEUuUkVTVE9SRScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgaWQ9XCJ3ZWJzaXRlLWZyYW1lLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LXByb2dyZXNzLWJhciAqbmdJZj1cInNob3dQcm9ncmVzc1wiIGNvbG9yPVwiYWNjZW50XCIgW21vZGVdPVwibW9kZVwiIFt2YWx1ZV09XCJwcm9ncmVzc1ZhbHVlXCI+XHJcbiAgICAgIDwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgW0BvcGVuQ2xvc2VBbmltYXRpb25dICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzOyBsZXQgaXggPSBpbmRleFwiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAgIChjbG9zZUNsaWNrZWQpPVwicmVtb3ZlTWVzc2FnZShpeClcIj48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcbiAgICAgICAgPGlmcmFtZSBpZD1cImxldHNtdC10cmFuc2xhdGUtcGFnZS1pZnJhbWVcIiBuYW1lPVwibGV0c210VHJhbnNsYXRlUGFnZUlmcmFtZVwiIHNyYz1cImFib3V0OmJsYW5rXCJcclxuICAgICAgICAgIFthdHRyLnNhbmRib3hdPVwic2FuZGJveFwiPjwvaWZyYW1lPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|