client-core-services 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/clientCore.module.mjs +94 -0
- package/esm2020/lib/services/api/api.service.mjs +7 -7
- package/esm2020/lib/services/api/auth/auth.service.mjs +5 -5
- package/esm2020/lib/services/data-share/data-share.service.mjs +29 -8
- package/esm2020/lib/services/env/env.service.mjs +6 -1
- package/esm2020/lib/services/env/serverHostList.mjs +2 -52
- package/esm2020/lib/services/form/form-creation/form-creation.service.mjs +7 -7
- package/esm2020/lib/services/storage/storage.service.mjs +1 -203
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/client-core-services.mjs +53 -283
- package/fesm2015/client-core-services.mjs.map +1 -1
- package/fesm2020/client-core-services.mjs +53 -283
- package/fesm2020/client-core-services.mjs.map +1 -1
- package/lib/{my-lib.module.d.ts → clientCore.module.d.ts} +2 -3
- package/lib/services/data-share/data-share.service.d.ts +17 -4
- package/lib/services/env/env.service.d.ts +3 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2020/lib/my-lib.module.mjs +0 -98
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "@angular/common/http";
|
|
5
5
|
import * as i3 from "@angular/forms";
|
|
6
6
|
import * as i4 from "@angular/material/button";
|
|
@@ -9,10 +9,9 @@ import * as i6 from "@angular/material/form-field";
|
|
|
9
9
|
import * as i7 from "@angular/material/input";
|
|
10
10
|
import * as i8 from "@angular/platform-browser/animations";
|
|
11
11
|
import * as i9 from "@angular/material/snack-bar";
|
|
12
|
-
import * as i10 from "@angular/common";
|
|
13
12
|
export declare class ClientCoreModule {
|
|
14
13
|
static forRoot(environment: any): ModuleWithProviders<ClientCoreModule>;
|
|
15
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClientCoreModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClientCoreModule, never, [typeof i1.
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClientCoreModule, never, [typeof i1.CommonModule, typeof i2.HttpClientModule, typeof i3.FormsModule, typeof i4.MatButtonModule, typeof i5.MatCardModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.BrowserAnimationsModule, typeof i9.MatSnackBarModule], [typeof i1.CommonModule, typeof i2.HttpClientModule, typeof i3.FormsModule, typeof i4.MatButtonModule, typeof i5.MatCardModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.BrowserAnimationsModule, typeof i9.MatSnackBarModule]>;
|
|
17
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<ClientCoreModule>;
|
|
18
17
|
}
|
|
@@ -17,7 +17,7 @@ export declare class DataShareService {
|
|
|
17
17
|
saveFromDataRsponce: string;
|
|
18
18
|
deleteGridRowDataRsponce: string;
|
|
19
19
|
saveResponceData: Subject<any>;
|
|
20
|
-
|
|
20
|
+
deleteGridRowResponse: Subject<any>;
|
|
21
21
|
gridFilterData: Subject<any>;
|
|
22
22
|
typeAheadData: Subject<any>;
|
|
23
23
|
form: Subject<any>;
|
|
@@ -67,7 +67,7 @@ export declare class DataShareService {
|
|
|
67
67
|
pModuleIndex: any;
|
|
68
68
|
menuOrSubmenuIndex: any;
|
|
69
69
|
headerMenu: Subject<any>;
|
|
70
|
-
|
|
70
|
+
reqResponse: Subject<boolean>;
|
|
71
71
|
mongoDbChartList: Subject<any>;
|
|
72
72
|
MongoDbChartList: any;
|
|
73
73
|
mongoDashbordList: Subject<any>;
|
|
@@ -103,8 +103,12 @@ export declare class DataShareService {
|
|
|
103
103
|
getTempData(): any;
|
|
104
104
|
setSaveResponce(responce: any): void;
|
|
105
105
|
getSaveResponce(): string;
|
|
106
|
-
|
|
106
|
+
setDeleteGridRowResponse(response: any): void;
|
|
107
107
|
getDeleteRowDataResponce(): string;
|
|
108
|
+
/**
|
|
109
|
+
* @deprecated Use setDeleteGridRowResponse instead
|
|
110
|
+
*/
|
|
111
|
+
setDeleteGridRowResponce(response: any): void;
|
|
108
112
|
setGridFilterData(responce: any): void;
|
|
109
113
|
setTypeAheadData(responce: any): void;
|
|
110
114
|
setForm(form: any): void;
|
|
@@ -142,6 +146,10 @@ export declare class DataShareService {
|
|
|
142
146
|
setValidationCondition(responce: any): void;
|
|
143
147
|
setGitVersion(responce: any): void;
|
|
144
148
|
setNextFormData(responce: any): void;
|
|
149
|
+
/**
|
|
150
|
+
* @deprecated Use setGitVersion instead
|
|
151
|
+
*/
|
|
152
|
+
setGitVirsion(responce: any): void;
|
|
145
153
|
setReportLoadGridData(responce: any): void;
|
|
146
154
|
setIsGridSelectionOpenOrNot(check: boolean): void;
|
|
147
155
|
setChartModelShowHide(value: any): void;
|
|
@@ -155,7 +163,12 @@ export declare class DataShareService {
|
|
|
155
163
|
setMenuIndexs(indexs: any): void;
|
|
156
164
|
getProjectModuleIndex(): any;
|
|
157
165
|
getMenuOrSubmenuIndexs(): any;
|
|
158
|
-
|
|
166
|
+
setReqResponse(reqResponse: boolean): void;
|
|
167
|
+
getReqResponse(): Subject<boolean>;
|
|
168
|
+
/**
|
|
169
|
+
* @deprecated Use setReqResponse instead
|
|
170
|
+
*/
|
|
171
|
+
setReqResponce(reqResponse: boolean): void;
|
|
159
172
|
resetHeaderMenu(responce: any): void;
|
|
160
173
|
sharePdfFileName(fileName: any): void;
|
|
161
174
|
sharePublicUrlFromS3(url: any): void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
1
2
|
import { Subscription } from 'rxjs';
|
|
2
3
|
import { StorageService } from '../../services/storage/storage.service';
|
|
3
4
|
import { CoreFunctionService } from '../../services/common-utils/core-function/core-function.service';
|
|
4
5
|
import { DataShareService } from '../data-share/data-share.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class EnvService {
|
|
7
|
+
export declare class EnvService implements OnDestroy {
|
|
7
8
|
private document;
|
|
8
9
|
private storageService;
|
|
9
10
|
private coreFunctionService;
|
|
@@ -39,6 +40,7 @@ export declare class EnvService {
|
|
|
39
40
|
checkRedirectionUrl(): string;
|
|
40
41
|
checkClientExistOrNot(data: any): boolean;
|
|
41
42
|
getVerifyType(): any;
|
|
43
|
+
ngOnDestroy(): void;
|
|
42
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<EnvService, never>;
|
|
43
45
|
static ɵprov: i0.ɵɵInjectableDeclaration<EnvService>;
|
|
44
46
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
//import { MyLibComponent } from './my-lib.component';
|
|
2
|
-
import { BrowserModule } from '@angular/platform-browser';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
6
|
-
import { FormsModule } from '@angular/forms';
|
|
7
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
-
import { MatCardModule } from '@angular/material/card';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
12
|
-
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class ClientCoreModule {
|
|
15
|
-
static forRoot(environment) {
|
|
16
|
-
return {
|
|
17
|
-
ngModule: ClientCoreModule,
|
|
18
|
-
providers: [
|
|
19
|
-
{
|
|
20
|
-
provide: 'env',
|
|
21
|
-
useValue: environment
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ClientCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClientCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
|
-
ClientCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ClientCoreModule, imports: [BrowserModule,
|
|
29
|
-
HttpClientModule,
|
|
30
|
-
FormsModule,
|
|
31
|
-
MatButtonModule,
|
|
32
|
-
MatCardModule,
|
|
33
|
-
MatFormFieldModule,
|
|
34
|
-
MatInputModule,
|
|
35
|
-
BrowserAnimationsModule,
|
|
36
|
-
MatSnackBarModule], exports: [
|
|
37
|
-
// MyLibComponent
|
|
38
|
-
CommonModule,
|
|
39
|
-
BrowserModule,
|
|
40
|
-
HttpClientModule,
|
|
41
|
-
FormsModule,
|
|
42
|
-
MatButtonModule,
|
|
43
|
-
MatCardModule,
|
|
44
|
-
MatFormFieldModule,
|
|
45
|
-
MatInputModule,
|
|
46
|
-
BrowserAnimationsModule,
|
|
47
|
-
MatSnackBarModule] });
|
|
48
|
-
ClientCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClientCoreModule, imports: [BrowserModule,
|
|
49
|
-
HttpClientModule,
|
|
50
|
-
FormsModule,
|
|
51
|
-
MatButtonModule,
|
|
52
|
-
MatCardModule,
|
|
53
|
-
MatFormFieldModule,
|
|
54
|
-
MatInputModule,
|
|
55
|
-
BrowserAnimationsModule,
|
|
56
|
-
MatSnackBarModule,
|
|
57
|
-
// MyLibComponent
|
|
58
|
-
CommonModule,
|
|
59
|
-
BrowserModule,
|
|
60
|
-
HttpClientModule,
|
|
61
|
-
FormsModule,
|
|
62
|
-
MatButtonModule,
|
|
63
|
-
MatCardModule,
|
|
64
|
-
MatFormFieldModule,
|
|
65
|
-
MatInputModule,
|
|
66
|
-
BrowserAnimationsModule,
|
|
67
|
-
MatSnackBarModule] });
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClientCoreModule, decorators: [{
|
|
69
|
-
type: NgModule,
|
|
70
|
-
args: [{
|
|
71
|
-
declarations: [],
|
|
72
|
-
imports: [
|
|
73
|
-
BrowserModule,
|
|
74
|
-
HttpClientModule,
|
|
75
|
-
FormsModule,
|
|
76
|
-
MatButtonModule,
|
|
77
|
-
MatCardModule,
|
|
78
|
-
MatFormFieldModule,
|
|
79
|
-
MatInputModule,
|
|
80
|
-
BrowserAnimationsModule,
|
|
81
|
-
MatSnackBarModule
|
|
82
|
-
],
|
|
83
|
-
exports: [
|
|
84
|
-
// MyLibComponent
|
|
85
|
-
CommonModule,
|
|
86
|
-
BrowserModule,
|
|
87
|
-
HttpClientModule,
|
|
88
|
-
FormsModule,
|
|
89
|
-
MatButtonModule,
|
|
90
|
-
MatCardModule,
|
|
91
|
-
MatFormFieldModule,
|
|
92
|
-
MatInputModule,
|
|
93
|
-
BrowserAnimationsModule,
|
|
94
|
-
MatSnackBarModule
|
|
95
|
-
]
|
|
96
|
-
}]
|
|
97
|
-
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1jb3JlL3NyYy9saWIvbXktbGliLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBaUNoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBZ0I7UUFDaEMsT0FBTztZQUNILFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxXQUFXO2lCQUN4QjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OzhHQVhRLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBeEJ6QixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLGlCQUFpQjtRQUduQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGFBQWE7UUFDWCxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCx1QkFBdUI7UUFDdkIsaUJBQWlCOytHQUdSLGdCQUFnQixZQXhCekIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsZUFBZTtRQUNmLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFHbkIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixhQUFhO1FBQ1gsZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLGlCQUFpQjs0RkFHUixnQkFBZ0I7a0JBNUI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Qsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGFBQWE7d0JBQ1gsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy9pbXBvcnQgeyBNeUxpYkNvbXBvbmVudCB9IGZyb20gJy4vbXktbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmltcG9ydCB7IEVudlNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Vudi9lbnYuc2VydmljZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgLy8gIE15TGliQ29tcG9uZW50XHJcbiAgQ29tbW9uTW9kdWxlLFxyXG4gIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpZW50Q29yZU1vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGVudmlyb25tZW50OiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENsaWVudENvcmVNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogQ2xpZW50Q29yZU1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogJ2VudicsIC8vIHlvdSBjYW4gYWxzbyB1c2UgSW5qZWN0aW9uVG9rZW5cclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiB9XHJcbiBcclxuIl19
|