UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

333 lines (332 loc) 23.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * <p style="text-indent: 2em;"> * A model class representing a single <code>Phlox Application</code>. An <code>application</code> may also consist of its <code>settings</code> and * common <code>I18N</code>. An instance of this class is usually obtained from [[PhloxAppInfoService.getAppInfo]] which may load the info from backend * server to return the user configurations such as language settings, user preferences, etc. * </p> * * @author shiorin, tee4cute * @see [[PhloxAppInfoService]] */ var PhloxAppInfo = /** @class */ (function () { function PhloxAppInfo(name, tagline, group, iconURL) { if (name === void 0) { name = 'App Name'; } if (tagline === void 0) { tagline = 'App Tagline'; } this.name = name; this.tagline = tagline; this.iconURL = iconURL; this.group = group; // Init default settings this.settings = { RIPPLE_EFFECT_DURATION: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION, RIPPLE_EFFECT_WIDTH_RATIO: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO, RIPPLE_EFFECT_HEIGHT_RATIO: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO, RIPPLE_EFFECT_REMOVE_DURATION: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION, APP_SWITCHER_POPOVER_DELAY: PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY, WIZARD_HEADER_HEIGHT: PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT, WIZARD_FOOTER_HEIGHT: PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT, OBJECT_ID_FIELD_NAME: PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME, CONNECTION_TIMEOUT: PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT, UI_SYSTEM_CLOCK_INTERVAL: PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL, UI_ANIMATE_INTERVAL: PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL, MAX_NOTIFICATIONS: PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS, LANGUAGE_FIELD_NAME: PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME, PAGE_LOAD_TIMEOUT: PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT, SYSTEM_YEAR_OFFSET: PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET, DATE_PATTERN: PhloxAppInfo.DEFAULT_DATE_PATTERN, YEAR_OFFSET: PhloxAppInfo.DEFAULT_YEAR_OFFSET, TIMEZONE: PhloxAppInfo.DEFAULT_TIMEZONE, TIME_PATTERN: PhloxAppInfo.DEFAULT_TIME_PATTERN, DEFAULT_DATA_LANGUAGES: PhloxAppInfo.DEFAULT_DATA_LANGUAGES, COUNTRY_CODE: PhloxAppInfo.DEFAULT_COUNTRY_CODE, DEFAULT_TIME_OUT_LOGIN_USER_SESSION: PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION }; // init default i18n this.i18n = { YES: 'Yes', NO: 'No', OK: 'OK', CANCEL: 'Cancel', CLOSE: 'Close', CONFIRM: 'Confirm', LANG: { EN: { iconURL: null, code: 'en', name: 'English' }, TH: { iconURL: null, code: 'th', name: 'Thailand' }, JP: { iconURL: null, code: 'ja', name: 'Japanese' }, KR: { iconURL: null, code: 'kr', name: 'Korean' } }, INVALID_DATA: 'Invalid Data' }; // default resources this.resources = { CROSS_ROUND_BTN: 'http://i249.photobucket.com/albums/gg202/sound_horizon/cross_circle.png' }; } /** * @return {?} */ PhloxAppInfo.prototype.getName = /** * @return {?} */ function () { return this.name; }; /** * @param {?} name * @return {?} */ PhloxAppInfo.prototype.setName = /** * @param {?} name * @return {?} */ function (name) { this.name = name; }; /** * @return {?} */ PhloxAppInfo.prototype.getTagline = /** * @return {?} */ function () { return this.tagline; }; /** * @param {?} tagline * @return {?} */ PhloxAppInfo.prototype.setTagline = /** * @param {?} tagline * @return {?} */ function (tagline) { this.tagline = tagline; }; /** * @return {?} */ PhloxAppInfo.prototype.getSettings = /** * @return {?} */ function () { return this.settings; }; /** * @param {?} settings * @return {?} */ PhloxAppInfo.prototype.setSettings = /** * @param {?} settings * @return {?} */ function (settings) { this.settings = settings; }; /** * @return {?} */ PhloxAppInfo.prototype.getIconURL = /** * @return {?} */ function () { return this.iconURL; }; /** * @param {?} iconURL * @return {?} */ PhloxAppInfo.prototype.setIconURL = /** * @param {?} iconURL * @return {?} */ function (iconURL) { this.iconURL = iconURL; }; /** * @return {?} */ PhloxAppInfo.prototype.getGroup = /** * @return {?} */ function () { return this.group; }; /** * @param {?} group * @return {?} */ PhloxAppInfo.prototype.setGroup = /** * @param {?} group * @return {?} */ function (group) { this.group = group; }; /** * @return {?} */ PhloxAppInfo.prototype.getI18n = /** * @return {?} */ function () { return this.i18n; }; /** * @param {?} i18n * @return {?} */ PhloxAppInfo.prototype.setI18n = /** * @param {?} i18n * @return {?} */ function (i18n) { this.i18n = i18n; }; /** * @return {?} */ PhloxAppInfo.prototype.getResources = /** * @return {?} */ function () { return this.resources; }; /** * @param {?} resources * @return {?} */ PhloxAppInfo.prototype.setResources = /** * @param {?} resources * @return {?} */ function (resources) { this.resources = resources; }; PhloxAppInfo.DEFAULT_DATA_LANGUAGES = [ { iconURL: null, code: 'th', country: 'TH', label: 'Thailand', countryCode: '+66' }, { iconURL: null, code: 'en', country: 'EN', label: 'English', countryCode: '+44' }, { iconURL: null, code: 'ja', country: 'JP', label: 'Japanese', countryCode: '+81' }, { iconURL: null, code: 'kr', country: 'KR', label: 'Korean', countryCode: '+82' } ]; PhloxAppInfo.DEFAULT_COUNTRY_CODE = 'TH'; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION = 1.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO = 0.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO = 0.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION = 0.8; PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY = 800; PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT = 140; PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT = 140; PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME = '_uuid'; PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME = '_lang'; PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT = 7000; PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL = 20; PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL = 600; PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS = 50; PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT = 8000; PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET = 543; PhloxAppInfo.DEFAULT_DATE_PATTERN = 'dd/MM/yyyy'; PhloxAppInfo.DEFAULT_TIME_PATTERN = 'HH:mm:ss'; PhloxAppInfo.DEFAULT_YEAR_OFFSET = 543; PhloxAppInfo.DEFAULT_TIMEZONE = 700; PhloxAppInfo.DEFAULT_DATA_DATE_TIME_PATTERN = 'yyyy-MM-dd HH:mm:ss'; PhloxAppInfo.DEFAULT_DATA_DATE_PATTERN = 'yyyy-MM-dd'; PhloxAppInfo.DEFAULT_DATA_TIME_PATTERN = 'HH:mm:ss'; PhloxAppInfo.DEFAULT_DATA_TIME_ZONE = 700; PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION = 10000; return PhloxAppInfo; }()); export { PhloxAppInfo }; function PhloxAppInfo_tsickle_Closure_declarations() { /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_LANGUAGES; /** @type {?} */ PhloxAppInfo.DEFAULT_COUNTRY_CODE; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION; /** @type {?} */ PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY; /** @type {?} */ PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT; /** @type {?} */ PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT; /** @type {?} */ PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME; /** @type {?} */ PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME; /** @type {?} */ PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT; /** @type {?} */ PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL; /** @type {?} */ PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL; /** @type {?} */ PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS; /** @type {?} */ PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT; /** @type {?} */ PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET; /** @type {?} */ PhloxAppInfo.DEFAULT_DATE_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_YEAR_OFFSET; /** @type {?} */ PhloxAppInfo.DEFAULT_TIMEZONE; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_DATE_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_DATE_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_TIME_ZONE; /** @type {?} */ PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION; /** * An application name. * @type {?} */ PhloxAppInfo.prototype.name; /** * An application tagline. * @type {?} */ PhloxAppInfo.prototype.tagline; /** * An application icon url. * @type {?} */ PhloxAppInfo.prototype.iconURL; /** * An application group. * @type {?} */ PhloxAppInfo.prototype.group; /** * An application settings object. * @type {?} */ PhloxAppInfo.prototype.settings; /** * An application I18N object. * @type {?} */ PhloxAppInfo.prototype.i18n; /** * An application resources object. * @type {?} */ PhloxAppInfo.prototype.resources; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhsb3hBcHBJbmZvLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L21vZGVsL1BobG94QXBwSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUF5RUUsc0JBQVksSUFBeUIsRUFBRSxPQUErQixFQUFFLEtBQWEsRUFBRSxPQUFlO1FBQTFGLHFCQUFBLEVBQUEsaUJBQXlCO1FBQUUsd0JBQUEsRUFBQSx1QkFBK0I7UUFDcEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7O1FBR25CLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxzQkFBc0IsRUFBRSxZQUFZLENBQUMsOEJBQThCO1lBQ25FLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxpQ0FBaUM7WUFDekUsMEJBQTBCLEVBQUUsWUFBWSxDQUFDLGtDQUFrQztZQUMzRSw2QkFBNkIsRUFBRSxZQUFZLENBQUMscUNBQXFDO1lBQ2pGLDBCQUEwQixFQUFFLFlBQVksQ0FBQyxrQ0FBa0M7WUFDM0Usb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDRCQUE0QjtZQUMvRCxvQkFBb0IsRUFBRSxZQUFZLENBQUMsNEJBQTRCO1lBQy9ELG9CQUFvQixFQUFFLFlBQVksQ0FBQyw0QkFBNEI7WUFDL0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLDBCQUEwQjtZQUMzRCx3QkFBd0IsRUFBRSxZQUFZLENBQUMsZ0NBQWdDO1lBQ3ZFLG1CQUFtQixFQUFFLFlBQVksQ0FBQywyQkFBMkI7WUFDN0QsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLHlCQUF5QjtZQUN6RCxtQkFBbUIsRUFBRSxZQUFZLENBQUMsMkJBQTJCO1lBQzdELGlCQUFpQixFQUFFLFlB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QUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7UUFDbkYsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7UUFDbEYsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7UUFDbkYsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7S0FDbEY7d0NBQ3FELElBQUk7a0RBQ00sR0FBRztxREFDQSxHQUFHO3NEQUNGLEdBQUc7eURBQ0EsR0FBRztzREFDTixHQUFHO2dEQUNULEdBQUc7Z0RBQ0gsR0FBRztnREFDSCxPQUFPOytDQUNSLE9BQU87OENBQ1IsSUFBSTtvREFDRSxFQUFFOytDQUNQLEdBQUc7NkNBQ0wsRUFBRTs2Q0FDRixJQUFJOzhDQUNILEdBQUc7d0NBQ1QsWUFBWTt3Q0FDWixVQUFVO3VDQUNYLEdBQUc7b0NBQ04sR0FBRztrREFDVyxxQkFBcUI7NkNBQzFCLFlBQVk7NkNBQ1osVUFBVTswQ0FDYixHQUFHO3VEQUNVLEtBQUs7dUJBMUM1RTs7U0FVYSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAyZW07XCI+XG4gKiBBIG1vZGVsIGNsYXNzIHJlcHJlc2VudGluZyBhIHNpbmdsZSA8Y29kZT5QaGxveCBBcHBsaWNhdGlvbjwvY29kZT4uIEFuIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPiBtYXkgYWxzbyBjb25zaXN0IG9mIGl0cyA8Y29kZT5zZXR0aW5nczwvY29kZT4gYW5kXG4gKiBjb21tb24gPGNvZGU+STE4TjwvY29kZT4uIEFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgaXMgdXN1YWxseSBvYnRhaW5lZCBmcm9tIFtbUGhsb3hBcHBJbmZvU2VydmljZS5nZXRBcHBJbmZvXV0gd2hpY2ggbWF5IGxvYWQgdGhlIGluZm8gZnJvbSBiYWNrZW5kXG4gKiBzZXJ2ZXIgdG8gcmV0dXJuIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXMgbGFuZ3VhZ2Ugc2V0dGluZ3MsIHVzZXIgcHJlZmVyZW5jZXMsIGV0Yy5cbiAqIDwvcD5cbiAqXG4gKiBAYXV0aG9yIHNoaW9yaW4sIHRlZTRjdXRlXG4gKiBAc2VlIFtbUGhsb3hBcHBJbmZvU2VydmljZV1dXG4gKi9cbmV4cG9ydCBjbGFzcyBQaGxveEFwcEluZm8ge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRBX0xBTkdVQUdFUzogYW55W10gPSBbXG4gICAgeyBpY29uVVJMOiBudWxsLCBjb2RlOiAndGgnLCBjb3VudHJ5OiAnVEgnLCBsYWJlbDogJ1RoYWlsYW5kJywgY291bnRyeUNvZGU6ICcrNjYnIH0sXG4gICAgeyBpY29uVVJMOiBudWxsLCBjb2RlOiAnZW4nLCBjb3VudHJ5OiAnRU4nLCBsYWJlbDogJ0VuZ2xpc2gnLCBjb3VudHJ5Q29kZTogJys0NCcgfSxcbiAgICB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdqYScsIGNvdW50cnk6ICdKUCcsIGxhYmVsOiAnSmFwYW5lc2UnLCBjb3VudHJ5Q29kZTogJys4MScgfSxcbiAgICB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdrcicsIGNvdW50cnk6ICdLUicsIGxhYmVsOiAnS29yZWFuJywgY291bnRyeUNvZGU6ICcrODInIH1cbiAgXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0NPVU5UUllfQ09ERTogc3RyaW5nID0gJ1RIJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfRFVSQVRJT046IG51bWJlciA9IDEuNTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfV0lEVEhfUkFUSU86IG51bWJlciA9IDAuNTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfSEVJR0hUX1JBVElPOiBudW1iZXIgPSAwLjU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9SSVBQTEVfRUZGRUNUX1JFTU9WRV9EVVJBVElPTjogbnVtYmVyID0gMC44O1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQVBQX1NXSVRDSEVSX1BPUE9WRVJfREVMQVk6IG51bWJlciA9IDgwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1dJWkFSRF9IRUFERVJfSEVJR0hUOiBudW1iZXIgPSAxNDA7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9XSVpBUkRfRk9PVEVSX0hFSUdIVDogbnVtYmVyID0gMTQwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfT0JKRUNUX0lEX0ZJRUxEX05BTUU6IHN0cmluZyA9ICdfdXVpZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9MQU5HVUFHRV9GSUVMRF9OQU1FOiBzdHJpbmcgPSAnX2xhbmcnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQ09OTkVDVElPTl9USU1FT1VUOiBudW1iZXIgPSA3MDAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVUlfU1lTVEVNX0NMT0NLX0lOVEVSVkFMOiBudW1iZXIgPSAyMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1VJX0FOSU1BVEVfSU5URVJWQUw6IG51bWJlciA9IDYwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX01BWF9OT1RJRklDQVRJT05TOiBudW1iZXIgPSA1MDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBR0VfTE9BRF9USU1FT1VUOiBudW1iZXIgPSA4MDAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfU1lTVEVNX1lFQVJfT0ZGU0VUOiBudW1iZXIgPSA1NDM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRFX1BBVFRFUk46IHN0cmluZyA9ICdkZC9NTS95eXl5JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJTUVfUEFUVEVSTjogc3RyaW5nID0gJ0hIOm1tOnNzJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1lFQVJfT0ZGU0VUOiBudW1iZXIgPSA1NDM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9USU1FWk9ORTogbnVtYmVyID0gNzAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9EQVRFX1RJTUVfUEFUVEVSTjogc3RyaW5nID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9EQVRFX1BBVFRFUk46IHN0cmluZyA9ICd5eXl5LU1NLWRkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0RBVEFfVElNRV9QQVRURVJOOiBzdHJpbmcgPSAnSEg6bW06c3MnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9USU1FX1pPTkU6IG51bWJlciA9IDcwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJTUVfT1VUX0xPR0lOX1VTRVJfU0VTU0lPTjogbnVtYmVyID0gMTAwMDA7XG5cbiAgLyoqXG4gICAqIEFuIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQW4gYXBwbGljYXRpb24gdGFnbGluZS5cbiAgICovXG4gIHB1YmxpYyB0YWdsaW5lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBpY29uIHVybC5cbiAgICovXG4gIHB1YmxpYyBpY29uVVJMOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBncm91cC5cbiAgICovXG4gIHB1YmxpYyBncm91cDogc3RyaW5nO1xuICAvKipcbiAgICogQW4gYXBwbGljYXRpb24gc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNldHRpbmdzOiBhbnk7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBJMThOIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBpMThuOiBhbnk7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiByZXNvdXJjZXMgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHJlc291cmNlczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZyA9ICdBcHAgTmFtZScsIHRhZ2xpbmU6IHN0cmluZyA9ICdBcHAgVGFnbGluZScsIGdyb3VwOiBzdHJpbmcsIGljb25VUkw6IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy50YWdsaW5lID0gdGFnbGluZTtcbiAgICB0aGlzLmljb25VUkwgPSBpY29uVVJMO1xuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcblxuICAgIC8vIEluaXQgZGVmYXVsdCBzZXR0aW5nc1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7XG4gICAgICBSSVBQTEVfRUZGRUNUX0RVUkFUSU9OOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX0RVUkFUSU9OLFxuICAgICAgUklQUExFX0VGRkVDVF9XSURUSF9SQVRJTzogUGhsb3hBcHBJbmZvLkRFRkFVTFRfUklQUExFX0VGRkVDVF9XSURUSF9SQVRJTyxcbiAgICAgIFJJUFBMRV9FRkZFQ1RfSEVJR0hUX1JBVElPOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX0hFSUdIVF9SQVRJTyxcbiAgICAgIFJJUFBMRV9FRkZFQ1RfUkVNT1ZFX0RVUkFUSU9OOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX1JFTU9WRV9EVVJBVElPTixcbiAgICAgIEFQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZOiBQaGxveEFwcEluZm8uREVGQVVMVF9BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWSxcbiAgICAgIFdJWkFSRF9IRUFERVJfSEVJR0hUOiBQaGxveEFwcEluZm8uREVGQVVMVF9XSVpBUkRfSEVBREVSX0hFSUdIVCxcbiAgICAgIFdJWkFSRF9GT09URVJfSEVJR0hUOiBQaGxveEFwcEluZm8uREVGQVVMVF9XSVpBUkRfRk9PVEVSX0hFSUdIVCxcbiAgICAgIE9CSkVDVF9JRF9GSUVMRF9OQU1FOiBQaGxveEFwcEluZm8uREVGQVVMVF9PQkpFQ1RfSURfRklFTERfTkFNRSxcbiAgICAgIENPTk5FQ1RJT05fVElNRU9VVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfQ09OTkVDVElPTl9USU1FT1VULFxuICAgICAgVUlfU1lTVEVNX0NMT0NLX0lOVEVSVkFMOiBQaGxveEFwcEluZm8uREVGQVVMVF9VSV9TWVNURU1fQ0xPQ0tfSU5URVJWQUwsXG4gICAgICBVSV9BTklNQVRFX0lOVEVSVkFMOiBQaGxveEFwcEluZm8uREVGQVVMVF9VSV9BTklNQVRFX0lOVEVSVkFMLFxuICAgICAgTUFYX05PVElGSUNBVElPTlM6IFBobG94QXBwSW5mby5ERUZBVUxUX01BWF9OT1RJRklDQVRJT05TLFxuICAgICAgTEFOR1VBR0VfRklFTERfTkFNRTogUGhsb3hBcHBJbmZvLkRFRkFVTFRfTEFOR1VBR0VfRklFTERfTkFNRSxcbiAgICAgIFBBR0VfTE9BRF9USU1FT1VUOiBQaGxveEFwcEluZm8uREVGQVVMVF9QQUdFX0xPQURfVElNRU9VVCxcbiAgICAgIFNZU1RFTV9ZRUFSX09GRlNFVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfU1lTVEVNX1lFQVJfT0ZGU0VULFxuICAgICAgREFURV9QQVRURVJOOiBQaGxveEFwcEluZm8uREVGQVVMVF9EQVRFX1BBVFRFUk4sXG4gICAgICBZRUFSX09GRlNFVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfWUVBUl9PRkZTRVQsXG4gICAgICBUSU1FWk9ORTogUGhsb3hBcHBJbmZvLkRFRkFVTFRfVElNRVpPTkUsXG4gICAgICBUSU1FX1BBVFRFUk46IFBobG94QXBwSW5mby5ERUZBVUxUX1RJTUVfUEFUVEVSTixcbiAgICAgIERFRkFVTFRfREFUQV9MQU5HVUFHRVM6IFBobG94QXBwSW5mby5ERUZBVUxUX0RBVEFfTEFOR1VBR0VTLFxuICAgICAgQ09VTlRSWV9DT0RFOiBQaGxveEFwcEluZm8uREVGQVVMVF9DT1VOVFJZX0NPREUsXG4gICAgICBERUZBVUxUX1RJTUVfT1VUX0xPR0lOX1VTRVJfU0VTU0lPTjogUGhsb3hBcHBJbmZvLkRFRkFVTFRfVElNRV9PVVRfTE9HSU5fVVNFUl9TRVNTSU9OXG4gICAgfTtcblxuICAgIC8vIGluaXQgZGVmYXVsdCBpMThuXG4gICAgdGhpcy5pMThuID0ge1xuICAgICAgWUVTOiAnWWVzJyxcbiAgICAgIE5POiAnTm8nLFxuICAgICAgT0s6ICdPSycsXG4gICAgICBDQU5DRUw6ICdDYW5jZWwnLFxuICAgICAgQ0xPU0U6ICdDbG9zZScsXG4gICAgICBDT05GSVJNOiAnQ29uZmlybScsXG4gICAgICBMQU5HOiB7XG4gICAgICAgIEVOOiB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdlbicsIG5hbWU6ICdFbmdsaXNoJyB9LFxuICAgICAgICBUSDogeyBpY29uVVJMOiBudWxsLCBjb2RlOiAndGgnLCBuYW1lOiAnVGhhaWxhbmQnIH0sXG4gICAgICAgIEpQOiB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdqYScsIG5hbWU6ICdKYXBhbmVzZScgfSxcbiAgICAgICAgS1I6IHsgaWNvblVSTDogbnVsbCwgY29kZTogJ2tyJywgbmFtZTogJ0tvcmVhbicgfVxuICAgICAgfSxcbiAgICAgIElOVkFMSURfREFUQTogJ0ludmFsaWQgRGF0YSdcbiAgICB9O1xuXG4gICAgLy8gZGVmYXVsdCByZXNvdXJjZXNcbiAgICB0aGlzLnJlc291cmNlcyA9IHtcbiAgICAgIENST1NTX1JPVU5EX0JUTjogJ2h0dHA6Ly9pMjQ5LnBob3RvYnVja2V0LmNvbS9hbGJ1bXMvZ2cyMDIvc291bmRfaG9yaXpvbi9jcm9zc19jaXJjbGUucG5nJ1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFnbGluZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhZ2xpbmU7XG4gIH1cblxuICBwdWJsaWMgc2V0VGFnbGluZSh0YWdsaW5lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhZ2xpbmUgPSB0YWdsaW5lO1xuICB9XG5cbiAgcHVibGljIGdldFNldHRpbmdzKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgc2V0U2V0dGluZ3Moc2V0dGluZ3M6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJY29uVVJMKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblVSTDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJY29uVVJMKGljb25VUkw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaWNvblVSTCA9IGljb25VUkw7XG4gIH1cblxuICBwdWJsaWMgZ2V0R3JvdXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRHcm91cChncm91cDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xuICB9XG5cbiAgcHVibGljIGdldEkxOG4oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pMThuO1xuICB9XG5cbiAgcHVibGljIHNldEkxOG4oaTE4bjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pMThuID0gaTE4bjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXNvdXJjZXMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzb3VyY2VzKHJlc291cmNlczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gIH1cbn1cbiJdfQ==