Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

feel-ui

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feel-ui - npm Package Compare versions

Comparing version 0.2.6 to 0.2.7

7

dist/feel-ui.js

@@ -34,2 +34,5 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.FeelUi = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){

core_1.Input()
], ButtonComponent.prototype, "primary", void 0);
__decorate([
core_1.Input()
], ButtonComponent.prototype, "flat", void 0);

@@ -43,3 +46,3 @@ __decorate([

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat }\" >{{text}}</button>"
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
})

@@ -417,2 +420,2 @@ ], ButtonComponent);

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJmZWVsLXVpLnRzIiwibm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbGliL19lbXB0eS5qcyIsInNyYy9idXR0b24udHMiLCJzcmMvY2hlY2tib3gudHMiLCJzcmMvaW5wdXQudHMiLCJzcmMvbWVudS1iYXIudHMiLCJzcmMvbWVudS1wYW5lbC50cyIsInNyYy9ub3RpZmljYXRpb24tcHJvdmlkZXIudHMiLCJzcmMvcGlwZXMvc29ydC1waXBlLnRzIiwic3JjL3NsaWRlci50cyIsInNyYy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLHVCQUFnQyxjQUFjLENBQUMsQ0FBQTtBQVU1Qyx1QkFBZTtBQVRsQix5QkFBd0IsZ0JBQWdCLENBQUMsQ0FBQTtBQVV0QyxlQUFPO0FBVFYsMkJBQTBCLGtCQUFrQixDQUFDLENBQUE7QUFVMUMsaUJBQVM7QUFUWixzQkFBK0IsYUFBYSxDQUFDLENBQUE7QUFVMUMsc0JBQWM7QUFUakIsc0NBQXFDLDZCQUE2QixDQUFDLENBQUE7QUFVaEUsNEJBQW9CO0FBVHZCLHNCQUErQixhQUFhLENBQUMsQ0FBQTtBQVUxQyxzQkFBYztBQVRqQix1QkFBdUIsY0FBYyxDQUFDLENBQUE7QUFVbkMsY0FBTTtBQVRULHlCQUF5QixnQkFBZ0IsQ0FBQyxDQUFBO0FBVXZDLGdCQUFRO0FBQ1Q7QUNsQkY7Ozs7Ozs7O0FDQUEscUJBQWdDLGVBQWUsQ0FBQyxDQUFBO0FBQ2hELHVCQUF3QixpQkFBaUIsQ0FBQyxDQUFBO0FBRTFDO0lBQUE7SUFTQyxDQUFDO0lBRkM7UUFBQyxZQUFLLEVBQUU7T0FBQyxpQ0FBSSxVQUFVO0lBQ3ZCO1FBQUMsWUFBSyxFQUFFO09BQUMsaUNBQUksVUFBUztJQVJ6QjtRQUFDLGdCQUFTLENBQUM7WUFDUCxVQUFVLEVBQUUsQ0FBQyxnQkFBTyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSw2RUFBNkU7U0FDMUYsQ0FBQzt3QkFLQTtJQUFELHNCQUFDO0FBQUQsQ0FURCxBQVNFLElBQUE7QUFKVyx1QkFBZSxrQkFJMUIsQ0FBQTs7Ozs7Ozs7QUNaRixxQkFBa0YsZUFBZSxDQUFDLENBQUE7QUFDbEcsdUJBQXdCLGlCQUFpQixDQUFDLENBQUE7QUFFMUM7SUFBQTtRQVlHLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFNYixrQkFBYSxHQUFHLElBQUksbUJBQVksRUFBRSxDQUFDO0lBdUJyQyxDQUFDO0lBYkMsOEJBQVcsR0FEWCxVQUNZLEtBQW9CO1FBQzdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssRUFBRyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNKLENBQUM7SUFHQyxpQ0FBYyxHQURoQjtRQUVLLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBN0JIO1FBQUMsa0JBQVcsQ0FBQyxVQUFVLENBQUM7T0FDeEIsOEJBQVEsVUFBSztJQUViO1FBQUMsWUFBSyxFQUFFO09BQ1IsNkJBQU8sVUFBVTtJQUVqQjtRQUFDLGFBQU0sRUFBRTtPQUNULG1DQUFhLFVBQXNCO0lBRW5DO1FBQUMsWUFBSyxFQUFFO09BQ1IsMkJBQUssVUFBUztJQUVkO1FBQUMsWUFBSyxFQUFFO1FBQ1Asa0JBQVcsQ0FBQyxlQUFlLENBQUM7T0FDN0IsOEJBQVEsVUFBVTtJQUVsQjtRQUFDLG1CQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7T0FDckMsaUNBQVcsUUFJVjtJQUVEO1FBQUMsbUJBQVksQ0FBQyxPQUFPLENBQUM7T0FDcEIsb0NBQWMsUUFLYjtJQXhDTjtRQUFDLGdCQUFTLENBQUM7WUFDUCxVQUFVLEVBQUUsQ0FBQyxnQkFBTyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSx1UkFJMEI7U0FDdkMsQ0FBQztpQkFpQ0E7SUFBRCxlQUFDO0FBQUQsQ0F6Q0QsQUF5Q0UsSUFBQTtBQWhDVyxnQkFBUSxXQWdDbkIsQ0FBQTs7Ozs7Ozs7QUM1Q0YscUJBQXVELGVBQWUsQ0FBQyxDQUFBO0FBQ3ZFLHVCQUF1QyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ3pEO0lBQUE7UUFXWSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxJQUFJLG1CQUFZLEVBQUUsQ0FBQztRQUVuQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO0lBZTVCLENBQUM7SUFiQyxnQ0FBTyxHQUFQLFVBQVEsS0FBYTtRQUVsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFekMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDWixJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFwQkQ7UUFBQyxZQUFLLEVBQUU7T0FBQyxpQ0FBSyxVQUFTO0lBQ3ZCO1FBQUMsWUFBSyxFQUFFO09BQUMsaUNBQUssVUFBUztJQUN2QjtRQUFDLFlBQUssRUFBRTtPQUFDLHFDQUFTLFVBQWtCO0lBQ3BDO1FBQUMsWUFBSyxFQUFFO09BQUMsZ0NBQUksVUFBa0I7SUFDL0I7UUFBQyxhQUFNLEVBQUU7T0FBQyx1Q0FBVyxVQUFzQjtJQWI5QztRQUFDLGdCQUFTLENBQUM7WUFDUCxVQUFVLEVBQUUsQ0FBQyxnQkFBTyxFQUFFLGFBQUksQ0FBQztZQUMzQixRQUFRLEVBQUUsWUFBWTtZQUN0QixRQUFRLEVBQUUsb1FBRTRGO1NBQ3pHLENBQUM7dUJBd0JBO0lBQUQscUJBQUM7QUFBRCxDQTlCRCxBQThCRSxJQUFBO0FBdkJXLHNCQUFjLGlCQXVCekIsQ0FBQTs7Ozs7Ozs7QUNoQ0YscUJBQWlDLGVBQWUsQ0FBQyxDQUFBO0FBQ2pELHVCQUFnQyxVQUFVLENBQUMsQ0FBQTtBQUMzQywyQkFBMEIsY0FBYyxDQUFDLENBQUE7QUFDekM7SUFjRztRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFTSxpQ0FBZSxHQUF0QjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3BDLENBQUM7SUFFTSw2QkFBVyxHQUFsQjtRQUNHLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFiRDtRQUFDLFlBQUssRUFBRTtPQUFDLDBCQUFLLFVBQVM7SUFYMUI7UUFBQyxnQkFBUyxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUUsd0JBQWUsRUFBRSxzQkFBUyxDQUFFO1lBQzFDLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSw0UUFJaUY7U0FDOUYsQ0FBQztnQkFpQkE7SUFBRCxjQUFDO0FBQUQsQ0F6QkQsQUF5QkUsSUFBQTtBQWhCVyxlQUFPLFVBZ0JsQixDQUFBOzs7Ozs7OztBQzVCRixxQkFBK0MsZUFBZSxDQUFDLENBQUE7QUFDL0QsdUJBQXdCLGlCQUFpQixDQUFDLENBQUE7QUFDMUMsdUJBQWdDLFVBQVUsQ0FBQyxDQUFBO0FBQzNDLHVCQUEyQixpQkFBaUIsQ0FBQyxDQUFBO0FBQzdDO0lBeUJHO1FBRkEsVUFBSyxHQUFHLElBQUksbUJBQVksRUFBRSxDQUFDO0lBRzNCLENBQUM7SUFFTSxrQ0FBYyxHQUFyQjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFURDtRQUFDLFlBQUssRUFBRTtPQUFDLDJCQUFJLFVBQVU7SUF0QjFCO1FBQUMsZ0JBQVMsQ0FBQztZQUNQLFVBQVUsRUFBRSxDQUFDLGdCQUFPLEVBQUUsd0JBQWUsRUFBRSxtQkFBVSxDQUFFO1lBQ25ELFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ2pCLFFBQVEsRUFBRSxnL0JBY1E7U0FDckIsQ0FBQztrQkFhQTtJQUFELGdCQUFDO0FBQUQsQ0FoQ0QsQUFnQ0UsSUFBQTtBQVpXLGlCQUFTLFlBWXBCLENBQUE7O0FDcENGO0lBSUU7UUFFRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTNFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7WUFDckQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUVILENBQUM7SUFFTSwwQ0FBVyxHQUFsQixVQUFtQixLQUFhLEVBQUUsT0FBZTtRQUMvQyxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELGVBQWUsQ0FBQyxTQUFTLEdBQUcsc0JBQXNCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLHdDQUFTLEdBQWhCLFVBQWlCLEtBQWEsRUFBRSxPQUFlO1FBQzdDLElBQUksZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsZUFBZSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUxRCxDQUFDO0lBRU8sZ0RBQWlCLEdBQXpCLFVBQTBCLG1CQUFnQyxFQUFFLEtBQWEsRUFBRSxPQUFlO1FBQTFGLGlCQWVDO1FBZEMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNWLG1CQUFtQixDQUFDLFNBQVMsSUFBSSxxQkFBcUIsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzVFLENBQUM7UUFFRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1osbUJBQW1CLENBQUMsU0FBUyxJQUFJLHVCQUF1QixHQUFHLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDaEYsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzRCxVQUFVLENBQUM7WUFDVCxLQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0QsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRVgsQ0FBQztJQUNILDJCQUFDO0FBQUQsQ0E3Q0EsQUE2Q0MsSUFBQTtBQTdDWSw0QkFBb0IsdUJBNkNoQyxDQUFBOzs7Ozs7OztBQzdDRCxxQkFBa0MsZUFBZSxDQUFDLENBQUE7QUFFbEQ7SUFBQTtJQThCQSxDQUFDO0lBMUJDLDRCQUFTLEdBQVQsVUFBVSxLQUFpQixFQUFFLElBQW1CO1FBRTlDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzQixFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1QixZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDWixDQUFDO1lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QixXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUE3Qkg7UUFBQyxXQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTTtZQUNqQixJQUFJLEVBQUUsS0FBSztTQUNaLENBQUM7aUJBNEJEO0lBQUQsZUFBQztBQUFELENBOUJBLEFBOEJDLElBQUE7QUEzQlksZ0JBQVEsV0EyQnBCLENBQUE7Ozs7Ozs7O0FDaENELHFCQUFnRixlQUFlLENBQUMsQ0FBQTtBQUVoRztJQXlCRztRQVpBLGdCQUFXLEdBQUcsSUFBSSxtQkFBWSxFQUFFLENBQUM7UUFFekIsWUFBTyxHQUFXLEtBQUssQ0FBQztRQVc3QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBWE8sMkJBQVUsR0FBbEI7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBV08saUNBQWdCLEdBQXhCO1FBQ0csSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ3ZFLENBQUM7SUFFTywyQkFBVSxHQUFsQixVQUFtQixLQUFpQjtRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFnQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBRWhELFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sNEJBQVcsR0FBbkIsVUFBb0IsS0FBaUI7UUFDbEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUVqRCxPQUFPLE9BQU8sR0FBZ0IsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xELEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLFdBQVcsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JDLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFekYsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlDLDBCQUEwQjtRQUUxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTywwQkFBUyxHQUFqQjtRQUNHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFqRUQ7UUFBQyxZQUFLLEVBQUU7T0FDUix5QkFBSyxVQUFTO0lBRWQ7UUFBQyxhQUFNLEVBQUU7T0FDVCwrQkFBVyxVQUFzQjtJQVNqQztRQUFDLFlBQUssRUFBRTtPQUNSLDJCQUFPLFVBQVM7SUF2Qm5CO1FBQUMsZ0JBQVMsQ0FBQztZQUNQLFVBQVUsRUFBRSxFQUFJO1lBQ2hCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSw2S0FFUTtTQUNyQixDQUFDO2VBcUVBO0lBQUQsYUFBQztBQUFELENBM0VELEFBMkVFLElBQUE7QUFwRVcsY0FBTSxTQW9FakIsQ0FBQTs7Ozs7Ozs7QUM3RUYscUJBQWdGLGVBQWUsQ0FBQyxDQUFBO0FBQ2hHLHVCQUF1QyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ3pELDBCQUF5QixtQkFBbUIsQ0FBQyxDQUFBO0FBRTdDO0lBQUE7UUEyQlUsY0FBUyxHQUFXLFdBQVcsQ0FBQztRQUNoQyxjQUFTLEdBQWtCLENBQUUsV0FBVyxDQUFFLENBQUM7SUFZcEQsQ0FBQztJQVZRLGdDQUFPLEdBQWQsVUFBZ0IsWUFBb0I7UUFDbEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFkRDtRQUFDLFlBQUssRUFBRTtPQUFDLGdDQUFJLFVBQWE7SUFDMUI7UUFBQyxZQUFLLEVBQUU7T0FBQyxtQ0FBTyxVQUFhO0lBMUJoQztRQUFDLGdCQUFTLENBQUM7WUFDUCxVQUFVLEVBQUUsQ0FBRSxnQkFBTyxDQUFFO1lBQ3ZCLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLEtBQUssRUFBRSxDQUFFLG9CQUFRLENBQUU7WUFDbkIsa0RBQWtEO1lBQ2xELFFBQVEsRUFBRSwrM0JBZ0JVO1NBQ3ZCLENBQUM7dUJBa0JBO0lBQUQscUJBQUM7QUFBRCxDQXhDRCxBQXdDRSxJQUFBO0FBakJXLHNCQUFjLGlCQWlCekIsQ0FBQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCJpbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9zcmMvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1lbnVCYXIgfSBmcm9tIFwiLi9zcmMvbWVudS1iYXJcIjtcclxuaW1wb3J0IHsgTWVudVBhbmVsIH0gZnJvbSBcIi4vc3JjL21lbnUtcGFuZWxcIjtcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiLi9zcmMvaW5wdXRcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJvdmlkZXIgfSBmcm9tIFwiLi9zcmMvbm90aWZpY2F0aW9uLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vc3JjL3RhYmxlXCI7XHJcbmltcG9ydCB7IFNsaWRlciB9IGZyb20gXCIuL3NyYy9zbGlkZXJcIjtcclxuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tIFwiLi9zcmMvY2hlY2tib3hcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgTWVudUJhcixcclxuICAgTWVudVBhbmVsLFxyXG4gICBJbnB1dENvbXBvbmVudCxcclxuICAgTm90aWZpY2F0aW9uUHJvdmlkZXIsXHJcbiAgIFRhYmxlQ29tcG9uZW50LFxyXG4gICBTbGlkZXIsXHJcbiAgIENoZWNrYm94XHJcbn07XHJcbiIsIiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXR9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtYnV0dG9uXCIsXHJcbiAgICB0ZW1wbGF0ZTogXCI8YnV0dG9uIHR5cGU9J2J1dHRvbicgW25nQ2xhc3NdPVxcXCJ7ICdidG4tZmxhdCc6IGZsYXQgfVxcXCIgPnt7dGV4dH19PC9idXR0b24+XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XHJcblxyXG4gICBASW5wdXQoKSBmbGF0OiBib29sZWFuO1xyXG4gICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgZGlyZWN0aXZlczogW05nQ2xhc3NdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC1jaGVja2JveFwiLFxyXG4gICAgdGVtcGxhdGU6IGA8c3ZnIFtuZ0NsYXNzXT1cInsgJ2NoZWNrZWQnOiBjaGVja2VkIH1cIiB3aWR0aD1cIjIwcHhcIiBoZWlnaHQ9XCIyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxXCIgeT1cIjFcIiB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTSA0IDYgbCA2IDYgbCAxMiAtMTJcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICA8bGFiZWw+e3tsYWJlbH19PC9sYWJlbD5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveCB7XHJcblxyXG4gICBASG9zdEJpbmRpbmcoXCJ0YWJpbmRleFwiKVxyXG4gICB0YWJJbmRleCA9IDA7XHJcblxyXG4gICBASW5wdXQoKVxyXG4gICBjaGVja2VkOiBib29sZWFuO1xyXG5cclxuICAgQE91dHB1dCgpXHJcbiAgIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBASW5wdXQoKVxyXG4gICBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAgQElucHV0KClcclxuICAgQEhvc3RCaW5kaW5nKFwiYXR0ci5kaXNhYmxlZFwiKVxyXG4gICBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgIEBIb3N0TGlzdGVuZXIoXCJrZXlwcmVzc1wiLCBbXCIkZXZlbnRcIl0pXHJcbiAgIF9vbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgIGlmIChldmVudC5jaGFyQ29kZSA9PT0gMTMgfHwgZXZlbnQuY2hhckNvZGUgPT09IDMyICkge1xyXG4gICAgICAgICB0aGlzLl90b2dnbGVDbGlja2VkKCk7XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXHJcbiAgICAgX3RvZ2dsZUNsaWNrZWQoKSB7XHJcbiAgICAgICAgaWYoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xyXG4gICAgICAgfVxyXG4gICAgIH1cclxuIH1cclxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ01vZGVsLCBOZ0lmIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzLCBOZ0lmXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtaW5wdXRcIixcclxuICAgIHRlbXBsYXRlOiBgPGxhYmVsPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgIDx0ZXh0YXJlYSAqbmdJZj1cIm11bHRpbGluZVwiIFtuZ01vZGVsXT12YWx1ZSAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0KCRldmVudClcIiBbcm93c109X3Jvd3M+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiIW11bHRpbGluZVwiIFt0eXBlXT10eXBlIFtuZ01vZGVsXT12YWx1ZSAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0KCRldmVudClcIiAvPmBcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IHtcclxuXHJcbiAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIG11bHRpbGluZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSBcInRleHRcIjtcclxuICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgcHJpdmF0ZSBfcm93czogbnVtYmVyID0gMjtcclxuXHJcbiAgIG9uSW5wdXQoZXZlbnQ6IHN0cmluZykge1xyXG5cclxuICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50O1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG5cclxuICAgICAgbGV0IHJvd3MgPSB0aGlzLnZhbHVlLnNwbGl0KFwiXFxuXCIpLmxlbmd0aDtcclxuXHJcbiAgICAgIGlmIChyb3dzIDwgMikge1xyXG4gICAgICAgICByb3dzID0gMjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5fcm93cyA9IHJvd3M7XHJcbiAgIH1cclxuIH1cclxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNZW51UGFuZWwgfSBmcm9tIFwiLi9tZW51LXBhbmVsXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgZGlyZWN0aXZlczogWyBCdXR0b25Db21wb25lbnQsIE1lbnVQYW5lbCBdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC1tZW51LWJhclwiLFxyXG4gICAgdGVtcGxhdGU6IGA8ZmVlbC1idXR0b24gW3RleHRdPVwiJ00nXCIgKGNsaWNrKT10b2dnbGVNZW51UGFuZWwoKT48L2ZlZWwtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIDxoMT57e3RpdGxlfX08L2gxPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDxmZWVsLW1lbnUtcGFuZWwgW29wZW5dPVwiaXNNZW51T3BlblwiIChjbG9zZSk9XCJvbk1lbnVDbG9zZSgpXCI+PC9mZWVsLW1lbnUtcGFuZWw+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUJhciB7XHJcblxyXG4gICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gICBwdWJsaWMgaXNNZW51T3BlbjogYm9vbGVhbjtcclxuXHJcbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcclxuICAgICB0aGlzLmlzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgfVxyXG5cclxuICAgcHVibGljIHRvZ2dsZU1lbnVQYW5lbCgpIHtcclxuICAgICB0aGlzLmlzTWVudU9wZW4gPSAhdGhpcy5pc01lbnVPcGVuXHJcbiAgIH1cclxuXHJcbiAgIHB1YmxpYyBvbk1lbnVDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgIH1cclxuIH1cclxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vYnV0dG9uXCI7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdhbmd1bGFyMi9yb3V0ZXInO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzLCBCdXR0b25Db21wb25lbnQsIFJvdXRlckxpbmsgXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtbWVudS1wYW5lbFwiLFxyXG4gICAgZXZlbnRzOiBbJ2Nsb3NlJ10sXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgW25nQ2xhc3NdPVxcXCJ7ICdzaG93Jzogb3BlbiB9XFxcIiA+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgxPk1lbnU8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZWVsLWJ1dHRvbiBbdGV4dF09XCInWCdcIiAoY2xpY2spPWNsb3NlTWVudVBhbmVsKCk+PC9mZWVsLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9Ib21lJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+SG9tZTwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9CdXR0b25zJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+QnV0dG9uPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL0lucHV0J11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+SW5wdXQ8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvTm90aWZpY2F0aW9ucyddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPk5vdGlmaWNhdGlvbnM8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvVGFibGUnXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5UYWJsZTwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9TbGlkZXInXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5TbGlkZXI8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQ2hlY2tib3gnXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5DaGVja2JveDwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVQYW5lbCB7XHJcblxyXG4gICBASW5wdXQoKSBvcGVuOiBib29sZWFuO1xyXG4gICBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICB9XHJcblxyXG4gICBwdWJsaWMgY2xvc2VNZW51UGFuZWwoKSB7XHJcbiAgICAgdGhpcy5vcGVuID0gZmFsc2U7XHJcbiAgICAgdGhpcy5jbG9zZS5uZXh0KG51bGwpO1xyXG4gICB9XHJcbiB9XHJcbiIsImV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Qcm92aWRlciB7XHJcblxyXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbkVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibm90aWZpY2F0aW9uLXN0cmVhbVwiKTtcclxuXHJcbiAgICBpZiAodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5pZCA9IFwibm90aWZpY2F0aW9uLXN0cmVhbVwiO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93U3VjY2Vzcyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBuZXdOb3RpZmljYXRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgbmV3Tm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9IFwibm90aWZpY2F0aW9uIHN1Y2Nlc3NcIjtcclxuICAgIHRoaXMuX3Nob3dOb3RpZmljYXRpb24obmV3Tm90aWZpY2F0aW9uLCB0aXRsZSwgbWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgbGV0IG5ld05vdGlmaWNhdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBuZXdOb3RpZmljYXRpb24uY2xhc3NOYW1lID0gXCJub3RpZmljYXRpb24gZXJyb3JcIjtcclxuICAgIHRoaXMuX3Nob3dOb3RpZmljYXRpb24obmV3Tm90aWZpY2F0aW9uLCB0aXRsZSwgbWVzc2FnZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb25FbGVtZW50OiBIVE1MRWxlbWVudCwgdGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgbm90aWZpY2F0aW9uRWxlbWVudC5pbm5lckhUTUwgKz0gXCI8ZGl2IGNsYXNzPSd0aXRsZSc+XCIgKyB0aXRsZSArIFwiPC9kaXY+XCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgbm90aWZpY2F0aW9uRWxlbWVudC5pbm5lckhUTUwgKz0gXCI8ZGl2IGNsYXNzPSdtZXNzYWdlJz5cIiArIG1lc3NhZ2UgKyBcIjwvZGl2PlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQobm90aWZpY2F0aW9uRWxlbWVudCk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQucmVtb3ZlQ2hpbGQobm90aWZpY2F0aW9uRWxlbWVudCk7XHJcbiAgICB9LCA1MDAwKTtcclxuXHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnYW5ndWxhcjIvY29yZSc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ3NvcnQnLFxyXG4gIHB1cmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogQXJyYXk8YW55PiwgYXJnczogQXJyYXk8c3RyaW5nPik6IGFueSB7XHJcblxyXG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IGFyZ3NbMF07XHJcblxyXG4gICAgaWYgKHByb3BlcnR5TmFtZVswXSA9PT0gXCItXCIpIHtcclxuICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lLnN1YnN0cigxKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc29ydGVkVmFsdWUgPSB2YWx1ZS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhW3Byb3BlcnR5TmFtZV0gPCBiW3Byb3BlcnR5TmFtZV0pIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYVtwcm9wZXJ0eU5hbWVdID4gYltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChhcmdzWzBdWzBdID09PSBcIi1cIikge1xyXG4gICAgICBzb3J0ZWRWYWx1ZSA9IHNvcnRlZFZhbHVlLnJldmVyc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc29ydGVkVmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgZGlyZWN0aXZlczogWyAgXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtc2xpZGVyXCIsXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJzbGlkZXItdHJhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNsaWRlci1idXR0b25cIiBbc3R5bGUubGVmdF09XCJfZ2V0T2Zmc2V0KClcIiAobW91c2Vkb3duKT1cIl9zdGFydERyYWcoJGV2ZW50KVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlkZXIge1xyXG5cclxuICAgQElucHV0KClcclxuICAgdmFsdWU6IG51bWJlcjtcclxuXHJcbiAgIEBPdXRwdXQoKVxyXG4gICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgIHByaXZhdGUgX29mZnNldDogc3RyaW5nID0gXCIyMCVcIjtcclxuICAgcHJpdmF0ZSBfZ2V0T2Zmc2V0KCkge1xyXG4gICAgIHJldHVybiB0aGlzLl9vZmZzZXQ7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX2J1dHRvbkVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAgQElucHV0KClcclxuICAgbWF4aW11bTogbnVtYmVyO1xyXG5cclxuICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZU9mZnNldCgpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9jYWxjdWxhdGVPZmZzZXQoKSB7XHJcbiAgICAgIHRoaXMuX29mZnNldCA9ICgodGhpcy52YWx1ZSAvIHRoaXMubWF4aW11bSkgKiAxMDApLnRvU3RyaW5nKCkgKyBcIiVcIjtcclxuICAgfVxyXG5cclxuICAgcHJpdmF0ZSBfc3RhcnREcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgIHRoaXMuX2J1dHRvbkVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xyXG5cclxuICAgICAgZG9jdW1lbnQub25tb3VzZXVwID0gdGhpcy5fc3RvcERyYWcuYmluZCh0aGlzKTtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZW1vdmUgPSB0aGlzLl9oYW5kbGVEcmFnLmJpbmQodGhpcyk7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX2hhbmRsZURyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLl9idXR0b25FbGVtZW50O1xyXG4gICAgICBsZXQgb2Zmc2V0VG90YWwgPSB0aGlzLl9idXR0b25FbGVtZW50Lm9mZnNldExlZnQ7XHJcblxyXG4gICAgICB3aGlsZSAoZWxlbWVudCA9IDxIVE1MRWxlbWVudD5lbGVtZW50Lm9mZnNldFBhcmVudCkge1xyXG4gICAgICAgICBpZiAoIWlzTmFOKGVsZW1lbnQub2Zmc2V0TGVmdCkpIHtcclxuICAgICAgICAgICAgb2Zmc2V0VG90YWwgKz0gZWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCB2YWx1ZSA9IChldmVudC5wYWdlWCAvIHRoaXMuX2J1dHRvbkVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCkgKiB0aGlzLm1heGltdW07XHJcblxyXG4gICAgICBpZiAodmFsdWUgPCAwKSB7XHJcbiAgICAgICAgIHRoaXMudmFsdWUgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHZhbHVlID4gdGhpcy5tYXhpbXVtKSB7XHJcbiAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heGltdW07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5fY2FsY3VsYXRlT2Zmc2V0KCk7XHJcbiAgICAgIHRoaXMuX2J1dHRvbkVsZW1lbnQuc3R5bGUubGVmdCA9IHRoaXMuX29mZnNldDtcclxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLnZhbHVlKTtcclxuXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX3N0b3BEcmFnKCkge1xyXG4gICAgICBkb2N1bWVudC5vbm1vdXNldXAgPSBudWxsO1xyXG4gICAgICBkb2N1bWVudC5vbm1vdXNlbW92ZSA9IG51bGw7XHJcbiAgIH1cclxuIH1cclxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdNb2RlbCB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuaW1wb3J0IHsgU29ydFBpcGUgfSBmcm9tIFwiLi9waXBlcy9zb3J0LXBpcGVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgZGlyZWN0aXZlczogWyBOZ0NsYXNzIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLXRhYmxlXCIsXHJcbiAgICBwaXBlczogWyBTb3J0UGlwZSBdLFxyXG4gICAgLy9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHRlbXBsYXRlOiBgPHRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCIjY29sdW1uIG9mIGNvbHVtbnNcIiAoY2xpY2spPWFkZFNvcnQoY29sdW1uLnByb3BlcnR5TmFtZSk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGNvbHVtbi5wcm9wZXJ0eU5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cXFwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc2NlbmRpbmcnOiBzb3J0SXRlbXNbMF0gPT09IGNvbHVtbi5wcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NlbmRpbmcnOiBzb3J0SXRlbXNbMF0gPT09ICctJyArIGNvbHVtbi5wcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvcnQtaWNvbic6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXCIgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwiI2RhdGFJdGVtIG9mIGRhdGEgfCBzb3J0OiBzb3J0T3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cIiNjb2x1bW4gb2YgY29sdW1uc1wiPnt7IGRhdGFJdGVtW2NvbHVtbi5wcm9wZXJ0eU5hbWVdIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgPC90YWJsZT5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcblxyXG4gICBASW5wdXQoKSBkYXRhOiBBcnJheTxhbnk+O1xyXG4gICBASW5wdXQoKSBjb2x1bW5zOiBBcnJheTxhbnk+O1xyXG4gICBwdWJsaWMgc29ydE9yZGVyOiBzdHJpbmcgPSBcInNvbWV0aGluZ1wiO1xyXG4gICBwdWJsaWMgc29ydEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gWyBcInNvbWV0aGluZ1wiIF07XHJcblxyXG4gICBwdWJsaWMgYWRkU29ydCAocHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICBpZiAodGhpcy5zb3J0T3JkZXIgPT09IHByb3BlcnR5TmFtZSkge1xyXG4gICAgICAgdGhpcy5zb3J0T3JkZXIgPSBcIi1cIiArIHByb3BlcnR5TmFtZTtcclxuICAgICB9XHJcbiAgICAgZWxzZSB7XHJcbiAgICAgICB0aGlzLnNvcnRPcmRlciA9IHByb3BlcnR5TmFtZTtcclxuICAgICB9XHJcblxyXG4gICAgIHRoaXMuc29ydEl0ZW1zWzBdID0gdGhpcy5zb3J0T3JkZXI7XHJcbiAgIH1cclxuIH1cclxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJmZWVsLXVpLnRzIiwibm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbGliL19lbXB0eS5qcyIsInNyYy9idXR0b24udHMiLCJzcmMvY2hlY2tib3gudHMiLCJzcmMvaW5wdXQudHMiLCJzcmMvbWVudS1iYXIudHMiLCJzcmMvbWVudS1wYW5lbC50cyIsInNyYy9ub3RpZmljYXRpb24tcHJvdmlkZXIudHMiLCJzcmMvcGlwZXMvc29ydC1waXBlLnRzIiwic3JjL3NsaWRlci50cyIsInNyYy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLHVCQUFnQyxjQUFjLENBQUMsQ0FBQTtBQVU1Qyx1QkFBZTtBQVRsQix5QkFBd0IsZ0JBQWdCLENBQUMsQ0FBQTtBQVV0QyxlQUFPO0FBVFYsMkJBQTBCLGtCQUFrQixDQUFDLENBQUE7QUFVMUMsaUJBQVM7QUFUWixzQkFBK0IsYUFBYSxDQUFDLENBQUE7QUFVMUMsc0JBQWM7QUFUakIsc0NBQXFDLDZCQUE2QixDQUFDLENBQUE7QUFVaEUsNEJBQW9CO0FBVHZCLHNCQUErQixhQUFhLENBQUMsQ0FBQTtBQVUxQyxzQkFBYztBQVRqQix1QkFBdUIsY0FBYyxDQUFDLENBQUE7QUFVbkMsY0FBTTtBQVRULHlCQUF5QixnQkFBZ0IsQ0FBQyxDQUFBO0FBVXZDLGdCQUFRO0FBQ1Q7QUNsQkY7Ozs7Ozs7O0FDQUEscUJBQWdDLGVBQWUsQ0FBQyxDQUFBO0FBQ2hELHVCQUF3QixpQkFBaUIsQ0FBQyxDQUFBO0FBRTFDO0lBQUE7SUFVQyxDQUFDO0lBSEM7UUFBQyxZQUFLLEVBQUU7T0FBQyxvQ0FBTyxVQUFVO0lBQzFCO1FBQUMsWUFBSyxFQUFFO09BQUMsaUNBQUksVUFBVTtJQUN2QjtRQUFDLFlBQUssRUFBRTtPQUFDLGlDQUFJLFVBQVM7SUFUekI7UUFBQyxnQkFBUyxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUMsZ0JBQU8sQ0FB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Ozs7O0FDN0VGLHFCQUFnRixlQUFlLENBQUMsQ0FBQTtBQUNoRyx1QkFBdUMsaUJBQWlCLENBQUMsQ0FBQTtBQUN6RCwwQkFBeUIsbUJBQW1CLENBQUMsQ0FBQTtBQUU3QztJQUFBO1FBMkJVLGNBQVMsR0FBVyxXQUFXLENBQUM7UUFDaEMsY0FBUyxHQUFrQixDQUFFLFdBQVcsQ0FBRSxDQUFDO0lBWXBELENBQUM7SUFWUSxnQ0FBTyxHQUFkLFVBQWdCLFlBQW9CO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBZEQ7UUFBQyxZQUFLLEVBQUU7T0FBQyxnQ0FBSSxVQUFhO0lBQzFCO1FBQUMsWUFBSyxFQUFFO09BQUMsbUNBQU8sVUFBYTtJQTFCaEM7UUFBQyxnQkFBUyxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUUsZ0JBQU8sQ0FBRTtZQUN2QixRQUFRLEVBQUUsWUFBWTtZQUN0QixLQUFLLEVBQUUsQ0FBRSxvQkFBUSxDQUFFO1lBQ25CLGtEQUFrRDtZQUNsRCxRQUFRLEVBQUUsKzNCQWdCVTtTQUN2QixDQUFDO3VCQWtCQTtJQUFELHFCQUFDO0FBQUQsQ0F4Q0QsQUF3Q0UsSUFBQTtBQWpCVyxzQkFBYyxpQkFpQnpCLENBQUEiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vc3JjL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNZW51QmFyIH0gZnJvbSBcIi4vc3JjL21lbnUtYmFyXCI7XHJcbmltcG9ydCB7IE1lbnVQYW5lbCB9IGZyb20gXCIuL3NyYy9tZW51LXBhbmVsXCI7XHJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vc3JjL2lucHV0XCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyIH0gZnJvbSBcIi4vc3JjL25vdGlmaWNhdGlvbi1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3NyYy90YWJsZVwiO1xyXG5pbXBvcnQgeyBTbGlkZXIgfSBmcm9tIFwiLi9zcmMvc2xpZGVyXCI7XHJcbmltcG9ydCB7IENoZWNrYm94IH0gZnJvbSBcIi4vc3JjL2NoZWNrYm94XCI7XHJcblxyXG5leHBvcnQge1xyXG4gICBCdXR0b25Db21wb25lbnQsXHJcbiAgIE1lbnVCYXIsXHJcbiAgIE1lbnVQYW5lbCxcclxuICAgSW5wdXRDb21wb25lbnQsXHJcbiAgIE5vdGlmaWNhdGlvblByb3ZpZGVyLFxyXG4gICBUYWJsZUNvbXBvbmVudCxcclxuICAgU2xpZGVyLFxyXG4gICBDaGVja2JveFxyXG59O1xyXG4iLCIiLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0fSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzc10sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLWJ1dHRvblwiLFxyXG4gICAgdGVtcGxhdGU6IFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIFtuZ0NsYXNzXT1cXFwieyAnYnRuLWZsYXQnOiBmbGF0LCAnYnRuLXByaW1hcnknOiBwcmltYXJ5IH1cXFwiID57e3RleHR9fTwvYnV0dG9uPlwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgcHJpbWFyeTogYm9vbGVhbjtcclxuICAgQElucHV0KCkgZmxhdDogYm9vbGVhbjtcclxuICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG4gfVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFtOZ0NsYXNzXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtY2hlY2tib3hcIixcclxuICAgIHRlbXBsYXRlOiBgPHN2ZyBbbmdDbGFzc109XCJ7ICdjaGVja2VkJzogY2hlY2tlZCB9XCIgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMVwiIHk9XCIxXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0gNCA2IGwgNiA2IGwgMTIgLTEyXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgPGxhYmVsPnt7bGFiZWx9fTwvbGFiZWw+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3gge1xyXG5cclxuICAgQEhvc3RCaW5kaW5nKFwidGFiaW5kZXhcIilcclxuICAgdGFiSW5kZXggPSAwO1xyXG5cclxuICAgQElucHV0KClcclxuICAgY2hlY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgIEBPdXRwdXQoKVxyXG4gICBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgQElucHV0KClcclxuICAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIEBIb3N0QmluZGluZyhcImF0dHIuZGlzYWJsZWRcIilcclxuICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICBASG9zdExpc3RlbmVyKFwia2V5cHJlc3NcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICBfb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuY2hhckNvZGUgPT09IDEzIHx8IGV2ZW50LmNoYXJDb2RlID09PSAzMiApIHtcclxuICAgICAgICAgdGhpcy5fdG9nZ2xlQ2xpY2tlZCgpO1xyXG4gICAgICB9XHJcbiAgIH1cclxuXHJcbiAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxyXG4gICAgIF90b2dnbGVDbGlja2VkKCkge1xyXG4gICAgICAgIGlmKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xyXG4gICAgICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcclxuICAgICAgIH1cclxuICAgICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcImFuZ3VsYXIyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdNb2RlbCwgTmdJZiB9IGZyb20gXCJhbmd1bGFyMi9jb21tb25cIjtcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgTmdJZl0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLWlucHV0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYDxsYWJlbD57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICA8dGV4dGFyZWEgKm5nSWY9XCJtdWx0aWxpbmVcIiBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgW3Jvd3NdPV9yb3dzPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFtdWx0aWxpbmVcIiBbdHlwZV09dHlwZSBbbmdNb2RlbF09dmFsdWUgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCIgLz5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCB7XHJcblxyXG4gICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gICBASW5wdXQoKSBtdWx0aWxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgIHByaXZhdGUgX3Jvd3M6IG51bWJlciA9IDI7XHJcblxyXG4gICBvbklucHV0KGV2ZW50OiBzdHJpbmcpIHtcclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBldmVudDtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuXHJcbiAgICAgIGxldCByb3dzID0gdGhpcy52YWx1ZS5zcGxpdChcIlxcblwiKS5sZW5ndGg7XHJcblxyXG4gICAgICBpZiAocm93cyA8IDIpIHtcclxuICAgICAgICAgcm93cyA9IDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3Jvd3MgPSByb3dzO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9idXR0b25cIjtcclxuaW1wb3J0IHsgTWVudVBhbmVsIH0gZnJvbSBcIi4vbWVudS1wYW5lbFwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgQnV0dG9uQ29tcG9uZW50LCBNZW51UGFuZWwgXSxcclxuICAgIHNlbGVjdG9yOiBcImZlZWwtbWVudS1iYXJcIixcclxuICAgIHRlbXBsYXRlOiBgPGZlZWwtYnV0dG9uIFt0ZXh0XT1cIidNJ1wiIChjbGljayk9dG9nZ2xlTWVudVBhbmVsKCk+PC9mZWVsLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDE+e3t0aXRsZX19PC9oMT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8ZmVlbC1tZW51LXBhbmVsIFtvcGVuXT1cImlzTWVudU9wZW5cIiAoY2xvc2UpPVwib25NZW51Q2xvc2UoKVwiPjwvZmVlbC1tZW51LXBhbmVsPmBcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVCYXIge1xyXG5cclxuICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICAgcHVibGljIGlzTWVudU9wZW46IGJvb2xlYW47XHJcblxyXG4gICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgIH1cclxuXHJcbiAgIHB1YmxpYyB0b2dnbGVNZW51UGFuZWwoKSB7XHJcbiAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlblxyXG4gICB9XHJcblxyXG4gICBwdWJsaWMgb25NZW51Q2xvc2UoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuaXNNZW51T3BlbiA9IGZhbHNlO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnYW5ndWxhcjIvcm91dGVyJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBkaXJlY3RpdmVzOiBbTmdDbGFzcywgQnV0dG9uQ29tcG9uZW50LCBSb3V0ZXJMaW5rIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLW1lbnUtcGFuZWxcIixcclxuICAgIGV2ZW50czogWydjbG9zZSddLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IFtuZ0NsYXNzXT1cXFwieyAnc2hvdyc6IG9wZW4gfVxcXCIgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMT5NZW51PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICA8ZmVlbC1idXR0b24gW3RleHRdPVwiJ1gnXCIgKGNsaWNrKT1jbG9zZU1lbnVQYW5lbCgpPjwvZmVlbC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvSG9tZSddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkhvbWU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQnV0dG9ucyddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPkJ1dHRvbjwvZGl2PjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9JbnB1dCddXCI+PGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPklucHV0PC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL05vdGlmaWNhdGlvbnMnXVwiPjxkaXYgY2xhc3M9XCJtZW51LWl0ZW1cIj5Ob3RpZmljYXRpb25zPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL1RhYmxlJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+VGFibGU8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvU2xpZGVyJ11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+U2xpZGVyPC9kaXY+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL0NoZWNrYm94J11cIj48ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+Q2hlY2tib3g8L2Rpdj48L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51UGFuZWwge1xyXG5cclxuICAgQElucHV0KCkgb3BlbjogYm9vbGVhbjtcclxuICAgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBjb25zdHJ1Y3RvcigpIHtcclxuICAgfVxyXG5cclxuICAgcHVibGljIGNsb3NlTWVudVBhbmVsKCkge1xyXG4gICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgIHRoaXMuY2xvc2UubmV4dChudWxsKTtcclxuICAgfVxyXG4gfVxyXG4iLCJleHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uUHJvdmlkZXIge1xyXG5cclxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIik7XHJcblxyXG4gICAgaWYgKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuaWQgPSBcIm5vdGlmaWNhdGlvbi1zdHJlYW1cIjtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1N1Y2Nlc3ModGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgbmV3Tm90aWZpY2F0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIG5ld05vdGlmaWNhdGlvbi5jbGFzc05hbWUgPSBcIm5vdGlmaWNhdGlvbiBzdWNjZXNzXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFcnJvcih0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBuZXdOb3RpZmljYXRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgbmV3Tm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9IFwibm90aWZpY2F0aW9uIGVycm9yXCI7XHJcbiAgICB0aGlzLl9zaG93Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbiwgdGl0bGUsIG1lc3NhZ2UpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQsIHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0ndGl0bGUnPlwiICsgdGl0bGUgKyBcIjwvZGl2PlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQuaW5uZXJIVE1MICs9IFwiPGRpdiBjbGFzcz0nbWVzc2FnZSc+XCIgKyBtZXNzYWdlICsgXCI8L2Rpdj5cIjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LmFwcGVuZENoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LnJlbW92ZUNoaWxkKG5vdGlmaWNhdGlvbkVsZW1lbnQpO1xyXG4gICAgfSwgNTAwMCk7XHJcblxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ2FuZ3VsYXIyL2NvcmUnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdzb3J0JyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IEFycmF5PGFueT4sIGFyZ3M6IEFycmF5PHN0cmluZz4pOiBhbnkge1xyXG5cclxuICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBhcmdzWzBdO1xyXG5cclxuICAgIGlmIChwcm9wZXJ0eU5hbWVbMF0gPT09IFwiLVwiKSB7XHJcbiAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5zdWJzdHIoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvcnRlZFZhbHVlID0gdmFsdWUuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYVtwcm9wZXJ0eU5hbWVdIDwgYltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFbcHJvcGVydHlOYW1lXSA+IGJbcHJvcGVydHlOYW1lXSkge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoYXJnc1swXVswXSA9PT0gXCItXCIpIHtcclxuICAgICAgc29ydGVkVmFsdWUgPSBzb3J0ZWRWYWx1ZS5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHNvcnRlZFZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiYW5ndWxhcjIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcImFuZ3VsYXIyL2NvbW1vblwiO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgIF0sXHJcbiAgICBzZWxlY3RvcjogXCJmZWVsLXNsaWRlclwiLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwic2xpZGVyLXRyYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItYnV0dG9uXCIgW3N0eWxlLmxlZnRdPVwiX2dldE9mZnNldCgpXCIgKG1vdXNlZG93bik9XCJfc3RhcnREcmFnKCRldmVudClcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyIHtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIHZhbHVlOiBudW1iZXI7XHJcblxyXG4gICBAT3V0cHV0KClcclxuICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICBwcml2YXRlIF9vZmZzZXQ6IHN0cmluZyA9IFwiMjAlXCI7XHJcbiAgIHByaXZhdGUgX2dldE9mZnNldCgpIHtcclxuICAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9idXR0b25FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgIEBJbnB1dCgpXHJcbiAgIG1heGltdW06IG51bWJlcjtcclxuXHJcbiAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVPZmZzZXQoKTtcclxuICAgfVxyXG5cclxuICAgcHJpdmF0ZSBfY2FsY3VsYXRlT2Zmc2V0KCkge1xyXG4gICAgICB0aGlzLl9vZmZzZXQgPSAoKHRoaXMudmFsdWUgLyB0aGlzLm1heGltdW0pICogMTAwKS50b1N0cmluZygpICsgXCIlXCI7XHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX3N0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcclxuXHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2V1cCA9IHRoaXMuX3N0b3BEcmFnLmJpbmQodGhpcyk7XHJcbiAgICAgIGRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gdGhpcy5faGFuZGxlRHJhZy5iaW5kKHRoaXMpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9oYW5kbGVEcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fYnV0dG9uRWxlbWVudDtcclxuICAgICAgbGV0IG9mZnNldFRvdGFsID0gdGhpcy5fYnV0dG9uRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG5cclxuICAgICAgd2hpbGUgKGVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgICAgaWYgKCFpc05hTihlbGVtZW50Lm9mZnNldExlZnQpKSB7XHJcbiAgICAgICAgICAgIG9mZnNldFRvdGFsICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdmFsdWUgPSAoZXZlbnQucGFnZVggLyB0aGlzLl9idXR0b25FbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGgpICogdGhpcy5tYXhpbXVtO1xyXG5cclxuICAgICAgaWYgKHZhbHVlIDwgMCkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA+IHRoaXMubWF4aW11bSkge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhpbXVtO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZU9mZnNldCgpO1xyXG4gICAgICB0aGlzLl9idXR0b25FbGVtZW50LnN0eWxlLmxlZnQgPSB0aGlzLl9vZmZzZXQ7XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9zdG9wRHJhZygpIHtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZXVwID0gbnVsbDtcclxuICAgICAgZG9jdW1lbnQub25tb3VzZW1vdmUgPSBudWxsO1xyXG4gICB9XHJcbiB9XHJcbiIsImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJhbmd1bGFyMi9jb3JlXCI7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nTW9kZWwgfSBmcm9tIFwiYW5ndWxhcjIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSBcIi4vcGlwZXMvc29ydC1waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGRpcmVjdGl2ZXM6IFsgTmdDbGFzcyBdLFxyXG4gICAgc2VsZWN0b3I6IFwiZmVlbC10YWJsZVwiLFxyXG4gICAgcGlwZXM6IFsgU29ydFBpcGUgXSxcclxuICAgIC8vY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICB0ZW1wbGF0ZTogYDx0YWJsZT5cclxuICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwiI2NvbHVtbiBvZiBjb2x1bW5zXCIgKGNsaWNrKT1hZGRTb3J0KGNvbHVtbi5wcm9wZXJ0eU5hbWUpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2x1bW4ucHJvcGVydHlOYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XFxcIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXNjZW5kaW5nJzogc29ydEl0ZW1zWzBdID09PSAnLScgKyBjb2x1bW4ucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3J0LWljb24nOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFwiID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cIiNkYXRhSXRlbSBvZiBkYXRhIHwgc29ydDogc29ydE9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCIjY29sdW1uIG9mIGNvbHVtbnNcIj57eyBkYXRhSXRlbVtjb2x1bW4ucHJvcGVydHlOYW1lXSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgIDwvdGFibGU+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG5cclxuICAgQElucHV0KCkgZGF0YTogQXJyYXk8YW55PjtcclxuICAgQElucHV0KCkgY29sdW1uczogQXJyYXk8YW55PjtcclxuICAgcHVibGljIHNvcnRPcmRlcjogc3RyaW5nID0gXCJzb21ldGhpbmdcIjtcclxuICAgcHVibGljIHNvcnRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFsgXCJzb21ldGhpbmdcIiBdO1xyXG5cclxuICAgcHVibGljIGFkZFNvcnQgKHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICAgaWYgKHRoaXMuc29ydE9yZGVyID09PSBwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgIHRoaXMuc29ydE9yZGVyID0gXCItXCIgKyBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG4gICAgIGVsc2Uge1xyXG4gICAgICAgdGhpcy5zb3J0T3JkZXIgPSBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgfVxyXG5cclxuICAgICB0aGlzLnNvcnRJdGVtc1swXSA9IHRoaXMuc29ydE9yZGVyO1xyXG4gICB9XHJcbiB9XHJcbiJdfQ==
{
"name": "feel-ui",
"version": "0.2.6",
"version": "0.2.7",
"description": "",

@@ -5,0 +5,0 @@ "main": "dist/feel-ui.js",

export declare class ButtonComponent {
primary: boolean;
flat: boolean;
text: string;
}

@@ -7,2 +7,5 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
(function (factory) {

@@ -16,2 +19,3 @@ if (typeof module === 'object' && typeof module.exports === 'object') {

})(function (require, exports) {
"use strict";
var core_1 = require("angular2/core");

@@ -23,6 +27,12 @@ var common_1 = require("angular2/common");

__decorate([
core_1.Input()
core_1.Input(),
__metadata('design:type', Boolean)
], ButtonComponent.prototype, "primary", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
], ButtonComponent.prototype, "flat", void 0);
__decorate([
core_1.Input()
core_1.Input(),
__metadata('design:type', String)
], ButtonComponent.prototype, "text", void 0);

@@ -33,9 +43,10 @@ ButtonComponent = __decorate([

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat }\" >{{text}}</button>"
})
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
}),
__metadata('design:paramtypes', [])
], ButtonComponent);
return ButtonComponent;
})();
}());
exports.ButtonComponent = ButtonComponent;
});
//# sourceMappingURL=button.js.map

@@ -7,8 +7,9 @@ import { Component, Input} from "angular2/core";

selector: "feel-button",
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat }\" >{{text}}</button>"
template: "<button type='button' [ngClass]=\"{ 'btn-flat': flat, 'btn-primary': primary }\" >{{text}}</button>"
})
export class ButtonComponent {
@Input() primary: boolean;
@Input() flat: boolean;
@Input() text: string;
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc