parse-server 6.0.0-alpha.2 → 6.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -17
- package/lib/AccountLockout.js +11 -26
- package/lib/Adapters/AdapterLoader.js +8 -14
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -8
- package/lib/Adapters/Auth/AuthAdapter.js +7 -16
- package/lib/Adapters/Auth/OAuth1Client.js +32 -57
- package/lib/Adapters/Auth/apple.js +6 -22
- package/lib/Adapters/Auth/facebook.js +7 -37
- package/lib/Adapters/Auth/gcenter.js +8 -37
- package/lib/Adapters/Auth/github.js +7 -10
- package/lib/Adapters/Auth/google.js +11 -34
- package/lib/Adapters/Auth/gpgames.js +5 -8
- package/lib/Adapters/Auth/httpsRequest.js +1 -7
- package/lib/Adapters/Auth/index.js +20 -65
- package/lib/Adapters/Auth/instagram.js +5 -9
- package/lib/Adapters/Auth/janraincapture.js +8 -12
- package/lib/Adapters/Auth/janrainengage.js +7 -11
- package/lib/Adapters/Auth/keycloak.js +5 -19
- package/lib/Adapters/Auth/ldap.js +1 -15
- package/lib/Adapters/Auth/line.js +7 -10
- package/lib/Adapters/Auth/linkedin.js +7 -12
- package/lib/Adapters/Auth/meetup.js +7 -10
- package/lib/Adapters/Auth/microsoft.js +7 -10
- package/lib/Adapters/Auth/oauth2.js +6 -18
- package/lib/Adapters/Auth/phantauth.js +8 -10
- package/lib/Adapters/Auth/qq.js +7 -13
- package/lib/Adapters/Auth/spotify.js +7 -14
- package/lib/Adapters/Auth/twitter.js +5 -15
- package/lib/Adapters/Auth/vkontakte.js +9 -15
- package/lib/Adapters/Auth/wechat.js +7 -10
- package/lib/Adapters/Auth/weibo.js +7 -11
- package/lib/Adapters/Cache/CacheAdapter.js +4 -12
- package/lib/Adapters/Cache/InMemoryCache.js +5 -19
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +1 -11
- package/lib/Adapters/Cache/LRUCache.js +1 -11
- package/lib/Adapters/Cache/NullCacheAdapter.js +1 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +46 -87
- package/lib/Adapters/Cache/SchemaCache.js +1 -6
- package/lib/Adapters/Email/MailAdapter.js +2 -7
- package/lib/Adapters/Files/FilesAdapter.js +7 -21
- package/lib/Adapters/Files/GridFSBucketAdapter.js +6 -44
- package/lib/Adapters/Files/GridStoreAdapter.js +1 -1
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -11
- package/lib/Adapters/Logger/WinstonLogger.js +3 -30
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +5 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +3 -20
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +1 -16
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -9
- package/lib/Adapters/PubSub/RedisPubSub.js +13 -10
- package/lib/Adapters/Push/PushAdapter.js +2 -8
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +12 -37
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +26 -79
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +78 -209
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +82 -371
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +1 -13
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +1 -20
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +119 -446
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -7
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +3 -12
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +7 -12
- package/lib/Auth.js +54 -121
- package/lib/ClientSDK.js +3 -11
- package/lib/Config.js +69 -113
- package/lib/Controllers/AdaptableController.js +6 -18
- package/lib/Controllers/AnalyticsController.js +1 -9
- package/lib/Controllers/CacheController.js +3 -23
- package/lib/Controllers/DatabaseController.js +147 -345
- package/lib/Controllers/FilesController.js +5 -34
- package/lib/Controllers/HooksController.js +1 -51
- package/lib/Controllers/LiveQueryController.js +4 -23
- package/lib/Controllers/LoggerController.js +15 -54
- package/lib/Controllers/ParseGraphQLController.js +49 -104
- package/lib/Controllers/PushController.js +20 -59
- package/lib/Controllers/SchemaController.js +154 -344
- package/lib/Controllers/UserController.js +11 -72
- package/lib/Controllers/index.js +19 -68
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +1 -8
- package/lib/Deprecator/Deprecator.js +9 -18
- package/lib/GraphQL/ParseGraphQLSchema.js +16 -100
- package/lib/GraphQL/ParseGraphQLServer.js +2 -29
- package/lib/GraphQL/helpers/objectsMutations.js +2 -12
- package/lib/GraphQL/helpers/objectsQueries.js +18 -76
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +1 -9
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +1 -8
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +9 -115
- package/lib/GraphQL/loaders/defaultRelaySchema.js +6 -18
- package/lib/GraphQL/loaders/filesMutations.js +2 -19
- package/lib/GraphQL/loaders/functionsMutations.js +6 -17
- package/lib/GraphQL/loaders/parseClassMutations.js +6 -44
- package/lib/GraphQL/loaders/parseClassQueries.js +1 -26
- package/lib/GraphQL/loaders/parseClassTypes.js +10 -64
- package/lib/GraphQL/loaders/schemaDirectives.js +1 -17
- package/lib/GraphQL/loaders/schemaMutations.js +1 -20
- package/lib/GraphQL/loaders/schemaQueries.js +1 -14
- package/lib/GraphQL/loaders/schemaTypes.js +2 -6
- package/lib/GraphQL/loaders/usersMutations.js +6 -28
- package/lib/GraphQL/loaders/usersQueries.js +4 -26
- package/lib/GraphQL/parseGraphQLUtils.js +6 -19
- package/lib/GraphQL/transformers/className.js +1 -4
- package/lib/GraphQL/transformers/constraintType.js +1 -20
- package/lib/GraphQL/transformers/inputType.js +1 -20
- package/lib/GraphQL/transformers/mutation.js +6 -51
- package/lib/GraphQL/transformers/outputType.js +1 -20
- package/lib/GraphQL/transformers/query.js +6 -42
- package/lib/GraphQL/transformers/schemaFields.js +7 -34
- package/lib/KeyPromiseQueue.js +1 -12
- package/lib/LiveQuery/Client.js +1 -25
- package/lib/LiveQuery/Id.js +1 -7
- package/lib/LiveQuery/ParseCloudCodePublisher.js +13 -19
- package/lib/LiveQuery/ParseLiveQueryServer.js +92 -306
- package/lib/LiveQuery/ParsePubSub.js +1 -12
- package/lib/LiveQuery/ParseWebSocketServer.js +4 -26
- package/lib/LiveQuery/QueryTools.js +14 -116
- package/lib/LiveQuery/RequestSchema.js +1 -1
- package/lib/LiveQuery/SessionTokenCache.js +1 -17
- package/lib/LiveQuery/Subscription.js +4 -18
- package/lib/LiveQuery/equalObjects.js +2 -14
- package/lib/Options/Definitions.js +79 -10
- package/lib/Options/docs.js +23 -3
- package/lib/Options/index.js +4 -12
- package/lib/Options/parsers.js +1 -18
- package/lib/Page.js +1 -9
- package/lib/ParseMessageQueue.js +1 -10
- package/lib/ParseServer.js +144 -182
- package/lib/ParseServerRESTController.js +6 -33
- package/lib/PromiseRouter.js +16 -50
- package/lib/Push/PushQueue.js +3 -15
- package/lib/Push/PushWorker.js +7 -32
- package/lib/Push/utils.js +9 -38
- package/lib/RestQuery.js +105 -242
- package/lib/RestWrite.js +212 -377
- package/lib/Routers/AggregateRouter.js +14 -51
- package/lib/Routers/AnalyticsRouter.js +2 -8
- package/lib/Routers/AudiencesRouter.js +1 -15
- package/lib/Routers/ClassesRouter.js +3 -53
- package/lib/Routers/CloudCodeRouter.js +1 -19
- package/lib/Routers/FeaturesRouter.js +1 -10
- package/lib/Routers/FilesRouter.js +29 -76
- package/lib/Routers/FunctionsRouter.js +5 -28
- package/lib/Routers/GlobalConfigRouter.js +4 -18
- package/lib/Routers/GraphQLRouter.js +1 -14
- package/lib/Routers/HooksRouter.js +1 -29
- package/lib/Routers/IAPValidationRouter.js +6 -29
- package/lib/Routers/InstallationsRouter.js +2 -12
- package/lib/Routers/LogsRouter.js +4 -16
- package/lib/Routers/PagesRouter.js +69 -129
- package/lib/Routers/PublicAPIRouter.js +3 -62
- package/lib/Routers/PurgeRouter.js +1 -15
- package/lib/Routers/PushRouter.js +2 -18
- package/lib/Routers/RolesRouter.js +1 -7
- package/lib/Routers/SchemasRouter.js +4 -34
- package/lib/Routers/SecurityRouter.js +1 -12
- package/lib/Routers/SessionsRouter.js +3 -19
- package/lib/Routers/UsersRouter.js +58 -155
- package/lib/SchemaMigrations/DefinedSchemas.js +56 -115
- package/lib/SchemaMigrations/Migrations.js +2 -8
- package/lib/Security/Check.js +8 -16
- package/lib/Security/CheckGroup.js +4 -11
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +8 -18
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +5 -15
- package/lib/Security/CheckGroups/CheckGroups.js +1 -4
- package/lib/Security/CheckRunner.js +22 -41
- package/lib/StatusHandler.js +12 -69
- package/lib/TestUtils.js +1 -6
- package/lib/Utils.js +27 -66
- package/lib/batch.js +17 -28
- package/lib/cache.js +1 -3
- package/lib/cli/definitions/parse-live-query-server.js +1 -3
- package/lib/cli/definitions/parse-server.js +1 -3
- package/lib/cli/parse-live-query-server.js +1 -6
- package/lib/cli/parse-server.js +11 -21
- package/lib/cli/utils/commander.js +13 -51
- package/lib/cli/utils/runner.js +1 -14
- package/lib/cloud-code/Parse.Cloud.js +71 -92
- package/lib/cryptoUtils.js +11 -19
- package/lib/defaults.js +2 -14
- package/lib/deprecated.js +1 -2
- package/lib/index.js +16 -34
- package/lib/logger.js +6 -13
- package/lib/middlewares.js +147 -151
- package/lib/password.js +6 -10
- package/lib/request.js +173 -2
- package/lib/requiredParameter.js +1 -3
- package/lib/rest.js +19 -41
- package/lib/triggers.js +54 -252
- package/lib/vendor/mongodbUrl.js +125 -305
- package/package.json +22 -19
- package/lib/cloud-code/HTTPResponse.js +0 -73
- package/lib/cloud-code/httpRequest.js +0 -192
|
@@ -4,29 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.load = void 0;
|
|
7
|
-
|
|
8
7
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
9
|
-
|
|
10
8
|
var _graphql = require("graphql");
|
|
11
|
-
|
|
12
9
|
var _deepcopy = _interopRequireDefault(require("deepcopy"));
|
|
13
|
-
|
|
14
10
|
var _graphqlRelay = require("graphql-relay");
|
|
15
|
-
|
|
16
11
|
var schemaTypes = _interopRequireWildcard(require("./schemaTypes"));
|
|
17
|
-
|
|
18
12
|
var _schemaFields = require("../transformers/schemaFields");
|
|
19
|
-
|
|
20
13
|
var _parseGraphQLUtils = require("../parseGraphQLUtils");
|
|
21
|
-
|
|
22
14
|
var _schemaQueries = require("./schemaQueries");
|
|
23
|
-
|
|
24
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
18
|
const load = parseGraphQLSchema => {
|
|
31
19
|
const createClassMutation = (0, _graphqlRelay.mutationWithClientMutationId)({
|
|
32
20
|
name: 'CreateClass',
|
|
@@ -55,11 +43,9 @@ const load = parseGraphQLSchema => {
|
|
|
55
43
|
auth
|
|
56
44
|
} = context;
|
|
57
45
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
58
|
-
|
|
59
46
|
if (auth.isReadOnly) {
|
|
60
47
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to create a schema.");
|
|
61
48
|
}
|
|
62
|
-
|
|
63
49
|
const schema = await config.database.loadSchema({
|
|
64
50
|
clearCache: true
|
|
65
51
|
});
|
|
@@ -105,11 +91,9 @@ const load = parseGraphQLSchema => {
|
|
|
105
91
|
auth
|
|
106
92
|
} = context;
|
|
107
93
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
108
|
-
|
|
109
94
|
if (auth.isReadOnly) {
|
|
110
95
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to update a schema.");
|
|
111
96
|
}
|
|
112
|
-
|
|
113
97
|
const schema = await config.database.loadSchema({
|
|
114
98
|
clearCache: true
|
|
115
99
|
});
|
|
@@ -151,11 +135,9 @@ const load = parseGraphQLSchema => {
|
|
|
151
135
|
auth
|
|
152
136
|
} = context;
|
|
153
137
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
154
|
-
|
|
155
138
|
if (auth.isReadOnly) {
|
|
156
139
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to delete a schema.");
|
|
157
140
|
}
|
|
158
|
-
|
|
159
141
|
const schema = await config.database.loadSchema({
|
|
160
142
|
clearCache: true
|
|
161
143
|
});
|
|
@@ -176,6 +158,5 @@ const load = parseGraphQLSchema => {
|
|
|
176
158
|
parseGraphQLSchema.addGraphQLType(deleteClassMutation.type, true, true);
|
|
177
159
|
parseGraphQLSchema.addGraphQLMutation('deleteClass', deleteClassMutation, true, true);
|
|
178
160
|
};
|
|
179
|
-
|
|
180
161
|
exports.load = load;
|
|
181
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hTXV0YXRpb25zLmpzIl0sIm5hbWVzIjpbImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVDbGFzc011dGF0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiaW5wdXRGaWVsZHMiLCJzY2hlbWFUeXBlcyIsIkNMQVNTX05BTUVfQVRUIiwic2NoZW1hRmllbGRzIiwidHlwZSIsIlNDSEVNQV9GSUVMRFNfSU5QVVQiLCJvdXRwdXRGaWVsZHMiLCJjbGFzcyIsIkdyYXBoUUxOb25OdWxsIiwiQ0xBU1MiLCJtdXRhdGVBbmRHZXRQYXlsb2FkIiwiYXJncyIsImNvbnRleHQiLCJjb25maWciLCJhdXRoIiwiaXNSZWFkT25seSIsIlBhcnNlIiwiRXJyb3IiLCJPUEVSQVRJT05fRk9SQklEREVOIiwic2NoZW1hIiwiZGF0YWJhc2UiLCJsb2FkU2NoZW1hIiwiY2xlYXJDYWNoZSIsInBhcnNlQ2xhc3MiLCJhZGRDbGFzc0lmTm90RXhpc3RzIiwiY2xhc3NOYW1lIiwiZmllbGRzIiwiZSIsImhhbmRsZUVycm9yIiwiYWRkR3JhcGhRTFR5cGUiLCJpbnB1dCIsIm9mVHlwZSIsImFkZEdyYXBoUUxNdXRhdGlvbiIsInVwZGF0ZUNsYXNzTXV0YXRpb24iLCJleGlzdGluZ1BhcnNlQ2xhc3MiLCJ1cGRhdGVDbGFzcyIsInVuZGVmaW5lZCIsImRlbGV0ZUNsYXNzTXV0YXRpb24iLCJkZWxldGVTY2hlbWEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxNQUFNQSxJQUFJLEdBQUdDLGtCQUFrQixJQUFJO0FBQ2pDLFFBQU1DLG1CQUFtQixHQUFHLGdEQUE2QjtBQUN2REMsSUFBQUEsSUFBSSxFQUFFLGFBRGlEO0FBRXZEQyxJQUFBQSxXQUFXLEVBQ1QsbUZBSHFEO0FBSXZEQyxJQUFBQSxXQUFXLEVBQUU7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QUFFQyxVQUFBQSxVQUFVLEVBQUU7QUFBZCxTQUEzQixDQUFyQjtBQUNBLGNBQU1ZLGtCQUFrQixHQUFHLE1BQU0sNkJBQVNwQyxJQUFULEVBQWVxQixNQUFmLENBQWpDO0FBQ0EsY0FBTU4sTUFBTSxDQUFDTyxRQUFQLENBQWdCa0IsWUFBaEIsQ0FBNkJ4QyxJQUE3QixDQUFOO0FBQ0EsZUFBTztBQUNMUyxVQUFBQSxLQUFLLEVBQUU7QUFDTFQsWUFBQUEsSUFBSSxFQUFFb0Msa0JBQWtCLENBQUNULFNBRHBCO0FBRUx0QixZQUFBQSxZQUFZLEVBQUUsc0NBQW1CK0Isa0JBQWtCLENBQUNSLE1BQXRDO0FBRlQ7QUFERixTQUFQO0FBTUQsT0F0QkQsQ0FzQkUsT0FBT0MsQ0FBUCxFQUFVO0FBQ1YvQixRQUFBQSxrQkFBa0IsQ0FBQ2dDLFdBQW5CLENBQStCRCxDQUEvQjtBQUNEO0FBQ0Y7QUF0Q3NELEdBQTdCLENBQTVCO0FBeUNBL0IsRUFBQUEsa0JBQWtCLENBQUNpQyxjQUFuQixDQUFrQ1EsbUJBQW1CLENBQUMxQixJQUFwQixDQUF5Qm1CLEtBQXpCLENBQStCMUIsSUFBL0IsQ0FBb0MyQixNQUF0RSxFQUE4RSxJQUE5RSxFQUFvRixJQUFwRjtBQUNBbkMsRUFBQUEsa0JBQWtCLENBQUNpQyxjQUFuQixDQUFrQ1EsbUJBQW1CLENBQUNqQyxJQUF0RCxFQUE0RCxJQUE1RCxFQUFrRSxJQUFsRTtBQUNBUixFQUFBQSxrQkFBa0IsQ0FBQ29DLGtCQUFuQixDQUFzQyxhQUF0QyxFQUFxREssbUJBQXJELEVBQTBFLElBQTFFLEVBQWdGLElBQWhGO0FBQ0QsQ0F0SkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBHcmFwaFFMTm9uTnVsbCB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IGRlZXBjb3B5IGZyb20gJ2RlZXBjb3B5JztcbmltcG9ydCB7IG11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcbmltcG9ydCAqIGFzIHNjaGVtYVR5cGVzIGZyb20gJy4vc2NoZW1hVHlwZXMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVG9QYXJzZSwgdHJhbnNmb3JtVG9HcmFwaFFMIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzL3NjaGVtYUZpZWxkcyc7XG5pbXBvcnQgeyBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIH0gZnJvbSAnLi4vcGFyc2VHcmFwaFFMVXRpbHMnO1xuaW1wb3J0IHsgZ2V0Q2xhc3MgfSBmcm9tICcuL3NjaGVtYVF1ZXJpZXMnO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgY29uc3QgY3JlYXRlQ2xhc3NNdXRhdGlvbiA9IG11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQoe1xuICAgIG5hbWU6ICdDcmVhdGVDbGFzcycsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnVGhlIGNyZWF0ZUNsYXNzIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSB0aGUgc2NoZW1hIGZvciBhIG5ldyBvYmplY3QgY2xhc3MuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgbmFtZTogc2NoZW1hVHlwZXMuQ0xBU1NfTkFNRV9BVFQsXG4gICAgICBzY2hlbWFGaWVsZHM6IHtcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlc2UgYXJlIHRoZSBzY2hlbWEncyBmaWVsZHMgb2YgdGhlIG9iamVjdCBjbGFzcy5cIixcbiAgICAgICAgdHlwZTogc2NoZW1hVHlwZXMuU0NIRU1BX0ZJRUxEU19JTlBVVCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgY3JlYXRlZCBjbGFzcy4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoc2NoZW1hVHlwZXMuQ0xBU1MpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IG5hbWUsIHNjaGVtYUZpZWxkcyB9ID0gZGVlcGNvcHkoYXJncyk7XG4gICAgICAgIGNvbnN0IHsgY29uZmlnLCBhdXRoIH0gPSBjb250ZXh0O1xuXG4gICAgICAgIGVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MoYXV0aCk7XG5cbiAgICAgICAgaWYgKGF1dGguaXNSZWFkT25seSkge1xuICAgICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgICAgIFBhcnNlLkVycm9yLk9QRVJBVElPTl9GT1JCSURERU4sXG4gICAgICAgICAgICBcInJlYWQtb25seSBtYXN0ZXJLZXkgaXNuJ3QgYWxsb3dlZCB0byBjcmVhdGUgYSBzY2hlbWEuXCJcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgY29uZmlnLmRhdGFiYXNlLmxvYWRTY2hlbWEoeyBjbGVhckNhY2hlOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBwYXJzZUNsYXNzID0gYXdhaXQgc2NoZW1hLmFkZENsYXNzSWZOb3RFeGlzdHMobmFtZSwgdHJhbnNmb3JtVG9QYXJzZShzY2hlbWFGaWVsZHMpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogcGFyc2VDbGFzcy5jbGFzc05hbWUsXG4gICAgICAgICAgICBzY2hlbWFGaWVsZHM6IHRyYW5zZm9ybVRvR3JhcGhRTChwYXJzZUNsYXNzLmZpZWxkcyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVDbGFzc011dGF0aW9uLmFyZ3MuaW5wdXQudHlwZS5vZlR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoY3JlYXRlQ2xhc3NNdXRhdGlvbi50eXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxNdXRhdGlvbignY3JlYXRlQ2xhc3MnLCBjcmVhdGVDbGFzc011dGF0aW9uLCB0cnVlLCB0cnVlKTtcblxuICBjb25zdCB1cGRhdGVDbGFzc011dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ1VwZGF0ZUNsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdUaGUgdXBkYXRlQ2xhc3MgbXV0YXRpb24gY2FuIGJlIHVzZWQgdG8gdXBkYXRlIHRoZSBzY2hlbWEgZm9yIGFuIGV4aXN0aW5nIG9iamVjdCBjbGFzcy4nLFxuICAgIGlucHV0RmllbGRzOiB7XG4gICAgICBuYW1lOiBzY2hlbWFUeXBlcy5DTEFTU19OQU1FX0FUVCxcbiAgICAgIHNjaGVtYUZpZWxkczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgICB0eXBlOiBzY2hlbWFUeXBlcy5TQ0hFTUFfRklFTERTX0lOUFVULFxuICAgICAgfSxcbiAgICB9LFxuICAgIG91dHB1dEZpZWxkczoge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSB1cGRhdGVkIGNsYXNzLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChzY2hlbWFUeXBlcy5DTEFTUyksXG4gICAgICB9LFxuICAgIH0sXG4gICAgbXV0YXRlQW5kR2V0UGF5bG9hZDogYXN5bmMgKGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgc2NoZW1hRmllbGRzIH0gPSBkZWVwY29weShhcmdzKTtcbiAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKTtcblxuICAgICAgICBpZiAoYXV0aC5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgICAgIFwicmVhZC1vbmx5IG1hc3RlcktleSBpc24ndCBhbGxvd2VkIHRvIHVwZGF0ZSBhIHNjaGVtYS5cIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCBjb25maWcuZGF0YWJhc2UubG9hZFNjaGVtYSh7IGNsZWFyQ2FjaGU6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyc2VDbGFzcyA9IGF3YWl0IGdldENsYXNzKG5hbWUsIHNjaGVtYSk7XG4gICAgICAgIGNvbnN0IHBhcnNlQ2xhc3MgPSBhd2FpdCBzY2hlbWEudXBkYXRlQ2xhc3MoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICB0cmFuc2Zvcm1Ub1BhcnNlKHNjaGVtYUZpZWxkcywgZXhpc3RpbmdQYXJzZUNsYXNzLmZpZWxkcyksXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICBjb25maWcuZGF0YWJhc2VcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogcGFyc2VDbGFzcy5jbGFzc05hbWUsXG4gICAgICAgICAgICBzY2hlbWFGaWVsZHM6IHRyYW5zZm9ybVRvR3JhcGhRTChwYXJzZUNsYXNzLmZpZWxkcyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZSh1cGRhdGVDbGFzc011dGF0aW9uLmFyZ3MuaW5wdXQudHlwZS5vZlR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUodXBkYXRlQ2xhc3NNdXRhdGlvbi50eXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxNdXRhdGlvbigndXBkYXRlQ2xhc3MnLCB1cGRhdGVDbGFzc011dGF0aW9uLCB0cnVlLCB0cnVlKTtcblxuICBjb25zdCBkZWxldGVDbGFzc011dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ0RlbGV0ZUNsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBkZWxldGVDbGFzcyBtdXRhdGlvbiBjYW4gYmUgdXNlZCB0byBkZWxldGUgYW4gZXhpc3Rpbmcgb2JqZWN0IGNsYXNzLicsXG4gICAgaW5wdXRGaWVsZHM6IHtcbiAgICAgIG5hbWU6IHNjaGVtYVR5cGVzLkNMQVNTX05BTUVfQVRULFxuICAgIH0sXG4gICAgb3V0cHV0RmllbGRzOiB7XG4gICAgICBjbGFzczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIGRlbGV0ZWQgY2xhc3MuJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKHNjaGVtYVR5cGVzLkNMQVNTKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtdXRhdGVBbmRHZXRQYXlsb2FkOiBhc3luYyAoYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBuYW1lIH0gPSBkZWVwY29weShhcmdzKTtcbiAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKTtcblxuICAgICAgICBpZiAoYXV0aC5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgICAgIFwicmVhZC1vbmx5IG1hc3RlcktleSBpc24ndCBhbGxvd2VkIHRvIGRlbGV0ZSBhIHNjaGVtYS5cIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCBjb25maWcuZGF0YWJhc2UubG9hZFNjaGVtYSh7IGNsZWFyQ2FjaGU6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyc2VDbGFzcyA9IGF3YWl0IGdldENsYXNzKG5hbWUsIHNjaGVtYSk7XG4gICAgICAgIGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5kZWxldGVTY2hlbWEobmFtZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgIG5hbWU6IGV4aXN0aW5nUGFyc2VDbGFzcy5jbGFzc05hbWUsXG4gICAgICAgICAgICBzY2hlbWFGaWVsZHM6IHRyYW5zZm9ybVRvR3JhcGhRTChleGlzdGluZ1BhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGRlbGV0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShkZWxldGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCdkZWxldGVDbGFzcycsIGRlbGV0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xufTtcblxuZXhwb3J0IHsgbG9hZCB9O1xuIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2FkIiwicGFyc2VHcmFwaFFMU2NoZW1hIiwiY3JlYXRlQ2xhc3NNdXRhdGlvbiIsIm11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJpbnB1dEZpZWxkcyIsInNjaGVtYVR5cGVzIiwiQ0xBU1NfTkFNRV9BVFQiLCJzY2hlbWFGaWVsZHMiLCJ0eXBlIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsIm91dHB1dEZpZWxkcyIsImNsYXNzIiwiR3JhcGhRTE5vbk51bGwiLCJDTEFTUyIsIm11dGF0ZUFuZEdldFBheWxvYWQiLCJhcmdzIiwiY29udGV4dCIsImRlZXBjb3B5IiwiY29uZmlnIiwiYXV0aCIsImVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJpc1JlYWRPbmx5IiwiUGFyc2UiLCJFcnJvciIsIk9QRVJBVElPTl9GT1JCSURERU4iLCJzY2hlbWEiLCJkYXRhYmFzZSIsImxvYWRTY2hlbWEiLCJjbGVhckNhY2hlIiwicGFyc2VDbGFzcyIsImFkZENsYXNzSWZOb3RFeGlzdHMiLCJ0cmFuc2Zvcm1Ub1BhcnNlIiwiY2xhc3NOYW1lIiwidHJhbnNmb3JtVG9HcmFwaFFMIiwiZmllbGRzIiwiZSIsImhhbmRsZUVycm9yIiwiYWRkR3JhcGhRTFR5cGUiLCJpbnB1dCIsIm9mVHlwZSIsImFkZEdyYXBoUUxNdXRhdGlvbiIsInVwZGF0ZUNsYXNzTXV0YXRpb24iLCJleGlzdGluZ1BhcnNlQ2xhc3MiLCJnZXRDbGFzcyIsInVwZGF0ZUNsYXNzIiwidW5kZWZpbmVkIiwiZGVsZXRlQ2xhc3NNdXRhdGlvbiIsImRlbGV0ZVNjaGVtYSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hTXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IEdyYXBoUUxOb25OdWxsIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgZGVlcGNvcHkgZnJvbSAnZGVlcGNvcHknO1xuaW1wb3J0IHsgbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0ICogYXMgc2NoZW1hVHlwZXMgZnJvbSAnLi9zY2hlbWFUeXBlcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Ub1BhcnNlLCB0cmFuc2Zvcm1Ub0dyYXBoUUwgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMvc2NoZW1hRmllbGRzJztcbmltcG9ydCB7IGVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MgfSBmcm9tICcuLi9wYXJzZUdyYXBoUUxVdGlscyc7XG5pbXBvcnQgeyBnZXRDbGFzcyB9IGZyb20gJy4vc2NoZW1hUXVlcmllcyc7XG5cbmNvbnN0IGxvYWQgPSBwYXJzZUdyYXBoUUxTY2hlbWEgPT4ge1xuICBjb25zdCBjcmVhdGVDbGFzc011dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ0NyZWF0ZUNsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdUaGUgY3JlYXRlQ2xhc3MgbXV0YXRpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIHRoZSBzY2hlbWEgZm9yIGEgbmV3IG9iamVjdCBjbGFzcy4nLFxuICAgIGlucHV0RmllbGRzOiB7XG4gICAgICBuYW1lOiBzY2hlbWFUeXBlcy5DTEFTU19OQU1FX0FUVCxcbiAgICAgIHNjaGVtYUZpZWxkczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgICB0eXBlOiBzY2hlbWFUeXBlcy5TQ0hFTUFfRklFTERTX0lOUFVULFxuICAgICAgfSxcbiAgICB9LFxuICAgIG91dHB1dEZpZWxkczoge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBjcmVhdGVkIGNsYXNzLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChzY2hlbWFUeXBlcy5DTEFTUyksXG4gICAgICB9LFxuICAgIH0sXG4gICAgbXV0YXRlQW5kR2V0UGF5bG9hZDogYXN5bmMgKGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgc2NoZW1hRmllbGRzIH0gPSBkZWVwY29weShhcmdzKTtcbiAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKTtcblxuICAgICAgICBpZiAoYXV0aC5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgICAgIFwicmVhZC1vbmx5IG1hc3RlcktleSBpc24ndCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHNjaGVtYS5cIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCBjb25maWcuZGF0YWJhc2UubG9hZFNjaGVtYSh7IGNsZWFyQ2FjaGU6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IHBhcnNlQ2xhc3MgPSBhd2FpdCBzY2hlbWEuYWRkQ2xhc3NJZk5vdEV4aXN0cyhuYW1lLCB0cmFuc2Zvcm1Ub1BhcnNlKHNjaGVtYUZpZWxkcykpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGNyZWF0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCdjcmVhdGVDbGFzcycsIGNyZWF0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xuXG4gIGNvbnN0IHVwZGF0ZUNsYXNzTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnVXBkYXRlQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ1RoZSB1cGRhdGVDbGFzcyBtdXRhdGlvbiBjYW4gYmUgdXNlZCB0byB1cGRhdGUgdGhlIHNjaGVtYSBmb3IgYW4gZXhpc3Rpbmcgb2JqZWN0IGNsYXNzLicsXG4gICAgaW5wdXRGaWVsZHM6IHtcbiAgICAgIG5hbWU6IHNjaGVtYVR5cGVzLkNMQVNTX05BTUVfQVRULFxuICAgICAgc2NoZW1hRmllbGRzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZXNlIGFyZSB0aGUgc2NoZW1hJ3MgZmllbGRzIG9mIHRoZSBvYmplY3QgY2xhc3MuXCIsXG4gICAgICAgIHR5cGU6IHNjaGVtYVR5cGVzLlNDSEVNQV9GSUVMRFNfSU5QVVQsXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3V0cHV0RmllbGRzOiB7XG4gICAgICBjbGFzczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIHVwZGF0ZWQgY2xhc3MuJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKHNjaGVtYVR5cGVzLkNMQVNTKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtdXRhdGVBbmRHZXRQYXlsb2FkOiBhc3luYyAoYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBzY2hlbWFGaWVsZHMgfSA9IGRlZXBjb3B5KGFyZ3MpO1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCB9ID0gY29udGV4dDtcblxuICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgIGlmIChhdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gdXBkYXRlIGEgc2NoZW1hLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgY29uc3QgcGFyc2VDbGFzcyA9IGF3YWl0IHNjaGVtYS51cGRhdGVDbGFzcyhcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHRyYW5zZm9ybVRvUGFyc2Uoc2NoZW1hRmllbGRzLCBleGlzdGluZ1BhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIGNvbmZpZy5kYXRhYmFzZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKHVwZGF0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZSh1cGRhdGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCd1cGRhdGVDbGFzcycsIHVwZGF0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xuXG4gIGNvbnN0IGRlbGV0ZUNsYXNzTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnRGVsZXRlQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRlbGV0ZUNsYXNzIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGRlbGV0ZSBhbiBleGlzdGluZyBvYmplY3QgY2xhc3MuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgbmFtZTogc2NoZW1hVHlwZXMuQ0xBU1NfTkFNRV9BVFQsXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgZGVsZXRlZCBjbGFzcy4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoc2NoZW1hVHlwZXMuQ0xBU1MpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGRlZXBjb3B5KGFyZ3MpO1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCB9ID0gY29udGV4dDtcblxuICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgIGlmIChhdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gZGVsZXRlIGEgc2NoZW1hLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgYXdhaXQgY29uZmlnLmRhdGFiYXNlLmRlbGV0ZVNjaGVtYShuYW1lKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogZXhpc3RpbmdQYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKGV4aXN0aW5nUGFyc2VDbGFzcy5maWVsZHMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYS5oYW5kbGVFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoZGVsZXRlQ2xhc3NNdXRhdGlvbi5hcmdzLmlucHV0LnR5cGUub2ZUeXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGRlbGV0ZUNsYXNzTXV0YXRpb24udHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMTXV0YXRpb24oJ2RlbGV0ZUNsYXNzJywgZGVsZXRlQ2xhc3NNdXRhdGlvbiwgdHJ1ZSwgdHJ1ZSk7XG59O1xuXG5leHBvcnQgeyBsb2FkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBMkM7QUFBQTtBQUFBO0FBRTNDLE1BQU1BLElBQUksR0FBR0Msa0JBQWtCLElBQUk7RUFDakMsTUFBTUMsbUJBQW1CLEdBQUcsSUFBQUMsMENBQTRCLEVBQUM7SUFDdkRDLElBQUksRUFBRSxhQUFhO0lBQ25CQyxXQUFXLEVBQ1QsbUZBQW1GO0lBQ3JGQyxXQUFXLEVBQUU7TUFDWEYsSUFBSSxFQUFFRyxXQUFXLENBQUNDLGNBQWM7TUFDaENDLFlBQVksRUFBRTtRQUNaSixXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFSyxJQUFJLEVBQUVILFdBQVcsQ0FBQ0k7TUFDcEI7SUFDRixDQUFDO0lBQ0RDLFlBQVksRUFBRTtNQUNaQyxLQUFLLEVBQUU7UUFDTFIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6Q0ssSUFBSSxFQUFFLElBQUlJLHVCQUFjLENBQUNQLFdBQVcsQ0FBQ1EsS0FBSztNQUM1QztJQUNGLENBQUM7SUFDREMsbUJBQW1CLEVBQUUsT0FBT0MsSUFBSSxFQUFFQyxPQUFPLEtBQUs7TUFDNUMsSUFBSTtRQUNGLE1BQU07VUFBRWQsSUFBSTtVQUFFSztRQUFhLENBQUMsR0FBRyxJQUFBVSxpQkFBUSxFQUFDRixJQUFJLENBQUM7UUFDN0MsTUFBTTtVQUFFRyxNQUFNO1VBQUVDO1FBQUssQ0FBQyxHQUFHSCxPQUFPO1FBRWhDLElBQUFJLHlDQUFzQixFQUFDRCxJQUFJLENBQUM7UUFFNUIsSUFBSUEsSUFBSSxDQUFDRSxVQUFVLEVBQUU7VUFDbkIsTUFBTSxJQUFJQyxhQUFLLENBQUNDLEtBQUssQ0FDbkJELGFBQUssQ0FBQ0MsS0FBSyxDQUFDQyxtQkFBbUIsRUFDL0IsdURBQXVELENBQ3hEO1FBQ0g7UUFFQSxNQUFNQyxNQUFNLEdBQUcsTUFBTVAsTUFBTSxDQUFDUSxRQUFRLENBQUNDLFVBQVUsQ0FBQztVQUFFQyxVQUFVLEVBQUU7UUFBSyxDQUFDLENBQUM7UUFDckUsTUFBTUMsVUFBVSxHQUFHLE1BQU1KLE1BQU0sQ0FBQ0ssbUJBQW1CLENBQUM1QixJQUFJLEVBQUUsSUFBQTZCLDhCQUFnQixFQUFDeEIsWUFBWSxDQUFDLENBQUM7UUFDekYsT0FBTztVQUNMSSxLQUFLLEVBQUU7WUFDTFQsSUFBSSxFQUFFMkIsVUFBVSxDQUFDRyxTQUFTO1lBQzFCekIsWUFBWSxFQUFFLElBQUEwQixnQ0FBa0IsRUFBQ0osVUFBVSxDQUFDSyxNQUFNO1VBQ3BEO1FBQ0YsQ0FBQztNQUNILENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7UUFDVnBDLGtCQUFrQixDQUFDcUMsV0FBVyxDQUFDRCxDQUFDLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGcEMsa0JBQWtCLENBQUNzQyxjQUFjLENBQUNyQyxtQkFBbUIsQ0FBQ2UsSUFBSSxDQUFDdUIsS0FBSyxDQUFDOUIsSUFBSSxDQUFDK0IsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFDekZ4QyxrQkFBa0IsQ0FBQ3NDLGNBQWMsQ0FBQ3JDLG1CQUFtQixDQUFDUSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN2RVQsa0JBQWtCLENBQUN5QyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUV4QyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0VBRXJGLE1BQU15QyxtQkFBbUIsR0FBRyxJQUFBeEMsMENBQTRCLEVBQUM7SUFDdkRDLElBQUksRUFBRSxhQUFhO0lBQ25CQyxXQUFXLEVBQ1QseUZBQXlGO0lBQzNGQyxXQUFXLEVBQUU7TUFDWEYsSUFBSSxFQUFFRyxXQUFXLENBQUNDLGNBQWM7TUFDaENDLFlBQVksRUFBRTtRQUNaSixXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFSyxJQUFJLEVBQUVILFdBQVcsQ0FBQ0k7TUFDcEI7SUFDRixDQUFDO0lBQ0RDLFlBQVksRUFBRTtNQUNaQyxLQUFLLEVBQUU7UUFDTFIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6Q0ssSUFBSSxFQUFFLElBQUlJLHVCQUFjLENBQUNQLFdBQVcsQ0FBQ1EsS0FBSztNQUM1QztJQUNGLENBQUM7SUFDREMsbUJBQW1CLEVBQUUsT0FBT0MsSUFBSSxFQUFFQyxPQUFPLEtBQUs7TUFDNUMsSUFBSTtRQUNGLE1BQU07VUFBRWQsSUFBSTtVQUFFSztRQUFhLENBQUMsR0FBRyxJQUFBVSxpQkFBUSxFQUFDRixJQUFJLENBQUM7UUFDN0MsTUFBTTtVQUFFRyxNQUFNO1VBQUVDO1FBQUssQ0FBQyxHQUFHSCxPQUFPO1FBRWhDLElBQUFJLHlDQUFzQixFQUFDRCxJQUFJLENBQUM7UUFFNUIsSUFBSUEsSUFBSSxDQUFDRSxVQUFVLEVBQUU7VUFDbkIsTUFBTSxJQUFJQyxhQUFLLENBQUNDLEtBQUssQ0FDbkJELGFBQUssQ0FBQ0MsS0FBSyxDQUFDQyxtQkFBbUIsRUFDL0IsdURBQXVELENBQ3hEO1FBQ0g7UUFFQSxNQUFNQyxNQUFNLEdBQUcsTUFBTVAsTUFBTSxDQUFDUSxRQUFRLENBQUNDLFVBQVUsQ0FBQztVQUFFQyxVQUFVLEVBQUU7UUFBSyxDQUFDLENBQUM7UUFDckUsTUFBTWMsa0JBQWtCLEdBQUcsTUFBTSxJQUFBQyx1QkFBUSxFQUFDekMsSUFBSSxFQUFFdUIsTUFBTSxDQUFDO1FBQ3ZELE1BQU1JLFVBQVUsR0FBRyxNQUFNSixNQUFNLENBQUNtQixXQUFXLENBQ3pDMUMsSUFBSSxFQUNKLElBQUE2Qiw4QkFBZ0IsRUFBQ3hCLFlBQVksRUFBRW1DLGtCQUFrQixDQUFDUixNQUFNLENBQUMsRUFDekRXLFNBQVMsRUFDVEEsU0FBUyxFQUNUM0IsTUFBTSxDQUFDUSxRQUFRLENBQ2hCO1FBQ0QsT0FBTztVQUNMZixLQUFLLEVBQUU7WUFDTFQsSUFBSSxFQUFFMkIsVUFBVSxDQUFDRyxTQUFTO1lBQzFCekIsWUFBWSxFQUFFLElBQUEwQixnQ0FBa0IsRUFBQ0osVUFBVSxDQUFDSyxNQUFNO1VBQ3BEO1FBQ0YsQ0FBQztNQUNILENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7UUFDVnBDLGtCQUFrQixDQUFDcUMsV0FBVyxDQUFDRCxDQUFDLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGcEMsa0JBQWtCLENBQUNzQyxjQUFjLENBQUNJLG1CQUFtQixDQUFDMUIsSUFBSSxDQUFDdUIsS0FBSyxDQUFDOUIsSUFBSSxDQUFDK0IsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFDekZ4QyxrQkFBa0IsQ0FBQ3NDLGNBQWMsQ0FBQ0ksbUJBQW1CLENBQUNqQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN2RVQsa0JBQWtCLENBQUN5QyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUVDLG1CQUFtQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFFckYsTUFBTUssbUJBQW1CLEdBQUcsSUFBQTdDLDBDQUE0QixFQUFDO0lBQ3ZEQyxJQUFJLEVBQUUsYUFBYTtJQUNuQkMsV0FBVyxFQUFFLDBFQUEwRTtJQUN2RkMsV0FBVyxFQUFFO01BQ1hGLElBQUksRUFBRUcsV0FBVyxDQUFDQztJQUNwQixDQUFDO0lBQ0RJLFlBQVksRUFBRTtNQUNaQyxLQUFLLEVBQUU7UUFDTFIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6Q0ssSUFBSSxFQUFFLElBQUlJLHVCQUFjLENBQUNQLFdBQVcsQ0FBQ1EsS0FBSztNQUM1QztJQUNGLENBQUM7SUFDREMsbUJBQW1CLEVBQUUsT0FBT0MsSUFBSSxFQUFFQyxPQUFPLEtBQUs7TUFDNUMsSUFBSTtRQUNGLE1BQU07VUFBRWQ7UUFBSyxDQUFDLEdBQUcsSUFBQWUsaUJBQVEsRUFBQ0YsSUFBSSxDQUFDO1FBQy9CLE1BQU07VUFBRUcsTUFBTTtVQUFFQztRQUFLLENBQUMsR0FBR0gsT0FBTztRQUVoQyxJQUFBSSx5Q0FBc0IsRUFBQ0QsSUFBSSxDQUFDO1FBRTVCLElBQUlBLElBQUksQ0FBQ0UsVUFBVSxFQUFFO1VBQ25CLE1BQU0sSUFBSUMsYUFBSyxDQUFDQyxLQUFLLENBQ25CRCxhQUFLLENBQUNDLEtBQUssQ0FBQ0MsbUJBQW1CLEVBQy9CLHVEQUF1RCxDQUN4RDtRQUNIO1FBRUEsTUFBTUMsTUFBTSxHQUFHLE1BQU1QLE1BQU0sQ0FBQ1EsUUFBUSxDQUFDQyxVQUFVLENBQUM7VUFBRUMsVUFBVSxFQUFFO1FBQUssQ0FBQyxDQUFDO1FBQ3JFLE1BQU1jLGtCQUFrQixHQUFHLE1BQU0sSUFBQUMsdUJBQVEsRUFBQ3pDLElBQUksRUFBRXVCLE1BQU0sQ0FBQztRQUN2RCxNQUFNUCxNQUFNLENBQUNRLFFBQVEsQ0FBQ3FCLFlBQVksQ0FBQzdDLElBQUksQ0FBQztRQUN4QyxPQUFPO1VBQ0xTLEtBQUssRUFBRTtZQUNMVCxJQUFJLEVBQUV3QyxrQkFBa0IsQ0FBQ1YsU0FBUztZQUNsQ3pCLFlBQVksRUFBRSxJQUFBMEIsZ0NBQWtCLEVBQUNTLGtCQUFrQixDQUFDUixNQUFNO1VBQzVEO1FBQ0YsQ0FBQztNQUNILENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7UUFDVnBDLGtCQUFrQixDQUFDcUMsV0FBVyxDQUFDRCxDQUFDLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGcEMsa0JBQWtCLENBQUNzQyxjQUFjLENBQUNTLG1CQUFtQixDQUFDL0IsSUFBSSxDQUFDdUIsS0FBSyxDQUFDOUIsSUFBSSxDQUFDK0IsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFDekZ4QyxrQkFBa0IsQ0FBQ3NDLGNBQWMsQ0FBQ1MsbUJBQW1CLENBQUN0QyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN2RVQsa0JBQWtCLENBQUN5QyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUVNLG1CQUFtQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7QUFDdkYsQ0FBQztBQUFDIn0=
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.load = exports.getClass = void 0;
|
|
7
|
-
|
|
8
7
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
9
|
-
|
|
10
8
|
var _deepcopy = _interopRequireDefault(require("deepcopy"));
|
|
11
|
-
|
|
12
9
|
var _graphql = require("graphql");
|
|
13
|
-
|
|
14
10
|
var _schemaFields = require("../transformers/schemaFields");
|
|
15
|
-
|
|
16
11
|
var schemaTypes = _interopRequireWildcard(require("./schemaTypes"));
|
|
17
|
-
|
|
18
12
|
var _parseGraphQLUtils = require("../parseGraphQLUtils");
|
|
19
|
-
|
|
20
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
16
|
const getClass = async (name, schema) => {
|
|
27
17
|
try {
|
|
28
18
|
return await schema.getOneSchema(name, true);
|
|
@@ -34,9 +24,7 @@ const getClass = async (name, schema) => {
|
|
|
34
24
|
}
|
|
35
25
|
}
|
|
36
26
|
};
|
|
37
|
-
|
|
38
27
|
exports.getClass = getClass;
|
|
39
|
-
|
|
40
28
|
const load = parseGraphQLSchema => {
|
|
41
29
|
parseGraphQLSchema.addGraphQLQuery('class', {
|
|
42
30
|
description: 'The class query can be used to retrieve an existing object class.',
|
|
@@ -90,6 +78,5 @@ const load = parseGraphQLSchema => {
|
|
|
90
78
|
}
|
|
91
79
|
}, true, true);
|
|
92
80
|
};
|
|
93
|
-
|
|
94
81
|
exports.load = load;
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDbGFzcyIsIm5hbWUiLCJzY2hlbWEiLCJnZXRPbmVTY2hlbWEiLCJlIiwidW5kZWZpbmVkIiwiUGFyc2UiLCJFcnJvciIsIklOVkFMSURfQ0xBU1NfTkFNRSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJhZGRHcmFwaFFMUXVlcnkiLCJkZXNjcmlwdGlvbiIsImFyZ3MiLCJzY2hlbWFUeXBlcyIsIkNMQVNTX05BTUVfQVRUIiwidHlwZSIsIkdyYXBoUUxOb25OdWxsIiwiQ0xBU1MiLCJyZXNvbHZlIiwiX3NvdXJjZSIsImNvbnRleHQiLCJkZWVwY29weSIsImNvbmZpZyIsImF1dGgiLCJlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwiZGF0YWJhc2UiLCJsb2FkU2NoZW1hIiwiY2xlYXJDYWNoZSIsInBhcnNlQ2xhc3MiLCJjbGFzc05hbWUiLCJzY2hlbWFGaWVsZHMiLCJ0cmFuc2Zvcm1Ub0dyYXBoUUwiLCJmaWVsZHMiLCJoYW5kbGVFcnJvciIsIkdyYXBoUUxMaXN0IiwiX2FyZ3MiLCJnZXRBbGxDbGFzc2VzIiwibWFwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0dyYXBoUUwvbG9hZGVycy9zY2hlbWFRdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCBkZWVwY29weSBmcm9tICdkZWVwY29weSc7XG5pbXBvcnQgeyBHcmFwaFFMTm9uTnVsbCwgR3JhcGhRTExpc3QgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IHRyYW5zZm9ybVRvR3JhcGhRTCB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy9zY2hlbWFGaWVsZHMnO1xuaW1wb3J0ICogYXMgc2NoZW1hVHlwZXMgZnJvbSAnLi9zY2hlbWFUeXBlcyc7XG5pbXBvcnQgeyBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIH0gZnJvbSAnLi4vcGFyc2VHcmFwaFFMVXRpbHMnO1xuXG5jb25zdCBnZXRDbGFzcyA9IGFzeW5jIChuYW1lLCBzY2hlbWEpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgc2NoZW1hLmdldE9uZVNjaGVtYShuYW1lLCB0cnVlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX0NMQVNTX05BTUUsIGBDbGFzcyAke25hbWV9IGRvZXMgbm90IGV4aXN0LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5URVJOQUxfU0VSVkVSX0VSUk9SLCAnRGF0YWJhc2UgYWRhcHRlciBlcnJvci4nKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGxvYWQgPSBwYXJzZUdyYXBoUUxTY2hlbWEgPT4ge1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFF1ZXJ5KFxuICAgICdjbGFzcycsXG4gICAge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgY2xhc3MgcXVlcnkgY2FuIGJlIHVzZWQgdG8gcmV0cmlldmUgYW4gZXhpc3Rpbmcgb2JqZWN0IGNsYXNzLicsXG4gICAgICBhcmdzOiB7XG4gICAgICAgIG5hbWU6IHNjaGVtYVR5cGVzLkNMQVNTX05BTUVfQVRULFxuICAgICAgfSxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChzY2hlbWFUeXBlcy5DTEFTUyksXG4gICAgICByZXNvbHZlOiBhc3luYyAoX3NvdXJjZSwgYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZGVlcGNvcHkoYXJncyk7XG4gICAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgY29uZmlnLmRhdGFiYXNlLmxvYWRTY2hlbWEoeyBjbGVhckNhY2hlOiB0cnVlIH0pO1xuICAgICAgICAgIGNvbnN0IHBhcnNlQ2xhc3MgPSBhd2FpdCBnZXRDbGFzcyhuYW1lLCBzY2hlbWEpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG4gICk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxRdWVyeShcbiAgICAnY2xhc3NlcycsXG4gICAge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgY2xhc3NlcyBxdWVyeSBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgZXhpc3Rpbmcgb2JqZWN0IGNsYXNzZXMuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKHNjaGVtYVR5cGVzLkNMQVNTKSkpLFxuICAgICAgcmVzb2x2ZTogYXN5bmMgKF9zb3VyY2UsIF9hcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgY29uZmlnLmRhdGFiYXNlLmxvYWRTY2hlbWEoeyBjbGVhckNhY2hlOiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiAoYXdhaXQgc2NoZW1hLmdldEFsbENsYXNzZXModHJ1ZSkpLm1hcChwYXJzZUNsYXNzID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cnVlLFxuICAgIHRydWVcbiAgKTtcbn07XG5cbmV4cG9ydCB7IGdldENsYXNzLCBsb2FkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUE4RDtBQUFBO0FBQUE7QUFFOUQsTUFBTUEsUUFBUSxHQUFHLE9BQU9DLElBQUksRUFBRUMsTUFBTSxLQUFLO0VBQ3ZDLElBQUk7SUFDRixPQUFPLE1BQU1BLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDRixJQUFJLEVBQUUsSUFBSSxDQUFDO0VBQzlDLENBQUMsQ0FBQyxPQUFPRyxDQUFDLEVBQUU7SUFDVixJQUFJQSxDQUFDLEtBQUtDLFNBQVMsRUFBRTtNQUNuQixNQUFNLElBQUlDLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQ0Msa0JBQWtCLEVBQUcsU0FBUVAsSUFBSyxrQkFBaUIsQ0FBQztJQUN4RixDQUFDLE1BQU07TUFDTCxNQUFNLElBQUlLLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQ0UscUJBQXFCLEVBQUUseUJBQXlCLENBQUM7SUFDckY7RUFDRjtBQUNGLENBQUM7QUFBQztBQUVGLE1BQU1DLElBQUksR0FBR0Msa0JBQWtCLElBQUk7RUFDakNBLGtCQUFrQixDQUFDQyxlQUFlLENBQ2hDLE9BQU8sRUFDUDtJQUNFQyxXQUFXLEVBQUUsbUVBQW1FO0lBQ2hGQyxJQUFJLEVBQUU7TUFDSmIsSUFBSSxFQUFFYyxXQUFXLENBQUNDO0lBQ3BCLENBQUM7SUFDREMsSUFBSSxFQUFFLElBQUlDLHVCQUFjLENBQUNILFdBQVcsQ0FBQ0ksS0FBSyxDQUFDO0lBQzNDQyxPQUFPLEVBQUUsT0FBT0MsT0FBTyxFQUFFUCxJQUFJLEVBQUVRLE9BQU8sS0FBSztNQUN6QyxJQUFJO1FBQ0YsTUFBTTtVQUFFckI7UUFBSyxDQUFDLEdBQUcsSUFBQXNCLGlCQUFRLEVBQUNULElBQUksQ0FBQztRQUMvQixNQUFNO1VBQUVVLE1BQU07VUFBRUM7UUFBSyxDQUFDLEdBQUdILE9BQU87UUFFaEMsSUFBQUkseUNBQXNCLEVBQUNELElBQUksQ0FBQztRQUU1QixNQUFNdkIsTUFBTSxHQUFHLE1BQU1zQixNQUFNLENBQUNHLFFBQVEsQ0FBQ0MsVUFBVSxDQUFDO1VBQUVDLFVBQVUsRUFBRTtRQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNQyxVQUFVLEdBQUcsTUFBTTlCLFFBQVEsQ0FBQ0MsSUFBSSxFQUFFQyxNQUFNLENBQUM7UUFDL0MsT0FBTztVQUNMRCxJQUFJLEVBQUU2QixVQUFVLENBQUNDLFNBQVM7VUFDMUJDLFlBQVksRUFBRSxJQUFBQyxnQ0FBa0IsRUFBQ0gsVUFBVSxDQUFDSSxNQUFNO1FBQ3BELENBQUM7TUFDSCxDQUFDLENBQUMsT0FBTzlCLENBQUMsRUFBRTtRQUNWTyxrQkFBa0IsQ0FBQ3dCLFdBQVcsQ0FBQy9CLENBQUMsQ0FBQztNQUNuQztJQUNGO0VBQ0YsQ0FBQyxFQUNELElBQUksRUFDSixJQUFJLENBQ0w7RUFFRE8sa0JBQWtCLENBQUNDLGVBQWUsQ0FDaEMsU0FBUyxFQUNUO0lBQ0VDLFdBQVcsRUFBRSx3RUFBd0U7SUFDckZJLElBQUksRUFBRSxJQUFJQyx1QkFBYyxDQUFDLElBQUlrQixvQkFBVyxDQUFDLElBQUlsQix1QkFBYyxDQUFDSCxXQUFXLENBQUNJLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEZDLE9BQU8sRUFBRSxPQUFPQyxPQUFPLEVBQUVnQixLQUFLLEVBQUVmLE9BQU8sS0FBSztNQUMxQyxJQUFJO1FBQ0YsTUFBTTtVQUFFRSxNQUFNO1VBQUVDO1FBQUssQ0FBQyxHQUFHSCxPQUFPO1FBRWhDLElBQUFJLHlDQUFzQixFQUFDRCxJQUFJLENBQUM7UUFFNUIsTUFBTXZCLE1BQU0sR0FBRyxNQUFNc0IsTUFBTSxDQUFDRyxRQUFRLENBQUNDLFVBQVUsQ0FBQztVQUFFQyxVQUFVLEVBQUU7UUFBSyxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLE1BQU0zQixNQUFNLENBQUNvQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUcsQ0FBQ1QsVUFBVSxLQUFLO1VBQzNEN0IsSUFBSSxFQUFFNkIsVUFBVSxDQUFDQyxTQUFTO1VBQzFCQyxZQUFZLEVBQUUsSUFBQUMsZ0NBQWtCLEVBQUNILFVBQVUsQ0FBQ0ksTUFBTTtRQUNwRCxDQUFDLENBQUMsQ0FBQztNQUNMLENBQUMsQ0FBQyxPQUFPOUIsQ0FBQyxFQUFFO1FBQ1ZPLGtCQUFrQixDQUFDd0IsV0FBVyxDQUFDL0IsQ0FBQyxDQUFDO01BQ25DO0lBQ0Y7RUFDRixDQUFDLEVBQ0QsSUFBSSxFQUNKLElBQUksQ0FDTDtBQUNILENBQUM7QUFBQyJ9
|
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.load = exports.
|
|
7
|
-
|
|
6
|
+
exports.load = exports.TARGET_CLASS_ATT = exports.SCHEMA_STRING_FIELD_INPUT = exports.SCHEMA_STRING_FIELD = exports.SCHEMA_RELATION_FIELD_INPUT = exports.SCHEMA_RELATION_FIELD = exports.SCHEMA_POLYGON_FIELD_INPUT = exports.SCHEMA_POLYGON_FIELD = exports.SCHEMA_POINTER_FIELD_INPUT = exports.SCHEMA_POINTER_FIELD = exports.SCHEMA_OBJECT_FIELD_INPUT = exports.SCHEMA_OBJECT_FIELD = exports.SCHEMA_NUMBER_FIELD_INPUT = exports.SCHEMA_NUMBER_FIELD = exports.SCHEMA_GEO_POINT_FIELD_INPUT = exports.SCHEMA_GEO_POINT_FIELD = exports.SCHEMA_FILE_FIELD_INPUT = exports.SCHEMA_FILE_FIELD = exports.SCHEMA_FIELD_NAME_ATT = exports.SCHEMA_FIELD_INPUT = exports.SCHEMA_FIELDS_INPUT = exports.SCHEMA_DATE_FIELD_INPUT = exports.SCHEMA_DATE_FIELD = exports.SCHEMA_BYTES_FIELD_INPUT = exports.SCHEMA_BYTES_FIELD = exports.SCHEMA_BOOLEAN_FIELD_INPUT = exports.SCHEMA_BOOLEAN_FIELD = exports.SCHEMA_ARRAY_FIELD_INPUT = exports.SCHEMA_ARRAY_FIELD = exports.SCHEMA_ACL_FIELD = exports.CLASS_NAME_ATT = exports.CLASS = void 0;
|
|
8
7
|
var _graphql = require("graphql");
|
|
9
|
-
|
|
10
8
|
const SCHEMA_FIELD_NAME_ATT = {
|
|
11
9
|
description: 'This is the field name.',
|
|
12
10
|
type: new _graphql.GraphQLNonNull(_graphql.GraphQLString)
|
|
@@ -340,7 +338,6 @@ const CLASS = new _graphql.GraphQLObjectType({
|
|
|
340
338
|
}
|
|
341
339
|
});
|
|
342
340
|
exports.CLASS = CLASS;
|
|
343
|
-
|
|
344
341
|
const load = parseGraphQLSchema => {
|
|
345
342
|
parseGraphQLSchema.addGraphQLType(SCHEMA_FIELD_INPUT, true);
|
|
346
343
|
parseGraphQLSchema.addGraphQLType(SCHEMA_STRING_FIELD_INPUT, true);
|
|
@@ -371,6 +368,5 @@ const load = parseGraphQLSchema => {
|
|
|
371
368
|
parseGraphQLSchema.addGraphQLType(SCHEMA_FIELDS_INPUT, true);
|
|
372
369
|
parseGraphQLSchema.addGraphQLType(CLASS, true);
|
|
373
370
|
};
|
|
374
|
-
|
|
375
371
|
exports.load = load;
|
|
376
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hVHlwZXMuanMiXSwibmFtZXMiOlsiU0NIRU1BX0ZJRUxEX05BTUVfQVRUIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMU3RyaW5nIiwiU0NIRU1BX0ZJRUxEX0lOUFVUIiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIm5hbWUiLCJmaWVsZHMiLCJTQ0hFTUFfRklFTEQiLCJHcmFwaFFMSW50ZXJmYWNlVHlwZSIsInJlc29sdmVUeXBlIiwidmFsdWUiLCJTdHJpbmciLCJTQ0hFTUFfU1RSSU5HX0ZJRUxEIiwiTnVtYmVyIiwiU0NIRU1BX05VTUJFUl9GSUVMRCIsIkJvb2xlYW4iLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRCIsIkFycmF5IiwiU0NIRU1BX0FSUkFZX0ZJRUxEIiwiT2JqZWN0IiwiU0NIRU1BX09CSkVDVF9GSUVMRCIsIkRhdGUiLCJTQ0hFTUFfREFURV9GSUVMRCIsIkZpbGUiLCJTQ0hFTUFfRklMRV9GSUVMRCIsIkdlb1BvaW50IiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRCIsIlBvbHlnb24iLCJTQ0hFTUFfUE9MWUdPTl9GSUVMRCIsIkJ5dGVzIiwiU0NIRU1BX0JZVEVTX0ZJRUxEIiwiUG9pbnRlciIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEIiwiUmVsYXRpb24iLCJTQ0hFTUFfUkVMQVRJT05fRklFTEQiLCJBQ0wiLCJTQ0hFTUFfQUNMX0ZJRUxEIiwiU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiaW50ZXJmYWNlcyIsIlNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQiLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCIsIlNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQiLCJTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCIsIlNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVUIiwiVEFSR0VUX0NMQVNTX0FUVCIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUIiwidGFyZ2V0Q2xhc3NOYW1lIiwiU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsImFkZFN0cmluZ3MiLCJHcmFwaFFMTGlzdCIsImFkZE51bWJlcnMiLCJhZGRCb29sZWFucyIsImFkZEFycmF5cyIsImFkZE9iamVjdHMiLCJhZGREYXRlcyIsImFkZEZpbGVzIiwiYWRkR2VvUG9pbnQiLCJhZGRQb2x5Z29ucyIsImFkZEJ5dGVzIiwiYWRkUG9pbnRlcnMiLCJhZGRSZWxhdGlvbnMiLCJyZW1vdmUiLCJDTEFTU19OQU1FX0FUVCIsIkNMQVNTIiwic2NoZW1hRmllbGRzIiwibG9hZCIsInBhcnNlR3JhcGhRTFNjaGVtYSIsImFkZEdyYXBoUUxUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBU0EsTUFBTUEscUJBQXFCLEdBQUc7QUFDNUJDLEVBQUFBLFdBQVcsRUFBRSx5QkFEZTtBQUU1QkMsRUFBQUEsSUFBSSxFQUFFLElBQUlDLHVCQUFKLENBQW1CQyxzQkFBbkI7QUFGc0IsQ0FBOUI7O0FBS0EsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSUMsK0JBQUosQ0FBMkI7QUFDcERDLEVBQUFBLElBQUksRUFBRSxrQkFEOEM7QUFFcEROLEVBQUFBLFdBQVcsRUFBRSw0RUFGdUM7QUFHcERPLEVBQUFBLE1BQU0sRUFBRTtBQUNORCxJQUFBQSxJQUFJLEVBQUVQO0FBREE7QUFINEMsQ0FBM0IsQ0FBM0I7O0FBUUEsTUFBTVMsWUFBWSxHQUFHLElBQUlDLDZCQUFKLENBQXlCO0FBQzVDSCxFQUFBQSxJQUFJLEVBQUUsYUFEc0M7QUFFNUNOLEVBQUFBLFdBQVcsRUFDVCxxSEFIMEM7QUFJNUNPLEVBQUFBLE1BQU0s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LENBQUNDLGNBQW5CLENBQWtDakQsaUJBQWxDLEVBQXFELElBQXJEO0FBQ0FnRCxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0MzQiw0QkFBbEMsRUFBZ0UsSUFBaEU7QUFDQTBCLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQy9DLHNCQUFsQyxFQUEwRCxJQUExRDtBQUNBOEMsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDMUIsMEJBQWxDLEVBQThELElBQTlEO0FBQ0F5QixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0M3QyxvQkFBbEMsRUFBd0QsSUFBeEQ7QUFDQTRDLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3pCLHdCQUFsQyxFQUE0RCxJQUE1RDtBQUNBd0IsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDM0Msa0JBQWxDLEVBQXNELElBQXREO0FBQ0EwQyxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N2QiwwQkFBbEMsRUFBOEQsSUFBOUQ7QUFDQXNCLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3pDLG9CQUFsQyxFQUF3RCxJQUF4RDtBQUNBd0MsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDckIsMkJBQWxDLEVBQStELElBQS9EO0FBQ0FvQixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N2QyxxQkFBbEMsRUFBeUQsSUFBekQ7QUFDQXNDLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3JDLGdCQUFsQyxFQUFvRCxJQUFwRDtBQUNBb0MsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDcEIsbUJBQWxDLEVBQXVELElBQXZEO0FBQ0FtQixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0NKLEtBQWxDLEVBQXlDLElBQXpDO0FBQ0QsQ0E3QkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbiAgR3JhcGhRTElucHV0T2JqZWN0VHlwZSxcbiAgR3JhcGhRTExpc3QsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50ZXJmYWNlVHlwZSxcbn0gZnJvbSAnZ3JhcGhxbCc7XG5cbmNvbnN0IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBmaWVsZCBuYW1lLicsXG4gIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSxcbn07XG5cbmNvbnN0IFNDSEVNQV9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9GSUVMRCA9IG5ldyBHcmFwaFFMSW50ZXJmYWNlVHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRmllbGQgaW50ZXJmYWNlIHR5cGUgaXMgdXNlZCBhcyBhIGJhc2UgdHlwZSBmb3IgdGhlIGRpZmZlcmVudCBzdXBwb3J0ZWQgZmllbGRzIG9mIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxuICByZXNvbHZlVHlwZTogdmFsdWUgPT5cbiAgICAoe1xuICAgICAgU3RyaW5nOiBTQ0hFTUFfU1RSSU5HX0ZJRUxELm5hbWUsXG4gICAgICBOdW1iZXI6IFNDSEVNQV9OVU1CRVJfRklFTEQubmFtZSxcbiAgICAgIEJvb2xlYW46IFNDSEVNQV9CT09MRUFOX0ZJRUxELm5hbWUsXG4gICAgICBBcnJheTogU0NIRU1BX0FSUkFZX0ZJRUxELm5hbWUsXG4gICAgICBPYmplY3Q6IFNDSEVNQV9PQkpFQ1RfRklFTEQubmFtZSxcbiAgICAgIERhdGU6IFNDSEVNQV9EQVRFX0ZJRUxELm5hbWUsXG4gICAgICBGaWxlOiBTQ0hFTUFfRklMRV9GSUVMRC5uYW1lLFxuICAgICAgR2VvUG9pbnQ6IFNDSEVNQV9HRU9fUE9JTlRfRklFTEQubmFtZSxcbiAgICAgIFBvbHlnb246IFNDSEVNQV9QT0xZR09OX0ZJRUxELm5hbWUsXG4gICAgICBCeXRlczogU0NIRU1BX0JZVEVTX0ZJRUxELm5hbWUsXG4gICAgICBQb2ludGVyOiBTQ0hFTUFfUE9JTlRFUl9GSUVMRC5uYW1lLFxuICAgICAgUmVsYXRpb246IFNDSEVNQV9SRUxBVElPTl9GSUVMRC5uYW1lLFxuICAgICAgQUNMOiBTQ0hFTUFfQUNMX0ZJRUxELm5hbWUsXG4gICAgfVt2YWx1ZS50eXBlXSksXG59KTtcblxuY29uc3QgU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYVN0cmluZ0ZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYVN0cmluZ0ZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBzdHJpbmcgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9TVFJJTkdfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hU3RyaW5nRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFTdHJpbmdGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFN0cmluZyBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFOdW1iZXJGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFOdW1iZXJGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgbnVtYmVyIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfTlVNQkVSX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU51bWJlckZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hTnVtYmVyRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBOdW1iZXIgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJvb2xlYW5GaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFCb29sZWFuRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGJvb2xlYW4gZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CT09MRUFOX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJvb2xlYW5GaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYUJvb2xlYW5GaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEJvb2xlYW4gZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFBcnJheUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUFycmF5RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGFycmF5IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQVJSQVlfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQXJyYXlGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYUFycmF5RmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gQXJyYXkgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hT2JqZWN0RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hT2JqZWN0RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIG9iamVjdCBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX09CSkVDVF9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFPYmplY3RGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYU9iamVjdEZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGFuIE9iamVjdCBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRGF0ZUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYURhdGVGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZGF0ZSBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0RBVEVfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRGF0ZUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hRGF0ZUZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgRGF0ZSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmlsZUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUZpbGVGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZmlsZSBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJTEVfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmlsZUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hRmlsZUZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgRmlsZSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFHZW9Qb2ludEZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUdlb1BvaW50RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGdlbyBwb2ludCBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0dFT19QT0lOVF9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFHZW9Qb2ludEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hR2VvUG9pbnRGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEdlbyBQb2ludCBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUG9seWdvbkZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYVBvbHlnb25GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcG9seWdvbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1BPTFlHT05fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUG9seWdvbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hUG9seWdvbkZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgUG9seWdvbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CWVRFU19GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJ5dGVzRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hQnl0ZXNGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYnl0ZXMgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CWVRFU19GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFCeXRlc0ZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQnl0ZXNGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEJ5dGVzIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgVEFSR0VUX0NMQVNTX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgY2xhc3MgZm9yIHRoZSBmaWVsZC4nLFxuICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZyksXG59O1xuXG5jb25zdCBTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1BvaW50ZXJGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBQb2ludGVyRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIHBvaW50ZXIgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUE9JTlRFUl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2ludGVyRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFQb2ludGVyRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBQb2ludGVyIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9SRUxBVElPTl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1JlbGF0aW9uRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgUmVsYXRpb25GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcmVsYXRpb24gZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUkVMQVRJT05fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUmVsYXRpb25GaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVJlbGF0aW9uRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBSZWxhdGlvbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQUNMX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUFDTEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQUNMRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gQUNMIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJRUxEU19JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUZpZWxkc0lucHV0JyxcbiAgZGVzY3JpcHRpb246IGBUaGUgQ3JlYXRlQ2xhc3NTY2hlbWFJbnB1dCB0eXBlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2NoZW1hIGZvciBhIG5ldyBvYmplY3QgY2xhc3MgdG8gYmUgY3JlYXRlZC5gLFxuICBmaWVsZHM6IHtcbiAgICBhZGRTdHJpbmdzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgU3RyaW5nIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9TVFJJTkdfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZE51bWJlcnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBOdW1iZXIgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkQm9vbGVhbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBCb29sZWFuIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRBcnJheXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBBcnJheSBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZE9iamVjdHM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBPYmplY3QgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkRGF0ZXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBEYXRlIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRGaWxlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEZpbGUgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJTEVfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEdlb1BvaW50OiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1RoaXMgaXMgdGhlIEdlbyBQb2ludCBmaWVsZCB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLiBDdXJyZW50bHkgaXQgaXMgc3VwcG9ydGVkIG9ubHkgb25lIEdlb1BvaW50IGZpZWxkIHBlciBDbGFzcy4nLFxuICAgICAgdHlwZTogU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCxcbiAgICB9LFxuICAgIGFkZFBvbHlnb25zOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUG9seWdvbiBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUE9MWUdPTl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkQnl0ZXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBCeXRlcyBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfQllURVNfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZFBvaW50ZXJzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUG9pbnRlciBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkUmVsYXRpb25zOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUmVsYXRpb24gZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICByZW1vdmU6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBmaWVsZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBDTEFTU19OQU1FX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBvYmplY3QgY2xhc3MuJyxcbiAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxTdHJpbmcpLFxufTtcblxuY29uc3QgQ0xBU1MgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnQ2xhc3MnLFxuICBkZXNjcmlwdGlvbjogYFRoZSBDbGFzcyB0eXBlIGlzIHVzZWQgdG8gcmV0dXJuIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBvYmplY3QgY2xhc3MuYCxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogQ0xBU1NfTkFNRV9BVFQsXG4gICAgc2NoZW1hRmllbGRzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJRUxEKSkpLFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgbG9hZCA9IHBhcnNlR3JhcGhRTFNjaGVtYSA9PiB7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfU1RSSU5HX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX05VTUJFUl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQk9PTEVBTl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0FSUkFZX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX09CSkVDVF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfREFURV9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklMRV9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9HRU9fUE9JTlRfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1BPTFlHT05fRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CWVRFU19GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9JTlRFUl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1JFTEFUSU9OX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9BQ0xfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0ZJRUxEU19JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShDTEFTUywgdHJ1ZSk7XG59O1xuXG5leHBvcnQge1xuICBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIFNDSEVNQV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX1NUUklOR19GSUVMRCxcbiAgU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX05VTUJFUl9GSUVMRCxcbiAgU0NIRU1BX0JPT0xFQU5fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9CT09MRUFOX0ZJRUxELFxuICBTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9BUlJBWV9GSUVMRCxcbiAgU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX09CSkVDVF9GSUVMRCxcbiAgU0NIRU1BX0RBVEVfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9EQVRFX0ZJRUxELFxuICBTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0ZJTEVfRklFTEQsXG4gIFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9HRU9fUE9JTlRfRklFTEQsXG4gIFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUE9MWUdPTl9GSUVMRCxcbiAgU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfQllURVNfRklFTEQsXG4gIFRBUkdFVF9DTEFTU19BVFQsXG4gIFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUE9JTlRFUl9GSUVMRCxcbiAgU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUkVMQVRJT05fRklFTEQsXG4gIFNDSEVNQV9BQ0xfRklFTEQsXG4gIFNDSEVNQV9GSUVMRFNfSU5QVVQsXG4gIENMQVNTX05BTUVfQVRULFxuICBDTEFTUyxcbiAgbG9hZCxcbn07XG4iXX0=
|
|
372
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ0hFTUFfRklFTERfTkFNRV9BVFQiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxTdHJpbmciLCJTQ0hFTUFfRklFTERfSU5QVVQiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwibmFtZSIsImZpZWxkcyIsIlNDSEVNQV9GSUVMRCIsIkdyYXBoUUxJbnRlcmZhY2VUeXBlIiwicmVzb2x2ZVR5cGUiLCJ2YWx1ZSIsIlN0cmluZyIsIlNDSEVNQV9TVFJJTkdfRklFTEQiLCJOdW1iZXIiLCJTQ0hFTUFfTlVNQkVSX0ZJRUxEIiwiQm9vbGVhbiIsIlNDSEVNQV9CT09MRUFOX0ZJRUxEIiwiQXJyYXkiLCJTQ0hFTUFfQVJSQVlfRklFTEQiLCJPYmplY3QiLCJTQ0hFTUFfT0JKRUNUX0ZJRUxEIiwiRGF0ZSIsIlNDSEVNQV9EQVRFX0ZJRUxEIiwiRmlsZSIsIlNDSEVNQV9GSUxFX0ZJRUxEIiwiR2VvUG9pbnQiLCJTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEIiwiUG9seWdvbiIsIlNDSEVNQV9QT0xZR09OX0ZJRUxEIiwiQnl0ZXMiLCJTQ0hFTUFfQllURVNfRklFTEQiLCJQb2ludGVyIiwiU0NIRU1BX1BPSU5URVJfRklFTEQiLCJSZWxhdGlvbiIsIlNDSEVNQV9SRUxBVElPTl9GSUVMRCIsIkFDTCIsIlNDSEVNQV9BQ0xfRklFTEQiLCJTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVUIiwiR3JhcGhRTE9iamVjdFR5cGUiLCJpbnRlcmZhY2VzIiwiU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCIsIlNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0FSUkFZX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCIsIlNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0ZJTEVfRklFTERfSU5QVVQiLCJTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQiLCJTQ0hFTUFfQllURVNfRklFTERfSU5QVVQiLCJUQVJHRVRfQ0xBU1NfQVRUIiwiU0NIRU1BX1BPSU5URVJfRklFTERfSU5QVVQiLCJ0YXJnZXRDbGFzc05hbWUiLCJTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQiLCJTQ0hFTUFfRklFTERTX0lOUFVUIiwiYWRkU3RyaW5ncyIsIkdyYXBoUUxMaXN0IiwiYWRkTnVtYmVycyIsImFkZEJvb2xlYW5zIiwiYWRkQXJyYXlzIiwiYWRkT2JqZWN0cyIsImFkZERhdGVzIiwiYWRkRmlsZXMiLCJhZGRHZW9Qb2ludCIsImFkZFBvbHlnb25zIiwiYWRkQnl0ZXMiLCJhZGRQb2ludGVycyIsImFkZFJlbGF0aW9ucyIsInJlbW92ZSIsIkNMQVNTX05BTUVfQVRUIiwiQ0xBU1MiLCJzY2hlbWFGaWVsZHMiLCJsb2FkIiwicGFyc2VHcmFwaFFMU2NoZW1hIiwiYWRkR3JhcGhRTFR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9sb2FkZXJzL3NjaGVtYVR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdyYXBoUUxOb25OdWxsLFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnRlcmZhY2VUeXBlLFxufSBmcm9tICdncmFwaHFsJztcblxuY29uc3QgU0NIRU1BX0ZJRUxEX05BTUVfQVRUID0ge1xuICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIGZpZWxkIG5hbWUuJyxcbiAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxTdHJpbmcpLFxufTtcblxuY29uc3QgU0NIRU1BX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYUZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJRUxEID0gbmV3IEdyYXBoUUxJbnRlcmZhY2VUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUZpZWxkJyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFGaWVsZCBpbnRlcmZhY2UgdHlwZSBpcyB1c2VkIGFzIGEgYmFzZSB0eXBlIGZvciB0aGUgZGlmZmVyZW50IHN1cHBvcnRlZCBmaWVsZHMgb2YgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG4gIHJlc29sdmVUeXBlOiB2YWx1ZSA9PlxuICAgICh7XG4gICAgICBTdHJpbmc6IFNDSEVNQV9TVFJJTkdfRklFTEQubmFtZSxcbiAgICAgIE51bWJlcjogU0NIRU1BX05VTUJFUl9GSUVMRC5uYW1lLFxuICAgICAgQm9vbGVhbjogU0NIRU1BX0JPT0xFQU5fRklFTEQubmFtZSxcbiAgICAgIEFycmF5OiBTQ0hFTUFfQVJSQVlfRklFTEQubmFtZSxcbiAgICAgIE9iamVjdDogU0NIRU1BX09CSkVDVF9GSUVMRC5uYW1lLFxuICAgICAgRGF0ZTogU0NIRU1BX0RBVEVfRklFTEQubmFtZSxcbiAgICAgIEZpbGU6IFNDSEVNQV9GSUxFX0ZJRUxELm5hbWUsXG4gICAgICBHZW9Qb2ludDogU0NIRU1BX0dFT19QT0lOVF9GSUVMRC5uYW1lLFxuICAgICAgUG9seWdvbjogU0NIRU1BX1BPTFlHT05fRklFTEQubmFtZSxcbiAgICAgIEJ5dGVzOiBTQ0hFTUFfQllURVNfRklFTEQubmFtZSxcbiAgICAgIFBvaW50ZXI6IFNDSEVNQV9QT0lOVEVSX0ZJRUxELm5hbWUsXG4gICAgICBSZWxhdGlvbjogU0NIRU1BX1JFTEFUSU9OX0ZJRUxELm5hbWUsXG4gICAgICBBQ0w6IFNDSEVNQV9BQ0xfRklFTEQubmFtZSxcbiAgICB9W3ZhbHVlLnR5cGVdKSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hU3RyaW5nRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hU3RyaW5nRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIHN0cmluZyBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1NUUklOR19GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFTdHJpbmdGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVN0cmluZ0ZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgU3RyaW5nIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU51bWJlckZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYU51bWJlckZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBudW1iZXIgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9OVU1CRVJfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hTnVtYmVyRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFOdW1iZXJGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIE51bWJlciBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQm9vbGVhbkZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUJvb2xlYW5GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYm9vbGVhbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JPT0xFQU5fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQm9vbGVhbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQm9vbGVhbkZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgQm9vbGVhbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUFycmF5RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hQXJyYXlGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYXJyYXkgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BUlJBWV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFBcnJheUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQXJyYXlGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhbiBBcnJheSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFPYmplY3RGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFPYmplY3RGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgb2JqZWN0IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfT0JKRUNUX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU9iamVjdEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hT2JqZWN0RmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gT2JqZWN0IGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0RBVEVfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFEYXRlRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRGF0ZUZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBkYXRlIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfREFURV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFEYXRlRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFEYXRlRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBEYXRlIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJTEVfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWxlRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRmlsZUZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBmaWxlIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfRklMRV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWxlRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFGaWxlRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBGaWxlIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUdlb1BvaW50RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hR2VvUG9pbnRGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZ2VvIHBvaW50IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUdlb1BvaW50RmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFHZW9Qb2ludEZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgR2VvIFBvaW50IGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2x5Z29uRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hUG9seWdvbkZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBwb2x5Z29uIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUE9MWUdPTl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2x5Z29uRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFQb2x5Z29uRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBQb2x5Z29uIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQnl0ZXNGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFCeXRlc0ZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBieXRlcyBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JZVEVTX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJ5dGVzRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFCeXRlc0ZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgQnl0ZXMgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBUQVJHRVRfQ0xBU1NfQVRUID0ge1xuICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHRhcmdldCBjbGFzcyBmb3IgdGhlIGZpZWxkLicsXG4gIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSxcbn07XG5cbmNvbnN0IFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnUG9pbnRlckZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFBvaW50ZXJGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcG9pbnRlciBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9QT0lOVEVSX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYVBvaW50ZXJGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVBvaW50ZXJGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFBvaW50ZXIgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgICB0YXJnZXRDbGFzc05hbWU6IFRBUkdFVF9DTEFTU19BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnUmVsYXRpb25GaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBSZWxhdGlvbkZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSByZWxhdGlvbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9SRUxBVElPTl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFSZWxhdGlvbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hUmVsYXRpb25GaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFJlbGF0aW9uIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BQ0xfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQUNMRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFBQ0xGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhbiBBQ0wgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfRklFTERTX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmllbGRzSW5wdXQnLFxuICBkZXNjcmlwdGlvbjogYFRoZSBDcmVhdGVDbGFzc1NjaGVtYUlucHV0IHR5cGUgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBzY2hlbWEgZm9yIGEgbmV3IG9iamVjdCBjbGFzcyB0byBiZSBjcmVhdGVkLmAsXG4gIGZpZWxkczoge1xuICAgIGFkZFN0cmluZ3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBTdHJpbmcgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkTnVtYmVyczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIE51bWJlciBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfTlVNQkVSX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRCb29sZWFuczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEJvb2xlYW4gZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0JPT0xFQU5fRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEFycmF5czoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEFycmF5IGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkT2JqZWN0czoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIE9iamVjdCBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGREYXRlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIERhdGUgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0RBVEVfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEZpbGVzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgRmlsZSBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkR2VvUG9pbnQ6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnVGhpcyBpcyB0aGUgR2VvIFBvaW50IGZpZWxkIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuIEN1cnJlbnRseSBpdCBpcyBzdXBwb3J0ZWQgb25seSBvbmUgR2VvUG9pbnQgZmllbGQgcGVyIENsYXNzLicsXG4gICAgICB0eXBlOiBTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEX0lOUFVULFxuICAgIH0sXG4gICAgYWRkUG9seWdvbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBQb2x5Z29uIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRCeXRlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEJ5dGVzIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9CWVRFU19GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkUG9pbnRlcnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBQb2ludGVyIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRSZWxhdGlvbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBSZWxhdGlvbiBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIHJlbW92ZToge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIGZpZWxkcyB0byBiZSByZW1vdmVkIGZyb20gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IENMQVNTX05BTUVfQVRUID0ge1xuICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCBjbGFzcy4nLFxuICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZyksXG59O1xuXG5jb25zdCBDTEFTUyA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdDbGFzcycsXG4gIGRlc2NyaXB0aW9uOiBgVGhlIENsYXNzIHR5cGUgaXMgdXNlZCB0byByZXR1cm4gdGhlIGluZm9ybWF0aW9uIGFib3V0IGFuIG9iamVjdCBjbGFzcy5gLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBDTEFTU19OQU1FX0FUVCxcbiAgICBzY2hlbWFGaWVsZHM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZXNlIGFyZSB0aGUgc2NoZW1hJ3MgZmllbGRzIG9mIHRoZSBvYmplY3QgY2xhc3MuXCIsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwobmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklFTEQpKSksXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9TVFJJTkdfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfTlVNQkVSX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CT09MRUFOX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQVJSQVlfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfT0JKRUNUX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9EQVRFX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUxFX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0dFT19QT0lOVF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9MWUdPTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9MWUdPTl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQllURVNfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0JZVEVTX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9QT0lOVEVSX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9SRUxBVElPTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUkVMQVRJT05fRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0FDTF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklFTERTX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKENMQVNTLCB0cnVlKTtcbn07XG5cbmV4cG9ydCB7XG4gIFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgU0NIRU1BX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfU1RSSU5HX0ZJRUxELFxuICBTQ0hFTUFfTlVNQkVSX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfTlVNQkVSX0ZJRUxELFxuICBTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0JPT0xFQU5fRklFTEQsXG4gIFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0FSUkFZX0ZJRUxELFxuICBTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfT0JKRUNUX0ZJRUxELFxuICBTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0RBVEVfRklFTEQsXG4gIFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfRklMRV9GSUVMRCxcbiAgU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0dFT19QT0lOVF9GSUVMRCxcbiAgU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9QT0xZR09OX0ZJRUxELFxuICBTQ0hFTUFfQllURVNfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9CWVRFU19GSUVMRCxcbiAgVEFSR0VUX0NMQVNTX0FUVCxcbiAgU0NIRU1BX1BPSU5URVJfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9QT0lOVEVSX0ZJRUxELFxuICBTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9SRUxBVElPTl9GSUVMRCxcbiAgU0NIRU1BX0FDTF9GSUVMRCxcbiAgU0NIRU1BX0ZJRUxEU19JTlBVVCxcbiAgQ0xBU1NfTkFNRV9BVFQsXG4gIENMQVNTLFxuICBsb2FkLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFTQSxNQUFNQSxxQkFBcUIsR0FBRztFQUM1QkMsV0FBVyxFQUFFLHlCQUF5QjtFQUN0Q0MsSUFBSSxFQUFFLElBQUlDLHVCQUFjLENBQUNDLHNCQUFhO0FBQ3hDLENBQUM7QUFBQztBQUVGLE1BQU1DLGtCQUFrQixHQUFHLElBQUlDLCtCQUFzQixDQUFDO0VBQ3BEQyxJQUFJLEVBQUUsa0JBQWtCO0VBQ3hCTixXQUFXLEVBQUUsNEVBQTRFO0VBQ3pGTyxNQUFNLEVBQUU7SUFDTkQsSUFBSSxFQUFFUDtFQUNSO0FBQ0YsQ0FBQyxDQUFDO0FBQUM7QUFFSCxNQUFNUyxZQUFZLEdBQUcsSUFBSUMsNkJBQW9CLENBQUM7RUFDNUNILElBQUksRUFBRSxhQUFhO0VBQ25CTixXQUFXLEVBQ1QscUhBQXFIO0VBQ3ZITyxNQUFNLEVBQUU7SUFDTkQs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
|