UNPKG

ng-yunzai-mobile

Version:

1. 修改wechat.micro.ts

287 lines 23.8 kB
/** * @fileoverview added by tsickle * Generated from: select-contacts/yz-select-contacts/yz-select-contacts.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Inject, Injectable } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { HttpClient } from '@angular/common/http'; import { map } from 'rxjs/operators'; import { YzSelectContactsComponent } from './yz-select-contacts.component'; import { BASE_CLIENT } from '../../client/base.client'; import { TokenService } from "../../token/token.service"; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/dialog"; import * as i2 from "../../client/base.client"; import * as i3 from "@angular/common/http"; import * as i4 from "../../token/token.service"; var YzSelectContactsService = /** @class */ (function () { function YzSelectContactsService(dialog, client, http, tokenService) { this.dialog = dialog; this.client = client; this.http = http; this.tokenService = tokenService; } /** * 选择人员 * @param option */ /** * 选择人员 * @param {?} option * @return {?} */ YzSelectContactsService.prototype.choosePeople = /** * 选择人员 * @param {?} option * @return {?} */ function (option) { if (this.tokenService.get().accessToken) { /** @type {?} */ var dialogRef = this.dialog.open(YzSelectContactsComponent, { panelClass: 'yz-select-contacts-panel', closeOnNavigation: true, data: { includeClass: option.includeClass == undefined ? true : option.includeClass, includeHisClass: option.includeHisClass == undefined ? true : option.includeHisClass, count: option.count == undefined ? 0 : option.count, defaultContacts: option.defaultContacts == undefined ? [] : option.defaultContacts, onlyStudent: option.onlyStudent == undefined ? false : option.onlyStudent, userTypes: option.userTypes == undefined ? null : option.userTypes } }); dialogRef.afterClosed().subscribe((/** * @param {?} result * @return {?} */ function (result) { if (option.onOk) { option.onOk(result ? result : []); } })); } else { alert('无法获取Token,请刷新!'); } }; /** * 查询部门树 * @param includeClass 是否包含班级 * @param includeHisClass 是否包含历史班级,只在includeClass=true时起作用 */ /** * 查询部门树 * @param {?} includeClass 是否包含班级 * @param {?} includeHisClass 是否包含历史班级,只在includeClass=true时起作用 * @return {?} */ YzSelectContactsService.prototype.getDeptTree = /** * 查询部门树 * @param {?} includeClass 是否包含班级 * @param {?} includeHisClass 是否包含历史班级,只在includeClass=true时起作用 * @return {?} */ function (includeClass, includeHisClass) { /** @type {?} */ var url = this.client.gateway + "/auth/baseDepartMent/tree"; if (includeClass) { if (includeHisClass) { url = url + "?includeClass=true&includeHisClass=true"; } else { url = url + "?includeClass=true&includeHisClass=false"; } } else { url = url + "?includeClass=false"; } return this.http.get(url).pipe(map((/** * @param {?} response * @return {?} */ function (response) { return response.data ? response.data : []; }))); }; /** * 查询部门树->只选学生(系部+班级) * @param gradeId 年级id */ /** * 查询部门树->只选学生(系部+班级) * @param {?} gradeId 年级id * @param {?} includeClass * @param {?} includeHisClass * @return {?} */ YzSelectContactsService.prototype.getDeptTreeOnlyStu = /** * 查询部门树->只选学生(系部+班级) * @param {?} gradeId 年级id * @param {?} includeClass * @param {?} includeHisClass * @return {?} */ function (gradeId, includeClass, includeHisClass) { /** @type {?} */ var url; if (gradeId) { url = this.client.gateway + "/auth/baseDepartMent/tree?gradeId=" + gradeId + "&deptTypes=2,class"; if (includeClass) { if (includeHisClass) { url = url + "&includeClass=true&includeHisClass=true"; } else { url = url + "&includeClass=true&includeHisClass=false"; } } else { url = url + "&includeClass=false"; } } else { url = this.client.gateway + "/auth/baseDepartMent/tree?deptTypes=2,class"; if (includeClass) { if (includeHisClass) { url = url + "&includeClass=true&includeHisClass=true"; } else { url = url + "&includeClass=true&includeHisClass=false"; } } else { url = url + "&includeClass=false"; } } return this.http.get(url).pipe(map((/** * @param {?} response * @return {?} */ function (response) { return response.data ? response.data : []; }))); }; /** * 查询人员列表 * @param pageNum 当前页面 * @param pageSize 每页条数 * @param realName 姓名 * @param deptId 部门id * @param userTypes 用户类型1,2,3,4逗号拼接:查询普通部门的用户(不包括学生)传“1,4”;查询学生用户传“2,3”;查询所有用户不传 */ /** * 查询人员列表 * @param {?} pageNum 当前页面 * @param {?} pageSize 每页条数 * @param {?} realName 姓名 * @param {?} deptId 部门id * @param {?} userTypes 用户类型1,2,3,4逗号拼接:查询普通部门的用户(不包括学生)传“1,4”;查询学生用户传“2,3”;查询所有用户不传 * @return {?} */ YzSelectContactsService.prototype.getBaseUser = /** * 查询人员列表 * @param {?} pageNum 当前页面 * @param {?} pageSize 每页条数 * @param {?} realName 姓名 * @param {?} deptId 部门id * @param {?} userTypes 用户类型1,2,3,4逗号拼接:查询普通部门的用户(不包括学生)传“1,4”;查询学生用户传“2,3”;查询所有用户不传 * @return {?} */ function (pageNum, pageSize, realName, deptId, userTypes) { return this.http.post(this.client.gateway + "/auth/baseUser/queryListForPage", { "pageNum": pageNum, "pageSize": pageSize, "pageParam": { "realName": realName, "deptId": deptId, "userTypes": userTypes } }).pipe(map((/** * @param {?} response * @return {?} */ function (response) { return response ? response : null; }))); }; /** * 查询人员信息 * @param userIds[] 用户id数组,["aaa","bbb","ccc"] */ /** * 查询人员信息 * @param {?} userIds * @return {?} */ YzSelectContactsService.prototype.getUserByUserIds = /** * 查询人员信息 * @param {?} userIds * @return {?} */ function (userIds) { return this.http.post(this.client.gateway + "/auth/baseUser/users", { userIds: userIds }).pipe(map((/** * @param {?} response * @return {?} */ function (response) { return response.data ? response.data : []; }))); }; /** * 查询年级 */ /** * 查询年级 * @return {?} */ YzSelectContactsService.prototype.getGrade = /** * 查询年级 * @return {?} */ function () { return this.http.get(this.client.gateway + "/auth/gradeYear/queryListForPage").pipe(map((/** * @param {?} response * @return {?} */ function (response) { return response.data ? response.data : []; }))); }; YzSelectContactsService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ YzSelectContactsService.ctorParameters = function () { return [ { type: MatDialog }, { type: undefined, decorators: [{ type: Inject, args: [BASE_CLIENT,] }] }, { type: HttpClient }, { type: TokenService } ]; }; /** @nocollapse */ YzSelectContactsService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function YzSelectContactsService_Factory() { return new YzSelectContactsService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.BASE_CLIENT), i0.ɵɵinject(i3.HttpClient), i0.ɵɵinject(i4.TokenService)); }, token: YzSelectContactsService, providedIn: "root" }); return YzSelectContactsService; }()); export { YzSelectContactsService }; if (false) { /** @type {?} */ YzSelectContactsService.prototype.dialog; /** * @type {?} * @private */ YzSelectContactsService.prototype.client; /** * @type {?} * @private */ YzSelectContactsService.prototype.http; /** * @type {?} * @private */ YzSelectContactsService.prototype.tokenService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXotc2VsZWN0LWNvbnRhY3RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy15dW56YWktbW9iaWxlLyIsInNvdXJjZXMiOlsic2VsZWN0LWNvbnRhY3RzL3l6LXNlbGVjdC1jb250YWN0cy95ei1zZWxlY3QtY29udGFjdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQWEsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQUV2RDtJQU1FLGlDQUFtQixNQUFpQixFQUNLLE1BQWtCLEVBQ3ZDLElBQWdCLEVBQ2hCLFlBQTBCO1FBSDNCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFFOUMsQ0FBQztJQUdEOzs7T0FHRzs7Ozs7O0lBQ0gsOENBQVk7Ozs7O0lBQVosVUFBYSxNQUFtTDtRQUM5TCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFOztnQkFDakMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUM1RCxVQUFVLEVBQUUsMEJBQTBCO2dCQUN0QyxpQkFBaUIsRUFBRSxJQUFJO2dC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LElBQUksQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHlCQUFzQixFQUFFO1lBQ2xFLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRzs7OztRQUFDLFVBQUMsUUFBYTtZQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILDBDQUFROzs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxxQ0FBa0MsQ0FBQyxDQUFDLElBQUksQ0FDakYsR0FBRzs7OztRQUFDLFVBQUMsUUFBYTtZQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBM0pGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBVk8sU0FBUztnREFlRixNQUFNLFNBQUMsV0FBVztnQkFkekIsVUFBVTtnQkFLVixZQUFZOzs7a0NBUHBCO0NBc0tDLEFBN0pELElBNkpDO1NBekpZLHVCQUF1Qjs7O0lBRXRCLHlDQUF3Qjs7Ozs7SUFDeEIseUNBQStDOzs7OztJQUMvQyx1Q0FBd0I7Ozs7O0lBQ3hCLCtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1l6U2VsZWN0Q29udGFjdHNDb21wb25lbnR9IGZyb20gJy4veXotc2VsZWN0LWNvbnRhY3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QkFTRV9DTElFTlQsIEJhc2VDbGllbnR9IGZyb20gJy4uLy4uL2NsaWVudC9iYXNlLmNsaWVudCc7XHJcbmltcG9ydCB7VG9rZW5TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vdG9rZW4vdG9rZW4uc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFl6U2VsZWN0Q29udGFjdHNTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoQkFTRV9DTElFTlQpIHByaXZhdGUgY2xpZW50OiBCYXNlQ2xpZW50LFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwcml2YXRlIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIOmAieaLqeS6uuWRmFxyXG4gICAqIEBwYXJhbSBvcHRpb25cclxuICAgKi9cclxuICBjaG9vc2VQZW9wbGUob3B0aW9uOiB7IGluY2x1ZGVDbGFzcz86IGJvb2xlYW4sIGluY2x1ZGVIaXNDbGFzcz86IGJvb2xlYW4sIGNvdW50PzogbnVtYmVyLCBkZWZhdWx0Q29udGFjdHM/OiBBcnJheTxhbnk+LCBvbmx5U3R1ZGVudD86IGJvb2xlYW4sIHVzZXJUeXBlcz86IHN0cmluZywgb25Paz86ICh2YWx1ZTogYW55KSA9PiB2b2lkIH0pIHtcclxuICAgIGlmICh0aGlzLnRva2VuU2VydmljZS5nZXQoKS5hY2Nlc3NUb2tlbikge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFl6U2VsZWN0Q29udGFjdHNDb21wb25lbnQsIHtcclxuICAgICAgICBwYW5lbENsYXNzOiAneXotc2VsZWN0LWNvbnRhY3RzLXBhbmVsJyxcclxuICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBpbmNsdWRlQ2xhc3M6IG9wdGlvbi5pbmNsdWRlQ2xhc3MgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbi5pbmNsdWRlQ2xhc3MsXHJcbiAgICAgICAgICBpbmNsdWRlSGlzQ2xhc3M6IG9wdGlvbi5pbmNsdWRlSGlzQ2xhc3MgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbi5pbmNsdWRlSGlzQ2xhc3MsXHJcbiAgICAgICAgICBjb3VudDogb3B0aW9uLmNvdW50ID09IHVuZGVmaW5lZCA/IDAgOiBvcHRpb24uY291bnQsXHJcbiAgICAgICAgICBkZWZhdWx0Q29udGFjdHM6IG9wdGlvbi5kZWZhdWx0Q29udGFjdHMgPT0gdW5kZWZpbmVkID8gW10gOiBvcHRpb24uZGVmYXVsdENvbnRhY3RzLFxyXG4gICAgICAgICAgb25seVN0dWRlbnQ6IG9wdGlvbi5vbmx5U3R1ZGVudCA9PSB1bmRlZmluZWQgPyBmYWxzZSA6IG9wdGlvbi5vbmx5U3R1ZGVudCxcclxuICAgICAgICAgIHVzZXJUeXBlczogb3B0aW9uLnVzZXJUeXBlcyA9PSB1bmRlZmluZWQgPyBudWxsIDogb3B0aW9uLnVzZXJUeXBlc1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb24ub25Paykge1xyXG4gICAgICAgICAgb3B0aW9uLm9uT2socmVzdWx0ID8gcmVzdWx0IDogW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhbGVydCgn5peg5rOV6I635Y+WVG9rZW4s6K+35Yi35paw77yBJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICog5p+l6K+i6YOo6Zeo5qCRXHJcbiAgICogQHBhcmFtIGluY2x1ZGVDbGFzcyDmmK/lkKbljIXlkKvnj63nuqdcclxuICAgKiBAcGFyYW0gaW5jbHVkZUhpc0NsYXNzIOaYr+WQpuWMheWQq+WOhuWPsuePree6pyzlj6rlnKhpbmNsdWRlQ2xhc3M9dHJ1ZeaXtui1t+S9nOeUqFxyXG4gICAqL1xyXG4gIGdldERlcHRUcmVlKGluY2x1ZGVDbGFzczogYm9vbGVhbiwgaW5jbHVkZUhpc0NsYXNzOiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiB7XHJcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5jbGllbnQuZ2F0ZXdheX0vYXV0aC9iYXNlRGVwYXJ0TWVudC90cmVlYDtcclxuICAgIGlmIChpbmNsdWRlQ2xhc3MpIHtcclxuICAgICAgaWYgKGluY2x1ZGVIaXNDbGFzcykge1xyXG4gICAgICAgIHVybCA9IHVybCArIGA/aW5jbHVkZUNsYXNzPXRydWUmaW5jbHVkZUhpc0NsYXNzPXRydWVgXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdXJsID0gdXJsICsgYD9pbmNsdWRlQ2xhc3M9dHJ1ZSZpbmNsdWRlSGlzQ2xhc3M9ZmFsc2VgXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCA9IHVybCArIGA/aW5jbHVkZUNsYXNzPWZhbHNlYFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YSA/IHJlc3BvbnNlLmRhdGEgOiBbXTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICog5p+l6K+i6YOo6Zeo5qCRLT7lj6rpgInlrabnlJ/vvIjns7vpg6gr54+t57qn77yJXHJcbiAgICogQHBhcmFtIGdyYWRlSWQg5bm057qnaWRcclxuICAgKi9cclxuICBnZXREZXB0VHJlZU9ubHlTdHUoZ3JhZGVJZDogc3RyaW5nLCBpbmNsdWRlQ2xhc3M6IGJvb2xlYW4sIGluY2x1ZGVIaXNDbGFzczogYm9vbGVhbik6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4ge1xyXG4gICAgbGV0IHVybDtcclxuICAgIGlmIChncmFkZUlkKSB7XHJcbiAgICAgIHVybCA9IGAke3RoaXMuY2xpZW50LmdhdGV3YXl9L2F1dGgvYmFzZURlcGFydE1lbnQvdHJlZT9ncmFkZUlkPSR7Z3JhZGVJZH0mZGVwdFR5cGVzPTIsY2xhc3NgO1xyXG5cclxuICAgICAgaWYgKGluY2x1ZGVDbGFzcykge1xyXG4gICAgICAgIGlmIChpbmNsdWRlSGlzQ2xhc3MpIHtcclxuICAgICAgICAgIHVybCA9IHVybCArIGAmaW5jbHVkZUNsYXNzPXRydWUmaW5jbHVkZUhpc0NsYXNzPXRydWVgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHVybCA9IHVybCArIGAmaW5jbHVkZUNsYXNzPXRydWUmaW5jbHVkZUhpc0NsYXNzPWZhbHNlYFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB1cmwgPSB1cmwgKyBgJmluY2x1ZGVDbGFzcz1mYWxzZWBcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCA9IGAke3RoaXMuY2xpZW50LmdhdGV3YXl9L2F1dGgvYmFzZURlcGFydE1lbnQvdHJlZT9kZXB0VHlwZXM9MixjbGFzc2A7XHJcblxyXG4gICAgICBpZiAoaW5jbHVkZUNsYXNzKSB7XHJcbiAgICAgICAgaWYgKGluY2x1ZGVIaXNDbGFzcykge1xyXG4gICAgICAgICAgdXJsID0gdXJsICsgYCZpbmNsdWRlQ2xhc3M9dHJ1ZSZpbmNsdWRlSGlzQ2xhc3M9dHJ1ZWBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdXJsID0gdXJsICsgYCZpbmNsdWRlQ2xhc3M9dHJ1ZSZpbmNsdWRlSGlzQ2xhc3M9ZmFsc2VgXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHVybCA9IHVybCArIGAmaW5jbHVkZUNsYXNzPWZhbHNlYFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDmn6Xor6LkurrlkZjliJfooahcclxuICAgKiBAcGFyYW0gcGFnZU51bSDlvZPliY3pobXpnaJcclxuICAgKiBAcGFyYW0gcGFnZVNpemUg5q+P6aG15p2h5pWwXHJcbiAgICogQHBhcmFtIHJlYWxOYW1lIOWnk+WQjVxyXG4gICAqIEBwYXJhbSBkZXB0SWQg6YOo6ZeoaWRcclxuICAgKiBAcGFyYW0gdXNlclR5cGVzIOeUqOaIt+exu+WeizEsMiwzLDTpgJflj7fmi7zmjqXvvJrmn6Xor6Lmma7pgJrpg6jpl6jnmoTnlKjmiLfvvIjkuI3ljIXmi6zlrabnlJ/vvInkvKDigJwxLDTigJ3vvJvmn6Xor6LlrabnlJ/nlKjmiLfkvKDigJwyLDPigJ3vvJvmn6Xor6LmiYDmnInnlKjmiLfkuI3kvKBcclxuICAgKi9cclxuICBnZXRCYXNlVXNlcihwYWdlTnVtOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIHJlYWxOYW1lOiBzdHJpbmcsIGRlcHRJZDogc3RyaW5nLCB1c2VyVHlwZXM6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuY2xpZW50LmdhdGV3YXl9L2F1dGgvYmFzZVVzZXIvcXVlcnlMaXN0Rm9yUGFnZWAsIHtcclxuICAgICAgXCJwYWdlTnVtXCI6IHBhZ2VOdW0sXHJcbiAgICAgIFwicGFnZVNpemVcIjogcGFnZVNpemUsXHJcbiAgICAgIFwicGFnZVBhcmFtXCI6IHtcclxuICAgICAgICBcInJlYWxOYW1lXCI6IHJlYWxOYW1lLFxyXG4gICAgICAgIFwiZGVwdElkXCI6IGRlcHRJZCxcclxuICAgICAgICBcInVzZXJUeXBlc1wiOiB1c2VyVHlwZXNcclxuICAgICAgfVxyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlID8gcmVzcG9uc2UgOiBudWxsO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDmn6Xor6LkurrlkZjkv6Hmga9cclxuICAgKiBAcGFyYW0gdXNlcklkc1tdIOeUqOaIt2lk5pWw57uELFtcImFhYVwiLFwiYmJiXCIsXCJjY2NcIl1cclxuICAgKi9cclxuICBnZXRVc2VyQnlVc2VySWRzKHVzZXJJZHM6IGFueSk6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuY2xpZW50LmdhdGV3YXl9L2F1dGgvYmFzZVVzZXIvdXNlcnNgLCB7XHJcbiAgICAgIHVzZXJJZHM6IHVzZXJJZHNcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOafpeivouW5tOe6p1xyXG4gICAqL1xyXG4gIGdldEdyYWRlKCk6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jbGllbnQuZ2F0ZXdheX0vYXV0aC9ncmFkZVllYXIvcXVlcnlMaXN0Rm9yUGFnZWApLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=