@universis/signer-worker 1.6.0 → 1.6.2

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/README.md CHANGED
@@ -142,3 +142,5 @@ The remote signer service host should be configured in the application settings:
142
142
  Where `host` is the URL of the remote Universis Signer service.
143
143
 
144
144
  Remote signer worker will expose the same methods under `/services/remoteSigner` as the local signer worker, allowing you to sign files and data in the same way as described above.
145
+
146
+ An example of using the remote signer worker is available when implementing [Universis Signer DocuSign Extension] (https://gitlab.com/universis/universis-signer-docusign-plugin) where the remote signer worker is used to sign documents using DocuSign API services installed in local environment.
@@ -1,8 +1,10 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { ApplicationBase, ApplicationService } from '@themost/common';
3
4
  import { ExpressDataContext } from '@themost/express';
4
5
  import { Certificate, JsonWebKey, VerifySignatureResult, SignJsonSignatureResult, SignerServiceImpl } from './SignerServiceImpl';
5
6
  import { TOTPOptions } from 'xotp';
7
+ import { PassThrough } from 'stream';
6
8
  export declare class SignerService extends ApplicationService implements SignerServiceImpl {
7
9
  protected options?: {
8
10
  host?: string;
@@ -50,6 +52,15 @@ export declare class SignerService extends ApplicationService implements SignerS
50
52
  timestampServer?: string;
51
53
  reason?: string;
52
54
  }): Promise<Buffer>;
55
+ verifyStream(context: ExpressDataContext, data: (PassThrough & {
56
+ contentType: string;
57
+ contentLocation: string;
58
+ contentExtension: string;
59
+ }), extraOptions?: {
60
+ filename?: string;
61
+ contentType: string;
62
+ contentExtension: string;
63
+ }): Promise<VerifySignatureResult[]>;
53
64
  verifyFile(context: ExpressDataContext, file: string, options?: {
54
65
  filename: string;
55
66
  contentType: string;
package/dist/index.esm.js CHANGED
@@ -1,11 +1,11 @@
1
- import { HttpMethodNotAllowedError, ApplicationService, HttpError, TraceUtils } from '@themost/common';
1
+ import { HttpMethodNotAllowedError, ApplicationService, HttpError, TraceUtils, RandomUtils } from '@themost/common';
2
2
  import express from 'express';
3
3
  import { createProxyMiddleware } from 'http-proxy-middleware';
4
4
  import { serviceRouter } from '@themost/express';
5
5
  import request from 'superagent';
6
6
  import { URL } from 'url';
7
7
  import path from 'path';
8
- import { writeFile as writeFile$1, unlink as unlink$1 } from 'fs';
8
+ import fs, { writeFile as writeFile$1, unlink as unlink$1 } from 'fs';
9
9
  import { promisify } from 'util';
10
10
  import crypto from 'crypto';
11
11
  import os from 'os';
@@ -135,6 +135,8 @@ class SignerWorker extends ApplicationService {
135
135
  }
136
136
  }
137
137
 
138
+ const unlinkAsync = promisify(fs.unlink);
139
+ const statAsync = promisify(fs.stat);
138
140
  const writeFile = promisify(writeFile$1);
139
141
  const unlink = promisify(unlink$1);
140
142
  function tmpFile(extension = '.tmp') {
@@ -314,6 +316,46 @@ class SignerService extends ApplicationService {
314
316
  return this.signFinal(context, file, contentType, extraOptions);
315
317
  });
316
318
  }
319
+ verifyStream(context, data, extraOptions) {
320
+ return __awaiter(this, void 0, void 0, function* () {
321
+ const contentExtension = data.contentExtension || (extraOptions && extraOptions.contentExtension);
322
+ const contentType = data.contentType || (extraOptions && extraOptions.contentType);
323
+ const fileName = RandomUtils.randomChars(24) + contentExtension;
324
+ const filePath = path.resolve(os.tmpdir(), fileName);
325
+ try {
326
+ // noinspection JSValidateTypes
327
+ yield new Promise((resolve, reject) => {
328
+ const writeStream = fs.createWriteStream(filePath);
329
+ data.pipe(writeStream);
330
+ writeStream.on('finish', () => {
331
+ return resolve();
332
+ });
333
+ writeStream.on('error', (err) => {
334
+ return reject(err);
335
+ });
336
+ });
337
+ // noinspection JSCheckFunctionSignatures
338
+ return yield this.verifyFile(context, filePath, {
339
+ filename: fileName,
340
+ contentType
341
+ });
342
+ }
343
+ finally {
344
+ try {
345
+ const stat = yield statAsync(filePath);
346
+ if (stat.isFile()) {
347
+ yield unlinkAsync(filePath);
348
+ }
349
+ }
350
+ catch (err) {
351
+ if (err.code !== 'ENOENT') {
352
+ // do nothing
353
+ TraceUtils.warn(err);
354
+ }
355
+ }
356
+ }
357
+ });
358
+ }
317
359
  verifyFile(context, file, options) {
318
360
  return __awaiter(this, void 0, void 0, function* () {
319
361
  try {
@@ -341,6 +383,21 @@ class SignerService extends ApplicationService {
341
383
  if (this.options.inspector) {
342
384
  Object.assign(fields, this.options.inspector);
343
385
  }
386
+ // encode URI components
387
+ Object.keys(fields).forEach((key) => {
388
+ if (typeof fields[key] === 'string') {
389
+ fields[key] = encodeURIComponent(fields[key]);
390
+ }
391
+ if (Array.isArray(fields[key]) && fields[key].length > 0) {
392
+ const values = fields[key];
393
+ fields[key] = values.map((value) => {
394
+ if (typeof value === 'string') {
395
+ return encodeURIComponent(value);
396
+ }
397
+ return value;
398
+ });
399
+ }
400
+ });
344
401
  const response = yield request.post(new URL('/signature/inspect', this.options.host).toString())
345
402
  .field(fields)
346
403
  .attach('file', file, options);
@@ -382,7 +439,7 @@ class SignerService extends ApplicationService {
382
439
  Object.assign(fields, {
383
440
  page: extraOptions.page,
384
441
  position: extraOptions.position.map((element) => {
385
- return Math.round(element);
442
+ return Math.round(element).toFixed(0);
386
443
  }).join(',')
387
444
  });
388
445
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts","../src/SignerService.ts","../src/remoteSignerWorkerRouter.ts","../src/RemoteSignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":["writeFileWithCallback","unlinkWithCallback"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts","../src/SignerService.ts","../src/remoteSignerWorkerRouter.ts","../src/RemoteSignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":["writeFileWithCallback","unlinkWithCallback"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
21
21
  var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
22
22
  var request__default = /*#__PURE__*/_interopDefaultLegacy(request);
23
23
  var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
24
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
24
25
  var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto);
25
26
  var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
26
27
 
@@ -147,6 +148,8 @@ class SignerWorker extends common.ApplicationService {
147
148
  }
148
149
  }
149
150
 
151
+ const unlinkAsync = util.promisify(fs__default["default"].unlink);
152
+ const statAsync = util.promisify(fs__default["default"].stat);
150
153
  const writeFile = util.promisify(fs.writeFile);
151
154
  const unlink = util.promisify(fs.unlink);
152
155
  function tmpFile(extension = '.tmp') {
@@ -326,6 +329,46 @@ class SignerService extends common.ApplicationService {
326
329
  return this.signFinal(context, file, contentType, extraOptions);
327
330
  });
328
331
  }
332
+ verifyStream(context, data, extraOptions) {
333
+ return __awaiter(this, void 0, void 0, function* () {
334
+ const contentExtension = data.contentExtension || (extraOptions && extraOptions.contentExtension);
335
+ const contentType = data.contentType || (extraOptions && extraOptions.contentType);
336
+ const fileName = common.RandomUtils.randomChars(24) + contentExtension;
337
+ const filePath = path__default["default"].resolve(os__default["default"].tmpdir(), fileName);
338
+ try {
339
+ // noinspection JSValidateTypes
340
+ yield new Promise((resolve, reject) => {
341
+ const writeStream = fs__default["default"].createWriteStream(filePath);
342
+ data.pipe(writeStream);
343
+ writeStream.on('finish', () => {
344
+ return resolve();
345
+ });
346
+ writeStream.on('error', (err) => {
347
+ return reject(err);
348
+ });
349
+ });
350
+ // noinspection JSCheckFunctionSignatures
351
+ return yield this.verifyFile(context, filePath, {
352
+ filename: fileName,
353
+ contentType
354
+ });
355
+ }
356
+ finally {
357
+ try {
358
+ const stat = yield statAsync(filePath);
359
+ if (stat.isFile()) {
360
+ yield unlinkAsync(filePath);
361
+ }
362
+ }
363
+ catch (err) {
364
+ if (err.code !== 'ENOENT') {
365
+ // do nothing
366
+ common.TraceUtils.warn(err);
367
+ }
368
+ }
369
+ }
370
+ });
371
+ }
329
372
  verifyFile(context, file, options) {
330
373
  return __awaiter(this, void 0, void 0, function* () {
331
374
  try {
@@ -353,6 +396,21 @@ class SignerService extends common.ApplicationService {
353
396
  if (this.options.inspector) {
354
397
  Object.assign(fields, this.options.inspector);
355
398
  }
399
+ // encode URI components
400
+ Object.keys(fields).forEach((key) => {
401
+ if (typeof fields[key] === 'string') {
402
+ fields[key] = encodeURIComponent(fields[key]);
403
+ }
404
+ if (Array.isArray(fields[key]) && fields[key].length > 0) {
405
+ const values = fields[key];
406
+ fields[key] = values.map((value) => {
407
+ if (typeof value === 'string') {
408
+ return encodeURIComponent(value);
409
+ }
410
+ return value;
411
+ });
412
+ }
413
+ });
356
414
  const response = yield request__default["default"].post(new url.URL('/signature/inspect', this.options.host).toString())
357
415
  .field(fields)
358
416
  .attach('file', file, options);
@@ -394,7 +452,7 @@ class SignerService extends common.ApplicationService {
394
452
  Object.assign(fields, {
395
453
  page: extraOptions.page,
396
454
  position: extraOptions.position.map((element) => {
397
- return Math.round(element);
455
+ return Math.round(element).toFixed(0);
398
456
  }).join(',')
399
457
  });
400
458
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts","../src/SignerService.ts","../src/remoteSignerWorkerRouter.ts","../src/RemoteSignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":["express","HttpMethodNotAllowedError","createProxyMiddleware","ApplicationService","serviceRouter","request","URL","HttpError","TraceUtils","promisify","writeFileWithCallback","unlinkWithCallback","os","crypto","path","DataCacheStrategy","Secret","TOTP"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/signerWorkerRouter.ts","../src/SignerScopeAccess.ts","../src/SignerWorker.ts","../src/SignerService.ts","../src/remoteSignerWorkerRouter.ts","../src/RemoteSignerWorker.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":["express","HttpMethodNotAllowedError","createProxyMiddleware","ApplicationService","serviceRouter","request","URL","HttpError","TraceUtils","promisify","fs","writeFileWithCallback","unlinkWithCallback","os","crypto","path","DataCacheStrategy","Secret","TOTP","RandomUtils"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAqDA;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,KAAK,CAAC,CAAC;AACP;;ACvEgB,SAAA,kBAAkB,CAAC,MAAA,GAAiB,wBAAwB,EAAA;AACxE,IAAA,MAAM,MAAM,GAAGA,2BAAO,CAAC,MAAM,EAAE,CAAC;AAChC,IAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;QACnC,OAAO,IAAI,CAAC,IAAIC,gCAAyB,CAAC,0DAA0D,CAAC,CAAC,CAAA;AAC1G,KAAC,CAAC,CAAC;AACH,IAAA,MAAM,CAAC,GAAG,CAACC,yCAAqB,CAAC;QAC7B,MAAM;AACN,QAAA,WAAW,EAAE;AACT,YAAA,cAAc,EAAG,EAAE;AACtB,SAAA;AACD,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,IAAI;AACrB,KAAA,CAAC,CAAC,CAAC;AACJ,IAAA,OAAO,MAAM,CAAC;AAClB;;AClBO,MAAM,iBAAiB,GAAG;AAC7B,IAAA;AACI,QAAA,KAAK,EAAE;YACH,WAAW;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,MAAM,EAAE;YACJ,MAAM;YACN,OAAO;AACV,SAAA;AACJ,KAAA;AACD,IAAA;AACI,QAAA,KAAK,EAAE;YACH,UAAU;AACb,SAAA;AACD,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,MAAM,EAAE;YACJ,MAAM;YACN,OAAO;AACV,SAAA;AACJ,KAAA;CACJ;;ACPD,MAAM,wBAAwB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACW,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;KACxB;AAAA,CAAA;AAuBK,MAAO,YAAa,SAAQC,yBAAkB,CAAA;AAMhD,IAAA,WAAA,CAAY,GAAoB,EAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IAED,OAAO,GAAA;;AAEH,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AACzB,YAAA,IAAI,EAAE,wBAAwB;AACjC,SAAA,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAC5F,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAkC,CAAC;AACtE,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAsB,KAAI;AACnD,gBAAA,IAAI,SAAS,EAAE;;oBAEX,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACrF,oBAAA,IAAI,WAAW,EAAE;AACb,wBAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC5E,qBAAA;;AAED,oBAAAC,uBAAa,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED;;;;;;AAMG;AACG,IAAA,MAAM,CAAC,OAA2B,EAAE,QAAgB,EAAE,OAAmD,EAAA;;YAC3G,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAMC,2BAAO,CAAC,IAAI,CAAC,IAAIC,OAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChF,qBAAA,MAAM,CAAC,MAAM,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtC,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC;AACxB,iBAAA;;AAED,gBAAA,MAAM,IAAIC,gBAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAAC,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,iBAAA;AACD,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;SAEJ,CAAA,CAAA;AAAA,KAAA;AAEJ;;ACjFD,MAAM,WAAW,GAAGE,cAAS,CAACC,sBAAE,CAAC,MAAM,CAAC,CAAC;AACzC,MAAM,SAAS,GAAGD,cAAS,CAACC,sBAAE,CAAC,IAAI,CAAC,CAAC;AAErC,MAAM,SAAS,GAAGD,cAAS,CAACE,YAAqB,CAAC,CAAC;AACnD,MAAM,MAAM,GAAGF,cAAS,CAACG,SAAkB,CAAC,CAAC;AAK7C,SAAS,OAAO,CAAC,SAAA,GAAoB,MAAM,EAAA;AACvC,IAAA,MAAM,MAAM,GAAGC,sBAAE,CAAC,MAAM,EAAE,CAAC;AAC3B,IAAA,MAAM,QAAQ,GAAG,CAAA,KAAA,EAAQC,0BAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAG,EAAA,SAAS,EAAE,CAAC;IAC9E,OAAOC,wBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAGK,MAAO,aAAc,SAAQZ,yBAAkB,CAAA;AAgBjD,IAAA,WAAA,CAAY,GAAoB,EAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,CAAC;;AAGX,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC;QAE7F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;AAC7B,YAAA,MAAM,EAAE,wBAAwB;SACnC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,OAAO,GAAG,GAAmC,CAAC;AACpD,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAsB,KAAI;AACnD,gBAAA,IAAI,SAAS,EAAE;AACX,oBAAA,SAAS,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAO,IAAS,EAAE,GAAQ,EAAE,IAAS,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;wBACnF,IAAI;AACA,4BAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AACrC,4BAAA,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,yBAAA;AAAC,wBAAA,OAAO,GAAG,EAAE;AACV,4BAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,yBAAA;qBACJ,CAAA,CAAC,CAAC;AACH,oBAAA,SAAS,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAO,IAAS,EAAE,GAAQ,EAAE,IAAS,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;wBACpF,IAAI;AACA,4BAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;AACtC,4BAAA,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,yBAAA;AAAC,wBAAA,OAAO,GAAG,EAAE;AACV,4BAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,yBAAA;qBACJ,CAAA,CAAC,CAAC;AACN,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED;;;;;AAKG;AACG,IAAA,MAAM,CAAC,OAA2B,EAAE,IAAa,EAAE,OAAmD,EAAA;;YACxG,IAAI,IAAI,IAAI,IAAI,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAClE,aAAA;YACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5E,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;AAE9B,YAAA,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxD,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACV,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;AAAS,oBAAA;gBACN,IAAI;AACA,oBAAA,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;;AAEX,iBAAA;AACJ,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;IAEY,OAAO,GAAA;;YAChB,IAAI;AACA,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAACa,sBAAiB,CAAC,CAAC;;AAEtF,gBAAA,OAAO,KAAK,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;oBAC9D,IAAI;wBACA,MAAM,QAAQ,GAAG,MAAMX,2BAAO;AACzB,6BAAA,GAAG,CAAC,IAAIC,OAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5D,6BAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACpD,IAAI,QAAQ,CAAC,EAAE,EAAE;4BACb,OAAO,QAAQ,CAAC,IAAI,CAAC;AACxB,yBAAA;;wBAED,MAAM,IAAIC,gBAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAC;AAC/F,qBAAA;AAAC,oBAAA,OAAO,GAAG,EAAE;AACV,wBAAAC,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,wBAAA,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAClF,qBAAA;iBACJ,CAAA,CAAC,CAAC;AACN,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACV,gBAAA,MAAM,IAAIA,gBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAClF,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;IAEY,QAAQ,GAAA;;AACjB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAACS,sBAAiB,CAAC,CAAC;AACtF,YAAA,OAAO,KAAK,CAAC,YAAY,CAAC,4BAA4B,EAAE,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAC/D,IAAI;oBACA,MAAM,QAAQ,GAAG,MAAMX,2BAAO,CAAC,GAAG,CAAC,IAAIC,OAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvF,yBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpD,IAAI,QAAQ,CAAC,EAAE,EAAE;wBACb,OAAQ,QAAQ,CAAC,IAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AACpD,4BAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACjE,yBAAC,CAAC,CAAC;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC;AACb,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;AACV,oBAAAE,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,oBAAA,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9E,iBAAA;aACJ,CAAA,CAAC,CAAC;SACN,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;AACI,IAAA,wBAAwB,CAAC,OAAqB,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;AAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,MAAM,MAAM,GAAGU,WAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,QAAA,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CAAC;AACpC,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,MAAM,EAAE,EAAE;SACb,EAAE,OAAO,CAAC,CAAC;AACZ,QAAA,MAAM,IAAI,GAAG,IAAIC,SAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KACpC;AAED;;;;;AAKG;AACG,IAAA,IAAI,CAAC,OAA2B,EAAE,IAAa,EAAE,YAGtD,EAAA;;YACG,IAAI,IAAI,IAAI,IAAI,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAClE,aAAA;YACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5E,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;AAE9B,YAAA,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,IAAI;AACA,gBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAA0B,OAAO,EAAE,IAAI,EAAG,kBAAkB,EAAE,YAAY,CAAC,CAAC;AAC1G,aAAA;AAAC,YAAA,OAAM,GAAG,EAAE;gBACT,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAA,MAAM,IAAIX,gBAAS,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AACvE,iBAAA;AACD,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;AAAS,oBAAA;gBACN,IAAI;AACA,oBAAA,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;;AAEX,iBAAA;AACJ,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,QAAQ,CAAC,OAA2B,EAAE,IAAY,EAAE,WAAoB,EAAE,YAKtF,EAAA;;AACG,YAAA,OAAO,IAAI,CAAC,SAAS,CAAS,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;SAC3E,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,YAAY,CAAC,OAA2B,EAAE,IAAgG,EAAE,YAAmF,EAAA;;AACxO,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,YAAY,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAClG,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YACnF,MAAM,QAAQ,GAAGY,kBAAW,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;AAChE,YAAA,MAAM,QAAQ,GAAGJ,wBAAI,CAAC,OAAO,CAACF,sBAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI;;gBAEA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;oBAClC,MAAM,WAAW,GAAGH,sBAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACnD,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvB,oBAAA,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAK;wBAC1B,OAAO,OAAO,EAAE,CAAC;AACrB,qBAAC,CAAC,CAAC;oBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;AAC5B,wBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,qBAAC,CAAC,CAAC;AACP,iBAAC,CAAC,CAAC;;gBAEH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC5C,oBAAA,QAAQ,EAAE,QAAQ;oBAClB,WAAW;AACd,iBAAA,CAAC,CAAC;AACN,aAAA;AAAS,oBAAA;gBACN,IAAI;AACA,oBAAA,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;AACvC,oBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACf,wBAAA,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,qBAAA;AACJ,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;AACV,oBAAA,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAEvB,wBAAAF,iBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,qBAAA;AACJ,iBAAA;AACJ,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,UAAU,CAAC,OAA2B,EAAE,IAAY,EAAE,OAAmD,EAAA;;YAClH,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAMH,2BAAO,CAAC,IAAI,CAAC,IAAIC,OAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChF,qBAAA,MAAM,CAAC,MAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClC,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC;AACxB,iBAAA;;AAED,gBAAA,MAAM,IAAIC,gBAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAAC,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,oBAAA,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAClF,iBAAA;AACD,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,OAAO,CAAC,OAA2B,EAAE,IAAY,EAAE,OAAmD,EAAA;;YAC/G,IAAI;gBACA,MAAM,MAAM,GAAwC,EAAE,CAAC;AACvD,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;oBACxB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjD,iBAAA;;gBAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAChC,oBAAA,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;wBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAW,CAAC,CAAC;AAC3D,qBAAA;AACD,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,wBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAoB,CAAC;wBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAI;AACpC,4BAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,gCAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpC,6BAAA;AACD,4BAAA,OAAO,KAAK,CAAC;AACjB,yBAAC,CAAC,CAAC;AACN,qBAAA;AACL,iBAAC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAMF,2BAAO,CAAC,IAAI,CAAC,IAAIC,OAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;qBAC3F,KAAK,CAAC,MAAM,CAAC;AACb,qBAAA,MAAM,CAAC,MAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClC,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC;AACxB,iBAAA;;AAED,gBAAA,MAAM,IAAIC,gBAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAAC,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,oBAAA,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAClF,iBAAA;AACD,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;IAEM,wBAAwB,GAAA;AAC3B,QAAA,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KACpF;AAEe,IAAA,SAAS,CAAI,OAA2B,EAAE,IAAY,EAAE,WAAoB,EAAE,YAK7F,EAAA;;;YAEG,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;gBAChD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrC,gBAAA,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC7C,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;AAChC,iBAAA;AACJ,aAAA;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;;AAE/C,YAAA,IAAIQ,wBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,WAAW,KAAK,iBAAiB,EAAG;AACrE,gBAAA,IAAI,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,IAAI,MAAI,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,QAAQ,CAAA,EAAE;;AAE9C,oBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBAClB,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;4BAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,yBAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACf,qBAAA,CAAC,CAAC;AACN,iBAAA;AAAM,qBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;;oBAE/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1D,oBAAA,IAAI,CAAA,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAf,eAAe,CAAE,IAAI,MAAI,eAAe,aAAf,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAf,eAAe,CAAE,QAAQ,CAAA,EAAE;AACpD,wBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;4BAClB,IAAI,EAAE,eAAe,CAAC,IAAI;4BAC1B,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;AAC/C,gCAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,6BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACf,yBAAA,CAAC,CAAA;AACL,qBAAA;AACJ,iBAAA;AACJ,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;AAChC,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,oBAAA,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;AACtC,iBAAA,CAAC,CAAC;AACN,aAAA;AACD,YAAA,MAAM,WAAW,GAAG;AAChB,gBAAA,QAAQ,EAAEA,wBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aAChC,CAAC;AACF,YAAA,IAAI,WAAW,EAAE;AACb,gBAAA,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;oBACvB,WAAW;AACd,iBAAA,CAAC,CAAC;AACN,aAAA;YACD,IAAI;;AAEA,gBAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE;AACjC,oBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,wBAAA,GAAG,EAAE,IAAI,CAAC,wBAAwB,EAAE;AACvC,qBAAA,CAAC,CAAC;AACN,iBAAA;gBACD,MAAM,QAAQ,GAAG,MAAMV,2BAAO,CAAC,IAAI,CAAC,IAAIC,OAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;qBAC9E,IAAI,CAAC,MAAM,CAAC;AACZ,qBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;qBAC9C,KAAK,CAAC,MAAM,CAAC;AACb,qBAAA,MAAM,CAAC,WAAW,KAAK,kBAAkB,CAAC;AAC1C,qBAAA,MAAM,CAAC,MAAM,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtC,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACb,OAAO,QAAQ,CAAC,IAAS,CAAC;AAC7B,iBAAA;;AAED,gBAAA,MAAM,IAAIC,gBAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxC,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAAC,iBAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,oBAAA,MAAM,IAAID,gBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAChF,iBAAA;AACD,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;SAEJ,CAAA,CAAA;AAAA,KAAA;AAEJ;;ACtYe,SAAA,wBAAwB,CAAC,MAAA,GAAiB,wBAAwB,EAAA;AAC9E,IAAA,MAAM,MAAM,GAAGP,2BAAO,CAAC,MAAM,EAAE,CAAC;AAChC,IAAA,MAAM,CAAC,GAAG,CAACE,yCAAqB,CAAC;QAC7B,MAAM;AACN,QAAA,WAAW,EAAE;AACT,YAAA,yBAAyB,EAAG,EAAE;AACjC,SAAA;AACD,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,IAAI;AACrB,KAAA,CAAC,CAAC,CAAC;AACJ,IAAA,OAAO,MAAM,CAAC;AAClB;;ACNA,MAAM,kBAAmB,SAAQ,YAAY,CAAA;AAEzC,IAAA,WAAA,CAAY,GAAoB,EAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,CAAC;KACd;IAED,OAAO,GAAA;;AAEH,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AACzB,YAAA,IAAI,EAAE,wBAAwB;AACjC,SAAA,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC,CAAC;AAClG,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAkC,CAAC;AACtE,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAsB,KAAI;AACnD,gBAAA,IAAI,SAAS,EAAE;;AAEX,oBAAA,SAAS,CAAC,GAAG,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAEJ;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universis/signer-worker",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "Universis signer worker for server applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { ApplicationBase, ApplicationService, HttpError, TraceUtils } from '@themost/common';
1
+ import {ApplicationBase, ApplicationService, HttpError, RandomUtils, TraceUtils} from '@themost/common';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { Application } from 'express';
4
4
  import { ExpressDataContext } from '@themost/express';
@@ -12,6 +12,10 @@ import os from 'os';
12
12
  import { DataCacheStrategy } from '@themost/data';
13
13
  import { Certificate, JsonWebKey, VerifySignatureResult, SignJsonSignatureResult, SignerServiceImpl } from './SignerServiceImpl';
14
14
  import {Secret, TOTP, TOTPOptions} from 'xotp';
15
+ import {PassThrough} from 'stream';
16
+ import fs from 'fs';
17
+ const unlinkAsync = promisify(fs.unlink);
18
+ const statAsync = promisify(fs.stat);
15
19
 
16
20
  const writeFile = promisify(writeFileWithCallback);
17
21
  const unlink = promisify(unlinkWithCallback);
@@ -210,6 +214,43 @@ export class SignerService extends ApplicationService implements SignerServiceIm
210
214
  return this.signFinal<Buffer>(context, file, contentType, extraOptions);
211
215
  }
212
216
 
217
+ public async verifyStream(context: ExpressDataContext, data: (PassThrough & { contentType: string, contentLocation: string, contentExtension: string }), extraOptions?: { filename?: string; contentType: string, contentExtension: string }): Promise<VerifySignatureResult[]> {
218
+ const contentExtension = data.contentExtension || (extraOptions && extraOptions.contentExtension);
219
+ const contentType = data.contentType || (extraOptions && extraOptions.contentType);
220
+ const fileName = RandomUtils.randomChars(24) + contentExtension;
221
+ const filePath = path.resolve(os.tmpdir(), fileName);
222
+ try {
223
+ // noinspection JSValidateTypes
224
+ await new Promise((resolve, reject) => {
225
+ const writeStream = fs.createWriteStream(filePath);
226
+ data.pipe(writeStream);
227
+ writeStream.on('finish', () => {
228
+ return resolve();
229
+ });
230
+ writeStream.on('error', (err) => {
231
+ return reject(err);
232
+ });
233
+ });
234
+ // noinspection JSCheckFunctionSignatures
235
+ return await this.verifyFile(context, filePath, {
236
+ filename: fileName,
237
+ contentType
238
+ });
239
+ } finally {
240
+ try {
241
+ const stat = await statAsync(filePath);
242
+ if (stat.isFile()) {
243
+ await unlinkAsync(filePath);
244
+ }
245
+ } catch (err) {
246
+ if (err.code !== 'ENOENT') {
247
+ // do nothing
248
+ TraceUtils.warn(err);
249
+ }
250
+ }
251
+ }
252
+ }
253
+
213
254
  public async verifyFile(context: ExpressDataContext, file: string, options?: { filename: string; contentType: string }): Promise<VerifySignatureResult[]> {
214
255
  try {
215
256
  const response = await request.post(new URL('/verify', this.options.host).toString())
@@ -230,10 +271,25 @@ export class SignerService extends ApplicationService implements SignerServiceIm
230
271
 
231
272
  public async inspect(context: ExpressDataContext, file: string, options?: { filename: string; contentType: string }): Promise<{ page: number, position: number[], text: string }> {
232
273
  try {
233
- const fields: Record<string, string> = {};
274
+ const fields: Record<string, (string | string[])> = {};
234
275
  if (this.options.inspector) {
235
276
  Object.assign(fields, this.options.inspector);
236
277
  }
278
+ // encode URI components
279
+ Object.keys(fields).forEach((key) => {
280
+ if (typeof fields[key] === 'string') {
281
+ fields[key] = encodeURIComponent(fields[key] as string);
282
+ }
283
+ if (Array.isArray(fields[key]) && fields[key].length > 0) {
284
+ const values = fields[key] as any as string[];
285
+ fields[key] = values.map((value: any) => {
286
+ if (typeof value === 'string') {
287
+ return encodeURIComponent(value);
288
+ }
289
+ return value;
290
+ });
291
+ }
292
+ });
237
293
  const response = await request.post(new URL('/signature/inspect', this.options.host).toString())
238
294
  .field(fields)
239
295
  .attach('file',file, options);
@@ -278,7 +334,7 @@ export class SignerService extends ApplicationService implements SignerServiceIm
278
334
  Object.assign(fields, {
279
335
  page: extraOptions.page,
280
336
  position: extraOptions.position.map((element) => {
281
- return Math.round(element);
337
+ return Math.round(element).toFixed(0);
282
338
  }).join(',')
283
339
  });
284
340
  } else if (this.options.inspector) {