velocious 1.0.149 → 1.0.151
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/build/src/cli/base-command.d.ts +2 -2
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +2 -2
- package/build/src/cli/commands/destroy/migration.d.ts +1 -0
- package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/base-models.d.ts +1 -0
- package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/migration.d.ts +1 -0
- package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/model.d.ts +1 -0
- package/build/src/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/cli/commands/init.d.ts +1 -0
- package/build/src/cli/commands/init.d.ts.map +1 -1
- package/build/src/cli/commands/routes.d.ts +1 -0
- package/build/src/cli/commands/routes.d.ts.map +1 -1
- package/build/src/cli/commands/server.d.ts +1 -0
- package/build/src/cli/commands/server.d.ts.map +1 -1
- package/build/src/cli/commands/test.d.ts +1 -0
- package/build/src/cli/commands/test.d.ts.map +1 -1
- package/build/src/cli/index.d.ts +1 -1
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/controller.d.ts +6 -6
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +5 -5
- package/build/src/database/drivers/base-column.d.ts +2 -2
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +2 -2
- package/build/src/database/drivers/base-foreign-key.d.ts +3 -3
- package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.js +2 -2
- package/build/src/database/drivers/base-table.d.ts +2 -2
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +2 -2
- package/build/src/database/drivers/base.d.ts +16 -16
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +12 -12
- package/build/src/database/drivers/mssql/column.d.ts +3 -4
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.js +2 -2
- package/build/src/database/drivers/mssql/index.d.ts +5 -0
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/options.js +2 -2
- package/build/src/database/drivers/mssql/structure-sql.d.ts +2 -2
- package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.js +2 -2
- package/build/src/database/drivers/mssql/table.js +2 -2
- package/build/src/database/drivers/mysql/column.d.ts +3 -4
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +2 -2
- package/build/src/database/drivers/mysql/index.d.ts +2 -2
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +5 -5
- package/build/src/database/drivers/mysql/options.js +2 -2
- package/build/src/database/drivers/mysql/query.d.ts +2 -2
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +3 -3
- package/build/src/database/drivers/mysql/structure-sql.d.ts +2 -2
- package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.js +2 -2
- package/build/src/database/drivers/pgsql/column.d.ts +3 -4
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +2 -2
- package/build/src/database/drivers/pgsql/index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +5 -5
- package/build/src/database/drivers/pgsql/structure-sql.d.ts +2 -2
- package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.js +2 -2
- package/build/src/database/drivers/sqlite/base.js +5 -5
- package/build/src/database/drivers/sqlite/column.d.ts +3 -4
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/column.js +2 -2
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +2 -2
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.js +2 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts +2 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/foreign-key.js +2 -2
- package/build/src/database/drivers/sqlite/index.js +2 -2
- package/build/src/database/drivers/sqlite/index.web.js +2 -2
- package/build/src/database/drivers/sqlite/query.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.js +3 -3
- package/build/src/database/drivers/sqlite/query.web.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.web.js +3 -3
- package/build/src/database/migration/index.d.ts +2 -2
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +3 -3
- package/build/src/database/query/delete-base.d.ts +3 -3
- package/build/src/database/query/delete-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.js +2 -2
- package/build/src/database/query/insert-base.d.ts +5 -5
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +3 -3
- package/build/src/database/query/model-class-query.d.ts +2 -2
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +2 -2
- package/build/src/database/query/update-base.d.ts +6 -6
- package/build/src/database/query/update-base.d.ts.map +1 -1
- package/build/src/database/query/update-base.js +3 -3
- package/build/src/database/query-parser/options.d.ts +4 -4
- package/build/src/database/query-parser/options.d.ts.map +1 -1
- package/build/src/database/query-parser/options.js +3 -3
- package/build/src/database/record/index.d.ts +38 -38
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +29 -30
- package/build/src/database/record/instance-relationships/base.d.ts +2 -2
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +2 -2
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +2 -2
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +2 -2
- package/build/src/database/record/instance-relationships/has-many.d.ts +4 -4
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +3 -3
- package/build/src/database/record/instance-relationships/has-one.d.ts +2 -2
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +2 -2
- package/build/src/database/record/validators/base.d.ts +3 -3
- package/build/src/database/record/validators/base.d.ts.map +1 -1
- package/build/src/database/record/validators/base.js +2 -2
- package/build/src/database/table-data/table-column.d.ts +4 -4
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -2
- package/build/src/error-logger.d.ts +3 -3
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +3 -3
- package/build/src/http-client/websocket-client.d.ts +10 -10
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.js +8 -8
- package/build/src/http-server/client/params-to-object.d.ts +11 -11
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +9 -9
- package/build/src/http-server/client/websocket-request.d.ts +7 -11
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +3 -3
- package/build/src/http-server/client/websocket-session.d.ts +2 -2
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +2 -2
- package/build/src/http-server/websocket-events-host.d.ts +2 -2
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +2 -2
- package/build/src/http-server/websocket-events.d.ts +2 -2
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +2 -2
- package/build/src/http-server/worker-handler/index.d.ts +6 -6
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +4 -4
- package/build/src/http-server/worker-handler/worker-thread.d.ts +4 -4
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +3 -3
- package/build/src/logger.d.ts +14 -14
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +10 -10
- package/build/src/routes/base-route.d.ts +2 -2
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +2 -2
- package/build/src/routes/basic-route.js +2 -2
- package/build/src/routes/get-route.js +2 -2
- package/build/src/routes/namespace-route.js +2 -2
- package/build/src/routes/post-route.js +2 -2
- package/build/src/routes/resolver.d.ts +4 -6
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +4 -4
- package/build/src/routes/resource-route.js +2 -2
- package/build/src/testing/format-value.d.ts +4 -4
- package/build/src/testing/format-value.d.ts.map +1 -1
- package/build/src/testing/format-value.js +7 -7
- package/build/src/testing/test.d.ts +15 -15
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +9 -9
- package/build/src/utils/ensure-error.d.ts +2 -2
- package/build/src/utils/ensure-error.d.ts.map +1 -1
- package/build/src/utils/ensure-error.js +2 -2
- package/build/src/utils/with-tracked-stack.d.ts +2 -2
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +2 -2
- package/package.json +1 -1
|
@@ -166,7 +166,7 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
166
166
|
fileContent += "\n";
|
|
167
167
|
fileContent += " /**\n";
|
|
168
168
|
fileContent += " * @abstract\n";
|
|
169
|
-
fileContent += " * @param {Record<string,
|
|
169
|
+
fileContent += " * @param {Record<string, any>} [attributes]\n";
|
|
170
170
|
fileContent += ` * @returns {import("${modelFilePath}").default}\n`;
|
|
171
171
|
fileContent += " */\n";
|
|
172
172
|
fileContent += ` build${inflection.camelize(relationship.getRelationshipName())}(attributes) { throw new Error("Not implemented") } // eslint-disable-line no-unused-vars\n`;
|
|
@@ -264,4 +264,4 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
264
264
|
return this.jsDocTypeFromColumn(column);
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnQtaGFuZGxlcnMvbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sb0NBQW9DLENBQUE7QUFDNUQsT0FBTyxVQUFVLE1BQU0scUNBQXFDLENBQUE7QUFDNUQsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQ3RELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBRWhELE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUE7UUFDL0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFBO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzlELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FB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akIsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUF5QixDQUFDLE1BQU07UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxlQUFlLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vdXRpbHMvZmlsZS1leGlzdHMuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGJHZW5lcmF0ZU1vZGVsIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGF3YWl0IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmluaXRpYWxpemVNb2RlbHMoKVxuXG4gICAgY29uc3QgbW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsc2BcbiAgICBjb25zdCBiYXNlTW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsLWJhc2VzYFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3NlcygpXG4gICAgbGV0IGRldk1vZGUgPSBmYWxzZVxuXG4gICAgaWYgKGJhc2VNb2RlbHNEaXIuZW5kc1dpdGgoXCJ2ZWxvY2lvdXMvc3BlYy9kdW1teS9zcmMvbW9kZWwtYmFzZXNcIikpIHtcbiAgICAgIGRldk1vZGUgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKGJhc2VNb2RlbHNEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5ta2RpcihiYXNlTW9kZWxzRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsQ2xhc3NOYW1lIGluIG1vZGVsQ2xhc3Nlcykge1xuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3Nlc1ttb2RlbENsYXNzTmFtZV1cbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGluZmxlY3Rpb24uZGFzaGVyaXplKG1vZGVsQ2xhc3NOYW1lKVxuICAgICAgY29uc3QgbW9kZWxOYW1lQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgICAgY29uc3QgbW9kZWxCYXNlRmlsZU5hbWUgPSBgJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUobW9kZWxOYW1lKSl9LmpzYFxuICAgICAgY29uc3QgbW9kZWxQYXRoID0gYCR7YmFzZU1vZGVsc0Rpcn0vJHttb2RlbEJhc2VGaWxlTmFtZX1gXG5cbiAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGUgc3JjL21vZGVsLWJhc2VzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YClcblxuICAgICAgY29uc3Qgc291cmNlTW9kZWxGdWxsRmlsZVBhdGggPSBgJHttb2RlbHNEaXJ9LyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgbGV0IHNvdXJjZU1vZGVsRmlsZVBhdGhcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoc291cmNlTW9kZWxGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgIHNvdXJjZU1vZGVsRmlsZVBhdGggPSBgLi4vbW9kZWxzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlTW9kZWxGaWxlUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyYy9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIlxuICAgICAgfVxuXG4gICAgICBsZXQgZmlsZUNvbnRlbnQgPSBcIlwiXG4gICAgICBsZXQgdmVsb2Npb3VzUGF0aFxuXG4gICAgICBpZiAoZGV2TW9kZSkge1xuICAgICAgICB2ZWxvY2lvdXNQYXRoID0gXCIuLi8uLi8uLi8uLi9zcmNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVsb2Npb3VzUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyY1wiXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBpbXBvcnQgRGF0YWJhc2VSZWNvcmQgZnJvbSBcIiR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCJcXG5cXG5gXG5cbiAgICAgIGNvbnN0IGhhc01hbnlSZWxhdGlvbkZpbGVQYXRoID0gYCR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luc3RhbmNlLXJlbGF0aW9uc2hpcHMvaGFzLW1hbnkuanNgXG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBleHBvcnQgZGVmYXVsdCBjbGFzcyAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlIGV4dGVuZHMgRGF0YWJhc2VSZWNvcmQge1xcbmBcblxuICAgICAgLy8gLS0tIGdldE1vZGVsQ2xhc3MoKSBvdmVycmlkZSAoZml4ZXMgcG9seW1vcnBoaWMgdHlwaW5nIGluIEpTL0pTRG9jKSAtLS1cbiAgICAgIGlmIChhd2FpdCBmaWxlRXhpc3RzKHNvdXJjZU1vZGVsRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAvLyBNb2RlbCBmaWxlIGV4aXN0cyAoZS5nLiBzcmMvbW9kZWxzL3RpY2tldC5qcykg4oaSIHJldHVybiB0eXBlb2YgVGlja2V0XG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLy8gQHRzLWlnbm9yZSAtIG92ZXJyaWRlIG5hcnJvd3MgcmV0dXJuIHR5cGUgZm9yIGJldHRlciBJbnRlbGxpU2Vuc2UgaW4gZ2VuZXJhdGVkIG1vZGVsIGJhc2VzXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgZ2V0TW9kZWxDbGFzcygpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH0gKi8gKHRoaXMuY29uc3RydWN0b3IpIH1cXG5cXG5gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBtb2RlbCBmaWxlIHlldCDihpIgZmFsbCBiYWNrIHRvIHR5cGVvZiBUaWNrZXRCYXNlXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mICR7bW9kZWxOYW1lQ2FtZWxpemVkfUJhc2V9XFxuYFxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8vIEB0cy1pZ25vcmUgLSBvdmVycmlkZSBuYXJyb3dzIHJldHVybiB0eXBlIGZvciBiZXR0ZXIgSW50ZWxsaVNlbnNlIGluIGdlbmVyYXRlZCBtb2RlbCBiYXNlc1xcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGdldE1vZGVsQ2xhc3MoKSB7IHJldHVybiAvdW5rbm93bnVua25vd24gQHR5cGUge3R5cGVvZiAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlfSAqLyAodGhpcy5jb25zdHJ1Y3RvcikgfVxcblxcbmBcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IGF3YWl0IG1vZGVsQ2xhc3MuX2dldFRhYmxlKCkuZ2V0Q29sdW1ucygpXG4gICAgICBsZXQgbWV0aG9kc0NvdW50ID0gMFxuXG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbHVtbi5nZXROYW1lKCksIHRydWUpXG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdCA9IGluZmxlY3Rpb24uY2FtZWxpemUoY29sdW1uLmdldE5hbWUoKSlcbiAgICAgICAgY29uc3QganNkb2NUeXBlID0gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChqc2RvY1R5cGUpIHtcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7JHtqc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2NhbWVsaXplZENvbHVtbk5hbWV9KCkgeyByZXR1cm4gdGhpcy5yZWFkQXR0cmlidXRlKFwiJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfVwiKSB9XFxuXFxuYFxuXG4gICAgICAgIGNvbnN0IHNldHRlckpzZG9jVHlwZSA9IHRoaXMuanNEb2NTZXR0ZXJUeXBlRnJvbUNvbHVtbihjb2x1bW4pXG5cbiAgICAgICAgaWYgKHNldHRlckpzZG9jVHlwZSkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7JHtzZXR0ZXJKc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX0gbmV3VmFsdWVcXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHt2b2lkfVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2NhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdH0obmV3VmFsdWUpIHsgcmV0dXJuIHRoaXMuX3NldENvbHVtbkF0dHJpYnV0ZShcIiR7Y2FtZWxpemVkQ29sdW1uTmFtZX1cIiwgbmV3VmFsdWUpIH1cXG5cXG5gXG5cbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgaGFzJHtjYW1lbGl6ZWRDb2x1bW5OYW1lQmlnRmlyc3R9KCkgeyByZXR1cm4gdGhpcy5faGFzQXR0cmlidXRlKHRoaXMuJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfSgpKSB9XFxuYFxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlbENsYXNzLl90cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgVHJhbnNsYXRpb25DbGFzcyA9IG1vZGVsQ2xhc3MuZ2V0VHJhbnNsYXRpb25DbGFzcygpXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uQ29sdW1ucyA9IFRyYW5zbGF0aW9uQ2xhc3MuZ2V0Q29sdW1ucygpXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIG1vZGVsQ2xhc3MuX3RyYW5zbGF0aW9ucykge1xuICAgICAgICAgIGNvbnN0IG5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUpXG4gICAgICAgICAgY29uc3QgY29sdW1uID0gdHJhbnNsYXRpb25Db2x1bW5zLmZpbmQoKHRyYW5zbGF0aW9uQ29sdW1uKSA9PiB0cmFuc2xhdGlvbkNvbHVtbi5nZXROYW1lKCkgPT09IG5hbWVVbmRlcnNjb3JlKVxuICAgICAgICAgIGxldCB0cmFuc2xhdGlvbkpzZG9jVHlwZVxuXG4gICAgICAgICAgaWYgKGNvbHVtbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb25Kc2RvY1R5cGUgPSB0aGlzLmpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke25hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgdGhpcy5fZ2V0Q29uZmlndXJhdGlvbigpLmdldExvY2FsZSgpKSB9XFxuYFxuICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICBjb25zdCBoYXNOYW1lID0gYGhhcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lKX1gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBhYnN0cmFjdFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtoYXNOYW1lfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiJHtoYXNOYW1lfSBub3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcbiAgICAgICAgICBtZXRob2RzQ291bnQrK1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0TG9jYWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGVNZXRob2ROYW1lID0gYCR7bmFtZX0ke2luZmxlY3Rpb24uY2FtZWxpemUobG9jYWxlKX1gXG5cbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZU1ldGhvZE5hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgXCIke2xvY2FsZX1cIikgfVxcbmBcbiAgICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZUhhc05hbWUgPSBgaGFzJHtpbmZsZWN0aW9uLmNhbWVsaXplKGxvY2FsZU1ldGhvZE5hbWUpfWBcblxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQGFic3RyYWN0XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2Jvb2xlYW59XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZUhhc05hbWV9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCIke2xvY2FsZUhhc05hbWV9IG5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuICAgICAgICAgICAgbWV0aG9kc0NvdW50KytcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXAgb2YgbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkpIHtcbiAgICAgICAgbGV0IGJhc2VGaWxlUGF0aCwgYmFzZUZ1bGxGaWxlUGF0aCwgZmlsZU5hbWUsIGZ1bGxGaWxlUGF0aFxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgICAgICAgIGZpbGVOYW1lID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsZU5hbWUgPSBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKS5uYW1lKSlcbiAgICAgICAgICBmdWxsRmlsZVBhdGggPSBgc3JjL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICBiYXNlRmlsZVBhdGggPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgYmFzZUZ1bGxGaWxlUGF0aCA9IGBzcmMvbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpID09IFwiYmVsb25nc1RvXCIgfHwgcmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc09uZVwiKSB7XG4gICAgICAgICAgbGV0IG1vZGVsRmlsZVBhdGhcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgbW9kZWxGaWxlUGF0aCA9IGJhc2VGaWxlUGF0aFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbYXR0cmlidXRlc11cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHtpbXBvcnQoXCIke21vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHR9XFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGJ1aWxkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfShhdHRyaWJ1dGVzKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgbG9hZCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpKX0oKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSBuZXdNb2RlbFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dm9pZH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgc2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfShuZXdNb2RlbCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXFxuYFxuICAgICAgICB9IGVsc2UgaWYgKHJlbGF0aW9uc2hpcC5nZXRUeXBlKCkgPT0gXCJoYXNNYW55XCIpIHtcbiAgICAgICAgICBsZXQgcmVjb3JkSW1wb3J0XG5cbiAgICAgICAgICBpZiAoZnVsbEZpbGVQYXRoICYmIGF3YWl0IGZpbGVFeGlzdHMoZnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgcmVjb3JkSW1wb3J0ID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgcmVjb3JkSW1wb3J0ID0gYC4uL21vZGVsLWJhc2VzLyR7ZmlsZU5hbWV9LmpzYFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgJHt2ZWxvY2lvdXNQYXRofS9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7aGFzTWFueVJlbGF0aW9uRmlsZVBhdGh9XCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdCwgdHlwZW9mIGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7aW1wb3J0KFwiJHtoYXNNYW55UmVsYXRpb25GaWxlUGF0aH1cIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiJHtzb3VyY2VNb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0LCB0eXBlb2YgaW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHtBcnJheTxpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59XFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICR7cmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKX1Mb2FkZWQoKSB7IHJldHVybiAvdW5rbm93bnVua25vd24gQHR5cGUge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn0gKi8gKHRoaXMuZ2V0UmVsYXRpb25zaGlwQnlOYW1lKFwiJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfVwiKS5sb2FkZWQoKSkgfVxcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBsb2FkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHBhcmFtIHtBcnJheTxpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59IG5ld01vZGVsc1xcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge3ZvaWR9XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KG5ld01vZGVscykgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXFxuYFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biByZWxhdGlvbnNoaXAgdHlwZTogJHtyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpfWApXG4gICAgICAgIH1cblxuICAgICAgICBtZXRob2RzQ291bnQrK1xuICAgICAgfVxuXG4gICAgICBmaWxlQ29udGVudCArPSBcIn1cXG5cIlxuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUobW9kZWxQYXRoLCBmaWxlQ29udGVudClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtY29sdW1uLmpzXCIpLmRlZmF1bHR9IGNvbHVtbiAtIENvbHVtbi5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUganMgZG9jIHR5cGUgZnJvbSBjb2x1bW4uXG4gICAqL1xuICBqc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAodHlwZSA9PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiYm9vbGVhblwiXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwianNvblwiKSB7XG4gICAgICByZXR1cm4gXCJSZWNvcmQ8c3RyaW5nLCBhbnk+XCJcbiAgICB9IGVsc2UgaWYgKFtcImJsb2JcIiwgXCJjaGFyXCIsIFwibnZhcmNoYXJcIiwgXCJ2YXJjaGFyXCIsIFwidGV4dFwiLCBcImxvbmd0ZXh0XCIsIFwidXVpZFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCJcbiAgICB9IGVsc2UgaWYgKFtcImJpdFwiLCBcImJpZ2ludFwiLCBcImZsb2F0XCIsIFwiaW50XCIsIFwiaW50ZWdlclwiLCBcInNtYWxsaW50XCIsIFwidGlueWludFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwibnVtYmVyXCJcbiAgICB9IGVsc2UgaWYgKFtcImRhdGVcIiwgXCJkYXRldGltZVwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwiRGF0ZVwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdH0gY29sdW1uIC0gQ29sdW1uLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFRoZSBqcyBkb2Mgc2V0dGVyIHR5cGUgZnJvbSBjb2x1bW4uXG4gICAqL1xuICBqc0RvY1NldHRlclR5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAoW1wiZGF0ZVwiLCBcImRhdGV0aW1lXCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJEYXRlIHwgc3RyaW5nXCJcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcbiAgfVxufVxuIl19
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnQtaGFuZGxlcnMvbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sb0NBQW9DLENBQUE7QUFDNUQsT0FBTyxVQUFVLE1BQU0scUNBQXFDLENBQUE7QUFDNUQsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQ3RELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBRWhELE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUE7UUFDL0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFBO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzlELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDL0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUN0RCxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM5RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtZQUN4RixNQUFNLFNBQVMsR0FBRyxHQUFHLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxDQUFBO1lBRXpELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtZQUUxRCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsU0FBUyxJQUFJLGlCQUFpQixFQUFFLENBQUE7WUFDbkUsSUFBSSxtQkFBbUIsQ0FBQTtZQUV2QixJQUFJLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQztnQkFDOUMsbUJBQW1CLEdBQUcsYUFBYSxpQkFBaUIsRUFBRSxDQUFBO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDTixtQkFBbUIsR0FBRyw4Q0FBOEMsQ0FBQTtZQUN0RSxDQUFDO1lBRUQsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFBO1lBQ3BCLElBQUksYUFBYSxDQUFBO1lBRWpCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osYUFBYSxHQUFHLGlCQUFpQixDQUFBO1lBQ25DLENBQUM7aUJBQU0sQ0FBQztnQkFDTixhQUFhLEdBQUcscUJBQXFCLENBQUE7WUFDdkMsQ0FBQztZQUVELFdBQVcsSUFBSSwrQkFBK0IsYUFBYSxnQ0FBZ0MsQ0FBQTtZQUUzRixNQUFNLHVCQUF1QixHQUFHLEdBQUcsYUFBYSxxREFBcUQsQ0FBQTtZQUVyRyxXQUFXLElBQUksd0JBQXdCLGtCQUFrQixpQ0FBaUMsQ0FBQTtZQUUxRiwwRUFBMEU7WUFDMUUsSUFBSSxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLHVFQUF1RTtnQkFDdkUsV0FBVyxJQUFJLFNBQVMsQ0FBQTtnQkFDeEIsV0FBVyxJQUFJLGlDQUFpQyxtQkFBbUIsZUFBZSxDQUFBO2dCQUNsRixXQUFXLElBQUksU0FBUyxDQUFBO2dCQUN4QixXQUFXLElBQUksbUdBQW1HLENBQUE7Z0JBQ2xILFdBQVcsSUFBSSxvRUFBb0UsbUJBQW1CLHlDQUF5QyxDQUFBO1lBQ2pKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixxREFBcUQ7Z0JBQ3JELFdBQVcsSUFBSSxTQUFTLENBQUE7Z0JBQ3hCLFdBQVcsSUFBSSx5QkFBeUIsa0JBQWtCLFNBQVMsQ0FBQTtnQkFDbkUsV0FBVyxJQUFJLFNBQVMsQ0FBQTtnQkFDeEIsV0FBVyxJQUFJLG1HQUFtRyxDQUFBO2dCQUNsSCxXQUFXLElBQUksNERBQTRELGtCQUFrQixtQ0FBbUMsQ0FBQTtZQUNsSSxDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUE7WUFDekQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1lBRXBCLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ3ZFLE1BQU0sMkJBQTJCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFDekUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUVsRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDckIsV0FBVyxJQUFJLElBQUksQ0FBQTtnQkFDckIsQ0FBQztnQkFFRCxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNkLFdBQVcsSUFBSSxTQUFTLENBQUE7b0JBQ3hCLFdBQVcsSUFBSSxrQkFBa0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQTtvQkFDbkYsV0FBVyxJQUFJLFNBQVMsQ0FBQTtnQkFDMUIsQ0FBQztnQkFFRCxXQUFXLElBQUksS0FBSyxtQkFBbUIsbUNBQW1DLG1CQUFtQixVQUFVLENBQUE7Z0JBRXZHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFFOUQsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLGdCQUFnQixlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFBO29CQUNoRyxXQUFXLElBQUksd0JBQXdCLENBQUE7b0JBQ3ZDLFdBQVcsSUFBSSxTQUFTLENBQUE7Z0JBQzFCLENBQUM7Z0JBRUQsV0FBVyxJQUFJLFFBQVEsMkJBQTJCLGlEQUFpRCxtQkFBbUIsb0JBQW9CLENBQUE7Z0JBRTFJLFdBQVcsSUFBSSxTQUFTLENBQUE7Z0JBQ3hCLFdBQVcsSUFBSSwyQkFBMkIsQ0FBQTtnQkFDMUMsV0FBVyxJQUFJLFNBQVMsQ0FBQTtnQkFDeEIsV0FBVyxJQUFJLFFBQVEsMkJBQTJCLHVDQUF1QyxtQkFBbUIsU0FBUyxDQUFBO2dCQUVySCxZQUFZLEVBQUUsQ0FBQTtZQUNoQixDQUFDO1lBRUQsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUE7Z0JBQ3pELE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBRXhELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUM1QyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNsRCxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUE7b0JBQzdHLElBQUksb0JBQW9CLENBQUE7b0JBRXhCLElBQUksTUFBTSxFQUFFLENBQUM7d0JBQ1gsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUN6RCxDQUFDO29CQUVELElBQUksb0JBQW9CLEVBQUUsQ0FBQzt3QkFDekIsV0FBVyxJQUFJLElBQUksQ0FBQTt3QkFDbkIsV0FBVyxJQUFJLFNBQVMsQ0FBQTt3QkFDeEIsV0FBVyxJQUFJLGtCQUFrQixvQkFBb0IsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUE7d0JBQzlGLFdBQVcsSUFBSSxTQUFTLENBQUE7b0JBQzFCLENBQUM7b0JBRUQsV0FBVyxJQUFJLEtBQUssSUFBSSx5REFBeUQsSUFBSSw4Q0FBOEMsQ0FBQTtvQkFDbkksWUFBWSxFQUFFLENBQUE7b0JBRWQsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7b0JBRWpELFdBQVcsSUFBSSxJQUFJLENBQUE7b0JBQ25CLFdBQVcsSUFBSSxTQUFTLENBQUE7b0JBQ3hCLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQTtvQkFDakMsV0FBVyxJQUFJLDJCQUEyQixDQUFBO29CQUMxQyxXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksS0FBSyxPQUFPLHlCQUF5QixPQUFPLHdCQUF3QixDQUFBO29CQUNuRixZQUFZLEVBQUUsQ0FBQTtvQkFFZCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7d0JBQzFELE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO3dCQUVoRSxJQUFJLG9CQUFvQixFQUFFLENBQUM7NEJBQ3pCLFdBQVcsSUFBSSxJQUFJLENBQUE7NEJBQ25CLFdBQVcsSUFBSSxTQUFTLENBQUE7NEJBQ3hCLFdBQVcsSUFBSSxrQkFBa0Isb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFBOzRCQUM5RixXQUFXLElBQUksU0FBUyxDQUFBO3dCQUMxQixDQUFDO3dCQUVELFdBQVcsSUFBSSxLQUFLLGdCQUFnQix5REFBeUQsSUFBSSxPQUFPLE1BQU0sUUFBUSxDQUFBO3dCQUN0SCxZQUFZLEVBQUUsQ0FBQTt3QkFFZCxNQUFNLGFBQWEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFBO3dCQUVuRSxXQUFXLElBQUksSUFBSSxDQUFBO3dCQUNuQixXQUFXLElBQUksU0FBUyxDQUFBO3dCQUN4QixXQUFXLElBQUksa0JBQWtCLENBQUE7d0JBQ2pDLFdBQVcsSUFBSSwyQkFBMkIsQ0FBQTt3QkFDMUMsV0FBVyxJQUFJLFNBQVMsQ0FBQTt3QkFDeEIsV0FBVyxJQUFJLEtBQUssYUFBYSx5QkFBeUIsYUFBYSx3QkFBd0IsQ0FBQTt3QkFDL0YsWUFBWSxFQUFFLENBQUE7b0JBQ2hCLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7Z0JBQ3pELElBQUksWUFBWSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUE7Z0JBRTFELElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7b0JBQ2xDLFFBQVEsR0FBRyw4Q0FBOEMsQ0FBQTtnQkFDM0QsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFFBQVEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtvQkFDL0YsWUFBWSxHQUFHLGNBQWMsUUFBUSxLQUFLLENBQUE7b0JBQzFDLFlBQVksR0FBRyxrQkFBa0IsUUFBUSxLQUFLLENBQUE7b0JBQzlDLGdCQUFnQixHQUFHLG1CQUFtQixRQUFRLEtBQUssQ0FBQTtnQkFDckQsQ0FBQztnQkFFRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDckIsV0FBVyxJQUFJLElBQUksQ0FBQTtnQkFDckIsQ0FBQztnQkFFRCxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNoRixJQUFJLGFBQWEsQ0FBQTtvQkFFakIsSUFBSSxZQUFZLElBQUksTUFBTSxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDbkQsYUFBYSxHQUFHLGFBQWEsUUFBUSxLQUFLLENBQUE7b0JBQzVDLENBQUM7eUJBQU0sSUFBSSxnQkFBZ0IsSUFBSSxNQUFNLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7d0JBQ2xFLGFBQWEsR0FBRyxZQUFZLENBQUE7b0JBQzlCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixhQUFhLEdBQUcsOENBQThDLENBQUE7b0JBQ2hFLENBQUM7b0JBRUQsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLDBCQUEwQixhQUFhLGVBQWUsQ0FBQTtvQkFDckUsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLEtBQUssWUFBWSxDQUFDLG1CQUFtQixFQUFFLDhDQUE4QyxhQUFhLCtDQUErQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUE7b0JBRXBOLFdBQVcsSUFBSSxJQUFJLENBQUE7b0JBQ25CLFdBQVcsSUFBSSxTQUFTLENBQUE7b0JBQ3hCLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQTtvQkFDakMsV0FBVyxJQUFJLGtEQUFrRCxDQUFBO29CQUNqRSxXQUFXLElBQUksMEJBQTBCLGFBQWEsZUFBZSxDQUFBO29CQUNyRSxXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksVUFBVSxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLDZGQUE2RixDQUFBO29CQUU3SyxXQUFXLElBQUksSUFBSSxDQUFBO29CQUNuQixXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksa0JBQWtCLENBQUE7b0JBQ2pDLFdBQVcsSUFBSSxpQ0FBaUMsQ0FBQTtvQkFDaEQsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLFNBQVMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQTtvQkFFNUgsV0FBVyxJQUFJLElBQUksQ0FBQTtvQkFDbkIsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLGtCQUFrQixDQUFBO29CQUNqQyxXQUFXLElBQUksd0JBQXdCLGFBQWEsd0JBQXdCLENBQUE7b0JBQzVFLFdBQVcsSUFBSSx3QkFBd0IsQ0FBQTtvQkFDdkMsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLFFBQVEsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQywyRkFBMkYsQ0FBQTtnQkFDM0ssQ0FBQztxQkFBTSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDL0MsSUFBSSxZQUFZLENBQUE7b0JBRWhCLElBQUksWUFBWSxJQUFJLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7d0JBQ25ELFlBQVksR0FBRyxhQUFhLFFBQVEsS0FBSyxDQUFBO29CQUMzQyxDQUFDO3lCQUFNLElBQUksZ0JBQWdCLElBQUksTUFBTSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO3dCQUNsRSxZQUFZLEdBQUcsa0JBQWtCLFFBQVEsS0FBSyxDQUFBO29CQUNoRCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sWUFBWSxHQUFHLEdBQUcsYUFBYSwyQkFBMkIsQ0FBQTtvQkFDNUQsQ0FBQztvQkFFRCxXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksMEJBQTBCLHVCQUF1Qiw2QkFBNkIsbUJBQW1CLDhCQUE4QixZQUFZLGdCQUFnQixDQUFBO29CQUMxSyxXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksS0FBSyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsOENBQThDLHVCQUF1Qiw2QkFBNkIsbUJBQW1CLDhCQUE4QixZQUFZLGdEQUFnRCxZQUFZLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFBO29CQUVoVCxXQUFXLElBQUksSUFBSSxDQUFBO29CQUNuQixXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksZ0NBQWdDLFlBQVksZ0JBQWdCLENBQUE7b0JBQzNFLFdBQVcsSUFBSSxTQUFTLENBQUE7b0JBQ3hCLFdBQVcsSUFBSSxLQUFLLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSwwREFBMEQsWUFBWSxnREFBZ0QsWUFBWSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFBO29CQUVoTyxXQUFXLElBQUksSUFBSSxDQUFBO29CQUNuQixXQUFXLElBQUksU0FBUyxDQUFBO29CQUN4QixXQUFXLElBQUksa0JBQWtCLENBQUE7b0JBQ2pDLFdBQVcsSUFBSSxpQ0FBaUMsQ0FBQTtvQkFDaEQsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLFNBQVMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQTtvQkFFNUgsV0FBVyxJQUFJLElBQUksQ0FBQTtvQkFDbkIsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLGtCQUFrQixDQUFBO29CQUNqQyxXQUFXLElBQUksOEJBQThCLFlBQVksMEJBQTBCLENBQUE7b0JBQ25GLFdBQVcsSUFBSSx3QkFBd0IsQ0FBQTtvQkFDdkMsV0FBVyxJQUFJLFNBQVMsQ0FBQTtvQkFDeEIsV0FBVyxJQUFJLFFBQVEsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyw0RkFBNEYsQ0FBQTtnQkFDNUssQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ3pFLENBQUM7Z0JBRUQsWUFBWSxFQUFFLENBQUE7WUFDaEIsQ0FBQztZQUVELFdBQVcsSUFBSSxLQUFLLENBQUE7WUFFcEIsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE1BQU07UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sU0FBUyxDQUFBO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMxQixPQUFPLHFCQUFxQixDQUFBO1FBQzlCLENBQUM7YUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUYsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUF5QixDQUFDLE1BQU07UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxlQUFlLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vdXRpbHMvZmlsZS1leGlzdHMuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGJHZW5lcmF0ZU1vZGVsIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGF3YWl0IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmluaXRpYWxpemVNb2RlbHMoKVxuXG4gICAgY29uc3QgbW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsc2BcbiAgICBjb25zdCBiYXNlTW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsLWJhc2VzYFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3NlcygpXG4gICAgbGV0IGRldk1vZGUgPSBmYWxzZVxuXG4gICAgaWYgKGJhc2VNb2RlbHNEaXIuZW5kc1dpdGgoXCJ2ZWxvY2lvdXMvc3BlYy9kdW1teS9zcmMvbW9kZWwtYmFzZXNcIikpIHtcbiAgICAgIGRldk1vZGUgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKGJhc2VNb2RlbHNEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5ta2RpcihiYXNlTW9kZWxzRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsQ2xhc3NOYW1lIGluIG1vZGVsQ2xhc3Nlcykge1xuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3Nlc1ttb2RlbENsYXNzTmFtZV1cbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGluZmxlY3Rpb24uZGFzaGVyaXplKG1vZGVsQ2xhc3NOYW1lKVxuICAgICAgY29uc3QgbW9kZWxOYW1lQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgICAgY29uc3QgbW9kZWxCYXNlRmlsZU5hbWUgPSBgJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUobW9kZWxOYW1lKSl9LmpzYFxuICAgICAgY29uc3QgbW9kZWxQYXRoID0gYCR7YmFzZU1vZGVsc0Rpcn0vJHttb2RlbEJhc2VGaWxlTmFtZX1gXG5cbiAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGUgc3JjL21vZGVsLWJhc2VzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YClcblxuICAgICAgY29uc3Qgc291cmNlTW9kZWxGdWxsRmlsZVBhdGggPSBgJHttb2RlbHNEaXJ9LyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgbGV0IHNvdXJjZU1vZGVsRmlsZVBhdGhcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoc291cmNlTW9kZWxGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgIHNvdXJjZU1vZGVsRmlsZVBhdGggPSBgLi4vbW9kZWxzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlTW9kZWxGaWxlUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyYy9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIlxuICAgICAgfVxuXG4gICAgICBsZXQgZmlsZUNvbnRlbnQgPSBcIlwiXG4gICAgICBsZXQgdmVsb2Npb3VzUGF0aFxuXG4gICAgICBpZiAoZGV2TW9kZSkge1xuICAgICAgICB2ZWxvY2lvdXNQYXRoID0gXCIuLi8uLi8uLi8uLi9zcmNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVsb2Npb3VzUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyY1wiXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBpbXBvcnQgRGF0YWJhc2VSZWNvcmQgZnJvbSBcIiR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCJcXG5cXG5gXG5cbiAgICAgIGNvbnN0IGhhc01hbnlSZWxhdGlvbkZpbGVQYXRoID0gYCR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luc3RhbmNlLXJlbGF0aW9uc2hpcHMvaGFzLW1hbnkuanNgXG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBleHBvcnQgZGVmYXVsdCBjbGFzcyAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlIGV4dGVuZHMgRGF0YWJhc2VSZWNvcmQge1xcbmBcblxuICAgICAgLy8gLS0tIGdldE1vZGVsQ2xhc3MoKSBvdmVycmlkZSAoZml4ZXMgcG9seW1vcnBoaWMgdHlwaW5nIGluIEpTL0pTRG9jKSAtLS1cbiAgICAgIGlmIChhd2FpdCBmaWxlRXhpc3RzKHNvdXJjZU1vZGVsRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAvLyBNb2RlbCBmaWxlIGV4aXN0cyAoZS5nLiBzcmMvbW9kZWxzL3RpY2tldC5qcykg4oaSIHJldHVybiB0eXBlb2YgVGlja2V0XG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLy8gQHRzLWlnbm9yZSAtIG92ZXJyaWRlIG5hcnJvd3MgcmV0dXJuIHR5cGUgZm9yIGJldHRlciBJbnRlbGxpU2Vuc2UgaW4gZ2VuZXJhdGVkIG1vZGVsIGJhc2VzXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgZ2V0TW9kZWxDbGFzcygpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH0gKi8gKHRoaXMuY29uc3RydWN0b3IpIH1cXG5cXG5gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBtb2RlbCBmaWxlIHlldCDihpIgZmFsbCBiYWNrIHRvIHR5cGVvZiBUaWNrZXRCYXNlXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mICR7bW9kZWxOYW1lQ2FtZWxpemVkfUJhc2V9XFxuYFxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8vIEB0cy1pZ25vcmUgLSBvdmVycmlkZSBuYXJyb3dzIHJldHVybiB0eXBlIGZvciBiZXR0ZXIgSW50ZWxsaVNlbnNlIGluIGdlbmVyYXRlZCBtb2RlbCBiYXNlc1xcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGdldE1vZGVsQ2xhc3MoKSB7IHJldHVybiAvdW5rbm93bnVua25vd24gQHR5cGUge3R5cGVvZiAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlfSAqLyAodGhpcy5jb25zdHJ1Y3RvcikgfVxcblxcbmBcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IGF3YWl0IG1vZGVsQ2xhc3MuX2dldFRhYmxlKCkuZ2V0Q29sdW1ucygpXG4gICAgICBsZXQgbWV0aG9kc0NvdW50ID0gMFxuXG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbHVtbi5nZXROYW1lKCksIHRydWUpXG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdCA9IGluZmxlY3Rpb24uY2FtZWxpemUoY29sdW1uLmdldE5hbWUoKSlcbiAgICAgICAgY29uc3QganNkb2NUeXBlID0gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChqc2RvY1R5cGUpIHtcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7JHtqc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2NhbWVsaXplZENvbHVtbk5hbWV9KCkgeyByZXR1cm4gdGhpcy5yZWFkQXR0cmlidXRlKFwiJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfVwiKSB9XFxuXFxuYFxuXG4gICAgICAgIGNvbnN0IHNldHRlckpzZG9jVHlwZSA9IHRoaXMuanNEb2NTZXR0ZXJUeXBlRnJvbUNvbHVtbihjb2x1bW4pXG5cbiAgICAgICAgaWYgKHNldHRlckpzZG9jVHlwZSkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7JHtzZXR0ZXJKc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX0gbmV3VmFsdWVcXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHt2b2lkfVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2NhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdH0obmV3VmFsdWUpIHsgcmV0dXJuIHRoaXMuX3NldENvbHVtbkF0dHJpYnV0ZShcIiR7Y2FtZWxpemVkQ29sdW1uTmFtZX1cIiwgbmV3VmFsdWUpIH1cXG5cXG5gXG5cbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgaGFzJHtjYW1lbGl6ZWRDb2x1bW5OYW1lQmlnRmlyc3R9KCkgeyByZXR1cm4gdGhpcy5faGFzQXR0cmlidXRlKHRoaXMuJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfSgpKSB9XFxuYFxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlbENsYXNzLl90cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgVHJhbnNsYXRpb25DbGFzcyA9IG1vZGVsQ2xhc3MuZ2V0VHJhbnNsYXRpb25DbGFzcygpXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uQ29sdW1ucyA9IFRyYW5zbGF0aW9uQ2xhc3MuZ2V0Q29sdW1ucygpXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIG1vZGVsQ2xhc3MuX3RyYW5zbGF0aW9ucykge1xuICAgICAgICAgIGNvbnN0IG5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUpXG4gICAgICAgICAgY29uc3QgY29sdW1uID0gdHJhbnNsYXRpb25Db2x1bW5zLmZpbmQoKHRyYW5zbGF0aW9uQ29sdW1uKSA9PiB0cmFuc2xhdGlvbkNvbHVtbi5nZXROYW1lKCkgPT09IG5hbWVVbmRlcnNjb3JlKVxuICAgICAgICAgIGxldCB0cmFuc2xhdGlvbkpzZG9jVHlwZVxuXG4gICAgICAgICAgaWYgKGNvbHVtbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb25Kc2RvY1R5cGUgPSB0aGlzLmpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke25hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgdGhpcy5fZ2V0Q29uZmlndXJhdGlvbigpLmdldExvY2FsZSgpKSB9XFxuYFxuICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICBjb25zdCBoYXNOYW1lID0gYGhhcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lKX1gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBhYnN0cmFjdFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtoYXNOYW1lfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiJHtoYXNOYW1lfSBub3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcbiAgICAgICAgICBtZXRob2RzQ291bnQrK1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0TG9jYWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGVNZXRob2ROYW1lID0gYCR7bmFtZX0ke2luZmxlY3Rpb24uY2FtZWxpemUobG9jYWxlKX1gXG5cbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZU1ldGhvZE5hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgXCIke2xvY2FsZX1cIikgfVxcbmBcbiAgICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZUhhc05hbWUgPSBgaGFzJHtpbmZsZWN0aW9uLmNhbWVsaXplKGxvY2FsZU1ldGhvZE5hbWUpfWBcblxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQGFic3RyYWN0XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2Jvb2xlYW59XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZUhhc05hbWV9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCIke2xvY2FsZUhhc05hbWV9IG5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuICAgICAgICAgICAgbWV0aG9kc0NvdW50KytcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXAgb2YgbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkpIHtcbiAgICAgICAgbGV0IGJhc2VGaWxlUGF0aCwgYmFzZUZ1bGxGaWxlUGF0aCwgZmlsZU5hbWUsIGZ1bGxGaWxlUGF0aFxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgICAgICAgIGZpbGVOYW1lID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsZU5hbWUgPSBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKS5uYW1lKSlcbiAgICAgICAgICBmdWxsRmlsZVBhdGggPSBgc3JjL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICBiYXNlRmlsZVBhdGggPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgYmFzZUZ1bGxGaWxlUGF0aCA9IGBzcmMvbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpID09IFwiYmVsb25nc1RvXCIgfHwgcmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc09uZVwiKSB7XG4gICAgICAgICAgbGV0IG1vZGVsRmlsZVBhdGhcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgbW9kZWxGaWxlUGF0aCA9IGJhc2VGaWxlUGF0aFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthdHRyaWJ1dGVzXVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgYnVpbGQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KGF0dHJpYnV0ZXMpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBsb2FkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHBhcmFtIHtpbXBvcnQoXCIke21vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHR9IG5ld01vZGVsXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHt2b2lkfVxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KG5ld01vZGVsKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG4gICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc01hbnlcIikge1xuICAgICAgICAgIGxldCByZWNvcmRJbXBvcnRcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgLi4vbW9kZWxzLyR7ZmlsZU5hbWV9LmpzYFxuICAgICAgICAgIH0gZWxzZSBpZiAoYmFzZUZ1bGxGaWxlUGF0aCAmJiBhd2FpdCBmaWxlRXhpc3RzKGJhc2VGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlY29yZEltcG9ydCA9IGAke3ZlbG9jaW91c1BhdGh9L2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc2BcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiJHtoYXNNYW55UmVsYXRpb25GaWxlUGF0aH1cIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiJHtzb3VyY2VNb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0LCB0eXBlb2YgaW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fVxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9KCkgeyByZXR1cm4gL3Vua25vd251bmtub3duIEB0eXBlIHtpbXBvcnQoXCIke2hhc01hbnlSZWxhdGlvbkZpbGVQYXRofVwiKS5kZWZhdWx0PHR5cGVvZiBpbXBvcnQoXCIke3NvdXJjZU1vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHQsIHR5cGVvZiBpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59ICovICh0aGlzLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShcIiR7cmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKX1cIikpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfUxvYWRlZCgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7QXJyYXk8aW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGxvYWQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcGFyYW0ge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn0gbmV3TW9kZWxzXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7dm9pZH1cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIHNldCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpKX0obmV3TW9kZWxzKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlbGF0aW9uc2hpcCB0eXBlOiAke3JlbGF0aW9uc2hpcC5nZXRUeXBlKCl9YClcbiAgICAgICAgfVxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IFwifVxcblwiXG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShtb2RlbFBhdGgsIGZpbGVDb250ZW50KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdH0gY29sdW1uIC0gQ29sdW1uLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFRoZSBqcyBkb2MgdHlwZSBmcm9tIGNvbHVtbi5cbiAgICovXG4gIGpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKSB7XG4gICAgY29uc3QgdHlwZSA9IGNvbHVtbi5nZXRUeXBlKClcblxuICAgIGlmICh0eXBlID09IFwiYm9vbGVhblwiKSB7XG4gICAgICByZXR1cm4gXCJib29sZWFuXCJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJqc29uXCIpIHtcbiAgICAgIHJldHVybiBcIlJlY29yZDxzdHJpbmcsIGFueT5cIlxuICAgIH0gZWxzZSBpZiAoW1wiYmxvYlwiLCBcImNoYXJcIiwgXCJudmFyY2hhclwiLCBcInZhcmNoYXJcIiwgXCJ0ZXh0XCIsIFwibG9uZ3RleHRcIiwgXCJ1dWlkXCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIlxuICAgIH0gZWxzZSBpZiAoW1wiYml0XCIsIFwiYmlnaW50XCIsIFwiZmxvYXRcIiwgXCJpbnRcIiwgXCJpbnRlZ2VyXCIsIFwic21hbGxpbnRcIiwgXCJ0aW55aW50XCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJudW1iZXJcIlxuICAgIH0gZWxzZSBpZiAoW1wiZGF0ZVwiLCBcImRhdGV0aW1lXCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJEYXRlXCJcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgVW5rbm93biBjb2x1bW4gdHlwZTogJHt0eXBlfWApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLWNvbHVtbi5qc1wiKS5kZWZhdWx0fSBjb2x1bW4gLSBDb2x1bW4uXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIGpzIGRvYyBzZXR0ZXIgdHlwZSBmcm9tIGNvbHVtbi5cbiAgICovXG4gIGpzRG9jU2V0dGVyVHlwZUZyb21Db2x1bW4oY29sdW1uKSB7XG4gICAgY29uc3QgdHlwZSA9IGNvbHVtbi5nZXRUeXBlKClcblxuICAgIGlmIChbXCJkYXRlXCIsIFwiZGF0ZXRpbWVcIl0uaW5jbHVkZXModHlwZSkpIHtcbiAgICAgIHJldHVybiBcIkRhdGUgfCBzdHJpbmdcIlxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKVxuICB9XG59XG5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {(...args:
|
|
3
|
-
* @returns {(...args:
|
|
2
|
+
* @param {(...args: any[]) => Promise<void>} callback - Callback function.
|
|
3
|
+
* @returns {(...args: any[]) => Promise<void>} - The error logger.
|
|
4
4
|
*/
|
|
5
|
-
export default function errorLogger(callback: (...args:
|
|
5
|
+
export default function errorLogger(callback: (...args: any[]) => Promise<void>): (...args: any[]) => Promise<void>;
|
|
6
6
|
//# sourceMappingURL=error-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-logger.d.ts","sourceRoot":"","sources":["../../src/error-logger.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,8CAHW,CAAC,GAAG,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"error-logger.d.ts","sourceRoot":"","sources":["../../src/error-logger.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,8CAHW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/B,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CA4B7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
|
-
* @param {(...args:
|
|
4
|
-
* @returns {(...args:
|
|
3
|
+
* @param {(...args: any[]) => Promise<void>} callback - Callback function.
|
|
4
|
+
* @returns {(...args: any[]) => Promise<void>} - The error logger.
|
|
5
5
|
*/
|
|
6
6
|
export default function errorLogger(callback) {
|
|
7
7
|
/**
|
|
@@ -31,4 +31,4 @@ export default function errorLogger(callback) {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9yLWxvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxXQUFXLENBQUMsUUFBUTtJQUMxQzs7O09BR0c7SUFDSCxPQUFPLEtBQUssV0FBVSxHQUFHLElBQUk7UUFDM0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFFOUMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQzNCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxFQUFFLENBQUMsQ0FBQTtnQkFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUMzQixDQUFDO1lBRUQsK0RBQStEO1lBQy9ELFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25DLENBQUM7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHBhcmFtIHsoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8dm9pZD59IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7KC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPHZvaWQ+fSAtIFRoZSBlcnJvciBsb2dnZXIuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVycm9yTG9nZ2VyKGNhbGxiYWNrKSB7XG4gIC8qKlxuICAgKiBAcGFyYW0gIHsuLi51bmtub3duW119IGFyZ3MgLSBBcmd1bWVudHMgZm9yd2FyZGVkIHRvIHRoZSBjYWxsYmFjay5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yTG9nZ2VyOiAke2Vycm9yLm1lc3NhZ2V9YClcblxuICAgICAgICBpZiAoZXJyb3Iuc3RhY2spIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU3RhY2tcIiwgZXJyb3Iuc3RhY2spXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIk5vIHN0YWNrXCIpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yTG9nZ2VyOiAke2Vycm9yfWApXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBzdGFja1wiKVxuICAgICAgfVxuXG4gICAgICAvLyBHaXZlIGNvbnNvbGUgc29tZSB0aW1lIHRvIHdyaXRlIG91dCBtZXNzYWdlcyBiZWZvcmUgY3Jhc2hpbmdcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aHJvdyBlcnJvciB9KVxuICAgIH1cbiAgfVxufVxuXG4iXX0=
|
|
@@ -32,11 +32,11 @@ export default class VelociousWebsocketClient {
|
|
|
32
32
|
/**
|
|
33
33
|
* Perform a POST request over the websocket.
|
|
34
34
|
* @param {string} path - Path.
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {any} [body] - Request body.
|
|
36
36
|
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
37
37
|
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the post.
|
|
38
38
|
*/
|
|
39
|
-
post(path: string, body?:
|
|
39
|
+
post(path: string, body?: any, options?: {
|
|
40
40
|
headers?: Record<string, string>;
|
|
41
41
|
}): Promise<VelociousWebsocketResponse>;
|
|
42
42
|
/**
|
|
@@ -51,23 +51,23 @@ export default class VelociousWebsocketClient {
|
|
|
51
51
|
/**
|
|
52
52
|
* Subscribe to a channel for server-sent events.
|
|
53
53
|
* @param {string} channel - Channel name.
|
|
54
|
-
* @param {(payload:
|
|
54
|
+
* @param {(payload: any) => void} callback - Callback function.
|
|
55
55
|
* @returns {() => void} unsubscribe function
|
|
56
56
|
*/
|
|
57
|
-
on(channel: string, callback: (payload:
|
|
57
|
+
on(channel: string, callback: (payload: any) => void): () => void;
|
|
58
58
|
/**
|
|
59
59
|
* @private
|
|
60
60
|
* @param {string} method - HTTP method.
|
|
61
61
|
* @param {string} path - Path.
|
|
62
62
|
* @param {object} [options] - Options object.
|
|
63
|
-
* @param {
|
|
63
|
+
* @param {any} [options.body] - Request body.
|
|
64
64
|
* @param {Record<string, string>} [options.headers] - Header list.
|
|
65
65
|
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the request.
|
|
66
66
|
*/
|
|
67
67
|
private request;
|
|
68
68
|
/**
|
|
69
69
|
* @private
|
|
70
|
-
* @param {MessageEvent<
|
|
70
|
+
* @param {MessageEvent<any>} event - Event payload.
|
|
71
71
|
*/
|
|
72
72
|
private onMessage;
|
|
73
73
|
/**
|
|
@@ -77,12 +77,12 @@ export default class VelociousWebsocketClient {
|
|
|
77
77
|
private onClose;
|
|
78
78
|
/**
|
|
79
79
|
* @private
|
|
80
|
-
* @param {Record<string,
|
|
80
|
+
* @param {Record<string, any>} payload - Payload data.
|
|
81
81
|
*/
|
|
82
82
|
private _sendMessage;
|
|
83
83
|
/**
|
|
84
84
|
* @private
|
|
85
|
-
* @param {...
|
|
85
|
+
* @param {...any} args - Options object.
|
|
86
86
|
* @returns {void} - No return value.
|
|
87
87
|
*/
|
|
88
88
|
private _debug;
|
|
@@ -98,8 +98,8 @@ declare class VelociousWebsocketResponse {
|
|
|
98
98
|
statusCode: any;
|
|
99
99
|
statusMessage: any;
|
|
100
100
|
type: any;
|
|
101
|
-
/** @returns {
|
|
102
|
-
json():
|
|
101
|
+
/** @returns {any} - The json. */
|
|
102
|
+
json(): any;
|
|
103
103
|
}
|
|
104
104
|
export {};
|
|
105
105
|
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,6BAHG;QAAuB,KAAK,GAApB,OAAO;QACO,GAAG,GAAjB,MAAM;KAChB,EAUA;IANC,eAAkB;IAClB,+BAAgC;IAChC,6BAAmC;IACnC,YAAiD;IACjD,yBAA0B;IAC1B,eAAe;IAGjB;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAzBC,6BAsBE;IArBA,kBAAqC;IA0BzC;;;OAGG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,6BAHG;QAAuB,KAAK,GAApB,OAAO;QACO,GAAG,GAAjB,MAAM;KAChB,EAUA;IANC,eAAkB;IAClB,+BAAgC;IAChC,6BAAmC;IACnC,YAAiD;IACjD,yBAA0B;IAC1B,eAAe;IAGjB;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAzBC,6BAsBE;IArBA,kBAAqC;IA0BzC;;;OAGG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,GAAG,YACH;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,UAJW,MAAM,YACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,YAJW,MAAM,YACN,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GACpB,MAAM,IAAI,CAyBtB;IAED;;;;;;;;OAQG;IACH,gBAiBC;IAED;;;OAGG;IACH,kBA6CC;IAED;;;OAGG;IACH,gBAOC;IAED;;;OAGG;IACH,qBASC;IAED;;;;OAIG;IACH,eAIC;CACF;AAED;IACE;;OAEG;IACH,qBAFW,MAAM,EAShB;IANC,UAAwB;IACxB,aAAoC;IACpC,QAAoB;IACpB,gBAA2C;IAC3C,mBAAkD;IAClD,UAAwB;IAG1B,kCAAkC;IAClC,QADc,GAAG,CAOhB;CACF"}
|
|
@@ -66,7 +66,7 @@ export default class VelociousWebsocketClient {
|
|
|
66
66
|
/**
|
|
67
67
|
* Perform a POST request over the websocket.
|
|
68
68
|
* @param {string} path - Path.
|
|
69
|
-
* @param {
|
|
69
|
+
* @param {any} [body] - Request body.
|
|
70
70
|
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
71
71
|
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the post.
|
|
72
72
|
*/
|
|
@@ -85,7 +85,7 @@ export default class VelociousWebsocketClient {
|
|
|
85
85
|
/**
|
|
86
86
|
* Subscribe to a channel for server-sent events.
|
|
87
87
|
* @param {string} channel - Channel name.
|
|
88
|
-
* @param {(payload:
|
|
88
|
+
* @param {(payload: any) => void} callback - Callback function.
|
|
89
89
|
* @returns {() => void} unsubscribe function
|
|
90
90
|
*/
|
|
91
91
|
on(channel, callback) {
|
|
@@ -112,7 +112,7 @@ export default class VelociousWebsocketClient {
|
|
|
112
112
|
* @param {string} method - HTTP method.
|
|
113
113
|
* @param {string} path - Path.
|
|
114
114
|
* @param {object} [options] - Options object.
|
|
115
|
-
* @param {
|
|
115
|
+
* @param {any} [options.body] - Request body.
|
|
116
116
|
* @param {Record<string, string>} [options.headers] - Header list.
|
|
117
117
|
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the request.
|
|
118
118
|
*/
|
|
@@ -134,7 +134,7 @@ export default class VelociousWebsocketClient {
|
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* @private
|
|
137
|
-
* @param {MessageEvent<
|
|
137
|
+
* @param {MessageEvent<any>} event - Event payload.
|
|
138
138
|
*/
|
|
139
139
|
onMessage = (event) => {
|
|
140
140
|
const raw = typeof event.data === "string" ? event.data : event.data?.toString?.();
|
|
@@ -193,7 +193,7 @@ export default class VelociousWebsocketClient {
|
|
|
193
193
|
};
|
|
194
194
|
/**
|
|
195
195
|
* @private
|
|
196
|
-
* @param {Record<string,
|
|
196
|
+
* @param {Record<string, any>} payload - Payload data.
|
|
197
197
|
*/
|
|
198
198
|
_sendMessage(payload) {
|
|
199
199
|
if (!this.socket || this.socket.readyState !== this.socket.OPEN) {
|
|
@@ -205,7 +205,7 @@ export default class VelociousWebsocketClient {
|
|
|
205
205
|
}
|
|
206
206
|
/**
|
|
207
207
|
* @private
|
|
208
|
-
* @param {...
|
|
208
|
+
* @param {...any} args - Options object.
|
|
209
209
|
* @returns {void} - No return value.
|
|
210
210
|
*/
|
|
211
211
|
_debug(...args) {
|
|
@@ -226,7 +226,7 @@ class VelociousWebsocketResponse {
|
|
|
226
226
|
this.statusMessage = message.statusMessage || "OK";
|
|
227
227
|
this.type = message.type;
|
|
228
228
|
}
|
|
229
|
-
/** @returns {
|
|
229
|
+
/** @returns {any} - The json. */
|
|
230
230
|
json() {
|
|
231
231
|
if (typeof this.body !== "string") {
|
|
232
232
|
throw new Error("Response body is not a string");
|
|
@@ -234,4 +234,4 @@ class VelociousWebsocketResponse {
|
|
|
234
234
|
return JSON.parse(this.body);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLWNsaWVudC93ZWJzb2NrZXQtY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBQzNDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUUvRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksK0JBQStCLENBQUE7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFBRSxPQUFNO1FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7UUFFbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFD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QUFPLENBQUMsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQTtRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxJQUFJO1FBQ0YsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEEgc21hbGwgd2Vic29ja2V0IGNsaWVudCB0aGF0IG1pcnJvcnMgc2ltcGxlIEhUVFAtc3R5bGUgY2FsbHMgYW5kIGNoYW5uZWwgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzV2Vic29ja2V0Q2xpZW50IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z10gLSBXaGV0aGVyIGRlYnVnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MudXJsXSBGdWxsIHdlYnNvY2tldCBVUkwgKGRlZmF1bHQ6IHdzOi8vMTI3LjAuMC4xOjMwMDYvd2Vic29ja2V0KVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RlYnVnID0gZmFsc2UsIHVybH0gPSB7fSkge1xuICAgIGlmICghZ2xvYmFsVGhpcy5XZWJTb2NrZXQpIHRocm93IG5ldyBFcnJvcihcIldlYlNvY2tldCBnbG9iYWwgaXMgbm90IGF2YWlsYWJsZVwiKVxuXG4gICAgdGhpcy5kZWJ1ZyA9IGRlYnVnXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwKClcbiAgICB0aGlzLnN1YnNjcmliZWRDaGFubmVscyA9IG5ldyBTZXQoKVxuICAgIHRoaXMudXJsID0gdXJsIHx8IFwid3M6Ly8xMjcuMC4wLjE6MzAwNi93ZWJzb2NrZXRcIlxuICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5uZXh0SUQgPSAxXG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlIGEgd2Vic29ja2V0IGNvbm5lY3Rpb24gaXMgb3Blbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0ICYmIHRoaXMuc29ja2V0LnJlYWR5U3RhdGUgPT09IHRoaXMuc29ja2V0Lk9QRU4pIHJldHVyblxuICAgIGlmICh0aGlzLmNvbm5lY3RQcm9taXNlKSByZXR1cm4gdGhpcy5jb25uZWN0UHJvbWlzZVxuXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybClcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJvcGVuXCIsIG9uT3BlbilcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvbk9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbnN0IGVycm9yID0gZXZlbnQ/LmVycm9yIHx8IG5ldyBFcnJvcihcIldlYnNvY2tldCBjb25uZWN0aW9uIGVycm9yXCIpXG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcIm9wZW5cIiwgb25PcGVuKVxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLm9uTWVzc2FnZSlcbiAgICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCB0aGlzLm9uQ2xvc2UpXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLmNvbm5lY3RQcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHdlYnNvY2tldCBhbmQgY2xlYXIgcGVuZGluZyBzdGF0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQpIHJldHVyblxuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0Py5hZGRFdmVudExpc3RlbmVyKFwiY2xvc2VcIiwgKCkgPT4gcmVzb2x2ZSgpKVxuICAgICAgdGhpcy5zb2NrZXQ/LmNsb3NlKClcbiAgICB9KVxuXG4gICAgdGhpcy5zb2NrZXQgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNvbm5lY3RQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIFBPU1QgcmVxdWVzdCBvdmVyIHRoZSB3ZWJzb2NrZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHt1bmtub3dufSBbYm9keV0gLSBSZXF1ZXN0IGJvZHkuXG4gICAqIEBwYXJhbSB7e2hlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fX0gW29wdGlvbnNdIC0gUmVxdWVzdCBvcHRpb25zIHN1Y2ggYXMgaGVhZGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8VmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2U+fSAtIFJlc29sdmVzIHdpdGggdGhlIHBvc3QuXG4gICAqL1xuICBhc3luYyBwb3N0KHBhdGgsIGJvZHksIG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIHBhdGgsIHsuLi5vcHRpb25zLCBib2R5fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGEgR0VUIHJlcXVlc3Qgb3ZlciB0aGUgd2Vic29ja2V0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7e2hlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fX0gW29wdGlvbnNdIC0gUmVxdWVzdCBvcHRpb25zIHN1Y2ggYXMgaGVhZGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8VmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2U+fSAtIFJlc29sdmVzIHdpdGggdGhlIGdldC5cbiAgICovXG4gIGFzeW5jIGdldChwYXRoLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiR0VUXCIsIHBhdGgsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGEgY2hhbm5lbCBmb3Igc2VydmVyLXNlbnQgZXZlbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHBhcmFtIHsocGF5bG9hZDogdW5rbm93bikgPT4gdm9pZH0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgeygpID0+IHZvaWR9IHVuc3Vic2NyaWJlIGZ1bmN0aW9uXG4gICAqL1xuICBvbihjaGFubmVsLCBjYWxsYmFjaykge1xuICAgIGlmICghdGhpcy5saXN0ZW5lcnMuaGFzKGNoYW5uZWwpKSB7XG4gICAgICB0aGlzLmxpc3RlbmVycy5zZXQoY2hhbm5lbCwgbmV3IFNldCgpKVxuICAgICAgdGhpcy5zdWJzY3JpYmVkQ2hhbm5lbHMuYWRkKGNoYW5uZWwpXG5cbiAgICAgIHZvaWQgdGhpcy5jb25uZWN0KCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NlbmRNZXNzYWdlKHtjaGFubmVsLCB0eXBlOiBcInN1YnNjcmliZVwifSlcbiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4gdGhpcy5fZGVidWcoXCJTdWJzY3JpYmUgZmFpbGVkXCIsIGVycm9yKSlcbiAgICB9XG5cbiAgICBjb25zdCBjaGFubmVsTGlzdGVuZXJzID0gdGhpcy5saXN0ZW5lcnMuZ2V0KGNoYW5uZWwpXG5cbiAgICBpZiAoIWNoYW5uZWxMaXN0ZW5lcnMpIHRocm93IG5ldyBFcnJvcihcIkxpc3RlbmVycyBtYXAgbm90IGluaXRpYWxpemVkXCIpXG5cbiAgICBjaGFubmVsTGlzdGVuZXJzLmFkZChjYWxsYmFjaylcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjaGFubmVsTGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjaylcblxuICAgICAgaWYgKGNoYW5uZWxMaXN0ZW5lcnMuc2l6ZSA9PT0gMCkge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5kZWxldGUoY2hhbm5lbClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZCAtIEhUVFAgbWV0aG9kLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHt1bmtub3dufSBbb3B0aW9ucy5ib2R5XSAtIFJlcXVlc3QgYm9keS5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbb3B0aW9ucy5oZWFkZXJzXSAtIEhlYWRlciBsaXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIHJlcXVlc3QobWV0aG9kLCBwYXRoLCB7Ym9keSwgaGVhZGVyc30gPSB7fSkge1xuICAgIGF3YWl0IHRoaXMuY29ubmVjdCgpXG5cbiAgICBjb25zdCBpZCA9IGB3cy0ke3RoaXMubmV4dElEKyt9YFxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIGlkLFxuICAgICAgbWV0aG9kLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGU6IFwicmVxdWVzdFwiXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLnNldChpZCwge3Jlc29sdmUsIHJlamVjdH0pXG4gICAgICB0aGlzLl9zZW5kTWVzc2FnZShwYXlsb2FkKVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtNZXNzYWdlRXZlbnQ8dW5rbm93bj59IGV2ZW50IC0gRXZlbnQgcGF5bG9hZC5cbiAgICovXG4gIG9uTWVzc2FnZSA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHJhdyA9IHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiID8gZXZlbnQuZGF0YSA6IGV2ZW50LmRhdGE/LnRvU3RyaW5nPy4oKVxuXG4gICAgaWYgKCFyYXcpIHJldHVyblxuXG4gICAgbGV0IG1lc3NhZ2VcblxuICAgIHRyeSB7XG4gICAgICBtZXNzYWdlID0gSlNPTi5wYXJzZShyYXcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuX2RlYnVnKFwiRmFpbGVkIHRvIHBhcnNlIHdlYnNvY2tldCBtZXNzYWdlXCIsIGVycm9yKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge3R5cGV9ID0gbWVzc2FnZVxuXG4gICAgaWYgKHR5cGUgPT09IFwicmVzcG9uc2VcIikge1xuICAgICAgY29uc3Qge2lkfSA9IG1lc3NhZ2VcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSBpZCA/IHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChpZCkgOiB1bmRlZmluZWRcblxuICAgICAgaWYgKHBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKGlkKVxuICAgICAgICBwZW5kaW5nLnJlc29sdmUobmV3IFZlbG9jaW91c1dlYnNvY2tldFJlc3BvbnNlKG1lc3NhZ2UpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZGVidWcoYE5vIHBlbmRpbmcgcmVxdWVzdCBmb3IgcmVzcG9uc2UgaWQgJHtpZH1gKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJldmVudFwiKSB7XG4gICAgICBjb25zdCB7Y2hhbm5lbCwgcGF5bG9hZH0gPSBtZXNzYWdlXG4gICAgICBjb25zdCBjYWxsYmFja3MgPSB0aGlzLmxpc3RlbmVycy5nZXQoY2hhbm5lbClcblxuICAgICAgY2FsbGJhY2tzPy5mb3JFYWNoKChjYWxsYmFjaykgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNhbGxiYWNrKHBheWxvYWQpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgdGhpcy5fZGVidWcoXCJMaXN0ZW5lciBlcnJvclwiLCBlcnJvcilcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwiZXJyb3JcIiAmJiBtZXNzYWdlLmlkKSB7XG4gICAgICBjb25zdCBwZW5kaW5nID0gdGhpcy5wZW5kaW5nUmVxdWVzdHMuZ2V0KG1lc3NhZ2UuaWQpXG5cbiAgICAgIGlmIChwZW5kaW5nKSB7XG4gICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmRlbGV0ZShtZXNzYWdlLmlkKVxuICAgICAgICBwZW5kaW5nLnJlamVjdChuZXcgRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIlVua25vd24gd2Vic29ja2V0IGVycm9yXCIpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgYWxsIHBlbmRpbmcgcmVxdWVzdHMgd2hlbiB0aGUgc29ja2V0IGNsb3NlcyB1bmV4cGVjdGVkbHkuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBvbkNsb3NlID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgW2lkLCB7cmVqZWN0fV0gb2YgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZW50cmllcygpKSB7XG4gICAgICByZWplY3QobmV3IEVycm9yKGBXZWJzb2NrZXQgY2xvc2VkIGJlZm9yZSByZXNwb25zZSBmb3IgJHtpZH1gKSlcbiAgICB9XG5cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IHBheWxvYWQgLSBQYXlsb2FkIGRhdGEuXG4gICAqL1xuICBfc2VuZE1lc3NhZ2UocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQgfHwgdGhpcy5zb2NrZXQucmVhZHlTdGF0ZSAhPT0gdGhpcy5zb2NrZXQuT1BFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiV2Vic29ja2V0IGlzIG5vdCBvcGVuXCIpXG4gICAgfVxuXG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpXG5cbiAgICB0aGlzLl9kZWJ1ZyhcIlNlbmRpbmdcIiwganNvbilcbiAgICB0aGlzLnNvY2tldC5zZW5kKGpzb24pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtICB7Li4udW5rbm93bn0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBfZGVidWcoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5kZWJ1ZykgcmV0dXJuXG5cbiAgICBjb25zb2xlLmRlYnVnKFwiW1ZlbG9jaW91c1dlYnNvY2tldENsaWVudF1cIiwgLi4uYXJncylcbiAgfVxufVxuXG5jbGFzcyBWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gbWVzc2FnZSAtIE1lc3NhZ2UgdGV4dC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICB0aGlzLmJvZHkgPSBtZXNzYWdlLmJvZHlcbiAgICB0aGlzLmhlYWRlcnMgPSBtZXNzYWdlLmhlYWRlcnMgfHwge31cbiAgICB0aGlzLmlkID0gbWVzc2FnZS5pZFxuICAgIHRoaXMuc3RhdHVzQ29kZSA9IG1lc3NhZ2Uuc3RhdHVzQ29kZSB8fCAyMDBcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBtZXNzYWdlLnN0YXR1c01lc3NhZ2UgfHwgXCJPS1wiXG4gICAgdGhpcy50eXBlID0gbWVzc2FnZS50eXBlXG4gIH1cblxuICAvKiogQHJldHVybnMge3Vua25vd259IC0gVGhlIGpzb24uICAqL1xuICBqc29uKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5ib2R5ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXNwb25zZSBib2R5IGlzIG5vdCBhIHN0cmluZ1wiKVxuICAgIH1cblxuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuYm9keSlcbiAgfVxufVxuIl19
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLWNsaWVudC93ZWJzb2NrZXQtY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBQzNDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUUvRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksK0JBQStCLENBQUE7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFBRSxPQUFNO1FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7UUFFbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFD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QUFPLENBQUMsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQTtRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxJQUFJO1FBQ0YsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEEgc21hbGwgd2Vic29ja2V0IGNsaWVudCB0aGF0IG1pcnJvcnMgc2ltcGxlIEhUVFAtc3R5bGUgY2FsbHMgYW5kIGNoYW5uZWwgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzV2Vic29ja2V0Q2xpZW50IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z10gLSBXaGV0aGVyIGRlYnVnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MudXJsXSBGdWxsIHdlYnNvY2tldCBVUkwgKGRlZmF1bHQ6IHdzOi8vMTI3LjAuMC4xOjMwMDYvd2Vic29ja2V0KVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RlYnVnID0gZmFsc2UsIHVybH0gPSB7fSkge1xuICAgIGlmICghZ2xvYmFsVGhpcy5XZWJTb2NrZXQpIHRocm93IG5ldyBFcnJvcihcIldlYlNvY2tldCBnbG9iYWwgaXMgbm90IGF2YWlsYWJsZVwiKVxuXG4gICAgdGhpcy5kZWJ1ZyA9IGRlYnVnXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwKClcbiAgICB0aGlzLnN1YnNjcmliZWRDaGFubmVscyA9IG5ldyBTZXQoKVxuICAgIHRoaXMudXJsID0gdXJsIHx8IFwid3M6Ly8xMjcuMC4wLjE6MzAwNi93ZWJzb2NrZXRcIlxuICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5uZXh0SUQgPSAxXG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlIGEgd2Vic29ja2V0IGNvbm5lY3Rpb24gaXMgb3Blbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0ICYmIHRoaXMuc29ja2V0LnJlYWR5U3RhdGUgPT09IHRoaXMuc29ja2V0Lk9QRU4pIHJldHVyblxuICAgIGlmICh0aGlzLmNvbm5lY3RQcm9taXNlKSByZXR1cm4gdGhpcy5jb25uZWN0UHJvbWlzZVxuXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybClcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJvcGVuXCIsIG9uT3BlbilcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvbk9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbnN0IGVycm9yID0gZXZlbnQ/LmVycm9yIHx8IG5ldyBFcnJvcihcIldlYnNvY2tldCBjb25uZWN0aW9uIGVycm9yXCIpXG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcIm9wZW5cIiwgb25PcGVuKVxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLm9uTWVzc2FnZSlcbiAgICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCB0aGlzLm9uQ2xvc2UpXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLmNvbm5lY3RQcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHdlYnNvY2tldCBhbmQgY2xlYXIgcGVuZGluZyBzdGF0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQpIHJldHVyblxuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0Py5hZGRFdmVudExpc3RlbmVyKFwiY2xvc2VcIiwgKCkgPT4gcmVzb2x2ZSgpKVxuICAgICAgdGhpcy5zb2NrZXQ/LmNsb3NlKClcbiAgICB9KVxuXG4gICAgdGhpcy5zb2NrZXQgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNvbm5lY3RQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIFBPU1QgcmVxdWVzdCBvdmVyIHRoZSB3ZWJzb2NrZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHthbnl9IFtib2R5XSAtIFJlcXVlc3QgYm9keS5cbiAgICogQHBhcmFtIHt7aGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz59fSBbb3B0aW9uc10gLSBSZXF1ZXN0IG9wdGlvbnMgc3VjaCBhcyBoZWFkZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcG9zdC5cbiAgICovXG4gIGFzeW5jIHBvc3QocGF0aCwgYm9keSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucmVxdWVzdChcIlBPU1RcIiwgcGF0aCwgey4uLm9wdGlvbnMsIGJvZHl9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYSBHRVQgcmVxdWVzdCBvdmVyIHRoZSB3ZWJzb2NrZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHt7aGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz59fSBbb3B0aW9uc10gLSBSZXF1ZXN0IG9wdGlvbnMgc3VjaCBhcyBoZWFkZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgZ2V0LlxuICAgKi9cbiAgYXN5bmMgZ2V0KHBhdGgsIG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlcXVlc3QoXCJHRVRcIiwgcGF0aCwgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gYSBjaGFubmVsIGZvciBzZXJ2ZXItc2VudCBldmVudHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsIC0gQ2hhbm5lbCBuYW1lLlxuICAgKiBAcGFyYW0geyhwYXlsb2FkOiBhbnkpID0+IHZvaWR9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfSB1bnN1YnNjcmliZSBmdW5jdGlvblxuICAgKi9cbiAgb24oY2hhbm5lbCwgY2FsbGJhY2spIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzLmhhcyhjaGFubmVsKSkge1xuICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KGNoYW5uZWwsIG5ldyBTZXQoKSlcbiAgICAgIHRoaXMuc3Vic2NyaWJlZENoYW5uZWxzLmFkZChjaGFubmVsKVxuXG4gICAgICB2b2lkIHRoaXMuY29ubmVjdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9zZW5kTWVzc2FnZSh7Y2hhbm5lbCwgdHlwZTogXCJzdWJzY3JpYmVcIn0pXG4gICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHRoaXMuX2RlYnVnKFwiU3Vic2NyaWJlIGZhaWxlZFwiLCBlcnJvcikpXG4gICAgfVxuXG4gICAgY29uc3QgY2hhbm5lbExpc3RlbmVycyA9IHRoaXMubGlzdGVuZXJzLmdldChjaGFubmVsKVxuXG4gICAgaWYgKCFjaGFubmVsTGlzdGVuZXJzKSB0aHJvdyBuZXcgRXJyb3IoXCJMaXN0ZW5lcnMgbWFwIG5vdCBpbml0aWFsaXplZFwiKVxuXG4gICAgY2hhbm5lbExpc3RlbmVycy5hZGQoY2FsbGJhY2spXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2hhbm5lbExpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spXG5cbiAgICAgIGlmIChjaGFubmVsTGlzdGVuZXJzLnNpemUgPT09IDApIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZGVsZXRlKGNoYW5uZWwpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgLSBIVFRQIG1ldGhvZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggLSBQYXRoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7YW55fSBbb3B0aW9ucy5ib2R5XSAtIFJlcXVlc3QgYm9keS5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbb3B0aW9ucy5oZWFkZXJzXSAtIEhlYWRlciBsaXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIHJlcXVlc3QobWV0aG9kLCBwYXRoLCB7Ym9keSwgaGVhZGVyc30gPSB7fSkge1xuICAgIGF3YWl0IHRoaXMuY29ubmVjdCgpXG5cbiAgICBjb25zdCBpZCA9IGB3cy0ke3RoaXMubmV4dElEKyt9YFxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIGlkLFxuICAgICAgbWV0aG9kLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGU6IFwicmVxdWVzdFwiXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLnNldChpZCwge3Jlc29sdmUsIHJlamVjdH0pXG4gICAgICB0aGlzLl9zZW5kTWVzc2FnZShwYXlsb2FkKVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtNZXNzYWdlRXZlbnQ8YW55Pn0gZXZlbnQgLSBFdmVudCBwYXlsb2FkLlxuICAgKi9cbiAgb25NZXNzYWdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgcmF3ID0gdHlwZW9mIGV2ZW50LmRhdGEgPT09IFwic3RyaW5nXCIgPyBldmVudC5kYXRhIDogZXZlbnQuZGF0YT8udG9TdHJpbmc/LigpXG5cbiAgICBpZiAoIXJhdykgcmV0dXJuXG5cbiAgICBsZXQgbWVzc2FnZVxuXG4gICAgdHJ5IHtcbiAgICAgIG1lc3NhZ2UgPSBKU09OLnBhcnNlKHJhdylcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5fZGVidWcoXCJGYWlsZWQgdG8gcGFyc2Ugd2Vic29ja2V0IG1lc3NhZ2VcIiwgZXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB7dHlwZX0gPSBtZXNzYWdlXG5cbiAgICBpZiAodHlwZSA9PT0gXCJyZXNwb25zZVwiKSB7XG4gICAgICBjb25zdCB7aWR9ID0gbWVzc2FnZVxuICAgICAgY29uc3QgcGVuZGluZyA9IGlkID8gdGhpcy5wZW5kaW5nUmVxdWVzdHMuZ2V0KGlkKSA6IHVuZGVmaW5lZFxuXG4gICAgICBpZiAocGVuZGluZykge1xuICAgICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5kZWxldGUoaWQpXG4gICAgICAgIHBlbmRpbmcucmVzb2x2ZShuZXcgVmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2UobWVzc2FnZSkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9kZWJ1ZyhgTm8gcGVuZGluZyByZXF1ZXN0IGZvciByZXNwb25zZSBpZCAke2lkfWApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcImV2ZW50XCIpIHtcbiAgICAgIGNvbnN0IHtjaGFubmVsLCBwYXlsb2FkfSA9IG1lc3NhZ2VcbiAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMubGlzdGVuZXJzLmdldChjaGFubmVsKVxuXG4gICAgICBjYWxsYmFja3M/LmZvckVhY2goKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2FsbGJhY2socGF5bG9hZClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLl9kZWJ1ZyhcIkxpc3RlbmVyIGVycm9yXCIsIGVycm9yKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJlcnJvclwiICYmIG1lc3NhZ2UuaWQpIHtcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQobWVzc2FnZS5pZClcblxuICAgICAgaWYgKHBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKG1lc3NhZ2UuaWQpXG4gICAgICAgIHBlbmRpbmcucmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlLmVycm9yIHx8IFwiVW5rbm93biB3ZWJzb2NrZXQgZXJyb3JcIikpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlamVjdCBhbGwgcGVuZGluZyByZXF1ZXN0cyB3aGVuIHRoZSBzb2NrZXQgY2xvc2VzIHVuZXhwZWN0ZWRseS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBbaWQsIHtyZWplY3R9XSBvZiB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5lbnRyaWVzKCkpIHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoYFdlYnNvY2tldCBjbG9zZWQgYmVmb3JlIHJlc3BvbnNlIGZvciAke2lkfWApKVxuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKClcbiAgICB0aGlzLmNvbm5lY3RQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwYXlsb2FkIC0gUGF5bG9hZCBkYXRhLlxuICAgKi9cbiAgX3NlbmRNZXNzYWdlKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuc29ja2V0IHx8IHRoaXMuc29ja2V0LnJlYWR5U3RhdGUgIT09IHRoaXMuc29ja2V0Lk9QRU4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIldlYnNvY2tldCBpcyBub3Qgb3BlblwiKVxuICAgIH1cblxuICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkKVxuXG4gICAgdGhpcy5fZGVidWcoXCJTZW5kaW5nXCIsIGpzb24pXG4gICAgdGhpcy5zb2NrZXQuc2VuZChqc29uKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBfZGVidWcoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5kZWJ1ZykgcmV0dXJuXG5cbiAgICBjb25zb2xlLmRlYnVnKFwiW1ZlbG9jaW91c1dlYnNvY2tldENsaWVudF1cIiwgLi4uYXJncylcbiAgfVxufVxuXG5jbGFzcyBWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gbWVzc2FnZSAtIE1lc3NhZ2UgdGV4dC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICB0aGlzLmJvZHkgPSBtZXNzYWdlLmJvZHlcbiAgICB0aGlzLmhlYWRlcnMgPSBtZXNzYWdlLmhlYWRlcnMgfHwge31cbiAgICB0aGlzLmlkID0gbWVzc2FnZS5pZFxuICAgIHRoaXMuc3RhdHVzQ29kZSA9IG1lc3NhZ2Uuc3RhdHVzQ29kZSB8fCAyMDBcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBtZXNzYWdlLnN0YXR1c01lc3NhZ2UgfHwgXCJPS1wiXG4gICAgdGhpcy50eXBlID0gbWVzc2FnZS50eXBlXG4gIH1cblxuICAvKiogQHJldHVybnMge2FueX0gLSBUaGUganNvbi4gICovXG4gIGpzb24oKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmJvZHkgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlc3BvbnNlIGJvZHkgaXMgbm90IGEgc3RyaW5nXCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5ib2R5KVxuICB9XG59XG5cbiJdfQ==
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
export default class ParamsToObject {
|
|
2
2
|
/**
|
|
3
|
-
* @param {Record<string,
|
|
3
|
+
* @param {Record<string, any>} object - Object.
|
|
4
4
|
*/
|
|
5
|
-
constructor(object: Record<string,
|
|
6
|
-
object: Record<string,
|
|
7
|
-
/** @returns {Record<string,
|
|
8
|
-
toObject(): Record<string,
|
|
5
|
+
constructor(object: Record<string, any>);
|
|
6
|
+
object: Record<string, any>;
|
|
7
|
+
/** @returns {Record<string, any>} - The object. */
|
|
8
|
+
toObject(): Record<string, any>;
|
|
9
9
|
/**
|
|
10
10
|
* @param {string} key - Key.
|
|
11
|
-
* @param {
|
|
12
|
-
* @param {Record<string,
|
|
11
|
+
* @param {any} value - Value to use.
|
|
12
|
+
* @param {Record<string, any> | any[]} result - Result.
|
|
13
13
|
* @returns {void} - No return value.
|
|
14
14
|
*/
|
|
15
|
-
treatInitial(key: string, value:
|
|
15
|
+
treatInitial(key: string, value: any, result: Record<string, any> | any[]): void;
|
|
16
16
|
/**
|
|
17
|
-
* @param {
|
|
17
|
+
* @param {any} value - Value to use.
|
|
18
18
|
* @param {string} rest - Rest.
|
|
19
|
-
* @param {Record<string,
|
|
19
|
+
* @param {Record<string, any> | any[]} result - Result.
|
|
20
20
|
* @returns {void} - No return value.
|
|
21
21
|
*/
|
|
22
|
-
treatSecond(value:
|
|
22
|
+
treatSecond(value: any, rest: string, result: Record<string, any> | any[]): void;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=params-to-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params-to-object.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/params-to-object.js"],"names":[],"mappings":"AAEA;IACE;;OAEG;IACH,oBAFW,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"params-to-object.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/params-to-object.js"],"names":[],"mappings":"AAEA;IACE;;OAEG;IACH,oBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAI7B;IADC,4BAAoB;IAGtB,oDAAoD;IACpD,YADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAYhC;IAED;;;;;OAKG;IACH,kBALW,MAAM,SACN,GAAG,UACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GACzB,IAAI,CA0BhB;IAED;;;;;OAKG;IACH,mBALW,GAAG,QACH,MAAM,UACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GACzB,IAAI,CAkChB;CACF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
export default class ParamsToObject {
|
|
3
3
|
/**
|
|
4
|
-
* @param {Record<string,
|
|
4
|
+
* @param {Record<string, any>} object - Object.
|
|
5
5
|
*/
|
|
6
6
|
constructor(object) {
|
|
7
7
|
this.object = object;
|
|
8
8
|
}
|
|
9
|
-
/** @returns {Record<string,
|
|
9
|
+
/** @returns {Record<string, any>} - The object. */
|
|
10
10
|
toObject() {
|
|
11
11
|
/** @type {Record<string, unknown>} */
|
|
12
12
|
const result = {};
|
|
@@ -18,8 +18,8 @@ export default class ParamsToObject {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* @param {string} key - Key.
|
|
21
|
-
* @param {
|
|
22
|
-
* @param {Record<string,
|
|
21
|
+
* @param {any} value - Value to use.
|
|
22
|
+
* @param {Record<string, any> | any[]} result - Result.
|
|
23
23
|
* @returns {void} - No return value.
|
|
24
24
|
*/
|
|
25
25
|
treatInitial(key, value, result) {
|
|
@@ -27,7 +27,7 @@ export default class ParamsToObject {
|
|
|
27
27
|
if (firstMatch) {
|
|
28
28
|
const inputName = firstMatch[1];
|
|
29
29
|
const rest = firstMatch[2];
|
|
30
|
-
/** @type {Array<
|
|
30
|
+
/** @type {Array<any> | Record<string, any>} */
|
|
31
31
|
let newResult;
|
|
32
32
|
if (inputName in result) {
|
|
33
33
|
newResult = result[inputName];
|
|
@@ -47,9 +47,9 @@ export default class ParamsToObject {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
* @param {
|
|
50
|
+
* @param {any} value - Value to use.
|
|
51
51
|
* @param {string} rest - Rest.
|
|
52
|
-
* @param {Record<string,
|
|
52
|
+
* @param {Record<string, any> | any[]} result - Result.
|
|
53
53
|
* @returns {void} - No return value.
|
|
54
54
|
*/
|
|
55
55
|
treatSecond(value, rest, result) {
|
|
@@ -58,7 +58,7 @@ export default class ParamsToObject {
|
|
|
58
58
|
throw new Error(`Could not parse rest part: ${rest}`);
|
|
59
59
|
const key = secondMatch[1];
|
|
60
60
|
const newRest = secondMatch[2];
|
|
61
|
-
/** @type {Array<
|
|
61
|
+
/** @type {Array<any> | Record<string, any>} */
|
|
62
62
|
let newResult;
|
|
63
63
|
if (rest == "[]") {
|
|
64
64
|
if (!Array.isArray(result)) {
|
|
@@ -85,4 +85,4 @@ export default class ParamsToObject {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLXRvLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcGFyYW1zLXRvLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFjO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsUUFBUTtRQUNOLHNDQUFzQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFFakIsS0FBSSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUU5QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTTtRQUM3QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFcEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFMUIsK0NBQStDO1lBQy9DLElBQUksU0FBUyxDQUFBO1lBRWIsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDL0IsQ0FBQztpQkFBTSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsU0FBUyxHQUFHLEVBQUUsQ0FBQTtnQkFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFBO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDL0IsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMxQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU07UUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBRXRELElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUV2RSxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDMUIsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTlCLCtDQUErQztRQUMvQyxJQUFJLFNBQVMsQ0FBQTtRQUViLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDM0QsQ0FBQztZQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEIsQ0FBQzthQUFNLElBQUksT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQy9DLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDekIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsU0FBUyxHQUFHLEVBQUUsQ0FBQTtnQkFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFBO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDekIsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcmFtc1RvT2JqZWN0IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gb2JqZWN0IC0gT2JqZWN0LlxuICAgKi9cbiAgY29uc3RydWN0b3Iob2JqZWN0KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3RcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBUaGUgb2JqZWN0LiAgKi9cbiAgdG9PYmplY3QoKSB7XG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi9cbiAgICBjb25zdCByZXN1bHQgPSB7fVxuXG4gICAgZm9yKGNvbnN0IGtleSBpbiB0aGlzLm9iamVjdCkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLm9iamVjdFtrZXldXG5cbiAgICAgIHRoaXMudHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIEtleS5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVmFsdWUgdG8gdXNlLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT4gfCBhbnlbXX0gcmVzdWx0IC0gUmVzdWx0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICB0cmVhdEluaXRpYWwoa2V5LCB2YWx1ZSwgcmVzdWx0KSB7XG4gICAgY29uc3QgZmlyc3RNYXRjaCA9IGtleS5tYXRjaCgvXiguKz8pKFxcWyhbXFxzXFxTXSskKSkvKVxuXG4gICAgaWYgKGZpcnN0TWF0Y2gpIHtcbiAgICAgIGNvbnN0IGlucHV0TmFtZSA9IGZpcnN0TWF0Y2hbMV1cbiAgICAgIGNvbnN0IHJlc3QgPSBmaXJzdE1hdGNoWzJdXG5cbiAgICAgIC8qKiBAdHlwZSB7QXJyYXk8YW55PiB8IFJlY29yZDxzdHJpbmcsIGFueT59ICovXG4gICAgICBsZXQgbmV3UmVzdWx0XG5cbiAgICAgIGlmIChpbnB1dE5hbWUgaW4gcmVzdWx0KSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IHJlc3VsdFtpbnB1dE5hbWVdXG4gICAgICB9IGVsc2UgaWYgKHJlc3QgPT0gXCJbXVwiKSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IFtdXG4gICAgICAgIHJlc3VsdFtpbnB1dE5hbWVdID0gbmV3UmVzdWx0XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdSZXN1bHQgPSB7fVxuICAgICAgICByZXN1bHRbaW5wdXROYW1lXSA9IG5ld1Jlc3VsdFxuICAgICAgfVxuXG4gICAgICB0aGlzLnRyZWF0U2Vjb25kKHZhbHVlLCByZXN0LCBuZXdSZXN1bHQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVmFsdWUgdG8gdXNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVzdCAtIFJlc3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdfSByZXN1bHQgLSBSZXN1bHQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHRyZWF0U2Vjb25kKHZhbHVlLCByZXN0LCByZXN1bHQpIHtcbiAgICBjb25zdCBzZWNvbmRNYXRjaCA9IHJlc3QubWF0Y2goL15cXFsoLio/KVxcXShbXFxzXFxTXSopJC8pXG5cbiAgICBpZiAoIXNlY29uZE1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBwYXJzZSByZXN0IHBhcnQ6ICR7cmVzdH1gKVxuXG4gICAgY29uc3Qga2V5ID0gc2Vjb25kTWF0Y2hbMV1cbiAgICBjb25zdCBuZXdSZXN0ID0gc2Vjb25kTWF0Y2hbMl1cblxuICAgIC8qKiBAdHlwZSB7QXJyYXk8YW55PiB8IFJlY29yZDxzdHJpbmcsIGFueT59ICovXG4gICAgbGV0IG5ld1Jlc3VsdFxuXG4gICAgaWYgKHJlc3QgPT0gXCJbXVwiKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFycmF5IHJlc3VsdCBmb3IgcmVzdCAke3Jlc3R9YClcbiAgICAgIH1cblxuICAgICAgcmVzdWx0LnB1c2godmFsdWUpXG4gICAgfSBlbHNlIGlmIChuZXdSZXN0ID09IFwiXCIpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT0gXCJvYmplY3RcIiAmJiBrZXkgaW4gcmVzdWx0KSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IHJlc3VsdFtrZXldXG4gICAgICB9IGVsc2UgaWYgKG5ld1Jlc3QgPT0gXCJbXVwiKSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IFtdXG4gICAgICAgIHJlc3VsdFtrZXldID0gbmV3UmVzdWx0XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdSZXN1bHQgPSB7fVxuICAgICAgICByZXN1bHRba2V5XSA9IG5ld1Jlc3VsdFxuICAgICAgfVxuXG4gICAgICB0aGlzLnRyZWF0U2Vjb25kKHZhbHVlLCBuZXdSZXN0LCBuZXdSZXN1bHQpXG4gICAgfVxuICB9XG59XG5cbiJdfQ==
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
export default class VelociousHttpServerClientWebsocketRequest {
|
|
2
2
|
/**
|
|
3
3
|
* @param {object} args - Options object.
|
|
4
|
-
* @param {
|
|
4
|
+
* @param {any} [args.body] - Request body.
|
|
5
5
|
* @param {Record<string, string>} [args.headers] - Header list.
|
|
6
6
|
* @param {string} args.method - HTTP method.
|
|
7
7
|
* @param {string} args.path - Path.
|
|
8
|
-
* @param {Record<string,
|
|
8
|
+
* @param {Record<string, any>} [args.params] - Parameters object.
|
|
9
9
|
* @param {string} [args.remoteAddress] - Remote address.
|
|
10
10
|
*/
|
|
11
11
|
constructor({ body, headers, method, params, path, remoteAddress }: {
|
|
12
|
-
body?:
|
|
12
|
+
body?: any;
|
|
13
13
|
headers?: Record<string, string>;
|
|
14
14
|
method: string;
|
|
15
15
|
path: string;
|
|
16
|
-
params?: Record<string,
|
|
16
|
+
params?: Record<string, any>;
|
|
17
17
|
remoteAddress?: string;
|
|
18
18
|
});
|
|
19
|
-
body:
|
|
19
|
+
body: any;
|
|
20
20
|
headersMap: {};
|
|
21
21
|
method: string;
|
|
22
|
-
paramsObject:
|
|
23
|
-
[x: string]: unknown;
|
|
24
|
-
};
|
|
22
|
+
paramsObject: any;
|
|
25
23
|
_path: string;
|
|
26
24
|
remoteAddressValue: string;
|
|
27
25
|
baseURL(): string;
|
|
@@ -33,9 +31,7 @@ export default class VelociousHttpServerClientWebsocketRequest {
|
|
|
33
31
|
hostWithPort(): any;
|
|
34
32
|
origin(): any;
|
|
35
33
|
path(): string;
|
|
36
|
-
params():
|
|
37
|
-
[x: string]: unknown;
|
|
38
|
-
};
|
|
34
|
+
params(): any;
|
|
39
35
|
port(): number;
|
|
40
36
|
protocol(): any;
|
|
41
37
|
remoteAddress(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;OAQG;IACH,oEAPG;
|
|
1
|
+
{"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;OAQG;IACH,oEAPG;QAAmB,IAAI,GAAf,GAAG;QAC2B,OAAO,GAArC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACT,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACqB,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACL,aAAa,GAA3B,MAAM;KAChB,EA2BA;IAtBC,UAAgB;IAChB,eAAoB;IACpB,eAAkC;IAClC,kBAAsB;IACtB,cAAiB;IACjB,2BAAuC;IAmBzC,kBAKC;IAED,uBAAmE;IAEnE,cAAoC;IAEpC,qBAAmC;IAEnC,sBAAoC;IAEpC,YAAkD;IAElD,oBAQC;IAED,cAAyC;IAEzC,eAA4B;IAE5B,cAAqC;IAErC,eAKC;IAED,gBAKC;IAED,wBAAkD;IAElD,uDAeC;CACF"}
|