@pepperi-addons/ngx-composite-lib 0.0.16-beta.8 → 0.0.16-beta.9
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus, FileStatusPanelComponent } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarService } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n private currentSnackBar: MatSnackBarRef<FileStatusPanelComponent>|null = null;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService,\n private pepSnackBarService: PepSnackBarService,\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message};\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n this.updateSnackbar();\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n //this.currentSnackBar?.instance.closeClick.emit();\n this.updateSnackbar();\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n updateSnackbar(){\n if (!this.currentSnackBar?.instance){\n this.currentSnackBar = this.pepSnackBarService.openSnackBarFromComponent(FileStatusPanelComponent, {\n title: \"DIMX Process\",\n content: this.iFileArray\n })\n this.currentSnackBar.instance.closeClick.subscribe(() => {\n this.currentSnackBar = null;\n\n });\n }\n else{\n this.currentSnackBar.instance.data.content = this.iFileArray;\n if (this.iFileArray.length === 0){\n this.currentSnackBar.instance.snackBarRef.dismiss();\n this.currentSnackBar = null;\n }\n }\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<!-- <pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel> -->\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n PepSnackBarModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["jwt","PapiClient","Injectable","EventEmitter","FileStatusPanelComponent","PepGuid","saveAs","Component","ViewChild","Input","Output","pepIconSystemDoc","CommonModule","PepNgxLibModule","PepButtonModule","PepIconModule","PepFileStatusPanelModule","PepSnackBarModule","NgModule","FileStatus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus, FileStatusPanelComponent } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarService } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n private currentSnackBar: MatSnackBarRef<FileStatusPanelComponent>|null = null;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService,\n private pepSnackBarService: PepSnackBarService,\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message};\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n this.updateSnackbar();\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n //this.currentSnackBar?.instance.closeClick.emit();\n this.updateSnackbar();\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n updateSnackbar(){\n if (!this.currentSnackBar?.instance){\n this.currentSnackBar = this.pepSnackBarService.openSnackBarFromComponent(FileStatusPanelComponent, {\n title: \"DIMX Process\",\n content: this.iFileArray\n })\n this.currentSnackBar.instance.closeClick.subscribe(() => {\n this.currentSnackBar = null;\n\n });\n }\n else{\n this.currentSnackBar.instance.data.content = this.iFileArray;\n if (this.iFileArray.length === 0){\n this.currentSnackBar.instance.snackBarRef.dismiss();\n this.currentSnackBar = null;\n }\n }\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<!-- <pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel> -->\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n PepSnackBarModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["jwt","PapiClient","Injectable","EventEmitter","FileStatusPanelComponent","PepGuid","saveAs","Component","ViewChild","Input","Output","pepIconSystemDoc","CommonModule","PepNgxLibModule","PepButtonModule","PepIconModule","PepFileStatusPanelModule","PepSnackBarModule","NgModule","FileStatus"],"mappings":"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"}
|
|
@@ -332,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
332
332
|
}], DIMXProcessDone: [{
|
|
333
333
|
type: Output
|
|
334
334
|
}] } });
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBYyx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQVMzRyxNQUFNLE9BQU8sYUFBYTtJQU90QixZQUNZLFNBQTJCLEVBQzVCLFlBQXlCLEVBQ3hCLGtCQUFzQztRQUZ0QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTnhDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsb0JBQWUsR0FBa0QsSUFBSSxDQUFDO1FBbUc5RSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQXFLM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFD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S0FFMkIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNiLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBESU1YU2VydmljZSB9IGZyb20gJy4vZGlteC5zZXJ2aWNlJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgUGVwR3VpZCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElGaWxlRXh0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBGaWxlU3RhdHVzLCBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuaW1wb3J0IHsgUGVwU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtZGlteCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpbXguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpbXguY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBESU1YQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdmaWxlRmllbGQnKSBmaWxlRmllbGQ6RWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBESU1YQWRkb25VVUlEITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIERJTVhSZXNvdXJjZSE6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgRElNWFByb2Nlc3NEb25lOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBkaW14SW1wb3J0T3B0aW9uczogeyBPdmVyd3JpdGVPQmplY3Q/OiBib29sZWFuIHwgdW5kZWZpbmVkOyBEZWxpbWl0ZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IE93bmVySUQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IEFjdGlvbklEPzogc3RyaW5nIHwgdW5kZWZpbmVkfSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIGN1cnJlbnRTbmFja0JhcjogTWF0U25hY2tCYXJSZWY8RmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50PnxudWxsID0gbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhZGRvblNlcnZpY2U6IERJTVhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHBlcFNuYWNrQmFyU2VydmljZTogUGVwU25hY2tCYXJTZXJ2aWNlLFxuICAgICkge1xuXG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgdHJhbnNsYXRpb24gZm9yIGxvYWQgYWxsIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdTSEFET1dfU0VUVElOR1MuSU5URU5TSVRZX1NPRlQnKS50b1Byb21pc2UoKS50aGVuKCh0eXBlU29mdCkgPT4geyBjb25zb2xlLmxvZyhcInNvbWV0aGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlOntcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nXG4gICAgfSl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkZvcm1hdFwiOnZhbHVlLkRJTVhFeHBvcnRGb3JtYXQsXG4gICAgICAgICAgICBcIkluY2x1ZGVEZWxldGVkXCI6dmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkLFxuICAgICAgICAgICAgXCJXaGVyZVwiOnZhbHVlLkRJTVhFeHBvcnRXaGVyZSxcbiAgICAgICAgICAgIFwiRmllbGRzXCI6dmFsdWUuRElNWEV4cG9ydEZpZWxkcyxcbiAgICAgICAgICAgIFwiRGVsaW1pdGVyXCI6dmFsdWUuRElNWEV4cG9ydERlbGltaXRlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgcG9sbERJTVhSZXN1bHQocG9sbGluZ1VSTDpzdHJpbmcsIGlmaWxlOklGaWxlRXh0KXtcbiAgICAgICAgY29uc29sZS5sb2coYHBvbGxpbmcgYXVkaXQgd2l0aCB0aGUgZXhlY3V0aW9uVVVJRDogJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBjb25zdCBkZWxheSA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZShyZXMgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7XG4gICAgICAgIGxldCBzZWNvbmRzID0gMDtcbiAgICAgICAgY29uc3Qgd2FpdGluZ1RpbWUgPSAxMDAwOyAvL2luIG1zXG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICB3aGlsZSh0cnVlKXtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LmdldChgL2F1ZGl0X2xvZ3MvJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVzdWx0IGZyb20gYXVkaXRsb2cgZ2V0IGlzOiAke3Jlc3VsdH1gKTtcbiAgICAgICAgICAgICAgICBpZiggIXJlc3VsdCB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gMiB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gNCl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB3YWl0ZWQgZm9yICR7c2Vjb25kcysrfSBzZWNvbmRzYCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KHdhaXRpbmdUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoKHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdKXtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIkVycm9yTWVzc2FnZVwiXX1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcG9sbGluZyByZXN1bHQ6ICR7cmVzdWx0W1wiQXVkaXRJbmZvXCJdW1wiUmVzdWx0T2JqZWN0XCJdfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl0pO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IGB1bmtub3duIGF1ZGl0IGxvZyB0eXBlOiAke3Jlc3VsdFtcIlN0YXR1c1wiXX1gfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmV3RmlsZU5hbWUodmFsdWU6e1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lOiBzdHJpbmcsXG4gICAgfSl7XG4gICAgICAgIGxldCBleHRlbnNpb247XG4gICAgICAgIHN3aXRjaCAodmFsdWUuRElNWEV4cG9ydEZvcm1hdC50b0xvd2VyQ2FzZSgpKXtcbiAgICAgICAgICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCIuanNvblwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImNzdlwiOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICcuY3N2JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZTtcbiAgICAgICAgcmV0dXJuIGZpbGVuYW1lK2V4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgaUZpbGVJRCA9IDA7XG4gICAgaUZpbGVBcnJheTpJRmlsZUV4dFtdID0gW107XG4gICAgY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWU6c3RyaW5nICwgc3RhdHVzOlwiZG93bmxvYWRpbmdcInxcInVwbG9hZGluZ1wiKTpJRmlsZUV4dHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwia2V5XCI6dGhpcy5pRmlsZUlEKyssXG4gICAgICAgICAgICBcIm5hbWVcIjpmaWxlTmFtZSxcbiAgICAgICAgICAgIFwic3RhdHVzXCI6c3RhdHVzfTtcbiAgICB9XG5cbiAgICBhc3luYyByZW1vdmVJZmlsZXNXaXRoRGVsYXkoaUZpbGU6RmlsZVN0YXR1cywgZGVsYXkgPSAyMDAwKSB7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pRmlsZUFycmF5LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkuc3BsaWNlKGluZGV4LDEpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG4gICAgYXN5bmMgY2xlYXJJRmlsZXNXaXRoRGVsYXkoZGVsYXkgPSAyMDAwKXtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgICAvL3RoaXMuY3VycmVudFNuYWNrQmFyPy5pbnN0YW5jZS5jbG9zZUNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG5cbiAgICB1cGxvYWRGaWxlKG9wdGlvbnM/OntPdmVyd3JpdGVPQmplY3Q/OmJvb2xlYW4sIERlbGltaXRlcj86c3RyaW5nLCBPd25lcklEPzpzdHJpbmcsIEFjdGlvbklEPzpzdHJpbmd9KXtcbiAgICAgICAgdGhpcy5kaW14SW1wb3J0T3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZpbGV1cGxvYWRlclwiKTtcbiAgIGlmKGVsZW0gJiYgZG9jdW1lbnQuY3JlYXRlRXZlbnQpIHtcbiAgICAgIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiTW91c2VFdmVudHNcIik7XG4gICAgICBldnQuaW5pdEV2ZW50KFwiY2xpY2tcIiwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgZWxlbS5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gICB9XG4gICAgICAgIC8vIHRoaXMuZmlsZUZpZWxkPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfSAgIFxuXG4gICAgSXNGaWxlSW5Qcm9ncmVzcyhpRmlsZTpGaWxlU3RhdHVzKXtcbiAgICAgICAgcmV0dXJuIGlGaWxlLnN0YXR1cyA9PSBcImRvd25sb2FkaW5nXCIgfHwgaUZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCI7XG4gICAgfVxuXG4gICAgQW55RmlsZXNJblByb2dyZXNzKCl7XG4gICAgICAgIGlmICh0aGlzLmlGaWxlQXJyYXkuZmluZCh0aGlzLklzRmlsZUluUHJvZ3Jlc3MpID09PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgR2V0RG9uZUV2ZW50Qm9keSgpe1xuICAgICAgICByZXR1cm4gdGhpcy5pRmlsZUFycmF5Lm1hcChpRmlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFwiRmlsZU5hbWVcIjogaUZpbGUubmFtZSwgXG4gICAgICAgICAgICAgICAgXCJTdGF0dXNcIjogaUZpbGUuc3RhdHVzLFxuICAgICAgICAgICAgICAgIFwiUmV0dXJuZWRPYmplY3RcIjogaUZpbGUucmV0dXJuZWRPYmplY3QhXG4gICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgU2VuZERvbmVFdmVudElmRG9uZSgpe1xuICAgICAgICBpZiAodGhpcy5BbnlGaWxlc0luUHJvZ3Jlc3MoKSl7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXZlbnRPYmplY3Q6YW55ID0gdGhpcy5HZXREb25lRXZlbnRCb2R5KCk7XG4gICAgICAgIHRoaXMuRElNWFByb2Nlc3NEb25lLmVtaXQoZXZlbnRPYmplY3QpO1xuICAgICAgICBhd2FpdCB0aGlzLmNsZWFySUZpbGVzV2l0aERlbGF5KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlU25hY2tiYXIoKXtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRTbmFja0Jhcj8uaW5zdGFuY2Upe1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIgPSB0aGlzLnBlcFNuYWNrQmFyU2VydmljZS5vcGVuU25hY2tCYXJGcm9tQ29tcG9uZW50KEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkRJTVggUHJvY2Vzc1wiLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuaUZpbGVBcnJheVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyLmluc3RhbmNlLmNsb3NlQ2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0JhciA9IG51bGw7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0Jhci5pbnN0YW5jZS5kYXRhLmNvbnRlbnQgPSB0aGlzLmlGaWxlQXJyYXk7XG4gICAgICAgICAgICBpZiAodGhpcy5pRmlsZUFycmF5Lmxlbmd0aCA9PT0gMCl7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIuaW5zdGFuY2Uuc25hY2tCYXJSZWYuZGlzbWlzcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGRpbXhpbXBvcnRydW4oZTphbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJFbnRlciBESU1YSW1wb3J0UnVuXCIpO1xuICAgICAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEFzQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgICAgZmlsZUxpc3RBc0FycmF5LmZvckVhY2goYXN5bmMgKGZpbGUsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGV4ID0gKGZpbGUgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCA9IGAvYWRkb25zL2FwaS80NGM5NzExNS02ZDE0LTQ2MjYtOTFkYy04M2YxNzZlOWEwZmMvYXBpL2ZpbGVfaW1wb3J0X3VwbG9hZGA7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSAoYXdhaXQgdGhpcy50b0Jhc2U2NChmaWxleCkpIGFzIHN0cmluZzsgLy8/Pz9cbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IGZpbGV4Lm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge2ZpbGVTdHI6c3RyLCBmaWxlRXh0OmV4dH1cbiAgICAgICAgICAgIGNvbnN0IGRpbXhVcGxvYWRPYmplY3QgPSB7Li4udGhpcy5nZXRQRlNVcGxvYWRPYmplY3QodmFsdWUpLCAuLi50aGlzLmRpbXhJbXBvcnRPcHRpb25zLCBSZXNvdXJjZTp0aGlzLkRJTVhSZXNvdXJjZSwgQWRkb25VVUlEOnRoaXMuRElNWEFkZG9uVVVJRH07XG4gICAgICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZXgubmFtZSwgXCJ1cGxvYWRpbmdcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYWRkZWQgaUZpbGUgdG8gaUZpbGVBcnJheWApO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggaW1wb3J0X3VwbG9hZCBub3dcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyOmFueSA9IHt9O1xuICAgICAgICAgICAgICAgIGlmKGRpbXhVcGxvYWRPYmplY3QuQWN0aW9uSUQpe1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09ZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoZGlteFVwbG9hZE9iamVjdC5Pd25lcklEKXtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLU93bmVySURcIl09ZGlteFVwbG9hZE9iamVjdC5Pd25lcklEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoZGlteF9pbXBvcnRfcmVsYXRpdmVVUkwsIGRpbXhVcGxvYWRPYmplY3QsIGhlYWRlcik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXMpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBvbGxfcmVzdWx0ID0gYXdhaXQgdGhpcy5wb2xsRElNWFJlc3VsdChyZXNbJ0V4ZWN1dGlvblVVSUQnXSwgaUZpbGUpO1xuICAgICAgICAgICAgICAgIGlmIChwb2xsX3Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBkb25lIHBvbGxpbmcsIGdvdCByZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocG9sbF9yZXN1bHQpfWApO1xuICAgICAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0gcG9sbF9yZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiSW1wb3J0ZWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgICAgICAvLyBjaGVjayBhbGwgZG9uZVxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYERJTVhJbXBvcnRSdW46ICR7ZXh9YCk7XG4gICAgICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlLCAyMDAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0TmV3UEZTVXBsb2FkS2V5KGZpbGVFeHQ6c3RyaW5nKXtcbiAgICAgICAgY29uc3QgdXVpZCA9IFBlcEd1aWQubmV3R3VpZCgpO1xuICAgICAgICBjb25zdCBmb2xkZXIgPSAnRElNWF9pbXBvcnQnO1xuICAgICAgICBjb25zdCBwZnNLZXkgPSBgLyR7Zm9sZGVyfS8ke3V1aWR9LiR7ZmlsZUV4dH1gO1xuICAgICAgICByZXR1cm4gcGZzS2V5O1xuICAgIH1cbiAgICBnZXRQRlNVcGxvYWRPYmplY3QodmFsdWU6e2ZpbGVTdHI6c3RyaW5nLCBmaWxlRXh0OnN0cmluZ30pe1xuICAgICAgICBjb25zdCBmaWxlU3RyQXJyID0gdmFsdWUuZmlsZVN0ci5zcGxpdCgnOycpO1xuICAgICAgICBjb25zdCBtaW1lID0gZmlsZVN0ckFyclswXS5zcGxpdCgnOicpWzFdO1xuICAgICAgICBjb25zdCBwZnNLZXkgPSB0aGlzLmdldE5ld1BGU1VwbG9hZEtleSh2YWx1ZS5maWxlRXh0KTtcbiAgICAgICAgY29uc3QgcGZzVXBsb2FkT2JqZWN0ID0ge1xuICAgICAgICAgICAgXCJLZXlcIjogcGZzS2V5LFxuICAgICAgICAgICAgXCJNSU1FXCI6IG1pbWUsXG4gICAgICAgICAgICBcIlVSSVwiOnZhbHVlLmZpbGVTdHJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGZzVXBsb2FkT2JqZWN0O1xuICAgIH1cblxuICAgIHRvQmFzZTY0ID0gKGZpbGU6YW55KSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XG4gICAgICAgIFxuICAgICAgICB9KTtcblxuICAgIGFzeW5jIERJTVhFeHBvcnRSdW4odmFsdWU6IHtcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nLFxuICAgICAgICBBY3Rpb25JRD86c3RyaW5nXG4gICAgfSkge1xuICAgICAgICBpZiAoIXZhbHVlKXtcbiAgICAgICAgICAgIHZhbHVlID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0KXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRGb3JtYXQgPSAnanNvbic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWUpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lID0gJ2V4cG9ydCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9kID0gdGhpcy5nZXRESU1YRXhwb3J0UE9TVEJvZHkodmFsdWUgPyB2YWx1ZSA6IHt9KTtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmdldE5ld0ZpbGVOYW1lKHZhbHVlIGFzIHtESU1YRXhwb3J0Rm9ybWF0OnN0cmluZywgRElNWEV4cG9ydEZpbGVOYW1lOnN0cmluZ30pO1xuICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWUsIFwiZG93bmxvYWRpbmdcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGVkIG5ldyBpRmlsZTogJHtpRmlsZX1gKTtcbiAgICAgICAgdGhpcy5pRmlsZUFycmF5LnB1c2goaUZpbGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBhZGRlZCBpRmlsZSB0byBpRmlsZUFycmF5YCk7XG4gICAgIFxuICAgICAgICB0cnl7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicG9zdGluZyB0byBkaW14IGV4cG9ydCBub3dcIik7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXI6YW55ID0ge307XG4gICAgICAgICAgICBpZih2YWx1ZS5BY3Rpb25JRCl7XG4gICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLUFjdGlvbklEXCJdPXZhbHVlLkFjdGlvbklEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5wb3N0KGAvYWRkb25zL2RhdGEvZXhwb3J0L2ZpbGUvJHt0aGlzLkRJTVhBZGRvblVVSUR9LyR7dGhpcy5ESU1YUmVzb3VyY2V9YCwgYm9kLCBoZWFkZXIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvbGxESU1YUmVzdWx0KHJlc1snRXhlY3V0aW9uVVVJRCddLCBpRmlsZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1cmwgPSByZXN1bHRbXCJEb3dubG9hZFVSTFwiXTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJhdHRlbXB0aW5nIHRvIGRvd25sb2FkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVybCBpczogJHt1cmx9YCk7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHIgPT4gci5ibG9iKCkpO1xuICAgICAgICAgICAgc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKTtcbiAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZG93bmxvYWRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgIC8vYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSB7XCJFcnJvck1lc3NhZ2VcIjooZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBidXR0b25DbGljazogJHtleH1gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgIFxuXG4gICBcbn1cbiIsIjwhLS0gPHBlcC1maWxlLXN0YXR1cy1wYW5lbCBbdGl0bGVdPVwiJ0ZpbGUgSW1wb3J0cy9FeHBvcnRzJ1wiICpuZ0lmPVwiaUZpbGVBcnJheT8ubGVuZ3RoXCIgW2ZpbGVzTGlzdF09XCJpRmlsZUFycmF5XCI+PC9wZXAtZmlsZS1zdGF0dXMtcGFuZWw+IC0tPlxuPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIG5hbWU9XCJhdmF0YXJzXCIgaWQ9XCJmaWxldXBsb2FkZXJcIiAjZmlsZUZpZWxkIChjaGFuZ2UpPVwiZGlteGltcG9ydHJ1bigkZXZlbnQpXCI+XG48IS0tIDxwZXAtYnV0dG9uXG4gIHZhbHVlPVwiZXhwb3J0XCJcbiAgc3R5bGVUeXBlPVwic3Ryb25nXCJcbiAgc3R5bGVTdGF0ZVR5cGU9XCJzdWNjZXNzXCJcbiAgc2l6ZVR5cGU9XCJzbVwiXG4gIGNsYXNzTmFtZXM9XCJoYWhhaFwiXG4gIGljb25OYW1lPVwic3lzdGVtX2RvY1wiXG4gIChidXR0b25DbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbj48L3BlcC1idXR0b24+IC0tPiJdfQ==
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBYyx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQVMzRyxNQUFNLE9BQU8sYUFBYTtJQU90QixZQUNZLFNBQTJCLEVBQzVCLFlBQXlCLEVBQ3hCLGtCQUFzQztRQUZ0QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTnhDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsb0JBQWUsR0FBa0QsSUFBSSxDQUFDO1FBbUc5RSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQXFLM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFD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S0FFMkIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNiLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBESU1YU2VydmljZSB9IGZyb20gJy4vZGlteC5zZXJ2aWNlJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgUGVwR3VpZCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElGaWxlRXh0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBGaWxlU3RhdHVzLCBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuaW1wb3J0IHsgUGVwU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtZGlteCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpbXguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpbXguY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBESU1YQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdmaWxlRmllbGQnKSBmaWxlRmllbGQ6RWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBESU1YQWRkb25VVUlEITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIERJTVhSZXNvdXJjZSE6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgRElNWFByb2Nlc3NEb25lOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBkaW14SW1wb3J0T3B0aW9uczogeyBPdmVyd3JpdGVPQmplY3Q/OiBib29sZWFuIHwgdW5kZWZpbmVkOyBEZWxpbWl0ZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IE93bmVySUQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IEFjdGlvbklEPzogc3RyaW5nIHwgdW5kZWZpbmVkfSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIGN1cnJlbnRTbmFja0JhcjogTWF0U25hY2tCYXJSZWY8RmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50PnxudWxsID0gbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhZGRvblNlcnZpY2U6IERJTVhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHBlcFNuYWNrQmFyU2VydmljZTogUGVwU25hY2tCYXJTZXJ2aWNlLFxuICAgICkge1xuXG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgdHJhbnNsYXRpb24gZm9yIGxvYWQgYWxsIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdTSEFET1dfU0VUVElOR1MuSU5URU5TSVRZX1NPRlQnKS50b1Byb21pc2UoKS50aGVuKCh0eXBlU29mdCkgPT4geyBjb25zb2xlLmxvZyhcInNvbWV0aGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlOntcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nXG4gICAgfSl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkZvcm1hdFwiOnZhbHVlLkRJTVhFeHBvcnRGb3JtYXQsXG4gICAgICAgICAgICBcIkluY2x1ZGVEZWxldGVkXCI6dmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkLFxuICAgICAgICAgICAgXCJXaGVyZVwiOnZhbHVlLkRJTVhFeHBvcnRXaGVyZSxcbiAgICAgICAgICAgIFwiRmllbGRzXCI6dmFsdWUuRElNWEV4cG9ydEZpZWxkcyxcbiAgICAgICAgICAgIFwiRGVsaW1pdGVyXCI6dmFsdWUuRElNWEV4cG9ydERlbGltaXRlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgcG9sbERJTVhSZXN1bHQocG9sbGluZ1VSTDpzdHJpbmcsIGlmaWxlOklGaWxlRXh0KXtcbiAgICAgICAgY29uc29sZS5sb2coYHBvbGxpbmcgYXVkaXQgd2l0aCB0aGUgZXhlY3V0aW9uVVVJRDogJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBjb25zdCBkZWxheSA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZShyZXMgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7XG4gICAgICAgIGxldCBzZWNvbmRzID0gMDtcbiAgICAgICAgY29uc3Qgd2FpdGluZ1RpbWUgPSAxMDAwOyAvL2luIG1zXG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICB3aGlsZSh0cnVlKXtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LmdldChgL2F1ZGl0X2xvZ3MvJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVzdWx0IGZyb20gYXVkaXRsb2cgZ2V0IGlzOiAke3Jlc3VsdH1gKTtcbiAgICAgICAgICAgICAgICBpZiggIXJlc3VsdCB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gMiB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gNCl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB3YWl0ZWQgZm9yICR7c2Vjb25kcysrfSBzZWNvbmRzYCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KHdhaXRpbmdUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoKHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdKXtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIkVycm9yTWVzc2FnZVwiXX1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcG9sbGluZyByZXN1bHQ6ICR7cmVzdWx0W1wiQXVkaXRJbmZvXCJdW1wiUmVzdWx0T2JqZWN0XCJdfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl0pO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IGB1bmtub3duIGF1ZGl0IGxvZyB0eXBlOiAke3Jlc3VsdFtcIlN0YXR1c1wiXX1gfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmV3RmlsZU5hbWUodmFsdWU6e1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lOiBzdHJpbmcsXG4gICAgfSl7XG4gICAgICAgIGxldCBleHRlbnNpb247XG4gICAgICAgIHN3aXRjaCAodmFsdWUuRElNWEV4cG9ydEZvcm1hdC50b0xvd2VyQ2FzZSgpKXtcbiAgICAgICAgICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCIuanNvblwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImNzdlwiOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICcuY3N2JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZTtcbiAgICAgICAgcmV0dXJuIGZpbGVuYW1lK2V4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgaUZpbGVJRCA9IDA7XG4gICAgaUZpbGVBcnJheTpJRmlsZUV4dFtdID0gW107XG4gICAgY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWU6c3RyaW5nICwgc3RhdHVzOlwiZG93bmxvYWRpbmdcInxcInVwbG9hZGluZ1wiKTpJRmlsZUV4dHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwia2V5XCI6dGhpcy5pRmlsZUlEKyssXG4gICAgICAgICAgICBcIm5hbWVcIjpmaWxlTmFtZSxcbiAgICAgICAgICAgIFwic3RhdHVzXCI6c3RhdHVzfTtcbiAgICB9XG5cbiAgICBhc3luYyByZW1vdmVJZmlsZXNXaXRoRGVsYXkoaUZpbGU6RmlsZVN0YXR1cywgZGVsYXkgPSAyMDAwKSB7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pRmlsZUFycmF5LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkuc3BsaWNlKGluZGV4LDEpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG4gICAgYXN5bmMgY2xlYXJJRmlsZXNXaXRoRGVsYXkoZGVsYXkgPSAyMDAwKXtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgICAvL3RoaXMuY3VycmVudFNuYWNrQmFyPy5pbnN0YW5jZS5jbG9zZUNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG5cbiAgICB1cGxvYWRGaWxlKG9wdGlvbnM/OntPdmVyd3JpdGVPQmplY3Q/OmJvb2xlYW4sIERlbGltaXRlcj86c3RyaW5nLCBPd25lcklEPzpzdHJpbmcsIEFjdGlvbklEPzpzdHJpbmd9KXtcbiAgICAgICAgdGhpcy5kaW14SW1wb3J0T3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZpbGV1cGxvYWRlclwiKTtcbiAgIGlmKGVsZW0gJiYgZG9jdW1lbnQuY3JlYXRlRXZlbnQpIHtcbiAgICAgIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiTW91c2VFdmVudHNcIik7XG4gICAgICBldnQuaW5pdEV2ZW50KFwiY2xpY2tcIiwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgZWxlbS5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gICB9XG4gICAgICAgIC8vIHRoaXMuZmlsZUZpZWxkPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfSAgIFxuXG4gICAgSXNGaWxlSW5Qcm9ncmVzcyhpRmlsZTpGaWxlU3RhdHVzKXtcbiAgICAgICAgcmV0dXJuIGlGaWxlLnN0YXR1cyA9PSBcImRvd25sb2FkaW5nXCIgfHwgaUZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCI7XG4gICAgfVxuXG4gICAgQW55RmlsZXNJblByb2dyZXNzKCl7XG4gICAgICAgIGlmICh0aGlzLmlGaWxlQXJyYXkuZmluZCh0aGlzLklzRmlsZUluUHJvZ3Jlc3MpID09PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgR2V0RG9uZUV2ZW50Qm9keSgpe1xuICAgICAgICByZXR1cm4gdGhpcy5pRmlsZUFycmF5Lm1hcChpRmlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFwiRmlsZU5hbWVcIjogaUZpbGUubmFtZSwgXG4gICAgICAgICAgICAgICAgXCJTdGF0dXNcIjogaUZpbGUuc3RhdHVzLFxuICAgICAgICAgICAgICAgIFwiUmV0dXJuZWRPYmplY3RcIjogaUZpbGUucmV0dXJuZWRPYmplY3RcbiAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBTZW5kRG9uZUV2ZW50SWZEb25lKCl7XG4gICAgICAgIGlmICh0aGlzLkFueUZpbGVzSW5Qcm9ncmVzcygpKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudE9iamVjdDphbnkgPSB0aGlzLkdldERvbmVFdmVudEJvZHkoKTtcbiAgICAgICAgdGhpcy5ESU1YUHJvY2Vzc0RvbmUuZW1pdChldmVudE9iamVjdCk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2xlYXJJRmlsZXNXaXRoRGVsYXkoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVTbmFja2Jhcigpe1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudFNuYWNrQmFyPy5pbnN0YW5jZSl7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0JhciA9IHRoaXMucGVwU25hY2tCYXJTZXJ2aWNlLm9wZW5TbmFja0JhckZyb21Db21wb25lbnQoRmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRElNWCBQcm9jZXNzXCIsXG4gICAgICAgICAgICAgICAgY29udGVudDogdGhpcy5pRmlsZUFycmF5XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIuaW5zdGFuY2UuY2xvc2VDbGljay5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyID0gbnVsbDtcblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyLmluc3RhbmNlLmRhdGEuY29udGVudCA9IHRoaXMuaUZpbGVBcnJheTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlGaWxlQXJyYXkubGVuZ3RoID09PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0Jhci5pbnN0YW5jZS5zbmFja0JhclJlZi5kaXNtaXNzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZGlteGltcG9ydHJ1bihlOmFueSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVudGVyIERJTVhJbXBvcnRSdW5cIik7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXM7XG4gICAgICAgIGNvbnN0IGZpbGVMaXN0QXNBcnJheSA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgICBmaWxlTGlzdEFzQXJyYXkuZm9yRWFjaChhc3luYyAoZmlsZSwgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZXggPSAoZmlsZSBhcyBIVE1MSW5wdXRFbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGRpbXhfaW1wb3J0X3JlbGF0aXZlVVJMID0gYC9hZGRvbnMvYXBpLzQ0Yzk3MTE1LTZkMTQtNDYyNi05MWRjLTgzZjE3NmU5YTBmYy9hcGkvZmlsZV9pbXBvcnRfdXBsb2FkYDtcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IChhd2FpdCB0aGlzLnRvQmFzZTY0KGZpbGV4KSkgYXMgc3RyaW5nOyAvLz8/P1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gZmlsZXgubmFtZS5zcGxpdCgnLicpWzFdO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB7ZmlsZVN0cjpzdHIsIGZpbGVFeHQ6ZXh0fVxuICAgICAgICAgICAgY29uc3QgZGlteFVwbG9hZE9iamVjdCA9IHsuLi50aGlzLmdldFBGU1VwbG9hZE9iamVjdCh2YWx1ZSksIC4uLnRoaXMuZGlteEltcG9ydE9wdGlvbnMsIFJlc291cmNlOnRoaXMuRElNWFJlc291cmNlLCBBZGRvblVVSUQ6dGhpcy5ESU1YQWRkb25VVUlEfTtcbiAgICAgICAgICAgIGNvbnN0IGlGaWxlOklGaWxlRXh0ID0gdGhpcy5jcmVhdGVOZXdJRmlsZShmaWxleC5uYW1lLCBcInVwbG9hZGluZ1wiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGVkIG5ldyBpRmlsZTogJHtpRmlsZX1gKTtcbiAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheS5wdXNoKGlGaWxlKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBhZGRlZCBpRmlsZSB0byBpRmlsZUFycmF5YCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRyeXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInBvc3RpbmcgdG8gZGlteCBpbXBvcnRfdXBsb2FkIG5vd1wiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXI6YW55ID0ge307XG4gICAgICAgICAgICAgICAgaWYoZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRCl7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcltcIlgtUGVwcGVyaS1BY3Rpb25JRFwiXT1kaW14VXBsb2FkT2JqZWN0LkFjdGlvbklEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZihkaW14VXBsb2FkT2JqZWN0Lk93bmVySUQpe1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktT3duZXJJRFwiXT1kaW14VXBsb2FkT2JqZWN0Lk93bmVySUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYWRkb25TZXJ2aWNlLnBhcGlDbGllbnQucG9zdChkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCwgZGlteFVwbG9hZE9iamVjdCwgaGVhZGVyKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkdvdCByZXBseSBmcm9tIGRpbXgsIGNhbGxpbmcgcG9sbCB3aXRoIHRoZSByZXN1bHQ6XCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHJlcykpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcG9sbF9yZXN1bHQgPSBhd2FpdCB0aGlzLnBvbGxESU1YUmVzdWx0KHJlc1snRXhlY3V0aW9uVVVJRCddLCBpRmlsZSk7XG4gICAgICAgICAgICAgICAgaWYgKHBvbGxfcmVzdWx0ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGRvbmUgcG9sbGluZywgZ290IHJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShwb2xsX3Jlc3VsdCl9YCk7XG4gICAgICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJkb25lXCI7XG4gICAgICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSBwb2xsX3Jlc3VsdDtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJJbXBvcnRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGFsbCBkb25lXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRElNWEltcG9ydFJ1bjogJHtleH1gKTtcbiAgICAgICAgICAgICAgICBpRmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IChleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUsIDIwMDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXROZXdQRlNVcGxvYWRLZXkoZmlsZUV4dDpzdHJpbmcpe1xuICAgICAgICBjb25zdCB1dWlkID0gUGVwR3VpZC5uZXdHdWlkKCk7XG4gICAgICAgIGNvbnN0IGZvbGRlciA9ICdESU1YX2ltcG9ydCc7XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IGAvJHtmb2xkZXJ9LyR7dXVpZH0uJHtmaWxlRXh0fWA7XG4gICAgICAgIHJldHVybiBwZnNLZXk7XG4gICAgfVxuICAgIGdldFBGU1VwbG9hZE9iamVjdCh2YWx1ZTp7ZmlsZVN0cjpzdHJpbmcsIGZpbGVFeHQ6c3RyaW5nfSl7XG4gICAgICAgIGNvbnN0IGZpbGVTdHJBcnIgPSB2YWx1ZS5maWxlU3RyLnNwbGl0KCc7Jyk7XG4gICAgICAgIGNvbnN0IG1pbWUgPSBmaWxlU3RyQXJyWzBdLnNwbGl0KCc6JylbMV07XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IHRoaXMuZ2V0TmV3UEZTVXBsb2FkS2V5KHZhbHVlLmZpbGVFeHQpO1xuICAgICAgICBjb25zdCBwZnNVcGxvYWRPYmplY3QgPSB7XG4gICAgICAgICAgICBcIktleVwiOiBwZnNLZXksXG4gICAgICAgICAgICBcIk1JTUVcIjogbWltZSxcbiAgICAgICAgICAgIFwiVVJJXCI6dmFsdWUuZmlsZVN0clxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwZnNVcGxvYWRPYmplY3Q7XG4gICAgfVxuXG4gICAgdG9CYXNlNjQgPSAoZmlsZTphbnkpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgXG4gICAgICAgIH0pO1xuXG4gICAgYXN5bmMgRElNWEV4cG9ydFJ1bih2YWx1ZToge1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0PzpzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZD86IGJvb2xlYW4sXG4gICAgICAgIERJTVhFeHBvcnRGaWxlTmFtZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydFdoZXJlPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RmllbGRzPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RGVsaW1pdGVyPzpzdHJpbmcsXG4gICAgICAgIEFjdGlvbklEPzpzdHJpbmdcbiAgICB9KSB7XG4gICAgICAgIGlmICghdmFsdWUpe1xuICAgICAgICAgICAgdmFsdWUgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGb3JtYXQpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEZvcm1hdCA9ICdqc29uJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZSl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWUgPSAnZXhwb3J0JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBib2QgPSB0aGlzLmdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZSA/IHZhbHVlIDoge30pO1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0TmV3RmlsZU5hbWUodmFsdWUgYXMge0RJTVhFeHBvcnRGb3JtYXQ6c3RyaW5nLCBESU1YRXhwb3J0RmlsZU5hbWU6c3RyaW5nfSk7XG4gICAgICAgIGNvbnN0IGlGaWxlOklGaWxlRXh0ID0gdGhpcy5jcmVhdGVOZXdJRmlsZShmaWxlTmFtZSwgXCJkb3dubG9hZGluZ1wiKTtcbiAgICAgICAgY29uc29sZS5sb2coYGNyZWF0ZWQgbmV3IGlGaWxlOiAke2lGaWxlfWApO1xuICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgY29uc29sZS5sb2coYGFkZGVkIGlGaWxlIHRvIGlGaWxlQXJyYXlgKTtcbiAgICAgXG4gICAgICAgIHRyeXtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggZXhwb3J0IG5vd1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcjphbnkgPSB7fTtcbiAgICAgICAgICAgIGlmKHZhbHVlLkFjdGlvbklEKXtcbiAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09dmFsdWUuQWN0aW9uSUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoYC9hZGRvbnMvZGF0YS9leHBvcnQvZmlsZS8ke3RoaXMuRElNWEFkZG9uVVVJRH0vJHt0aGlzLkRJTVhSZXNvdXJjZX1gLCBib2QsIGhlYWRlcik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkdvdCByZXBseSBmcm9tIGRpbXgsIGNhbGxpbmcgcG9sbCB3aXRoIHRoZSByZXN1bHQ6XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9sbERJTVhSZXN1bHQocmVzWydFeGVjdXRpb25VVUlEJ10sIGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpe1xuICAgICAgICAgICAgICAgIHJldHVybiBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHJlc3VsdFtcIkRvd25sb2FkVVJMXCJdO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImF0dGVtcHRpbmcgdG8gZG93bmxvYWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdXJsIGlzOiAke3VybH1gKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ociA9PiByLmJsb2IoKSk7XG4gICAgICAgICAgICBzYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJkb25lXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJkb3dubG9hZGVkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICBpRmlsZS5zdGF0dXM9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOihleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGJ1dHRvbkNsaWNrOiAke2V4fWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgXG5cbiAgIFxufVxuIiwiPCEtLSA8cGVwLWZpbGUtc3RhdHVzLXBhbmVsIFt0aXRsZV09XCInRmlsZSBJbXBvcnRzL0V4cG9ydHMnXCIgKm5nSWY9XCJpRmlsZUFycmF5Py5sZW5ndGhcIiBbZmlsZXNMaXN0XT1cImlGaWxlQXJyYXlcIj48L3BlcC1maWxlLXN0YXR1cy1wYW5lbD4gLS0+XG48aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgbmFtZT1cImF2YXRhcnNcIiBpZD1cImZpbGV1cGxvYWRlclwiICNmaWxlRmllbGQgKGNoYW5nZSk9XCJkaW14aW1wb3J0cnVuKCRldmVudClcIj5cbjwhLS0gPHBlcC1idXR0b25cbiAgdmFsdWU9XCJleHBvcnRcIlxuICBzdHlsZVR5cGU9XCJzdHJvbmdcIlxuICBzdHlsZVN0YXRlVHlwZT1cInN1Y2Nlc3NcIlxuICBzaXplVHlwZT1cInNtXCJcbiAgY2xhc3NOYW1lcz1cImhhaGFoXCJcbiAgaWNvbk5hbWU9XCJzeXN0ZW1fZG9jXCJcbiAgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuPjwvcGVwLWJ1dHRvbj4gLS0+Il19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.js","sources":["../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus, FileStatusPanelComponent } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarService } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n private currentSnackBar: MatSnackBarRef<FileStatusPanelComponent>|null = null;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService,\n private pepSnackBarService: PepSnackBarService,\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message};\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n this.updateSnackbar();\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n //this.currentSnackBar?.instance.closeClick.emit();\n this.updateSnackbar();\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n updateSnackbar(){\n if (!this.currentSnackBar?.instance){\n this.currentSnackBar = this.pepSnackBarService.openSnackBarFromComponent(FileStatusPanelComponent, {\n title: \"DIMX Process\",\n content: this.iFileArray\n })\n this.currentSnackBar.instance.closeClick.subscribe(() => {\n this.currentSnackBar = null;\n\n });\n }\n else{\n this.currentSnackBar.instance.data.content = this.iFileArray;\n if (this.iFileArray.length === 0){\n this.currentSnackBar.instance.snackBarRef.dismiss();\n this.currentSnackBar = null;\n }\n }\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<!-- <pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel> -->\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n PepSnackBarModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAQa,WAAW;IAcpB,YACW,OAA2B,EAC3B,oBAA6C,EAC5C,OAAuB;QAFxB,YAAO,GAAP,OAAO,CAAoB;QAC3B,yBAAoB,GAApB,oBAAoB,CAAyB;QAC5C,YAAO,GAAP,OAAO,CAAgB;;QAfnC,gBAAW,GAAG,EAAE,CAAC;QAEjB,gBAAW,GAAG,EAAE,CAAA;;QAgBZ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE/C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;KACzD;IAlBD,IAAI,UAAU;QACV,OAAO,IAAI,UAAU,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YACjC,eAAe,EAAC,IAAI;SACvB,CAAC,CAAA;KACL;IAcK,GAAG,CAAC,QAAgB;;YACtB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC9C;KAAA;IAEK,IAAI,CAAC,QAAgB,EAAE,IAAS;;YAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACrD;KAAA;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KAChD;IAED,OAAO,CAAC,QAAgB,EAAE,IAAS;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACvD;;wGAxCQ,WAAW;4GAAX,WAAW,cADE,MAAM;2FACnB,WAAW;kBADvB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCQrB,aAAa;IAOtB,YACY,SAA2B,EAC5B,YAAyB,EACxB,kBAAsC;QAFtC,cAAS,GAAT,SAAS,CAAkB;QAC5B,iBAAY,GAAZ,YAAY,CAAa;QACxB,uBAAkB,GAAlB,kBAAkB,CAAoB;QANxC,oBAAe,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE1D,oBAAe,GAAkD,IAAI,CAAC;QAmG9E,YAAO,GAAG,CAAC,CAAC;QACZ,eAAU,GAAc,EAAE,CAAC;QAqK3B,aAAQ,GAAG,CAAC,IAAQ,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YAEjD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAEhC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE3B,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;SAEvC,CAAC,CAAC;KA5QN;IAGD,QAAQ;;QAEJ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC9G,CAAC,CAAC;KACN;IAED,qBAAqB,CAAC,KAOrB;QACG,OAAO;YACH,QAAQ,EAAC,KAAK,CAAC,gBAAgB;YAC/B,gBAAgB,EAAC,KAAK,CAAC,wBAAwB;YAC/C,OAAO,EAAC,KAAK,CAAC,eAAe;YAC7B,QAAQ,EAAC,KAAK,CAAC,gBAAgB;YAC/B,WAAW,EAAC,KAAK,CAAC,mBAAmB;SACxC,CAAA;KACJ;IAEK,cAAc,CAAC,UAAiB,EAAE,KAAc;;YAClD,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,CAAC,EAAU,KAAK,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC;YACzB,IAAG;gBACC,IAAI,MAAM,CAAC;gBACX,OAAM,IAAI,EAAC;oBACP,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;oBAE7E,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC;wBACxE,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,UAAU,CAAC,CAAC;wBAC/C,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;qBAC5B;yBACG;wBACA,MAAM;qBACT;iBACJ;gBACD,QAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;oBACzB,KAAK,CAAC;wBACF,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;wBACxB,KAAK,CAAC,cAAc,GAAG,EAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAC,CAAA;wBAC5E,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAC;oBAChB,KAAK,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBACtE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC3D;wBACI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;wBACxB,KAAK,CAAC,cAAc,GAAG,EAAC,cAAc,EAAE,2BAA2B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAA;wBACtF,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAA;iBAClB;aACJ;YACD,OAAM,EAAE,EAAC;gBACL,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACxB,KAAK,CAAC,cAAc,GAAG,EAAC,cAAc,EAAG,EAAuB,CAAC,OAAO,EAAC,CAAC;gBAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;aACf;SACJ;KAAA;IAED,cAAc,CAAC,KAGd;QACG,IAAI,SAAS,CAAC;QACd,QAAQ,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE;YACxC,KAAK,MAAM;gBACP,SAAS,GAAG,OAAO,CAAC;gBACpB,MAAM;YACV,KAAK,KAAK;gBACN,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;YACV;gBACI,SAAS,GAAG,EAAE,CAAC;SACtB;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;QAC1C,OAAO,QAAQ,GAAC,SAAS,CAAC;KAC7B;IAID,cAAc,CAAC,QAAe,EAAG,MAAgC;QAC7D,OAAO;YACH,KAAK,EAAC,IAAI,CAAC,OAAO,EAAE;YACpB,MAAM,EAAC,QAAQ;YACf,QAAQ,EAAC,MAAM;SAAC,CAAC;KACxB;IAEK,qBAAqB,CAAC,KAAgB,EAAE,KAAK,GAAG,IAAI;;YACtD,MAAM,CAAC,UAAU,CAAC;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;gBACtE,IAAI,KAAK,IAAI,CAAC,EAAC;oBACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;iBACzB;aACJ,EAAE,KAAK,CAAC,CAAA;SACZ;KAAA;IAEK,oBAAoB,CAAC,KAAK,GAAG,IAAI;;YACnC,MAAM,CAAC,UAAU,CAAC;gBACd,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;;gBAErB,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB,EAAE,KAAK,CAAC,CAAA;SACZ;KAAA;IAGD,UAAU,CAAC,OAAyF;QAChG,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAG,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAChD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAC1B;;KAEC;IAED,gBAAgB,CAAC,KAAgB;QAC7B,OAAO,KAAK,CAAC,MAAM,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC;KACvE;IAED,kBAAkB;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAC;YAC1D,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;KACd;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;YAC5B,OAAO;gBACH,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,gBAAgB,EAAE,KAAK,CAAC,cAAe;aAC9C,CAAA;SACA,CAAC,CAAC;KACN;IAEK,mBAAmB;;YACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAC;gBAC1B,OAAO;aACV;YACD,MAAM,WAAW,GAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;KAAA;IAED,cAAc;;QACV,IAAI,EAAC,MAAA,IAAI,CAAC,eAAe,0CAAE,QAAQ,CAAA,EAAC;YAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,wBAAwB,EAAE;gBAC/F,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC,CAAA;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAE/B,CAAC,CAAC;SACN;aACG;YACA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC/B;SACJ;KACJ;IAEK,aAAa,CAAC,CAAK;;YACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,eAAe,CAAC,OAAO,CAAC,CAAO,IAAI,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAI,IAAyB,CAAC;gBACzC,MAAM,uBAAuB,GAAG,yEAAyE,CAAC;gBAC1G,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAW,CAAC;gBACnD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,EAAC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAC,GAAG,EAAC,CAAA;gBACxC,MAAM,gBAAgB,iDAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAK,IAAI,CAAC,iBAAiB,KAAE,QAAQ,EAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAC,IAAI,CAAC,aAAa,GAAC,CAAC;gBAClJ,MAAM,KAAK,GAAY,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBAEzC,IAAG;oBACC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAO,EAAE,CAAC;oBACtB,IAAG,gBAAgB,CAAC,QAAQ,EAAC;wBACzB,MAAM,CAAC,oBAAoB,CAAC,GAAC,gBAAgB,CAAC,QAAQ,CAAC;qBAC1D;oBACD,IAAG,gBAAgB,CAAC,OAAO,EAAC;wBACxB,MAAM,CAAC,mBAAmB,CAAC,GAAC,gBAAgB,CAAC,OAAO,CAAC;qBACxD;oBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;oBACvG,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAEjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3E,IAAI,WAAW,KAAK,IAAI,EAAE;wBACtB,OAAO;qBACV;oBACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACxE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBACtB,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC;oBACnC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;;iBAKpC;gBACD,OAAM,EAAE,EAAC;oBACL,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBACpC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACxB,KAAK,CAAC,cAAc,GAAG,EAAC,cAAc,EAAG,EAAuB,CAAC,OAAO,EAAC,CAAA;oBACzE,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;;oBAEjC,OAAO;iBACV;aAIA,CAAA,CAAC,CAAC;SACV;KAAA;IACD,kBAAkB,CAAC,OAAc;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC;KACjB;IACD,kBAAkB,CAAC,KAAsC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG;YACpB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,KAAK,EAAC,KAAK,CAAC,OAAO;SACtB,CAAA;QACD,OAAO,eAAe,CAAC;KAC1B;IAcK,aAAa,CAAC,KAQnB;;YACG,IAAI,CAAC,KAAK,EAAC;gBACP,KAAK,GAAG,EAAE,CAAC;aACd;YACD,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAC;gBACxB,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC;aACnC;YACD,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAC;gBAChC,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC;aAC1C;YACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAC;gBAC1B,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC;aACvC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAA6D,CAAC,CAAC;YACpG,MAAM,KAAK,GAAY,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAEzC,IAAG;gBAEC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAO,EAAE,CAAC;gBACtB,IAAG,KAAK,CAAC,QAAQ,EAAC;oBACd,MAAM,CAAC,oBAAoB,CAAC,GAAC,KAAK,CAAC,QAAQ,CAAC;iBAC/C;gBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxI,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtE,IAAI,MAAM,KAAK,IAAI,EAAC;oBAChB,OAAM;iBACT;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBAElC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC;gBAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;;aAEtC;YACD,OAAM,EAAE,EAAC;gBACL,KAAK,CAAC,MAAM,GAAE,QAAQ,CAAC;gBACvB,KAAK,CAAC,cAAc,GAAG,EAAC,cAAc,EAAE,EAAuB,CAAC,OAAO,EAAC,CAAA;gBACxE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;;gBAEjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAClC,OAAO;aACV;SAEJ;KAAA;;0GA7VQ,aAAa;8FAAb,aAAa,mRCf1B,ofAUkB;2FDKL,aAAa;kBALzB,SAAS;mBAAC;oBACP,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;iBACvC;iKAE2B,SAAS;sBAAhC,SAAS;uBAAC,WAAW;gBACb,aAAa;sBAArB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACI,eAAe;sBAAxB,MAAM;;;AETX,MAAM,QAAQ,GAAG;IACb,gBAAgB;CACnB,CAAA;MAgBY,aAAa;IACtB,YACY,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAExC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAChD;;0GALQ,aAAa;2GAAb,aAAa,iBAZlB,aAAa,aAGb,YAAY;QACZ,eAAe;QACf,eAAe;QACf,aAAa;QACb,wBAAwB;QACxB,iBAAiB,aAEX,aAAa;2GAEd,aAAa,YAVb;YACL,YAAY;YACZ,eAAe;YACf,eAAe;YACf,aAAa;YACb,wBAAwB;YACxB,iBAAiB;SACpB;2FAGQ,aAAa;kBAdzB,QAAQ;mBAAC;oBACN,YAAY,EAAE;wBACV,aAAa;qBAChB;oBACD,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,wBAAwB;wBACxB,iBAAiB;qBACpB;oBACD,OAAO,EAAE,CAAC,aAAa,CAAC;iBAC3B;;;MCzBY,QAAS,SAAQ,UAAU;IAAxC;;QACI,WAAM,GAAmB,aAAa,CAAC;KAE1C;;;ACLD;;;;ACAA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.js","sources":["../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus, FileStatusPanelComponent } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarService } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n private currentSnackBar: MatSnackBarRef<FileStatusPanelComponent>|null = null;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService,\n private pepSnackBarService: PepSnackBarService,\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message};\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n this.updateSnackbar();\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n //this.currentSnackBar?.instance.closeClick.emit();\n this.updateSnackbar();\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n updateSnackbar(){\n if (!this.currentSnackBar?.instance){\n this.currentSnackBar = this.pepSnackBarService.openSnackBarFromComponent(FileStatusPanelComponent, {\n title: \"DIMX Process\",\n content: this.iFileArray\n })\n this.currentSnackBar.instance.closeClick.subscribe(() => {\n this.currentSnackBar = null;\n\n });\n }\n else{\n this.currentSnackBar.instance.data.content = this.iFileArray;\n if (this.iFileArray.length === 0){\n this.currentSnackBar.instance.snackBarRef.dismiss();\n this.currentSnackBar = null;\n }\n }\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n this.updateSnackbar();\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n this.updateSnackbar();\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<!-- <pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel> -->\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n PepSnackBarModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|