@hmcts/ccpay-web-component 6.2.5-beta02 → 6.2.5-beta03

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.
@@ -163,7 +163,7 @@ export class XlFileService {
163
163
  sanitizeString(value) {
164
164
  if (value) {
165
165
  // Remove tabs, carriage returns, and newlines
166
- value = value.replace(/^[\t\r]+|[\t\r]/g, (match, offset) => offset === 0 ? '' : ' ');
166
+ value = value.replace(/^[\t\r@]+|[\t\r@]/g, (match, offset) => offset === 0 ? '' : ' ');
167
167
  // Check if the first character is '=' and remove it
168
168
  if (value.charAt(0) === '=') {
169
169
  value = value.substring(1);
@@ -178,4 +178,4 @@ export class XlFileService {
178
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: XlFileService, decorators: [{
179
179
  type: Injectable
180
180
  }], ctorParameters: () => [] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDOztBQUV4QyxNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7UUFDekQsSUFBSSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFJLElBQUksRUFBQyxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0osU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsU0FBUyxHQUFHLElBQUksQ0FBQyxV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RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7dUdBOUtRLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcyc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5cbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWGxGaWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YXIgd29ya2Jvb2sgPSBuZXcgRXhjZWxKUy5Xb3JrYm9vaygpO1xuICAgIHZhciB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoZXhjZWxGaWxlTmFtZSk7XG4gICAgdmFyIGhlYWRlcnMgPSBbXTtcblxuICAgIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ0RhdGFfTG9zcycpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsnbG9zc19yZXNwJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnVW5wcm9jZXNzZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZXhjZXB0aW9uX3JlZicsJ2NjZF9yZWYnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdQcm9jZXNzZWRfVW5hbGxvY2F0ZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnYWxsb2NhdGlvbl9zdGF0dXMnLCdyZWNlaXZpbmdfb2ZmaWNlJywnYWxsb2NhdGlvbl9yZWFzb24nLCdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsJ2NjZF9jYXNlX3JlZmVyZW5jZScsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1BheW1lbnQgZmFpbHVyZScpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsncGF5bWVudF9yZWZlcmVuY2UnLCdjY2RfcmVmZXJlbmNlJywnZG9jdW1lbnRfY29udHJvbF9udW1iZXInLCdvcmdfaWQnLCdzZXJ2aWNlX25hbWUnLCdmYWlsdXJlX3JlZmVyZW5jZScsJ2ZhaWx1cmVfcmVhc29uJywnZGlzcHV0ZWRfYW1vdW50JywnZXZlbnRfbmFtZScsJ2V2ZW50X2RhdGUnLCdyZXByZXNlbnRtZW50X3N0YXR1cycsJ3JlcHJlc2VudG1lbnRfZGF0ZScsJ3JlZnVuZF9yZWZlcmVuY2UnLCdyZWZ1bmRfYW1vdW50JywncmVmdW5kX2RhdGUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFBheW1lbnRGYWlsdXJlUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gWydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ3N1cnBsdXNfc2hvcnRmYWxsJywnYmFsYW5jZScsJ3BheW1lbnRfYW1vdW50JywnY2NkX2Nhc2VfcmVmZXJlbmNlJywgJ2NjZF9leGNlcHRpb25fcmVmZXJlbmNlJywgJ3Byb2Nlc3NlZF9kYXRlJywgJ3JlYXNvbicsICdleHBsYW5hdGlvbicsICd1c2VyX25hbWUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9XG5cbiAgICB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCkudGhlbigoYnVmZmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6IEVYQ0VMX1RZUEUgfSk7XG4gICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHtleGNlbEZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRml0Q29sdW1ucyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCxqc29uOmFueSkgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgbGV0IG9iamVjdE1heExlbmd0aCA9IFtdO1xuICAgIGxldCBDb2xXaWR0aCA9IFtdO1xuICAgIGxldCBvYmogPSA8YW55Pk9iamVjdDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgdmFsdWUgPSBvYmoudmFsdWVzKGpzb25baV0pO1xuICAgICAgICBsZXQga2V5ID0gb2JqLmtleXMoanNvbltpXSk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZih2YWx1ZVtqXSA9PT0gbnVsbCl7XG4gICAgICAgICAgICB2YWx1ZVtqXSA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPVxuICAgICAgICAgICAga2V5W2pdLmxlbmd0aCA+PSB2YWx1ZVtqXS5sZW5ndGhcbiAgICAgICAgICAgICAgPyBrZXlbal0ubGVuZ3RoKzJcbiAgICAgICAgICAgICAgOiB2YWx1ZVtqXS5sZW5ndGgrMTtcbiAgICAgICAgICAgICAgaWYoIHZhbHVlW2pdLmxlbmd0aCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgICAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPSAga2V5W2pdLmxlbmd0aCsyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgIENvbFdpZHRoLnB1c2goeyd3aWR0aCc6ICtvYmplY3RNYXhMZW5ndGhbal19KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd29ya3NoZWV0LmNvbHVtbnMgPSBDb2xXaWR0aDtcbiAgICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIGFkZFJvd0RhdGEgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQsanNvbjphbnksaGVhZGVycykgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3b3Jrc2hlZXQuY29sdW1uc1tpXS5rZXkgPSBoZWFkZXJzW2ldO1xuICAgIH1cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgcm93ID0ganNvbltpXTtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJvdykge1xuICAgICAgICAgICAgICBpZiAocm93W2tleV0gJiYgdHlwZW9mIHJvd1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJvd1trZXldID0gdGhpcy5zYW5pdGl6ZVN0cmluZyhyb3dba2V5XSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgd29ya3NoZWV0LmFkZFJvdyhyb3cpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0KTogRXhjZWxKUy5Xb3Jrc2hlZXQge1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdBMScpLnZhbHVlID0gXCJMb3NzX1Jlc3BcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQjEnKS52YWx1ZSA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkNDRF9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQkdDX0JhdGNoXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFByb2Nlc3NlZFVuYWxsb2NhdGVkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0MxJykudmFsdWUgPSBcIkFsbG9jYXRpb25fU3RhdHVzXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIlJlY2VpdmluZ19PZmZpY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiQWxsb2NhdGlvbl9SZWFzb25cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQ0NEX0V4Y2VwdGlvbl9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0wxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdNMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdOMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYXltZW50RmFpbHVyZVJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlBheW1lbnQgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIkNDRCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRG9jdW1lbnQgQ29udHJvbCBOdW1iZXJcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiT3JnSURcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiU2VydmljZSBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVhc29uXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkRpc3B1dGVkIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFdmVudCBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkV2ZW50IGRhdGVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSzEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBzdGF0dXNcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTDEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBkYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ00xJykudmFsdWUgPSBcIlJlZnVuZCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTjEnKS52YWx1ZSA9IFwiUmVmdW5kIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdPMScpLnZhbHVlID0gXCJSZWZ1bmQgZGF0ZVwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJPdmVyIFBheW1lbnRfVW5kZXIgUGF5bWVudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdEMScpLnZhbHVlID0gXCJCYWxhbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0UxJykudmFsdWUgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkNDRF9DYXNlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdHMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIlJlYXNvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFeHBsYW5hdGlvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdLMScpLnZhbHVlID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGl6ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRhYnMsIGNhcnJpYWdlIHJldHVybnMsIGFuZCBuZXdsaW5lc1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL15bXFx0XFxyXSt8W1xcdFxccl0vZywgKG1hdGNoLCBvZmZzZXQpID0+IG9mZnNldCA9PT0gMCA/ICcnIDogJyAnKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyAnPScgYW5kIHJlbW92ZSBpdFxuICAgICAgICBpZiAodmFsdWUuY2hhckF0KDApID09PSAnPScpIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDOztBQUV4QyxNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7UUFDekQsSUFBSSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFJLElBQUksRUFBQyxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0osU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsU0FBUyxHQUFHLElBQUksQ0FBQyxV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RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7dUdBOUtRLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcyc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5cbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWGxGaWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YXIgd29ya2Jvb2sgPSBuZXcgRXhjZWxKUy5Xb3JrYm9vaygpO1xuICAgIHZhciB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoZXhjZWxGaWxlTmFtZSk7XG4gICAgdmFyIGhlYWRlcnMgPSBbXTtcblxuICAgIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ0RhdGFfTG9zcycpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsnbG9zc19yZXNwJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnVW5wcm9jZXNzZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZXhjZXB0aW9uX3JlZicsJ2NjZF9yZWYnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdQcm9jZXNzZWRfVW5hbGxvY2F0ZWQnKSE9PSBudWxsKXtcbiAgICAgIGhlYWRlcnMgPSBbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnYWxsb2NhdGlvbl9zdGF0dXMnLCdyZWNlaXZpbmdfb2ZmaWNlJywnYWxsb2NhdGlvbl9yZWFzb24nLCdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsJ2NjZF9jYXNlX3JlZmVyZW5jZScsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLmFkZFJvd0RhdGEod29ya3NoZWV0LGpzb24saGVhZGVycyk7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1BheW1lbnQgZmFpbHVyZScpIT09IG51bGwpe1xuICAgICAgaGVhZGVycyA9IFsncGF5bWVudF9yZWZlcmVuY2UnLCdjY2RfcmVmZXJlbmNlJywnZG9jdW1lbnRfY29udHJvbF9udW1iZXInLCdvcmdfaWQnLCdzZXJ2aWNlX25hbWUnLCdmYWlsdXJlX3JlZmVyZW5jZScsJ2ZhaWx1cmVfcmVhc29uJywnZGlzcHV0ZWRfYW1vdW50JywnZXZlbnRfbmFtZScsJ2V2ZW50X2RhdGUnLCdyZXByZXNlbnRtZW50X3N0YXR1cycsJ3JlcHJlc2VudG1lbnRfZGF0ZScsJ3JlZnVuZF9yZWZlcmVuY2UnLCdyZWZ1bmRfYW1vdW50JywncmVmdW5kX2RhdGUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFBheW1lbnRGYWlsdXJlUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5hZGRSb3dEYXRhKHdvcmtzaGVldCxqc29uLGhlYWRlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gWydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ3N1cnBsdXNfc2hvcnRmYWxsJywnYmFsYW5jZScsJ3BheW1lbnRfYW1vdW50JywnY2NkX2Nhc2VfcmVmZXJlbmNlJywgJ2NjZF9leGNlcHRpb25fcmVmZXJlbmNlJywgJ3Byb2Nlc3NlZF9kYXRlJywgJ3JlYXNvbicsICdleHBsYW5hdGlvbicsICd1c2VyX25hbWUnXTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuYWRkUm93RGF0YSh3b3Jrc2hlZXQsanNvbixoZWFkZXJzKTtcbiAgICB9XG5cbiAgICB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCkudGhlbigoYnVmZmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6IEVYQ0VMX1RZUEUgfSk7XG4gICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHtleGNlbEZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRml0Q29sdW1ucyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCxqc29uOmFueSkgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgbGV0IG9iamVjdE1heExlbmd0aCA9IFtdO1xuICAgIGxldCBDb2xXaWR0aCA9IFtdO1xuICAgIGxldCBvYmogPSA8YW55Pk9iamVjdDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgdmFsdWUgPSBvYmoudmFsdWVzKGpzb25baV0pO1xuICAgICAgICBsZXQga2V5ID0gb2JqLmtleXMoanNvbltpXSk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZih2YWx1ZVtqXSA9PT0gbnVsbCl7XG4gICAgICAgICAgICB2YWx1ZVtqXSA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPVxuICAgICAgICAgICAga2V5W2pdLmxlbmd0aCA+PSB2YWx1ZVtqXS5sZW5ndGhcbiAgICAgICAgICAgICAgPyBrZXlbal0ubGVuZ3RoKzJcbiAgICAgICAgICAgICAgOiB2YWx1ZVtqXS5sZW5ndGgrMTtcbiAgICAgICAgICAgICAgaWYoIHZhbHVlW2pdLmxlbmd0aCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgICAgICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPSAga2V5W2pdLmxlbmd0aCsyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgIENvbFdpZHRoLnB1c2goeyd3aWR0aCc6ICtvYmplY3RNYXhMZW5ndGhbal19KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd29ya3NoZWV0LmNvbHVtbnMgPSBDb2xXaWR0aDtcbiAgICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIGFkZFJvd0RhdGEgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQsanNvbjphbnksaGVhZGVycykgOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3b3Jrc2hlZXQuY29sdW1uc1tpXS5rZXkgPSBoZWFkZXJzW2ldO1xuICAgIH1cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwganNvbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgcm93ID0ganNvbltpXTtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJvdykge1xuICAgICAgICAgICAgICBpZiAocm93W2tleV0gJiYgdHlwZW9mIHJvd1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJvd1trZXldID0gdGhpcy5zYW5pdGl6ZVN0cmluZyhyb3dba2V5XSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgd29ya3NoZWV0LmFkZFJvdyhyb3cpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdvcmtzaGVldDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0KTogRXhjZWxKUy5Xb3Jrc2hlZXQge1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdBMScpLnZhbHVlID0gXCJMb3NzX1Jlc3BcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQjEnKS52YWx1ZSA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIkNDRF9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQkdDX0JhdGNoXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkFtb3VudFwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFByb2Nlc3NlZFVuYWxsb2NhdGVkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBFeGNlbEpTLldvcmtzaGVldCk6IEV4Y2VsSlMuV29ya3NoZWV0IHtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQTEnKS52YWx1ZSA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0MxJykudmFsdWUgPSBcIkFsbG9jYXRpb25fU3RhdHVzXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0QxJykudmFsdWUgPSBcIlJlY2VpdmluZ19PZmZpY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiQWxsb2NhdGlvbl9SZWFzb25cIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRjEnKS52YWx1ZSA9IFwiQ0NEX0V4Y2VwdGlvbl9SZWZcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRzEnKS52YWx1ZSA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIkVudmVsb3BlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0sxJykudmFsdWUgPSBcIkRhdGVfQmFua2VkXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0wxJykudmFsdWUgPSBcIkJHQ19CYXRjaFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdNMScpLnZhbHVlID0gXCJQYXltZW50X01ldGhvZFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdOMScpLnZhbHVlID0gXCJBbW91bnRcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYXltZW50RmFpbHVyZVJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlBheW1lbnQgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0IxJykudmFsdWUgPSBcIkNDRCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnQzEnKS52YWx1ZSA9IFwiRG9jdW1lbnQgQ29udHJvbCBOdW1iZXJcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRDEnKS52YWx1ZSA9IFwiT3JnSURcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnRTEnKS52YWx1ZSA9IFwiU2VydmljZSBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVmZXJlbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0cxJykudmFsdWUgPSBcIkZhaWx1cmUgcmVhc29uXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIkRpc3B1dGVkIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdJMScpLnZhbHVlID0gXCJFdmVudCBuYW1lXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0oxJykudmFsdWUgPSBcIkV2ZW50IGRhdGVcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnSzEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBzdGF0dXNcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTDEnKS52YWx1ZSA9IFwiUmVwcmVzZW50bWVudCBkYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ00xJykudmFsdWUgPSBcIlJlZnVuZCByZWZlcmVuY2VcIjtcbiAgICB3b3Jrc2hlZXQuZ2V0Q2VsbCgnTjEnKS52YWx1ZSA9IFwiUmVmdW5kIGFtb3VudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdPMScpLnZhbHVlID0gXCJSZWZ1bmQgZGF0ZVwiO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gIH1cblxuICBwcml2YXRlIHNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogRXhjZWxKUy5Xb3Jrc2hlZXQpOiBFeGNlbEpTLldvcmtzaGVldCB7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0ExJykudmFsdWUgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdCMScpLnZhbHVlID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdDMScpLnZhbHVlID0gXCJPdmVyIFBheW1lbnRfVW5kZXIgUGF5bWVudFwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdEMScpLnZhbHVlID0gXCJCYWxhbmNlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0UxJykudmFsdWUgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0YxJykudmFsdWUgPSBcIkNDRF9DYXNlX1JlZlwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdHMScpLnZhbHVlID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0gxJykudmFsdWUgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gICAgd29ya3NoZWV0LmdldENlbGwoJ0kxJykudmFsdWUgPSBcIlJlYXNvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdKMScpLnZhbHVlID0gXCJFeHBsYW5hdGlvblwiO1xuICAgIHdvcmtzaGVldC5nZXRDZWxsKCdLMScpLnZhbHVlID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgICByZXR1cm4gd29ya3NoZWV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGl6ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRhYnMsIGNhcnJpYWdlIHJldHVybnMsIGFuZCBuZXdsaW5lc1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL15bXFx0XFxyQF0rfFtcXHRcXHJAXS9nLCAobWF0Y2gsIG9mZnNldCkgPT4gb2Zmc2V0ID09PSAwID8gJycgOiAnICcpO1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzICc9JyBhbmQgcmVtb3ZlIGl0XG4gICAgICAgIGlmICh2YWx1ZS5jaGFyQXQoMCkgPT09ICc9Jykge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbn1cbiJdfQ==
@@ -7123,7 +7123,7 @@ class XlFileService {
7123
7123
  sanitizeString(value) {
7124
7124
  if (value) {
7125
7125
  // Remove tabs, carriage returns, and newlines
7126
- value = value.replace(/^[\t\r]+|[\t\r]/g, (match, offset) => offset === 0 ? '' : ' ');
7126
+ value = value.replace(/^[\t\r@]+|[\t\r@]/g, (match, offset) => offset === 0 ? '' : ' ');
7127
7127
  // Check if the first character is '=' and remove it
7128
7128
  if (value.charAt(0) === '=') {
7129
7129
  value = value.substring(1);