iptdevs-design-system
Version:
Library common elements into IPT Plattform.
106 lines • 18.2 kB
JavaScript
import { Injectable } from '@angular/core';
import { IPTGeneralService } from '../service-enviroments';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class AttendanceService extends IPTGeneralService {
constructor(http) {
super();
this.http = http;
this.SERVICE_URL = 'academic/api/';
this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;
}
addEventByCourseRq(params) {
let serviceUrl = `${this.SERVICE_URL}post/event/by/course`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
getEventsByCourseCode(params) {
let serviceUrl = `${this.SERVICE_URL}post/obtain/events/by/course_code`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
getEventByCode(params) {
let serviceUrl = `${this.SERVICE_URL}post/obtain/event/by/code`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
registerNewAttendanceByEvent(params) {
let serviceUrl = `${this.SERVICE_URL}register/attendance/by/event`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
getAttendaceByCourse(courseCode) {
let serviceUrl = `${this.SERVICE_URL}post/obtain/attendances/by/course/${courseCode}`;
return this.http.get(serviceUrl);
}
getAttendaceByCourseAssigned(courseCode) {
let serviceUrl = `${this.SERVICE_URL}obtain/attendances/by/course/assigned/${courseCode}`;
return this.http.get(serviceUrl);
}
getCODCodeByStudentCode(studentCode) {
let serviceUrl = `${this.SERVICE_URL}get/cod_code/by/student_code/${studentCode}`;
return this.http.get(serviceUrl);
}
getAttendanceHistoryByStudent(token, cod_code) {
let serviceUrl = `${this.SERVICE_URL}post/obtain/attendance/history/by/student`;
this.generateRequestParams({ token, cod_code });
return this.http.post(serviceUrl, this.httpOptions);
}
getAllNotAttendancesByCod(params) {
let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/by/cod`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
getNotAttendancesOfLastWeekByCod(params) {
let serviceUrl = `${this.SERVICE_URL}get/all/not/attendances/lastweek/by/cod`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
getAllAttendaceByCourse(courseCode) {
let serviceUrl = `${this.SERVICE_URL}get/all/data/attendances/by/course/${courseCode}`;
return this.http.get(serviceUrl);
}
newAttendanceByEvent(params) {
let serviceUrl = `${this.SERVICE_URL}post/register/new/attendance/by/event`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
obtainAttendancesStustudentByCourse(courseCode) {
let serviceUrl = `${this.SERVICE_URL}obtain/attendances/students/by/course/${courseCode}`;
return this.http.get(serviceUrl);
}
obtainAttendancessByCourse(courseCode) {
let serviceUrl = `${this.SERVICE_URL}obtain/attendances/by/course/${courseCode}`;
return this.http.get(serviceUrl);
}
obtainAttendancessByAssigned(courseCode) {
let serviceUrl = `${this.SERVICE_URL}obtain/attendances/by/assigned/${courseCode}`;
return this.http.get(serviceUrl);
}
obtainCourseEventByCode(code) {
let serviceUrl = `${this.SERVICE_URL}obtain/course/event/by/code/${code}`;
return this.http.get(serviceUrl);
}
obtainFullDataAttendanceByCode(code) {
let serviceUrl = `${this.SERVICE_URL}obtain/full/data/attendance/by/code/${code}`;
return this.http.get(serviceUrl);
}
UpdateIndividualAttendance(params) {
let serviceUrl = `${this.SERVICE_URL}update/individual/attendance/by/code`;
this.generateRequestParams(params);
return this.http.post(serviceUrl, this.httpOptions);
}
exportExcelAttendance(codeStudent) {
let serviceUrl = this.SERVICE_URL + 'dowload/excel/attendances/students/by/course/' + codeStudent;
return this.http.get(serviceUrl);
}
}
AttendanceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
AttendanceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXR0ZW5kYW5jZS1zZXJ2aWNlL2F0dGVuZGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFJcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FB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QUksQ0FBQyxXQUFXLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFdBQW1CO1FBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsK0NBQStDLEdBQUcsV0FBVyxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7OEdBOUdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzcG9uc2UvcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZEV2ZW50QnlDb3Vyc2VScSwgQ291cnNlQXR0ZW5kYW5jZSwgR2V0RXZlbnRCeUNvZGVScSwgR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEsIEdldE5vdEF0dGVuZGFuY2VzQnlDb2RScSwgSVJlZ2lzdGVyTmV3QXR0ZW5kYW5jZVJxLCBJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnEsIElVcGRhdGVBdHRlbmRhY2VuQnlDb2RlUnEsIFJlZ2lzdGVyTmV3QXR0ZW5kYW5jZUJ5RXZlbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0dGVuZGFuY2VTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYWNhZGVtaWMvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgYWRkRXZlbnRCeUNvdXJzZVJxKHBhcmFtczogQWRkRXZlbnRCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L2V2ZW50L2J5L2NvdXJzZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRzQnlDb3Vyc2VDb2RlKHBhcmFtczogR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2V2ZW50cy9ieS9jb3Vyc2VfY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRCeUNvZGUocGFyYW1zOiBHZXRFdmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L29idGFpbi9ldmVudC9ieS9jb2RlYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3Rlck5ld0F0dGVuZGFuY2VCeUV2ZW50KHBhcmFtczogUmVnaXN0ZXJOZXdBdHRlbmRhbmNlQnlFdmVudFJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1yZWdpc3Rlci9hdHRlbmRhbmNlL2J5L2V2ZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhY2VCeUNvdXJzZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9cG9zdC9vYnRhaW4vYXR0ZW5kYW5jZXMvYnkvY291cnNlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvdXJzZUF0dGVuZGFuY2U+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QXR0ZW5kYWNlQnlDb3Vyc2VBc3NpZ25lZChjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS9hc3NpZ25lZC8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb3Vyc2VBdHRlbmRhbmNlPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENPRENvZGVCeVN0dWRlbnRDb2RlKHN0dWRlbnRDb2RlOiBudW1iZXIpIHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2NvZF9jb2RlL2J5L3N0dWRlbnRfY29kZS8ke3N0dWRlbnRDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEF0dGVuZGFuY2VIaXN0b3J5QnlTdHVkZW50KHRva2VuOiBzdHJpbmcsIGNvZF9jb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2F0dGVuZGFuY2UvaGlzdG9yeS9ieS9zdHVkZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIGNvZF9jb2RlfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbE5vdEF0dGVuZGFuY2VzQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Tm90QXR0ZW5kYW5jZXNPZkxhc3RXZWVrQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2xhc3R3ZWVrL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQXR0ZW5kYWNlQnlDb3Vyc2UoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2FsbC9kYXRhL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3QXR0ZW5kYW5jZUJ5RXZlbnQocGFyYW1zOiBJUmVnaXN0ZXJOZXdBdHRlbmRhbmNlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3QvcmVnaXN0ZXIvbmV3L2F0dGVuZGFuY2UvYnkvZXZlbnRgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2VzU3R1c3R1ZGVudEJ5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5QXNzaWduZWQoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2Fzc2lnbmVkLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4oc2VydmljZVVybCk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VFdmVudEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL2V2ZW50L2J5L2NvZGUvJHtjb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkZ1bGxEYXRhQXR0ZW5kYW5jZUJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vZnVsbC9kYXRhL2F0dGVuZGFuY2UvYnkvY29kZS8ke2NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgVXBkYXRlSW5kaXZpZHVhbEF0dGVuZGFuY2UocGFyYW1zOiBJVXBkYXRlQXR0ZW5kYWNlbkJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH11cGRhdGUvaW5kaXZpZHVhbC9hdHRlbmRhbmNlL2J5L2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEV4Y2VsQXR0ZW5kYW5jZShjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZG93bG9hZC9leGNlbC9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG59XG4iXX0=