pdfdancer-client-typescript 1.0.5 → 1.0.6

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 (52) hide show
  1. package/README.md +5 -5
  2. package/dist/__tests__/e2e/test-helpers.d.ts +2 -1
  3. package/dist/__tests__/e2e/test-helpers.d.ts.map +1 -1
  4. package/dist/__tests__/e2e/test-helpers.js +7 -3
  5. package/dist/__tests__/e2e/test-helpers.js.map +1 -1
  6. package/dist/client-v2.d.ts +129 -0
  7. package/dist/client-v2.d.ts.map +1 -0
  8. package/dist/client-v2.js +696 -0
  9. package/dist/client-v2.js.map +1 -0
  10. package/dist/image-builder.d.ts +13 -0
  11. package/dist/image-builder.d.ts.map +1 -0
  12. package/dist/image-builder.js +44 -0
  13. package/dist/image-builder.js.map +1 -0
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/models.d.ts +5 -10
  19. package/dist/models.d.ts.map +1 -1
  20. package/dist/models.js +3 -13
  21. package/dist/models.js.map +1 -1
  22. package/dist/paragraph-builder.d.ts +19 -10
  23. package/dist/paragraph-builder.d.ts.map +1 -1
  24. package/dist/paragraph-builder.js +65 -26
  25. package/dist/paragraph-builder.js.map +1 -1
  26. package/dist/pdfdancer_v1.d.ts +202 -0
  27. package/dist/pdfdancer_v1.d.ts.map +1 -0
  28. package/dist/pdfdancer_v1.js +702 -0
  29. package/dist/pdfdancer_v1.js.map +1 -0
  30. package/dist/types.d.ts +56 -0
  31. package/dist/types.d.ts.map +1 -0
  32. package/dist/types.js +92 -0
  33. package/dist/types.js.map +1 -0
  34. package/package.json +1 -1
  35. package/scripts/release.js +1 -1
  36. package/src/__tests__/client-v1.test.ts +46 -87
  37. package/src/__tests__/e2e/acroform.test.ts +60 -57
  38. package/src/__tests__/e2e/form_x_object.test.ts +17 -16
  39. package/src/__tests__/e2e/image.test.ts +53 -56
  40. package/src/__tests__/e2e/line.test.ts +47 -48
  41. package/src/__tests__/e2e/page.test.ts +37 -36
  42. package/src/__tests__/e2e/paragraph.test.ts +107 -101
  43. package/src/__tests__/e2e/path.test.ts +67 -64
  44. package/src/__tests__/e2e/test-helpers.ts +71 -67
  45. package/src/__tests__/e2e/token_from_env.test.ts +35 -0
  46. package/src/image-builder.ts +52 -0
  47. package/src/index.ts +1 -1
  48. package/src/models.ts +5 -21
  49. package/src/paragraph-builder.ts +217 -162
  50. package/src/{client-v1.ts → pdfdancer_v1.ts} +248 -53
  51. package/src/types.ts +133 -0
  52. package/example.ts +0 -99
package/README.md CHANGED
@@ -21,20 +21,20 @@ npm install pdfdancer-client-typescript
21
21
  ## Basic Usage
22
22
 
23
23
  ```typescript
24
- import {ClientV1, Position, Color, Font} from 'pdfdancer-client-typescript';
24
+ import {PDFDancer, Position, Color, Font} from 'pdfdancer-client-typescript';
25
25
 
26
26
  async function example() {
27
27
  // Load PDF data (from file upload, fetch, etc.)
28
28
  const pdfData = new Uint8Array(/* your PDF data */);
29
29
 
30
30
  // Create client with authentication token
31
- const client = await ClientV1.create('your-auth-token', pdfData, undefined, 30000);
31
+ const client = await PDFDancer.open('your-auth-token', pdfData, undefined, 30000);
32
32
 
33
33
  // Find all paragraphs on page 1
34
34
  const paragraphs = await client.findParagraphs(Position.atPage(1));
35
35
 
36
36
  // Add a new paragraph
37
- const newParagraph = client.paragraphBuilder()
37
+ const newParagraph = client.newParagraph()
38
38
  .fromString('Hello, PDFDancer!', new Color(255, 0, 0))
39
39
  .withFont(new Font('Arial', 12))
40
40
  .withPosition(Position.atPageCoordinates(1, 100, 200))
@@ -55,7 +55,7 @@ async function example() {
55
55
  ### Client Initialization
56
56
 
57
57
  ```typescript
58
- const client = await ClientV1.create(
58
+ const client = await PDFDancer.open(
59
59
  token, // Authentication token
60
60
  pdfData, // PDF data as Uint8Array, File, or ArrayBuffer
61
61
  baseUrl, // Optional: API server URL (default: http://localhost:8080)
@@ -98,7 +98,7 @@ const movedPosition = coordPosition.copy().moveX(50).moveY(30);
98
98
 
99
99
  ```typescript
100
100
  // Add paragraph using builder pattern
101
- const paragraph = client.paragraphBuilder()
101
+ const paragraph = client.newParagraph()
102
102
  .fromString('Your text here')
103
103
  .withFont(new Font('Arial', 12))
104
104
  .withColor(new Color(0, 0, 0))
@@ -18,13 +18,14 @@ export declare function serverUp(baseUrl: string): Promise<boolean>;
18
18
  */
19
19
  export declare function requireEnvAndFixture(pdfFilename: string): Promise<[string, string, Uint8Array]>;
20
20
  /**
21
- * Helper to create temporary file path (for Node.js environment)
21
+ * Helper to open temporary file path (for Node.js environment)
22
22
  */
23
23
  export declare function createTempPath(filename: string): string;
24
24
  /**
25
25
  * Helper to read image file for tests
26
26
  */
27
27
  export declare function readImageFixture(filename: string): Uint8Array;
28
+ export declare function getImagePath(filename: string): string;
28
29
  /**
29
30
  * Helper to read font file for tests
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAU7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAU5D"}
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAU5D"}
@@ -42,6 +42,7 @@ exports.serverUp = serverUp;
42
42
  exports.requireEnvAndFixture = requireEnvAndFixture;
43
43
  exports.createTempPath = createTempPath;
44
44
  exports.readImageFixture = readImageFixture;
45
+ exports.getImagePath = getImagePath;
45
46
  exports.readFontFixture = readFontFixture;
46
47
  const fs = __importStar(require("fs"));
47
48
  const path = __importStar(require("path"));
@@ -124,7 +125,7 @@ async function requireEnvAndFixture(pdfFilename) {
124
125
  return [baseUrl, token, new Uint8Array(pdfData)];
125
126
  }
126
127
  /**
127
- * Helper to create temporary file path (for Node.js environment)
128
+ * Helper to open temporary file path (for Node.js environment)
128
129
  */
129
130
  function createTempPath(filename) {
130
131
  const tmpDir = process.env.TMPDIR || '/tmp';
@@ -134,14 +135,17 @@ function createTempPath(filename) {
134
135
  * Helper to read image file for tests
135
136
  */
136
137
  function readImageFixture(filename) {
137
- const fixturesDir = path.resolve(__dirname, '../../../fixtures');
138
- const imagePath = path.join(fixturesDir, filename);
138
+ const imagePath = getImagePath(filename);
139
139
  if (!fs.existsSync(imagePath)) {
140
140
  throw new Error(`Image fixture not found: ${filename}`);
141
141
  }
142
142
  const imageData = fs.readFileSync(imagePath);
143
143
  return new Uint8Array(imageData);
144
144
  }
145
+ function getImagePath(filename) {
146
+ const fixturesDir = path.resolve(__dirname, '../../../fixtures');
147
+ return path.join(fixturesDir, filename);
148
+ }
145
149
  /**
146
150
  * Helper to read font file for tests
147
151
  */
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,gCAEC;AAKD,8BAmBC;AAKD,4BAUC;AAoBD,oDAsBC;AAKD,wCAGC;AAKD,4CASC;AAED,oCAGC;AAKD,0CAUC;AAnID,uCAAyB;AACzB,2CAA6B;AAE7B;;GAEG;AACH,SAAgB,UAAU;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAE7D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC1C,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,OAAO,EAAE;YAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW,EAAE,OAAe;IAC3C,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK;aACP,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IAC1D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,0CAA0C,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IACjH,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY,CAAC,QAAgB;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * PDFDancer TypeScript Client V2
3
+ *
4
+ * New typed API with the pattern: open → select{Type}(criteria) → edit(properties) → save
5
+ */
6
+ import { Color, Font, ObjectRef, ObjectType, Paragraph, Position } from './models';
7
+ export interface SelectTextCriteria {
8
+ containing?: string;
9
+ at?: [number, number];
10
+ withinBbox?: [number, number, number, number];
11
+ font?: string;
12
+ }
13
+ export interface SelectImageCriteria {
14
+ at?: [number, number];
15
+ index?: number;
16
+ }
17
+ export interface SelectPathCriteria {
18
+ at?: [number, number];
19
+ }
20
+ export interface TextEditOptions {
21
+ replace?: string;
22
+ font?: string;
23
+ size?: number;
24
+ lineSpacing?: number;
25
+ color?: string;
26
+ }
27
+ export interface ImageEditOptions {
28
+ scale?: number;
29
+ translate?: [number, number];
30
+ rotate?: number;
31
+ }
32
+ export interface PathEditOptions {
33
+ stroke?: string;
34
+ fill?: string;
35
+ lineWidth?: number;
36
+ scale?: number;
37
+ translate?: [number, number];
38
+ rotate?: number;
39
+ }
40
+ export interface PDFDancerOpenOptions {
41
+ token: string;
42
+ baseUrl?: string;
43
+ timeout?: number;
44
+ }
45
+ declare class HttpClient {
46
+ private token;
47
+ private sessionId;
48
+ private baseUrl;
49
+ private timeout;
50
+ constructor(token: string, sessionId: string, baseUrl: string, timeout: number);
51
+ request(method: string, path: string, data?: Record<string, any>, params?: Record<string, string>): Promise<Response>;
52
+ private extractErrorMessage;
53
+ }
54
+ export declare class TextObject {
55
+ private objectRef;
56
+ private client;
57
+ private objectType;
58
+ constructor(objectRef: ObjectRef, client: HttpClient, objectType: ObjectType);
59
+ edit(options: TextEditOptions): Promise<void>;
60
+ }
61
+ export declare class ImageObject {
62
+ private objectRef;
63
+ private client;
64
+ constructor(objectRef: ObjectRef, client: HttpClient);
65
+ edit(options: ImageEditOptions): Promise<void>;
66
+ }
67
+ export declare class PathObject {
68
+ private objectRef;
69
+ private client;
70
+ constructor(objectRef: ObjectRef, client: HttpClient);
71
+ edit(options: PathEditOptions): Promise<void>;
72
+ }
73
+ export declare class PDFPage {
74
+ private pageIndex;
75
+ private client;
76
+ constructor(pageIndex: number, client: HttpClient);
77
+ selectText(criteria: SelectTextCriteria): Promise<TextObject>;
78
+ selectImage(criteria: SelectImageCriteria): Promise<ImageObject>;
79
+ selectPath(criteria: SelectPathCriteria): Promise<PathObject>;
80
+ private buildPositionFromCriteria;
81
+ private buildPositionFromImageCriteria;
82
+ private buildPositionFromPathCriteria;
83
+ private findObjects;
84
+ private parseObjectRef;
85
+ private parsePosition;
86
+ }
87
+ export declare class PDFDocument {
88
+ private client;
89
+ private sessionId;
90
+ constructor(client: HttpClient, sessionId: string);
91
+ page(index: number): PDFPage;
92
+ findParagraphs(position?: Position): Promise<ObjectRef[]>;
93
+ findImages(position?: Position): Promise<ObjectRef[]>;
94
+ findTextLines(position?: Position): Promise<ObjectRef[]>;
95
+ findPaths(position?: Position): Promise<ObjectRef[]>;
96
+ findFormXObjects(position?: Position): Promise<ObjectRef[]>;
97
+ private findObjects;
98
+ private parseObjectRef;
99
+ private parsePosition;
100
+ delete(objectRef: ObjectRef): Promise<boolean>;
101
+ move(objectRef: ObjectRef, position: Position): Promise<boolean>;
102
+ addParagraph(paragraph: Paragraph): Promise<boolean>;
103
+ modifyParagraph(objectRef: ObjectRef, newParagraph: Paragraph | string): Promise<boolean>;
104
+ findFonts(fontName: string, fontSize: number): Promise<Font[]>;
105
+ registerFont(ttfFile: Uint8Array | File): Promise<string>;
106
+ private extractErrorMessage;
107
+ paragraphBuilder(): ParagraphBuilderV2;
108
+ save(filename?: string): Promise<void>;
109
+ }
110
+ export declare class ParagraphBuilderV2 {
111
+ private document;
112
+ private paragraph;
113
+ constructor(document: PDFDocument);
114
+ fromString(text: string): this;
115
+ withFont(font: Font): this;
116
+ withLineSpacing(lineSpacing: number): this;
117
+ withColor(color: Color): this;
118
+ withPosition(position: Position): this;
119
+ withFontFile(ttfData: Uint8Array, fontSize: number): Promise<this>;
120
+ build(): Paragraph;
121
+ }
122
+ export declare class PDFDancer {
123
+ static open(pdfData: Uint8Array | File | ArrayBuffer, options: PDFDancerOpenOptions): Promise<PDFDocument>;
124
+ private static processPdfData;
125
+ private static createSession;
126
+ private static extractErrorMessage;
127
+ }
128
+ export {};
129
+ //# sourceMappingURL=client-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}