@tetacom/ng-components 1.1.12 → 1.1.13

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.
Files changed (21) hide show
  1. package/component/three/public-api.d.ts +1 -1
  2. package/component/three/three-chart/{lithotype-3d/lithotype-3d.component.d.ts → block-3d/block-3d.component.d.ts} +8 -9
  3. package/component/three/three-chart/model/block3d-point.d.ts +5 -0
  4. package/component/three/three-chart/model/enum/series-3d-type.d.ts +1 -1
  5. package/component/three/three-chart/model/lithotype-3d-series.d.ts +3 -3
  6. package/component/three/three-chart/model/public-api.d.ts +2 -2
  7. package/component/three/three-chart/scene/scene.component.d.ts +2 -2
  8. package/esm2022/component/three/public-api.mjs +2 -2
  9. package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +78 -0
  10. package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +7 -6
  11. package/esm2022/component/three/three-chart/model/block3d-point.mjs +2 -0
  12. package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +2 -2
  13. package/esm2022/component/three/three-chart/model/lithotype-3d-series.mjs +1 -1
  14. package/esm2022/component/three/three-chart/model/public-api.mjs +3 -3
  15. package/esm2022/component/three/three-chart/scene/scene.component.mjs +7 -7
  16. package/fesm2022/tetacom-ng-components.mjs +26 -27
  17. package/fesm2022/tetacom-ng-components.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/component/three/three-chart/model/lithotype-3d-point.d.ts +0 -5
  20. package/esm2022/component/three/three-chart/lithotype-3d/lithotype-3d.component.mjs +0 -80
  21. package/esm2022/component/three/three-chart/model/lithotype-3d-point.mjs +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tetacom/ng-components",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^16.1.3",
@@ -1,5 +0,0 @@
1
- import { Base3dThreePoint } from './base-3d-three-point';
2
- export interface Lithotype3dPoint extends Base3dThreePoint {
3
- lithotypeId: number;
4
- lithotypeName?: string;
5
- }
@@ -1,80 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgtsText } from 'angular-three-soba/abstractions';
4
- import { extend, NgtArgs } from 'angular-three';
5
- import * as THREE from 'three';
6
- import { map, takeWhile } from 'rxjs';
7
- import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../service/chart-3d.service";
10
- import * as i2 from "angular-three";
11
- import * as i3 from "@angular/common";
12
- extend(THREE);
13
- export class Lithotype3dComponent extends Base3dSeriesComponent {
14
- svc;
15
- ngtStore;
16
- lithotypes;
17
- _alive = true;
18
- Math = Math;
19
- constructor(svc, ngtStore) {
20
- super(svc, ngtStore);
21
- this.svc = svc;
22
- this.ngtStore = ngtStore;
23
- }
24
- ngOnInit() {
25
- this.lithotypes = this.svc.scales.pipe(takeWhile(() => this._alive), map((scales) => {
26
- return this.series?.data.map((_) => {
27
- return this.createSVGTexture(scales.y(_.y), scales.y(_.y1), _.lithotypeId);
28
- });
29
- }));
30
- }
31
- createSVGTexture(y, y1, litotypeId) {
32
- const max = Math.max(y, y1);
33
- const min = Math.min(y, y1);
34
- const height = Math.abs(max - min);
35
- const icon = document.querySelector(`#icon${litotypeId}`);
36
- const svgString = `<svg width="100" height="100" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">${icon.innerHTML}</svg>`;
37
- const loader = new THREE.TextureLoader();
38
- const texture = loader.load(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`);
39
- const plane = this.createTexturedPlane(texture, 100, height);
40
- const plane1 = this.createTexturedPlane(texture, 25, height);
41
- plane.rotation.set(0, Math.PI / 2, 0);
42
- plane.position.set(0.17, min + height / 2, 0);
43
- plane1.position.set(25 / 2, min + height / 2, -50 + 0.17);
44
- return [
45
- { component: plane, position: min + height / 2 },
46
- { component: plane1, position: min + height / 2 },
47
- ];
48
- }
49
- createTexturedPlane(texture, width, height) {
50
- texture.wrapS = THREE.RepeatWrapping;
51
- texture.wrapT = THREE.RepeatWrapping;
52
- texture.repeat.set(10, 9);
53
- const material = new THREE.MeshBasicMaterial({ map: texture });
54
- const geometry = new THREE.PlaneGeometry(width, height, 1, 1);
55
- const uvs = geometry.attributes['uv'].array;
56
- const newUvs = new Float32Array(uvs);
57
- newUvs[0] = 0;
58
- newUvs[1] = 0;
59
- newUvs[2] = width / 100;
60
- newUvs[3] = 0;
61
- newUvs[4] = 0;
62
- newUvs[5] = height / 100;
63
- newUvs[6] = width / 100;
64
- newUvs[7] = height / 100;
65
- geometry.attributes['uv'].needsUpdate = true;
66
- geometry.setAttribute('uv', new THREE.BufferAttribute(newUvs, 2));
67
- const plane = new THREE.Mesh(geometry, material);
68
- return plane;
69
- }
70
- ngOnDestroy() {
71
- this._alive = false;
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Lithotype3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Lithotype3dComponent, isStandalone: true, selector: "teta-lithotype-3d", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{lithotypes:lithotypes|async,scales:svc.scales|async}as data\">\n <ng-container *ngFor=\"let mesh of data.lithotypes;let i=index\">\n <ngt-primitive *args=\"[mesh[0].component]\"></ngt-primitive>\n <ngts-text [text]=\"series.data[i].lithotypeName\"\n color=\"black\"\n [fontSize]=\"2.5\"\n [rotation]=\"[0,Math.PI/2,0]\"\n [position]=\"[1,mesh[0].position,5]\"\n [textAlign]=\"'left'\"\n [anchorX]=\"'center'\"\n [anchorY]=\"'middle'\"></ngts-text>\n <ngt-primitive *args=\"[mesh[1].component]\"></ngt-primitive>\n </ng-container>\n</ng-container>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "component", type: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Lithotype3dComponent, decorators: [{
77
- type: Component,
78
- args: [{ selector: 'teta-lithotype-3d', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, NgtArgs, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"{lithotypes:lithotypes|async,scales:svc.scales|async}as data\">\n <ng-container *ngFor=\"let mesh of data.lithotypes;let i=index\">\n <ngt-primitive *args=\"[mesh[0].component]\"></ngt-primitive>\n <ngts-text [text]=\"series.data[i].lithotypeName\"\n color=\"black\"\n [fontSize]=\"2.5\"\n [rotation]=\"[0,Math.PI/2,0]\"\n [position]=\"[1,mesh[0].position,5]\"\n [textAlign]=\"'left'\"\n [anchorX]=\"'center'\"\n [anchorY]=\"'middle'\"></ngts-text>\n <ngt-primitive *args=\"[mesh[1].component]\"></ngt-primitive>\n </ng-container>\n</ng-container>\n\n" }]
79
- }], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbGl0aG90eXBlLTNkL2xpdGhvdHlwZS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpdGhvdHlwZS0zZC9saXRob3R5cGUtM2QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEdBRXZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHL0IsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7O0FBR2xGLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxvQkFDWCxTQUFRLHFCQUF3QjtJQVlYO0lBQThCO0lBVDVDLFVBQVUsQ0FLZjtJQUNNLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDSCxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRS9CLFlBQXFCLEdBQW1CLEVBQVcsUUFBa0I7UUFDbkUsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURGLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUVyRSxDQUFDO0lBRUQs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O0lBQ3RCLENBQUM7dUdBN0VVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLG9HQzFCakMsNHFCQWVBLDJDRFFZLFlBQVkscVRBQUUsT0FBTyxxRUFBRSxRQUFROzsyRkFHOUIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLG1CQUFtQixjQUVqQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxXQUNqQyxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzVGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXRob3R5cGUzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvbGl0aG90eXBlLTNkLXBvaW50JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1saXRob3R5cGUtM2QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGl0aG90eXBlLTNkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndEFyZ3MsIE5ndHNUZXh0XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXRob3R5cGUzZENvbXBvbmVudDxUIGV4dGVuZHMgTGl0aG90eXBlM2RQb2ludD5cbiAgZXh0ZW5kcyBCYXNlM2RTZXJpZXNDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGxpdGhvdHlwZXM6IE9ic2VydmFibGU8XG4gICAge1xuICAgICAgY29tcG9uZW50OiBUSFJFRS5NZXNoPFRIUkVFLlBsYW5lR2VvbWV0cnksIFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsPjtcbiAgICAgIHBvc2l0aW9uOiBudW1iZXI7XG4gICAgfVtdW11cbiAgPjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpdGhvdHlwZXMgPSB0aGlzLnN2Yy5zY2FsZXMucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICBtYXAoKHNjYWxlcykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpZXM/LmRhdGEubWFwKChfKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlU1ZHVGV4dHVyZShcbiAgICAgICAgICAgIHNjYWxlcy55KF8ueSksXG4gICAgICAgICAgICBzY2FsZXMueShfLnkxKSxcbiAgICAgICAgICAgIF8ubGl0aG90eXBlSWRcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNWR1RleHR1cmUoeTogbnVtYmVyLCB5MTogbnVtYmVyLCBsaXRvdHlwZUlkOiBudW1iZXIpIHtcbiAgICBjb25zdCBtYXggPSBNYXRoLm1heCh5LCB5MSk7XG4gICAgY29uc3QgbWluID0gTWF0aC5taW4oeSwgeTEpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKG1heCAtIG1pbik7XG4gICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCNpY29uJHtsaXRvdHlwZUlkfWApO1xuICAgIGNvbnN0IHN2Z1N0cmluZyA9IGA8c3ZnIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiMTAwXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4ke2ljb24uaW5uZXJIVE1MfTwvc3ZnPmA7XG5cbiAgICBjb25zdCBsb2FkZXIgPSBuZXcgVEhSRUUuVGV4dHVyZUxvYWRlcigpO1xuICAgIGNvbnN0IHRleHR1cmUgPSBsb2FkZXIubG9hZChcbiAgICAgIGBkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwke2VuY29kZVVSSUNvbXBvbmVudChzdmdTdHJpbmcpfWBcbiAgICApO1xuICAgIGNvbnN0IHBsYW5lID0gdGhpcy5jcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmUsIDEwMCwgaGVpZ2h0KTtcbiAgICBjb25zdCBwbGFuZTEgPSB0aGlzLmNyZWF0ZVRleHR1cmVkUGxhbmUodGV4dHVyZSwgMjUsIGhlaWdodCk7XG4gICAgcGxhbmUucm90YXRpb24uc2V0KDAsIE1hdGguUEkgLyAyLCAwKTtcbiAgICBwbGFuZS5wb3NpdGlvbi5zZXQoMC4xNywgbWluICsgaGVpZ2h0IC8gMiwgMCk7XG4gICAgcGxhbmUxLnBvc2l0aW9uLnNldCgyNSAvIDIsIG1pbiArIGhlaWdodCAvIDIsIC01MCArIDAuMTcpO1xuICAgIHJldHVybiBbXG4gICAgICB7IGNvbXBvbmVudDogcGxhbmUsIHBvc2l0aW9uOiBtaW4gKyBoZWlnaHQgLyAyIH0sXG4gICAgICB7IGNvbXBvbmVudDogcGxhbmUxLCBwb3NpdGlvbjogbWluICsgaGVpZ2h0IC8gMiB9LFxuICAgIF07XG4gIH1cblxuICBjcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmU6IFRleHR1cmUsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICB0ZXh0dXJlLnJlcGVhdC5zZXQoMTAsIDkpO1xuICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHsgbWFwOiB0ZXh0dXJlIH0pO1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkod2lkdGgsIGhlaWdodCwgMSwgMSk7XG4gICAgY29uc3QgdXZzID0gZ2VvbWV0cnkuYXR0cmlidXRlc1sndXYnXS5hcnJheTtcbiAgICBjb25zdCBuZXdVdnMgPSBuZXcgRmxvYXQzMkFycmF5KHV2cyk7XG4gICAgbmV3VXZzWzBdID0gMDtcbiAgICBuZXdVdnNbMV0gPSAwO1xuICAgIG5ld1V2c1syXSA9IHdpZHRoIC8gMTAwO1xuICAgIG5ld1V2c1szXSA9IDA7XG4gICAgbmV3VXZzWzRdID0gMDtcbiAgICBuZXdVdnNbNV0gPSBoZWlnaHQgLyAxMDA7XG4gICAgbmV3VXZzWzZdID0gd2lkdGggLyAxMDA7XG4gICAgbmV3VXZzWzddID0gaGVpZ2h0IC8gMTAwO1xuICAgIGdlb21ldHJ5LmF0dHJpYnV0ZXNbJ3V2J10ubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIGdlb21ldHJ5LnNldEF0dHJpYnV0ZSgndXYnLCBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ld1V2cywgMikpO1xuICAgIGNvbnN0IHBsYW5lID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICByZXR1cm4gcGxhbmU7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntsaXRob3R5cGVzOmxpdGhvdHlwZXN8YXN5bmMsc2NhbGVzOnN2Yy5zY2FsZXN8YXN5bmN9YXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXNoIG9mIGRhdGEubGl0aG90eXBlcztsZXQgaT1pbmRleFwiPlxuICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW21lc2hbMF0uY29tcG9uZW50XVwiPjwvbmd0LXByaW1pdGl2ZT5cbiAgICA8bmd0cy10ZXh0IFt0ZXh0XT1cInNlcmllcy5kYXRhW2ldLmxpdGhvdHlwZU5hbWVcIlxuICAgICAgICAgICAgICAgY29sb3I9XCJibGFja1wiXG4gICAgICAgICAgICAgICBbZm9udFNpemVdPVwiMi41XCJcbiAgICAgICAgICAgICAgIFtyb3RhdGlvbl09XCJbMCxNYXRoLlBJLzIsMF1cIlxuICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlsxLG1lc2hbMF0ucG9zaXRpb24sNV1cIlxuICAgICAgICAgICAgICAgW3RleHRBbGlnbl09XCInbGVmdCdcIlxuICAgICAgICAgICAgICAgW2FuY2hvclhdPVwiJ2NlbnRlcidcIlxuICAgICAgICAgICAgICAgW2FuY2hvclldPVwiJ21pZGRsZSdcIj48L25ndHMtdGV4dD5cbiAgICA8bmd0LXByaW1pdGl2ZSAqYXJncz1cIlttZXNoWzFdLmNvbXBvbmVudF1cIj48L25ndC1wcmltaXRpdmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9tb2RlbC9saXRob3R5cGUtM2QtcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2UzZFRocmVlUG9pbnQgfSBmcm9tICcuL2Jhc2UtM2QtdGhyZWUtcG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpdGhvdHlwZTNkUG9pbnQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50IHtcbiAgbGl0aG90eXBlSWQ6IG51bWJlcjtcbiAgbGl0aG90eXBlTmFtZT86IHN0cmluZztcbn1cbiJdfQ==