@po-ui/ng-components 17.26.16 → 17.26.17

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.
@@ -152,11 +152,8 @@ export class PoDynamicFormBaseComponent {
152
152
  * - `function`: Método que será executado.
153
153
  *
154
154
  * Ao ser executado, irá receber como parâmetro um objeto com o nome da propriedade
155
- * alterada e o novo valor, conforme a interface `PoDynamicFormFieldChanged`:
155
+ * alterada e os valores atualizados do formulário, conforme a interface `PoDynamicFormFieldChanged`
156
156
  *
157
- * ```
158
- * { property: 'property name', value: 'new value' }
159
- * ```
160
157
  *
161
158
  * O retorno desta função deve ser do tipo [PoDynamicFormValidation](documentation/po-dynamic-form#po-dynamic-form-validation),
162
159
  * onde o usuário poderá determinar as novas atualizações dos campos.
@@ -268,4 +265,4 @@ export class PoDynamicFormBaseComponent {
268
265
  type: Input,
269
266
  args: [{ alias: 'p-validate-on-input', transform: convertToBoolean }]
270
267
  }] }); })();
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy1mb3JtL3BvLWR5bmFtaWMtZm9ybS1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUl2RDs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7Ozs7O09BTUc7SUFDb0IsU0FBUyxDQUFVO0lBRTFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZCRztJQUNnQixNQUFNLENBQTRCO0lBRXJEOzs7Ozs7O09BT0c7SUFDZSxLQUFLLENBQU07SUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNlLFVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQStCRztJQUNjLElBQUksQ0FBcUI7SUFFMUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXVDRztJQUNrQixRQUFRLENBQXFCO0lBRWxEOzs7Ozs7T0FNRztJQUN5QixjQUFjLENBQWlCO0lBRW5ELFVBQVUsR0FBYSxLQUFLLENBQUM7SUFFckM7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsSUFBMkIsU0FBUyxDQUFDLEtBQWM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBUSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNtRSxlQUFlLEdBQVksS0FBSyxDQUFDO29GQTNPNUYsMEJBQTBCOzZEQUExQiwwQkFBMEIsd2hCQTJPYSxnQkFBZ0I7O2lGQTNPdkQsMEJBQTBCO2NBRHRDLFNBQVM7Z0JBU2UsU0FBUztrQkFBL0IsS0FBSzttQkFBQyxjQUFjO1lBZ0NGLE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQVVDLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQXNERSxVQUFVO2tCQUEzQixNQUFNO21CQUFDLFFBQVE7WUFrQ0MsSUFBSTtrQkFBcEIsS0FBSzttQkFBQyxRQUFRO1lBMENNLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQVNTLGNBQWM7a0JBQXpDLEtBQUs7bUJBQUMsbUJBQW1CO1lBb0JDLFNBQVM7a0JBQW5DLEtBQUs7bUJBQUMsY0FBYztZQTBCaUQsZUFBZTtrQkFBcEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgY3JpYcOnw6NvIGRlIGZvcm11bMOhcmlvcyBkaW7Dom1pY29zIGEgcGFydGlyIGRlIHVtYSBsaXN0YSBkZSBvYmpldG9zLlxuICpcbiAqIFRhbWLDqW0gw6kgcG9zc8OtdmVsIHZlcmlmaWNhciBzZSBvIGZvcm11bMOhcmlvIGVzdMOhIHbDoWxpZG8gZSBpbmZvcm1hciB2YWxvcmVzIHBhcmEgYSBleGliacOnw6NvIGRlIGluZm9ybWHDp8O1ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1CYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTm9tZSBkYSBwcm9wcmllZGFkZSwgYXRyaWJ1w61kYSBhbyBgUG9EeW5hbWljRm9ybUZpZWxkLnByb3BlcnR5YCwgcXVlIGluaWNpYXLDoSBvIGNhbXBvIGNvbSBmb2NvLlxuICAgKi9cbiAgQElucHV0KCdwLWF1dG8tZm9jdXMnKSBhdXRvRm9jdXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDb2xlw6fDo28gZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvRHluYW1pY0Zvcm1GaWVsZGAsIHBhcmEgZGVmaW5pw6fDo28gZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3NcbiAgICogZGluYW1pY2FtZW50ZS5cbiAgICpcbiAgICogPiBFeDogYFsgeyBwcm9wZXJ0eTogJ25hbWUnIH0gXWBcbiAgICpcbiAgICogUmVncmFzIGRlIHRpcGFnZW0gZSBjcmlhw6fDo28gZG9zIGNvbXBvbmVudGVzOlxuICAgKlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmJvb2xlYW4qIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8tc3dpdGNoYC5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpjdXJyZW5jeSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1kZWNpbWFsYCxcbiAgICogY2FzbyBzZWphIGluZm9ybWFkbyB1bSAqbWFzayogb3UgKnBhdHRlcm4qIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKm51bWJlciogZSBuw6NvIHNlamEgaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1udW1iZXJgLCBjYXNvIHNlamFcbiAgICogaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1pbnB1dGAuXG4gICAqIC0gQ2FzbyBhIGxpc3RhIHBvc3N1YSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBlIGEgbWVzbWEgcG9zc3VhIGF0w6kgMyBpdGVucyBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhIG8gYHBvLXJhZGlvLWdyb3VwYFxuICAgKiBvdSBgcG8tY2hlY2tib3gtZ3JvdXBgIHNlIGluZm9ybWFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAuXG4gICAqIC0gQ2FzbyBhIG1lc21hIHBvc3N1YSAzIG91IG1haXMgaXRlbnMsIHNlcsOhIGNyaWFkbyBvIGNvbXBvbmVudGUgYHBvLXNlbGVjdGAgb3UsIGBwby1tdWx0aXNlbGVjdGAgc2UgYSBwcm9wcmllZGFkZSBgb3B0aW9uc011bHRpYFxuICAgKiBmb3IgdmVyZGFkZWlyYS5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpkYXRlKiBvdSAqZGF0ZXRpbWUqIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8tZGF0ZXBpY2tlcmAuXG4gICAqIC0gQ2FzbyBzZWphIGluZm9ybWFkbyBhIHByb3ByaWVkYWRlIGBvcHRpb25zU2VydmljZWAgbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1jb21ib2AuXG4gICAqIC0gQ2FzbyBvICp0eXBlKiBpbmZvcm1hZG8gc2VqYSAqdGltZSogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSB1bSBgcG8taW5wdXRgIHBvZGVuZG8gcmVjZWJlciB1bSAqbWFzayogcGFyYSBmb3JtYXRhclxuICAgKiBvIHZhbG9yIGV4aWJpZG8sIGNhc28gbsOjbyBzZWphIGluZm9ybWFkbyB1bSAqbWFzayogbyBjb21wb25lbnRlIHNlcsOhIGNyaWFkbyBjb20gYSBtw6FzY2FyYSAnOTk6OTknIHBvciBwYWRyw6NvLlxuICAgKiAtIENhc28gYSBsaXN0YSBwb3NzdWEgYSBwcm9wcmllZGFkZSBgcm93c2AgZSBlc3RhIHNlamEgZGVmaW5pZGEgY29tIHZhbG9yIG1haW9yIG91IGlndWFsIGEgMyBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhXG4gICAqIG8gYHBvLXRleHRhcmVhYCwgY2FzbyBvIHZhbG9yIGRhIHByb3ByaWVkYWRlIGByb3dzYCBzZWphIG1lbm9yIHF1ZSAzIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiAtIENhc28gc2VqYSBpbmZvcm1hZGEgYSBwcm9wcmllZGFkZSBgc2VjcmV0YCBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhIG8gYHBvLXBhc3N3b3JkYC5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpzdHJpbmcqIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiA+IEFvIGFsdGVyYXIgbyB2YWxvciBkYXMgYHByb3BlcnRpZXNgLCB2aXNpYmlsaWRhZGUgZS9vdSBhZ3J1cGFtZW50b3MgdmlhIGNvbnRhaW5lciwgb3MgYGZpZWxkc2AgcXVlIHV0aWxpemFtIHNlcnZpw6dvIHBvZGVtIHJlZmF6ZXIgYXMgY2hhbWFkYXMgcGFyYSBhcyBBUEkncy5cbiAgICogQGRlZmF1bHQgYFtdYFxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkcycpIGZpZWxkczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gY29tbyB2YWxvciBwYXJhIGV4aWJpciBhcyBpbmZvcm1hw6fDtWVzLCBzZXLDoSByZWN1cGVyYWRvIGUgcHJlZW5jaGlkbyBhdHJhdsOpcyBkbyBhdHJpYnV0byAqcHJvcGVydHkqXG4gICAqIGRvcyBvYmpldG9zIGNvbnRpZG9zIG5hIHByb3ByaWRhZGUgYHAtZmllbGRzYC5cbiAgICpcbiAgICogUG9kZSBpbmljaWFyIGNvbSB2YWxvciBvdSBhcGVuYXMgY29tIHVtIG9iamV0byB2YXppbyBxdWUgc2Vyw6EgcHJlZW5jaGlkbyBjb25mb3JtZSBkZXNjcml0byBhY2ltYS5cbiAgICpcbiAgICogPiBFeDogYHsgbmFtZTogJ3BvJyB9YFxuICAgKi9cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IGFueTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBOYSBpbmljaWFsaXphw6fDo28gZG8gY29tcG9uZW50ZSBzZXLDoSByZXBhc3NhZG8gbyBvYmpldG8gZGUgZm9ybXVsw6FyaW8gdXRpbGl6YWRvIG5vIGNvbXBvbmVudGUsXG4gICAqIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBwYXJhIHZhbGlkYcOnw7VlcyBlL291IGRldGVjw6fDo28gZGUgbXVkYW7Dp2EgZG9zIHZhbG9yZXMuXG4gICAqXG4gICAqIFBvcnRhbnRvIGV4aXN0ZW0gZHVhcyBtYW5laXJhcyBkZSByZWN1cGVyYXIgbyBmb3JtdWzDoXJpbyxcbiAgICogYXRyYXbDqXMgZGUgKnRlbXBsYXRlIHJlZmVyZW5jZSogZSBhdHJhdsOpcyBkbyAqb3V0cHV0KiwgdmVqYSBvcyBleGVtcGxvcyBhYmFpeG86XG4gICAqXG4gICAqID4gKnRlbXBsYXRlIHJlZmVyZW5jZSpcbiAgICpcbiAgICogYGBgaHRtbFxuICAgKiAgPHBvLWR5bmFtaWMtZm9ybSAjZHluYW1pY0Zvcm0+XG4gICAqICA8L3BvLWR5bmFtaWMtZm9ybT5cbiAgICpcbiAgICogIDxwby1idXR0b24gcC1sYWJlbD1cIkFkaWNpb25hclwiIFtwLWRpc2FibGVkXT1cImR5bmFtaWNGb3JtPy5mb3JtLmludmFsaWRcIj5cbiAgICogIDwvcG8tYnV0dG9uPlxuICAgKlxuICAgKiBgYGBcbiAgICpcbiAgICogPiAqT3V0cHV0KlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqICAuLi5cbiAgICogIDxwby1keW5hbWljLWZvcm0gKHAtZm9ybSk9XCJnZXRGb3JtKCRldmVudClcIj5cbiAgICogIDwvcG8tZHluYW1pYy1mb3JtPlxuICAgKlxuICAgKiAgPHBvLWJ1dHRvbiBwLWxhYmVsPVwiQWRpY2lvbmFyXCIgW3AtZGlzYWJsZWRdPVwiZHluYW1pY0Zvcm0/LmludmFsaWRcIj5cbiAgICogIDwvcG8tYnV0dG9uPlxuICAgKiAgLi4uXG4gICAqXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGB0c1xuICAgKiAgLi4uXG4gICAqXG4gICAqICBleHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IHtcbiAgICpcbiAgICogICAgZHluYW1pY0Zvcm06IE5nRm9ybTtcbiAgICpcbiAgICogICAgZ2V0Rm9ybShmb3JtOiBOZ0Zvcm0pIHtcbiAgICogICAgICB0aGlzLmR5bmFtaWNGb3JtID0gZm9ybTtcbiAgICogICAgfVxuICAgKlxuICAgKiAgfVxuICAgKiBgYGBcbiAgICpcbiAgICogPiBDYXNvIGEgcHJvcHJpZWRhZGUgYHAtZ3JvdXAtZm9ybWAgZm9yIHZlcmRhZGVpcmEgbsOjbyBzZXLDoSByZXBhc3NhZG8gbyBmb3JtdWzDoXJpbywgcG9pcyBvIG1lc21vIHV0aWxpemFyw6FcbiAgICogbyBmb3JtdWzDoXJpbyBwYWkuXG4gICAqL1xuICBAT3V0cHV0KCdwLWZvcm0nKSBmb3JtT3V0cHV0OiBFdmVudEVtaXR0ZXI8TmdGb3JtPiA9IG5ldyBFdmVudEVtaXR0ZXI8TmdGb3JtPigpO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBvdSBzZXJ2acOnbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gYHN0cmluZ2A6ICpFbmRwb2ludCogdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gYGZ1bmN0aW9uYDogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIG8gb2JqZXRvIGluZm9ybWFkbyBubyBgcC12YWx1ZWAuXG4gICAqXG4gICAqIE8gcmV0b3JubyBkZXN0YSBmdW7Dp8OjbyBkZXZlIHNlciBkbyB0aXBvIFtQb0R5bmFtaWNGb3JtTG9hZF0oZG9jdW1lbnRhdGlvbi9wby1keW5hbWljLWZvcm0jcG8tZHluYW1pYy1mb3JtLWxvYWQpLFxuICAgKiBvbmRlIG8gdXN1w6FyaW8gcG9kZXLDoSBkZXRlcm1pbmFyIGFzIG5vdmFzIGF0dWFsaXphw6fDtWVzIGRvcyBjYW1wb3MsIHZhbG9yZXMgZSBkZXRlcm1pbmFyIG8gY2FtcG8gYSBzZXIgZm9jYWRvLlxuICAgKlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIG9uTG9hZEZpZWxkcygpOiBQb0R5bmFtaWNGb3JtTG9hZCB7XG4gICAqXG4gICAqICAgcmV0dXJuIHtcbiAgICogICAgIHZhbHVlOiB7IGNwZjogdW5kZWZpbmVkIH0sXG4gICAqICAgICBmaWVsZHM6IFtcbiAgICogICAgICAgeyBwcm9wZXJ0eTogJ2NwZicgfVxuICAgKiAgICAgXSxcbiAgICogICAgIGZvY3VzOiAnY3BmJ1xuICAgKiAgIH07XG4gICAqIH1cbiAgICpcbiAgICogYGBgXG4gICAqIFBhcmEgcmVmZXJlbmNpYXIgYSBzdWEgZnVuw6fDo28gdXRpbGl6ZSBhIHByb3ByaWVkYWRlIGBiaW5kYCwgcG9yIGV4ZW1wbG86XG4gICAqIGBgYFxuICAgKiAgW3AtbG9hZF09XCJvbkxvYWRGaWVsZHMuYmluZCh0aGlzKVwiXG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KCdwLWxvYWQnKSBsb2FkPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIG91IHNlcnZpw6dvIHBhcmEgdmFsaWRhciBhcyAqKm11ZGFuw6dhcyBkbyBmb3JtdWzDoXJpbyoqLlxuICAgKlxuICAgKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gYHN0cmluZ2A6ICpFbmRwb2ludCogdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gYGZ1bmN0aW9uYDogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBub21lIGRhIHByb3ByaWVkYWRlXG4gICAqIGFsdGVyYWRhIGUgbyBub3ZvIHZhbG9yLCBjb25mb3JtZSBhIGludGVyZmFjZSBgUG9EeW5hbWljRm9ybUZpZWxkQ2hhbmdlZGA6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7IHByb3BlcnR5OiAncHJvcGVydHkgbmFtZScsIHZhbHVlOiAnbmV3IHZhbHVlJyB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBPIHJldG9ybm8gZGVzdGEgZnVuw6fDo28gZGV2ZSBzZXIgZG8gdGlwbyBbUG9EeW5hbWljRm9ybVZhbGlkYXRpb25dKGRvY3VtZW50YXRpb24vcG8tZHluYW1pYy1mb3JtI3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uKSxcbiAgICogb25kZSBvIHVzdcOhcmlvIHBvZGVyw6EgZGV0ZXJtaW5hciBhcyBub3ZhcyBhdHVhbGl6YcOnw7VlcyBkb3MgY2FtcG9zLlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIG9uQ2hhbmdlRmllbGRzKGNoYW5nZVZhbHVlKTogUG9EeW5hbWljRm9ybVZhbGlkYXRpb24ge1xuICAgKlxuICAgKiBpZiAoY2hhbmdlVmFsdWUucHJvcGVydHkgPT09ICdzdGF0ZScpIHtcbiAgICpcbiAgICogICByZXR1cm4ge1xuICAgKiAgICAgdmFsdWU6IHsgY2l0eTogdW5kZWZpbmVkIH0sXG4gICAqICAgICBmaWVsZHM6IFtcbiAgICogICAgICAgeyBwcm9wZXJ0eTogJ2NpdHknLCBvcHRpb25zOiB0aGlzLmdldENpdHkoY2hhbmdlVmFsdWUudmFsdWUuc3RhdGUpIH1cbiAgICogICAgIF0sXG4gICAqICAgICBmb2N1czogJ2NpdHknXG4gICAqICAgfTtcbiAgICogfVxuICAgKlxuICAgKiBgYGBcbiAgICogUGFyYSByZWZlcmVuY2lhciBhIHN1YSBmdW7Dp8OjbyB1dGlsaXplIGEgcHJvcHJpZWRhZGUgYGJpbmRgLCBwb3IgZXhlbXBsbzpcbiAgICogYGBgXG4gICAqICBbcC12YWxpZGF0ZV09XCJ0aGlzLm15RnVuY3Rpb24uYmluZCh0aGlzKVwiXG4gICAqIGBgYFxuICAgKlxuICAgKiA+IFNlIGhvdXZlciB1bWEgbGlzdGEgZGUgY2FtcG9zIHBhcmEgdmFsaWRhw6fDo28gZGVmaW5pZGEgZW0gYHAtdmFsaWRhdGUtZmllbGRzYCwgYSBwcm9wcmllZGFkZSBgdmFsaWRhdGVgIHPDsyByZWNlYmVyw6EgbyBkaXNwYXJvIHBhcmEgb3MgY2FtcG9zIGVxdWl2YWxlbnRlcy5cbiAgICovXG4gIEBJbnB1dCgncC12YWxpZGF0ZScpIHZhbGlkYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgcXVlIGRlZmluZSBvcyBjYW1wb3MgcXVlIGlyw6NvIGRpc3BhcmFyIG8gdmFsaWRhdGUgZG8gZm9ybS5cbiAgICovXG4gIEBJbnB1dCgncC12YWxpZGF0ZS1maWVsZHMnKSB2YWxpZGF0ZUZpZWxkcz86IEFycmF5PHN0cmluZz47XG5cbiAgcHJpdmF0ZSBfZ3JvdXBGb3JtPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFvIGluZm9ybWFyIGVzdGEgcHJvcHJpZWRhZGUsIG8gY29tcG9uZW50ZSBwYXNzYXLDoSBhIHV0aWxpemFyIG8gZm9ybXVsw6FyaW8gcGFpIHBhcmEgY3JpYXIgb3MgYEZvcm1Db250cm9sYFxuICAgKiBlIGNvbSBpc3NvIMOpIHBvc3PDrXZlbCByZWN1cGVyYXIgbyB2YWxvciBkbyBmb3JtdWzDoXJpbyBlIHN1YXMgdmFsaWRhw6fDtWVzIGEgcGFydGlyIGRvIGZvcm11bMOhcmlvIHBhaS5cbiAgICpcbiAgICogYGBgaHRtbFxuICAgKiA8Zm9ybSAjcGFyZW50Rm9ybT1cIm5nRm9ybVwiPlxuICAgKlxuICAgKiAgIDxwby1keW5hbWljLWZvcm0gcC1ncm91cC1mb3JtIFtwLWZpZWxkc109XCJmaWVsZHNcIj48L3BvLWR5bmFtaWMtZm9ybT5cbiAgICpcbiAgICogIDxwby1idXR0b24gcC1sYWJlbD1cIkFkaWNpb25hclwiIFtwLWRpc2FibGVkXT1cInBhcmVudEZvcm0uaW52YWxpZFwiPjwvcG8tYnV0dG9uPlxuICAgKiA8L2Zvcm0+XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KCdwLWdyb3VwLWZvcm0nKSBzZXQgZ3JvdXBGb3JtKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZ3JvdXBGb3JtID0gPGFueT52YWx1ZSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgZ3JvdXBGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9ncm91cEZvcm07XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBbyBpbmZvcm1hciBlc3RhIHByb3ByaWVkYWRlLCBvIGNvbXBvbmVudGUgcGFzc2Fyw6EgYSBlbWl0aXIgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvLlxuICAgKlxuICAgKiBQb2RlIHNlciBhcGxpY2FkbyBub3Mgc2VndWludGVzIGNvbXBvbmVudGVzOlxuICAgKiAtIHBvLWlucHV0XG4gICAqIC0gcG8tbnVtYmVyXG4gICAqIC0gcG8tZGVjaW1hbFxuICAgKiAtIHBvLXRleHRhcmVhXG4gICAqIC0gcG8tcGFzc3dvcmRcbiAgICpcbiAgICogRGV2ZSBpbmZvcm1hciBvcyBjYW1wb3MgcXVlIGRlc2VqYSByZWNlYmVyIGFzIGVtaXNzw7VlcyBuYSBwcm9wcmllZGFkZSBgcC12YWxpZGF0ZS1maWVsZHNgLlxuICAgKlxuICAgKlxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLXZhbGlkYXRlLW9uLWlucHV0JywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHZhbGlkYXRlT25JbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy1mb3JtL3BvLWR5bmFtaWMtZm9ybS1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUl2RDs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7Ozs7O09BTUc7SUFDb0IsU0FBUyxDQUFVO0lBRTFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZCRztJQUNnQixNQUFNLENBQTRCO0lBRXJEOzs7Ozs7O09BT0c7SUFDZSxLQUFLLENBQU07SUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNlLFVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQStCRztJQUNjLElBQUksQ0FBcUI7SUFFMUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW9DRztJQUNrQixRQUFRLENBQXFCO0lBRWxEOzs7Ozs7T0FNRztJQUN5QixjQUFjLENBQWlCO0lBRW5ELFVBQVUsR0FBYSxLQUFLLENBQUM7SUFFckM7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsSUFBMkIsU0FBUyxDQUFDLEtBQWM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBUSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNtRSxlQUFlLEdBQVksS0FBSyxDQUFDO29GQXhPNUYsMEJBQTBCOzZEQUExQiwwQkFBMEIsd2hCQXdPYSxnQkFBZ0I7O2lGQXhPdkQsMEJBQTBCO2NBRHRDLFNBQVM7Z0JBU2UsU0FBUztrQkFBL0IsS0FBSzttQkFBQyxjQUFjO1lBZ0NGLE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQVVDLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQXNERSxVQUFVO2tCQUEzQixNQUFNO21CQUFDLFFBQVE7WUFrQ0MsSUFBSTtrQkFBcEIsS0FBSzttQkFBQyxRQUFRO1lBdUNNLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQVNTLGNBQWM7a0JBQXpDLEtBQUs7bUJBQUMsbUJBQW1CO1lBb0JDLFNBQVM7a0JBQW5DLEtBQUs7bUJBQUMsY0FBYztZQTBCaUQsZUFBZTtrQkFBcEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgY3JpYcOnw6NvIGRlIGZvcm11bMOhcmlvcyBkaW7Dom1pY29zIGEgcGFydGlyIGRlIHVtYSBsaXN0YSBkZSBvYmpldG9zLlxuICpcbiAqIFRhbWLDqW0gw6kgcG9zc8OtdmVsIHZlcmlmaWNhciBzZSBvIGZvcm11bMOhcmlvIGVzdMOhIHbDoWxpZG8gZSBpbmZvcm1hciB2YWxvcmVzIHBhcmEgYSBleGliacOnw6NvIGRlIGluZm9ybWHDp8O1ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1CYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTm9tZSBkYSBwcm9wcmllZGFkZSwgYXRyaWJ1w61kYSBhbyBgUG9EeW5hbWljRm9ybUZpZWxkLnByb3BlcnR5YCwgcXVlIGluaWNpYXLDoSBvIGNhbXBvIGNvbSBmb2NvLlxuICAgKi9cbiAgQElucHV0KCdwLWF1dG8tZm9jdXMnKSBhdXRvRm9jdXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDb2xlw6fDo28gZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvRHluYW1pY0Zvcm1GaWVsZGAsIHBhcmEgZGVmaW5pw6fDo28gZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3NcbiAgICogZGluYW1pY2FtZW50ZS5cbiAgICpcbiAgICogPiBFeDogYFsgeyBwcm9wZXJ0eTogJ25hbWUnIH0gXWBcbiAgICpcbiAgICogUmVncmFzIGRlIHRpcGFnZW0gZSBjcmlhw6fDo28gZG9zIGNvbXBvbmVudGVzOlxuICAgKlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmJvb2xlYW4qIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8tc3dpdGNoYC5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpjdXJyZW5jeSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1kZWNpbWFsYCxcbiAgICogY2FzbyBzZWphIGluZm9ybWFkbyB1bSAqbWFzayogb3UgKnBhdHRlcm4qIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKm51bWJlciogZSBuw6NvIHNlamEgaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1udW1iZXJgLCBjYXNvIHNlamFcbiAgICogaW5mb3JtYWRvIHVtICptYXNrKiBvdSAqcGF0dGVybiogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1pbnB1dGAuXG4gICAqIC0gQ2FzbyBhIGxpc3RhIHBvc3N1YSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBlIGEgbWVzbWEgcG9zc3VhIGF0w6kgMyBpdGVucyBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhIG8gYHBvLXJhZGlvLWdyb3VwYFxuICAgKiBvdSBgcG8tY2hlY2tib3gtZ3JvdXBgIHNlIGluZm9ybWFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAuXG4gICAqIC0gQ2FzbyBhIG1lc21hIHBvc3N1YSAzIG91IG1haXMgaXRlbnMsIHNlcsOhIGNyaWFkbyBvIGNvbXBvbmVudGUgYHBvLXNlbGVjdGAgb3UsIGBwby1tdWx0aXNlbGVjdGAgc2UgYSBwcm9wcmllZGFkZSBgb3B0aW9uc011bHRpYFxuICAgKiBmb3IgdmVyZGFkZWlyYS5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpkYXRlKiBvdSAqZGF0ZXRpbWUqIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8tZGF0ZXBpY2tlcmAuXG4gICAqIC0gQ2FzbyBzZWphIGluZm9ybWFkbyBhIHByb3ByaWVkYWRlIGBvcHRpb25zU2VydmljZWAgbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSBvIGBwby1jb21ib2AuXG4gICAqIC0gQ2FzbyBvICp0eXBlKiBpbmZvcm1hZG8gc2VqYSAqdGltZSogbyBjb21wb25lbnRlIGNyaWFkbyBzZXLDoSB1bSBgcG8taW5wdXRgIHBvZGVuZG8gcmVjZWJlciB1bSAqbWFzayogcGFyYSBmb3JtYXRhclxuICAgKiBvIHZhbG9yIGV4aWJpZG8sIGNhc28gbsOjbyBzZWphIGluZm9ybWFkbyB1bSAqbWFzayogbyBjb21wb25lbnRlIHNlcsOhIGNyaWFkbyBjb20gYSBtw6FzY2FyYSAnOTk6OTknIHBvciBwYWRyw6NvLlxuICAgKiAtIENhc28gYSBsaXN0YSBwb3NzdWEgYSBwcm9wcmllZGFkZSBgcm93c2AgZSBlc3RhIHNlamEgZGVmaW5pZGEgY29tIHZhbG9yIG1haW9yIG91IGlndWFsIGEgMyBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhXG4gICAqIG8gYHBvLXRleHRhcmVhYCwgY2FzbyBvIHZhbG9yIGRhIHByb3ByaWVkYWRlIGByb3dzYCBzZWphIG1lbm9yIHF1ZSAzIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiAtIENhc28gc2VqYSBpbmZvcm1hZGEgYSBwcm9wcmllZGFkZSBgc2VjcmV0YCBvIGNvbXBvbmVudGUgY3JpYWRvIHNlcsOhIG8gYHBvLXBhc3N3b3JkYC5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpzdHJpbmcqIG8gY29tcG9uZW50ZSBjcmlhZG8gc2Vyw6EgbyBgcG8taW5wdXRgLlxuICAgKiA+IEFvIGFsdGVyYXIgbyB2YWxvciBkYXMgYHByb3BlcnRpZXNgLCB2aXNpYmlsaWRhZGUgZS9vdSBhZ3J1cGFtZW50b3MgdmlhIGNvbnRhaW5lciwgb3MgYGZpZWxkc2AgcXVlIHV0aWxpemFtIHNlcnZpw6dvIHBvZGVtIHJlZmF6ZXIgYXMgY2hhbWFkYXMgcGFyYSBhcyBBUEkncy5cbiAgICogQGRlZmF1bHQgYFtdYFxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkcycpIGZpZWxkczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gY29tbyB2YWxvciBwYXJhIGV4aWJpciBhcyBpbmZvcm1hw6fDtWVzLCBzZXLDoSByZWN1cGVyYWRvIGUgcHJlZW5jaGlkbyBhdHJhdsOpcyBkbyBhdHJpYnV0byAqcHJvcGVydHkqXG4gICAqIGRvcyBvYmpldG9zIGNvbnRpZG9zIG5hIHByb3ByaWRhZGUgYHAtZmllbGRzYC5cbiAgICpcbiAgICogUG9kZSBpbmljaWFyIGNvbSB2YWxvciBvdSBhcGVuYXMgY29tIHVtIG9iamV0byB2YXppbyBxdWUgc2Vyw6EgcHJlZW5jaGlkbyBjb25mb3JtZSBkZXNjcml0byBhY2ltYS5cbiAgICpcbiAgICogPiBFeDogYHsgbmFtZTogJ3BvJyB9YFxuICAgKi9cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IGFueTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBOYSBpbmljaWFsaXphw6fDo28gZG8gY29tcG9uZW50ZSBzZXLDoSByZXBhc3NhZG8gbyBvYmpldG8gZGUgZm9ybXVsw6FyaW8gdXRpbGl6YWRvIG5vIGNvbXBvbmVudGUsXG4gICAqIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBwYXJhIHZhbGlkYcOnw7VlcyBlL291IGRldGVjw6fDo28gZGUgbXVkYW7Dp2EgZG9zIHZhbG9yZXMuXG4gICAqXG4gICAqIFBvcnRhbnRvIGV4aXN0ZW0gZHVhcyBtYW5laXJhcyBkZSByZWN1cGVyYXIgbyBmb3JtdWzDoXJpbyxcbiAgICogYXRyYXbDqXMgZGUgKnRlbXBsYXRlIHJlZmVyZW5jZSogZSBhdHJhdsOpcyBkbyAqb3V0cHV0KiwgdmVqYSBvcyBleGVtcGxvcyBhYmFpeG86XG4gICAqXG4gICAqID4gKnRlbXBsYXRlIHJlZmVyZW5jZSpcbiAgICpcbiAgICogYGBgaHRtbFxuICAgKiAgPHBvLWR5bmFtaWMtZm9ybSAjZHluYW1pY0Zvcm0+XG4gICAqICA8L3BvLWR5bmFtaWMtZm9ybT5cbiAgICpcbiAgICogIDxwby1idXR0b24gcC1sYWJlbD1cIkFkaWNpb25hclwiIFtwLWRpc2FibGVkXT1cImR5bmFtaWNGb3JtPy5mb3JtLmludmFsaWRcIj5cbiAgICogIDwvcG8tYnV0dG9uPlxuICAgKlxuICAgKiBgYGBcbiAgICpcbiAgICogPiAqT3V0cHV0KlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqICAuLi5cbiAgICogIDxwby1keW5hbWljLWZvcm0gKHAtZm9ybSk9XCJnZXRGb3JtKCRldmVudClcIj5cbiAgICogIDwvcG8tZHluYW1pYy1mb3JtPlxuICAgKlxuICAgKiAgPHBvLWJ1dHRvbiBwLWxhYmVsPVwiQWRpY2lvbmFyXCIgW3AtZGlzYWJsZWRdPVwiZHluYW1pY0Zvcm0/LmludmFsaWRcIj5cbiAgICogIDwvcG8tYnV0dG9uPlxuICAgKiAgLi4uXG4gICAqXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGB0c1xuICAgKiAgLi4uXG4gICAqXG4gICAqICBleHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IHtcbiAgICpcbiAgICogICAgZHluYW1pY0Zvcm06IE5nRm9ybTtcbiAgICpcbiAgICogICAgZ2V0Rm9ybShmb3JtOiBOZ0Zvcm0pIHtcbiAgICogICAgICB0aGlzLmR5bmFtaWNGb3JtID0gZm9ybTtcbiAgICogICAgfVxuICAgKlxuICAgKiAgfVxuICAgKiBgYGBcbiAgICpcbiAgICogPiBDYXNvIGEgcHJvcHJpZWRhZGUgYHAtZ3JvdXAtZm9ybWAgZm9yIHZlcmRhZGVpcmEgbsOjbyBzZXLDoSByZXBhc3NhZG8gbyBmb3JtdWzDoXJpbywgcG9pcyBvIG1lc21vIHV0aWxpemFyw6FcbiAgICogbyBmb3JtdWzDoXJpbyBwYWkuXG4gICAqL1xuICBAT3V0cHV0KCdwLWZvcm0nKSBmb3JtT3V0cHV0OiBFdmVudEVtaXR0ZXI8TmdGb3JtPiA9IG5ldyBFdmVudEVtaXR0ZXI8TmdGb3JtPigpO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBvdSBzZXJ2acOnbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gYHN0cmluZ2A6ICpFbmRwb2ludCogdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gYGZ1bmN0aW9uYDogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIG8gb2JqZXRvIGluZm9ybWFkbyBubyBgcC12YWx1ZWAuXG4gICAqXG4gICAqIE8gcmV0b3JubyBkZXN0YSBmdW7Dp8OjbyBkZXZlIHNlciBkbyB0aXBvIFtQb0R5bmFtaWNGb3JtTG9hZF0oZG9jdW1lbnRhdGlvbi9wby1keW5hbWljLWZvcm0jcG8tZHluYW1pYy1mb3JtLWxvYWQpLFxuICAgKiBvbmRlIG8gdXN1w6FyaW8gcG9kZXLDoSBkZXRlcm1pbmFyIGFzIG5vdmFzIGF0dWFsaXphw6fDtWVzIGRvcyBjYW1wb3MsIHZhbG9yZXMgZSBkZXRlcm1pbmFyIG8gY2FtcG8gYSBzZXIgZm9jYWRvLlxuICAgKlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIG9uTG9hZEZpZWxkcygpOiBQb0R5bmFtaWNGb3JtTG9hZCB7XG4gICAqXG4gICAqICAgcmV0dXJuIHtcbiAgICogICAgIHZhbHVlOiB7IGNwZjogdW5kZWZpbmVkIH0sXG4gICAqICAgICBmaWVsZHM6IFtcbiAgICogICAgICAgeyBwcm9wZXJ0eTogJ2NwZicgfVxuICAgKiAgICAgXSxcbiAgICogICAgIGZvY3VzOiAnY3BmJ1xuICAgKiAgIH07XG4gICAqIH1cbiAgICpcbiAgICogYGBgXG4gICAqIFBhcmEgcmVmZXJlbmNpYXIgYSBzdWEgZnVuw6fDo28gdXRpbGl6ZSBhIHByb3ByaWVkYWRlIGBiaW5kYCwgcG9yIGV4ZW1wbG86XG4gICAqIGBgYFxuICAgKiAgW3AtbG9hZF09XCJvbkxvYWRGaWVsZHMuYmluZCh0aGlzKVwiXG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KCdwLWxvYWQnKSBsb2FkPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIG91IHNlcnZpw6dvIHBhcmEgdmFsaWRhciBhcyAqKm11ZGFuw6dhcyBkbyBmb3JtdWzDoXJpbyoqLlxuICAgKlxuICAgKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gYHN0cmluZ2A6ICpFbmRwb2ludCogdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gYGZ1bmN0aW9uYDogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBub21lIGRhIHByb3ByaWVkYWRlXG4gICAqIGFsdGVyYWRhIGUgb3MgdmFsb3JlcyBhdHVhbGl6YWRvcyBkbyBmb3JtdWzDoXJpbywgY29uZm9ybWUgYSBpbnRlcmZhY2UgYFBvRHluYW1pY0Zvcm1GaWVsZENoYW5nZWRgXG4gICAqXG4gICAqXG4gICAqIE8gcmV0b3JubyBkZXN0YSBmdW7Dp8OjbyBkZXZlIHNlciBkbyB0aXBvIFtQb0R5bmFtaWNGb3JtVmFsaWRhdGlvbl0oZG9jdW1lbnRhdGlvbi9wby1keW5hbWljLWZvcm0jcG8tZHluYW1pYy1mb3JtLXZhbGlkYXRpb24pLFxuICAgKiBvbmRlIG8gdXN1w6FyaW8gcG9kZXLDoSBkZXRlcm1pbmFyIGFzIG5vdmFzIGF0dWFsaXphw6fDtWVzIGRvcyBjYW1wb3MuXG4gICAqIFBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogb25DaGFuZ2VGaWVsZHMoY2hhbmdlVmFsdWUpOiBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvbiB7XG4gICAqXG4gICAqIGlmIChjaGFuZ2VWYWx1ZS5wcm9wZXJ0eSA9PT0gJ3N0YXRlJykge1xuICAgKlxuICAgKiAgIHJldHVybiB7XG4gICAqICAgICB2YWx1ZTogeyBjaXR5OiB1bmRlZmluZWQgfSxcbiAgICogICAgIGZpZWxkczogW1xuICAgKiAgICAgICB7IHByb3BlcnR5OiAnY2l0eScsIG9wdGlvbnM6IHRoaXMuZ2V0Q2l0eShjaGFuZ2VWYWx1ZS52YWx1ZS5zdGF0ZSkgfVxuICAgKiAgICAgXSxcbiAgICogICAgIGZvY3VzOiAnY2l0eSdcbiAgICogICB9O1xuICAgKiB9XG4gICAqXG4gICAqIGBgYFxuICAgKiBQYXJhIHJlZmVyZW5jaWFyIGEgc3VhIGZ1bsOnw6NvIHV0aWxpemUgYSBwcm9wcmllZGFkZSBgYmluZGAsIHBvciBleGVtcGxvOlxuICAgKiBgYGBcbiAgICogIFtwLXZhbGlkYXRlXT1cInRoaXMubXlGdW5jdGlvbi5iaW5kKHRoaXMpXCJcbiAgICogYGBgXG4gICAqXG4gICAqID4gU2UgaG91dmVyIHVtYSBsaXN0YSBkZSBjYW1wb3MgcGFyYSB2YWxpZGHDp8OjbyBkZWZpbmlkYSBlbSBgcC12YWxpZGF0ZS1maWVsZHNgLCBhIHByb3ByaWVkYWRlIGB2YWxpZGF0ZWAgc8OzIHJlY2ViZXLDoSBvIGRpc3Bhcm8gcGFyYSBvcyBjYW1wb3MgZXF1aXZhbGVudGVzLlxuICAgKi9cbiAgQElucHV0KCdwLXZhbGlkYXRlJykgdmFsaWRhdGU/OiBzdHJpbmcgfCBGdW5jdGlvbjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaXN0YSBxdWUgZGVmaW5lIG9zIGNhbXBvcyBxdWUgaXLDo28gZGlzcGFyYXIgbyB2YWxpZGF0ZSBkbyBmb3JtLlxuICAgKi9cbiAgQElucHV0KCdwLXZhbGlkYXRlLWZpZWxkcycpIHZhbGlkYXRlRmllbGRzPzogQXJyYXk8c3RyaW5nPjtcblxuICBwcml2YXRlIF9ncm91cEZvcm0/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW8gaW5mb3JtYXIgZXN0YSBwcm9wcmllZGFkZSwgbyBjb21wb25lbnRlIHBhc3NhcsOhIGEgdXRpbGl6YXIgbyBmb3JtdWzDoXJpbyBwYWkgcGFyYSBjcmlhciBvcyBgRm9ybUNvbnRyb2xgXG4gICAqIGUgY29tIGlzc28gw6kgcG9zc8OtdmVsIHJlY3VwZXJhciBvIHZhbG9yIGRvIGZvcm11bMOhcmlvIGUgc3VhcyB2YWxpZGHDp8O1ZXMgYSBwYXJ0aXIgZG8gZm9ybXVsw6FyaW8gcGFpLlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqIDxmb3JtICNwYXJlbnRGb3JtPVwibmdGb3JtXCI+XG4gICAqXG4gICAqICAgPHBvLWR5bmFtaWMtZm9ybSBwLWdyb3VwLWZvcm0gW3AtZmllbGRzXT1cImZpZWxkc1wiPjwvcG8tZHluYW1pYy1mb3JtPlxuICAgKlxuICAgKiAgPHBvLWJ1dHRvbiBwLWxhYmVsPVwiQWRpY2lvbmFyXCIgW3AtZGlzYWJsZWRdPVwicGFyZW50Rm9ybS5pbnZhbGlkXCI+PC9wby1idXR0b24+XG4gICAqIDwvZm9ybT5cbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ3AtZ3JvdXAtZm9ybScpIHNldCBncm91cEZvcm0odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ncm91cEZvcm0gPSA8YW55PnZhbHVlID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBncm91cEZvcm0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwRm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEFvIGluZm9ybWFyIGVzdGEgcHJvcHJpZWRhZGUsIG8gY29tcG9uZW50ZSBwYXNzYXLDoSBhIGVtaXRpciBvIHZhbG9yIGEgY2FkYSBjYXJhY3RlcmUgZGlnaXRhZG8uXG4gICAqXG4gICAqIFBvZGUgc2VyIGFwbGljYWRvIG5vcyBzZWd1aW50ZXMgY29tcG9uZW50ZXM6XG4gICAqIC0gcG8taW5wdXRcbiAgICogLSBwby1udW1iZXJcbiAgICogLSBwby1kZWNpbWFsXG4gICAqIC0gcG8tdGV4dGFyZWFcbiAgICogLSBwby1wYXNzd29yZFxuICAgKlxuICAgKiBEZXZlIGluZm9ybWFyIG9zIGNhbXBvcyBxdWUgZGVzZWphIHJlY2ViZXIgYXMgZW1pc3PDtWVzIG5hIHByb3ByaWVkYWRlIGBwLXZhbGlkYXRlLWZpZWxkc2AuXG4gICAqXG4gICAqXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtdmFsaWRhdGUtb24taW5wdXQnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgdmFsaWRhdGVPbklucHV0OiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0=
@@ -340,6 +340,9 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
340
340
  this.setContainerFields();
341
341
  }
342
342
  }
343
+ if (changes.value) {
344
+ this.updatePreviousValue();
345
+ }
343
346
  }
344
347
  focus(property) {
345
348
  const foundComponent = this.components.find(component => component.name === property);
@@ -577,4 +580,4 @@ export class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseCompone
577
580
  args: ['component']
578
581
  }] }); })();
579
582
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoDynamicFormFieldsComponent, { className: "PoDynamicFormFieldsComponent", filePath: "lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.ts", lineNumber: 23 }); })();
580
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNOekYsd0JBS2dCOzs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLZ0I7SUFDbEIsaUJBQU07Ozs7O0lBUGMsa0RBQWtDO0lBRWpELGNBRVE7SUFGUixtRUFFUSw2SEFBQTs7O0lBT1QsaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDZDQXdCQztJQXBCQywrYUFBbUM7SUFrQm5DLCtRQUFZLGVBQUEsK0JBQW9CLENBQUEsSUFBQztJQUduQyxpQkFBZ0I7Ozs7SUF0QmQsd0NBQXVCO0lBQ3ZCLGdFQUFtQztJQUNuQyxpREFBZ0MsMkJBQUEsNENBQUEsMENBQUEsZ0NBQUEsNkJBQUEseUJBQUEs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O2FBQ0g7WUFDRCxvRkFBb0Y7WUFDcEYsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztzRkF0U1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7Ozs7OzhDQUY1QixDQUFDLDhCQUE4QixDQUFDLEVBRDVCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lDbkJyRSw2RUFPTSxpSEFBQSxpSEFBQTs7WUFQa0Qsd0VBQStDOzs7aUZEc0IxRiw0QkFBNEI7Y0FOeEMsU0FBUzsyQkFDRSx3QkFBd0IsaUJBRW5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLGFBQ3hELENBQUMsOEJBQThCLENBQUM7Z0pBR2hCLFVBQVU7a0JBQXBDLFlBQVk7bUJBQUMsV0FBVzs7a0ZBRGQsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGRzLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIGRlIGNyaWHDp8OjbyBkb3MgY2FtcG9zIGRpbsOibWljb3MuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMnLFxuICB0ZW1wbGF0ZVVybDogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBwcm92aWRlcnM6IFtQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1GaWVsZHNDb21wb25lbnQgZXh0ZW5kcyBQb0R5bmFtaWNGb3JtRmllbGRzQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2NvbXBvbmVudCcpIGNvbXBvbmVudHM6IFF1ZXJ5TGlzdDx7IG5hbWU6IHN0cmluZzsgZm9jdXM6ICgpID0+IHZvaWQgfT47XG5cbiAgcHJpdmF0ZSBwcmV2aW91c1ZhbHVlID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGl0bGVDYXNlUGlwZTogVGl0bGVDYXNlUGlwZSxcbiAgICBwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VzOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybVxuICApIHtcbiAgICBzdXBlcih0aXRsZUNhc2VQaXBlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5maWVsZHMpIHtcbiAgICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuXG4gICAgICBpZiAoY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmhhc0NvbnRhaW5lcigpKSB7XG4gICAgICAgIHRoaXMuaGFzQ2hhbmdlQ29udGFpbmVyKGNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUsIGNoYW5nZXMuZmllbGRzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSB8fCAhY2hhbmdlcy5maWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9jdXMocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGZvdW5kQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRzLmZpbmQoY29tcG9uZW50ID0+IGNvbXBvbmVudC5uYW1lID09PSBwcm9wZXJ0eSk7XG4gICAgaWYgKGZvdW5kQ29tcG9uZW50KSB7XG4gICAgICBmb3VuZENvbXBvbmVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGlzRGlzYWJsZWQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRm9ybTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2hhbmdlRmllbGQodmlzaWJsZUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQsIG9iamVjdFZhbHVlPzogYW55KSB7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgIGNvbnN0IGlzQm9vbGVhblR5cGUgPSB2aXNpYmxlRmllbGQudHlwZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzQ2hhbmdlZFZhbHVlRmllbGQgPSB0aGlzLnByZXZpb3VzVmFsdWVbcHJvcGVydHldICE9PSB0aGlzLnZhbHVlW3Byb3BlcnR5XTtcblxuICAgIGlmICh2aXNpYmxlRmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMub2JqZWN0VmFsdWUuZW1pdChvYmplY3RWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gdmVyaWZpY2Egc2UgbyBmb3JtdWxhcmlvIGVzdGEgZGlydHkgcGFyYSBuw6NvIGRpc3BhcmFyIG8gdmFsaWRhdGUgYW8gY2FycmVnYXIgYSB0ZWxhLlxuICAgIGlmICgodGhpcy5mb3JtLmRpcnR5IHx8IGlzQm9vbGVhblR5cGUpICYmIGlzQ2hhbmdlZFZhbHVlRmllbGQpIHtcbiAgICAgIGNvbnN0IHsgY2hhbmdlZEZpZWxkLCBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG5cbiAgICAgIGlmIChjaGFuZ2VkRmllbGQudmFsaWRhdGUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy52YWxpZGF0ZUZpZWxkKGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXgsIHZpc2libGVGaWVsZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXgpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlUHJldmlvdXNWYWx1ZSgpO1xuICB9XG5cbiAgLy9lbWl0ZSBvIHZhbG9yIGEgY2FkYSBjYXJhY3RlcmUgZGlnaXRhZG8gbm8gaW5wdXRcbiAgb25DaGFuZ2VGaWVsZE1vZGVsKHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbklucHV0KSB7XG4gICAgICBjb25zdCB7IHByb3BlcnR5IH0gPSB2aXNpYmxlRmllbGQ7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZEluZGV4IH0gPSB0aGlzLmdldEZpZWxkKHByb3BlcnR5KTtcbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVByZXZpb3VzVmFsdWUoKSB7XG4gICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlKSk7XG4gIH1cblxuICB0cmFja0J5KGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpZWxkVmFsaWRhdGlvbihpbmRleDogbnVtYmVyLCB2YWxpZGF0ZWRGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbikge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNbaW5kZXhdO1xuXG4gICAgdGhpcy5maWVsZHNbaW5kZXhdID0geyAuLi5maWVsZCwgLi4udmFsaWRhdGVkRmllbGQuZmllbGQgfTtcbiAgICB0aGlzLnVwZGF0ZUZpZWxkcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSA9IHZhbGlkYXRlZEZpZWxkLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlcy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodmFsaWRhdGVkRmllbGQuZm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoZmllbGQucHJvcGVydHkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGQocHJvcGVydHk6IHN0cmluZykge1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZEluZGV4ID0gdGhpcy5maWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XG4gICAgY29uc3QgY2hhbmdlZEZpZWxkID0gdGhpcy5maWVsZHNbY2hhbmdlZEZpZWxkSW5kZXhdO1xuXG4gICAgcmV0dXJuIHsgY2hhbmdlZEZpZWxkLCBjaGFuZ2VkRmllbGRJbmRleCB9O1xuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VyVmFsaWRhdGlvbk9uRm9ybShjaGFuZ2VkRmllbGRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaXNWYWxpZGF0YWJsZUZpZWxkID0gdGhpcy52YWxpZGF0ZUZpZWxkcz8ubGVuZ3RoXG4gICAgICA/IHRoaXMudmFsaWRhdGVGaWVsZHNDaGVja2VyKHRoaXMudmFsaWRhdGVGaWVsZHMsIHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XS5wcm9wZXJ0eSlcbiAgICAgIDogdHJ1ZTtcbiAgICBjb25zdCBoYXNWYWxpZGF0aW9uRm9ybSA9IHRoaXMudmFsaWRhdGUgJiYgaXNWYWxpZGF0YWJsZUZpZWxkICYmIHRoaXMuZm9ybVZhbGlkYXRlLm9ic2VydmVycy5sZW5ndGg7XG5cbiAgICBpZiAoaGFzVmFsaWRhdGlvbkZvcm0pIHtcbiAgICAgIGNvbnN0IHVwZGF0ZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmVtaXQodXBkYXRlZEZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpZWxkcygpIHtcbiAgICB0aGlzLmZpZWxkc0NoYW5nZS5lbWl0KHRoaXMuZmllbGRzKTtcbiAgICB0aGlzLnZpc2libGVGaWVsZHMgPSB0aGlzLmdldFZpc2libGVGaWVsZHMoKTtcbiAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkc0NoZWNrZXIodmFsaWRhdGVGaWVsZHM6IEFycmF5PHN0cmluZz4sIHByb3BlcnR5RmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFsncHJvcGVydHknXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWxpZGF0ZUZpZWxkcy5zb21lKHZhbGlkYXRlRmllbGRJdGVtID0+IHZhbGlkYXRlRmllbGRJdGVtID09PSBwcm9wZXJ0eUZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVGaWVsZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCBmaWVsZEluZGV4OiBudW1iZXIsIHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XTtcblxuICAgIGNvbnN0IHByZXZpb3VzRGlzYWJsZWQgPSB2aXNpYmxlRmllbGQuZGlzYWJsZWQ7XG4gICAgdmlzaWJsZUZpZWxkLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlZEZpZWxkID0gYXdhaXQgdGhpcy52YWxpZGF0aW9uU2VydmljZS5zZW5kRmllbGRDaGFuZ2UoZmllbGQsIHZhbHVlKS50b1Byb21pc2UoKTtcbiAgICAgIHRoaXMuYXBwbHlGaWVsZFZhbGlkYXRpb24oZmllbGRJbmRleCwgdmFsaWRhdGVkRmllbGQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdmlzaWJsZUZpZWxkLmRpc2FibGVkID0gcHJldmlvdXNEaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0NoYW5nZUNvbnRhaW5lcihwcmV2aW91czogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPiwgY3VycmVudDogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZBcnJheSA9IHByZXZpb3VzLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXIsXG4gICAgICB2aXNpYmxlOiBpdGVtLnZpc2libGUgPz8gdHJ1ZVxuICAgIH0pKTtcblxuICAgIGNvbnN0IGN1cnJBcnJheSA9IGN1cnJlbnQubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgIGNvbnRhaW5lcjogaXRlbS5jb250YWluZXIgfHwgbnVsbCxcbiAgICAgIHByb3BlcnR5OiBpdGVtLnByb3BlcnR5LFxuICAgICAgaW5kZXgsXG4gICAgICBvcmRlcjogaXRlbS5vcmRlcixcbiAgICAgIHZpc2libGU6IGl0ZW0udmlzaWJsZSA/PyB0cnVlXG4gICAgfSkpO1xuXG4gICAgY29uc3QgcHJldkNvbnRhaW5lcnMgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb250YWluZXIpO1xuICAgIGNvbnN0IGN1cnJDb250YWluZXJzID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0uY29udGFpbmVyKTtcblxuICAgIGNvbnN0IHByZXZPcmRlciA9IHByZXZBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLm9yZGVyKTtcbiAgICBjb25zdCBjdXJyT3JkZXIgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5vcmRlcik7XG5cbiAgICBjb25zdCBwcmV2VmlzaWJsZVRydWUgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS52aXNpYmxlID09PSB0cnVlKTtcbiAgICBjb25zdCBjdXJyVmlzaWJsZVRydWUgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS52aXNpYmxlID09PSB0cnVlKTtcblxuICAgIGNvbnN0IHByZXZWaXNpYmxlRmFsc2UgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0udmlzaWJsZSk7XG4gICAgY29uc3QgY3VyclZpc2libGVGYWxzZSA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiAhaXRlbS52aXNpYmxlKTtcblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgY29udGFpbmVyc1xuICAgIGlmIChwcmV2Q29udGFpbmVycy5sZW5ndGggIT09IGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIG9yZGVyXG4gICAgaWYgKHByZXZPcmRlci5sZW5ndGggIT09IGN1cnJPcmRlci5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSB2aXNpYmxlXG4gICAgaWYgKHByZXZWaXNpYmxlVHJ1ZS5sZW5ndGggIT09IGN1cnJWaXNpYmxlVHJ1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSB2aXNpYmxlXG4gICAgaWYgKHByZXZWaXNpYmxlRmFsc2UubGVuZ3RoICE9PSBjdXJyVmlzaWJsZUZhbHNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY3VyckNvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldkNvbnRhaW5lcnMsIGN1cnJDb250YWluZXJzLCAnY29udGFpbmVyJyk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJPcmRlci5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2T3JkZXIsIGN1cnJPcmRlciwgJ29yZGVyJyk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJWaXNpYmxlVHJ1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2VmlzaWJsZVRydWUsIGN1cnJWaXNpYmxlVHJ1ZSwgJ3Zpc2libGUnKTtcbiAgICB9XG5cbiAgICBpZiAoY3VyclZpc2libGVGYWxzZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2VmlzaWJsZUZhbHNlLCBjdXJyVmlzaWJsZUZhbHNlLCAndmlzaWJsZScpO1xuICAgIH1cblxuICAgIC8vYXR1YWxpemEgY29udGFpbmVyIHNlbSBtdWRhbsOnYSBuYSBlc3RydXR1cmEgZGEgaW50ZXJmYWNlXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kaWZmT2JqZWN0c0FycmF5KHByZXZpb3VzLCB0aGlzLmdldFZpc2libGVGaWVsZHMoKSk7XG4gICAgdGhpcy5jb250YWluZXJGaWVsZHMgPSB0aGlzLnVwZGF0ZUZpZWxkQ29udGFpbmVyKHJlc3VsdCwgdGhpcy5jb250YWluZXJGaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZENvbnRhaW5lcihjaGFuZ2VzLCBjb250YWluZXJGaWVsZHMpIHtcbiAgICBjb25zdCBtYXBjaGFuZ2VzID0gbmV3IE1hcChjaGFuZ2VzLm1hcChvYmogPT4gW29iai5wcm9wZXJ0eSwgb2JqXSkpO1xuXG4gICAgY29udGFpbmVyRmllbGRzLmZvckVhY2goc3ViQXJyYXkgPT4ge1xuICAgICAgc3ViQXJyYXkuZm9yRWFjaCgoc3ViSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0gbWFwY2hhbmdlcy5nZXQoc3ViSXRlbS5wcm9wZXJ0eSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgc3ViQXJyYXlbaW5kZXhdID0geyAuLi5zdWJJdGVtLCAuLi5pdGVtIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbnRhaW5lckZpZWxkcztcbiAgfVxuXG4gIHByaXZhdGUgZGlmZk9iamVjdHNBcnJheShvbGRBcnJheSwgbmV3QXJyYXkpIHtcbiAgICBjb25zdCBkaWZmZXJlbmNlcyA9IFtdO1xuXG4gICAgbmV3QXJyYXkuZm9yRWFjaChuZXdPYmogPT4ge1xuICAgICAgY29uc3Qgb2xkT2JqID0gb2xkQXJyYXkuZmluZChvID0+IG8ucHJvcGVydHkgPT09IG5ld09iai5wcm9wZXJ0eSk7XG5cbiAgICAgIGlmICghb2xkT2JqKSB7XG4gICAgICAgIC8vIFNlIG8gb2JqZXRvIMOpIG5vdm8sIGFkaWNpb25hIHRvZG8gbyBvYmpldG8gY29tIGEgcHJvcHJpZWRhZGUgXCJwcm9wZXJ0eVwiXG4gICAgICAgIGRpZmZlcmVuY2VzLnB1c2goeyAuLi5uZXdPYmogfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWZXJpZmljYXIgc2UgaMOhIGRpZmVyZW7Dp2FzIG5hcyBwcm9wcmllZGFkZXNcbiAgICAgICAgY29uc3QgZGlmZiA9IHsgcHJvcGVydHk6IG5ld09iai5wcm9wZXJ0eSB9O1xuICAgICAgICBsZXQgaGFzRGlmZmVyZW5jZXMgPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBuZXdPYmopIHtcbiAgICAgICAgICBpZiAobmV3T2JqW2tleV0gIT09IG9sZE9ialtrZXldKSB7XG4gICAgICAgICAgICBkaWZmW2tleV0gPSBuZXdPYmpba2V5XTtcbiAgICAgICAgICAgIGhhc0RpZmZlcmVuY2VzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzRGlmZmVyZW5jZXMpIHtcbiAgICAgICAgICBkaWZmZXJlbmNlcy5wdXNoKGRpZmYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvL3JldG9ybmEgbXVkYW7Dp2FzIG5vcyBmaWVsZHMgcGFyYSBhdHVhbGl6YcOnw6NvIGRvIGNvbnRhaW5lckZpZWxkc1xuICAgIHJldHVybiBkaWZmZXJlbmNlcztcbiAgfVxuXG4gIHByaXZhdGUgaGFzQ29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVGaWVsZHMgJiYgdGhpcy52aXNpYmxlRmllbGRzLnNvbWUoZmllbGQgPT4gZmllbGQuY29udGFpbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hhbmdlc0NvbnRhaW5lcihwcmV2Q29udGFpbmVycywgY3VyckNvbnRhaW5lcnMsIGtleSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHByZXYgPSBwcmV2Q29udGFpbmVyc1tpXTtcbiAgICAgIGNvbnN0IGN1cnIgPSBjdXJyQ29udGFpbmVyc1tpXTtcblxuICAgICAgLy9WZXJpZmljYSBzZSBjb250YWluZXIgbXVkb3UgZGUgcG9zacOnw6NvXG4gICAgICBpZiAocHJldltrZXldID09PSBjdXJyW2tleV0gJiYgcHJldi5pbmRleCAhPT0gY3Vyci5pbmRleCkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvL1ZlcmlmaWNhIHNlIGZvaSBhcGVuYXMgbXVkYW7Dp2EgZGEgc3RyaW5nIGVtIGNhc28gZG8gY29udGFpbmVyIG91IHZhbG9yIG5vIG9yZGVyXG4gICAgICBpZiAocHJldltrZXldICE9PSBjdXJyW2tleV0gJiYgcHJldi5pbmRleCA9PT0gY3Vyci5pbmRleCkge1xuICAgICAgICBpZiAoa2V5ID09PSAnb3JkZXInKSB7XG4gICAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250YWluZXJGaWVsZHMuZm9yRWFjaChzdWJJdGVtID0+XG4gICAgICAgICAgc3ViSXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ucHJvcGVydHkgPT09IGN1cnIucHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgaXRlbVtrZXldID0gY3VycltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvL3ZlcmlmaWNhIHNlIG1hbnRldmUgbyBtZXNtbyBuw7ptZXJvIGRlIGNvbnRhaW5lciwgbWFzIGFsdGVyb3UgcHJvcGVydHkgZG8gY29udGFpbmVyXG4gICAgICBpZiAocHJldltrZXldICE9PSBjdXJyW2tleV0gJiYgcHJldi5wcm9wZXJ0eSAhPT0gY3Vyci5wcm9wZXJ0eSkge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcm93XCIgW2NsYXNzLnBvLWR5bmFtaWNdPVwiaGFzQ29udGFpbmVyc1wiICpuZ0lmPVwidmlzaWJsZUZpZWxkcyAmJiB2aXNpYmxlRmllbGRzLmxlbmd0aCA+IDBcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBoYXNDb250YWluZXJzID8gcG9Db250ZW50Q29udGFpbmVyIDogcG9Db250ZW50O1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGhhc0NvbnRhaW5lcnMgPyBjb250YWluZXJGaWVsZHMgOiB2aXNpYmxlRmllbGRzIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnQgbGV0LWZpZWxkcz5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBvLWRpdmlkZXIgKm5nSWY9XCJmaWVsZD8uZGl2aWRlcj8udHJpbSgpXCIgY2xhc3M9XCJwby1zbS0xMlwiIFtwLWxhYmVsXT1cImZpZWxkLmRpdmlkZXJcIj4gPC9wby1kaXZpZGVyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXJcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1pc28tZm9ybWF0XT1cImZpZWxkLmlzb0Zvcm1hdFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXI+XG5cbiAgICA8cG8tZGF0ZXBpY2tlci1yYW5nZVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RhdGVwaWNrZXJyYW5nZScpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW1heC1kYXRlXT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1pbi1kYXRlXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWRhdGVwaWNrZXItcmFuZ2U+XG5cbiAgICA8cG8taW5wdXRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdpbnB1dCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1hc2stZm9ybWF0LW1vZGVsXT1cImZpZWxkLm1hc2tGb3JtYXRNb2RlbFwiXG4gICAgICBbcC1tYXNrXT1cImZpZWxkLm1hc2tcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8taW5wdXQ+XG5cbiAgICA8cG8tbnVtYmVyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbnVtYmVyJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWluXT1cImZpZWxkLm1pblZhbHVlXCJcbiAgICAgIFtwLW1heF09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXN0ZXBdPVwiZmllbGQuc3RlcFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtaWNvbl09XCJmaWVsZC5pY29uXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1udW1iZXI+XG5cbiAgICA8cG8tZGVjaW1hbFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2RlY2ltYWwnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kZWNpbWFscy1sZW5ndGhdPVwiZmllbGQuZGVjaW1hbHNMZW5ndGhcIlxuICAgICAgW3AtdGhvdXNhbmQtbWF4bGVuZ3RoXT1cImZpZWxkLnRob3VzYW5kTWF4bGVuZ3RoXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sb2NhbGVdPVwiZmllbGQubG9jYWxlXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLWRlY2ltYWw+XG5cbiAgICA8cG8tc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc2VsZWN0JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICA+XG4gICAgPC9wby1zZWxlY3Q+XG5cbiAgICA8cG8tcmFkaW8tZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdyYWRpb0dyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG5cbiAgICA8cG8tc3dpdGNoXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnc3dpdGNoJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZm9ybWF0LW1vZGVsXT1cImZpZWxkLmZvcm1hdE1vZGVsXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1sYWJlbC1vZmZdPVwiZmllbGQuYm9vbGVhbkZhbHNlXCJcbiAgICAgIFtwLWxhYmVsLW9uXT1cImZpZWxkLmJvb2xlYW5UcnVlXCJcbiAgICAgIFtwLWxhYmVsLXBvc2l0aW9uXT1cImZpZWxkLmxhYmVsUG9zaXRpb25cIlxuICAgICAgW3AtaGlkZS1sYWJlbC1zdGF0dXNdPVwiZmllbGQuaGlkZUxhYmVsU3RhdHVzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tc3dpdGNoPlxuXG4gICAgPHBvLWNoZWNrYm94XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3gnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLXNpemVdPVwiZmllbGQuc2l6ZVwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94PlxuXG4gICAgPHBvLWNvbWJvXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY29tYm8nKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBwLWVtaXQtb2JqZWN0LXZhbHVlXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5vcHRpb25zU2VydmljZVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImZpZWxkLmluZmluaXRlU2Nyb2xsXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZV09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIHx8IDEwMFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1vcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkLCAkZXZlbnQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWx0ZXItbWlubGVuZ3RoXT1cImZpZWxkLmZpbHRlck1pbmxlbmd0aFwiXG4gICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWVsZC5maWx0ZXJNb2RlXCJcbiAgICAgIFtwLWRpc2FibGVkLWluaXQtZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkSW5pdEZpbHRlclwiXG4gICAgICBbcC1kaXNhYmxlZC10YWItZmlsdGVyXT1cImZpZWxkLmRpc2FibGVkVGFiRmlsdGVyXCJcbiAgICAgIFtwLWRlYm91bmNlLXRpbWVdPVwiZmllbGQuZGVib3VuY2VUaW1lXCJcbiAgICAgIFtwLWNoYW5nZS1vbi1lbnRlcl09XCJmaWVsZC5jaGFuZ2VPbkVudGVyXCJcbiAgICA+XG4gICAgPC9wby1jb21ibz5cblxuICAgIDxwby1sb29rdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdsb29rdXAnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBwLWZpZWxkLWxhYmVsPVwibGFiZWxcIlxuICAgICAgcC1maWVsZC12YWx1ZT1cInZhbHVlXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1uc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsIHx8ICdsYWJlbCdcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZSB8fCAndmFsdWUnXCJcbiAgICAgIFtwLWZpbHRlci1wYXJhbXNdPVwiZmllbGQucGFyYW1zXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLnNlYXJjaFNlcnZpY2VcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1hdXRvLWhlaWdodF09XCJmaWVsZC5hdXRvSGVpZ2h0XCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1maWVsZC1mb3JtYXRdPVwiZmllbGQuZm9ybWF0XCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1tdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtwLWFkdmFuY2VkLWZpbHRlcnNdPVwiZmllbGQuYWR2YW5jZWRGaWx0ZXJzXCJcbiAgICAgIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwiZmllbGQuY2hhbmdlVmlzaWJsZUNvbHVtbnM/LigkZXZlbnQpXCJcbiAgICAgIChwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXIpPVwiZmllbGQuY29sdW1uUmVzdG9yZU1hbmFnZXI/LigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1sb29rdXA+XG5cbiAgICA8cG8tY2hlY2tib3gtZ3JvdXBcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdjaGVja2JveEdyb3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY29sdW1uc109XCJmaWVsZC5jb2x1bW5zIHx8IDNcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgPlxuICAgIDwvcG8tY2hlY2tib3gtZ3JvdXA+XG5cbiAgICA8cG8tbXVsdGlzZWxlY3RcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdtdWx0aXNlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQub3B0aW9uc1NlcnZpY2VcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1zb3J0XT1cImZpZWxkLnNvcnRcIlxuICAgICAgW3AtcGxhY2Vob2xkZXItc2VhcmNoXT1cImZpZWxkLnBsYWNlaG9sZGVyU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VhcmNoXT1cImZpZWxkLmhpZGVTZWFyY2hcIlxuICAgICAgW3AtaGlkZS1zZWxlY3QtYWxsXT1cImZpZWxkLmhpZGVTZWxlY3RBbGxcIlxuICAgID5cbiAgICA8L3BvLW11bHRpc2VsZWN0PlxuXG4gICAgPHBvLXRleHRhcmVhXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAndGV4dGFyZWEnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgW3Atcm93c109XCJmaWVsZC5yb3dzXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tdGV4dGFyZWE+XG5cbiAgICA8cG8tcGFzc3dvcmRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdwYXNzd29yZCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWhpZGUtcGFzc3dvcmQtcGVla109XCJmaWVsZC5oaWRlUGFzc3dvcmRQZWVrXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoXCJcbiAgICAgIFtwLW1pbmxlbmd0aF09XCJmaWVsZC5taW5MZW5ndGhcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXBhdHRlcm5dPVwiZmllbGQucGF0dGVyblwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXBhc3N3b3JkPlxuXG4gICAgPHBvLXVwbG9hZFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3VwbG9hZCcpXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWF1dG8tdXBsb2FkXT1cImZpZWxkLmF1dG9VcGxvYWRcIlxuICAgICAgW3AtZGlyZWN0b3J5XT1cImZpZWxkLmRpcmVjdG9yeVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1kcmFnLWRyb3BdPVwiZmllbGQuZHJhZ0Ryb3BcIlxuICAgICAgW3AtZHJhZy1kcm9wLWhlaWdodF09XCJmaWVsZC5kcmFnRHJvcEhlaWdodFwiXG4gICAgICBbcC1yZXN0cmljdGlvbnNdPVwiZmllbGQucmVzdHJpY3Rpb25zXCJcbiAgICAgIFtwLWZvcm0tZmllbGRdPVwiZmllbGQuZm9ybUZpZWxkXCJcbiAgICAgIFtwLWhlYWRlcnNdPVwiZmllbGQuaGVhZGVyc1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaGlkZS1yZXN0cmljdGlvbnMtaW5mb109XCJmaWVsZC5oaWRlUmVzdHJpY3Rpb25zSW5mb1wiXG4gICAgICBbcC1oaWRlLXNlbGVjdC1idXR0b25dPVwiZmllbGQuaGlkZVNlbGVjdEJ1dHRvblwiXG4gICAgICBbcC1oaWRlLXNlbmQtYnV0dG9uXT1cImZpZWxkLmhpZGVTZW5kQnV0dG9uXCJcbiAgICAgIFtwLW11bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIChwLWVycm9yKT1cImZpZWxkLm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgICAocC1zdWNjZXNzKT1cImZpZWxkLm9uU3VjY2VzcygkZXZlbnQpXCJcbiAgICAgIChwLXVwbG9hZCk9XCJmaWVsZC5vblVwbG9hZCgkZXZlbnQpXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC11cmxdPVwiZmllbGQudXJsXCJcbiAgICA+XG4gICAgPC9wby11cGxvYWQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwb0NvbnRlbnRDb250YWluZXIgbGV0LWZpZWxkcz5cbiAgPHBvLWR5bmFtaWMtY29udGFpbmVyIFtwLWZpZWxkc109XCJmaWVsZHNcIiBbcC1jb250ZW50XT1cInBvQ29udGVudFwiPjwvcG8tZHluYW1pYy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
583
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZHluYW1pYy9wby1keW5hbWljLWZvcm0vcG8tZHluYW1pYy1mb3JtLWZpZWxkcy9wby1keW5hbWljLWZvcm0tZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixTQUFTLEVBQXVDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNOekYsd0JBS2dCOzs7O0lBTmxCLDhCQUF5RztJQUN2RyxxR0FLZ0I7SUFDbEIsaUJBQU07Ozs7O0lBUGMsa0RBQWtDO0lBRWpELGNBRVE7SUFGUixtRUFFUSw2SEFBQTs7O0lBT1QsaUNBQW9HOzs7SUFBeEMsMENBQXlCOzs7O0lBRXJGLDZDQXdCQztJQXBCQywrYUFBbUM7SUFrQm5DLCtRQUFZLGVBQUEsK0JBQW9CLENBQUEsSUFBQztJQUduQyxpQkFBZ0I7Ozs7SUF0QmQsd0NBQXVCO0lBQ3ZCLGdFQUFtQztJQUNuQyxpREFBZ0MsMkJBQUEsNENBQUEsMENBQUEsZ0NBQUEsNkJBQUEseUJBQUEs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RyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO2FBQ0g7WUFDRCxvRkFBb0Y7WUFDcEYsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztzRkExU1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7Ozs7OzhDQUY1QixDQUFDLDhCQUE4QixDQUFDLEVBRDVCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lDbkJyRSw2RUFPTSxpSEFBQSxpSEFBQTs7WUFQa0Qsd0VBQStDOzs7aUZEc0IxRiw0QkFBNEI7Y0FOeEMsU0FBUzsyQkFDRSx3QkFBd0IsaUJBRW5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLGFBQ3hELENBQUMsOEJBQThCLENBQUM7Z0pBR2hCLFVBQVU7a0JBQXBDLFlBQVk7bUJBQUMsV0FBVzs7a0ZBRGQsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS12YWxpZGF0aW9uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi9wby1keW5hbWljLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGRzLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIGRlIGNyaWHDp8OjbyBkb3MgY2FtcG9zIGRpbsOibWljb3MuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMnLFxuICB0ZW1wbGF0ZVVybDogJ3BvLWR5bmFtaWMtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBwcm92aWRlcnM6IFtQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1GaWVsZHNDb21wb25lbnQgZXh0ZW5kcyBQb0R5bmFtaWNGb3JtRmllbGRzQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2NvbXBvbmVudCcpIGNvbXBvbmVudHM6IFF1ZXJ5TGlzdDx7IG5hbWU6IHN0cmluZzsgZm9jdXM6ICgpID0+IHZvaWQgfT47XG5cbiAgcHJpdmF0ZSBwcmV2aW91c1ZhbHVlID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGl0bGVDYXNlUGlwZTogVGl0bGVDYXNlUGlwZSxcbiAgICBwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBQb0R5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VzOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybVxuICApIHtcbiAgICBzdXBlcih0aXRsZUNhc2VQaXBlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5maWVsZHMpIHtcbiAgICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZ2V0VmlzaWJsZUZpZWxkcygpO1xuXG4gICAgICBpZiAoY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmhhc0NvbnRhaW5lcigpKSB7XG4gICAgICAgIHRoaXMuaGFzQ2hhbmdlQ29udGFpbmVyKGNoYW5nZXMuZmllbGRzLnByZXZpb3VzVmFsdWUsIGNoYW5nZXMuZmllbGRzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghY2hhbmdlcy5maWVsZHMucHJldmlvdXNWYWx1ZSB8fCAhY2hhbmdlcy5maWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMudmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlUHJldmlvdXNWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBmb3VuZENvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50cy5maW5kKGNvbXBvbmVudCA9PiBjb21wb25lbnQubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgIGlmIChmb3VuZENvbXBvbmVudCkge1xuICAgICAgZm91bmRDb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBpc0Rpc2FibGVkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmllbGQuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZvcm07XG4gIH1cblxuICBhc3luYyBvbkNoYW5nZUZpZWxkKHZpc2libGVGaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCBvYmplY3RWYWx1ZT86IGFueSkge1xuICAgIGNvbnN0IHsgcHJvcGVydHkgfSA9IHZpc2libGVGaWVsZDtcbiAgICBjb25zdCBpc0Jvb2xlYW5UeXBlID0gdmlzaWJsZUZpZWxkLnR5cGUgPT09ICdib29sZWFuJztcbiAgICBjb25zdCBpc0NoYW5nZWRWYWx1ZUZpZWxkID0gdGhpcy5wcmV2aW91c1ZhbHVlW3Byb3BlcnR5XSAhPT0gdGhpcy52YWx1ZVtwcm9wZXJ0eV07XG5cbiAgICBpZiAodmlzaWJsZUZpZWxkLm9wdGlvbnNTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm9iamVjdFZhbHVlLmVtaXQob2JqZWN0VmFsdWUpO1xuICAgIH1cblxuICAgIC8vIHZlcmlmaWNhIHNlIG8gZm9ybXVsYXJpbyBlc3RhIGRpcnR5IHBhcmEgbsOjbyBkaXNwYXJhciBvIHZhbGlkYXRlIGFvIGNhcnJlZ2FyIGEgdGVsYS5cbiAgICBpZiAoKHRoaXMuZm9ybS5kaXJ0eSB8fCBpc0Jvb2xlYW5UeXBlKSAmJiBpc0NoYW5nZWRWYWx1ZUZpZWxkKSB7XG4gICAgICBjb25zdCB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfSA9IHRoaXMuZ2V0RmllbGQocHJvcGVydHkpO1xuXG4gICAgICBpZiAoY2hhbmdlZEZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudmFsaWRhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGNoYW5nZWRGaWVsZEluZGV4LCB2aXNpYmxlRmllbGQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzVmFsdWUoKTtcbiAgfVxuXG4gIC8vZW1pdGUgbyB2YWxvciBhIGNhZGEgY2FyYWN0ZXJlIGRpZ2l0YWRvIG5vIGlucHV0XG4gIG9uQ2hhbmdlRmllbGRNb2RlbCh2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlT25JbnB1dCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0eSB9ID0gdmlzaWJsZUZpZWxkO1xuICAgICAgY29uc3QgeyBjaGFuZ2VkRmllbGRJbmRleCB9ID0gdGhpcy5nZXRGaWVsZChwcm9wZXJ0eSk7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uT25Gb3JtKGNoYW5nZWRGaWVsZEluZGV4KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQcmV2aW91c1ZhbHVlKCkge1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICB9XG5cbiAgdHJhY2tCeShpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWVsZFZhbGlkYXRpb24oaW5kZXg6IG51bWJlciwgdmFsaWRhdGVkRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzW2luZGV4XTtcblxuICAgIHRoaXMuZmllbGRzW2luZGV4XSA9IHsgLi4uZmllbGQsIC4uLnZhbGlkYXRlZEZpZWxkLmZpZWxkIH07XG4gICAgdGhpcy51cGRhdGVGaWVsZHMoKTtcblxuICAgIGlmICh2YWxpZGF0ZWRGaWVsZC5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gPSB2YWxpZGF0ZWRGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZXMuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHZhbGlkYXRlZEZpZWxkLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKGZpZWxkLnByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGFuZ2VkRmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGNvbnN0IGNoYW5nZWRGaWVsZCA9IHRoaXMuZmllbGRzW2NoYW5nZWRGaWVsZEluZGV4XTtcblxuICAgIHJldHVybiB7IGNoYW5nZWRGaWVsZCwgY2hhbmdlZEZpZWxkSW5kZXggfTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclZhbGlkYXRpb25PbkZvcm0oY2hhbmdlZEZpZWxkSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzVmFsaWRhdGFibGVGaWVsZCA9IHRoaXMudmFsaWRhdGVGaWVsZHM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZhbGlkYXRlRmllbGRzQ2hlY2tlcih0aGlzLnZhbGlkYXRlRmllbGRzLCB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF0ucHJvcGVydHkpXG4gICAgICA6IHRydWU7XG4gICAgY29uc3QgaGFzVmFsaWRhdGlvbkZvcm0gPSB0aGlzLnZhbGlkYXRlICYmIGlzVmFsaWRhdGFibGVGaWVsZCAmJiB0aGlzLmZvcm1WYWxpZGF0ZS5vYnNlcnZlcnMubGVuZ3RoO1xuXG4gICAgaWYgKGhhc1ZhbGlkYXRpb25Gb3JtKSB7XG4gICAgICBjb25zdCB1cGRhdGVkRmllbGQgPSB0aGlzLmZpZWxkc1tjaGFuZ2VkRmllbGRJbmRleF07XG4gICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5lbWl0KHVwZGF0ZWRGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWVsZHMoKSB7XG4gICAgdGhpcy5maWVsZHNDaGFuZ2UuZW1pdCh0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy52aXNpYmxlRmllbGRzID0gdGhpcy5nZXRWaXNpYmxlRmllbGRzKCk7XG4gICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHNDaGVja2VyKHZhbGlkYXRlRmllbGRzOiBBcnJheTxzdHJpbmc+LCBwcm9wZXJ0eUZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGRbJ3Byb3BlcnR5J10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVGaWVsZHMuc29tZSh2YWxpZGF0ZUZpZWxkSXRlbSA9PiB2YWxpZGF0ZUZpZWxkSXRlbSA9PT0gcHJvcGVydHlGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCwgZmllbGRJbmRleDogbnVtYmVyLCB2aXNpYmxlRmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV07XG5cbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdmlzaWJsZUZpZWxkLmRpc2FibGVkO1xuICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VzLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZCA9IGF3YWl0IHRoaXMudmFsaWRhdGlvblNlcnZpY2Uuc2VuZEZpZWxkQ2hhbmdlKGZpZWxkLCB2YWx1ZSkudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLmFwcGx5RmllbGRWYWxpZGF0aW9uKGZpZWxkSW5kZXgsIHZhbGlkYXRlZEZpZWxkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHZpc2libGVGaWVsZC5kaXNhYmxlZCA9IHByZXZpb3VzRGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNDaGFuZ2VDb250YWluZXIocHJldmlvdXM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4sIGN1cnJlbnQ6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2QXJyYXkgPSBwcmV2aW91cy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgY29udGFpbmVyOiBpdGVtLmNvbnRhaW5lciB8fCBudWxsLFxuICAgICAgcHJvcGVydHk6IGl0ZW0ucHJvcGVydHksXG4gICAgICBpbmRleCxcbiAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLFxuICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlID8/IHRydWVcbiAgICB9KSk7XG5cbiAgICBjb25zdCBjdXJyQXJyYXkgPSBjdXJyZW50Lm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBjb250YWluZXI6IGl0ZW0uY29udGFpbmVyIHx8IG51bGwsXG4gICAgICBwcm9wZXJ0eTogaXRlbS5wcm9wZXJ0eSxcbiAgICAgIGluZGV4LFxuICAgICAgb3JkZXI6IGl0ZW0ub3JkZXIsXG4gICAgICB2aXNpYmxlOiBpdGVtLnZpc2libGUgPz8gdHJ1ZVxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByZXZDb250YWluZXJzID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0uY29udGFpbmVyKTtcbiAgICBjb25zdCBjdXJyQ29udGFpbmVycyA9IGN1cnJBcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvbnRhaW5lcik7XG5cbiAgICBjb25zdCBwcmV2T3JkZXIgPSBwcmV2QXJyYXkuZmlsdGVyKGl0ZW0gPT4gaXRlbS5vcmRlcik7XG4gICAgY29uc3QgY3Vyck9yZGVyID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0ub3JkZXIpO1xuXG4gICAgY29uc3QgcHJldlZpc2libGVUcnVlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG4gICAgY29uc3QgY3VyclZpc2libGVUcnVlID0gY3VyckFycmF5LmZpbHRlcihpdGVtID0+IGl0ZW0udmlzaWJsZSA9PT0gdHJ1ZSk7XG5cbiAgICBjb25zdCBwcmV2VmlzaWJsZUZhbHNlID0gcHJldkFycmF5LmZpbHRlcihpdGVtID0+ICFpdGVtLnZpc2libGUpO1xuICAgIGNvbnN0IGN1cnJWaXNpYmxlRmFsc2UgPSBjdXJyQXJyYXkuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0udmlzaWJsZSk7XG5cbiAgICAvLyBWZXJpZmljYSBtdWRhbsOnYSBuYSBxdWFudGlkYWRlIGRlIGNvbnRhaW5lcnNcbiAgICBpZiAocHJldkNvbnRhaW5lcnMubGVuZ3RoICE9PSBjdXJyQ29udGFpbmVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2EgbXVkYW7Dp2EgbmEgcXVhbnRpZGFkZSBkZSBvcmRlclxuICAgIGlmIChwcmV2T3JkZXIubGVuZ3RoICE9PSBjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZVRydWUubGVuZ3RoICE9PSBjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckZpZWxkcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIG11ZGFuw6dhIG5hIHF1YW50aWRhZGUgZGUgdmlzaWJsZVxuICAgIGlmIChwcmV2VmlzaWJsZUZhbHNlLmxlbmd0aCAhPT0gY3VyclZpc2libGVGYWxzZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGN1cnJDb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzQ29udGFpbmVyKHByZXZDb250YWluZXJzLCBjdXJyQ29udGFpbmVycywgJ2NvbnRhaW5lcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyT3JkZXIubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldk9yZGVyLCBjdXJyT3JkZXIsICdvcmRlcicpO1xuICAgIH1cblxuICAgIGlmIChjdXJyVmlzaWJsZVRydWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVUcnVlLCBjdXJyVmlzaWJsZVRydWUsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJWaXNpYmxlRmFsc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldlZpc2libGVGYWxzZSwgY3VyclZpc2libGVGYWxzZSwgJ3Zpc2libGUnKTtcbiAgICB9XG5cbiAgICAvL2F0dWFsaXphIGNvbnRhaW5lciBzZW0gbXVkYW7Dp2EgbmEgZXN0cnV0dXJhIGRhIGludGVyZmFjZVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGlmZk9iamVjdHNBcnJheShwcmV2aW91cywgdGhpcy5nZXRWaXNpYmxlRmllbGRzKCkpO1xuICAgIHRoaXMuY29udGFpbmVyRmllbGRzID0gdGhpcy51cGRhdGVGaWVsZENvbnRhaW5lcihyZXN1bHQsIHRoaXMuY29udGFpbmVyRmllbGRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmllbGRDb250YWluZXIoY2hhbmdlcywgY29udGFpbmVyRmllbGRzKSB7XG4gICAgY29uc3QgbWFwY2hhbmdlcyA9IG5ldyBNYXAoY2hhbmdlcy5tYXAob2JqID0+IFtvYmoucHJvcGVydHksIG9ial0pKTtcblxuICAgIGNvbnRhaW5lckZpZWxkcy5mb3JFYWNoKHN1YkFycmF5ID0+IHtcbiAgICAgIHN1YkFycmF5LmZvckVhY2goKHN1Ykl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IG1hcGNoYW5nZXMuZ2V0KHN1Ykl0ZW0ucHJvcGVydHkpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgIHN1YkFycmF5W2luZGV4XSA9IHsgLi4uc3ViSXRlbSwgLi4uaXRlbSB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjb250YWluZXJGaWVsZHM7XG4gIH1cblxuICBwcml2YXRlIGRpZmZPYmplY3RzQXJyYXkob2xkQXJyYXksIG5ld0FycmF5KSB7XG4gICAgY29uc3QgZGlmZmVyZW5jZXMgPSBbXTtcblxuICAgIG5ld0FycmF5LmZvckVhY2gobmV3T2JqID0+IHtcbiAgICAgIGNvbnN0IG9sZE9iaiA9IG9sZEFycmF5LmZpbmQobyA9PiBvLnByb3BlcnR5ID09PSBuZXdPYmoucHJvcGVydHkpO1xuXG4gICAgICBpZiAoIW9sZE9iaikge1xuICAgICAgICAvLyBTZSBvIG9iamV0byDDqSBub3ZvLCBhZGljaW9uYSB0b2RvIG8gb2JqZXRvIGNvbSBhIHByb3ByaWVkYWRlIFwicHJvcGVydHlcIlxuICAgICAgICBkaWZmZXJlbmNlcy5wdXNoKHsgLi4ubmV3T2JqIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNlIGjDoSBkaWZlcmVuw6dhcyBuYXMgcHJvcHJpZWRhZGVzXG4gICAgICAgIGNvbnN0IGRpZmYgPSB7IHByb3BlcnR5OiBuZXdPYmoucHJvcGVydHkgfTtcbiAgICAgICAgbGV0IGhhc0RpZmZlcmVuY2VzID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbmV3T2JqKSB7XG4gICAgICAgICAgaWYgKG5ld09ialtrZXldICE9PSBvbGRPYmpba2V5XSkge1xuICAgICAgICAgICAgZGlmZltrZXldID0gbmV3T2JqW2tleV07XG4gICAgICAgICAgICBoYXNEaWZmZXJlbmNlcyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0RpZmZlcmVuY2VzKSB7XG4gICAgICAgICAgZGlmZmVyZW5jZXMucHVzaChkaWZmKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy9yZXRvcm5hIG11ZGFuw6dhcyBub3MgZmllbGRzIHBhcmEgYXR1YWxpemHDp8OjbyBkbyBjb250YWluZXJGaWVsZHNcbiAgICByZXR1cm4gZGlmZmVyZW5jZXM7XG4gIH1cblxuICBwcml2YXRlIGhhc0NvbnRhaW5lcigpIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlRmllbGRzICYmIHRoaXMudmlzaWJsZUZpZWxkcy5zb21lKGZpZWxkID0+IGZpZWxkLmNvbnRhaW5lcik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXNDb250YWluZXIocHJldkNvbnRhaW5lcnMsIGN1cnJDb250YWluZXJzLCBrZXkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwcmV2ID0gcHJldkNvbnRhaW5lcnNbaV07XG4gICAgICBjb25zdCBjdXJyID0gY3VyckNvbnRhaW5lcnNbaV07XG5cbiAgICAgIC8vVmVyaWZpY2Egc2UgY29udGFpbmVyIG11ZG91IGRlIHBvc2nDp8Ojb1xuICAgICAgaWYgKHByZXZba2V5XSA9PT0gY3VycltrZXldICYmIHByZXYuaW5kZXggIT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy9WZXJpZmljYSBzZSBmb2kgYXBlbmFzIG11ZGFuw6dhIGRhIHN0cmluZyBlbSBjYXNvIGRvIGNvbnRhaW5lciBvdSB2YWxvciBubyBvcmRlclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYuaW5kZXggPT09IGN1cnIuaW5kZXgpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ29yZGVyJykge1xuICAgICAgICAgIHRoaXMuc2V0Q29udGFpbmVyRmllbGRzKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGFpbmVyRmllbGRzLmZvckVhY2goc3ViSXRlbSA9PlxuICAgICAgICAgIHN1Ykl0ZW0uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnByb3BlcnR5ID09PSBjdXJyLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIGl0ZW1ba2V5XSA9IGN1cnJba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy92ZXJpZmljYSBzZSBtYW50ZXZlIG8gbWVzbW8gbsO6bWVybyBkZSBjb250YWluZXIsIG1hcyBhbHRlcm91IHByb3BlcnR5IGRvIGNvbnRhaW5lclxuICAgICAgaWYgKHByZXZba2V5XSAhPT0gY3VycltrZXldICYmIHByZXYucHJvcGVydHkgIT09IGN1cnIucHJvcGVydHkpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXJvd1wiIFtjbGFzcy5wby1keW5hbWljXT1cImhhc0NvbnRhaW5lcnNcIiAqbmdJZj1cInZpc2libGVGaWVsZHMgJiYgdmlzaWJsZUZpZWxkcy5sZW5ndGggPiAwXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgaGFzQ29udGFpbmVycyA/IHBvQ29udGVudENvbnRhaW5lciA6IHBvQ29udGVudDtcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBoYXNDb250YWluZXJzID8gY29udGFpbmVyRmllbGRzIDogdmlzaWJsZUZpZWxkcyB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50IGxldC1maWVsZHM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkczsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgIDxwby1kaXZpZGVyICpuZ0lmPVwiZmllbGQ/LmRpdmlkZXI/LnRyaW0oKVwiIGNsYXNzPVwicG8tc20tMTJcIiBbcC1sYWJlbF09XCJmaWVsZC5kaXZpZGVyXCI+IDwvcG8tZGl2aWRlcj5cblxuICAgIDxwby1kYXRlcGlja2VyXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnZGF0ZXBpY2tlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtaXNvLWZvcm1hdF09XCJmaWVsZC5pc29Gb3JtYXRcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1tYXgtZGF0ZV09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1taW4tZGF0ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1kYXRlcGlja2VyPlxuXG4gICAgPHBvLWRhdGVwaWNrZXItcmFuZ2VcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkYXRlcGlja2VycmFuZ2UnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbcC1tYXgtZGF0ZV09XCJmaWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcC1taW4tZGF0ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1kYXRlcGlja2VyLXJhbmdlPlxuXG4gICAgPHBvLWlucHV0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnaW5wdXQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1tYXNrLWZvcm1hdC1tb2RlbF09XCJmaWVsZC5tYXNrRm9ybWF0TW9kZWxcIlxuICAgICAgW3AtbWFza109XCJmaWVsZC5tYXNrXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcGF0dGVybl09XCJmaWVsZC5wYXR0ZXJuXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICAocC1jaGFuZ2UtbW9kZWwpPVwib25DaGFuZ2VGaWVsZE1vZGVsKGZpZWxkKVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgID5cbiAgICA8L3BvLWlucHV0PlxuXG4gICAgPHBvLW51bWJlclxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ251bWJlcicpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNsZWFuXT1cImZpZWxkLmNsZWFuXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZmllbGQuZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW1pbl09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICBbcC1tYXhdPVwiZmllbGQubWF4VmFsdWVcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1zdGVwXT1cImZpZWxkLnN0ZXBcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLWljb25dPVwiZmllbGQuaWNvblwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgIDwvcG8tbnVtYmVyPlxuXG4gICAgPHBvLWRlY2ltYWxcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICdkZWNpbWFsJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtY2xlYW5dPVwiZmllbGQuY2xlYW5cIlxuICAgICAgW3AtZXJyb3ItcGF0dGVybl09XCJmaWVsZC5lcnJvck1lc3NhZ2VcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZGVjaW1hbHMtbGVuZ3RoXT1cImZpZWxkLmRlY2ltYWxzTGVuZ3RoXCJcbiAgICAgIFtwLXRob3VzYW5kLW1heGxlbmd0aF09XCJmaWVsZC50aG91c2FuZE1heGxlbmd0aFwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbG9jYWxlXT1cImZpZWxkLmxvY2FsZVwiXG4gICAgICBbcC1taW5dPVwiZmllbGQubWluVmFsdWVcIlxuICAgICAgW3AtbWF4XT1cImZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtwLW1heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIlxuICAgICAgW3AtbWlubGVuZ3RoXT1cImZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbcC1uby1hdXRvY29tcGxldGVdPVwiZmllbGQubm9BdXRvY29tcGxldGVcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1kZWNpbWFsPlxuXG4gICAgPHBvLXNlbGVjdFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3NlbGVjdCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkLmZpZWxkTGFiZWxcIlxuICAgICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGQuZmllbGRWYWx1ZVwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3Atb3B0aW9uYWxdPVwiZmllbGQub3B0aW9uYWxcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1yZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgPlxuICAgIDwvcG8tc2VsZWN0PlxuXG4gICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncmFkaW9Hcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLXJhZGlvLWdyb3VwPlxuXG4gICAgPHBvLXN3aXRjaFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3N3aXRjaCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoZmllbGQpXCJcbiAgICAgIFtwLWZvcm1hdC1tb2RlbF09XCJmaWVsZC5mb3JtYXRNb2RlbFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGFiZWwtb2ZmXT1cImZpZWxkLmJvb2xlYW5GYWxzZVwiXG4gICAgICBbcC1sYWJlbC1vbl09XCJmaWVsZC5ib29sZWFuVHJ1ZVwiXG4gICAgICBbcC1sYWJlbC1wb3NpdGlvbl09XCJmaWVsZC5sYWJlbFBvc2l0aW9uXCJcbiAgICAgIFtwLWhpZGUtbGFiZWwtc3RhdHVzXT1cImZpZWxkLmhpZGVMYWJlbFN0YXR1c1wiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLXN3aXRjaD5cblxuICAgIDxwby1jaGVja2JveFxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2NoZWNrYm94JylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1zaXplXT1cImZpZWxkLnNpemVcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICA+XG4gICAgPC9wby1jaGVja2JveD5cblxuICAgIDxwby1jb21ib1xuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ2NvbWJvJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgcC1lbWl0LW9iamVjdC12YWx1ZVxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZC5maWVsZExhYmVsXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWVcIlxuICAgICAgW3AtZmlsdGVyLXBhcmFtc109XCJmaWVsZC5wYXJhbXNcIlxuICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwiZmllbGQub3B0aW9uc1NlcnZpY2VcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJmaWVsZC5pbmZpbml0ZVNjcm9sbFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGwtZGlzdGFuY2VdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxEaXN0YW5jZSB8fCAxMDBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3Atb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXNvcnRdPVwiZmllbGQuc29ydFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZCwgJGV2ZW50KVwiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmlsdGVyLW1pbmxlbmd0aF09XCJmaWVsZC5maWx0ZXJNaW5sZW5ndGhcIlxuICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmllbGQuZmlsdGVyTW9kZVwiXG4gICAgICBbcC1kaXNhYmxlZC1pbml0LWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZEluaXRGaWx0ZXJcIlxuICAgICAgW3AtZGlzYWJsZWQtdGFiLWZpbHRlcl09XCJmaWVsZC5kaXNhYmxlZFRhYkZpbHRlclwiXG4gICAgICBbcC1kZWJvdW5jZS10aW1lXT1cImZpZWxkLmRlYm91bmNlVGltZVwiXG4gICAgICBbcC1jaGFuZ2Utb24tZW50ZXJdPVwiZmllbGQuY2hhbmdlT25FbnRlclwiXG4gICAgPlxuICAgIDwvcG8tY29tYm8+XG5cbiAgICA8cG8tbG9va3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbG9va3VwJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgcC1maWVsZC1sYWJlbD1cImxhYmVsXCJcbiAgICAgIHAtZmllbGQtdmFsdWU9XCJ2YWx1ZVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1jb2x1bW5zXT1cImZpZWxkLmNvbHVtbnNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbCB8fCAnbGFiZWwnXCJcbiAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkLmZpZWxkVmFsdWUgfHwgJ3ZhbHVlJ1wiXG4gICAgICBbcC1maWx0ZXItcGFyYW1zXT1cImZpZWxkLnBhcmFtc1wiXG4gICAgICBbcC1maWx0ZXItc2VydmljZV09XCJmaWVsZC5zZWFyY2hTZXJ2aWNlXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtYXV0by1oZWlnaHRdPVwiZmllbGQuYXV0b0hlaWdodFwiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtZmllbGQtZm9ybWF0XT1cImZpZWxkLmZvcm1hdFwiXG4gICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiZmllbGQuaW5maW5pdGVTY3JvbGxcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbGl0ZXJhbHNdPVwiZmllbGQubGl0ZXJhbHNcIlxuICAgICAgW3AtbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxuICAgICAgW3Atbm8tYXV0b2NvbXBsZXRlXT1cImZpZWxkLm5vQXV0b2NvbXBsZXRlXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKGZpZWxkKVwiXG4gICAgICBbcC1wbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICBbcC1hZHZhbmNlZC1maWx0ZXJzXT1cImZpZWxkLmFkdmFuY2VkRmlsdGVyc1wiXG4gICAgICAocC1jaGFuZ2UtdmlzaWJsZS1jb2x1bW5zKT1cImZpZWxkLmNoYW5nZVZpc2libGVDb2x1bW5zPy4oJGV2ZW50KVwiXG4gICAgICAocC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyKT1cImZpZWxkLmNvbHVtblJlc3RvcmVNYW5hZ2VyPy4oJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvcG8tbG9va3VwPlxuXG4gICAgPHBvLWNoZWNrYm94LWdyb3VwXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnY2hlY2tib3hHcm91cCcpXCJcbiAgICAgIFtuYW1lXT1cImZpZWxkLnByb3BlcnR5XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVbZmllbGQucHJvcGVydHldXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmNvbXBvbmVudENsYXNzXCJcbiAgICAgIFtwLWNvbHVtbnNdPVwiZmllbGQuY29sdW1ucyB8fCAzXCJcbiAgICAgIFtwLWF1dG8tZm9jdXNdPVwiZmllbGQuZm9jdXNcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgID5cbiAgICA8L3BvLWNoZWNrYm94LWdyb3VwPlxuXG4gICAgPHBvLW11bHRpc2VsZWN0XG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAnbXVsdGlzZWxlY3QnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWF1dG8taGVpZ2h0XT1cImZpZWxkLmF1dG9IZWlnaHRcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWxhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgIFtwLWxpdGVyYWxzXT1cImZpZWxkLmxpdGVyYWxzXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLW9wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW3AtZmllbGQtbGFiZWxdPVwiZmllbGQuZmllbGRMYWJlbFwiXG4gICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZC5maWVsZFZhbHVlXCJcbiAgICAgIFtwLWZpbHRlci1zZXJ2aWNlXT1cImZpZWxkLm9wdGlvbnNTZXJ2aWNlXCJcbiAgICAgIFtwLWZpbHRlci1tb2RlXT1cImZpZWxkLmZpbHRlck1vZGVcIlxuICAgICAgW3AtZGVib3VuY2UtdGltZV09XCJmaWVsZC5kZWJvdW5jZVRpbWVcIlxuICAgICAgW3Atc29ydF09XCJmaWVsZC5zb3J0XCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyLXNlYXJjaF09XCJmaWVsZC5wbGFjZWhvbGRlclNlYXJjaFwiXG4gICAgICBbcC1oaWRlLXNlYXJjaF09XCJmaWVsZC5oaWRlU2VhcmNoXCJcbiAgICAgIFtwLWhpZGUtc2VsZWN0LWFsbF09XCJmaWVsZC5oaWRlU2VsZWN0QWxsXCJcbiAgICA+XG4gICAgPC9wby1tdWx0aXNlbGVjdD5cblxuICAgIDxwby10ZXh0YXJlYVxuICAgICAgI2NvbXBvbmVudFxuICAgICAgKm5nSWY9XCJjb21wYXJlVG8oZmllbGQuY29udHJvbCwgJ3RleHRhcmVhJylcIlxuICAgICAgW25hbWVdPVwiZmllbGQucHJvcGVydHlcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtmaWVsZC5wcm9wZXJ0eV1cIlxuICAgICAgW25nQ2xhc3NdPVwiZmllbGQuY29tcG9uZW50Q2xhc3NcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtYXV0by1mb2N1c109XCJmaWVsZC5mb2N1c1wiXG4gICAgICBbcC1oZWxwXT1cImZpZWxkLmhlbHBcIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW9wdGlvbmFsXT1cImZpZWxkLm9wdGlvbmFsXCJcbiAgICAgIFtwLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwLXJlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkXCJcbiAgICAgIFtwLXNob3ctcmVxdWlyZWRdPVwiZmllbGQuc2hvd1JlcXVpcmVkXCJcbiAgICAgIFtwLXJvd3NdPVwiZmllbGQucm93c1wiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICA8L3BvLXRleHRhcmVhPlxuXG4gICAgPHBvLXBhc3N3b3JkXG4gICAgICAjY29tcG9uZW50XG4gICAgICAqbmdJZj1cImNvbXBhcmVUbyhmaWVsZC5jb250cm9sLCAncGFzc3dvcmQnKVwiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1jbGVhbl09XCJmaWVsZC5jbGVhblwiXG4gICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGZpZWxkKVwiXG4gICAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImZpZWxkLmVycm9yTWVzc2FnZVwiXG4gICAgICBbcC1hdXRvLWZvY3VzXT1cImZpZWxkLmZvY3VzXCJcbiAgICAgIFtwLWhlbHBdPVwiZmllbGQuaGVscFwiXG4gICAgICBbcC1oaWRlLXBhc3N3b3JkLXBlZWtdPVwiZmllbGQuaGlkZVBhc3N3b3JkUGVla1wiXG4gICAgICBbcC1pY29uXT1cImZpZWxkLmljb25cIlxuICAgICAgW3AtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgW3AtbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiXG4gICAgICBbcC1taW5sZW5ndGhdPVwiZmllbGQubWluTGVuZ3RoXCJcbiAgICAgIFtwLW5vLWF1dG9jb21wbGV0ZV09XCJmaWVsZC5ub0F1dG9jb21wbGV0ZVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1wYXR0ZXJuXT1cImZpZWxkLnBhdHRlcm5cIlxuICAgICAgW3AtcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3AtcmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW3Atc2hvdy1yZXF1aXJlZF09XCJmaWVsZC5zaG93UmVxdWlyZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoZmllbGQpXCJcbiAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJvbkNoYW5nZUZpZWxkTW9kZWwoZmllbGQpXCJcbiAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgPC9wby1wYXNzd29yZD5cblxuICAgIDxwby11cGxvYWRcbiAgICAgICNjb21wb25lbnRcbiAgICAgICpuZ0lmPVwiY29tcGFyZVRvKGZpZWxkLmNvbnRyb2wsICd1cGxvYWQnKVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW2ZpZWxkLnByb3BlcnR5XVwiXG4gICAgICBbbmdDbGFzc109XCJmaWVsZC5jb21wb25lbnRDbGFzc1wiXG4gICAgICBbcC1hdXRvLXVwbG9hZF09XCJmaWVsZC5hdXRvVXBsb2FkXCJcbiAgICAgIFtwLWRpcmVjdG9yeV09XCJmaWVsZC5kaXJlY3RvcnlcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChmaWVsZClcIlxuICAgICAgW3AtZHJhZy1kcm9wXT1cImZpZWxkLmRyYWdEcm9wXCJcbiAgICAgIFtwLWRyYWctZHJvcC1oZWlnaHRdPVwiZmllbGQuZHJhZ0Ryb3BIZWlnaHRcIlxuICAgICAgW3AtcmVzdHJpY3Rpb25zXT1cImZpZWxkLnJlc3RyaWN0aW9uc1wiXG4gICAgICBbcC1mb3JtLWZpZWxkXT1cImZpZWxkLmZvcm1GaWVsZFwiXG4gICAgICBbcC1oZWFkZXJzXT1cImZpZWxkLmhlYWRlcnNcIlxuICAgICAgW3AtaGVscF09XCJmaWVsZC5oZWxwXCJcbiAgICAgIFtwLWhpZGUtcmVzdHJpY3Rpb25zLWluZm9dPVwiZmllbGQuaGlkZVJlc3RyaWN0aW9uc0luZm9cIlxuICAgICAgW3AtaGlkZS1zZWxlY3QtYnV0dG9uXT1cImZpZWxkLmhpZGVTZWxlY3RCdXR0b25cIlxuICAgICAgW3AtaGlkZS1zZW5kLWJ1dHRvbl09XCJmaWVsZC5oaWRlU2VuZEJ1dHRvblwiXG4gICAgICBbcC1tdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXG4gICAgICBbcC1sYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICBbcC1saXRlcmFsc109XCJmaWVsZC5saXRlcmFsc1wiXG4gICAgICBbbmFtZV09XCJmaWVsZC5wcm9wZXJ0eVwiXG4gICAgICAocC1lcnJvcik9XCJmaWVsZC5vbkVycm9yKCRldmVudClcIlxuICAgICAgKHAtc3VjY2Vzcyk9XCJmaWVsZC5vblN1Y2Nlc3MoJGV2ZW50KVwiXG4gICAgICAocC11cGxvYWQpPVwiZmllbGQub25VcGxvYWQoJGV2ZW50KVwiXG4gICAgICBbcC1vcHRpb25hbF09XCJmaWVsZC5vcHRpb25hbFwiXG4gICAgICBbcC1yZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbcC1zaG93LXJlcXVpcmVkXT1cImZpZWxkLnNob3dSZXF1aXJlZFwiXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VGaWVsZChmaWVsZClcIlxuICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cIm9uQ2hhbmdlRmllbGRNb2RlbChmaWVsZClcIlxuICAgICAgW3AtdXJsXT1cImZpZWxkLnVybFwiXG4gICAgPlxuICAgIDwvcG8tdXBsb2FkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcG9Db250ZW50Q29udGFpbmVyIGxldC1maWVsZHM+XG4gIDxwby1keW5hbWljLWNvbnRhaW5lciBbcC1maWVsZHNdPVwiZmllbGRzXCIgW3AtY29udGVudF09XCJwb0NvbnRlbnRcIj48L3BvLWR5bmFtaWMtY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==