aril 0.1.68 → 0.1.69

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.
@@ -40,21 +40,17 @@ export function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
40
40
  if (isDevMode()) {
41
41
  if (appName === Apps.MNG) {
42
42
  API_CONFIGS.api = globalThis.hostAPI + '/host/v1';
43
- console.log("a", API_CONFIGS.api);
44
43
  }
45
44
  else {
46
45
  API_CONFIGS.api = globalThis.hostAPI + '/' + appName + '/v1';
47
- console.log("b", API_CONFIGS.api);
48
46
  }
49
47
  }
50
48
  else {
51
49
  if (appName === Apps.MNG) {
52
50
  API_CONFIGS.api = window.location.origin + '/host/v1';
53
- console.log("c", API_CONFIGS.api);
54
51
  }
55
52
  else {
56
53
  API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';
57
- console.log("d", API_CONFIGS.api);
58
54
  }
59
55
  }
60
56
  };
@@ -83,4 +79,4 @@ function getDomainPart(apiUrl) {
83
79
  return null;
84
80
  }
85
81
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFFbkQsTUFBTSxVQUFVLGNBQWMsQ0FDN0IsV0FBdUMsRUFDdkMsUUFBeUIsRUFDekIsT0FBZTtJQUVmLE9BQU8sR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVTthQUN4QyxHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQzVGLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLFVBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLFNBQVMsRUFBRSxFQUFDLENBQUM7Z0JBQ1YsVUFBVyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBUSxVQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7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Q0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLFFBQVEsSUFBSSxHQUFHLENBQUM7WUFDcEIsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLFFBQVEsSUFBSSxPQUFPLENBQUM7WUFDeEIsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwcyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBwcyc7XHJcbmltcG9ydCB7IEtleWNsb2FrTWFuYWdlciB9IGZyb20gJ2FyaWwva2V5Y2xvYWsnO1xyXG5pbXBvcnQgeyBBcGlDb25maWdzRmFjdG9yeSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCBjb25zdCBBUElfQ09ORklHUyA9IG5ldyBBcGlDb25maWdzRmFjdG9yeSgpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcGlDb25maWdzKFxyXG5cdGh0dHBCYWNrZW5kOiB7IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgfSxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtNYW5hZ2VyLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRjb25zdCBjb25maWdEZXBzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUkID0gaHR0cEJhY2tlbmQuaHR0cENsaWVudFxyXG5cdFx0XHQuZ2V0PEFwaUNvbmZpZ3NGYWN0b3J5Pihpc0Rldk1vZGUoKSA/ICcuL2Fzc2V0cy9sb2NhbC1jb25maWdzL2FwaS5sb2NhbC5qc29uJyA6ICcuL2FwaS5qc29uJylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFwKChjb25maWdzKSA9PiB7XHJcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKEFQSV9DT05GSUdTLCB7IC4uLmNvbmZpZ3MgfSk7XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5td0FwaSA9IEFQSV9DT05GSUdTLm13QXBpO1xyXG5cdFx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpKXtcclxuXHRcdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykuaG9zdEFQSSA9IEFQSV9DT05GSUdTLmFwaTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJiYlwiLCAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0XHQvLyBEeW5hbWljIEFQSSBmb3IgTU5HIChTdGFuZGFsb25lIFByb2R1Y3Rpb24gTW9kZSlcclxuXHRcdFx0XHRcdFx0aWYgKGFwcE5hbWUgPT09IEFwcHMuTU5HKXtcclxuXHRcdFx0XHRcdFx0XHRBUElfQ09ORklHUy5hcGkgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9ob3N0L3YxJztcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImJiY1wiLCBBUElfQ09ORklHUy5hcGkpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25maWdEZXBzLnB1c2goa2V5Y2xvYWsuaW5pdChBUElfQ09ORklHUy5rZXljbG9haykpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKS50aGVuKCgpID0+IHtcclxuXHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKGNvbmZpZ0RlcHMpO1xyXG5cdFx0fSk7XHJcblx0fTtcclxufVxyXG5cclxuLyoqXHJcbiAqIG9ubHkgd29ya3Mgd2hlbiBpc0hvc3RNb2RlIGlzIHRydWVcclxuICogbWljcm8tYXBwIGNhbm5vdCBhY2Nlc3MgaXRzIG93biBhcGkuanNvbiBmaWxlIHdoZW4gb3BlbmVkIGluIGhvc3RcclxuICogTU5HIGhhcyBkaWZmZXJlbnQgY29udHJvbGxlciAoaG9zdCwgc3RhdGUtbWFjaGluZSBldGMuKVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldEFwaUNvbmZpZ09uTUZFTW9kZShcclxuXHRodHRwQmFja2VuZDogeyBodHRwQ2xpZW50OiBIdHRwQ2xpZW50IH0sXHJcblx0a2V5Y2xvYWs6IEtleWNsb2FrTWFuYWdlcixcclxuXHRhcHBOYW1lOiBzdHJpbmdcclxuKTogKCkgPT4gdm9pZCB7XHJcblx0cmV0dXJuICgpID0+IHtcclxuXHRcdEFQSV9DT05GSUdTLm13QXBpID0gKDxhbnk+Z2xvYmFsVGhpcykubXdBcGk7XHJcblx0XHRpZiAoaXNEZXZNb2RlKCkpIHtcclxuXHRcdFx0aWYgKGFwcE5hbWUgPT09IEFwcHMuTU5HKSBcclxuXHRcdFx0e1xyXG5cdFx0XHRcdEFQSV9DT05GSUdTLmFwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgKyAnL2hvc3QvdjEnO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiYVwiLCBBUElfQ09ORklHUy5hcGkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdEFQSV9DT05GSUdTLmFwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgKyAnLycgKyBhcHBOYW1lICsgJy92MSc7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJiXCIsIEFQSV9DT05GSUdTLmFwaSk7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChhcHBOYW1lID09PSBBcHBzLk1ORykge1xyXG5cdFx0XHRcdEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2hvc3QvdjEnO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiY1wiLCBBUElfQ09ORklHUy5hcGkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2V7XHJcblx0XHRcdFx0QVBJX0NPTkZJR1MuYXBpID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyArIGFwcE5hbWUgKyAnL3YxJztcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcImRcIiwgQVBJX0NPTkZJR1MuYXBpKTtcclxuXHRcdFx0fSBcclxuXHRcdH1cclxuXHR9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXREb21haW5QYXJ0KGFwaVVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwoYXBpVXJsKTtcclxuICAgICAgICBjb25zdCBob3N0bmFtZSA9IHVybE9iai5ob3N0bmFtZTtcclxuICAgICAgICBsZXQgcGF0aG5hbWUgPSB1cmxPYmoucGF0aG5hbWU7XHJcblxyXG4gICAgICAgIGlmIChob3N0bmFtZS5pbmNsdWRlcyhcInllYXBcIikgfHwgaG9zdG5hbWUuaW5jbHVkZXMoXCJ0aG9yXCIpKSB7XHJcbiAgICAgICAgICAgIGxldCBkb21haW5OYW1lID0gaG9zdG5hbWUuc3BsaXQoJy4nKVswXS5pbmNsdWRlcyhcIi1cIikgXHJcbiAgICAgICAgICAgICAgICA/IGhvc3RuYW1lLnNwbGl0KCcuJylbMF0uc3BsaXQoJy0nKVswXSBcclxuICAgICAgICAgICAgICAgIDogaG9zdG5hbWUuc3BsaXQoJy4nKVswXTtcclxuXHJcbiAgICAgICAgICAgIGlmICghcGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpKSB7XHJcbiAgICAgICAgICAgICAgICBwYXRobmFtZSArPSBcIi9cIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFwYXRobmFtZS5lbmRzV2l0aChcIi95ZWFwL1wiKSkge1xyXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgKz0gXCJ5ZWFwL1wiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwiR2XDp2Vyc2l6IFVSTDpcIiwgZXJyb3IpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59Il19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFFbkQsTUFBTSxVQUFVLGNBQWMsQ0FDN0IsV0FBdUMsRUFDdkMsUUFBeUIsRUFDekIsT0FBZTtJQUVmLE9BQU8sR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVTthQUN4QyxHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQzVGLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLFVBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLFNBQVMsRUFBRSxFQUFDLENBQUM7Z0JBQ1YsVUFBVyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBUSxVQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7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QUMsRUFBRSxDQUFDO2dCQUMvQixRQUFRLElBQUksT0FBTyxDQUFDO1lBQ3hCLENBQUM7WUFFRCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBLZXljbG9ha01hbmFnZXIgfSBmcm9tICdhcmlsL2tleWNsb2FrJztcclxuaW1wb3J0IHsgQXBpQ29uZmlnc0ZhY3RvcnkgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgY29uc3QgQVBJX0NPTkZJR1MgPSBuZXcgQXBpQ29uZmlnc0ZhY3RvcnkoKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXBpQ29uZmlncyhcclxuXHRodHRwQmFja2VuZDogeyBodHRwQ2xpZW50OiBIdHRwQ2xpZW50IH0sXHJcblx0a2V5Y2xvYWs6IEtleWNsb2FrTWFuYWdlcixcclxuXHRhcHBOYW1lOiBzdHJpbmdcclxuKTogKCkgPT4gUHJvbWlzZTxhbnk+IHtcclxuXHRyZXR1cm4gKCkgPT4ge1xyXG5cdFx0Y29uc3QgY29uZmlnRGVwczogUHJvbWlzZTxhbnk+W10gPSBbXTtcclxuXHJcblx0XHRjb25zdCBvYnNlcnZhYmxlJCA9IGh0dHBCYWNrZW5kLmh0dHBDbGllbnRcclxuXHRcdFx0LmdldDxBcGlDb25maWdzRmFjdG9yeT4oaXNEZXZNb2RlKCkgPyAnLi9hc3NldHMvbG9jYWwtY29uZmlncy9hcGkubG9jYWwuanNvbicgOiAnLi9hcGkuanNvbicpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcCgoY29uZmlncykgPT4ge1xyXG5cdFx0XHRcdFx0T2JqZWN0LmFzc2lnbihBUElfQ09ORklHUywgeyAuLi5jb25maWdzIH0pO1xyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykubXdBcGkgPSBBUElfQ09ORklHUy5td0FwaTtcclxuXHRcdFx0XHRcdGlmIChpc0Rldk1vZGUoKSl7XHJcblx0XHRcdFx0XHRcdCg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgPSBBUElfQ09ORklHUy5hcGk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiYmJcIiwgKDxhbnk+Z2xvYmFsVGhpcykuaG9zdEFQSSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ly8gRHluYW1pYyBBUEkgZm9yIE1ORyAoU3RhbmRhbG9uZSBQcm9kdWN0aW9uIE1vZGUpXHJcblx0XHRcdFx0XHRcdGlmIChhcHBOYW1lID09PSBBcHBzLk1ORyl7XHJcblx0XHRcdFx0XHRcdFx0QVBJX0NPTkZJR1MuYXBpID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvaG9zdC92MSc7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJiYmNcIiwgQVBJX0NPTkZJR1MuYXBpKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uZmlnRGVwcy5wdXNoKGtleWNsb2FrLmluaXQoQVBJX0NPTkZJR1Mua2V5Y2xvYWspKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdHJldHVybiBmaXJzdFZhbHVlRnJvbShvYnNlcnZhYmxlJCkudGhlbigoKSA9PiB7XHJcblx0XHRcdHJldHVybiBQcm9taXNlLmFsbChjb25maWdEZXBzKTtcclxuXHRcdH0pO1xyXG5cdH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBvbmx5IHdvcmtzIHdoZW4gaXNIb3N0TW9kZSBpcyB0cnVlXHJcbiAqIG1pY3JvLWFwcCBjYW5ub3QgYWNjZXNzIGl0cyBvd24gYXBpLmpzb24gZmlsZSB3aGVuIG9wZW5lZCBpbiBob3N0XHJcbiAqIE1ORyBoYXMgZGlmZmVyZW50IGNvbnRyb2xsZXIgKGhvc3QsIHN0YXRlLW1hY2hpbmUgZXRjLilcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRBcGlDb25maWdPbk1GRU1vZGUoXHJcblx0aHR0cEJhY2tlbmQ6IHsgaHR0cENsaWVudDogSHR0cENsaWVudCB9LFxyXG5cdGtleWNsb2FrOiBLZXljbG9ha01hbmFnZXIsXHJcblx0YXBwTmFtZTogc3RyaW5nXHJcbik6ICgpID0+IHZvaWQge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRBUElfQ09ORklHUy5td0FwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLm13QXBpO1xyXG5cdFx0aWYgKGlzRGV2TW9kZSgpKSB7XHJcblx0XHRcdGlmIChhcHBOYW1lID09PSBBcHBzLk1ORykgXHJcblx0XHRcdHtcclxuXHRcdFx0XHRBUElfQ09ORklHUy5hcGkgPSAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJICsgJy9ob3N0L3YxJztcclxuXHRcdFx0fVxyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRBUElfQ09ORklHUy5hcGkgPSAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJICsgJy8nICsgYXBwTmFtZSArICcvdjEnO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoYXBwTmFtZSA9PT0gQXBwcy5NTkcpIHtcclxuXHRcdFx0XHRBUElfQ09ORklHUy5hcGkgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9ob3N0L3YxJztcclxuXHRcdFx0fVxyXG5cdFx0XHRlbHNle1xyXG5cdFx0XHRcdEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnLycgKyBhcHBOYW1lICsgJy92MSc7XHJcblx0XHRcdH0gXHJcblx0XHR9XHJcblx0fTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RG9tYWluUGFydChhcGlVcmw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKGFwaVVybCk7XHJcbiAgICAgICAgY29uc3QgaG9zdG5hbWUgPSB1cmxPYmouaG9zdG5hbWU7XHJcbiAgICAgICAgbGV0IHBhdGhuYW1lID0gdXJsT2JqLnBhdGhuYW1lO1xyXG5cclxuICAgICAgICBpZiAoaG9zdG5hbWUuaW5jbHVkZXMoXCJ5ZWFwXCIpIHx8IGhvc3RuYW1lLmluY2x1ZGVzKFwidGhvclwiKSkge1xyXG4gICAgICAgICAgICBsZXQgZG9tYWluTmFtZSA9IGhvc3RuYW1lLnNwbGl0KCcuJylbMF0uaW5jbHVkZXMoXCItXCIpIFxyXG4gICAgICAgICAgICAgICAgPyBob3N0bmFtZS5zcGxpdCgnLicpWzBdLnNwbGl0KCctJylbMF0gXHJcbiAgICAgICAgICAgICAgICA6IGhvc3RuYW1lLnNwbGl0KCcuJylbMF07XHJcblxyXG4gICAgICAgICAgICBpZiAoIXBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSkge1xyXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgKz0gXCIvXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghcGF0aG5hbWUuZW5kc1dpdGgoXCIveWVhcC9cIikpIHtcclxuICAgICAgICAgICAgICAgIHBhdGhuYW1lICs9IFwieWVhcC9cIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkdlw6dlcnNpeiBVUkw6XCIsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufSJdfQ==
@@ -13,15 +13,28 @@ export function ServiceCall(httpMethod, proxy, serviceURL, message, remoteAPI, i
13
13
  descriptor.value = function (...args) {
14
14
  return runInInjectionContext(this.injector, () => {
15
15
  const httpClient = this.httpClient;
16
+ const url = new URL(API_CONFIGS.api);
17
+ const urlObj = new URL(url);
18
+ const hostname = urlObj.hostname;
19
+ let domainName = '';
16
20
  let api = '';
21
+ if (hostname.includes('yeap') || hostname.includes('thor')) {
22
+ domainName =
23
+ hostname.split('.')[0].includes('-') ? hostname.split('.')[0].split('-')[0] : hostname.split('.')[0];
24
+ }
17
25
  if (isMockAPI)
18
26
  api = remoteAPI;
19
27
  else if (remoteAPI) {
20
- const url = new URL(API_CONFIGS.api);
21
- api = url.origin + '/' + remoteAPI;
28
+ if (domainName == 'yeap') {
29
+ api = url.origin + '/' + domainName + '/' + remoteAPI;
30
+ }
31
+ else {
32
+ api = url.origin + '/' + remoteAPI;
33
+ }
22
34
  }
23
- else
35
+ else {
24
36
  api = API_CONFIGS.api;
37
+ }
25
38
  const endPoint = api + '/' + serviceURL;
26
39
  const request = getRequest(httpMethod, args);
27
40
  const states = this.states;
@@ -91,7 +104,10 @@ export function ServiceCall(httpMethod, proxy, serviceURL, message, remoteAPI, i
91
104
  else
92
105
  deleteDynamicServiceUrl = deleteDynamicServiceUrl.replace('$', arg);
93
106
  });
94
- observable = httpClient.delete(api + '/' + deleteDynamicServiceUrl, { params: deleteParams, responseType: 'json' });
107
+ observable = httpClient.delete(api + '/' + deleteDynamicServiceUrl, {
108
+ params: deleteParams,
109
+ responseType: 'json'
110
+ });
95
111
  }
96
112
  observable = observable.pipe(map((response) => new ServiceResponse(request, response, proxy)), tap((resp) => successState(states, serviceName, this.translocoService, this.messageService, message, resp.response)), catchError((error) => {
97
113
  errorState(states, serviceName, error, this.translocoService, this.messageService, message);
@@ -102,4 +118,4 @@ export function ServiceCall(httpMethod, proxy, serviceURL, message, remoteAPI, i
102
118
  };
103
119
  };
104
120
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2h0dHAvc3JjL3NlcnZpY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUF1QixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsTUFBTSxVQUFVLFdBQVcsQ0FDMUIsVUFBdUIsRUFDdkIsS0FBaUIsRUFDakIsVUFBa0IsRUFDbEIsT0FBOEMsRUFDOUMsU0FBa0IsRUFDbEIsU0FBUyxHQUFHLEtBQUs7SUFFakIsT0FBTyxVQUFVLFlBQW9CLEVBQUUsV0FBNEIsRUFBRSxVQUE4QjtRQUNsRyw2Q0FBNkM7UUFFN0MsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsSUFBVztZQUMxQyxPQUFPLHFCQUFxQixDQUFPLElBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN2RCxNQUFNLFVBQVUsR0FBcUIsSUFBSyxDQUFDLFVBQVUsQ0FBQztnQkFFdEQsSUFBSSxHQUFHLEdB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Q0FBQyxjQUFjLEVBQzFCLE9BQU8sRUFDUCxJQUFJLENBQUMsUUFBUSxDQUNiLENBQ0QsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7b0JBQ3ZDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBUSxJQUFLLENBQUMsZ0JBQWdCLEVBQVEsSUFBSyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDMUcsT0FBTyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLEVBQ0Ysa0JBQWtCLEVBQUUsQ0FDcEIsQ0FBQztnQkFFRixPQUFPLFVBQVUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBUElfQ09ORklHUyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuXHJcbmltcG9ydCB7IEhUVFBNZXRob2RzLCBQcm94eVR5cGVzIH0gZnJvbSAnLi4vbGliL2VudW1zJztcclxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZSwgU2VydmljZUNhbGxTdGF0ZU1hcCwgU2VydmljZVJlc3BvbnNlIH0gZnJvbSAnLi4vbGliL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBnZXRSZXF1ZXN0IH0gZnJvbSAnLi9zZXJ2aWNlUmVxdWVzdCc7XHJcbmltcG9ydCB7IGNhbGxTdGF0ZSwgZXJyb3JTdGF0ZSwgc3VjY2Vzc1N0YXRlIH0gZnJvbSAnLi9zZXJ2aWNlU3RhdGVNZXRob2RzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZXJ2aWNlQ2FsbChcclxuXHRodHRwTWV0aG9kOiBIVFRQTWV0aG9kcyxcclxuXHRwcm94eTogUHJveHlUeXBlcyxcclxuXHRzZXJ2aWNlVVJMOiBzdHJpbmcsXHJcblx0bWVzc2FnZT86IHsgc3VjY2Vzcz86IHN0cmluZzsgZXJyb3I/OiBzdHJpbmcgfSxcclxuXHRyZW1vdGVBUEk/OiBzdHJpbmcsXHJcblx0aXNNb2NrQVBJID0gZmFsc2VcclxuKTogTWV0aG9kRGVjb3JhdG9yIHtcclxuXHRyZXR1cm4gZnVuY3Rpb24gKHNlcnZpY2VDbGFzczogb2JqZWN0LCBzZXJ2aWNlTmFtZTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcclxuXHRcdC8vIGNvbnN0IG9yaWdpbmFsRnVuY3Rpb24gPSBkZXNjcmlwdG9yLnZhbHVlO1xyXG5cclxuXHRcdGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcclxuXHRcdFx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dCgoPGFueT50aGlzKS5pbmplY3RvciwgKCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgPSAoPGFueT50aGlzKS5odHRwQ2xpZW50O1xyXG5cclxuXHRcdFx0XHRsZXQgYXBpID0gJyc7XHJcblx0XHRcdFx0aWYgKGlzTW9ja0FQSSkgYXBpID0gPHN0cmluZz5yZW1vdGVBUEk7XHJcblx0XHRcdFx0ZWxzZSBpZiAocmVtb3RlQVBJKSB7XHJcblx0XHRcdFx0ICAgY29uc3QgdXJsID0gbmV3IFVSTChBUElfQ09ORklHUy5hcGkpO1xyXG5cdFx0XHRcdFx0YXBpID0gdXJsLm9yaWdpbiArICcvJyArIHJlbW90ZUFQSTtcclxuXHRcdFx0XHR9IGVsc2UgYXBpID0gQVBJX0NPTkZJR1MuYXBpO1xyXG5cclxuXHRcdFx0XHRjb25zdCBlbmRQb2ludCA9IGFwaSArICcvJyArIHNlcnZpY2VVUkw7XHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGdldFJlcXVlc3QoaHR0cE1ldGhvZCwgYXJncyk7XHJcblx0XHRcdFx0Y29uc3Qgc3RhdGVzOiBTZXJ2aWNlQ2FsbFN0YXRlTWFwPGFueT4gPSAoPGFueT50aGlzKS5zdGF0ZXM7XHJcblxyXG5cdFx0XHRcdGNhbGxTdGF0ZShzdGF0ZXMsIHNlcnZpY2VOYW1lKTtcclxuXHJcblx0XHRcdFx0bGV0IG9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PiA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcclxuXHJcblx0XHRcdFx0c3dpdGNoIChodHRwTWV0aG9kKSB7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLkdFVDpcclxuXHRcdFx0XHRcdFx0bGV0IGdldFJlcSA9IGFyZ3MubGVuZ3RoID8gJy8nICsgYXJnc1swXSA6ICcnO1xyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihlbmRQb2ludCArIGdldFJlcSwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLkdFVEJZUEFSQU1TOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihlbmRQb2ludCwgeyBwYXJhbXM6IHJlcXVlc3QgYXMgSHR0cFBhcmFtcywgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5HRVRCWURZTkFNSUNQQVRIOlxyXG5cdFx0XHRcdFx0XHRsZXQgZ2V0RHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cdFx0XHRcdFx0XHRhcmdzLmZvckVhY2goKGFyZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGdldER5bmFtaWNTZXJ2aWNlVXJsID0gZ2V0RHluYW1pY1NlcnZpY2VVcmwucmVwbGFjZSgnJCcsIGFyZyk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihhcGkgKyAnLycgKyBnZXREeW5hbWljU2VydmljZVVybCwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1Q6XHJcblx0XHRcdFx0XHRcdG9ic2VydmFibGUgPSBodHRwQ2xpZW50LnBvc3Q8YW55PihlbmRQb2ludCwgYXJnc1swXSwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1RCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucG9zdDxhbnk+KGVuZFBvaW50LCBhcmdzWzBdLmJvZHksIHsgcGFyYW1zOiByZXF1ZXN0LCByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1RCWURZTkFNSUNQQVRIOlxyXG5cdFx0XHRcdFx0XHRsZXQgYm9keSA9IHt9O1xyXG5cdFx0XHRcdFx0XHRsZXQgZHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cclxuXHRcdFx0XHRcdFx0YXJncy5mb3JFYWNoKChhcmcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcpIGJvZHkgPSBhcmc7XHJcblx0XHRcdFx0XHRcdFx0ZWxzZSBkeW5hbWljU2VydmljZVVybCA9IGR5bmFtaWNTZXJ2aWNlVXJsLnJlcGxhY2UoJyQnLCBhcmcpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucG9zdDxhbnk+KGFwaSArICcvJyArIGR5bmFtaWNTZXJ2aWNlVXJsLCBib2R5LCB7IHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuUFVUOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5wdXQ8YW55PihlbmRQb2ludCArICcvJyArIGFyZ3NbMF0sIHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5QVVRCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucHV0PGFueT4oZW5kUG9pbnQsIGFyZ3NbMF0sIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuUFVUQllEWU5BTUlDUEFUSDpcclxuXHRcdFx0XHRcdFx0bGV0IHB1dEJvZHkgPSB7fTtcclxuXHRcdFx0XHRcdFx0bGV0IHB1dER5bmFtaWNTZXJ2aWNlVXJsID0gc2VydmljZVVSTDtcclxuXHJcblx0XHRcdFx0XHRcdGFyZ3MuZm9yRWFjaCgoYXJnKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHR5cGVvZiBhcmcgPT09ICdvYmplY3QnKSBwdXRCb2R5ID0gYXJnO1xyXG5cdFx0XHRcdFx0XHRcdGVsc2UgcHV0RHluYW1pY1NlcnZpY2VVcmwgPSBwdXREeW5hbWljU2VydmljZVVybC5yZXBsYWNlKCckJywgYXJnKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdG9ic2VydmFibGUgPSBodHRwQ2xpZW50LnB1dDxhbnk+KGFwaSArICcvJyArIHB1dER5bmFtaWNTZXJ2aWNlVXJsLCBwdXRCb2R5LCB7IHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuREVMRVRFOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5kZWxldGU8YW55PihlbmRQb2ludCArICcvJyArIGFyZ3NbMF0sIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5ERUxFVEVCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQuZGVsZXRlPGFueT4oZW5kUG9pbnQsIHsgcGFyYW1zOiByZXF1ZXN0IGFzIEh0dHBQYXJhbXMsIHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuREVMRVRFQllEWU5BTUlDUEFUSDpcclxuXHRcdFx0XHRcdFx0bGV0IGRlbGV0ZVBhcmFtcyA9IHt9O1xyXG5cdFx0XHRcdFx0XHRsZXQgZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cclxuXHRcdFx0XHRcdFx0YXJncy5mb3JFYWNoKChhcmcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcpIGRlbGV0ZVBhcmFtcyA9IGFyZztcclxuXHRcdFx0XHRcdFx0XHRlbHNlIGRlbGV0ZUR5bmFtaWNTZXJ2aWNlVXJsID0gZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwucmVwbGFjZSgnJCcsIGFyZyk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQuZGVsZXRlPGFueT4oYXBpICsgJy8nICsgZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwsIHsgcGFyYW1zOiBkZWxldGVQYXJhbXMsIHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0b2JzZXJ2YWJsZSA9IG9ic2VydmFibGUucGlwZShcclxuXHRcdFx0XHRcdG1hcCgocmVzcG9uc2UpID0+IG5ldyBTZXJ2aWNlUmVzcG9uc2UocmVxdWVzdCwgcmVzcG9uc2UsIHByb3h5KSksXHJcblx0XHRcdFx0XHR0YXAoKHJlc3ApID0+XHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3NTdGF0ZShcclxuXHRcdFx0XHRcdFx0XHRzdGF0ZXMsXHJcblx0XHRcdFx0XHRcdFx0c2VydmljZU5hbWUsXHJcblx0XHRcdFx0XHRcdFx0KDxhbnk+dGhpcykudHJhbnNsb2NvU2VydmljZSxcclxuXHRcdFx0XHRcdFx0XHQoPGFueT50aGlzKS5tZXNzYWdlU2VydmljZSxcclxuXHRcdFx0XHRcdFx0XHRtZXNzYWdlLFxyXG5cdFx0XHRcdFx0XHRcdHJlc3AucmVzcG9uc2VcclxuXHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRlcnJvclN0YXRlKHN0YXRlcywgc2VydmljZU5hbWUsIGVycm9yLCAoPGFueT50aGlzKS50cmFuc2xvY29TZXJ2aWNlLCAoPGFueT50aGlzKS5tZXNzYWdlU2VydmljZSwgbWVzc2FnZSk7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZihuZXcgRXJyb3JSZXNwb25zZShlcnJvcikpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQoKVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBvYnNlcnZhYmxlO1xyXG5cdFx0XHR9KTtcclxuXHRcdH07XHJcblx0fTtcclxufVxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2h0dHAvc3JjL3NlcnZpY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUF1QixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsTUFBTSxVQUFVLFdBQVcsQ0FDMUIsVUFBdUIsRUFDdkIsS0FBaUIsRUFDakIsVUFBa0IsRUFDbEIsT0FBOEMsRUFDOUMsU0FBa0IsRUFDbEIsU0FBUyxHQUFHLEtBQUs7SUFFakIsT0FBTyxVQUFVLFlBQW9CLEVBQUUsV0FBNEIsRUFBRSxVQUE4QjtRQUNsRyw2Q0FBNkM7UUFFN0MsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsSUFBVztZQUMxQyxPQUFPLHFCQUFxQixDQUFPLElBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN2RCxNQUFNLFVBQVUsR0FBcUIsSUFBSyxDQUFDLFVBQVUsQ0FBQztnQkFFdEQsTUFBTSxHQUFHLEdB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QUNyQyxDQUFDLENBQUMsRUFDRixrQkFBa0IsRUFBRSxDQUNwQixDQUFDO2dCQUVGLE9BQU8sVUFBVSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5cclxuaW1wb3J0IHsgSFRUUE1ldGhvZHMsIFByb3h5VHlwZXMgfSBmcm9tICcuLi9saWIvZW51bXMnO1xyXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlLCBTZXJ2aWNlQ2FsbFN0YXRlTWFwLCBTZXJ2aWNlUmVzcG9uc2UgfSBmcm9tICcuLi9saWIvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGdldFJlcXVlc3QgfSBmcm9tICcuL3NlcnZpY2VSZXF1ZXN0JztcclxuaW1wb3J0IHsgY2FsbFN0YXRlLCBlcnJvclN0YXRlLCBzdWNjZXNzU3RhdGUgfSBmcm9tICcuL3NlcnZpY2VTdGF0ZU1ldGhvZHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZpY2VDYWxsKFxyXG5cdGh0dHBNZXRob2Q6IEhUVFBNZXRob2RzLFxyXG5cdHByb3h5OiBQcm94eVR5cGVzLFxyXG5cdHNlcnZpY2VVUkw6IHN0cmluZyxcclxuXHRtZXNzYWdlPzogeyBzdWNjZXNzPzogc3RyaW5nOyBlcnJvcj86IHN0cmluZyB9LFxyXG5cdHJlbW90ZUFQST86IHN0cmluZyxcclxuXHRpc01vY2tBUEkgPSBmYWxzZVxyXG4pOiBNZXRob2REZWNvcmF0b3Ige1xyXG5cdHJldHVybiBmdW5jdGlvbiAoc2VydmljZUNsYXNzOiBvYmplY3QsIHNlcnZpY2VOYW1lOiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xyXG5cdFx0Ly8gY29uc3Qgb3JpZ2luYWxGdW5jdGlvbiA9IGRlc2NyaXB0b3IudmFsdWU7XHJcblxyXG5cdFx0ZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xyXG5cdFx0XHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KCg8YW55PnRoaXMpLmluamVjdG9yLCAoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgaHR0cENsaWVudDogSHR0cENsaWVudCA9ICg8YW55PnRoaXMpLmh0dHBDbGllbnQ7XHJcblxyXG5cdFx0XHRcdGNvbnN0IHVybCA9IG5ldyBVUkwoQVBJX0NPTkZJR1MuYXBpKTtcclxuXHRcdFx0XHRjb25zdCB1cmxPYmogPSBuZXcgVVJMKHVybCk7XHJcblx0XHRcdFx0Y29uc3QgaG9zdG5hbWUgPSB1cmxPYmouaG9zdG5hbWU7XHJcblx0XHRcdFx0bGV0IGRvbWFpbk5hbWUgPSAnJztcclxuXHRcdFx0XHRsZXQgYXBpID0gJyc7XHJcblxyXG5cdFx0XHRcdGlmIChob3N0bmFtZS5pbmNsdWRlcygneWVhcCcpIHx8IGhvc3RuYW1lLmluY2x1ZGVzKCd0aG9yJykpIHtcclxuXHRcdFx0XHRcdGRvbWFpbk5hbWUgPVxyXG5cdFx0XHRcdFx0XHRob3N0bmFtZS5zcGxpdCgnLicpWzBdLmluY2x1ZGVzKCctJykgPyBob3N0bmFtZS5zcGxpdCgnLicpWzBdLnNwbGl0KCctJylbMF0gOiBob3N0bmFtZS5zcGxpdCgnLicpWzBdO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aWYgKGlzTW9ja0FQSSkgYXBpID0gPHN0cmluZz5yZW1vdGVBUEk7XHJcblx0XHRcdFx0ZWxzZSBpZiAocmVtb3RlQVBJKSB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGlmIChkb21haW5OYW1lID09ICd5ZWFwJykge1xyXG5cdFx0XHRcdFx0XHRhcGkgPSB1cmwub3JpZ2luICsgJy8nICsgZG9tYWluTmFtZSArICcvJyArIHJlbW90ZUFQSTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGFwaSA9IHVybC5vcmlnaW4gKyAnLycgKyByZW1vdGVBUEk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGFwaSA9IEFQSV9DT05GSUdTLmFwaTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGNvbnN0IGVuZFBvaW50ID0gYXBpICsgJy8nICsgc2VydmljZVVSTDtcclxuXHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGdldFJlcXVlc3QoaHR0cE1ldGhvZCwgYXJncyk7XHJcblx0XHRcdFx0Y29uc3Qgc3RhdGVzOiBTZXJ2aWNlQ2FsbFN0YXRlTWFwPGFueT4gPSAoPGFueT50aGlzKS5zdGF0ZXM7XHJcblxyXG5cdFx0XHRcdGNhbGxTdGF0ZShzdGF0ZXMsIHNlcnZpY2VOYW1lKTtcclxuXHJcblx0XHRcdFx0bGV0IG9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PiA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcclxuXHJcblx0XHRcdFx0c3dpdGNoIChodHRwTWV0aG9kKSB7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLkdFVDpcclxuXHRcdFx0XHRcdFx0bGV0IGdldFJlcSA9IGFyZ3MubGVuZ3RoID8gJy8nICsgYXJnc1swXSA6ICcnO1xyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihlbmRQb2ludCArIGdldFJlcSwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLkdFVEJZUEFSQU1TOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihlbmRQb2ludCwgeyBwYXJhbXM6IHJlcXVlc3QgYXMgSHR0cFBhcmFtcywgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5HRVRCWURZTkFNSUNQQVRIOlxyXG5cdFx0XHRcdFx0XHRsZXQgZ2V0RHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cdFx0XHRcdFx0XHRhcmdzLmZvckVhY2goKGFyZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGdldER5bmFtaWNTZXJ2aWNlVXJsID0gZ2V0RHluYW1pY1NlcnZpY2VVcmwucmVwbGFjZSgnJCcsIGFyZyk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5nZXQ8YW55PihhcGkgKyAnLycgKyBnZXREeW5hbWljU2VydmljZVVybCwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1Q6XHJcblx0XHRcdFx0XHRcdG9ic2VydmFibGUgPSBodHRwQ2xpZW50LnBvc3Q8YW55PihlbmRQb2ludCwgYXJnc1swXSwgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1RCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucG9zdDxhbnk+KGVuZFBvaW50LCBhcmdzWzBdLmJvZHksIHsgcGFyYW1zOiByZXF1ZXN0LCByZXNwb25zZVR5cGU6ICdqc29uJyB9KTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIEhUVFBNZXRob2RzLlBPU1RCWURZTkFNSUNQQVRIOlxyXG5cdFx0XHRcdFx0XHRsZXQgYm9keSA9IHt9O1xyXG5cdFx0XHRcdFx0XHRsZXQgZHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cclxuXHRcdFx0XHRcdFx0YXJncy5mb3JFYWNoKChhcmcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcpIGJvZHkgPSBhcmc7XHJcblx0XHRcdFx0XHRcdFx0ZWxzZSBkeW5hbWljU2VydmljZVVybCA9IGR5bmFtaWNTZXJ2aWNlVXJsLnJlcGxhY2UoJyQnLCBhcmcpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucG9zdDxhbnk+KGFwaSArICcvJyArIGR5bmFtaWNTZXJ2aWNlVXJsLCBib2R5LCB7IHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuUFVUOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5wdXQ8YW55PihlbmRQb2ludCArICcvJyArIGFyZ3NbMF0sIHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5QVVRCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQucHV0PGFueT4oZW5kUG9pbnQsIGFyZ3NbMF0sIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuUFVUQllEWU5BTUlDUEFUSDpcclxuXHRcdFx0XHRcdFx0bGV0IHB1dEJvZHkgPSB7fTtcclxuXHRcdFx0XHRcdFx0bGV0IHB1dER5bmFtaWNTZXJ2aWNlVXJsID0gc2VydmljZVVSTDtcclxuXHJcblx0XHRcdFx0XHRcdGFyZ3MuZm9yRWFjaCgoYXJnKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHR5cGVvZiBhcmcgPT09ICdvYmplY3QnKSBwdXRCb2R5ID0gYXJnO1xyXG5cdFx0XHRcdFx0XHRcdGVsc2UgcHV0RHluYW1pY1NlcnZpY2VVcmwgPSBwdXREeW5hbWljU2VydmljZVVybC5yZXBsYWNlKCckJywgYXJnKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdG9ic2VydmFibGUgPSBodHRwQ2xpZW50LnB1dDxhbnk+KGFwaSArICcvJyArIHB1dER5bmFtaWNTZXJ2aWNlVXJsLCBwdXRCb2R5LCB7IHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuREVMRVRFOlxyXG5cdFx0XHRcdFx0XHRvYnNlcnZhYmxlID0gaHR0cENsaWVudC5kZWxldGU8YW55PihlbmRQb2ludCArICcvJyArIGFyZ3NbMF0sIHsgcmVzcG9uc2VUeXBlOiAnanNvbicgfSk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBIVFRQTWV0aG9kcy5ERUxFVEVCWVBBUkFNUzpcclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQuZGVsZXRlPGFueT4oZW5kUG9pbnQsIHsgcGFyYW1zOiByZXF1ZXN0IGFzIEh0dHBQYXJhbXMsIHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgSFRUUE1ldGhvZHMuREVMRVRFQllEWU5BTUlDUEFUSDpcclxuXHRcdFx0XHRcdFx0bGV0IGRlbGV0ZVBhcmFtcyA9IHt9O1xyXG5cdFx0XHRcdFx0XHRsZXQgZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwgPSBzZXJ2aWNlVVJMO1xyXG5cclxuXHRcdFx0XHRcdFx0YXJncy5mb3JFYWNoKChhcmcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcpIGRlbGV0ZVBhcmFtcyA9IGFyZztcclxuXHRcdFx0XHRcdFx0XHRlbHNlIGRlbGV0ZUR5bmFtaWNTZXJ2aWNlVXJsID0gZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwucmVwbGFjZSgnJCcsIGFyZyk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdFx0b2JzZXJ2YWJsZSA9IGh0dHBDbGllbnQuZGVsZXRlPGFueT4oYXBpICsgJy8nICsgZGVsZXRlRHluYW1pY1NlcnZpY2VVcmwsIHtcclxuXHRcdFx0XHRcdFx0XHRwYXJhbXM6IGRlbGV0ZVBhcmFtcyxcclxuXHRcdFx0XHRcdFx0XHRyZXNwb25zZVR5cGU6ICdqc29uJ1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdG9ic2VydmFibGUgPSBvYnNlcnZhYmxlLnBpcGUoXHJcblx0XHRcdFx0XHRtYXAoKHJlc3BvbnNlKSA9PiBuZXcgU2VydmljZVJlc3BvbnNlKHJlcXVlc3QsIHJlc3BvbnNlLCBwcm94eSkpLFxyXG5cdFx0XHRcdFx0dGFwKChyZXNwKSA9PlxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzU3RhdGUoXHJcblx0XHRcdFx0XHRcdFx0c3RhdGVzLFxyXG5cdFx0XHRcdFx0XHRcdHNlcnZpY2VOYW1lLFxyXG5cdFx0XHRcdFx0XHRcdCg8YW55PnRoaXMpLnRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRcdFx0XHRcdFx0KDxhbnk+dGhpcykubWVzc2FnZVNlcnZpY2UsXHJcblx0XHRcdFx0XHRcdFx0bWVzc2FnZSxcclxuXHRcdFx0XHRcdFx0XHRyZXNwLnJlc3BvbnNlXHJcblx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuXHRcdFx0XHRcdFx0ZXJyb3JTdGF0ZShzdGF0ZXMsIHNlcnZpY2VOYW1lLCBlcnJvciwgKDxhbnk+dGhpcykudHJhbnNsb2NvU2VydmljZSwgKDxhbnk+dGhpcykubWVzc2FnZVNlcnZpY2UsIG1lc3NhZ2UpO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gb2YobmV3IEVycm9yUmVzcG9uc2UoZXJyb3IpKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKClcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gb2JzZXJ2YWJsZTtcclxuXHRcdFx0fSk7XHJcblx0XHR9O1xyXG5cdH07XHJcbn1cclxuIl19
@@ -180,6 +180,11 @@ export class TableComponent {
180
180
  }));
181
181
  }), toArray(), finalize(() => {
182
182
  columnFieldValueMapObj = tempObj;
183
+ this.messageService.add({
184
+ severity: 'info',
185
+ summary: this.translocoService.translate('messages.exporting'),
186
+ key: 'toast-root'
187
+ });
183
188
  })));
184
189
  }
185
190
  const request = {
@@ -238,11 +243,11 @@ export class TableComponent {
238
243
  this.op?.hide();
239
244
  }
240
245
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.HttpClient }, { token: i2.NonNullableFormBuilder }, { token: i3.PrimeNGConfig }, { token: i3.MessageService }, { token: i4.TranslocoService }, { token: i5.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, expandableFields: { classPropertyName: "expandableFields", publicName: "expandableFields", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, headerCheckboxSelection: { classPropertyName: "headerCheckboxSelection", publicName: "headerCheckboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRowsInput: { classPropertyName: "selectedRowsInput", publicName: "selectedRowsInput", isSignal: true, isRequired: false, transformFunction: null }, isLazy: { classPropertyName: "isLazy", publicName: "isLazy", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, paginatorDropdownAppendTo: { classPropertyName: "paginatorDropdownAppendTo", publicName: "paginatorDropdownAppendTo", isSignal: true, isRequired: false, transformFunction: null }, isShowNoDataFoundMessage: { classPropertyName: "isShowNoDataFoundMessage", publicName: "isShowNoDataFoundMessage", isSignal: true, isRequired: false, transformFunction: null }, exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: false, transformFunction: null }, isColumnExpandMode: { classPropertyName: "isColumnExpandMode", publicName: "isColumnExpandMode", isSignal: true, isRequired: false, transformFunction: null }, isResizableColumns: { classPropertyName: "isResizableColumns", publicName: "isResizableColumns", isSignal: true, isRequired: false, transformFunction: null }, isSortable: { classPropertyName: "isSortable", publicName: "isSortable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent", lazyLoadEvent: "lazyLoadEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "op", first: true, predicate: OverlayPanel, descendants: true }, { propertyName: "tableRef", first: true, predicate: Table, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"totalRecords() > 10 ? paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tpResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t@if (!isLazy()) {\r\n\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else if (isSortable()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr [pSelectableRow]=\"item\" [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<p-overlayPanel styleClass=\"export-overlay-panel\">\r\n\t@if (exportForm) {\r\n\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t<aril-field [label]=\"'Export Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<aril-field [label]=\"'Dosya \u0130smi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t<p-orderList\r\n\t\t\t\t\t#orderListRef\r\n\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\tfilterBy=\"value.title\">\r\n\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\" />\r\n\r\n\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t#filter\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</p-orderList>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<aril-button class=\"col-12\" [label]=\"this.translocoService.translate('messages.export')\" color=\"primary\" (clickEvent)=\"export()\" />\r\n\t\t</aril-form>\r\n\t}\r\n</p-overlayPanel>\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}\n"], dependencies: [{ kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: i7.ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i8.CheckboxComponent, selector: "aril-checkbox[ngModel], aril-checkbox[formControl], aril-checkbox[formControlName]", inputs: ["label", "tabindex"] }, { kind: "component", type: i9.FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i12.OrderList, selector: "p-orderList", inputs: ["header", "style", "styleClass", "tabindex", "ariaLabel", "ariaLabelledBy", "listStyle", "responsive", "filterBy", "filterPlaceholder", "filterLocale", "metaKeySelection", "dragdrop", "controlsPosition", "ariaFilterLabel", "filterMatchMode", "breakpoint", "stripedRows", "disabled", "trackBy", "selection", "value"], outputs: ["selectionChange", "onReorder", "onSelectionChange", "onFilterEvent", "onFocus", "onBlur"] }, { kind: "component", type: i13.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.RadioButtonComponent, selector: "aril-radio-button[ngModel], aril-radio-button[formControl], aril-radio-button[formControlName]", inputs: ["options", "tabindex", "align"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i15.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i15.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i15.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i15.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i15.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i15.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i15.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i16.TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }] }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, expandableFields: { classPropertyName: "expandableFields", publicName: "expandableFields", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, headerCheckboxSelection: { classPropertyName: "headerCheckboxSelection", publicName: "headerCheckboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRowsInput: { classPropertyName: "selectedRowsInput", publicName: "selectedRowsInput", isSignal: true, isRequired: false, transformFunction: null }, isLazy: { classPropertyName: "isLazy", publicName: "isLazy", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, paginatorDropdownAppendTo: { classPropertyName: "paginatorDropdownAppendTo", publicName: "paginatorDropdownAppendTo", isSignal: true, isRequired: false, transformFunction: null }, isShowNoDataFoundMessage: { classPropertyName: "isShowNoDataFoundMessage", publicName: "isShowNoDataFoundMessage", isSignal: true, isRequired: false, transformFunction: null }, exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: false, transformFunction: null }, isColumnExpandMode: { classPropertyName: "isColumnExpandMode", publicName: "isColumnExpandMode", isSignal: true, isRequired: false, transformFunction: null }, isResizableColumns: { classPropertyName: "isResizableColumns", publicName: "isResizableColumns", isSignal: true, isRequired: false, transformFunction: null }, isSortable: { classPropertyName: "isSortable", publicName: "isSortable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent", lazyLoadEvent: "lazyLoadEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "op", first: true, predicate: OverlayPanel, descendants: true }, { propertyName: "tableRef", first: true, predicate: Table, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"totalRecords() > 10 ? paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tpResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t@if (!isLazy()) {\r\n\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else if (isSortable()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr [pSelectableRow]=\"item\" [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<p-overlayPanel styleClass=\"export-overlay-panel\">\r\n\t@if (exportForm) {\r\n\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t<aril-field [label]=\"'Dosya Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<aril-field [label]=\"'Dosya \u0130smi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t<p-orderList\r\n\t\t\t\t\t#orderListRef\r\n\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\tfilterBy=\"value.title\">\r\n\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\" />\r\n\r\n\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t#filter\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</p-orderList>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<aril-button class=\"col-12\" [label]=\"this.translocoService.translate('messages.export')\" color=\"primary\" (clickEvent)=\"export()\" />\r\n\t\t</aril-form>\r\n\t}\r\n</p-overlayPanel>\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}\n"], dependencies: [{ kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: i7.ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i8.CheckboxComponent, selector: "aril-checkbox[ngModel], aril-checkbox[formControl], aril-checkbox[formControlName]", inputs: ["label", "tabindex"] }, { kind: "component", type: i9.FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i12.OrderList, selector: "p-orderList", inputs: ["header", "style", "styleClass", "tabindex", "ariaLabel", "ariaLabelledBy", "listStyle", "responsive", "filterBy", "filterPlaceholder", "filterLocale", "metaKeySelection", "dragdrop", "controlsPosition", "ariaFilterLabel", "filterMatchMode", "breakpoint", "stripedRows", "disabled", "trackBy", "selection", "value"], outputs: ["selectionChange", "onReorder", "onSelectionChange", "onFilterEvent", "onFocus", "onBlur"] }, { kind: "component", type: i13.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.RadioButtonComponent, selector: "aril-radio-button[ngModel], aril-radio-button[formControl], aril-radio-button[formControlName]", inputs: ["options", "tabindex", "align"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i15.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i15.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i15.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i15.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i15.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i15.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i15.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i16.TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }] }); }
242
247
  }
243
248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
244
249
  type: Component,
245
- args: [{ selector: 'aril-table', template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"totalRecords() > 10 ? paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tpResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t@if (!isLazy()) {\r\n\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else if (isSortable()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr [pSelectableRow]=\"item\" [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<p-overlayPanel styleClass=\"export-overlay-panel\">\r\n\t@if (exportForm) {\r\n\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t<aril-field [label]=\"'Export Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<aril-field [label]=\"'Dosya \u0130smi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t<p-orderList\r\n\t\t\t\t\t#orderListRef\r\n\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\tfilterBy=\"value.title\">\r\n\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\" />\r\n\r\n\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t#filter\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</p-orderList>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<aril-button class=\"col-12\" [label]=\"this.translocoService.translate('messages.export')\" color=\"primary\" (clickEvent)=\"export()\" />\r\n\t\t</aril-form>\r\n\t}\r\n</p-overlayPanel>\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}\n"] }]
250
+ args: [{ selector: 'aril-table', template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"totalRecords() > 10 ? paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tpResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t@if (!isLazy()) {\r\n\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else if (isSortable()) {\r\n\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr [pSelectableRow]=\"item\" [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\">\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<p-overlayPanel styleClass=\"export-overlay-panel\">\r\n\t@if (exportForm) {\r\n\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t<aril-field [label]=\"'Dosya Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<aril-field [label]=\"'Dosya \u0130smi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t</aril-field>\r\n\r\n\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t<p-orderList\r\n\t\t\t\t\t#orderListRef\r\n\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\tfilterBy=\"value.title\">\r\n\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\" />\r\n\r\n\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t#filter\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</p-orderList>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<aril-button class=\"col-12\" [label]=\"this.translocoService.translate('messages.export')\" color=\"primary\" (clickEvent)=\"export()\" />\r\n\t\t</aril-form>\r\n\t}\r\n</p-overlayPanel>\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}\n"] }]
246
251
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.NonNullableFormBuilder }, { type: i3.PrimeNGConfig }, { type: i3.MessageService }, { type: i4.TranslocoService }, { type: i5.SelectionGroupService }], propDecorators: { onPageEvent: [{
247
252
  type: Output
248
253
  }], selectionEvent: [{
@@ -263,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
263
268
  }], expandableFields: [{
264
269
  type: Input
265
270
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsY0FBYyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUEwRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEgsT0FBTyxFQUFjLG9CQUFvQixFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUY7Ozs7O0dBS0c7QUFDSCxN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O1lBQ3BCLEtBQUssRUFBRTtnQkFDTixRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ3BCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQzthQUN4QztZQUNELElBQUksRUFBRSxLQUFLLENBQUMsYUFBYTtZQUN6QixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDckIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQXBRVyxjQUFjO2tHQUFkLGNBQWMsc3FJQUlULG9CQUFvQixpRUFDMUIsWUFBWSwyRUFDWixLQUFLLHFFQ3JFakIseTlUQXdQQTs7MkZEekxhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0MsWUFBWTtnUEFLWixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDZ0MsT0FBTztzQkFBN0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBQ1osRUFBRTtzQkFBMUIsU0FBUzt1QkFBQyxZQUFZO2dCQUNMLFFBQVE7c0JBQXpCLFNBQVM7dUJBQUMsS0FBSztnQkFDUCxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZHJlbixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0Vmlld0NoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRpbnB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSwgTWVzc2FnZVNlcnZpY2UsIFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgVGFibGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQge1xyXG5cdGNhdGNoRXJyb3IsXHJcblx0Y29uY2F0TWFwLFxyXG5cdGZpbHRlcixcclxuXHRmaW5hbGl6ZSxcclxuXHRmaXJzdFZhbHVlRnJvbSxcclxuXHRmcm9tLFxyXG5cdGludGVydmFsLFxyXG5cdG1hcCxcclxuXHRzd2l0Y2hNYXAsXHJcblx0dGFrZSxcclxuXHR0aHJvd0Vycm9yLFxyXG5cdHRvQXJyYXlcclxufSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBQcm94eVR5cGVzIH0gZnJvbSAnYXJpbC9odHRwJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5cclxuaW1wb3J0IHsgdHJhbmxhdGlvbnMgfSBmcm9tICcuL2kxOG4nO1xyXG5pbXBvcnQgeyBDb2xGb3JtLCBDb2x1bW5GaWVsZFZhbHVlTWFwLCBFeHBvcnRGb3JtLCBFeHBvcnRPcHRpb25zLCBFeHBvcnRSZXF1ZXN0LCBFeHBvcnRUeXBlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQWxpZ25UeXBlcywgVGFibGVDb2x1bW5Db21wb25lbnQsIFRhYmxlQ29sdW1ucyB9IGZyb20gJy4vdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG4vKiBUT0RPIDpcclxuICogc2VydmVyLXNpZGUtcHJveHkgKFByb3h5VHlwZXMuU2VydmVyU2lkZSlcclxuICogc2VhcmNoICYgY29sdW0gZmlsdGVyICYgc29ydFxyXG4gKiBwYWdpbmF0aW9uIG9wZXJhdGlvblxyXG4gKiBRdWVyeSBTaWduYWxzXHJcbiAqL1xyXG5jb25zdCBwYWdlT3B0aW9ucyA9IFsxMCwgMjAsIDUwLCAxMDBdIGFzIGNvbnN0O1xyXG5cclxudHlwZSBTZWxlY3Rpb25UeXBlcyA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8IG51bGw7XHJcbmludGVyZmFjZSBJS2ViYWJNZW51SXRlbSB7XHJcblx0aWNvbjogc3RyaW5nO1xyXG5cdGxhYmVsOiBzdHJpbmc7XHJcblx0b25DbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FyaWwtdGFibGUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIGxhenlMb2FkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QENvbnRlbnRDaGlsZHJlbihUYWJsZUNvbHVtbkNvbXBvbmVudCkgY29sdW1ucyE6IFRhYmxlQ29sdW1ucztcclxuXHRAVmlld0NoaWxkKE92ZXJsYXlQYW5lbCkgb3AhOiBPdmVybGF5UGFuZWw7XHJcblx0QFZpZXdDaGlsZChUYWJsZSkgdGFibGVSZWYhOiBUYWJsZTtcclxuXHRASW5wdXQoKSBrZWJhYk1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cdEBJbnB1dCgpIGV4cGFuZGFibGVGaWVsZHMhOiBzdHJpbmc7XHJcblxyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuXHRjaGVja2JveFNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblx0aGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdHBhZ2VTaXplID0gaW5wdXQ8KHR5cGVvZiBwYWdlT3B0aW9ucylbbnVtYmVyXT4oMTApO1xyXG5cdHByb3h5ID0gaW5wdXQ8UHJveHlUeXBlcz4oUHJveHlUeXBlcy5OYXRpdmUpO1xyXG5cdHNob3dGb290ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dEFsaWduID0gaW5wdXQ8QWxpZ25UeXBlcz4oJ2xlZnQnKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uVHlwZXM+KCdzaW5nbGUnKTtcclxuXHRzaG93U2VhcmNoVG9vbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHNob3dFeHBvcnRUb29sID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0ZXhwb3J0RmlsZU5hbWUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRub0RhdGFGb3VuZExhYmVsID0gaW5wdXQ8c3RyaW5nPignTm8gRGF0YSBGb3VuZCcpO1xyXG5cdHRhYmxlSGVhZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0c2hvd1RhYmxlSGVhZGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGlzRmlyc3RSb3dTZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRkYXRhS2V5ID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0c2VsZWN0ZWRSb3dzSW5wdXQgPSBpbnB1dDxhbnk+KFtdKTtcclxuXHRpc0xhenkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dG90YWxSZWNvcmRzID0gaW5wdXQ8bnVtYmVyPigwKTtcclxuXHRwYWdpbmF0b3IgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvID0gaW5wdXQ8c3RyaW5nPignYm9keScpOyAvLyAnYm9keSd8ICdteURpdidcclxuXHJcblx0aXNTaG93Tm9EYXRhRm91bmRNZXNzYWdlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0LyoqXHJcblx0ICogQHNlZSB7QGxpbmsgRXhwb3J0T3B0aW9uc31cclxuXHQgKi9cclxuXHRleHBvcnRDb25maWcgPSBpbnB1dDxFeHBvcnRPcHRpb25zPigpO1xyXG5cclxuXHRleHBvcnRGb3JtITogRm9ybUdyb3VwPEV4cG9ydEZvcm0+O1xyXG5cdGV4cG9ydFR5cGVPcHRpb25zID0gW1xyXG5cdFx0eyBrZXk6IEV4cG9ydFR5cGUuRXhjZWwsIGxhYmVsOiAnRXhjZWwnLCBmaWxlRXh0ZW5zaW9uOiAnLnhsc3gnIH0sXHJcblx0XHR7IGtleTogRXhwb3J0VHlwZS5Dc3YsIGxhYmVsOiAnQ3N2JywgZmlsZUV4dGVuc2lvbjogJy5jc3YnIH1cclxuXHRdO1xyXG5cclxuXHRmaWx0ZXJUZXh0ITogc3RyaW5nO1xyXG5cdGlzQWxsU2VsZWN0ZWQgPSB0cnVlO1xyXG5cdHNlbGVjdGVkUm93czogYW55O1xyXG5cdHBhZ2VPcHRpb25zID0gcGFnZU9wdGlvbnM7XHJcblx0ZXhwb3J0Q29sdW1uczogQXJyYXk8eyB0aXRsZTogc3RyaW5nOyBkYXRhS2V5OiBzdHJpbmcgfT4gPSBbXTtcclxuXHRpc0NvbHVtbkV4cGFuZE1vZGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNSZXNpemFibGVDb2x1bW5zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGlzU29ydGFibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aGFuZGxlZFNlbGVjdGlvbk1vZGU6IFNlbGVjdGlvblR5cGVzID0gJ3NpbmdsZSc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG5cdFx0cHJpdmF0ZSBmYjogTm9uTnVsbGFibGVGb3JtQnVpbGRlcixcclxuXHRcdHByaXZhdGUgcHJpbWVuZ0NvbmZpZzogUHJpbWVOR0NvbmZpZyxcclxuXHRcdHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHNlbGVjdGlvbkdyb3VwU2VydmljZTogU2VsZWN0aW9uR3JvdXBTZXJ2aWNlXHJcblx0KSB7XHJcblx0XHR0aGlzLnByaW1lbmdDb25maWcuc2V0VHJhbnNsYXRpb24odHJhbmxhdGlvbnMpO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmlzRmlyc3RSb3dTZWxlY3RlZCgpICYmIHRoaXMuZGF0YSgpKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLmRhdGEoKVswXTtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGlvbkV2ZW50LmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZFJvd3NJbnB1dCgpKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGVkUm93c0lucHV0KCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmV4cG9ydENvbmZpZygpKSB7XHJcblx0XHRcdFx0dGhpcy5jcmVhdGVFeHBvcnRGb3JtKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmNoZWNrYm94U2VsZWN0aW9uKCkpIHRoaXMuaGFuZGxlZFNlbGVjdGlvbk1vZGUgPSBudWxsO1xyXG5cdFx0XHRlbHNlIHRoaXMuaGFuZGxlZFNlbGVjdGlvbk1vZGUgPSB0aGlzLnNlbGVjdGlvbk1vZGUoKTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdFx0aWYgKHRoaXMuZGF0YSgpPy5sZW5ndGggPT0gMTApIHRoaXMudGFibGVSZWYucm93cyA9IDEwO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGlzSW5pdGlhbExvYWQgPSB0cnVlO1xyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRpZiAoY2hhbmdlc1snZGF0YSddICYmIGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2RhdGEnXS5wcmV2aW91c1ZhbHVlKSB7XHJcblx0XHRcdGlmICh0aGlzLmlzSW5pdGlhbExvYWQpIHtcclxuXHRcdFx0XHR0aGlzLmlzSW5pdGlhbExvYWQgPSBmYWxzZTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnN0IGN1cnJlbnREYXRhID0gY2hhbmdlc1snZGF0YSddLmN1cnJlbnRWYWx1ZTtcclxuXHRcdFx0aWYgKHRoaXMuaXNTaG93Tm9EYXRhRm91bmRNZXNzYWdlKCkgJiYgIWN1cnJlbnREYXRhPy5sZW5ndGgpIHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ2luZm8nLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMubm9EYXRhVG9EaXNwbGF5JyksXHJcblx0XHRcdFx0XHRrZXk6ICd0b2FzdC1yb290J1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGNyZWF0ZUV4cG9ydEZvcm0oKTogdm9pZCB7XHJcblx0XHRjb25zdCB7IGV4cG9ydExhYmVsIH0gPSB0aGlzLmV4cG9ydENvbmZpZygpITtcclxuXHJcblx0XHR0aGlzLmV4cG9ydEZvcm0gPSB0aGlzLmZiLmdyb3VwPEV4cG9ydEZvcm0+KHtcclxuXHRcdFx0ZXhwb3J0VHlwZTogdGhpcy5mYi5jb250cm9sKEV4cG9ydFR5cGUuRXhjZWwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHRleHBvcnRMYWJlbDogdGhpcy5mYi5jb250cm9sKGV4cG9ydExhYmVsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuXHRcdFx0Y29sdW1uczogdGhpcy5mYi5hcnJheTxGb3JtR3JvdXA8Q29sRm9ybT4+KFtdKVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5jb2x1bW5zLl9yZXN1bHRzXHJcblx0XHRcdC5maWx0ZXIoKGNvbCkgPT4gY29sLnR5cGUoKSAhPT0gJ29wZXJhdGlvbnMnKVxyXG5cdFx0XHQuZmlsdGVyKChjb2wpID0+IHtcclxuXHRcdFx0XHRjb25zdCBleHBvcnRDb25maWcgPSB0aGlzLmV4cG9ydENvbmZpZygpO1xyXG5cdFx0XHRcdGNvbnN0IGV4Y2x1ZGVkRmllbGRzID0gZXhwb3J0Q29uZmlnPy5leGNsdWRlZEZpZWxkcyA/PyBbXTtcclxuXHJcblx0XHRcdFx0cmV0dXJuICFleGNsdWRlZEZpZWxkcy5pbmNsdWRlcyhjb2wuZmllbGQoKSk7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5mb3JFYWNoKChjb2wpID0+IHtcclxuXHRcdFx0XHRjb25zdCBjb2xHcm91cCA9IHRoaXMuZmIuZ3JvdXA8Q29sRm9ybT4oe1xyXG5cdFx0XHRcdFx0Y2hlY2tlZDogdGhpcy5mYi5jb250cm9sKHRydWUpLFxyXG5cdFx0XHRcdFx0dGl0bGU6IHRoaXMuZmIuY29udHJvbChjb2wuaGVhZGVyKCkpLFxyXG5cdFx0XHRcdFx0ZGF0YUtleTogdGhpcy5mYi5jb250cm9sKGNvbC5maWVsZCgpKVxyXG5cdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHR0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy5wdXNoKGNvbEdyb3VwKTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5leHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodCkgPT4gKHRoaXMuaXNBbGxTZWxlY3RlZCA9IHQuZXZlcnkoKGEpID0+IGEuY2hlY2tlZCkpKTtcclxuXHR9XHJcblxyXG5cdGdldCBob3N0VXJsKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gYCR7Z2xvYmFsVGhpcy5sb2NhdGlvbi5wcm90b2NvbH0vLyR7Z2xvYmFsVGhpcy5sb2NhdGlvbi5ob3N0fS9odG1sL2A7XHJcblx0fVxyXG5cclxuXHRhc3luYyBleHBvcnQoKSB7XHJcblx0XHRjb25zdCB7IGV4cG9ydFR5cGUsIGV4cG9ydExhYmVsLCBjb2x1bW5zIH0gPSB0aGlzLmV4cG9ydEZvcm0udmFsdWU7XHJcblx0XHRjb25zdCB7IHJvdXRlLCBwYXJhbXMsIHBhZ2VTaXplLCBjb2x1bW5GaWVsZFZhbHVlTWFwLCBkYXRlQ29sdW1uRm9ybWF0TWFwLCBjb21wdXRlZENvbHVtbk1hcCB9ID0gdGhpcy5leHBvcnRDb25maWcoKSE7XHJcblxyXG5cdFx0Y29uc3QgY2hlY2tlZENvbHVtbnMgPSBjb2x1bW5zIS5maWx0ZXIoKHQpID0+IHQuY2hlY2tlZCk7XHJcblx0XHRjb25zdCBmaWxlRXh0ZW5zaW9uID0gdGhpcy5leHBvcnRUeXBlT3B0aW9ucy5maW5kKCh0KSA9PiB0LmtleSA9PT0gZXhwb3J0VHlwZSk/LmZpbGVFeHRlbnNpb247XHJcblxyXG5cdFx0bGV0IGNvbHVtbkZpZWxkVmFsdWVNYXBPYmo6IENvbHVtbkZpZWxkVmFsdWVNYXAgfCB1bmRlZmluZWQ7XHJcblxyXG5cdFx0aWYgKGNvbHVtbkZpZWxkVmFsdWVNYXApIHtcclxuXHRcdFx0Y29uc3QgdGVtcE9iaiA9IHt9IGFzIENvbHVtbkZpZWxkVmFsdWVNYXA7XHJcblxyXG5cdFx0XHRhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHRmcm9tKE9iamVjdC5lbnRyaWVzKGNvbHVtbkZpZWxkVmFsdWVNYXApKS5waXBlKFxyXG5cdFx0XHRcdFx0Y29uY2F0TWFwKChbZmllbGROYW1lLCB2YWx1ZV0pID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRcdCF0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtgJHt2YWx1ZS5ncm91cE5hbWV9fiR7dmFsdWUucGFyZW50U2VsZWN0aW9uS2V5ID8/ICdBTEwnfWBdXHJcblx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmZldGNoRW51bSh2YWx1ZS5ncm91cE5hbWUsIHZhbHVlLnBhcmVudFNlbGVjdGlvbktleSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGNvbnN0IGtleSA9IHZhbHVlLmdyb3VwTmFtZSArICd+JyArICh2YWx1ZS5wYXJlbnRTZWxlY3Rpb25LZXkgPz8gJ0FMTCcpO1xyXG5cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGludGVydmFsKDEwKS5waXBlKFxyXG5cdFx0XHRcdFx0XHRcdGZpbHRlcigoKSA9PiAhdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuaXNMb2FkaW5nKGtleSkpLFxyXG5cdFx0XHRcdFx0XHRcdHRha2UoMSksXHJcblx0XHRcdFx0XHRcdFx0bWFwKCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID0gdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClba2V5XTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChzZWxlY3Rpb25Hcm91cCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZW1wT2JqW2ZpZWxkTmFtZV0gPSBzZWxlY3Rpb25Hcm91cC5zZWxlY3Rpb25JdGVtcy5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGFjY1tpdGVtLnNlbGVjdGlvbktleV0gPSBpdGVtLnNlbGVjdGlvbkRpc3BsYXk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LCB7fSkgYXMgYW55O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHRvQXJyYXkoKSxcclxuXHRcdFx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29sdW1uRmllbGRWYWx1ZU1hcE9iaiA9IHRlbXBPYmo7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdClcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZXF1ZXN0OiBFeHBvcnRSZXF1ZXN0ID0ge1xyXG5cdFx0XHRyb3V0ZTogcm91dGUhLFxyXG5cdFx0XHRwYXJhbXM6IHBhcmFtcyEsXHJcblx0XHRcdHBhZ2VTaXplOiBwYWdlU2l6ZSEsXHJcblx0XHRcdGV4cG9ydFR5cGU6IGV4cG9ydFR5cGUhLFxyXG5cdFx0XHRleHBvcnRMYWJlbDogZXhwb3J0TGFiZWwhLFxyXG5cdFx0XHRjb21wdXRlZENvbHVtbk1hcDogY29tcHV0ZWRDb2x1bW5NYXAhLFxyXG5cdFx0XHRkYXRlQ29sdW1uRm9ybWF0TWFwOiBkYXRlQ29sdW1uRm9ybWF0TWFwISxcclxuXHRcdFx0Y29sdW1uRmllbGRWYWx1ZU1hcDogY29sdW1uRmllbGRWYWx1ZU1hcE9iaiEsXHJcblx0XHRcdGhlYWRlck5hbWVzOiBjaGVja2VkQ29sdW1ucy5tYXAoKGNvbCkgPT4gY29sLnRpdGxlISksXHJcblx0XHRcdG91dHB1dEZpZWxkczogY2hlY2tlZENvbHVtbnMubWFwKChjb2wpID0+IGNvbC5kYXRhS2V5ISlcclxuXHRcdH07XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdDx7IHN1Y2Nlc3M6IGJvb2xlYW47IHVybDogc3RyaW5nIH0+KEFQSV9DT05GSUdTLmFwaSArICcvYmF0Y2gtZXhwb3J0ZXJzL2V4cG9ydCcsIHJlcXVlc3QpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHJlcykgPT5cclxuXHRcdFx0XHRcdFx0dGhpcy5odHRwLmdldChBUElfQ09ORklHUy5hcGkgKyAnL2J1Y2tldC1vYmplY3RzL2Rvd25sb2FkJywge1xyXG5cdFx0XHRcdFx0XHRcdHBhcmFtczogeyB1cmw6IHJlcy51cmwgfSxcclxuXHRcdFx0XHRcdFx0XHRyZXNwb25zZVR5cGU6ICdibG9iJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChlcnJvci5zdGF0dXMgPT09IDUwNCkge1xyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5ob3N0VXJsfW1uZy8jL21uZy9jb250cm9sLW1hbmFnZW1lbnQvZXhwb3J0LXJlcXVlc3RzYDtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdIYXRhIG9sdcWfdHU6JywgZXJyb3IpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0c2F2ZUFzKHJlc3BvbnNlLCBgJHtleHBvcnRMYWJlbH0tJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ke2ZpbGVFeHRlbnNpb259YCk7XHJcblxyXG5cdFx0XHR0aGlzLmV4cG9ydEZvcm0ucmVzZXQoKTtcclxuXHRcdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignSGF0YSBvbHXFn3R1OicsIGVycm9yKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uU2VsZWN0QWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmF0KGkpO1xyXG5cdFx0XHRmb3JtR3JvdXAuY29udHJvbHMuY2hlY2tlZC5zZXRWYWx1ZSh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0b2dnbGVFeHBvcnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblxyXG5cdGhhbmRsZUxhenlMb2FkRXZlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0Y29uc3QgbmV3RXZlbnREYXRhID0ge1xyXG5cdFx0XHRwYWdlcjoge1xyXG5cdFx0XHRcdHBhZ2VTaXplOiBldmVudC5yb3dzLFxyXG5cdFx0XHRcdHBhZ2VOdW1iZXI6IGV2ZW50LmZpcnN0IC8gZXZlbnQucm93cyArIDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c29ydDogZXZlbnQubXVsdGlTb3J0TWV0YSxcclxuXHRcdFx0ZmlsdGVyOiBldmVudC5maWx0ZXJzXHJcblx0XHR9O1xyXG5cdFx0dGhpcy5sYXp5TG9hZEV2ZW50LmVtaXQobmV3RXZlbnREYXRhKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy50YWJsZVJlZi52YWx1ZSA9IFtdO1xyXG5cdFx0dGhpcy50YWJsZVJlZi5jbGVhcigpO1xyXG5cdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cdH1cclxufVxyXG4iLCI8cC10YWJsZVxyXG5cdCNyZWZcclxuXHRbdmFsdWVdPVwiZGF0YSgpXCJcclxuXHRbZGF0YUtleV09XCJkYXRhS2V5KClcIlxyXG5cdFtjb2x1bW5zXT1cImNvbHVtbnMuX3Jlc3VsdHNcIlxyXG5cdFtyb3dzXT1cInBhZ2VTaXplKClcIlxyXG5cdFtyb3dIb3Zlcl09XCJ0cnVlXCJcclxuXHRbcGFnaW5hdG9yXT1cInRvdGFsUmVjb3JkcygpID4gMTAgPyBwYWdpbmF0b3IoKSA6IGZhbHNlXCJcclxuXHRbbGF6eV09XCJpc0xhenkoKVwiXHJcblx0W2xhenlMb2FkT25Jbml0XT1cImZhbHNlXCJcclxuXHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3JkcygpXCJcclxuXHRbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwgMjAsIDUwLCAxMDBdXCJcclxuXHRbZmlsdGVyRGVsYXldPVwiMFwiXHJcblx0c29ydE1vZGU9XCJtdWx0aXBsZVwiXHJcblx0WyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkUm93c1wiXHJcblx0KG9uUGFnZSk9XCJvblBhZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG5cdChvbkxhenlMb2FkKT1cImhhbmRsZUxhenlMb2FkRXZlbnQoJGV2ZW50KVwiXHJcblx0KHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkUm93cylcIlxyXG5cdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRbY29sdW1uUmVzaXplTW9kZV09XCJpc0NvbHVtbkV4cGFuZE1vZGUoKSA/ICdleHBhbmQnIDogJydcIlxyXG5cdFtyZXNpemFibGVDb2x1bW5zXT1cImlzUmVzaXphYmxlQ29sdW1ucygpXCJcclxuXHRjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiVG9wbGFtIDoge3RvdGFsUmVjb3Jkc30ga2F5xLF0IHwgU2F5ZmEgOiB7Y3VycmVudFBhZ2V9IC8ge3RvdGFsUGFnZXN9XCJcclxuXHRzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc21cIlxyXG5cdFtwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXT1cInBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG8oKVwiPlxyXG5cdDwhLS1AaWYgKHRhYmxlSGVhZGVyKCkgfHwgc2hvd1NlYXJjaFRvb2woKSB8fCBzaG93RXhwb3J0VG9vbCgpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBzcGFjZS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdEBpZiAodGFibGVIZWFkZXIoKS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7IHRhYmxlSGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC10ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiU0VBUkNIXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb25Qb3M9XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQXJhbWFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiZmlsdGVyVGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1yLTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicmVmLmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC10ZXh0PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9FWENFTFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cFRvb2x0aXA9XCJYTFNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4Y2VsRXhwb3J0KClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9QREZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleHBvcnRQZGYoKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGlmIChkYXRhKCkgJiYga2ViYWJNZW51SXRlbXMubGVuZ3RoID4gMCApIHtcclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IHRvb2xzIHN0eWxlPVwicGFkZGluZzogNHB4O21hcmdpbi1sZWZ0OiA0cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjM2NmYxO2JvcmRlci1yYWRpdXM6IDZweDtiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2NmYxOyBjb2xvcjogd2hpdGU7XCIgPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0W2F0dHIucm9sZV09XCInbm9uZSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIG1yLTEgaGVhZGVyLWljb24gcGktZWxsaXBzaXMtdlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJidWxrT3BlcmF0aW9ucy50b2dnbGUoJGV2ZW50KTtcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1tZW51XHJcblx0XHRcdFx0XHRcdFx0XHRcdCNidWxrT3BlcmF0aW9uc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRbcG9wdXBdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFttb2RlbF09XCJrZWJhYk1lbnVJdGVtc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlQ2xhc3M9XCJ6LWluZGV4OiA5OTk4ODk5O1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH0tLT5cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHRAaWYgKGNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHQ8dGg+XHJcblx0XHRcdFx0XHRAaWYgKGhlYWRlckNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHRcdFx0PHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRAaWYgKGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJykge1xyXG5cdFx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+xLDFn2xlbWxlcjwvZGl2PlxyXG5cdFx0XHRcdFx0PC90aD5cclxuXHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdEBpZiAoaXNSZXNpemFibGVDb2x1bW5zKCkpIHtcclxuXHRcdFx0XHRcdFx0PHRoXHJcblx0XHRcdFx0XHRcdFx0W3BTb3J0YWJsZUNvbHVtbl09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0W25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCJcclxuXHRcdFx0XHRcdFx0XHRwUmVzaXphYmxlQ29sdW1uPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi5pc1Nob3dIZWFkZXJUb29sdGlwKCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW47IHBhZGRpbmctdG9wOiA0cHg7IHBhZGRpbmctbGVmdDogNHB4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cImNvbHVtbi50b29sdGlwVGVtcGxhdGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0QGlmICghaXNMYXp5KCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAoaXNTb3J0YWJsZSgpKSB7XHJcblx0XHRcdFx0XHRcdDx0aFxyXG5cdFx0XHRcdFx0XHRcdFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbi53aWR0aCgpID8gY29sdW1uLndpZHRoKCkgOiAnYXV0bycgfVwiXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU9XCJtaW4td2lkdGg6IDE3MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC90aD5cclxuXHRcdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0XHQ8dGggW25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCIgc3R5bGU9XCJtaW4td2lkdGg6IDE3MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCI+XHJcblx0XHRAaWYgKGhhbmRsZWRTZWxlY3Rpb25Nb2RlKSB7XHJcblx0XHRcdDx0ciBbcFNlbGVjdGFibGVSb3ddPVwiaXRlbVwiIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCI+XHJcblx0XHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PHRkIFtuZ1N0eWxlXT1cInsgJ3RleHQtYWxpZ24nOiBjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycgPyAnY2VudGVyJyA6IGNvbHVtbi50QWxpZ24oKSB8fCB0QWxpZ24oKSB9XCI+XHJcblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbaXRlbV1cIiBbbmdGb3JUZW1wbGF0ZV09XCJjb2x1bW4udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvdHI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHRyIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCI+XHJcblx0XHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVDaGVja2JveD5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH1cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRAaWYgKHNob3dGb290ZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLl9yZXN1bHRzLmxlbmd0aFwiPnt7IG5vRGF0YUZvdW5kTGFiZWwoKSB9fTwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCBzdHlsZUNsYXNzPVwiZXhwb3J0LW92ZXJsYXktcGFuZWxcIj5cclxuXHRAaWYgKGV4cG9ydEZvcm0pIHtcclxuXHRcdDxhcmlsLWZvcm0gW2Zvcm1Hcm91cF09XCJleHBvcnRGb3JtXCIgY2xhc3M9XCJ3LTIwcmVtXCI+XHJcblx0XHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCInRXhwb3J0IFRpcGknXCIgW2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCI+XHJcblx0XHRcdFx0PGFyaWwtcmFkaW8tYnV0dG9uIGZvcm1Db250cm9sTmFtZT1cImV4cG9ydFR5cGVcIiBbb3B0aW9uc109XCJleHBvcnRUeXBlT3B0aW9uc1wiIC8+XHJcblx0XHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCInRG9zeWEgxLBzbWknXCIgW2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCI+XHJcblx0XHRcdFx0PGFyaWwtdGV4dCBjbGFzcz1cInctZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImV4cG9ydExhYmVsXCIgLz5cclxuXHRcdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciBmb3JtQXJyYXlOYW1lPVwiY29sdW1uc1wiPlxyXG5cdFx0XHRcdDxwLW9yZGVyTGlzdFxyXG5cdFx0XHRcdFx0I29yZGVyTGlzdFJlZlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJjb2wtMTJcIlxyXG5cdFx0XHRcdFx0W3ZhbHVlXT1cImV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy5jb250cm9sc1wiXHJcblx0XHRcdFx0XHRbbGlzdFN0eWxlXT1cInsgJ21heC1oZWlnaHQnOiAnMjByZW0nIH1cIlxyXG5cdFx0XHRcdFx0ZmlsdGVyQnk9XCJ2YWx1ZS50aXRsZVwiPlxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZpbHRlclwiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1jaGVja2JveFxyXG5cdFx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cIicnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsXT1cImlzQWxsU2VsZWN0ZWRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsKCRldmVudClcIiAvPlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicC1vcmRlcmxpc3QtZmlsdGVyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidmaWx0ZXInXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdFx0I2ZpbHRlclxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHJvbGU9XCJ0ZXh0Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0KGtleXVwKT1cIm9yZGVyTGlzdFJlZi5vbkZpbHRlcktleXVwKCRldmVudClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwib3JkZXJMaXN0UmVmLmRpc2FibGVkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwLW9yZGVybGlzdC1maWx0ZXItaW5wdXQgcC1pbnB1dHRleHQgcC1jb21wb25lbnRcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LWNvbCBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcblx0XHRcdFx0XHRcdDxhcmlsLWNoZWNrYm94IFtsYWJlbF09XCJjb2wudmFsdWUudGl0bGVcIiBbZm9ybUNvbnRyb2xdPVwiY29sLmNvbnRyb2xzLmNoZWNrZWRcIiAvPlxyXG5cdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8L3Atb3JkZXJMaXN0PlxyXG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHRcdDxhcmlsLWJ1dHRvbiBjbGFzcz1cImNvbC0xMlwiIFtsYWJlbF09XCJ0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5leHBvcnQnKVwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGlja0V2ZW50KT1cImV4cG9ydCgpXCIgLz5cclxuXHRcdDwvYXJpbC1mb3JtPlxyXG5cdH1cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsY0FBYyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUEwRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEgsT0FBTyxFQUFjLG9CQUFvQixFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUY7Ozs7O0dBS0c7QUFDSCxN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bnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRWaWV3Q2hpbGQsXHJcblx0ZWZmZWN0LFxyXG5cdGlucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtLCBNZXNzYWdlU2VydmljZSwgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7XHJcblx0Y2F0Y2hFcnJvcixcclxuXHRjb25jYXRNYXAsXHJcblx0ZmlsdGVyLFxyXG5cdGZpbmFsaXplLFxyXG5cdGZpcnN0VmFsdWVGcm9tLFxyXG5cdGZyb20sXHJcblx0aW50ZXJ2YWwsXHJcblx0bWFwLFxyXG5cdHN3aXRjaE1hcCxcclxuXHR0YWtlLFxyXG5cdHRocm93RXJyb3IsXHJcblx0dG9BcnJheVxyXG59IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IFByb3h5VHlwZXMgfSBmcm9tICdhcmlsL2h0dHAnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Hcm91cFNlcnZpY2UgfSBmcm9tICdhcmlsL3RoZW1lL2xheW91dCc7XHJcblxyXG5pbXBvcnQgeyB0cmFubGF0aW9ucyB9IGZyb20gJy4vaTE4bic7XHJcbmltcG9ydCB7IENvbEZvcm0sIENvbHVtbkZpZWxkVmFsdWVNYXAsIEV4cG9ydEZvcm0sIEV4cG9ydE9wdGlvbnMsIEV4cG9ydFJlcXVlc3QsIEV4cG9ydFR5cGUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBBbGlnblR5cGVzLCBUYWJsZUNvbHVtbkNvbXBvbmVudCwgVGFibGVDb2x1bW5zIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuXHJcbi8qIFRPRE8gOlxyXG4gKiBzZXJ2ZXItc2lkZS1wcm94eSAoUHJveHlUeXBlcy5TZXJ2ZXJTaWRlKVxyXG4gKiBzZWFyY2ggJiBjb2x1bSBmaWx0ZXIgJiBzb3J0XHJcbiAqIHBhZ2luYXRpb24gb3BlcmF0aW9uXHJcbiAqIFF1ZXJ5IFNpZ25hbHNcclxuICovXHJcbmNvbnN0IHBhZ2VPcHRpb25zID0gWzEwLCAyMCwgNTAsIDEwMF0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFNlbGVjdGlvblR5cGVzID0gJ3NpbmdsZScgfCAnbXVsdGlwbGUnIHwgbnVsbDtcclxuaW50ZXJmYWNlIElLZWJhYk1lbnVJdGVtIHtcclxuXHRpY29uOiBzdHJpbmc7XHJcblx0bGFiZWw6IHN0cmluZztcclxuXHRvbkNsaWNrOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC10YWJsZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcblx0QE91dHB1dCgpIG9uUGFnZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgbGF6eUxvYWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAQ29udGVudENoaWxkcmVuKFRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zITogVGFibGVDb2x1bW5zO1xyXG5cdEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvcCE6IE92ZXJsYXlQYW5lbDtcclxuXHRAVmlld0NoaWxkKFRhYmxlKSB0YWJsZVJlZiE6IFRhYmxlO1xyXG5cdEBJbnB1dCgpIGtlYmFiTWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XHJcblx0QElucHV0KCkgZXhwYW5kYWJsZUZpZWxkcyE6IHN0cmluZztcclxuXHJcblx0ZGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xyXG5cdGNoZWNrYm94U2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHRoZWFkZXJDaGVja2JveFNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblx0cGFnZVNpemUgPSBpbnB1dDwodHlwZW9mIHBhZ2VPcHRpb25zKVtudW1iZXJdPigxMCk7XHJcblx0cHJveHkgPSBpbnB1dDxQcm94eVR5cGVzPihQcm94eVR5cGVzLk5hdGl2ZSk7XHJcblx0c2hvd0Zvb3RlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHR0QWxpZ24gPSBpbnB1dDxBbGlnblR5cGVzPignbGVmdCcpO1xyXG5cdHNlbGVjdGlvbk1vZGUgPSBpbnB1dDxTZWxlY3Rpb25UeXBlcz4oJ3NpbmdsZScpO1xyXG5cdHNob3dTZWFyY2hUb29sID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0c2hvd0V4cG9ydFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRGaWxlTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG5vRGF0YUZvdW5kTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhIEZvdW5kJyk7XHJcblx0dGFibGVIZWFkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzaG93VGFibGVIZWFkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNGaXJzdFJvd1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGRhdGFLZXkgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzZWxlY3RlZFJvd3NJbnB1dCA9IGlucHV0PGFueT4oW10pO1xyXG5cdGlzTGF6eSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHR0b3RhbFJlY29yZHMgPSBpbnB1dDxudW1iZXI+KDApO1xyXG5cdHBhZ2luYXRvciA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG8gPSBpbnB1dDxzdHJpbmc+KCdib2R5Jyk7IC8vICdib2R5J3wgJ215RGl2J1xyXG5cclxuXHRpc1Nob3dOb0RhdGFGb3VuZE1lc3NhZ2UgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHQvKipcclxuXHQgKiBAc2VlIHtAbGluayBFeHBvcnRPcHRpb25zfVxyXG5cdCAqL1xyXG5cdGV4cG9ydENvbmZpZyA9IGlucHV0PEV4cG9ydE9wdGlvbnM+KCk7XHJcblxyXG5cdGV4cG9ydEZvcm0hOiBGb3JtR3JvdXA8RXhwb3J0Rm9ybT47XHJcblx0ZXhwb3J0VHlwZU9wdGlvbnMgPSBbXHJcblx0XHR7IGtleTogRXhwb3J0VHlwZS5FeGNlbCwgbGFiZWw6ICdFeGNlbCcsIGZpbGVFeHRlbnNpb246ICcueGxzeCcgfSxcclxuXHRcdHsga2V5OiBFeHBvcnRUeXBlLkNzdiwgbGFiZWw6ICdDc3YnLCBmaWxlRXh0ZW5zaW9uOiAnLmNzdicgfVxyXG5cdF07XHJcblxyXG5cdGZpbHRlclRleHQhOiBzdHJpbmc7XHJcblx0aXNBbGxTZWxlY3RlZCA9IHRydWU7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnk7XHJcblx0cGFnZU9wdGlvbnMgPSBwYWdlT3B0aW9ucztcclxuXHRleHBvcnRDb2x1bW5zOiBBcnJheTx7IHRpdGxlOiBzdHJpbmc7IGRhdGFLZXk6IHN0cmluZyB9PiA9IFtdO1xyXG5cdGlzQ29sdW1uRXhwYW5kTW9kZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc1Jlc2l6YWJsZUNvbHVtbnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNTb3J0YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRoYW5kbGVkU2VsZWN0aW9uTW9kZTogU2VsZWN0aW9uVHlwZXMgPSAnc2luZ2xlJztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGZiOiBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSBwcmltZW5nQ29uZmlnOiBQcmltZU5HQ29uZmlnLFxyXG5cdFx0cHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcclxuXHRcdHByaXZhdGUgc2VsZWN0aW9uR3JvdXBTZXJ2aWNlOiBTZWxlY3Rpb25Hcm91cFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMucHJpbWVuZ0NvbmZpZy5zZXRUcmFuc2xhdGlvbih0cmFubGF0aW9ucyk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuaXNGaXJzdFJvd1NlbGVjdGVkKCkgJiYgdGhpcy5kYXRhKCkpIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGVkUm93cyA9IHRoaXMuZGF0YSgpWzBdO1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0aW9uRXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkUm93cyk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkUm93c0lucHV0KCkpIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGVkUm93cyA9IHRoaXMuc2VsZWN0ZWRSb3dzSW5wdXQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZXhwb3J0Q29uZmlnKCkpIHtcclxuXHRcdFx0XHR0aGlzLmNyZWF0ZUV4cG9ydEZvcm0oKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuY2hlY2tib3hTZWxlY3Rpb24oKSkgdGhpcy5oYW5kbGVkU2VsZWN0aW9uTW9kZSA9IG51bGw7XHJcblx0XHRcdGVsc2UgdGhpcy5oYW5kbGVkU2VsZWN0aW9uTW9kZSA9IHRoaXMuc2VsZWN0aW9uTW9kZSgpO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5kYXRhKCk/Lmxlbmd0aCA9PSAxMCkgdGhpcy50YWJsZVJlZi5yb3dzID0gMTA7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaXNJbml0aWFsTG9hZCA9IHRydWU7XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgY2hhbmdlc1snZGF0YSddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snZGF0YSddLnByZXZpb3VzVmFsdWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuaXNJbml0aWFsTG9hZCkge1xyXG5cdFx0XHRcdHRoaXMuaXNJbml0aWFsTG9hZCA9IGZhbHNlO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgY3VycmVudERhdGEgPSBjaGFuZ2VzWydkYXRhJ10uY3VycmVudFZhbHVlO1xyXG5cdFx0XHRpZiAodGhpcy5pc1Nob3dOb0RhdGFGb3VuZE1lc3NhZ2UoKSAmJiAhY3VycmVudERhdGE/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdHNldmVyaXR5OiAnaW5mbycsXHJcblx0XHRcdFx0XHRzdW1tYXJ5OiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5ub0RhdGFUb0Rpc3BsYXknKSxcclxuXHRcdFx0XHRcdGtleTogJ3RvYXN0LXJvb3QnXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY3JlYXRlRXhwb3J0Rm9ybSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0TGFiZWwgfSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdHRoaXMuZXhwb3J0Rm9ybSA9IHRoaXMuZmIuZ3JvdXA8RXhwb3J0Rm9ybT4oe1xyXG5cdFx0XHRleHBvcnRUeXBlOiB0aGlzLmZiLmNvbnRyb2woRXhwb3J0VHlwZS5FeGNlbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcblx0XHRcdGV4cG9ydExhYmVsOiB0aGlzLmZiLmNvbnRyb2woZXhwb3J0TGFiZWwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmZiLmFycmF5PEZvcm1Hcm91cDxDb2xGb3JtPj4oW10pXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmNvbHVtbnMuX3Jlc3VsdHNcclxuXHRcdFx0LmZpbHRlcigoY29sKSA9PiBjb2wudHlwZSgpICE9PSAnb3BlcmF0aW9ucycpXHJcblx0XHRcdC5maWx0ZXIoKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGV4cG9ydENvbmZpZyA9IHRoaXMuZXhwb3J0Q29uZmlnKCk7XHJcblx0XHRcdFx0Y29uc3QgZXhjbHVkZWRGaWVsZHMgPSBleHBvcnRDb25maWc/LmV4Y2x1ZGVkRmllbGRzID8/IFtdO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gIWV4Y2x1ZGVkRmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCgpKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LmZvckVhY2goKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGNvbEdyb3VwID0gdGhpcy5mYi5ncm91cDxDb2xGb3JtPih7XHJcblx0XHRcdFx0XHRjaGVja2VkOiB0aGlzLmZiLmNvbnRyb2wodHJ1ZSksXHJcblx0XHRcdFx0XHR0aXRsZTogdGhpcy5mYi5jb250cm9sKGNvbC5oZWFkZXIoKSksXHJcblx0XHRcdFx0XHRkYXRhS2V5OiB0aGlzLmZiLmNvbnRyb2woY29sLmZpZWxkKCkpXHJcblx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLnB1c2goY29sR3JvdXApO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0KSA9PiAodGhpcy5pc0FsbFNlbGVjdGVkID0gdC5ldmVyeSgoYSkgPT4gYS5jaGVja2VkKSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGhvc3RVcmwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBgJHtnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sfS8vJHtnbG9iYWxUaGlzLmxvY2F0aW9uLmhvc3R9L2h0bWwvYDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGV4cG9ydCgpIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0VHlwZSwgZXhwb3J0TGFiZWwsIGNvbHVtbnMgfSA9IHRoaXMuZXhwb3J0Rm9ybS52YWx1ZTtcclxuXHRcdGNvbnN0IHsgcm91dGUsIHBhcmFtcywgcGFnZVNpemUsIGNvbHVtbkZpZWxkVmFsdWVNYXAsIGRhdGVDb2x1bW5Gb3JtYXRNYXAsIGNvbXB1dGVkQ29sdW1uTWFwIH0gPSB0aGlzLmV4cG9ydENvbmZpZygpITtcclxuXHJcblx0XHRjb25zdCBjaGVja2VkQ29sdW1ucyA9IGNvbHVtbnMhLmZpbHRlcigodCkgPT4gdC5jaGVja2VkKTtcclxuXHRcdGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmV4cG9ydFR5cGVPcHRpb25zLmZpbmQoKHQpID0+IHQua2V5ID09PSBleHBvcnRUeXBlKT8uZmlsZUV4dGVuc2lvbjtcclxuXHJcblx0XHRsZXQgY29sdW1uRmllbGRWYWx1ZU1hcE9iajogQ29sdW1uRmllbGRWYWx1ZU1hcCB8IHVuZGVmaW5lZDtcclxuXHJcblx0XHRpZiAoY29sdW1uRmllbGRWYWx1ZU1hcCkge1xyXG5cdFx0XHRjb25zdCB0ZW1wT2JqID0ge30gYXMgQ29sdW1uRmllbGRWYWx1ZU1hcDtcclxuXHJcblx0XHRcdGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxyXG5cdFx0XHRcdGZyb20oT2JqZWN0LmVudHJpZXMoY29sdW1uRmllbGRWYWx1ZU1hcCkpLnBpcGUoXHJcblx0XHRcdFx0XHRjb25jYXRNYXAoKFtmaWVsZE5hbWUsIHZhbHVlXSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRcdFx0IXRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3ZhbHVlLmdyb3VwTmFtZX1+JHt2YWx1ZS5wYXJlbnRTZWxlY3Rpb25LZXkgPz8gJ0FMTCd9YF1cclxuXHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHZhbHVlLmdyb3VwTmFtZSwgdmFsdWUucGFyZW50U2VsZWN0aW9uS2V5KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Y29uc3Qga2V5ID0gdmFsdWUuZ3JvdXBOYW1lICsgJ34nICsgKHZhbHVlLnBhcmVudFNlbGVjdGlvbktleSA/PyAnQUxMJyk7XHJcblxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaW50ZXJ2YWwoMTApLnBpcGUoXHJcblx0XHRcdFx0XHRcdFx0ZmlsdGVyKCgpID0+ICF0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5pc0xvYWRpbmcoa2V5KSksXHJcblx0XHRcdFx0XHRcdFx0dGFrZSgxKSxcclxuXHRcdFx0XHRcdFx0XHRtYXAoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtrZXldO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHNlbGVjdGlvbkdyb3VwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRlbXBPYmpbZmllbGROYW1lXSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLnJlZHVjZSgoYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBpdGVtKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWNjW2l0ZW0uc2VsZWN0aW9uS2V5XSA9IGl0ZW0uc2VsZWN0aW9uRGlzcGxheTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sIHt9KSBhcyBhbnk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0dG9BcnJheSgpLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb2x1bW5GaWVsZFZhbHVlTWFwT2JqID0gdGVtcE9iajtcclxuXHRcdFx0XHRcdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG5cdFx0XHRcdFx0XHRcdHNldmVyaXR5OiAnaW5mbycsXHJcblx0XHRcdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuZXhwb3J0aW5nJyksXHJcblx0XHRcdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdClcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZXF1ZXN0OiBFeHBvcnRSZXF1ZXN0ID0ge1xyXG5cdFx0XHRyb3V0ZTogcm91dGUhLFxyXG5cdFx0XHRwYXJhbXM6IHBhcmFtcyEsXHJcblx0XHRcdHBhZ2VTaXplOiBwYWdlU2l6ZSEsXHJcblx0XHRcdGV4cG9ydFR5cGU6IGV4cG9ydFR5cGUhLFxyXG5cdFx0XHRleHBvcnRMYWJlbDogZXhwb3J0TGFiZWwhLFxyXG5cdFx0XHRjb21wdXRlZENvbHVtbk1hcDogY29tcHV0ZWRDb2x1bW5NYXAhLFxyXG5cdFx0XHRkYXRlQ29sdW1uRm9ybWF0TWFwOiBkYXRlQ29sdW1uRm9ybWF0TWFwISxcclxuXHRcdFx0Y29sdW1uRmllbGRWYWx1ZU1hcDogY29sdW1uRmllbGRWYWx1ZU1hcE9iaiEsXHJcblx0XHRcdGhlYWRlck5hbWVzOiBjaGVja2VkQ29sdW1ucy5tYXAoKGNvbCkgPT4gY29sLnRpdGxlISksXHJcblx0XHRcdG91dHB1dEZpZWxkczogY2hlY2tlZENvbHVtbnMubWFwKChjb2wpID0+IGNvbC5kYXRhS2V5ISlcclxuXHRcdH07XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0XHR0aGlzLmh0dHAucG9zdDx7IHN1Y2Nlc3M6IGJvb2xlYW47IHVybDogc3RyaW5nIH0+KEFQSV9DT05GSUdTLmFwaSArICcvYmF0Y2gtZXhwb3J0ZXJzL2V4cG9ydCcsIHJlcXVlc3QpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHJlcykgPT5cclxuXHRcdFx0XHRcdFx0dGhpcy5odHRwLmdldChBUElfQ09ORklHUy5hcGkgKyAnL2J1Y2tldC1vYmplY3RzL2Rvd25sb2FkJywge1xyXG5cdFx0XHRcdFx0XHRcdHBhcmFtczogeyB1cmw6IHJlcy51cmwgfSxcclxuXHRcdFx0XHRcdFx0XHRyZXNwb25zZVR5cGU6ICdibG9iJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChlcnJvci5zdGF0dXMgPT09IDUwNCkge1xyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5ob3N0VXJsfW1uZy8jL21uZy9jb250cm9sLW1hbmFnZW1lbnQvZXhwb3J0LXJlcXVlc3RzYDtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdIYXRhIG9sdcWfdHU6JywgZXJyb3IpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0c2F2ZUFzKHJlc3BvbnNlLCBgJHtleHBvcnRMYWJlbH0tJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ke2ZpbGVFeHRlbnNpb259YCk7XHJcblxyXG5cdFx0XHR0aGlzLmV4cG9ydEZvcm0ucmVzZXQoKTtcclxuXHRcdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignSGF0YSBvbHXFn3R1OicsIGVycm9yKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uU2VsZWN0QWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmF0KGkpO1xyXG5cdFx0XHRmb3JtR3JvdXAuY29udHJvbHMuY2hlY2tlZC5zZXRWYWx1ZSh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0b2dnbGVFeHBvcnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblxyXG5cdGhhbmRsZUxhenlMb2FkRXZlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0Y29uc3QgbmV3RXZlbnREYXRhID0ge1xyXG5cdFx0XHRwYWdlcjoge1xyXG5cdFx0XHRcdHBhZ2VTaXplOiBldmVudC5yb3dzLFxyXG5cdFx0XHRcdHBhZ2VOdW1iZXI6IGV2ZW50LmZpcnN0IC8gZXZlbnQucm93cyArIDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c29ydDogZXZlbnQubXVsdGlTb3J0TWV0YSxcclxuXHRcdFx0ZmlsdGVyOiBldmVudC5maWx0ZXJzXHJcblx0XHR9O1xyXG5cdFx0dGhpcy5sYXp5TG9hZEV2ZW50LmVtaXQobmV3RXZlbnREYXRhKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy50YWJsZVJlZi52YWx1ZSA9IFtdO1xyXG5cdFx0dGhpcy50YWJsZVJlZi5jbGVhcigpO1xyXG5cdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cdH1cclxufVxyXG4iLCI8cC10YWJsZVxyXG5cdCNyZWZcclxuXHRbdmFsdWVdPVwiZGF0YSgpXCJcclxuXHRbZGF0YUtleV09XCJkYXRhS2V5KClcIlxyXG5cdFtjb2x1bW5zXT1cImNvbHVtbnMuX3Jlc3VsdHNcIlxyXG5cdFtyb3dzXT1cInBhZ2VTaXplKClcIlxyXG5cdFtyb3dIb3Zlcl09XCJ0cnVlXCJcclxuXHRbcGFnaW5hdG9yXT1cInRvdGFsUmVjb3JkcygpID4gMTAgPyBwYWdpbmF0b3IoKSA6IGZhbHNlXCJcclxuXHRbbGF6eV09XCJpc0xhenkoKVwiXHJcblx0W2xhenlMb2FkT25Jbml0XT1cImZhbHNlXCJcclxuXHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3JkcygpXCJcclxuXHRbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwgMjAsIDUwLCAxMDBdXCJcclxuXHRbZmlsdGVyRGVsYXldPVwiMFwiXHJcblx0c29ydE1vZGU9XCJtdWx0aXBsZVwiXHJcblx0WyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkUm93c1wiXHJcblx0KG9uUGFnZSk9XCJvblBhZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG5cdChvbkxhenlMb2FkKT1cImhhbmRsZUxhenlMb2FkRXZlbnQoJGV2ZW50KVwiXHJcblx0KHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkUm93cylcIlxyXG5cdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRbY29sdW1uUmVzaXplTW9kZV09XCJpc0NvbHVtbkV4cGFuZE1vZGUoKSA/ICdleHBhbmQnIDogJydcIlxyXG5cdFtyZXNpemFibGVDb2x1bW5zXT1cImlzUmVzaXphYmxlQ29sdW1ucygpXCJcclxuXHRjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiVG9wbGFtIDoge3RvdGFsUmVjb3Jkc30ga2F5xLF0IHwgU2F5ZmEgOiB7Y3VycmVudFBhZ2V9IC8ge3RvdGFsUGFnZXN9XCJcclxuXHRzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc21cIlxyXG5cdFtwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXT1cInBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG8oKVwiPlxyXG5cdDwhLS1AaWYgKHRhYmxlSGVhZGVyKCkgfHwgc2hvd1NlYXJjaFRvb2woKSB8fCBzaG93RXhwb3J0VG9vbCgpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBzcGFjZS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdEBpZiAodGFibGVIZWFkZXIoKS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7IHRhYmxlSGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBzdHlsZT1cImZsZXg6IGF1dG9cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC10ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiU0VBUkNIXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb25Qb3M9XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQXJhbWFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiZmlsdGVyVGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1yLTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicmVmLmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC10ZXh0PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9FWENFTFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cFRvb2x0aXA9XCJYTFNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4Y2VsRXhwb3J0KClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uPVwiRklMRV9QREZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleHBvcnRQZGYoKVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGlmIChkYXRhKCkgJiYga2ViYWJNZW51SXRlbXMubGVuZ3RoID4gMCApIHtcclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IHRvb2xzIHN0eWxlPVwicGFkZGluZzogNHB4O21hcmdpbi1sZWZ0OiA0cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjM2NmYxO2JvcmRlci1yYWRpdXM6IDZweDtiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2NmYxOyBjb2xvcjogd2hpdGU7XCIgPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0W2F0dHIucm9sZV09XCInbm9uZSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIG1yLTEgaGVhZGVyLWljb24gcGktZWxsaXBzaXMtdlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJidWxrT3BlcmF0aW9ucy50b2dnbGUoJGV2ZW50KTtcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHQ8cC1tZW51XHJcblx0XHRcdFx0XHRcdFx0XHRcdCNidWxrT3BlcmF0aW9uc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRbcG9wdXBdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFttb2RlbF09XCJrZWJhYk1lbnVJdGVtc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlQ2xhc3M9XCJ6LWluZGV4OiA5OTk4ODk5O1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH0tLT5cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHRAaWYgKGNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHQ8dGg+XHJcblx0XHRcdFx0XHRAaWYgKGhlYWRlckNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHRcdFx0PHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHR9XHJcblx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRAaWYgKGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJykge1xyXG5cdFx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+xLDFn2xlbWxlcjwvZGl2PlxyXG5cdFx0XHRcdFx0PC90aD5cclxuXHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdEBpZiAoaXNSZXNpemFibGVDb2x1bW5zKCkpIHtcclxuXHRcdFx0XHRcdFx0PHRoXHJcblx0XHRcdFx0XHRcdFx0W3BTb3J0YWJsZUNvbHVtbl09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0W25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCJcclxuXHRcdFx0XHRcdFx0XHRwUmVzaXphYmxlQ29sdW1uPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi5pc1Nob3dIZWFkZXJUb29sdGlwKCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW47IHBhZGRpbmctdG9wOiA0cHg7IHBhZGRpbmctbGVmdDogNHB4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cImNvbHVtbi50b29sdGlwVGVtcGxhdGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0QGlmICghaXNMYXp5KCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAoaXNTb3J0YWJsZSgpKSB7XHJcblx0XHRcdFx0XHRcdDx0aFxyXG5cdFx0XHRcdFx0XHRcdFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbi53aWR0aCgpID8gY29sdW1uLndpZHRoKCkgOiAnYXV0bycgfVwiXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU9XCJtaW4td2lkdGg6IDE3MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC90aD5cclxuXHRcdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0XHQ8dGggW25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCIgc3R5bGU9XCJtaW4td2lkdGg6IDE3MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCI+XHJcblx0XHRAaWYgKGhhbmRsZWRTZWxlY3Rpb25Nb2RlKSB7XHJcblx0XHRcdDx0ciBbcFNlbGVjdGFibGVSb3ddPVwiaXRlbVwiIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCI+XHJcblx0XHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PHRkIFtuZ1N0eWxlXT1cInsgJ3RleHQtYWxpZ24nOiBjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycgPyAnY2VudGVyJyA6IGNvbHVtbi50QWxpZ24oKSB8fCB0QWxpZ24oKSB9XCI+XHJcblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbaXRlbV1cIiBbbmdGb3JUZW1wbGF0ZV09XCJjb2x1bW4udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvdHI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHRyIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCI+XHJcblx0XHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVDaGVja2JveD5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH1cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRAaWYgKHNob3dGb290ZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLl9yZXN1bHRzLmxlbmd0aFwiPnt7IG5vRGF0YUZvdW5kTGFiZWwoKSB9fTwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCBzdHlsZUNsYXNzPVwiZXhwb3J0LW92ZXJsYXktcGFuZWxcIj5cclxuXHRAaWYgKGV4cG9ydEZvcm0pIHtcclxuXHRcdDxhcmlsLWZvcm0gW2Zvcm1Hcm91cF09XCJleHBvcnRGb3JtXCIgY2xhc3M9XCJ3LTIwcmVtXCI+XHJcblx0XHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCInRG9zeWEgVGlwaSdcIiBbY29sc109XCJ7IGRlZmF1bHQ6IDEyIH1cIj5cclxuXHRcdFx0XHQ8YXJpbC1yYWRpby1idXR0b24gZm9ybUNvbnRyb2xOYW1lPVwiZXhwb3J0VHlwZVwiIFtvcHRpb25zXT1cImV4cG9ydFR5cGVPcHRpb25zXCIgLz5cclxuXHRcdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdFx0PGFyaWwtZmllbGQgW2xhYmVsXT1cIidEb3N5YSDEsHNtaSdcIiBbY29sc109XCJ7IGRlZmF1bHQ6IDEyIH1cIj5cclxuXHRcdFx0XHQ8YXJpbC10ZXh0IGNsYXNzPVwidy1mdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZXhwb3J0TGFiZWxcIiAvPlxyXG5cdFx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0XHQ8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJjb2x1bW5zXCI+XHJcblx0XHRcdFx0PHAtb3JkZXJMaXN0XHJcblx0XHRcdFx0XHQjb3JkZXJMaXN0UmVmXHJcblx0XHRcdFx0XHRjbGFzcz1cImNvbC0xMlwiXHJcblx0XHRcdFx0XHRbdmFsdWVdPVwiZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmNvbnRyb2xzXCJcclxuXHRcdFx0XHRcdFtsaXN0U3R5bGVdPVwieyAnbWF4LWhlaWdodCc6ICcyMHJlbScgfVwiXHJcblx0XHRcdFx0XHRmaWx0ZXJCeT1cInZhbHVlLnRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxhcmlsLWNoZWNrYm94XHJcblx0XHRcdFx0XHRcdFx0XHRbbGFiZWxdPVwiJydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiaXNBbGxTZWxlY3RlZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RBbGwoJGV2ZW50KVwiIC8+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJwLW9yZGVybGlzdC1maWx0ZXJcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ZpbHRlcidcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQjZmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0cm9sZT1cInRleHRib3hcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoa2V5dXApPVwib3JkZXJMaXN0UmVmLm9uRmlsdGVyS2V5dXAoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJvcmRlckxpc3RSZWYuZGlzYWJsZWRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInAtb3JkZXJsaXN0LWZpbHRlci1pbnB1dCBwLWlucHV0dGV4dCBwLWNvbXBvbmVudFwiIC8+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtY29sIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdFx0PGFyaWwtY2hlY2tib3ggW2xhYmVsXT1cImNvbC52YWx1ZS50aXRsZVwiIFtmb3JtQ29udHJvbF09XCJjb2wuY29udHJvbHMuY2hlY2tlZFwiIC8+XHJcblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdDwvcC1vcmRlckxpc3Q+XHJcblx0XHRcdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdFx0PGFyaWwtYnV0dG9uIGNsYXNzPVwiY29sLTEyXCIgW2xhYmVsXT1cInRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmV4cG9ydCcpXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrRXZlbnQpPVwiZXhwb3J0KClcIiAvPlxyXG5cdFx0PC9hcmlsLWZvcm0+XHJcblx0fVxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG4iXX0=