@payloadcms/graphql 3.0.0-alpha.21 → 3.0.0-alpha.23
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/dist/index.js +8 -8
- package/dist/resolvers/auth/access.d.ts +1 -1
- package/dist/resolvers/auth/access.d.ts.map +1 -1
- package/dist/resolvers/auth/access.js +2 -2
- package/dist/resolvers/auth/forgotPassword.js +1 -1
- package/dist/resolvers/auth/init.d.ts +1 -1
- package/dist/resolvers/auth/init.d.ts.map +1 -1
- package/dist/resolvers/auth/init.js +1 -1
- package/dist/resolvers/auth/login.d.ts +1 -4
- package/dist/resolvers/auth/login.d.ts.map +1 -1
- package/dist/resolvers/auth/login.js +1 -1
- package/dist/resolvers/auth/logout.js +1 -1
- package/dist/resolvers/auth/me.js +1 -1
- package/dist/resolvers/auth/refresh.d.ts +1 -2
- package/dist/resolvers/auth/refresh.d.ts.map +1 -1
- package/dist/resolvers/auth/refresh.js +1 -1
- package/dist/resolvers/auth/resetPassword.d.ts +1 -2
- package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/resetPassword.js +1 -1
- package/dist/resolvers/auth/unlock.d.ts +1 -1
- package/dist/resolvers/auth/unlock.d.ts.map +1 -1
- package/dist/resolvers/auth/unlock.js +1 -1
- package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
- package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
- package/dist/resolvers/auth/verifyEmail.js +1 -1
- package/dist/resolvers/collections/create.js +1 -1
- package/dist/resolvers/collections/delete.js +1 -1
- package/dist/resolvers/collections/docAccess.js +1 -1
- package/dist/resolvers/collections/find.js +1 -1
- package/dist/resolvers/collections/findByID.js +1 -1
- package/dist/resolvers/collections/findVersionByID.js +1 -1
- package/dist/resolvers/collections/findVersions.js +1 -1
- package/dist/resolvers/collections/restoreVersion.js +1 -1
- package/dist/resolvers/collections/update.js +1 -1
- package/dist/resolvers/globals/docAccess.js +1 -1
- package/dist/resolvers/globals/findOne.js +1 -1
- package/dist/resolvers/globals/findVersionByID.js +1 -1
- package/dist/resolvers/globals/findVersions.js +1 -1
- package/dist/resolvers/globals/index.d.ts +5 -5
- package/dist/resolvers/globals/index.d.ts.map +1 -1
- package/dist/resolvers/globals/index.js +6 -6
- package/dist/resolvers/globals/restoreVersion.js +1 -1
- package/dist/resolvers/globals/update.js +1 -1
- package/dist/schema/buildFallbackLocaleInputType.js +2 -2
- package/dist/schema/buildLocaleInputType.js +2 -2
- package/dist/schema/buildMutationInputType.js +5 -5
- package/dist/schema/buildObjectType.js +7 -7
- package/dist/schema/buildPoliciesType.js +2 -2
- package/dist/schema/buildWhereInputType.js +4 -4
- package/dist/schema/fieldToWhereInputSchemaMap.js +6 -6
- package/dist/schema/initCollections.js +25 -25
- package/dist/schema/initGlobals.js +13 -13
- package/dist/schema/recursivelyBuildNestedPaths.js +2 -2
- package/dist/schema/withOperators.js +4 -4
- package/dist/utilities/combineParentName.js +2 -2
- package/dist/utilities/formatOptions.js +2 -2
- package/dist/utilities/wrapCustomResolver.d.ts +2 -2
- package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
- package/dist/utilities/wrapCustomResolver.js +1 -1
- package/package.json +3 -3
- package/src/index.ts +7 -7
- package/dist/utilities/isolateTransactionID.d.ts +0 -1
- package/dist/utilities/isolateTransactionID.d.ts.map +0 -1
- package/dist/utilities/isolateTransactionID.js +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import findOne from './findOne';
|
|
2
|
-
import findVersionByID from './findVersionByID';
|
|
3
|
-
import findVersions from './findVersions';
|
|
4
|
-
import restoreVersion from './restoreVersion';
|
|
5
|
-
import update from './update';
|
|
1
|
+
import findOne from './findOne.js';
|
|
2
|
+
import findVersionByID from './findVersionByID.js';
|
|
3
|
+
import findVersions from './findVersions.js';
|
|
4
|
+
import restoreVersion from './restoreVersion.js';
|
|
5
|
+
import update from './update.js';
|
|
6
6
|
export { findOne, findVersionByID, findVersions, restoreVersion, update };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/globals/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/globals/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import findOne from './findOne';
|
|
2
|
-
import findVersionByID from './findVersionByID';
|
|
3
|
-
import findVersions from './findVersions';
|
|
4
|
-
import restoreVersion from './restoreVersion';
|
|
5
|
-
import update from './update';
|
|
1
|
+
import findOne from './findOne.js';
|
|
2
|
+
import findVersionByID from './findVersionByID.js';
|
|
3
|
+
import findVersions from './findVersions.js';
|
|
4
|
+
import restoreVersion from './restoreVersion.js';
|
|
5
|
+
import update from './update.js';
|
|
6
6
|
export { findOne, findVersionByID, findVersions, restoreVersion, update };
|
|
7
7
|
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvbHZlcnMvZ2xvYmFscy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmluZE9uZSBmcm9tICcuL2ZpbmRPbmUuanMnXG5pbXBvcnQgZmluZFZlcnNpb25CeUlEIGZyb20gJy4vZmluZFZlcnNpb25CeUlELmpzJ1xuaW1wb3J0IGZpbmRWZXJzaW9ucyBmcm9tICcuL2ZpbmRWZXJzaW9ucy5qcydcbmltcG9ydCByZXN0b3JlVmVyc2lvbiBmcm9tICcuL3Jlc3RvcmVWZXJzaW9uLmpzJ1xuaW1wb3J0IHVwZGF0ZSBmcm9tICcuL3VwZGF0ZS5qcydcblxuZXhwb3J0IHsgZmluZE9uZSwgZmluZFZlcnNpb25CeUlELCBmaW5kVmVyc2lvbnMsIHJlc3RvcmVWZXJzaW9uLCB1cGRhdGUgfVxuIl0sIm5hbWVzIjpbImZpbmRPbmUiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kVmVyc2lvbnMiLCJyZXN0b3JlVmVyc2lvbiIsInVwZGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsYUFBYSxlQUFjO0FBQ2xDLE9BQU9DLHFCQUFxQix1QkFBc0I7QUFDbEQsT0FBT0Msa0JBQWtCLG9CQUFtQjtBQUM1QyxPQUFPQyxvQkFBb0Isc0JBQXFCO0FBQ2hELE9BQU9DLFlBQVksY0FBYTtBQUVoQyxTQUFTSixPQUFPLEVBQUVDLGVBQWUsRUFBRUMsWUFBWSxFQUFFQyxjQUFjLEVBQUVDLE1BQU0sR0FBRSJ9
|
|
@@ -13,4 +13,4 @@ export default function restoreVersionResolver(globalConfig) {
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvbHZlcnMvZ2xvYmFscy9yZXN0b3JlVmVyc2lvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXN0b3JlVmVyc2lvbk9wZXJhdGlvbkdsb2JhbCB9IGZyb20gJ3BheWxvYWQvb3BlcmF0aW9ucydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQsIFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBpc29sYXRlT2JqZWN0UHJvcGVydHkgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzLmQudHMnXG5cbnR5cGUgUmVzb2x2ZXIgPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIH0sXG4pID0+IFByb21pc2U8RG9jdW1lbnQ+XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXN0b3JlVmVyc2lvblJlc29sdmVyKGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnKTogUmVzb2x2ZXIge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dDogQ29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpZDogYXJncy5pZCxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgcmVxOiBpc29sYXRlT2JqZWN0UHJvcGVydHkoY29udGV4dC5yZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzdG9yZVZlcnNpb25PcGVyYXRpb25HbG9iYWwob3B0aW9ucylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJyZXN0b3JlVmVyc2lvbk9wZXJhdGlvbkdsb2JhbCIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsInJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIiLCJnbG9iYWxDb25maWciLCJyZXNvbHZlciIsIl8iLCJhcmdzIiwiY29udGV4dCIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwicmVxIiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSw2QkFBNkIsUUFBUSxxQkFBb0I7QUFHbEUsU0FBU0MscUJBQXFCLFFBQVEsb0JBQW1CO0FBWXpELGVBQWUsU0FBU0MsdUJBQXVCQyxZQUFtQztJQUNoRixPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFnQjtRQUN0RCxNQUFNQyxVQUFVO1lBQ2RDLElBQUlILEtBQUtHLEVBQUU7WUFDWEMsT0FBTztZQUNQUDtZQUNBUSxLQUFLVixzQkFBc0JNLFFBQVFJLEdBQUcsRUFBRTtRQUMxQztRQUVBLE1BQU1DLFNBQVMsTUFBTVosOEJBQThCUTtRQUNuRCxPQUFPSTtJQUNUO0FBQ0YifQ==
|
|
@@ -18,4 +18,4 @@ export default function updateResolver(globalConfig) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvbHZlcnMvZ2xvYmFscy91cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXBkYXRlT3BlcmF0aW9uR2xvYmFsIH0gZnJvbSAncGF5bG9hZC9vcGVyYXRpb25zJ1xuaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGlzb2xhdGVPYmplY3RQcm9wZXJ0eSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMuZC50cydcblxudHlwZSBSZXNvbHZlcjxUU2x1ZyBleHRlbmRzIGtleW9mIEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+ID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YT86IERlZXBQYXJ0aWFsPE9taXQ8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10sICdpZCc+PlxuICAgIGRyYWZ0PzogYm9vbGVhblxuICAgIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIH0sXG4pID0+IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVwZGF0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gIGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGFyZ3MsIGNvbnRleHQ6IENvbnRleHQpIHtcbiAgICBpZiAoYXJncy5sb2NhbGUpIGNvbnRleHQucmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlXG4gICAgaWYgKGFyZ3MuZmFsbGJhY2tMb2NhbGUpIGNvbnRleHQucmVxLmZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZVxuXG4gICAgY29uc3QgeyBzbHVnIH0gPSBnbG9iYWxDb25maWdcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzbHVnLFxuICAgICAgZGF0YTogYXJncy5kYXRhLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICBkcmFmdDogYXJncy5kcmFmdCxcbiAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5KGNvbnRleHQucmVxLCAndHJhbnNhY3Rpb25JRCcpLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwZGF0ZU9wZXJhdGlvbkdsb2JhbDxUU2x1Zz4ob3B0aW9ucylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVPcGVyYXRpb25HbG9iYWwiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJ1cGRhdGVSZXNvbHZlciIsImdsb2JhbENvbmZpZyIsInJlc29sdmVyIiwiXyIsImFyZ3MiLCJjb250ZXh0IiwibG9jYWxlIiwicmVxIiwiZmFsbGJhY2tMb2NhbGUiLCJzbHVnIiwib3B0aW9ucyIsImRhdGEiLCJkZXB0aCIsImRyYWZ0IiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxxQkFBcUIsUUFBUSxxQkFBb0I7QUFLMUQsU0FBU0MscUJBQXFCLFFBQVEsb0JBQW1CO0FBZ0J6RCxlQUFlLFNBQVNDLGVBQ3RCQyxZQUFtQztJQUVuQyxPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFnQjtRQUN0RCxJQUFJRCxLQUFLRSxNQUFNLEVBQUVELFFBQVFFLEdBQUcsQ0FBQ0QsTUFBTSxHQUFHRixLQUFLRSxNQUFNO1FBQ2pELElBQUlGLEtBQUtJLGNBQWMsRUFBRUgsUUFBUUUsR0FBRyxDQUFDQyxjQUFjLEdBQUdKLEtBQUtJLGNBQWM7UUFFekUsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR1I7UUFFakIsTUFBTVMsVUFBVTtZQUNkRDtZQUNBRSxNQUFNUCxLQUFLTyxJQUFJO1lBQ2ZDLE9BQU87WUFDUEMsT0FBT1QsS0FBS1MsS0FBSztZQUNqQlo7WUFDQU0sS0FBS1Isc0JBQXNCTSxRQUFRRSxHQUFHLEVBQUU7UUFDMUM7UUFFQSxNQUFNTyxTQUFTLE1BQU1oQixzQkFBNkJZO1FBQ2xELE9BQU9JO0lBQ1Q7QUFDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLEnumType } from 'graphql';
|
|
2
|
-
import formatName from '../utilities/formatName';
|
|
2
|
+
import formatName from '../utilities/formatName.js';
|
|
3
3
|
const buildFallbackLocaleInputType = (localization)=>{
|
|
4
4
|
return new GraphQLEnumType({
|
|
5
5
|
name: 'FallbackLocaleInputType',
|
|
@@ -16,4 +16,4 @@ const buildFallbackLocaleInputType = (localization)=>{
|
|
|
16
16
|
};
|
|
17
17
|
export default buildFallbackLocaleInputType;
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRGYWxsYmFja0xvY2FsZUlucHV0VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmFwaFFMRW51bVR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZExvY2FsaXphdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgZm9ybWF0TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TmFtZS5qcydcblxuY29uc3QgYnVpbGRGYWxsYmFja0xvY2FsZUlucHV0VHlwZSA9IChcbiAgbG9jYWxpemF0aW9uOiBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcsXG4pOiBHcmFwaFFMRW51bVR5cGUgPT4ge1xuICByZXR1cm4gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgbmFtZTogJ0ZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlJyxcbiAgICB2YWx1ZXM6IFsuLi5sb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMsICdub25lJ10ucmVkdWNlKFxuICAgICAgKHZhbHVlcywgbG9jYWxlKSA9PiAoe1xuICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgIFtmb3JtYXROYW1lKGxvY2FsZSldOiB7XG4gICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAge30sXG4gICAgKSxcbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRGYWxsYmFja0xvY2FsZUlucHV0VHlwZVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxFbnVtVHlwZSIsImZvcm1hdE5hbWUiLCJidWlsZEZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwibG9jYWxpemF0aW9uIiwibmFtZSIsInZhbHVlcyIsImxvY2FsZUNvZGVzIiwicmVkdWNlIiwibG9jYWxlIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsUUFBUSxVQUFTO0FBSXpDLE9BQU9DLGdCQUFnQiw2QkFBNEI7QUFFbkQsTUFBTUMsK0JBQStCLENBQ25DQztJQUVBLE9BQU8sSUFBSUgsZ0JBQWdCO1FBQ3pCSSxNQUFNO1FBQ05DLFFBQVE7ZUFBSUYsYUFBYUcsV0FBVztZQUFFO1NBQU8sQ0FBQ0MsTUFBTSxDQUNsRCxDQUFDRixRQUFRRyxTQUFZLENBQUE7Z0JBQ25CLEdBQUdILE1BQU07Z0JBQ1QsQ0FBQ0osV0FBV08sUUFBUSxFQUFFO29CQUNwQkMsT0FBT0Q7Z0JBQ1Q7WUFDRixDQUFBLEdBQ0EsQ0FBQztJQUVMO0FBQ0Y7QUFFQSxlQUFlTiw2QkFBNEIifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLEnumType } from 'graphql';
|
|
2
|
-
import formatName from '../utilities/formatName';
|
|
2
|
+
import formatName from '../utilities/formatName.js';
|
|
3
3
|
const buildLocaleInputType = (localization)=>{
|
|
4
4
|
return new GraphQLEnumType({
|
|
5
5
|
name: 'LocaleInputType',
|
|
@@ -13,4 +13,4 @@ const buildLocaleInputType = (localization)=>{
|
|
|
13
13
|
};
|
|
14
14
|
export default buildLocaleInputType;
|
|
15
15
|
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRMb2NhbGVJbnB1dFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHcmFwaFFMU2NhbGFyVHlwZSB9IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB7IEdyYXBoUUxFbnVtVHlwZSB9IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5cbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lLmpzJ1xuXG5jb25zdCBidWlsZExvY2FsZUlucHV0VHlwZSA9IChcbiAgbG9jYWxpemF0aW9uOiBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcsXG4pOiBHcmFwaFFMRW51bVR5cGUgfCBHcmFwaFFMU2NhbGFyVHlwZSA9PiB7XG4gIHJldHVybiBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICBuYW1lOiAnTG9jYWxlSW5wdXRUeXBlJyxcbiAgICB2YWx1ZXM6IGxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5yZWR1Y2UoXG4gICAgICAodmFsdWVzLCBsb2NhbGUpID0+ICh7XG4gICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgW2Zvcm1hdE5hbWUobG9jYWxlKV06IHtcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICB7fSxcbiAgICApLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZExvY2FsZUlucHV0VHlwZVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxFbnVtVHlwZSIsImZvcm1hdE5hbWUiLCJidWlsZExvY2FsZUlucHV0VHlwZSIsImxvY2FsaXphdGlvbiIsIm5hbWUiLCJ2YWx1ZXMiLCJsb2NhbGVDb2RlcyIsInJlZHVjZSIsImxvY2FsZSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxlQUFlLFFBQVEsVUFBUztBQUl6QyxPQUFPQyxnQkFBZ0IsNkJBQTRCO0FBRW5ELE1BQU1DLHVCQUF1QixDQUMzQkM7SUFFQSxPQUFPLElBQUlILGdCQUFnQjtRQUN6QkksTUFBTTtRQUNOQyxRQUFRRixhQUFhRyxXQUFXLENBQUNDLE1BQU0sQ0FDckMsQ0FBQ0YsUUFBUUcsU0FBWSxDQUFBO2dCQUNuQixHQUFHSCxNQUFNO2dCQUNULENBQUNKLFdBQVdPLFFBQVEsRUFBRTtvQkFDcEJDLE9BQU9EO2dCQUNUO1lBQ0YsQ0FBQSxHQUNBLENBQUM7SUFFTDtBQUNGO0FBRUEsZUFBZU4scUJBQW9CIn0=
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { GraphQLJSON } from 'graphql-type-json';
|
|
3
3
|
import { fieldAffectsData, optionIsObject, tabHasName } from 'payload/types';
|
|
4
4
|
import { toWords } from 'payload/utilities';
|
|
5
|
-
import { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield';
|
|
6
|
-
import combineParentName from '../utilities/combineParentName';
|
|
7
|
-
import formatName from '../utilities/formatName';
|
|
8
|
-
import withNullableType from './withNullableType';
|
|
5
|
+
import { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield.js';
|
|
6
|
+
import combineParentName from '../utilities/combineParentName.js';
|
|
7
|
+
import formatName from '../utilities/formatName.js';
|
|
8
|
+
import withNullableType from './withNullableType.js';
|
|
9
9
|
import { flattenTopLevelFields } from 'payload/utilities';
|
|
10
10
|
const idFieldTypes = {
|
|
11
11
|
number: GraphQLInt,
|
|
@@ -268,4 +268,4 @@ export function buildMutationInputType({ name, fields, parentName, forceNullable
|
|
|
268
268
|
});
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZywgR3JhcGhRTFNjYWxhclR5cGUsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbmZvIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7XG4gIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmNvbnN0IGlkRmllbGRUeXBlcyA9IHtcbiAgbnVtYmVyOiBHcmFwaFFMSW50LFxuICB0ZXh0OiBHcmFwaFFMU3RyaW5nLFxufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGVjdGlvbklEVHlwZSA9IChcbiAgdHlwZToga2V5b2YgdHlwZW9mIGlkRmllbGRUeXBlcyxcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyxcbik6IEdyYXBoUUxTY2FsYXJUeXBlID0+IHtcbiAgY29uc3QgaWRGaWVsZCA9IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcykuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gIClcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3R5cGVdXG4gIH1cblxuICByZXR1cm4gaWRGaWVsZFR5cGVzW2lkRmllbGQudHlwZV1cbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRPYmplY3RUeXBlQ29uZmlnID0ge1xuICBbcGF0aDogc3RyaW5nXTogR3JhcGhRTElucHV0RmllbGRDb25maWdcbn1cblxudHlwZSBCdWlsZE11dGF0aW9uSW5wdXRUeXBlQXJncyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgZ3JhcGhxbFJlc3VsdDogR3JhcGhRTEluZm9cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICBuYW1lLFxuICBmaWVsZHMsXG4gIHBhcmVudE5hbWUsXG4gIGZvcmNlTnVsbGFibGUgPSBmYWxzZSxcbiAgZ3JhcGhxbFJlc3VsdCxcbiAgY29uZmlnLFxufTogQnVpbGRNdXRhdGlvbklucHV0VHlwZUFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSB7XG4gICAgYXJyYXk6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEFycmF5RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMTGlzdDxHcmFwaFFMVHlwZT4gfCBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIHBhcmVudE5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICBncmFwaHFsUmVzdWx0LFxuICAgICAgICBjb25maWcsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdCh3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsb2NrczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQmxvY2tGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgIH0pLFxuICAgIGNoZWNrYm94OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgfSksXG4gICAgY29kZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgY29sbGFwc2libGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIGRhdGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGVtYWlsOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEdyb3VwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHtcbiAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCF0eXBlKSByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG5cbiAgICAgIGlmIChyZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCkgdHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogSlNPTkZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogTnVtYmVyRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWVsZC5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHBvaW50OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBQb2ludEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuICAgICAgdHlwZSBQYXlsb2FkR3JhcGhRTFJlbGF0aW9uc2hpcFR5cGUgPVxuICAgICAgICB8IEdyYXBoUUxJbnB1dE9iamVjdFR5cGVcbiAgICAgICAgfCBHcmFwaFFMTGlzdDxHcmFwaFFMU2NhbGFyVHlwZT5cbiAgICAgICAgfCBHcmFwaFFMU2NhbGFyVHlwZVxuICAgICAgbGV0IHR5cGU6IFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgICAgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSxcbiAgICAgICAgKX1SZWxhdGlvbnNoaXBJbnB1dGBcbiAgICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICAgICAgbmFtZTogYCR7ZnVsbE5hbWV9UmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiByZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBnZXRDb2xsZWN0aW9uSURUeXBlKFxuICAgICAgICAgIGNvbmZpZy5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIGdyYXBocWxSZXN1bHQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByb3c6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBTZWxlY3RGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9NdXRhdGlvbklucHV0YFxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZVxuICAgICAgdHlwZSA9IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRhYnNGaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLnRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcbiAgICAgICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICghdHlwZSkgcmV0dXJuIGFjY1xuXG4gICAgICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZSB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIC4uLnRhYi5maWVsZHMucmVkdWNlKChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKVxuICAgICAgICAgICAgcmV0dXJuIHN1YkZpZWxkU2NoZW1hXG4gICAgICAgICAgfSwgYWNjKSxcbiAgICAgICAgfVxuICAgICAgfSwgaW5wdXRPYmplY3RUeXBlQ29uZmlnKVxuICAgIH0sXG4gICAgdGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSA/IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMU3RyaW5nKSA6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgdGV4dGFyZWE6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRhcmVhRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB1cGxvYWQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFVwbG9hZEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gIH1cblxuICBjb25zdCBmaWVsZE5hbWUgPSBmb3JtYXROYW1lKG5hbWUpXG5cbiAgY29uc3QgZmllbGRTY2hlbWFzID0gZmllbGRzLnJlZHVjZSgoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgaWYgKHR5cGVvZiBmaWVsZFNjaGVtYSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGlucHV0T2JqZWN0VHlwZUNvbmZpZ1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IGZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpXG4gICAgaWYgKE9iamVjdC5rZXlzKHNjaGVtYSkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIC4uLmZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgIH1cbiAgfSwge30pXG5cbiAgaWYgKE9iamVjdC5rZXlzKGZpZWxkU2NoZW1hcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gICAgbmFtZTogYG11dGF0aW9uJHtmaWVsZE5hbWV9SW5wdXRgLFxuICAgIGZpZWxkczogZmllbGRTY2hlbWFzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTEVudW1UeXBlIiwiR3JhcGhRTEZsb2F0IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIkdyYXBoUUxJbnQiLCJHcmFwaFFMTGlzdCIsIkdyYXBoUUxOb25OdWxsIiwiR3JhcGhRTFN0cmluZyIsIkdyYXBoUUxKU09OIiwiZmllbGRBZmZlY3RzRGF0YSIsIm9wdGlvbklzT2JqZWN0IiwidGFiSGFzTmFtZSIsInRvV29yZHMiLCJncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZCIsImNvbWJpbmVQYXJlbnROYW1lIiwiZm9ybWF0TmFtZSIsIndpdGhOdWxsYWJsZVR5cGUiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJpZEZpZWxkVHlwZXMiLCJudW1iZXIiLCJ0ZXh0IiwiZ2V0Q29sbGVjdGlvbklEVHlwZSIsInR5cGUiLCJjb2xsZWN0aW9uIiwiaWRGaWVsZCIsImZpZWxkcyIsImZpbmQiLCJmaWVsZCIsIm5hbWUiLCJidWlsZE11dGF0aW9uSW5wdXRUeXBlIiwicGFyZW50TmFtZSIsImZvcmNlTnVsbGFibGUiLCJncmFwaHFsUmVzdWx0IiwiY29uZmlnIiwiZmllbGRUb1NjaGVtYU1hcCIsImFycmF5IiwiaW5wdXRPYmplY3RUeXBlQ29uZmlnIiwiZnVsbE5hbWUiLCJibG9ja3MiLCJjaGVja2JveCIsImNvZGUiLCJjb2xsYXBzaWJsZSIsInJlZHVjZSIsImFjYyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsInJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkIiwianNvbiIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlcyIsIm9wdGlvbiIsInZhbHVlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiY29sbGVjdGlvbnMiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsImZvcm1hdHRlZE5hbWUiLCJvcHRpb25zIiwidGFicyIsInRhYiIsInN1YkZpZWxkU2NoZW1hIiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJmaWVsZE5hbWUiLCJmaWVsZFNjaGVtYXMiLCJmaWVsZFNjaGVtYSIsInNjaGVtYSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1QyxHQUd2QyxTQUNFQSxjQUFjLEVBQ2RDLGVBQWUsRUFDZkMsWUFBWSxFQUNaQyxzQkFBc0IsRUFDdEJDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxjQUFjLEVBQ2RDLGFBQWEsUUFD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
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZywgR3JhcGhRTFNjYWxhclR5cGUsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbmZvIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7XG4gIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkLmpzJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZS5qcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lLmpzJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlLmpzJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmNvbnN0IGlkRmllbGRUeXBlcyA9IHtcbiAgbnVtYmVyOiBHcmFwaFFMSW50LFxuICB0ZXh0OiBHcmFwaFFMU3RyaW5nLFxufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGVjdGlvbklEVHlwZSA9IChcbiAgdHlwZToga2V5b2YgdHlwZW9mIGlkRmllbGRUeXBlcyxcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyxcbik6IEdyYXBoUUxTY2FsYXJUeXBlID0+IHtcbiAgY29uc3QgaWRGaWVsZCA9IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcykuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gIClcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3R5cGVdXG4gIH1cblxuICByZXR1cm4gaWRGaWVsZFR5cGVzW2lkRmllbGQudHlwZV1cbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRPYmplY3RUeXBlQ29uZmlnID0ge1xuICBbcGF0aDogc3RyaW5nXTogR3JhcGhRTElucHV0RmllbGRDb25maWdcbn1cblxudHlwZSBCdWlsZE11dGF0aW9uSW5wdXRUeXBlQXJncyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgZ3JhcGhxbFJlc3VsdDogR3JhcGhRTEluZm9cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICBuYW1lLFxuICBmaWVsZHMsXG4gIHBhcmVudE5hbWUsXG4gIGZvcmNlTnVsbGFibGUgPSBmYWxzZSxcbiAgZ3JhcGhxbFJlc3VsdCxcbiAgY29uZmlnLFxufTogQnVpbGRNdXRhdGlvbklucHV0VHlwZUFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSB7XG4gICAgYXJyYXk6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEFycmF5RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMTGlzdDxHcmFwaFFMVHlwZT4gfCBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIHBhcmVudE5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICBncmFwaHFsUmVzdWx0LFxuICAgICAgICBjb25maWcsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdCh3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsb2NrczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQmxvY2tGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgIH0pLFxuICAgIGNoZWNrYm94OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgfSksXG4gICAgY29kZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgY29sbGFwc2libGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIGRhdGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGVtYWlsOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEdyb3VwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHtcbiAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCF0eXBlKSByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG5cbiAgICAgIGlmIChyZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCkgdHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogSlNPTkZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogTnVtYmVyRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWVsZC5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHBvaW50OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBQb2ludEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuICAgICAgdHlwZSBQYXlsb2FkR3JhcGhRTFJlbGF0aW9uc2hpcFR5cGUgPVxuICAgICAgICB8IEdyYXBoUUxJbnB1dE9iamVjdFR5cGVcbiAgICAgICAgfCBHcmFwaFFMTGlzdDxHcmFwaFFMU2NhbGFyVHlwZT5cbiAgICAgICAgfCBHcmFwaFFMU2NhbGFyVHlwZVxuICAgICAgbGV0IHR5cGU6IFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgICAgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSxcbiAgICAgICAgKX1SZWxhdGlvbnNoaXBJbnB1dGBcbiAgICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICAgICAgbmFtZTogYCR7ZnVsbE5hbWV9UmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiByZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBnZXRDb2xsZWN0aW9uSURUeXBlKFxuICAgICAgICAgIGNvbmZpZy5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIGdyYXBocWxSZXN1bHQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByb3c6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBTZWxlY3RGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9NdXRhdGlvbklucHV0YFxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZVxuICAgICAgdHlwZSA9IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRhYnNGaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLnRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcbiAgICAgICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICghdHlwZSkgcmV0dXJuIGFjY1xuXG4gICAgICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZSB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIC4uLnRhYi5maWVsZHMucmVkdWNlKChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKVxuICAgICAgICAgICAgcmV0dXJuIHN1YkZpZWxkU2NoZW1hXG4gICAgICAgICAgfSwgYWNjKSxcbiAgICAgICAgfVxuICAgICAgfSwgaW5wdXRPYmplY3RUeXBlQ29uZmlnKVxuICAgIH0sXG4gICAgdGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSA/IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMU3RyaW5nKSA6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgdGV4dGFyZWE6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRhcmVhRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB1cGxvYWQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFVwbG9hZEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gIH1cblxuICBjb25zdCBmaWVsZE5hbWUgPSBmb3JtYXROYW1lKG5hbWUpXG5cbiAgY29uc3QgZmllbGRTY2hlbWFzID0gZmllbGRzLnJlZHVjZSgoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgaWYgKHR5cGVvZiBmaWVsZFNjaGVtYSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGlucHV0T2JqZWN0VHlwZUNvbmZpZ1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IGZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpXG4gICAgaWYgKE9iamVjdC5rZXlzKHNjaGVtYSkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIC4uLmZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgIH1cbiAgfSwge30pXG5cbiAgaWYgKE9iamVjdC5rZXlzKGZpZWxkU2NoZW1hcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gICAgbmFtZTogYG11dGF0aW9uJHtmaWVsZE5hbWV9SW5wdXRgLFxuICAgIGZpZWxkczogZmllbGRTY2hlbWFzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTEVudW1UeXBlIiwiR3JhcGhRTEZsb2F0IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIkdyYXBoUUxJbnQiLCJHcmFwaFFMTGlzdCIsIkdyYXBoUUxOb25OdWxsIiwiR3JhcGhRTFN0cmluZyIsIkdyYXBoUUxKU09OIiwiZmllbGRBZmZlY3RzRGF0YSIsIm9wdGlvbklzT2JqZWN0IiwidGFiSGFzTmFtZSIsInRvV29yZHMiLCJncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZCIsImNvbWJpbmVQYXJlbnROYW1lIiwiZm9ybWF0TmFtZSIsIndpdGhOdWxsYWJsZVR5cGUiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJpZEZpZWxkVHlwZXMiLCJudW1iZXIiLCJ0ZXh0IiwiZ2V0Q29sbGVjdGlvbklEVHlwZSIsInR5cGUiLCJjb2xsZWN0aW9uIiwiaWRGaWVsZCIsImZpZWxkcyIsImZpbmQiLCJmaWVsZCIsIm5hbWUiLCJidWlsZE11dGF0aW9uSW5wdXRUeXBlIiwicGFyZW50TmFtZSIsImZvcmNlTnVsbGFibGUiLCJncmFwaHFsUmVzdWx0IiwiY29uZmlnIiwiZmllbGRUb1NjaGVtYU1hcCIsImFycmF5IiwiaW5wdXRPYmplY3RUeXBlQ29uZmlnIiwiZnVsbE5hbWUiLCJibG9ja3MiLCJjaGVja2JveCIsImNvZGUiLCJjb2xsYXBzaWJsZSIsInJlZHVjZSIsImFjYyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsInJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkIiwianNvbiIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlcyIsIm9wdGlvbiIsInZhbHVlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiY29sbGVjdGlvbnMiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsImZvcm1hdHRlZE5hbWUiLCJvcHRpb25zIiwidGFicyIsInRhYiIsInN1YkZpZWxkU2NoZW1hIiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJmaWVsZE5hbWUiLCJmaWVsZFNjaGVtYXMiLCJmaWVsZFNjaGVtYSIsInNjaGVtYSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1QyxHQUd2QyxTQUNFQSxjQUFjLEVBQ2RDLGVBQWUsRUFDZkMsWUFBWSxFQUNaQyxzQkFBc0IsRUFDdEJDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxjQUFjLEVB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
|
|
@@ -3,12 +3,12 @@ import { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars';
|
|
|
3
3
|
/* eslint-disable no-use-before-define */ import { GraphQLJSON } from 'graphql-type-json';
|
|
4
4
|
import { tabHasName } from 'payload/types';
|
|
5
5
|
import { toWords } from 'payload/utilities';
|
|
6
|
-
import combineParentName from '../utilities/combineParentName';
|
|
7
|
-
import formatName from '../utilities/formatName';
|
|
8
|
-
import formatOptions from '../utilities/formatOptions';
|
|
9
|
-
import buildWhereInputType from './buildWhereInputType';
|
|
10
|
-
import isFieldNullable from './isFieldNullable';
|
|
11
|
-
import withNullableType from './withNullableType';
|
|
6
|
+
import combineParentName from '../utilities/combineParentName.js';
|
|
7
|
+
import formatName from '../utilities/formatName.js';
|
|
8
|
+
import formatOptions from '../utilities/formatOptions.js';
|
|
9
|
+
import buildWhereInputType from './buildWhereInputType.js';
|
|
10
|
+
import isFieldNullable from './isFieldNullable.js';
|
|
11
|
+
import withNullableType from './withNullableType.js';
|
|
12
12
|
function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentName, graphqlResult, config }) {
|
|
13
13
|
const fieldToSchemaMap = {
|
|
14
14
|
array: (objectTypeConfig, field)=>{
|
|
@@ -490,4 +490,4 @@ function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentN
|
|
|
490
490
|
}
|
|
491
491
|
export default buildObjectType;
|
|
492
492
|
|
|
493
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRPYmplY3RUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tYXdhaXQtaW4tbG9vcCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEZpZWxkQ29uZmlnLCBHcmFwaFFMVHlwZSB9IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMRW51bVR5cGUsXG4gIEdyYXBoUUxGbG9hdCxcbiAgR3JhcGhRTEludCxcbiAgR3JhcGhRTExpc3QsXG4gIEdyYXBoUUxOb25OdWxsLFxuICBHcmFwaFFMT2JqZWN0VHlwZSxcbiAgR3JhcGhRTFN0cmluZyxcbiAgR3JhcGhRTFVuaW9uVHlwZSxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IERhdGVUaW1lUmVzb2x2ZXIsIEVtYWlsQWRkcmVzc1Jlc29sdmVyIH0gZnJvbSAnZ3JhcGhxbC1zY2FsYXJzJ1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEluZm8gfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgUmljaFRleHRBZGFwdGVyLFxuICBTYW5pdGl6ZWRDb25maWcsXG4gIEFycmF5RmllbGQsXG4gIEJsb2NrRmllbGQsXG4gIENoZWNrYm94RmllbGQsXG4gIENvZGVGaWVsZCxcbiAgQ29sbGFwc2libGVGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBFbWFpbEZpZWxkLFxuICBGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCBjb21iaW5lUGFyZW50TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZVBhcmVudE5hbWUnXG5pbXBvcnQgZm9ybWF0TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TmFtZSdcbmltcG9ydCBmb3JtYXRPcHRpb25zIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRPcHRpb25zJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi9idWlsZFdoZXJlSW5wdXRUeXBlJ1xuaW1wb3J0IGlzRmllbGROdWxsYWJsZSBmcm9tICcuL2lzRmllbGROdWxsYWJsZSdcbmltcG9ydCB3aXRoTnVsbGFibGVUeXBlIGZyb20gJy4vd2l0aE51bGxhYmxlVHlwZSdcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9yZXNvbHZlcnMvdHlwZXMnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBncmFwaHFsUmVzdWx0OiBHcmFwaFFMSW5mb1xuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xufVxuXG5mdW5jdGlvbiBidWlsZE9iamVjdFR5cGUoe1xuICBuYW1lLFxuICBiYXNlRmllbGRzID0ge30sXG4gIGZpZWxkcyxcbiAgZm9yY2VOdWxsYWJsZSxcbiAgcGFyZW50TmFtZSxcbiAgZ3JhcGhxbFJlc3VsdCxcbiAgY29uZmlnLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0VHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG9iamVjdFR5cGUuZ2V0RmllbGRzKCkpLmxlbmd0aCkge1xuICAgICAgICAgIGdyYXBocWxSZXN1bHQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IG9iamVjdFR5cGVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWdyYXBocWxSZXN1bHQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhcnJheVR5cGUgPSBuZXcgR3JhcGhRTExpc3QoXG4gICAgICAgIG5ldyBHcmFwaFFMTm9uTnVsbChncmFwaHFsUmVzdWx0LnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXM6IEdyYXBoUUxPYmplY3RUeXBlPGFueSwgYW55PltdID0gZmllbGQuYmxvY2tzLnJlZHVjZSgoYWNjLCBibG9jaykgPT4ge1xuICAgICAgICBpZiAoIWdyYXBocWxSZXN1bHQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG5cbiAgICAgICAgICBjb25zdCBvYmplY3RUeXBlID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG9iamVjdFR5cGUuZ2V0RmllbGRzKCkpLmxlbmd0aCkge1xuICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gb2JqZWN0VHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbYmxvY2suc2x1Z10pIHtcbiAgICAgICAgICBhY2MucHVzaChncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbYmxvY2suc2x1Z10pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSlcblxuICAgICAgaWYgKGJsb2NrVHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgY29uc3QgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdChcbiAgICAgICAgbmV3IEdyYXBoUUxOb25OdWxsKFxuICAgICAgICAgIG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICAgICAgcmVzb2x2ZVR5cGU6IChkYXRhKSA9PiBncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbZGF0YS5ibG9ja1R5cGVdLm5hbWUsXG4gICAgICAgICAgICB0eXBlczogYmxvY2tUeXBlcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUpIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBjaGVja2JveDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMQm9vbGVhbiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBjb2RlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvZGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBjb2xsYXBzaWJsZTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKG9iamVjdFR5cGVDb25maWdXaXRoQ29sbGFwc2libGVGaWVsZHMsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgZGF0ZTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBEYXRlRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIERhdGVUaW1lUmVzb2x2ZXIsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZW1haWw6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogRW1haWxGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRW1haWxBZGRyZXNzUmVzb2x2ZXIsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogR3JvdXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgaW50ZXJmYWNlTmFtZSA9XG4gICAgICAgIGZpZWxkPy5pbnRlcmZhY2VOYW1lIHx8IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG5cbiAgICAgIGlmICghZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdKSB7XG4gICAgICAgIGNvbnN0IG9iamVjdFR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZTogaXNGaWVsZE51bGxhYmxlKGZpZWxkLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhvYmplY3RUeXBlLmdldEZpZWxkcygpKS5sZW5ndGgpIHtcbiAgICAgICAgICBncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0gPSBvYmplY3RUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gZ3JhcGhxbFJlc3VsdC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKGNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQXJncy5sb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5sb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cblxuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmZhbGxiYWNrTG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0ge1xuICAgICAgICBhcmdzOiByZWxhdGlvbnNoaXBBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDEwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0OiBDb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBsZXQgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICAgICAgaWYgKGhhc01hbnlWYWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UHJvbWlzZXMgPSBbXVxuXG4gICAgICAgICAgICBjb25zdCBjcmVhdGVQb3B1bGF0aW9uUHJvbWlzZSA9IGFzeW5jIChyZWxhdGVkRG9jLCBpKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBpZCA9IHJlbGF0ZWREb2NcbiAgICAgICAgICAgICAgbGV0IGNvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnID0gcmVsYXRlZERvYy5yZWxhdGlvblRvXG4gICAgICAgICAgICAgICAgaWQgPSByZWxhdGVkRG9jLnZhbHVlXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb250ZXh0LnJlcS5wYXlsb2FkRGF0YUxvYWRlci5sb2FkKFxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRzW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSByZXN1bHRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHRQcm9taXNlcy5wdXNoKGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlKHJlbGF0ZWREb2MsIGkpKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChyZXN1bHRQcm9taXNlcylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGlkID0gdmFsdWVcbiAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgIGlkID0gdmFsdWUudmFsdWVcbiAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IHZhbHVlLnJlbGF0aW9uVG9cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgaWYgKHJlbGF0ZWREb2N1bWVudCkge1xuICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVsYXRlZERvY3VtZW50LFxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiByZWxhdGVkRG9jdW1lbnRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGhhc01hbnlWYWx1ZXMgPyBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpKSA6IHR5cGUsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiByZWxhdGlvbnNoaXAsXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSaWNoVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXToge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgZGVwdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxJbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQ6IENvbnRleHQpIHtcbiAgICAgICAgICBsZXQgZGVwdGggPSBjb25maWcuZGVmYXVsdERlcHRoXG4gICAgICAgICAgaWYgKHR5cGVvZiBhcmdzLmRlcHRoICE9PSAndW5kZWZpbmVkJykgZGVwdGggPSBhcmdzLmRlcHRoXG4gICAgICAgICAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBmaWVsZD8uZWRpdG9yXG5cbiAgICAgICAgICAvLyBSaWNoVGV4dCBmaWVsZHMgaGF2ZSB0aGVpciBvd24gZGVwdGggYXJndW1lbnQgaW4gR3JhcGhRTC5cbiAgICAgICAgICAvLyBUaGlzIGlzIHdoeSB0aGUgcG9wdWxhdGlvblByb21pc2UgKHdoaWNoIHBvcHVsYXRlcyByaWNodGV4dCBmaWVsZHMgbGlrZSB1cGxvYWRzIGFuZCByZWxhdGlvbnNoaXBzKVxuICAgICAgICAgIC8vIGlzIHJ1biBoZXJlIGFnYWluLCB3aXRoIHRoZSBwcm92aWRlZCBkZXB0aC5cbiAgICAgICAgICAvLyBJbiB0aGUgZ3JhcGhxbCBmaW5kLnRzIHJlc29sdmVyLCB0aGUgZGVwdGggaXMgdGhlbiBoYXJkLWNvZGVkIHRvIDAuXG4gICAgICAgICAgLy8gRWZmZWN0aXZlbHksIHRoaXMgbWVhbnMgdGhhdCB0aGUgcG9wdWxhdGlvblByb21pc2UgZm9yIEdyYXBoUUwgaXMgb25seSBydW4gaGVyZSwgYW5kIG5vdCBpbiB0aGUgZmluZC50cyByZXNvbHZlciAvIG5vcm1hbCBwb3B1bGF0aW9uIHByb21pc2UuXG4gICAgICAgICAgaWYgKGVkaXRvcj8ucG9wdWxhdGlvblByb21pc2UpIHtcbiAgICAgICAgICAgIGF3YWl0IGVkaXRvcj8ucG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGZpbmRNYW55OiBmYWxzZSxcbiAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXM6IGZhbHNlLFxuICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzczogZmFsc2UsXG4gICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW10sXG4gICAgICAgICAgICAgIHJlcTogY29udGV4dC5yZXEsXG4gICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IGZhbHNlLFxuICAgICAgICAgICAgICBzaWJsaW5nRG9jOiBwYXJlbnQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTEpTT04sIGZvcmNlTnVsbGFibGUpLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICByb3c6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUm93RmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKG9iamVjdFR5cGVDb25maWdXaXRoUm93RmllbGRzLCBzdWJGaWVsZClcbiAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdXaXRoUm93RmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBzZWxlY3Q6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogU2VsZWN0RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSlcblxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICB2YWx1ZXM6IGZvcm1hdE9wdGlvbnMoZmllbGQpLFxuICAgICAgfSlcblxuICAgICAgdHlwZSA9IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpKSA6IHR5cGVcbiAgICAgIHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdGFiczogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUYWJzRmllbGQpID0+XG4gICAgICBmaWVsZC50YWJzLnJlZHVjZSgodGFiU2NoZW1hLCB0YWIpID0+IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgdGFiPy5pbnRlcmZhY2VOYW1lIHx8IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHModGFiLm5hbWUsIHRydWUpKVxuXG4gICAgICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdFR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICAgICAgICBuYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhvYmplY3RUeXBlLmdldEZpZWxkcygpKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdID0gb2JqZWN0VHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGFiU2NoZW1hXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRhYlNjaGVtYSxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWJTY2hlbWEsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCB0YWJTY2hlbWEpLFxuICAgICAgICB9XG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICB0ZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxTdHJpbmcpIDogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0YXJlYUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBVcGxvYWRGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuXG4gICAgICBjb25zdCB1cGxvYWROYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgLy8gSWYgdGhlIHJlbGF0aW9uc2hpcFR5cGUgaXMgdW5kZWZpbmVkIGF0IHRoaXMgcG9pbnQsXG4gICAgICAvLyBpdCBjYW4gYmUgYXNzdW1lZCB0aGF0IHRoaXMgYmxvY2tUeXBlIGNhbiBoYXZlIGEgcmVsYXRpb25zaGlwXG4gICAgICAvLyB0byBpdHNlbGYuIFRoZXJlZm9yZSwgd2Ugc2V0IHRoZSByZWxhdGlvbnNoaXBUeXBlIGVxdWFsIHRvIHRoZSBibG9ja1R5cGVcbiAgICAgIC8vIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGNyZWF0ZWQuXG5cbiAgICAgIGNvbnN0IHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5ncmFwaFFMLnR5cGUgfHwgbmV3bHlDcmVhdGVkQmxvY2tUeXBlLFxuICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgKVxuXG4gICAgICBjb25zdCB1cGxvYWRBcmdzID0ge30gYXMgTG9jYWxlSW5wdXRUeXBlXG5cbiAgICAgIGlmIChjb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgIHVwbG9hZEFyZ3MubG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMubG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG5cbiAgICAgICAgdXBsb2FkQXJncy5mYWxsYmFja0xvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IGZpZWxkLnJlbGF0aW9uVG9cblxuICAgICAgY29uc3QgdXBsb2FkID0ge1xuICAgICAgICBhcmdzOiB1cGxvYWRBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDIwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0OiBDb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBjb25zdCBpZCA9IHZhbHVlXG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudCB8fCBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZSxcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2hlcmVGaWVsZHMgPSBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmNvbmZpZy5maWVsZHNcblxuICAgICAgdXBsb2FkLmFyZ3Mud2hlcmUgPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgIG5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgZmllbGRzOiB3aGVyZUZpZWxkcyxcbiAgICAgICAgICBwYXJlbnROYW1lOiB1cGxvYWROYW1lLFxuICAgICAgICB9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB1cGxvYWQsXG4gICAgICB9XG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0IG9iamVjdFNjaGVtYSA9IHtcbiAgICBuYW1lLFxuICAgIGZpZWxkczogKCkgPT5cbiAgICAgIGZpZWxkcy5yZWR1Y2UoKG9iamVjdFR5cGVDb25maWcsIGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRTY2hlbWEgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICAgIC4uLmZpZWxkU2NoZW1hKG9iamVjdFR5cGVDb25maWcsIGZpZWxkKSxcbiAgICAgICAgfVxuICAgICAgfSwgYmFzZUZpZWxkcyksXG4gIH1cblxuICBjb25zdCBuZXdseUNyZWF0ZWRCbG9ja1R5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUob2JqZWN0U2NoZW1hKVxuXG4gIHJldHVybiBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRPYmplY3RUeXBlXG4iXSwibmFtZXMiOlsiR3JhcGhRTEJvb2xlYW4iLCJHcmFwaFFMRW51bVR5cGUiLCJHcmFwaFFMRmxvYXQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTExpc3QiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiR3JhcGhRTFN0cmluZyIsIkdyYXBoUUxVbmlvblR5cGUiLCJEYXRlVGltZVJlc29sdmVyIiwiRW1haWxBZGRyZXNzUmVzb2x2ZXIiLCJHcmFwaFFMSlNPTiIsInRhYkhhc05hbWUiLCJ0b1dvcmRzIiwiY29tYmluZVBhcmVudE5hbWUiLCJmb3JtYXROYW1lIiwiZm9ybWF0T3B0aW9ucyIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJpc0ZpZWxkTnVsbGFibGUiLCJ3aXRoTnVsbGFibGVUeXBlIiwiYnVpbGRPYmplY3RUeXBlIiwibmFtZSIsImJhc2VGaWVsZHMiLCJmaWVsZHMiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsImdyYXBocWxSZXN1bHQiLCJjb25maWciLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJvYmplY3RUeXBlQ29uZmlnIiwiZmllbGQiLCJpbnRlcmZhY2VOYW1lIiwidHlwZXMiLCJhcnJheVR5cGVzIiwib2JqZWN0VHlwZSIsIk9iamVjdCIsImtleXMiLCJnZXRGaWVsZHMiLCJsZW5ndGgiLCJhcnJheVR5cGUiLCJ0eXBlIiwiYmxvY2tzIiwiYmxvY2tUeXBlcyIsInJlZHVjZSIsImFjYyIsImJsb2NrIiwic2x1ZyIsImdyYXBoUUwiLCJzaW5ndWxhck5hbWUiLCJwdXNoIiwiZnVsbE5hbWUiLCJyZXNvbHZlVHlwZSIsImRhdGEiLCJibG9ja1R5cGUiLCJjaGVja2JveCIsImNvZGUiLCJjb2xsYXBzaWJsZSIsIm9iamVjdFR5cGVDb25maWdXaXRoQ29sbGFwc2libGVGaWVsZHMiLCJzdWJGaWVsZCIsImFkZFN1YkZpZWxkIiwiZGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJncm91cFR5cGVzIiwianNvbiIsIm51bWJlciIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwidmFsdWVzIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsImlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFzTWFueVZhbHVlcyIsInJlbGF0aW9uc2hpcE5hbWUiLCJyZWxhdGlvblRvVHlwZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uIiwidmFsdWUiLCJtYXAiLCJjb2xsZWN0aW9ucyIsInJlcSIsImNvbGxlY3Rpb24iLCJuZXdseUNyZWF0ZWRCbG9ja1R5cGUiLCJyZWxhdGlvbnNoaXBBcmdzIiwibG9jYWxpemF0aW9uIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwiZmFsbGJhY2tMb2NhbGUiLCJmYWxsYmFja0xvY2FsZUlucHV0VHlwZSIsImFyZ3MiLCJleHRlbnNpb25zIiwiY29tcGxleGl0eSIsInJlc29sdmUiLCJwYXJlbnQiLCJjb250ZXh0IiwicmVsYXRlZENvbGxlY3Rpb25TbHVnIiwicmVzdWx0cyIsInJlc3VsdFByb21pc2VzIiwiY3JlYXRlUG9wdWxhdGlvblByb21pc2UiLCJyZWxhdGVkRG9jIiwiaSIsImlkIiwiY29sbGVjdGlvblNsdWciLCJyZXN1bHQiLCJwYXlsb2FkRGF0YUxvYWRlciIsImxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHJhbnNhY3Rpb25JRCIsImZvckVhY2giLCJQcm9taXNlIiwiYWxsIiwicmVsYXRlZERvY3VtZW50IiwicmljaFRleHQiLCJkZXB0aCIsImRlZmF1bHREZXB0aCIsImVkaXRvciIsInBvcHVsYXRpb25Qcm9taXNlIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJyb3ciLCJvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcyIsInNlbGVjdCIsInRhYnMiLCJ0YWJTY2hlbWEiLCJ0YWIiLCJzdWJGaWVsZFNjaGVtYSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsInVwbG9hZE5hbWUiLCJ1cGxvYWRBcmdzIiwid2hlcmVGaWVsZHMiLCJ3aGVyZSIsIm9iamVjdFNjaGVtYSIsImZpZWxkU2NoZW1hIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQsR0FDMUQsbUNBQW1DLEdBQ25DLHVDQUF1QyxHQUd2QyxTQUNFQSxjQUFjLEVBQ2RDLGVBQWUsRUFDZkMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsZ0JBQWdCLFFBQ1gsVUFBUztBQUNoQixTQUFTQyxnQkFBZ0IsRUFBRUMsb0JBQW9CLFFBQVEsa0JBQWlCO0FBQ3hFLHVDQUF1QyxHQUN2QyxTQUFTQyxXQUFXLFFBQVEsb0JBQW1CO0FBNkIvQyxTQUFTQyxVQUFVLFFBQVEsZ0JBQWU7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUMzQyxPQUFPQyx1QkFBdUIsaUNBQWdDO0FBQzlELE9BQU9DLGdCQUFnQiwwQkFBeUI7QUFDaEQsT0FBT0MsbUJBQW1CLDZCQUE0QjtBQUN0RCxPQUFPQyx5QkFBeUIsd0JBQXVCO0FBQ3ZELE9BQU9DLHFCQUFxQixvQkFBbUI7QUFDL0MsT0FBT0Msc0JBQXNCLHFCQUFvQjtBQTZC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
|
|
493
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRPYmplY3RUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tYXdhaXQtaW4tbG9vcCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEZpZWxkQ29uZmlnLCBHcmFwaFFMVHlwZSB9IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMRW51bVR5cGUsXG4gIEdyYXBoUUxGbG9hdCxcbiAgR3JhcGhRTEludCxcbiAgR3JhcGhRTExpc3QsXG4gIEdyYXBoUUxOb25OdWxsLFxuICBHcmFwaFFMT2JqZWN0VHlwZSxcbiAgR3JhcGhRTFN0cmluZyxcbiAgR3JhcGhRTFVuaW9uVHlwZSxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IERhdGVUaW1lUmVzb2x2ZXIsIEVtYWlsQWRkcmVzc1Jlc29sdmVyIH0gZnJvbSAnZ3JhcGhxbC1zY2FsYXJzJ1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEluZm8gfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgUmljaFRleHRBZGFwdGVyLFxuICBTYW5pdGl6ZWRDb25maWcsXG4gIEFycmF5RmllbGQsXG4gIEJsb2NrRmllbGQsXG4gIENoZWNrYm94RmllbGQsXG4gIENvZGVGaWVsZCxcbiAgQ29sbGFwc2libGVGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBFbWFpbEZpZWxkLFxuICBGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCBjb21iaW5lUGFyZW50TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZVBhcmVudE5hbWUuanMnXG5pbXBvcnQgZm9ybWF0TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TmFtZS5qcydcbmltcG9ydCBmb3JtYXRPcHRpb25zIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXRPcHRpb25zLmpzJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi9idWlsZFdoZXJlSW5wdXRUeXBlLmpzJ1xuaW1wb3J0IGlzRmllbGROdWxsYWJsZSBmcm9tICcuL2lzRmllbGROdWxsYWJsZS5qcydcbmltcG9ydCB3aXRoTnVsbGFibGVUeXBlIGZyb20gJy4vd2l0aE51bGxhYmxlVHlwZS5qcydcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9yZXNvbHZlcnMvdHlwZXMuanMnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBncmFwaHFsUmVzdWx0OiBHcmFwaFFMSW5mb1xuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xufVxuXG5mdW5jdGlvbiBidWlsZE9iamVjdFR5cGUoe1xuICBuYW1lLFxuICBiYXNlRmllbGRzID0ge30sXG4gIGZpZWxkcyxcbiAgZm9yY2VOdWxsYWJsZSxcbiAgcGFyZW50TmFtZSxcbiAgZ3JhcGhxbFJlc3VsdCxcbiAgY29uZmlnLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0VHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG9iamVjdFR5cGUuZ2V0RmllbGRzKCkpLmxlbmd0aCkge1xuICAgICAgICAgIGdyYXBocWxSZXN1bHQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IG9iamVjdFR5cGVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWdyYXBocWxSZXN1bHQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhcnJheVR5cGUgPSBuZXcgR3JhcGhRTExpc3QoXG4gICAgICAgIG5ldyBHcmFwaFFMTm9uTnVsbChncmFwaHFsUmVzdWx0LnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXM6IEdyYXBoUUxPYmplY3RUeXBlPGFueSwgYW55PltdID0gZmllbGQuYmxvY2tzLnJlZHVjZSgoYWNjLCBibG9jaykgPT4ge1xuICAgICAgICBpZiAoIWdyYXBocWxSZXN1bHQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG5cbiAgICAgICAgICBjb25zdCBvYmplY3RUeXBlID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG9iamVjdFR5cGUuZ2V0RmllbGRzKCkpLmxlbmd0aCkge1xuICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gb2JqZWN0VHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbYmxvY2suc2x1Z10pIHtcbiAgICAgICAgICBhY2MucHVzaChncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbYmxvY2suc2x1Z10pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSlcblxuICAgICAgaWYgKGJsb2NrVHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgY29uc3QgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdChcbiAgICAgICAgbmV3IEdyYXBoUUxOb25OdWxsKFxuICAgICAgICAgIG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICAgICAgcmVzb2x2ZVR5cGU6IChkYXRhKSA9PiBncmFwaHFsUmVzdWx0LnR5cGVzLmJsb2NrVHlwZXNbZGF0YS5ibG9ja1R5cGVdLm5hbWUsXG4gICAgICAgICAgICB0eXBlczogYmxvY2tUeXBlcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUpIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBjaGVja2JveDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMQm9vbGVhbiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBjb2RlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvZGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBjb2xsYXBzaWJsZTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKG9iamVjdFR5cGVDb25maWdXaXRoQ29sbGFwc2libGVGaWVsZHMsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgZGF0ZTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBEYXRlRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIERhdGVUaW1lUmVzb2x2ZXIsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZW1haWw6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogRW1haWxGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRW1haWxBZGRyZXNzUmVzb2x2ZXIsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogR3JvdXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgaW50ZXJmYWNlTmFtZSA9XG4gICAgICAgIGZpZWxkPy5pbnRlcmZhY2VOYW1lIHx8IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG5cbiAgICAgIGlmICghZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdKSB7XG4gICAgICAgIGNvbnN0IG9iamVjdFR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZTogaXNGaWVsZE51bGxhYmxlKGZpZWxkLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhvYmplY3RUeXBlLmdldEZpZWxkcygpKS5sZW5ndGgpIHtcbiAgICAgICAgICBncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0gPSBvYmplY3RUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gZ3JhcGhxbFJlc3VsdC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKGNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQXJncy5sb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5sb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cblxuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmZhbGxiYWNrTG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0ge1xuICAgICAgICBhcmdzOiByZWxhdGlvbnNoaXBBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDEwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0OiBDb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBsZXQgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICAgICAgaWYgKGhhc01hbnlWYWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UHJvbWlzZXMgPSBbXVxuXG4gICAgICAgICAgICBjb25zdCBjcmVhdGVQb3B1bGF0aW9uUHJvbWlzZSA9IGFzeW5jIChyZWxhdGVkRG9jLCBpKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBpZCA9IHJlbGF0ZWREb2NcbiAgICAgICAgICAgICAgbGV0IGNvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnID0gcmVsYXRlZERvYy5yZWxhdGlvblRvXG4gICAgICAgICAgICAgICAgaWQgPSByZWxhdGVkRG9jLnZhbHVlXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb250ZXh0LnJlcS5wYXlsb2FkRGF0YUxvYWRlci5sb2FkKFxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRzW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSByZXN1bHRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHRQcm9taXNlcy5wdXNoKGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlKHJlbGF0ZWREb2MsIGkpKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChyZXN1bHRQcm9taXNlcylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGlkID0gdmFsdWVcbiAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgIGlkID0gdmFsdWUudmFsdWVcbiAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IHZhbHVlLnJlbGF0aW9uVG9cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgaWYgKHJlbGF0ZWREb2N1bWVudCkge1xuICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVsYXRlZERvY3VtZW50LFxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiByZWxhdGVkRG9jdW1lbnRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGhhc01hbnlWYWx1ZXMgPyBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpKSA6IHR5cGUsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiByZWxhdGlvbnNoaXAsXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSaWNoVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXToge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgZGVwdGg6IHtcbiAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxJbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQ6IENvbnRleHQpIHtcbiAgICAgICAgICBsZXQgZGVwdGggPSBjb25maWcuZGVmYXVsdERlcHRoXG4gICAgICAgICAgaWYgKHR5cGVvZiBhcmdzLmRlcHRoICE9PSAndW5kZWZpbmVkJykgZGVwdGggPSBhcmdzLmRlcHRoXG4gICAgICAgICAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBmaWVsZD8uZWRpdG9yXG5cbiAgICAgICAgICAvLyBSaWNoVGV4dCBmaWVsZHMgaGF2ZSB0aGVpciBvd24gZGVwdGggYXJndW1lbnQgaW4gR3JhcGhRTC5cbiAgICAgICAgICAvLyBUaGlzIGlzIHdoeSB0aGUgcG9wdWxhdGlvblByb21pc2UgKHdoaWNoIHBvcHVsYXRlcyByaWNodGV4dCBmaWVsZHMgbGlrZSB1cGxvYWRzIGFuZCByZWxhdGlvbnNoaXBzKVxuICAgICAgICAgIC8vIGlzIHJ1biBoZXJlIGFnYWluLCB3aXRoIHRoZSBwcm92aWRlZCBkZXB0aC5cbiAgICAgICAgICAvLyBJbiB0aGUgZ3JhcGhxbCBmaW5kLnRzIHJlc29sdmVyLCB0aGUgZGVwdGggaXMgdGhlbiBoYXJkLWNvZGVkIHRvIDAuXG4gICAgICAgICAgLy8gRWZmZWN0aXZlbHksIHRoaXMgbWVhbnMgdGhhdCB0aGUgcG9wdWxhdGlvblByb21pc2UgZm9yIEdyYXBoUUwgaXMgb25seSBydW4gaGVyZSwgYW5kIG5vdCBpbiB0aGUgZmluZC50cyByZXNvbHZlciAvIG5vcm1hbCBwb3B1bGF0aW9uIHByb21pc2UuXG4gICAgICAgICAgaWYgKGVkaXRvcj8ucG9wdWxhdGlvblByb21pc2UpIHtcbiAgICAgICAgICAgIGF3YWl0IGVkaXRvcj8ucG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGZpbmRNYW55OiBmYWxzZSxcbiAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXM6IGZhbHNlLFxuICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzczogZmFsc2UsXG4gICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW10sXG4gICAgICAgICAgICAgIHJlcTogY29udGV4dC5yZXEsXG4gICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IGZhbHNlLFxuICAgICAgICAgICAgICBzaWJsaW5nRG9jOiBwYXJlbnQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTEpTT04sIGZvcmNlTnVsbGFibGUpLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICByb3c6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUm93RmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKG9iamVjdFR5cGVDb25maWdXaXRoUm93RmllbGRzLCBzdWJGaWVsZClcbiAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdXaXRoUm93RmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBzZWxlY3Q6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogU2VsZWN0RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSlcblxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICB2YWx1ZXM6IGZvcm1hdE9wdGlvbnMoZmllbGQpLFxuICAgICAgfSlcblxuICAgICAgdHlwZSA9IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpKSA6IHR5cGVcbiAgICAgIHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdGFiczogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUYWJzRmllbGQpID0+XG4gICAgICBmaWVsZC50YWJzLnJlZHVjZSgodGFiU2NoZW1hLCB0YWIpID0+IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgdGFiPy5pbnRlcmZhY2VOYW1lIHx8IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHModGFiLm5hbWUsIHRydWUpKVxuXG4gICAgICAgICAgaWYgKCFncmFwaHFsUmVzdWx0LnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdFR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICAgICAgICBuYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhvYmplY3RUeXBlLmdldEZpZWxkcygpKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdID0gb2JqZWN0VHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGFiU2NoZW1hXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRhYlNjaGVtYSxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5ncm91cFR5cGVzW2ludGVyZmFjZU5hbWVdIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWJTY2hlbWEsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCB0YWJTY2hlbWEpLFxuICAgICAgICB9XG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICB0ZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxTdHJpbmcpIDogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0YXJlYUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBVcGxvYWRGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuXG4gICAgICBjb25zdCB1cGxvYWROYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgLy8gSWYgdGhlIHJlbGF0aW9uc2hpcFR5cGUgaXMgdW5kZWZpbmVkIGF0IHRoaXMgcG9pbnQsXG4gICAgICAvLyBpdCBjYW4gYmUgYXNzdW1lZCB0aGF0IHRoaXMgYmxvY2tUeXBlIGNhbiBoYXZlIGEgcmVsYXRpb25zaGlwXG4gICAgICAvLyB0byBpdHNlbGYuIFRoZXJlZm9yZSwgd2Ugc2V0IHRoZSByZWxhdGlvbnNoaXBUeXBlIGVxdWFsIHRvIHRoZSBibG9ja1R5cGVcbiAgICAgIC8vIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGNyZWF0ZWQuXG5cbiAgICAgIGNvbnN0IHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5ncmFwaFFMLnR5cGUgfHwgbmV3bHlDcmVhdGVkQmxvY2tUeXBlLFxuICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgKVxuXG4gICAgICBjb25zdCB1cGxvYWRBcmdzID0ge30gYXMgTG9jYWxlSW5wdXRUeXBlXG5cbiAgICAgIGlmIChjb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgIHVwbG9hZEFyZ3MubG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQudHlwZXMubG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG5cbiAgICAgICAgdXBsb2FkQXJncy5mYWxsYmFja0xvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IGZpZWxkLnJlbGF0aW9uVG9cblxuICAgICAgY29uc3QgdXBsb2FkID0ge1xuICAgICAgICBhcmdzOiB1cGxvYWRBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDIwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0OiBDb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBjb25zdCBpZCA9IHZhbHVlXG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudCB8fCBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZSxcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2hlcmVGaWVsZHMgPSBncmFwaHFsUmVzdWx0LmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmNvbmZpZy5maWVsZHNcblxuICAgICAgdXBsb2FkLmFyZ3Mud2hlcmUgPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgIG5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgZmllbGRzOiB3aGVyZUZpZWxkcyxcbiAgICAgICAgICBwYXJlbnROYW1lOiB1cGxvYWROYW1lLFxuICAgICAgICB9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB1cGxvYWQsXG4gICAgICB9XG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0IG9iamVjdFNjaGVtYSA9IHtcbiAgICBuYW1lLFxuICAgIGZpZWxkczogKCkgPT5cbiAgICAgIGZpZWxkcy5yZWR1Y2UoKG9iamVjdFR5cGVDb25maWcsIGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRTY2hlbWEgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0VHlwZUNvbmZpZ1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICAgIC4uLmZpZWxkU2NoZW1hKG9iamVjdFR5cGVDb25maWcsIGZpZWxkKSxcbiAgICAgICAgfVxuICAgICAgfSwgYmFzZUZpZWxkcyksXG4gIH1cblxuICBjb25zdCBuZXdseUNyZWF0ZWRCbG9ja1R5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUob2JqZWN0U2NoZW1hKVxuXG4gIHJldHVybiBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRPYmplY3RUeXBlXG4iXSwibmFtZXMiOlsiR3JhcGhRTEJvb2xlYW4iLCJHcmFwaFFMRW51bVR5cGUiLCJHcmFwaFFMRmxvYXQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTExpc3QiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiR3JhcGhRTFN0cmluZyIsIkdyYXBoUUxVbmlvblR5cGUiLCJEYXRlVGltZVJlc29sdmVyIiwiRW1haWxBZGRyZXNzUmVzb2x2ZXIiLCJHcmFwaFFMSlNPTiIsInRhYkhhc05hbWUiLCJ0b1dvcmRzIiwiY29tYmluZVBhcmVudE5hbWUiLCJmb3JtYXROYW1lIiwiZm9ybWF0T3B0aW9ucyIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJpc0ZpZWxkTnVsbGFibGUiLCJ3aXRoTnVsbGFibGVUeXBlIiwiYnVpbGRPYmplY3RUeXBlIiwibmFtZSIsImJhc2VGaWVsZHMiLCJmaWVsZHMiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsImdyYXBocWxSZXN1bHQiLCJjb25maWciLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJvYmplY3RUeXBlQ29uZmlnIiwiZmllbGQiLCJpbnRlcmZhY2VOYW1lIiwidHlwZXMiLCJhcnJheVR5cGVzIiwib2JqZWN0VHlwZSIsIk9iamVjdCIsImtleXMiLCJnZXRGaWVsZHMiLCJsZW5ndGgiLCJhcnJheVR5cGUiLCJ0eXBlIiwiYmxvY2tzIiwiYmxvY2tUeXBlcyIsInJlZHVjZSIsImFjYyIsImJsb2NrIiwic2x1ZyIsImdyYXBoUUwiLCJzaW5ndWxhck5hbWUiLCJwdXNoIiwiZnVsbE5hbWUiLCJyZXNvbHZlVHlwZSIsImRhdGEiLCJibG9ja1R5cGUiLCJjaGVja2JveCIsImNvZGUiLCJjb2xsYXBzaWJsZSIsIm9iamVjdFR5cGVDb25maWdXaXRoQ29sbGFwc2libGVGaWVsZHMiLCJzdWJGaWVsZCIsImFkZFN1YkZpZWxkIiwiZGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJncm91cFR5cGVzIiwianNvbiIsIm51bWJlciIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwidmFsdWVzIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsImlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFzTWFueVZhbHVlcyIsInJlbGF0aW9uc2hpcE5hbWUiLCJyZWxhdGlvblRvVHlwZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uIiwidmFsdWUiLCJtYXAiLCJjb2xsZWN0aW9ucyIsInJlcSIsImNvbGxlY3Rpb24iLCJuZXdseUNyZWF0ZWRCbG9ja1R5cGUiLCJyZWxhdGlvbnNoaXBBcmdzIiwibG9jYWxpemF0aW9uIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwiZmFsbGJhY2tMb2NhbGUiLCJmYWxsYmFja0xvY2FsZUlucHV0VHlwZSIsImFyZ3MiLCJleHRlbnNpb25zIiwiY29tcGxleGl0eSIsInJlc29sdmUiLCJwYXJlbnQiLCJjb250ZXh0IiwicmVsYXRlZENvbGxlY3Rpb25TbHVnIiwicmVzdWx0cyIsInJlc3VsdFByb21pc2VzIiwiY3JlYXRlUG9wdWxhdGlvblByb21pc2UiLCJyZWxhdGVkRG9jIiwiaSIsImlkIiwiY29sbGVjdGlvblNsdWciLCJyZXN1bHQiLCJwYXlsb2FkRGF0YUxvYWRlciIsImxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHJhbnNhY3Rpb25JRCIsImZvckVhY2giLCJQcm9taXNlIiwiYWxsIiwicmVsYXRlZERvY3VtZW50IiwicmljaFRleHQiLCJkZXB0aCIsImRlZmF1bHREZXB0aCIsImVkaXRvciIsInBvcHVsYXRpb25Qcm9taXNlIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJyb3ciLCJvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcyIsInNlbGVjdCIsInRhYnMiLCJ0YWJTY2hlbWEiLCJ0YWIiLCJzdWJGaWVsZFNjaGVtYSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsInVwbG9hZE5hbWUiLCJ1cGxvYWRBcmdzIiwid2hlcmVGaWVsZHMiLCJ3aGVyZSIsIm9iamVjdFNjaGVtYSIsImZpZWxkU2NoZW1hIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQsR0FDMUQsbUNBQW1DLEdBQ25DLHVDQUF1QyxHQUd2QyxTQUNFQSxjQUFjLEVBQ2RDLGVBQWUsRUFDZkMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsZ0JBQWdCLFFBQ1gsVUFBUztBQUNoQixTQUFTQyxnQkFBZ0IsRUFBRUMsb0JBQW9CLFFBQVEsa0JBQWlCO0FBQ3hFLHVDQUF1QyxHQUN2QyxTQUFTQyxXQUFXLFFBQVEsb0JBQW1CO0FBNkIvQyxTQUFTQyxVQUFVLFFBQVEsZ0JBQWU7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUMzQyxPQUFPQyx1QkFBdUIsb0NBQW1DO0FBQ2pFLE9BQU9DLGdCQUFnQiw2QkFBNEI7QUFDbkQsT0FBT0MsbUJBQW1CLGdDQUErQjtBQUN6RCxPQUFPQyx5QkFBeUIsMkJBQTBCO0FBQzFELE9BQU9DLHFCQUFxQix1QkFBc0I7QUFDbEQsT0FB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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
|
2
2
|
import { GraphQLJSONObject } from 'graphql-type-json';
|
|
3
3
|
import { toWords } from 'payload/utilities';
|
|
4
|
-
import formatName from '../utilities/formatName';
|
|
4
|
+
import formatName from '../utilities/formatName.js';
|
|
5
5
|
const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, field)=>{
|
|
6
6
|
const includeField = !field.hidden && field.type !== 'ui';
|
|
7
7
|
if (includeField) {
|
|
@@ -181,4 +181,4 @@ export default function buildPoliciesType(config) {
|
|
|
181
181
|
});
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMT2JqZWN0VHlwZSB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTk9iamVjdCB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBGaWVsZCxcbiAgR2xvYmFsQ29uZmlnLFxuICBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5cbnR5cGUgT3BlcmF0aW9uVHlwZSA9ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAncmVhZFZlcnNpb25zJyB8ICd1bmxvY2snIHwgJ3VwZGF0ZSdcblxudHlwZSBBY2Nlc3NTY29wZXMgPSAnZG9jQWNjZXNzJyB8IHVuZGVmaW5lZFxuXG50eXBlIE9iamVjdFR5cGVGaWVsZHMgPSB7XG4gIFtrZXkgaW4gJ2ZpZWxkcycgfCBPcGVyYXRpb25UeXBlXT86IHsgdHlwZTogR3JhcGhRTE9iamVjdFR5cGUgfVxufVxuXG5jb25zdCBidWlsZEZpZWxkcyA9IChsYWJlbCwgZmllbGRzVG9CdWlsZCkgPT5cbiAgZmllbGRzVG9CdWlsZC5yZWR1Y2UoKGJ1aWx0RmllbGRzLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGluY2x1ZGVGaWVsZCA9ICFmaWVsZC5oaWRkZW4gJiYgZmllbGQudHlwZSAhPT0gJ3VpJ1xuICAgIGlmIChpbmNsdWRlRmllbGQpIHtcbiAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUoZmllbGQubmFtZSlcblxuICAgICAgICBjb25zdCBvYmplY3RUeXBlRmllbGRzOiBPYmplY3RUeXBlRmllbGRzID0gWydjcmVhdGUnLCAncmVhZCcsICd1cGRhdGUnLCAnZGVsZXRlJ10ucmVkdWNlKFxuICAgICAgICAgIChvcGVyYXRpb25zLCBvcGVyYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkT3BlcmF0aW9uID0gb3BlcmF0aW9uLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgb3BlcmF0aW9uLnNsaWNlKDEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1fJHtjYXBpdGFsaXplZE9wZXJhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIG9iamVjdFR5cGVGaWVsZHMuZmllbGRzID0ge1xuICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7bGFiZWx9XyR7ZmllbGROYW1lfV9GaWVsZHNgLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLCBmaWVsZC5maWVsZHMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5idWlsdEZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IG9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQubmFtZSAmJiBmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gYnVpbGRGaWVsZHMobGFiZWwsIGZpZWxkLmZpZWxkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJ1aWx0RmllbGRzLFxuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZShcbiAgICAgICAgICAoZmllbGRzV2l0aFRhYkZpZWxkcywgdGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5maWVsZHNXaXRoVGFiRmllbGRzLFxuICAgICAgICAgICAgICAuLi5idWlsZEZpZWxkcyhsYWJlbCwgdGFiLmZpZWxkcyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmJ1aWx0RmllbGRzIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0RmllbGRzXG4gIH0sIHt9KVxuXG50eXBlIEJ1aWxkRW50aXR5UG9saWN5ID0ge1xuICBlbnRpdHlGaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IE9wZXJhdGlvblR5cGVbXVxuICBzY29wZTogQWNjZXNzU2NvcGVzXG59XG5leHBvcnQgY29uc3QgYnVpbGRFbnRpdHlQb2xpY3kgPSAoYXJnczogQnVpbGRFbnRpdHlQb2xpY3kpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBlbnRpdHlGaWVsZHMsIG9wZXJhdGlvbnMsIHNjb3BlIH0gPSBhcmdzXG5cbiAgY29uc3QgZmllbGRzVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7c2NvcGUgfHwgJyd9LUZpZWxkc2AsIHRydWUpXG4gIGNvbnN0IGZpZWxkcyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZpZWxkc1R5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGZpZWxkc1R5cGVOYW1lLCBlbnRpdHlGaWVsZHMpLFxuICAgICAgfSksXG4gICAgfSxcbiAgfVxuXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7b3BlcmF0aW9ufS0ke3Njb3BlIHx8ICdBY2Nlc3MnfWAsIHRydWUpXG5cbiAgICBmaWVsZHNbb3BlcmF0aW9uXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IG9wZXJhdGlvblR5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbikgfSxcbiAgICAgICAgICB3aGVyZTogeyB0eXBlOiBHcmFwaFFMSlNPTk9iamVjdCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBmaWVsZHNcbn1cblxudHlwZSBCdWlsZFBvbGljeVR5cGUgPSB7XG4gIHNjb3BlPzogQWNjZXNzU2NvcGVzXG4gIHR5cGVTdWZmaXg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgZW50aXR5OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbidcbiAgICB9XG4gIHwge1xuICAgICAgZW50aXR5OiBHbG9iYWxDb25maWdcbiAgICAgIHR5cGU6ICdnbG9iYWwnXG4gICAgfVxuKVxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUG9saWN5VHlwZShhcmdzOiBCdWlsZFBvbGljeVR5cGUpOiBHcmFwaFFMT2JqZWN0VHlwZSB7XG4gIGNvbnN0IHsgZW50aXR5LCBzY29wZSwgdHlwZSwgdHlwZVN1ZmZpeCB9ID0gYXJnc1xuICBjb25zdCB7IGZpZWxkcywgZ3JhcGhRTCwgc2x1ZywgdmVyc2lvbnMgfSA9IGVudGl0eVxuXG4gIGxldCBvcGVyYXRpb25zID0gW11cblxuICBpZiAoZ3JhcGhRTCA9PT0gZmFsc2UpIHJldHVybiBudWxsXG5cbiAgaWYgKHR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIG9wZXJhdGlvbnMgPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG4gICAgaWYgKFxuICAgICAgZW50aXR5LmF1dGggJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aCA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZW50aXR5LmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICAgICkge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICAgIH1cblxuICAgIGlmICh2ZXJzaW9ucykge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25UeXBlTmFtZSA9IGZvcm1hdE5hbWUoYCR7c2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICAgIHJldHVybiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogY29sbGVjdGlvblR5cGVOYW1lLFxuICAgICAgZmllbGRzOiBidWlsZEVudGl0eVBvbGljeSh7XG4gICAgICAgIG5hbWU6IHNsdWcsXG4gICAgICAgIGVudGl0eUZpZWxkczogZmllbGRzLFxuICAgICAgICBvcGVyYXRpb25zLFxuICAgICAgICBzY29wZSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cblxuICAvLyBlbHNlIGNyZWF0ZSBnbG9iYWwgdHlwZVxuICBvcGVyYXRpb25zID0gWydyZWFkJywgJ3VwZGF0ZSddXG5cbiAgaWYgKGVudGl0eS52ZXJzaW9ucykge1xuICAgIG9wZXJhdGlvbnMucHVzaCgncmVhZFZlcnNpb25zJylcbiAgfVxuXG4gIGNvbnN0IGdsb2JhbFR5cGVOYW1lID0gZm9ybWF0TmFtZShgJHtnbG9iYWw/LmdyYXBoUUw/Lm5hbWUgfHwgc2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICByZXR1cm4gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBnbG9iYWxUeXBlTmFtZSxcbiAgICBmaWVsZHM6IGJ1aWxkRW50aXR5UG9saWN5KHtcbiAgICAgIG5hbWU6IGVudGl0eS5ncmFwaFFMID8gZW50aXR5Py5ncmFwaFFMPy5uYW1lIHx8IHNsdWcgOiBzbHVnLFxuICAgICAgZW50aXR5RmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIHNjb3BlLFxuICAgIH0pLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZFBvbGljaWVzVHlwZShjb25maWc6IFNhbml0aXplZENvbmZpZyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRzID0ge1xuICAgIGNhbkFjY2Vzc0FkbWluOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgIH0sXG4gIH1cblxuICBPYmplY3QudmFsdWVzKGNvbmZpZy5jb2xsZWN0aW9ucykuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGlmIChjb2xsZWN0aW9uLmdyYXBoUUwgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY29sbGVjdGlvblBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBjb2xsZWN0aW9uLFxuICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgdHlwZVN1ZmZpeDogJ0FjY2VzcycsXG4gICAgfSlcblxuICAgIGZpZWxkc1tmb3JtYXROYW1lKGNvbGxlY3Rpb24uc2x1ZyldID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvblBvbGljeVR5cGUsXG4gICAgfVxuICB9KVxuXG4gIE9iamVjdC52YWx1ZXMoY29uZmlnLmdsb2JhbHMpLmZvckVhY2goKGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgaWYgKGdsb2JhbC5ncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbFBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgIHR5cGVTdWZmaXg6ICdBY2Nlc3MnLFxuICAgIH0pXG5cbiAgICBmaWVsZHNbZm9ybWF0TmFtZShnbG9iYWwuc2x1ZyldID0ge1xuICAgICAgdHlwZTogZ2xvYmFsUG9saWN5VHlwZSxcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgbmFtZTogJ0FjY2VzcycsXG4gICAgZmllbGRzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMT2JqZWN0VHlwZSIsIkdyYXBoUUxKU09OT2JqZWN0IiwidG9Xb3JkcyIsImZvcm1hdE5hbWUiLCJidWlsZEZpZWxkcyIsImxhYmVsIiwiZmllbGRzVG9CdWlsZCIsInJlZHVjZSIsImJ1aWx0RmllbGRzIiwiZmllbGQiLCJpbmNsdWRlRmllbGQiLCJoaWRkZW4iLCJ0eXBlIiwibmFtZSIsImZpZWxkTmFtZSIsIm9iamVjdFR5cGVGaWVsZHMiLCJvcGVyYXRpb25zIiwib3BlcmF0aW9uIiwiY2FwaXRhbGl6ZWRPcGVyYXRpb24iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZmllbGRzIiwicGVybWlzc2lvbiIsInN1YkZpZWxkcyIsInRhYnMiLCJmaWVsZHNXaXRoVGFiRmllbGRzIiwidGFiIiwiYnVpbGRFbnRpdHlQb2xpY3kiLCJhcmdzIiwiZW50aXR5RmllbGRzIiwic2NvcGUiLCJmaWVsZHNUeXBlTmFtZSIsImZvckVhY2giLCJvcGVyYXRpb25UeXBlTmFtZSIsIndoZXJlIiwiYnVpbGRQb2xpY3lUeXBlIiwiZW50aXR5IiwidHlwZVN1ZmZpeCIsImdyYXBoUUwiLCJzbHVnIiwidmVyc2lvbnMiLCJhdXRoIiwibWF4TG9naW5BdHRlbXB0cyIsInB1c2giLCJjb2xsZWN0aW9uVHlwZU5hbWUiLCJnbG9iYWxUeXBlTmFtZSIsImdsb2JhbCIsImJ1aWxkUG9saWNpZXNUeXBlIiwiY29uZmlnIiwiY2FuQWNjZXNzQWRtaW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uUG9saWN5VHlwZSIsImdsb2JhbHMiLCJnbG9iYWxQb2xpY3lUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLEVBQUVDLGNBQWMsRUFBRUMs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
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMT2JqZWN0VHlwZSB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTk9iamVjdCB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBGaWVsZCxcbiAgR2xvYmFsQ29uZmlnLFxuICBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUuanMnXG5cbnR5cGUgT3BlcmF0aW9uVHlwZSA9ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAncmVhZFZlcnNpb25zJyB8ICd1bmxvY2snIHwgJ3VwZGF0ZSdcblxudHlwZSBBY2Nlc3NTY29wZXMgPSAnZG9jQWNjZXNzJyB8IHVuZGVmaW5lZFxuXG50eXBlIE9iamVjdFR5cGVGaWVsZHMgPSB7XG4gIFtrZXkgaW4gJ2ZpZWxkcycgfCBPcGVyYXRpb25UeXBlXT86IHsgdHlwZTogR3JhcGhRTE9iamVjdFR5cGUgfVxufVxuXG5jb25zdCBidWlsZEZpZWxkcyA9IChsYWJlbCwgZmllbGRzVG9CdWlsZCkgPT5cbiAgZmllbGRzVG9CdWlsZC5yZWR1Y2UoKGJ1aWx0RmllbGRzLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGluY2x1ZGVGaWVsZCA9ICFmaWVsZC5oaWRkZW4gJiYgZmllbGQudHlwZSAhPT0gJ3VpJ1xuICAgIGlmIChpbmNsdWRlRmllbGQpIHtcbiAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUoZmllbGQubmFtZSlcblxuICAgICAgICBjb25zdCBvYmplY3RUeXBlRmllbGRzOiBPYmplY3RUeXBlRmllbGRzID0gWydjcmVhdGUnLCAncmVhZCcsICd1cGRhdGUnLCAnZGVsZXRlJ10ucmVkdWNlKFxuICAgICAgICAgIChvcGVyYXRpb25zLCBvcGVyYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkT3BlcmF0aW9uID0gb3BlcmF0aW9uLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgb3BlcmF0aW9uLnNsaWNlKDEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1fJHtjYXBpdGFsaXplZE9wZXJhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIG9iamVjdFR5cGVGaWVsZHMuZmllbGRzID0ge1xuICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7bGFiZWx9XyR7ZmllbGROYW1lfV9GaWVsZHNgLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLCBmaWVsZC5maWVsZHMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5idWlsdEZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IG9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQubmFtZSAmJiBmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gYnVpbGRGaWVsZHMobGFiZWwsIGZpZWxkLmZpZWxkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJ1aWx0RmllbGRzLFxuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZShcbiAgICAgICAgICAoZmllbGRzV2l0aFRhYkZpZWxkcywgdGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5maWVsZHNXaXRoVGFiRmllbGRzLFxuICAgICAgICAgICAgICAuLi5idWlsZEZpZWxkcyhsYWJlbCwgdGFiLmZpZWxkcyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmJ1aWx0RmllbGRzIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0RmllbGRzXG4gIH0sIHt9KVxuXG50eXBlIEJ1aWxkRW50aXR5UG9saWN5ID0ge1xuICBlbnRpdHlGaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IE9wZXJhdGlvblR5cGVbXVxuICBzY29wZTogQWNjZXNzU2NvcGVzXG59XG5leHBvcnQgY29uc3QgYnVpbGRFbnRpdHlQb2xpY3kgPSAoYXJnczogQnVpbGRFbnRpdHlQb2xpY3kpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBlbnRpdHlGaWVsZHMsIG9wZXJhdGlvbnMsIHNjb3BlIH0gPSBhcmdzXG5cbiAgY29uc3QgZmllbGRzVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7c2NvcGUgfHwgJyd9LUZpZWxkc2AsIHRydWUpXG4gIGNvbnN0IGZpZWxkcyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZpZWxkc1R5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGZpZWxkc1R5cGVOYW1lLCBlbnRpdHlGaWVsZHMpLFxuICAgICAgfSksXG4gICAgfSxcbiAgfVxuXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7b3BlcmF0aW9ufS0ke3Njb3BlIHx8ICdBY2Nlc3MnfWAsIHRydWUpXG5cbiAgICBmaWVsZHNbb3BlcmF0aW9uXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IG9wZXJhdGlvblR5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbikgfSxcbiAgICAgICAgICB3aGVyZTogeyB0eXBlOiBHcmFwaFFMSlNPTk9iamVjdCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBmaWVsZHNcbn1cblxudHlwZSBCdWlsZFBvbGljeVR5cGUgPSB7XG4gIHNjb3BlPzogQWNjZXNzU2NvcGVzXG4gIHR5cGVTdWZmaXg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgZW50aXR5OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbidcbiAgICB9XG4gIHwge1xuICAgICAgZW50aXR5OiBHbG9iYWxDb25maWdcbiAgICAgIHR5cGU6ICdnbG9iYWwnXG4gICAgfVxuKVxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUG9saWN5VHlwZShhcmdzOiBCdWlsZFBvbGljeVR5cGUpOiBHcmFwaFFMT2JqZWN0VHlwZSB7XG4gIGNvbnN0IHsgZW50aXR5LCBzY29wZSwgdHlwZSwgdHlwZVN1ZmZpeCB9ID0gYXJnc1xuICBjb25zdCB7IGZpZWxkcywgZ3JhcGhRTCwgc2x1ZywgdmVyc2lvbnMgfSA9IGVudGl0eVxuXG4gIGxldCBvcGVyYXRpb25zID0gW11cblxuICBpZiAoZ3JhcGhRTCA9PT0gZmFsc2UpIHJldHVybiBudWxsXG5cbiAgaWYgKHR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIG9wZXJhdGlvbnMgPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG4gICAgaWYgKFxuICAgICAgZW50aXR5LmF1dGggJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aCA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZW50aXR5LmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICAgICkge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICAgIH1cblxuICAgIGlmICh2ZXJzaW9ucykge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25UeXBlTmFtZSA9IGZvcm1hdE5hbWUoYCR7c2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICAgIHJldHVybiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogY29sbGVjdGlvblR5cGVOYW1lLFxuICAgICAgZmllbGRzOiBidWlsZEVudGl0eVBvbGljeSh7XG4gICAgICAgIG5hbWU6IHNsdWcsXG4gICAgICAgIGVudGl0eUZpZWxkczogZmllbGRzLFxuICAgICAgICBvcGVyYXRpb25zLFxuICAgICAgICBzY29wZSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cblxuICAvLyBlbHNlIGNyZWF0ZSBnbG9iYWwgdHlwZVxuICBvcGVyYXRpb25zID0gWydyZWFkJywgJ3VwZGF0ZSddXG5cbiAgaWYgKGVudGl0eS52ZXJzaW9ucykge1xuICAgIG9wZXJhdGlvbnMucHVzaCgncmVhZFZlcnNpb25zJylcbiAgfVxuXG4gIGNvbnN0IGdsb2JhbFR5cGVOYW1lID0gZm9ybWF0TmFtZShgJHtnbG9iYWw/LmdyYXBoUUw/Lm5hbWUgfHwgc2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICByZXR1cm4gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBnbG9iYWxUeXBlTmFtZSxcbiAgICBmaWVsZHM6IGJ1aWxkRW50aXR5UG9saWN5KHtcbiAgICAgIG5hbWU6IGVudGl0eS5ncmFwaFFMID8gZW50aXR5Py5ncmFwaFFMPy5uYW1lIHx8IHNsdWcgOiBzbHVnLFxuICAgICAgZW50aXR5RmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIHNjb3BlLFxuICAgIH0pLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZFBvbGljaWVzVHlwZShjb25maWc6IFNhbml0aXplZENvbmZpZyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRzID0ge1xuICAgIGNhbkFjY2Vzc0FkbWluOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgIH0sXG4gIH1cblxuICBPYmplY3QudmFsdWVzKGNvbmZpZy5jb2xsZWN0aW9ucykuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGlmIChjb2xsZWN0aW9uLmdyYXBoUUwgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY29sbGVjdGlvblBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBjb2xsZWN0aW9uLFxuICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgdHlwZVN1ZmZpeDogJ0FjY2VzcycsXG4gICAgfSlcblxuICAgIGZpZWxkc1tmb3JtYXROYW1lKGNvbGxlY3Rpb24uc2x1ZyldID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvblBvbGljeVR5cGUsXG4gICAgfVxuICB9KVxuXG4gIE9iamVjdC52YWx1ZXMoY29uZmlnLmdsb2JhbHMpLmZvckVhY2goKGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgaWYgKGdsb2JhbC5ncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbFBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgIHR5cGVTdWZmaXg6ICdBY2Nlc3MnLFxuICAgIH0pXG5cbiAgICBmaWVsZHNbZm9ybWF0TmFtZShnbG9iYWwuc2x1ZyldID0ge1xuICAgICAgdHlwZTogZ2xvYmFsUG9saWN5VHlwZSxcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgbmFtZTogJ0FjY2VzcycsXG4gICAgZmllbGRzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMT2JqZWN0VHlwZSIsIkdyYXBoUUxKU09OT2JqZWN0IiwidG9Xb3JkcyIsImZvcm1hdE5hbWUiLCJidWlsZEZpZWxkcyIsImxhYmVsIiwiZmllbGRzVG9CdWlsZCIsInJlZHVjZSIsImJ1aWx0RmllbGRzIiwiZmllbGQiLCJpbmNsdWRlRmllbGQiLCJoaWRkZW4iLCJ0eXBlIiwibmFtZSIsImZpZWxkTmFtZSIsIm9iamVjdFR5cGVGaWVsZHMiLCJvcGVyYXRpb25zIiwib3BlcmF0aW9uIiwiY2FwaXRhbGl6ZWRPcGVyYXRpb24iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZmllbGRzIiwicGVybWlzc2lvbiIsInN1YkZpZWxkcyIsInRhYnMiLCJmaWVsZHNXaXRoVGFiRmllbGRzIiwidGFiIiwiYnVpbGRFbnRpdHlQb2xpY3kiLCJhcmdzIiwiZW50aXR5RmllbGRzIiwic2NvcGUiLCJmaWVsZHNUeXBlTmFtZSIsImZvckVhY2giLCJvcGVyYXRpb25UeXBlTmFtZSIsIndoZXJlIiwiYnVpbGRQb2xpY3lUeXBlIiwiZW50aXR5IiwidHlwZVN1ZmZpeCIsImdyYXBoUUwiLCJzbHVnIiwidmVyc2lvbnMiLCJhdXRoIiwibWF4TG9naW5BdHRlbXB0cyIsInB1c2giLCJjb2xsZWN0aW9uVHlwZU5hbWUiLCJnbG9iYWxUeXBlTmFtZSIsImdsb2JhbCIsImJ1aWxkUG9saWNpZXNUeXBlIiwiY29uZmlnIiwiY2FuQWNjZXNzQWRtaW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uUG9saWN5VHlwZSIsImdsb2JhbHMiLCJnbG9iYWxQb2xpY3lUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLEVBQUVDLGNBQWMsRUFBRUMsaUJBQWlCLFFBQVEsVUFBUztBQUMzRSxTQUFTQyxpQkFBaUIsUUFBUSxvQkFBbUI7QUFVckQsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUMzQyxPQUFPQyxnQkFBZ0IsNkJBQTRCO0FBVW5ELE1BQU1DLGNBQWMsQ0FBQ0MsT0FBT0MsZ0JBQzFCQSxjQUFjQyxNQUFNLENBQUMsQ0FBQ0MsYUFBYUM7UUFDakMsTUFBTUMsZUFBZSxDQUFDRCxNQUFNRSxNQUFNLElBQUlGLE1BQU1HLElBQUksS0FBSztRQUNyRCxJQUFJRixjQUFjO1lBQ2hCLElBQUlELE1BQU1JLElBQUksRUFBRTtnQkFDZCxNQUFNQyxZQUFZWCxXQUFXTSxNQUFNSSxJQUFJO2dCQUV2QyxNQUFNRSxtQkFBcUM7b0JBQUM7b0JBQVU7b0JBQVE7b0JBQVU7aUJBQVMsQ0FBQ1IsTUFBTSxDQUN0RixDQUFDUyxZQUFZQztvQkFDWCxNQUFNQyx1QkFBdUJELFVBQVVFLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEtBQUtILFVBQVVJLEtBQUssQ0FBQztvQkFFakYsT0FBTzt3QkFDTCxHQUFHTCxVQUFVO3dCQUNiLENBQUNDLFVBQVUsRUFBRTs0QkFDWEwsTUFBTSxJQUFJWixrQkFBa0I7Z0NBQzFCYSxNQUFNLENBQUMsRUFBRVIsTUFBTSxDQUFDLEVBQUVTLFVBQVUsQ0FBQyxFQUFFSSxxQkFBcUIsQ0FBQztnQ0FDckRJLFFBQVE7b0NBQ05DLFlBQVk7d0NBQ1ZYLE1BQU0sSUFBSWIsZUFBZUQ7b0NBQzNCO2dDQUNGOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGLEdBQ0EsQ0FBQztnQkFHSCxJQUFJVyxNQUFNYSxNQUFNLEVBQUU7b0JBQ2hCUCxpQkFBaUJPLE1BQU0sR0FBRzt3QkFDeEJWLE1BQU0sSUFBSVosa0JBQWtCOzRCQUMxQmEsTUFBTSxDQUFDLEVBQUVSLE1BQU0sQ0FBQyxFQUFFUyxVQUFVLE9BQU8sQ0FBQzs0QkFDcENRLFFBQVFsQixZQUFZLENBQUMsRUFBRUMsTUFBTSxDQUFDLEVBQUVTLFVBQVUsQ0FBQyxFQUFFTCxNQUFNYSxNQUFNO3dCQUMzRDtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPO29CQUNMLEdBQUdkLFdBQVc7b0JBQ2QsQ0FBQ0MsTUFBTUksSUFBSSxDQUFDLEVBQUU7d0JBQ1pELE1BQU0sSUFBSVosa0JBQWtCOzRCQUMxQmEsTUFBTSxDQUFDLEVBQUVSLE1BQU0sQ0FBQyxFQUFFUyxVQUFVLENBQUM7NEJBQzdCUSxRQUFRUDt3QkFDVjtvQkFDRjtnQkFDRjtZQUNGO1lBRUEsSUFBSSxDQUFDTixNQUFNSSxJQUFJLElBQUlKLE1BQU1hLE1BQU0sRUFBRTtnQkFDL0IsTUFBTUUsWUFBWXBCLFlBQVlDLE9BQU9JLE1BQU1hLE1BQU07Z0JBRWpELE9BQU87b0JBQ0wsR0FBR2QsV0FBVztvQkFDZCxHQUFHZ0IsU0FBUztnQkFDZDtZQUNGO1lBRUEsSUFBSWYsTUFBTUcsSUFBSSxLQUFLLFFBQVE7Z0JBQ3pCLE9BQU9ILE1BQU1nQixJQUFJLENBQUNsQixNQUFNLENBQ3RCLENBQUNtQixxQkFBcUJDO29CQUNwQixPQUFPO3dCQUNMLEdBQUdELG1CQUFtQjt3QkFDdEIsR0FBR3RCLFlBQVlDLE9BQU9zQixJQUFJTCxNQUFNLENBQUM7b0JBQ25DO2dCQUNGLEdBQ0E7b0JBQUUsR0FBR2QsV0FBVztnQkFBQztZQUVyQjtRQUNGO1FBQ0EsT0FBT0E7SUFDVCxHQUFHLENBQUM7QUFRTixPQUFPLE1BQU1vQixvQkFBb0IsQ0FBQ0M7SUFDaEMsTUFBTSxFQUFFaEIsSUFBSSxFQUFFaUIsWUFBWSxFQUFFZCxVQUFVLEVBQUVlLEtBQUssRUFBRSxHQUFHRjtJQUVsRCxNQUFNRyxpQkFBaUI5QixRQUFRLENBQUMsRUFBRVcsS0FBSyxDQUFDLEVBQUVrQixTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUU7SUFDaEUsTUFBTVQsU0FBUztRQUNiQSxRQUFRO1lBQ05WLE1BQU0sSUFBSVosa0JBQWtCO2dCQUMxQmEsTUFBTW1CO2dCQUNOVixRQUFRbEIsWUFBWTRCLGdCQUFnQkY7WUFDdEM7UUFDRjtJQUNGO0lBRUFkLFdBQVdpQixPQUFPLENBQUMsQ0FBQ2hCO1FBQ2xCLE1BQU1pQixvQkFBb0JoQyxRQUFRLENBQUMsRUFBRVcsS0FBSyxDQUFDLEVBQUVJLFVBQVUsQ0FBQyxFQUFFYyxTQUFTLFNBQVMsQ0FBQyxFQUFFO1FBRS9FVCxNQUFNLENBQUNMLFVBQVUsR0FBRztZQUNsQkwsTUFBTSxJQUFJWixrQkFBa0I7Z0JBQzFCYSxNQUFNcUI7Z0JBQ05aLFFBQVE7b0JBQ05DLFlBQVk7d0JBQUVYLE1BQU0sSUFBSWIsZUFBZUQ7b0JBQWdCO29CQUN2RHFDLE9BQU87d0JBQUV2QixNQUFNWDtvQkFBa0I7Z0JBQ25DO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3FCO0FBQ1QsRUFBQztBQWVELE9BQU8sU0FBU2MsZ0JBQWdCUCxJQUFxQjtJQUNuRCxNQUFNLEVBQUVRLE1BQU0sRUFBRU4sS0FBSyxFQUFFbkIsSUFBSSxFQUFFMEIsVUFBVSxFQUFFLEdBQUdUO0lBQzVDLE1BQU0sRUFBRVAsTUFBTSxFQUFFaUIsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHSjtJQUU1QyxJQUFJckIsYUFBYSxFQUFFO0lBRW5CLElBQUl1QixZQUFZLE9BQU8sT0FBTztJQUU5QixJQUFJM0IsU0FBUyxjQUFjO1FBQ3pCSSxhQUFhO1lBQUM7WUFBVTtZQUFRO1lBQVU7U0FBUztRQUVuRCxJQUNFcUIsT0FBT0ssSUFBSSxJQUNYLE9BQU9MLE9BQU9LLElBQUksS0FBSyxZQUN2QixPQUFPTCxPQUFPSyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLGVBQ3hDTixPQUFPSyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLEdBQ2pDO1lBQ0EzQixXQUFXNEIsSUFBSSxDQUFDO1FBQ2xCO1FBRUEsSUFBSUgsVUFBVTtZQUNaekIsV0FBVzRCLElBQUksQ0FBQztRQUNsQjtRQUVBLE1BQU1DLHFCQUFxQjFDLFdBQVcsQ0FBQyxFQUFFcUMsS0FBSyxFQUFFRixjQUFjLEdBQUcsQ0FBQztRQUVsRSxPQUFPLElBQUl0QyxrQkFBa0I7WUFDM0JhLE1BQU1nQztZQUNOdkIsUUFBUU0sa0JBQWtCO2dCQUN4QmYsTUFBTTJCO2dCQUNOVixjQUFjUjtnQkFDZE47Z0JBQ0FlO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsMEJBQTBCO0lBQzFCZixhQUFhO1FBQUM7UUFBUTtLQUFTO0lBRS9CLElBQUlxQixPQUFPSSxRQUFRLEVBQUU7UUFDbkJ6QixXQUFXNEIsSUFBSSxDQUFDO0lBQ2xCO0lBRUEsTUFBTUUsaUJBQWlCM0MsV0FBVyxDQUFDLEVBQUU0QyxRQUFRUixTQUFTMUIsUUFBUTJCLEtBQUssRUFBRUYsY0FBYyxHQUFHLENBQUM7SUFFdkYsT0FBTyxJQUFJdEMsa0JBQWtCO1FBQzNCYSxNQUFNaUM7UUFDTnhCLFFBQVFNLGtCQUFrQjtZQUN4QmYsTUFBTXdCLE9BQU9FLE9BQU8sR0FBR0YsUUFBUUUsU0FBUzFCLFFBQVEyQixPQUFPQTtZQUN2RFYsY0FBY08sT0FBT2YsTUFBTTtZQUMzQk47WUFDQWU7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxlQUFlLFNBQVNpQixrQkFBa0JDLE1BQXVCO0lBQy9ELE1BQU0zQixTQUFTO1FBQ2I0QixnQkFBZ0I7WUFDZHRDLE1BQU0sSUFBSWIsZUFBZUQ7UUFDM0I7SUFDRjtJQUVBcUQsT0FBT0MsTUFBTSxDQUFDSCxPQUFPSSxXQUFXLEVBQUVwQixPQUFPLENBQUMsQ0FBQ3FCO1FBQ3pDLElBQUlBLFdBQVdmLE9BQU8sS0FBSyxPQUFPO1lBQ2hDO1FBQ0Y7UUFDQSxNQUFNZ0IsdUJBQXVCbkIsZ0JBQWdCO1lBQzNDQyxRQUFRaUI7WUFDUjFDLE1BQU07WUFDTjBCLFlBQVk7UUFDZDtRQUVBaEIsTUFBTSxDQUFDbkIsV0FBV21ELFdBQVdkLElBQUksRUFBRSxHQUFHO1lBQ3BDNUIsTUFBTTJDO1FBQ1I7SUFDRjtJQUVBSixPQUFPQyxNQUFNLENBQUNILE9BQU9PLE9BQU8sRUFBRXZCLE9BQU8sQ0FBQyxDQUFDYztRQUNyQyxJQUFJQSxRQUFPUixPQUFPLEtBQUssT0FBTztZQUM1QjtRQUNGO1FBQ0EsTUFBTWtCLG1CQUFtQnJCLGdCQUFnQjtZQUN2Q0MsUUFBUVU7WUFDUm5DLE1BQU07WUFDTjBCLFlBQVk7UUFDZDtRQUVBaEIsTUFBTSxDQUFDbkIsV0FBVzRDLFFBQU9QLElBQUksRUFBRSxHQUFHO1lBQ2hDNUIsTUFBTTZDO1FBQ1I7SUFDRjtJQUVBLE9BQU8sSUFBSXpELGtCQUFrQjtRQUMzQmEsTUFBTTtRQUNOUztJQUNGO0FBQ0YifQ==
|