projen-modules 5.7.0 → 5.7.1

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/.jsii CHANGED
@@ -11860,6 +11860,6 @@
11860
11860
  "symbolId": "src/components/readme/elements/section:SectionOptions"
11861
11861
  }
11862
11862
  },
11863
- "version": "5.7.0",
11864
- "fingerprint": "+MH/7aVyKnzvblnHt3VQET4wpIzEomiQ9eG3A58fVcY="
11863
+ "version": "5.7.1",
11864
+ "fingerprint": "JKAIYhI8MiGXFhkdV1TiGNUXJ6tNjmvc/gYD54zUjGU="
11865
11865
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.autoMergeOptions = autoMergeOptions;
4
4
  exports.configureMergify = configureMergify;
5
5
  const projen_1 = require("projen");
6
+ const javascript_1 = require("projen/lib/javascript");
6
7
  const codeql_1 = require("./codeql");
7
8
  const contributing_1 = require("./contributing");
8
9
  const format_1 = require("./format");
@@ -183,6 +184,10 @@ class GithubConfigurationFile extends projen_1.FileBase {
183
184
  constructor(project, body) {
184
185
  super(project, GITHUB_CONFIGURATION_FILE, {});
185
186
  this.body = body;
187
+ // the guide is for the repository's maintainers, not the package's users
188
+ if (project instanceof javascript_1.NodeProject) {
189
+ project.npmignore?.exclude(`/${GITHUB_CONFIGURATION_FILE}`);
190
+ }
186
191
  }
187
192
  synthesizeContent(_) {
188
193
  const marker = this.marker ? `<!-- ${this.marker} -->\n\n` : '';
@@ -203,4 +208,4 @@ class BeforeSynthesis extends projen_1.Component {
203
208
  this.callback();
204
209
  }
205
210
  }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2dpdGh1Yi9tZXJnaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNENBLDRDQVFDO0FBMkdELDRDQTZGQztBQTVQRCxtQ0FBeUU7QUFDekUscUNBQWtDO0FBQ2xDLGlEQUE4QztBQUM5QyxxQ0FBc0M7QUFDdEMsc0NBQWdEO0FBb0NoRDs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUdoQztJQUNDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzdELENBQUM7QUFVRCxTQUFTLGdCQUFnQixDQUN2QixNQUF1RTtJQUV2RSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE9BQU8sbUNBQW1DLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxPQUFPLG9EQUFvRCxJQUFBLG1CQUFVLEVBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0SCxDQUFDO0lBQ0QsT0FBTyxxREFBcUQsQ0FBQztBQUMvRCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUEyQjtJQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE9BQU87OzRUQUVpVCxDQUFDO0lBQzNULENBQUM7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQyxPQUFPOzs4T0FFbU8sQ0FBQztJQUM3TyxDQUFDO0lBQ0QsT0FBTyxFQUFFLENB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Q0wsQ0FBQztBQUVELE1BQU0sMEJBQTBCLEdBQUcsc0JBQXNCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyw4QkFBOEIsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sdUJBQXdCLFNBQVEsaUJBQVE7SUFHekI7SUFGbkIsWUFDRSxPQUFnQixFQUNDLElBQWtCO1FBRW5DLEtBQUssQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGN0IsU0FBSSxHQUFKLElBQUksQ0FBYztJQUdyQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sR0FBRyxNQUFNLEtBQUssMEJBQTBCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDeEUsQ0FBQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxlQUFnQixTQUFRLGtCQUFTO0lBR2xCO0lBRm5CLFlBQ0UsT0FBZ0IsRUFDQyxRQUFvQjtRQUVyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFGRSxhQUFRLEdBQVIsUUFBUSxDQUFZO0lBR3ZDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRmlsZUJhc2UsIGdpdGh1YiwgSVJlc29sdmVyLCBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENvZGVRbCB9IGZyb20gJy4vY29kZXFsJztcbmltcG9ydCB7IENvbnRyaWJ1dGluZyB9IGZyb20gJy4vY29udHJpYnV0aW5nJztcbmltcG9ydCB7IGZvcm1hdExpc3QgfSBmcm9tICcuL2Zvcm1hdCc7XG5pbXBvcnQgeyBSZWFkbWUsIFJlYWRtZU9yZGVyIH0gZnJvbSAnLi4vcmVhZG1lJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXJnaWZ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgYXBwcm92aW5nIHJldmlld3MgdGhlIG1lcmdlIHF1ZXVlIHdhaXRzIGZvciwgd2hpY2ggc2hvdWxkIG1hdGNoXG4gICAqIGBhdXRvTWVyZ2VPcHRpb25zLmFwcHJvdmVkUmV2aWV3c2BcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwcm92ZWRSZXZpZXdzPzogbnVtYmVyO1xuICByZWFkb25seSBhc3NpZ25Vc2Vycz86IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IHJlcG9ydGluZ01ldGhvZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcnMgd2hvc2UgcHVsbCByZXF1ZXN0cyB0aGUgbWVyZ2UgcXVldWUgbWVyZ2VzIHdpdGhvdXQgYW4gYXBwcm92YWwsIHN1Y2hcbiAgICogYXMgdGhlIHNpbmdsZSBtYWludGFpbmVyIG9mIGEgcmVwb3NpdG9yeSwgd2hvIGNhbm5vdCBhcHByb3ZlIHRoZWlyIG93biBwdWxsXG4gICAqIHJlcXVlc3RzLiBQdWxsIHJlcXVlc3RzIGZyb20gYW55b25lIGVsc2Ugc3RpbGwgbmVlZCBgYXBwcm92ZWRSZXZpZXdzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEF1dGhvciBvZiB0aGUgcHJvamVuIHVwZ3JhZGUgcHVsbCByZXF1ZXN0cyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGFwcHJvdmVkXG4gICAqXG4gICAqIEBkZWZhdWx0ICdlbmRvci1wcm9qZW5bYm90XSdcbiAgICovXG4gIHJlYWRvbmx5IHVwZ3JhZGVBdXRob3I/OiBzdHJpbmc7XG59XG5cbnR5cGUgTWVyZ2lmeVByb2plY3QgPSBQcm9qZWN0ICYge1xuICByZWFkb25seSBhdXRvTWVyZ2U/OiBnaXRodWIuQXV0b01lcmdlO1xuICByZWFkb25seSBnaXRodWI/OiBnaXRodWIuR2l0SHViO1xuICByZWFkb25seSBidWlsZFdvcmtmbG93Pzoge1xuICAgIHJlYWRvbmx5IGJ1aWxkSm9iSWRzPzogQXJyYXk8c3RyaW5nPjtcbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcHJvamVuJ3MgYXV0byBtZXJnZSwgd2hpY2ggcmVxdWlyZXMgaXRzIGFwcHJvdmFscyBmcm9tIGV2ZXJ5XG4gKiBhdXRob3IsIHNvIHdpdGggdHJ1c3RlZCBhdXRob3JzIGBjb25maWd1cmVNZXJnaWZ5YCByZXF1aXJlcyB0aGVtIGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1dG9NZXJnZU9wdGlvbnMob3B0aW9uczoge1xuICByZWFkb25seSBhdXRvTWVyZ2VPcHRpb25zPzogZ2l0aHViLkF1dG9NZXJnZU9wdGlvbnM7XG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzPzogQXJyYXk8c3RyaW5nPjtcbn0pOiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIGlmICghb3B0aW9ucy50cnVzdGVkQXV0aG9ycz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuYXV0b01lcmdlT3B0aW9ucztcbiAgfVxuICByZXR1cm4geyAuLi5vcHRpb25zLmF1dG9NZXJnZU9wdGlvbnMsIGFwcHJvdmVkUmV2aWV3czogMCB9O1xufVxuXG5pbnRlcmZhY2UgR2l0aHViQ29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IGFwcHJvdmVkUmV2aWV3czogbnVtYmVyO1xuICByZWFkb25seSBjb2RlU2Nhbm5pbmc6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNvZGVTY2FubmluZ1BhdGhzSWdub3JlOiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSByZXF1aXJlZENoZWNrczogQXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgdHJ1c3RlZEF1dGhvcnM6IEFycmF5PHN0cmluZz47XG59XG5cbmZ1bmN0aW9uIHF1ZXVlRGVzY3JpcHRpb24oXG4gIGNvbmZpZzogUGljazxHaXRodWJDb25maWd1cmF0aW9uLCAnYXBwcm92ZWRSZXZpZXdzJyB8ICd0cnVzdGVkQXV0aG9ycyc+LFxuKTogc3RyaW5nIHtcbiAgaWYgKCFjb25maWcuYXBwcm92ZWRSZXZpZXdzKSB7XG4gICAgcmV0dXJuIFwiT25jZSBhIHB1bGwgcmVxdWVzdCdzIGNoZWNrcyBwYXNzXCI7XG4gIH1cbiAgaWYgKGNvbmZpZy50cnVzdGVkQXV0aG9ycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYE9uY2UgYSBwdWxsIHJlcXVlc3QgaXMgYXBwcm92ZWQsIG9yIGlzIG9wZW5lZCBieSAke2Zvcm1hdExpc3QoY29uZmlnLnRydXN0ZWRBdXRob3JzKX0sIGFuZCBpdHMgY2hlY2tzIHBhc3NgO1xuICB9XG4gIHJldHVybiAnT25jZSBhIHB1bGwgcmVxdWVzdCBpcyBhcHByb3ZlZCBhbmQgaXRzIGNoZWNrcyBwYXNzJztcbn1cblxuZnVuY3Rpb24gYXBwcm92YWxHdWlkYW5jZShjb25maWc6IEdpdGh1YkNvbmZpZ3VyYXRpb24pOiBzdHJpbmcge1xuICBpZiAoIWNvbmZpZy5hcHByb3ZlZFJldmlld3MpIHtcbiAgICByZXR1cm4gYFxuXG4qKldhcm5pbmc6Kiogbm8gYXBwcm92YWxzIGFyZSByZXF1aXJlZCwgc28gdGhlIHF1ZXVlIG1lcmdlcyBhbnkgcHVsbCByZXF1ZXN0IHdob3NlIGNoZWNrcyBwYXNzLCBpbmNsdWRpbmcgb25lIGZyb20gYSBmb3JrIHRoYXQgY2hhbmdlcyB0aGUgd29ya2Zsb3dzIHByb2R1Y2luZyB0aG9zZSBjaGVja3MuIFNldCBcXGBhdXRvTWVyZ2VPcHRpb25zLmFwcHJvdmVkUmV2aWV3c1xcYCB0byBhdCBsZWFzdCAxLCBhbmQgdXNlIFxcYHRydXN0ZWRBdXRob3JzXFxgIGZvciBtYWludGFpbmVycyB3aG8gY2Fubm90IGFwcHJvdmUgdGhlaXIgb3duIHB1bGwgcmVxdWVzdHMuYDtcbiAgfVxuICBpZiAoIWNvbmZpZy50cnVzdGVkQXV0aG9ycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYFxuXG5BIHJlcG9zaXRvcnkgd2l0aCBhIHNpbmdsZSBtYWludGFpbmVyLCB3aG8gY2Fubm90IGFwcHJvdmUgdGhlaXIgb3duIHB1bGwgcmVxdWVzdHMsIHNob3VsZCBsaXN0IHRoZW0gaW4gXFxgdHJ1c3RlZEF1dGhvcnNcXGAgaW4gXFxgLnByb2plbnJjLnRzXFxgLiBUaGVpciBwdWxsIHJlcXVlc3RzIGFyZSB0aGVuIG1lcmdlZCB3aXRob3V0IGFuIGFwcHJvdmFsLCB3aGlsZSBldmVyeW9uZSBlbHNlJ3Mgc3RpbGwgbmVlZCBvbmUuYDtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICogVGhlIGd1aWRlIHRvIGNvbmZpZ3VyaW5nIHRoZSByZXBvc2l0b3J5IG9uIEdpdEh1YlxuICovXG5mdW5jdGlvbiBnaXRodWJDb25maWd1cmF0aW9uR3VpZGUoY29uZmlnOiBHaXRodWJDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RhdHVzQ2hlY2tzID0gY29uZmlnLnJlcXVpcmVkQ2hlY2tzLmxlbmd0aFxuICAgID8gJ3RoZSBjaGVja3MgdGhhdCBgLm1lcmdpZnkueW1sYCB3YWl0cyBmb3I6IGAnICtcbiAgICAgIGNvbmZpZy5yZXF1aXJlZENoZWNrcy5qb2luKCdgLCBgJykgK1xuICAgICAgJ2AnXG4gICAgOiAnYW55IENJIGNoZWNrcyBhZGRlZCB0byB0aGUgcHJvamVjdCAobm9uZSBhcmUgY29uZmlndXJlZCB5ZXQpLCBrZWVwaW5nIHRoZW0gaW4gc3luYyB3aXRoIGAubWVyZ2lmeS55bWxgJztcbiAgY29uc3QgYXBwcm92YWxzID0gY29uZmlnLnRydXN0ZWRBdXRob3JzLmxlbmd0aFxuICAgID8gJzAgcmVxdWlyZWQgYXBwcm92YWxzLCBiZWNhdXNlIE1lcmdpZnkgcmVxdWlyZXMgYXBwcm92YWxzIGl0c2VsZiBmb3IgYXV0aG9ycyBvdGhlciB0aGFuICcgK1xuICAgICAgZm9ybWF0TGlzdChjb25maWcudHJ1c3RlZEF1dGhvcnMpICtcbiAgICAgICcgYW5kIGlzIGV4ZW1wdCBmcm9tIHRoaXMgcnVsZSdcbiAgICA6IGNvbmZpZy5hcHByb3ZlZFJldmlld3MgPT09IDFcbiAgICAgID8gJzEgcmVxdWlyZWQgYXBwcm92YWwnXG4gICAgICA6IGAke2NvbmZpZy5hcHByb3ZlZFJldmlld3N9IHJlcXVpcmVkIGFwcHJvdmFsc2A7XG4gIGNvbnN0IHBhdGhzSWdub3JlID0gY29uZmlnLmNvZGVTY2FubmluZ1BhdGhzSWdub3JlO1xuICBjb25zdCBvdGhlclBhdGhzSWdub3JlID0gcGF0aHNJZ25vcmUuZmlsdGVyKFxuICAgIChwYXR0ZXJuKSA9PiBwYXR0ZXJuICE9PSBDb2RlUWwuSU5URUdfU05BUFNIT1RfUEFUSFMsXG4gICk7XG4gIGNvbnN0IGlnbm9yZWRQYXRocyA9XG4gICAgKHBhdGhzSWdub3JlLmluY2x1ZGVzKENvZGVRbC5JTlRFR19TTkFQU0hPVF9QQVRIUylcbiAgICAgID8gYCBDb2RlUUwgZG9lcyBub3Qgc2NhbiB0aGUgaW50ZWctcnVubmVyIHNuYXBzaG90cyAoXFxgJHtDb2RlUWwuSU5URUdfU05BUFNIT1RfUEFUSFN9XFxgKTogdGhlaXIgYXNzZXRzIGFyZSBnZW5lcmF0ZWQgYnVuZGxlcyBvZiBkZXBlbmRlbmNpZXMgd2hvc2UgZmlsZSBuYW1lcyBjaGFuZ2Ugb24gZXZlcnkgXFxgaW50ZWc6dXBkYXRlXFxgLCBzbyBhbGVydHMgb24gdGhlbSBjYW4gbmVpdGhlciBiZSBmaXhlZCBpbiB0aGUgcmVwb3NpdG9yeSBub3IgZGlzbWlzc2VkIGZvciBnb29kLiBUaGUgc291cmNlIHRoZXkgYXJlIGJ1aWx0IGZyb20gaXMgc3RpbGwgc2Nhbm5lZC5gXG4gICAgICA6ICcnKSArXG4gICAgKG90aGVyUGF0aHNJZ25vcmUubGVuZ3RoXG4gICAgICA/IGAgQ29kZVFMIGRvZXMgbm90IHNjYW4gcGF0aHMgbWF0Y2hpbmcgJHtmb3JtYXRMaXN0KG90aGVyUGF0aHNJZ25vcmUpfS5gXG4gICAgICA6ICcnKTtcbiAgY29uc3QgY29kZVNjYW5uaW5nU2V0dGluZ3MgPSBjb25maWcuY29kZVNjYW5uaW5nXG4gICAgPyBgXG5cbiMjIENvZGUgc2Nhbm5pbmdcblxuQ29kZVFMIHJ1bnMgZnJvbSBcXGAuZ2l0aHViL3dvcmtmbG93cy9jb2RlcWwueW1sXFxgLCB3aGljaCBpcyBtYW5hZ2VkIGJ5IHByb2plbi4gSW4gKipTZXR0aW5ncyDihpIgQWR2YW5jZWQgU2VjdXJpdHkqKiwgbGVhdmUgQ29kZVFMICoqRGVmYXVsdCBzZXR1cCoqIG9mZiwgYmVjYXVzZSBpdCBjYW5ub3QgcnVuIGFsb25nc2lkZSB0aGlzIHdvcmtmbG93LiBVbmRlciAqKlByb3RlY3Rpb24gcnVsZXMqKiwga2VlcCB0aGUgKipDaGVjayBydW4gZmFpbHVyZSB0aHJlc2hvbGQqKiBhdCAqKkhpZ2ggb3IgaGlnaGVyKiogZm9yIHNlY3VyaXR5IGFsZXJ0cyBhbmQgKipFcnJvcnMqKiBmb3Igb3RoZXIgYWxlcnRzLCBhcyB0aGlzIGRlY2lkZXMgd2hldGhlciB0aGUgXFxgJHtDb2RlUWwuQ0hFQ0tfTkFNRX1cXGAgY2hlY2sgZmFpbHMuIFByaXZhdGUgcmVwb3NpdG9yaWVzIGFsc28gbmVlZCBHaXRIdWIgQ29kZSBTZWN1cml0eSBlbmFibGVkIHRoZXJlIGZvciBjb2RlIHNjYW5uaW5nIHJlc3VsdHMgdG8gYmUgdXBsb2FkZWQuJHtpZ25vcmVkUGF0aHN9YFxuICAgIDogJyc7XG4gIGNvbnN0IGNvZGVTY2FubmluZ1J1bGUgPSBjb25maWcuY29kZVNjYW5uaW5nXG4gICAgPyBgXG4qICoqUmVxdWlyZSBjb2RlIHNjYW5uaW5nIHJlc3VsdHMqKiwgd2l0aCB0aGUgdG9vbCAqKkNvZGVRTCoqLCBzZWN1cml0eSBhbGVydHMgc2V0IHRvICoqSGlnaCBvciBoaWdoZXIqKiBhbmQgYWxlcnRzIHNldCB0byAqKkVycm9ycyoqLiBNZXJnaWZ5IGlzIGV4ZW1wdCBmcm9tIHRoaXMgcnVsZSwgc28gXFxgLm1lcmdpZnkueW1sXFxgIGFsc28gd2FpdHMgZm9yIHRoZSBcXGAke0NvZGVRbC5DSEVDS19OQU1FfVxcYCBjaGVjayBpbnN0ZWFkLmBcbiAgICA6ICcnO1xuICByZXR1cm4gYEFsbCBwdWxsIHJlcXVlc3RzIGFyZSBtZXJnZWQgYnkgdGhlIFtNZXJnaWZ5XShodHRwczovL21lcmdpZnkuY29tKSBtZXJnZSBxdWV1ZSwgY29uZmlndXJlZCBpbiBcXGAubWVyZ2lmeS55bWxcXGAuICR7cXVldWVEZXNjcmlwdGlvbihjb25maWcpfSwgTWVyZ2lmeSBxdWV1ZXMgaXQsIGJyaW5ncyBpdCB1cCB0byBkYXRlIHdpdGggdGhlIGRlZmF1bHQgYnJhbmNoLCB3YWl0cyBmb3IgdGhlIGNoZWNrcyBhZ2FpbiBhbmQgc3F1YXNoIG1lcmdlcyBpdC4gRHJhZnQgcHVsbCByZXF1ZXN0cyBhbmQgdGhvc2UgbGFiZWxsZWQgXFxgZG8tbm90LW1lcmdlXFxgIGFyZSBub3QgbWVyZ2VkLlxuXG5UaGUgcmVwb3NpdG9yeSBtdXN0IGJlIGNvbmZpZ3VyZWQgYXMgYmVsb3cgc28gdGhhdCBub3RoaW5nIGNhbiBiZSBtZXJnZWQgd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSBxdWV1ZS5cblxuIyMgTWVyZ2lmeVxuXG5JbnN0YWxsIHRoZSBbTWVyZ2lmeSBHaXRIdWIgQXBwXShodHRwczovL2dpdGh1Yi5jb20vYXBwcy9tZXJnaWZ5KSBhbmQgZ2l2ZSBpdCBhY2Nlc3MgdG8gdGhpcyByZXBvc2l0b3J5LlxuXG4jIyBQdWxsIHJlcXVlc3Qgc2V0dGluZ3NcblxuSW4gKipTZXR0aW5ncyDihpIgR2VuZXJhbCDihpIgUHVsbCBSZXF1ZXN0cyoqOlxuKiBBbGxvdyBzcXVhc2ggbWVyZ2luZyBvbmx5ICh1bnRpY2sgbWVyZ2UgY29tbWl0cyBhbmQgcmViYXNlIG1lcmdpbmcpLCBtYXRjaGluZyB0aGUgcXVldWUncyBtZXJnZSBtZXRob2QuXG4qIFVudGljayAqKkFsbG93IGF1dG8tbWVyZ2UqKiwgYmVjYXVzZSBHaXRIdWIncyBvd24gYXV0by1tZXJnZSBtZXJnZXMgb3V0c2lkZSB0aGUgcXVldWUuXG4qIFRpY2sgKipBdXRvbWF0aWNhbGx5IGRlbGV0ZSBoZWFkIGJyYW5jaGVzKiouXG5cbiMjIEFjdGlvbnMgc2V0dGluZ3NcblxuSW4gKipTZXR0aW5ncyDihpIgQWN0aW9ucyDihpIgR2VuZXJhbCoqLCBzZXQgKipBcHByb3ZhbCBmb3IgcnVubmluZyBmb3JrIHB1bGwgcmVxdWVzdCB3b3JrZmxvd3MgZnJvbSBjb250cmlidXRvcnMqKiB0byAqKlJlcXVpcmUgYXBwcm92YWwgZm9yIGFsbCBleHRlcm5hbCBjb250cmlidXRvcnMqKi4gQSBwdWxsIHJlcXVlc3QgZnJvbSBhIGZvcmsgcnVucyBpdHMgb3duIGNvcHkgb2YgdGhlIHdvcmtmbG93cywgc28gaXQgY2FuIGNoYW5nZSBob3cgdGhlIHJlcXVpcmVkIGNoZWNrcyBwYXNzLiR7Y29kZVNjYW5uaW5nU2V0dGluZ3N9XG5cbiMjIEJyYW5jaCBydWxlc2V0XG5cbkluICoqU2V0dGluZ3Mg4oaSIFJ1bGVzIOKGkiBSdWxlc2V0cyoqLCBjcmVhdGUgYSBicmFuY2ggcnVsZXNldCB3aXRoIGVuZm9yY2VtZW50ICoqQWN0aXZlKiogdGhhdCB0YXJnZXRzIHRoZSBkZWZhdWx0IGJyYW5jaCwgYW5kIHNldDpcbiogKipCeXBhc3MgbGlzdCoqOiB0aGUgKipNZXJnaWZ5KiogYXBwIG9ubHksIGluICoqRXhlbXB0KiogbW9kZS4gRG8gbm90IGFkZCBhZG1pbnMgb3Igb3RoZXIgcm9sZXMsIGFzIGFueW9uZSBvbiB0aGlzIGxpc3QgY2FuIG1lcmdlIHdpdGhvdXQgdGhlIHF1ZXVlLlxuKiAqKlJlc3RyaWN0IHVwZGF0ZXMqKjogb25seSBieXBhc3MgYWN0b3JzIGNhbiB1cGRhdGUgdGhlIGJyYW5jaCwgc28gcHVsbCByZXF1ZXN0cyBjYW5ub3QgYmUgbWVyZ2VkIGZyb20gdGhlIEdpdEh1YiBVSSBvciBDTEkgYW5kIGNvbW1pdHMgY2Fubm90IGJlIHB1c2hlZCBkaXJlY3RseS5cbiogKipSZXN0cmljdCBkZWxldGlvbnMqKiBhbmQgKipCbG9jayBmb3JjZSBwdXNoZXMqKi5cbiogKipSZXF1aXJlIGEgcHVsbCByZXF1ZXN0IGJlZm9yZSBtZXJnaW5nKiosIHdpdGggJHthcHByb3ZhbHN9LiBUaWNrICoqRGlzbWlzcyBzdGFsZSBwdWxsIHJlcXVlc3QgYXBwcm92YWxzIHdoZW4gbmV3IGNvbW1pdHMgYXJlIHB1c2hlZCoqLCBzbyB0aGF0IGNvbW1pdHMgcHVzaGVkIGFmdGVyIGFuIGFwcHJvdmFsIG5lZWQgYXBwcm92aW5nIGFnYWluIGJlZm9yZSB0aGUgcXVldWUgbWVyZ2VzIHRoZW0uXG4qICoqUmVxdWlyZSBzdGF0dXMgY2hlY2tzIHRvIHBhc3MqKiwgbGlzdGluZyAke3N0YXR1c0NoZWNrc30uIExlYXZlICoqUmVxdWlyZSBicmFuY2hlcyB0byBiZSB1cCB0byBkYXRlIGJlZm9yZSBtZXJnaW5nKiogdW50aWNrZWQsIGFzIHRoZSBxdWV1ZSBhbHJlYWR5IHVwZGF0ZXMgYW5kIHJldGVzdHMgZWFjaCBwdWxsIHJlcXVlc3QuJHtjb2RlU2Nhbm5pbmdSdWxlfVxuXG5EbyBub3QgZW5hYmxlIEdpdEh1YidzIG93biAqKlJlcXVpcmUgbWVyZ2UgcXVldWUqKiBydWxlLCBhcyBpdCBjb21wZXRlcyB3aXRoIE1lcmdpZnkuXG5cbklmIHRoZSBxdWV1ZSBpcyB1bmF2YWlsYWJsZSBhbmQgYSBjaGFuZ2UgaGFzIHRvIGJlIG1lcmdlZCwgYWRkIHlvdXJzZWxmIHRvIHRoZSBieXBhc3MgbGlzdCB0ZW1wb3JhcmlseSBhbmQgcmVtb3ZlIHlvdXJzZWxmIGFmdGVyd2FyZHMuJHthcHByb3ZhbEd1aWRhbmNlKGNvbmZpZyl9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZU1lcmdpZnkoXG4gIHByb2plY3Q6IE1lcmdpZnlQcm9qZWN0LFxuICBvcHRpb25zOiBNZXJnaWZ5T3B0aW9ucyA9IHt9LFxuKSB7XG4gIGNvbnN0IG1lcmdpZnkgPSBwcm9qZWN0LmdpdGh1Yj8ubWVyZ2lmeTtcbiAgaWYgKCFtZXJnaWZ5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gYnVpbGQgam9icyBhbmQgQ29kZVFMIGNhbiBiZSBhZGRlZCBhZnRlciB0aGlzLCBzbyB0aGV5IGFyZSByZWFkIGF0IHN5bnRoZXNpc1xuICBjb25zdCBidWlsZEpvYklkcyA9ICgpID0+IHByb2plY3QuYnVpbGRXb3JrZmxvdz8uYnVpbGRKb2JJZHMgPz8gW107XG4gIGNvbnN0IGNvZGVRbCA9ICgpID0+XG4gICAgcHJvamVjdC5jb21wb25lbnRzLmZpbmQoKGMpOiBjIGlzIENvZGVRbCA9PiBjIGluc3RhbmNlb2YgQ29kZVFsKTtcbiAgY29uc3QgY29kZVNjYW5uaW5nID0gKCkgPT4gY29kZVFsKCkgIT09IHVuZGVmaW5lZDtcblxuICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9ucygnLWRyYWZ0Jyk7XG5cbiAgY29uc3QgYXBwcm92ZWRSZXZpZXdzID0gb3B0aW9ucy5hcHByb3ZlZFJldmlld3MgPz8gMTtcbiAgY29uc3QgdHJ1c3RlZEF1dGhvcnMgPSBvcHRpb25zLnRydXN0ZWRBdXRob3JzID8/IFtdO1xuICBpZiAodHJ1c3RlZEF1dGhvcnMubGVuZ3RoICYmIGFwcHJvdmVkUmV2aWV3cykge1xuICAgIGNvbnN0IGFwcHJvdmVkT3JUcnVzdGVkOiBnaXRodWIuTWVyZ2lmeUNvbmRpdGlvbiA9IHtcbiAgICAgIG9yOiBbXG4gICAgICAgIGAjYXBwcm92ZWQtcmV2aWV3cy1ieT49JHthcHByb3ZlZFJldmlld3N9YCxcbiAgICAgICAgLi4udHJ1c3RlZEF1dGhvcnMubWFwKChhdXRob3IpID0+IGBhdXRob3I9JHthdXRob3J9YCksXG4gICAgICBdLFxuICAgIH07XG4gICAgLy8gcHJvamVuIHR5cGVzIGF1dG8gbWVyZ2UgY29uZGl0aW9ucyBhcyBzdHJpbmdzLCBidXQgbWVyZ2lmeSBhY2NlcHRzIG9wZXJhdG9ycyB0b29cbiAgICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9ucyhhcHByb3ZlZE9yVHJ1c3RlZCBhcyB1bmtub3duIGFzIHN0cmluZyk7XG4gIH1cblxuICAvLyBNZXJnaWZ5IGlzIGV4ZW1wdCBmcm9tIHRoZSBydWxlc2V0J3MgY29kZSBzY2FubmluZyBydWxlLCBzbyB0aGUgcXVldWUgZW5mb3JjZXMgaXQgaW5zdGVhZFxuICBwcm9qZWN0LmF1dG9NZXJnZT8uYWRkQ29uZGl0aW9uc0xhdGVyKHtcbiAgICByZW5kZXI6ICgpID0+XG4gICAgICBjb2RlU2Nhbm5pbmcoKSA/IFtgc3RhdHVzLXN1Y2Nlc3M9JHtDb2RlUWwuQ0hFQ0tfTkFNRX1gXSA6IFtdLFxuICB9KTtcblxuICBjb25zdCB1cGdyYWRlQXV0aG9yID0gYGF1dGhvcj0ke29wdGlvbnMudXBncmFkZUF1dGhvciA/PyAnZW5kb3ItcHJvamVuW2JvdF0nfWA7XG4gIGNvbnN0IHVwZ3JhZGVDb25kaXRpb25zID0gW3VwZ3JhZGVBdXRob3JdO1xuICBtZXJnaWZ5LmFkZFJ1bGUoe1xuICAgIG5hbWU6ICdBdXRvbWF0aWMgYXBwcm92YWwgZm9yIHByb2plbiB1cGdyYWRlIHB1bGwgcmVxdWVzdHMnLFxuICAgIGNvbmRpdGlvbnM6IHVwZ3JhZGVDb25kaXRpb25zLFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHJldmlldzoge1xuICAgICAgICB0eXBlOiAnQVBQUk9WRScsXG4gICAgICAgIG1lc3NhZ2U6ICdBdXRvbWF0aWNhbGx5IGFwcHJvdmluZyBwcm9qZW4gdXBncmFkZScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIG1lcmdpZnkuYWRkUnVsZSh7XG4gICAgbmFtZTogJ0Fzc2lnbiBQUiB3aGVuIGNoZWNrIGZhaWxzJyxcbiAgICBjb25kaXRpb25zOiBbJyNjaGVjay1mYWlsdXJlID4gMCddLFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIGFzc2lnbjoge1xuICAgICAgICBhZGRfdXNlcnM6IG9wdGlvbnMuYXNzaWduVXNlcnMgPz8gWydkYXZlc2hlcGhlcmQnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgcHJvamVjdC50cnlGaW5kT2JqZWN0RmlsZSgnLm1lcmdpZnkueW1sJyk/LmFkZE92ZXJyaWRlKFxuICAgICdtZXJnZV9wcm90ZWN0aW9uc19zZXR0aW5ncy5yZXBvcnRpbmdfbWV0aG9kJyxcbiAgICBvcHRpb25zLnJlcG9ydGluZ01ldGhvZCA/PyAnZGVwbG95bWVudHMnLFxuICApO1xuXG4gIENvbnRyaWJ1dGluZy5vZihwcm9qZWN0KS5jb25maWd1cmVNZXJnZVF1ZXVlKFxuICAgIGAke3F1ZXVlRGVzY3JpcHRpb24oeyBhcHByb3ZlZFJldmlld3MsIHRydXN0ZWRBdXRob3JzIH0pfSwgdGhlIFtNZXJnaWZ5XShodHRwczovL21lcmdpZnkuY29tKSBtZXJnZSBxdWV1ZSBzcXVhc2ggbWVyZ2VzIGl0LCB3aXRoIGl0cyB0aXRsZSBhcyB0aGUgY29tbWl0IG1lc3NhZ2UuIERyYWZ0IHB1bGwgcmVxdWVzdHMgYW5kIHRob3NlIGxhYmVsbGVkIFxcYGRvLW5vdC1tZXJnZVxcYCBhcmUgbm90IG1lcmdlZC5gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSAoKTogR2l0aHViQ29uZmlndXJhdGlvbiA9PiAoe1xuICAgIGFwcHJvdmVkUmV2aWV3cyxcbiAgICBjb2RlU2Nhbm5pbmc6IGNvZGVTY2FubmluZygpLFxuICAgIGNvZGVTY2FubmluZ1BhdGhzSWdub3JlOiBjb2RlUWwoKT8ucGF0aHNJZ25vcmUgPz8gW10sXG4gICAgcmVxdWlyZWRDaGVja3M6IGJ1aWxkSm9iSWRzKCksXG4gICAgdHJ1c3RlZEF1dGhvcnMsXG4gIH0pO1xuICAvLyB0aGUgZ3VpZGUgaXMgcmVuZGVyZWQgd2hlbiB0aGUgZmlsZSBpcyBzeW50aGVzaXplZCwgYWZ0ZXIgZXZlcnkgY29tcG9uZW50IGhhcyBiZWVuIGFkZGVkXG4gIG5ldyBHaXRodWJDb25maWd1cmF0aW9uRmlsZShwcm9qZWN0LCAoKSA9PlxuICAgIGdpdGh1YkNvbmZpZ3VyYXRpb25HdWlkZShjb25maWd1cmF0aW9uKCkpLFxuICApO1xuICBSZWFkbWUub2YocHJvamVjdCk/LmFkZFNlY3Rpb24oXG4gICAgR0lUSFVCX0NPTkZJR1VSQVRJT05fVElUTEUsXG4gICAgYFRoZSBvbmUtb2ZmIGNvbmZpZ3VyYXRpb24gdGhhdCB0aGlzIHJlcG9zaXRvcnkgbmVlZHMgb24gR2l0SHViLCBzdWNoIGFzIHRoZSBNZXJnaWZ5IG1lcmdlIHF1ZXVlIGFuZCB0aGUgYnJhbmNoIHJ1bGVzZXQsIGlzIGRlc2NyaWJlZCBpbiBbJHtHSVRIVUJfQ09ORklHVVJBVElPTl9GSUxFfV0oJHtHSVRIVUJfQ09ORklHVVJBVElPTl9GSUxFfSkuYCxcbiAgICB7IG9yZGVyOiBSZWFkbWVPcmRlci5SRUZFUkVOQ0UgfSxcbiAgKTtcblxuICBuZXcgQmVmb3JlU3ludGhlc2lzKHByb2plY3QsICgpID0+IHtcbiAgICB1cGdyYWRlQ29uZGl0aW9ucy5zcGxpY2UoXG4gICAgICAwLFxuICAgICAgdXBncmFkZUNvbmRpdGlvbnMubGVuZ3RoLFxuICAgICAgdXBncmFkZUF1dGhvcixcbiAgICAgIC4uLmJ1aWxkSm9iSWRzKCkubWFwKChpZCkgPT4gYHN0YXR1cy1zdWNjZXNzPSR7aWR9YCksXG4gICAgKTtcbiAgfSk7XG59XG5cbmNvbnN0IEdJVEhVQl9DT05GSUdVUkFUSU9OX1RJVExFID0gJ0dpdEh1YiBDb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBXaGVyZSB0aGUgZ3VpZGUgdG8gY29uZmlndXJpbmcgdGhlIHJlcG9zaXRvcnkgb24gR2l0SHViIGlzIHdyaXR0ZW4sIGluIHRoZVxuICogZG9jcyBkaXJlY3RvcnkgZXZlcnkgcHJvamVjdCB1c2VzXG4gKi9cbmNvbnN0IEdJVEhVQl9DT05GSUdVUkFUSU9OX0ZJTEUgPSAnZG9jcy9naXRodWItY29uZmlndXJhdGlvbi5tZCc7XG5cbi8qKlxuICogVGhlIGd1aWRlIHRvIGNvbmZpZ3VyaW5nIHRoZSByZXBvc2l0b3J5IG9uIEdpdEh1YiwgYXMgaXRzIG93biBtYXJrZG93biBmaWxlXG4gKi9cbmNsYXNzIEdpdGh1YkNvbmZpZ3VyYXRpb25GaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYm9keTogKCkgPT4gc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0LCBHSVRIVUJfQ09ORklHVVJBVElPTl9GSUxFLCB7fSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQoXzogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtYXJrZXIgPSB0aGlzLm1hcmtlciA/IGA8IS0tICR7dGhpcy5tYXJrZXJ9IC0tPlxcblxcbmAgOiAnJztcbiAgICByZXR1cm4gYCR7bWFya2VyfSMgJHtHSVRIVUJfQ09ORklHVVJBVElPTl9USVRMRX1cXG5cXG4ke3RoaXMuYm9keSgpfVxcbmA7XG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGEgY2FsbGJhY2sgb25jZSBldmVyeSBjb21wb25lbnQgaGFzIGJlZW4gYWRkZWQsIGJlZm9yZSBhbnkgZmlsZSBpc1xuICogc3ludGhlc2l6ZWRcbiAqL1xuY2xhc3MgQmVmb3JlU3ludGhlc2lzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGxiYWNrOiAoKSA9PiB2b2lkLFxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHByZVN5bnRoZXNpemUoKSB7XG4gICAgdGhpcy5jYWxsYmFjaygpO1xuICB9XG59XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2dpdGh1Yi9tZXJnaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkNBLDRDQVFDO0FBMkdELDRDQTZGQztBQTdQRCxtQ0FBeUU7QUFDekUsc0RBQW9EO0FBQ3BELHFDQUFrQztBQUNsQyxpREFBOEM7QUFDOUMscUNBQXNDO0FBQ3RDLHNDQUFnRDtBQW9DaEQ7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FHaEM7SUFDQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM3RCxDQUFDO0FBVUQsU0FBUyxnQkFBZ0IsQ0FDdkIsTUFBdUU7SUFFdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixPQUFPLG1DQUFtQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsT0FBTyxvREFBb0QsSUFBQSxtQkFBVSxFQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUM7SUFDdEgsQ0FBQztJQUNELE9BQU8scURBQXFELENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsTUFBMkI7SUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixPQUFPOzs0VEFFaVQsQ0FBQztJQUMzVCxDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsT0FBTzs7OE9BRW1PLENBQUM7SUFDN08sQ0FBQztJQUNE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LENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLDBCQUEwQixHQUFHLHNCQUFzQixDQUFDO0FBRTFEOzs7R0FHRztBQUNILE1BQU0seUJBQXlCLEdBQUcsOEJBQThCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLHVCQUF3QixTQUFRLGlCQUFRO0lBR3pCO0lBRm5CLFlBQ0UsT0FBZ0IsRUFDQyxJQUFrQjtRQUVuQyxLQUFLLENBQUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRjdCLFNBQUksR0FBSixJQUFJLENBQWM7UUFJbkMseUVBQXlFO1FBQ3pFLElBQUksT0FBTyxZQUFZLHdCQUFXLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVTLGlCQUFpQixDQUFDLENBQVk7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRSxPQUFPLEdBQUcsTUFBTSxLQUFLLDBCQUEwQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQU0sZUFBZ0IsU0FBUSxrQkFBUztJQUdsQjtJQUZuQixZQUNFLE9BQWdCLEVBQ0MsUUFBb0I7UUFFckMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkUsYUFBUSxHQUFSLFFBQVEsQ0FBWTtJQUd2QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEZpbGVCYXNlLCBnaXRodWIsIElSZXNvbHZlciwgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBDb2RlUWwgfSBmcm9tICcuL2NvZGVxbCc7XG5pbXBvcnQgeyBDb250cmlidXRpbmcgfSBmcm9tICcuL2NvbnRyaWJ1dGluZyc7XG5pbXBvcnQgeyBmb3JtYXRMaXN0IH0gZnJvbSAnLi9mb3JtYXQnO1xuaW1wb3J0IHsgUmVhZG1lLCBSZWFkbWVPcmRlciB9IGZyb20gJy4uL3JlYWRtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVyZ2lmeU9wdGlvbnMge1xuICAvKipcbiAgICogTnVtYmVyIG9mIGFwcHJvdmluZyByZXZpZXdzIHRoZSBtZXJnZSBxdWV1ZSB3YWl0cyBmb3IsIHdoaWNoIHNob3VsZCBtYXRjaFxuICAgKiBgYXV0b01lcmdlT3B0aW9ucy5hcHByb3ZlZFJldmlld3NgXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGFwcHJvdmVkUmV2aWV3cz86IG51bWJlcjtcbiAgcmVhZG9ubHkgYXNzaWduVXNlcnM/OiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSByZXBvcnRpbmdNZXRob2Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRob3JzIHdob3NlIHB1bGwgcmVxdWVzdHMgdGhlIG1lcmdlIHF1ZXVlIG1lcmdlcyB3aXRob3V0IGFuIGFwcHJvdmFsLCBzdWNoXG4gICAqIGFzIHRoZSBzaW5nbGUgbWFpbnRhaW5lciBvZiBhIHJlcG9zaXRvcnksIHdobyBjYW5ub3QgYXBwcm92ZSB0aGVpciBvd24gcHVsbFxuICAgKiByZXF1ZXN0cy4gUHVsbCByZXF1ZXN0cyBmcm9tIGFueW9uZSBlbHNlIHN0aWxsIG5lZWQgYGFwcHJvdmVkUmV2aWV3c2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSB0cnVzdGVkQXV0aG9ycz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBBdXRob3Igb2YgdGhlIHByb2plbiB1cGdyYWRlIHB1bGwgcmVxdWVzdHMgdGhhdCBhcmUgYXV0b21hdGljYWxseSBhcHByb3ZlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAnZW5kb3ItcHJvamVuW2JvdF0nXG4gICAqL1xuICByZWFkb25seSB1cGdyYWRlQXV0aG9yPzogc3RyaW5nO1xufVxuXG50eXBlIE1lcmdpZnlQcm9qZWN0ID0gUHJvamVjdCAmIHtcbiAgcmVhZG9ubHkgYXV0b01lcmdlPzogZ2l0aHViLkF1dG9NZXJnZTtcbiAgcmVhZG9ubHkgZ2l0aHViPzogZ2l0aHViLkdpdEh1YjtcbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvdz86IHtcbiAgICByZWFkb25seSBidWlsZEpvYklkcz86IEFycmF5PHN0cmluZz47XG4gIH07XG59O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHByb2plbidzIGF1dG8gbWVyZ2UsIHdoaWNoIHJlcXVpcmVzIGl0cyBhcHByb3ZhbHMgZnJvbSBldmVyeVxuICogYXV0aG9yLCBzbyB3aXRoIHRydXN0ZWQgYXV0aG9ycyBgY29uZmlndXJlTWVyZ2lmeWAgcmVxdWlyZXMgdGhlbSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdXRvTWVyZ2VPcHRpb25zKG9wdGlvbnM6IHtcbiAgcmVhZG9ubHkgYXV0b01lcmdlT3B0aW9ucz86IGdpdGh1Yi5BdXRvTWVyZ2VPcHRpb25zO1xuICByZWFkb25seSB0cnVzdGVkQXV0aG9ycz86IEFycmF5PHN0cmluZz47XG59KTogZ2l0aHViLkF1dG9NZXJnZU9wdGlvbnMgfCB1bmRlZmluZWQge1xuICBpZiAoIW9wdGlvbnMudHJ1c3RlZEF1dGhvcnM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBvcHRpb25zLmF1dG9NZXJnZU9wdGlvbnM7XG4gIH1cbiAgcmV0dXJuIHsgLi4ub3B0aW9ucy5hdXRvTWVyZ2VPcHRpb25zLCBhcHByb3ZlZFJldmlld3M6IDAgfTtcbn1cblxuaW50ZXJmYWNlIEdpdGh1YkNvbmZpZ3VyYXRpb24ge1xuICByZWFkb25seSBhcHByb3ZlZFJldmlld3M6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29kZVNjYW5uaW5nOiBib29sZWFuO1xuICByZWFkb25seSBjb2RlU2Nhbm5pbmdQYXRoc0lnbm9yZTogQXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgcmVxdWlyZWRDaGVja3M6IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IHRydXN0ZWRBdXRob3JzOiBBcnJheTxzdHJpbmc+O1xufVxuXG5mdW5jdGlvbiBxdWV1ZURlc2NyaXB0aW9uKFxuICBjb25maWc6IFBpY2s8R2l0aHViQ29uZmlndXJhdGlvbiwgJ2FwcHJvdmVkUmV2aWV3cycgfCAndHJ1c3RlZEF1dGhvcnMnPixcbik6IHN0cmluZyB7XG4gIGlmICghY29uZmlnLmFwcHJvdmVkUmV2aWV3cykge1xuICAgIHJldHVybiBcIk9uY2UgYSBwdWxsIHJlcXVlc3QncyBjaGVja3MgcGFzc1wiO1xuICB9XG4gIGlmIChjb25maWcudHJ1c3RlZEF1dGhvcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGBPbmNlIGEgcHVsbCByZXF1ZXN0IGlzIGFwcHJvdmVkLCBvciBpcyBvcGVuZWQgYnkgJHtmb3JtYXRMaXN0KGNvbmZpZy50cnVzdGVkQXV0aG9ycyl9LCBhbmQgaXRzIGNoZWNrcyBwYXNzYDtcbiAgfVxuICByZXR1cm4gJ09uY2UgYSBwdWxsIHJlcXVlc3QgaXMgYXBwcm92ZWQgYW5kIGl0cyBjaGVja3MgcGFzcyc7XG59XG5cbmZ1bmN0aW9uIGFwcHJvdmFsR3VpZGFuY2UoY29uZmlnOiBHaXRodWJDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgaWYgKCFjb25maWcuYXBwcm92ZWRSZXZpZXdzKSB7XG4gICAgcmV0dXJuIGBcblxuKipXYXJuaW5nOioqIG5vIGFwcHJvdmFscyBhcmUgcmVxdWlyZWQsIHNvIHRoZSBxdWV1ZSBtZXJnZXMgYW55IHB1bGwgcmVxdWVzdCB3aG9zZSBjaGVja3MgcGFzcywgaW5jbHVkaW5nIG9uZSBmcm9tIGEgZm9yayB0aGF0IGNoYW5nZXMgdGhlIHdvcmtmbG93cyBwcm9kdWNpbmcgdGhvc2UgY2hlY2tzLiBTZXQgXFxgYXV0b01lcmdlT3B0aW9ucy5hcHByb3ZlZFJldmlld3NcXGAgdG8gYXQgbGVhc3QgMSwgYW5kIHVzZSBcXGB0cnVzdGVkQXV0aG9yc1xcYCBmb3IgbWFpbnRhaW5lcnMgd2hvIGNhbm5vdCBhcHByb3ZlIHRoZWlyIG93biBwdWxsIHJlcXVlc3RzLmA7XG4gIH1cbiAgaWYgKCFjb25maWcudHJ1c3RlZEF1dGhvcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGBcblxuQSByZXBvc2l0b3J5IHdpdGggYSBzaW5nbGUgbWFpbnRhaW5lciwgd2hvIGNhbm5vdCBhcHByb3ZlIHRoZWlyIG93biBwdWxsIHJlcXVlc3RzLCBzaG91bGQgbGlzdCB0aGVtIGluIFxcYHRydXN0ZWRBdXRob3JzXFxgIGluIFxcYC5wcm9qZW5yYy50c1xcYC4gVGhlaXIgcHVsbCByZXF1ZXN0cyBhcmUgdGhlbiBtZXJnZWQgd2l0aG91dCBhbiBhcHByb3ZhbCwgd2hpbGUgZXZlcnlvbmUgZWxzZSdzIHN0aWxsIG5lZWQgb25lLmA7XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG4vKipcbiAqIFRoZSBndWlkZSB0byBjb25maWd1cmluZyB0aGUgcmVwb3NpdG9yeSBvbiBHaXRIdWJcbiAqL1xuZnVuY3Rpb24gZ2l0aHViQ29uZmlndXJhdGlvbkd1aWRlKGNvbmZpZzogR2l0aHViQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XG4gIGNvbnN0IHN0YXR1c0NoZWNrcyA9IGNvbmZpZy5yZXF1aXJlZENoZWNrcy5sZW5ndGhcbiAgICA/ICd0aGUgY2hlY2tzIHRoYXQgYC5tZXJnaWZ5LnltbGAgd2FpdHMgZm9yOiBgJyArXG4gICAgICBjb25maWcucmVxdWlyZWRDaGVja3Muam9pbignYCwgYCcpICtcbiAgICAgICdgJ1xuICAgIDogJ2FueSBDSSBjaGVja3MgYWRkZWQgdG8gdGhlIHByb2plY3QgKG5vbmUgYXJlIGNvbmZpZ3VyZWQgeWV0KSwga2VlcGluZyB0aGVtIGluIHN5bmMgd2l0aCBgLm1lcmdpZnkueW1sYCc7XG4gIGNvbnN0IGFwcHJvdmFscyA9IGNvbmZpZy50cnVzdGVkQXV0aG9ycy5sZW5ndGhcbiAgICA/ICcwIHJlcXVpcmVkIGFwcHJvdmFscywgYmVjYXVzZSBNZXJnaWZ5IHJlcXVpcmVzIGFwcHJvdmFscyBpdHNlbGYgZm9yIGF1dGhvcnMgb3RoZXIgdGhhbiAnICtcbiAgICAgIGZvcm1hdExpc3QoY29uZmlnLnRydXN0ZWRBdXRob3JzKSArXG4gICAgICAnIGFuZCBpcyBleGVtcHQgZnJvbSB0aGlzIHJ1bGUnXG4gICAgOiBjb25maWcuYXBwcm92ZWRSZXZpZXdzID09PSAxXG4gICAgICA/ICcxIHJlcXVpcmVkIGFwcHJvdmFsJ1xuICAgICAgOiBgJHtjb25maWcuYXBwcm92ZWRSZXZpZXdzfSByZXF1aXJlZCBhcHByb3ZhbHNgO1xuICBjb25zdCBwYXRoc0lnbm9yZSA9IGNvbmZpZy5jb2RlU2Nhbm5pbmdQYXRoc0lnbm9yZTtcbiAgY29uc3Qgb3RoZXJQYXRoc0lnbm9yZSA9IHBhdGhzSWdub3JlLmZpbHRlcihcbiAgICAocGF0dGVybikgPT4gcGF0dGVybiAhPT0gQ29kZVFsLklOVEVHX1NOQVBTSE9UX1BBVEhTLFxuICApO1xuICBjb25zdCBpZ25vcmVkUGF0aHMgPVxuICAgIChwYXRoc0lnbm9yZS5pbmNsdWRlcyhDb2RlUWwuSU5URUdfU05BUFNIT1RfUEFUSFMpXG4gICAgICA/IGAgQ29kZVFMIGRvZXMgbm90IHNjYW4gdGhlIGludGVnLXJ1bm5lciBzbmFwc2hvdHMgKFxcYCR7Q29kZVFsLklOVEVHX1NOQVBTSE9UX1BBVEhTfVxcYCk6IHRoZWlyIGFzc2V0cyBhcmUgZ2VuZXJhdGVkIGJ1bmRsZXMgb2YgZGVwZW5kZW5jaWVzIHdob3NlIGZpbGUgbmFtZXMgY2hhbmdlIG9uIGV2ZXJ5IFxcYGludGVnOnVwZGF0ZVxcYCwgc28gYWxlcnRzIG9uIHRoZW0gY2FuIG5laXRoZXIgYmUgZml4ZWQgaW4gdGhlIHJlcG9zaXRvcnkgbm9yIGRpc21pc3NlZCBmb3IgZ29vZC4gVGhlIHNvdXJjZSB0aGV5IGFyZSBidWlsdCBmcm9tIGlzIHN0aWxsIHNjYW5uZWQuYFxuICAgICAgOiAnJykgK1xuICAgIChvdGhlclBhdGhzSWdub3JlLmxlbmd0aFxuICAgICAgPyBgIENvZGVRTCBkb2VzIG5vdCBzY2FuIHBhdGhzIG1hdGNoaW5nICR7Zm9ybWF0TGlzdChvdGhlclBhdGhzSWdub3JlKX0uYFxuICAgICAgOiAnJyk7XG4gIGNvbnN0IGNvZGVTY2FubmluZ1NldHRpbmdzID0gY29uZmlnLmNvZGVTY2FubmluZ1xuICAgID8gYFxuXG4jIyBDb2RlIHNjYW5uaW5nXG5cbkNvZGVRTCBydW5zIGZyb20gXFxgLmdpdGh1Yi93b3JrZmxvd3MvY29kZXFsLnltbFxcYCwgd2hpY2ggaXMgbWFuYWdlZCBieSBwcm9qZW4uIEluICoqU2V0dGluZ3Mg4oaSIEFkdmFuY2VkIFNlY3VyaXR5KiosIGxlYXZlIENvZGVRTCAqKkRlZmF1bHQgc2V0dXAqKiBvZmYsIGJlY2F1c2UgaXQgY2Fubm90IHJ1biBhbG9uZ3NpZGUgdGhpcyB3b3JrZmxvdy4gVW5kZXIgKipQcm90ZWN0aW9uIHJ1bGVzKiosIGtlZXAgdGhlICoqQ2hlY2sgcnVuIGZhaWx1cmUgdGhyZXNob2xkKiogYXQgKipIaWdoIG9yIGhpZ2hlcioqIGZvciBzZWN1cml0eSBhbGVydHMgYW5kICoqRXJyb3JzKiogZm9yIG90aGVyIGFsZXJ0cywgYXMgdGhpcyBkZWNpZGVzIHdoZXRoZXIgdGhlIFxcYCR7Q29kZVFsLkNIRUNLX05BTUV9XFxgIGNoZWNrIGZhaWxzLiBQcml2YXRlIHJlcG9zaXRvcmllcyBhbHNvIG5lZWQgR2l0SHViIENvZGUgU2VjdXJpdHkgZW5hYmxlZCB0aGVyZSBmb3IgY29kZSBzY2FubmluZyByZXN1bHRzIHRvIGJlIHVwbG9hZGVkLiR7aWdub3JlZFBhdGhzfWBcbiAgICA6ICcnO1xuICBjb25zdCBjb2RlU2Nhbm5pbmdSdWxlID0gY29uZmlnLmNvZGVTY2FubmluZ1xuICAgID8gYFxuKiAqKlJlcXVpcmUgY29kZSBzY2FubmluZyByZXN1bHRzKiosIHdpdGggdGhlIHRvb2wgKipDb2RlUUwqKiwgc2VjdXJpdHkgYWxlcnRzIHNldCB0byAqKkhpZ2ggb3IgaGlnaGVyKiogYW5kIGFsZXJ0cyBzZXQgdG8gKipFcnJvcnMqKi4gTWVyZ2lmeSBpcyBleGVtcHQgZnJvbSB0aGlzIHJ1bGUsIHNvIFxcYC5tZXJnaWZ5LnltbFxcYCBhbHNvIHdhaXRzIGZvciB0aGUgXFxgJHtDb2RlUWwuQ0hFQ0tfTkFNRX1cXGAgY2hlY2sgaW5zdGVhZC5gXG4gICAgOiAnJztcbiAgcmV0dXJuIGBBbGwgcHVsbCByZXF1ZXN0cyBhcmUgbWVyZ2VkIGJ5IHRoZSBbTWVyZ2lmeV0oaHR0cHM6Ly9tZXJnaWZ5LmNvbSkgbWVyZ2UgcXVldWUsIGNvbmZpZ3VyZWQgaW4gXFxgLm1lcmdpZnkueW1sXFxgLiAke3F1ZXVlRGVzY3JpcHRpb24oY29uZmlnKX0sIE1lcmdpZnkgcXVldWVzIGl0LCBicmluZ3MgaXQgdXAgdG8gZGF0ZSB3aXRoIHRoZSBkZWZhdWx0IGJyYW5jaCwgd2FpdHMgZm9yIHRoZSBjaGVja3MgYWdhaW4gYW5kIHNxdWFzaCBtZXJnZXMgaXQuIERyYWZ0IHB1bGwgcmVxdWVzdHMgYW5kIHRob3NlIGxhYmVsbGVkIFxcYGRvLW5vdC1tZXJnZVxcYCBhcmUgbm90IG1lcmdlZC5cblxuVGhlIHJlcG9zaXRvcnkgbXVzdCBiZSBjb25maWd1cmVkIGFzIGJlbG93IHNvIHRoYXQgbm90aGluZyBjYW4gYmUgbWVyZ2VkIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgcXVldWUuXG5cbiMjIE1lcmdpZnlcblxuSW5zdGFsbCB0aGUgW01lcmdpZnkgR2l0SHViIEFwcF0oaHR0cHM6Ly9naXRodWIuY29tL2FwcHMvbWVyZ2lmeSkgYW5kIGdpdmUgaXQgYWNjZXNzIHRvIHRoaXMgcmVwb3NpdG9yeS5cblxuIyMgUHVsbCByZXF1ZXN0IHNldHRpbmdzXG5cbkluICoqU2V0dGluZ3Mg4oaSIEdlbmVyYWwg4oaSIFB1bGwgUmVxdWVzdHMqKjpcbiogQWxsb3cgc3F1YXNoIG1lcmdpbmcgb25seSAodW50aWNrIG1lcmdlIGNvbW1pdHMgYW5kIHJlYmFzZSBtZXJnaW5nKSwgbWF0Y2hpbmcgdGhlIHF1ZXVlJ3MgbWVyZ2UgbWV0aG9kLlxuKiBVbnRpY2sgKipBbGxvdyBhdXRvLW1lcmdlKiosIGJlY2F1c2UgR2l0SHViJ3Mgb3duIGF1dG8tbWVyZ2UgbWVyZ2VzIG91dHNpZGUgdGhlIHF1ZXVlLlxuKiBUaWNrICoqQXV0b21hdGljYWxseSBkZWxldGUgaGVhZCBicmFuY2hlcyoqLlxuXG4jIyBBY3Rpb25zIHNldHRpbmdzXG5cbkluICoqU2V0dGluZ3Mg4oaSIEFjdGlvbnMg4oaSIEdlbmVyYWwqKiwgc2V0ICoqQXBwcm92YWwgZm9yIHJ1bm5pbmcgZm9yayBwdWxsIHJlcXVlc3Qgd29ya2Zsb3dzIGZyb20gY29udHJpYnV0b3JzKiogdG8gKipSZXF1aXJlIGFwcHJvdmFsIGZvciBhbGwgZXh0ZXJuYWwgY29udHJpYnV0b3JzKiouIEEgcHVsbCByZXF1ZXN0IGZyb20gYSBmb3JrIHJ1bnMgaXRzIG93biBjb3B5IG9mIHRoZSB3b3JrZmxvd3MsIHNvIGl0IGNhbiBjaGFuZ2UgaG93IHRoZSByZXF1aXJlZCBjaGVja3MgcGFzcy4ke2NvZGVTY2FubmluZ1NldHRpbmdzfVxuXG4jIyBCcmFuY2ggcnVsZXNldFxuXG5JbiAqKlNldHRpbmdzIOKGkiBSdWxlcyDihpIgUnVsZXNldHMqKiwgY3JlYXRlIGEgYnJhbmNoIHJ1bGVzZXQgd2l0aCBlbmZvcmNlbWVudCAqKkFjdGl2ZSoqIHRoYXQgdGFyZ2V0cyB0aGUgZGVmYXVsdCBicmFuY2gsIGFuZCBzZXQ6XG4qICoqQnlwYXNzIGxpc3QqKjogdGhlICoqTWVyZ2lmeSoqIGFwcCBvbmx5LCBpbiAqKkV4ZW1wdCoqIG1vZGUuIERvIG5vdCBhZGQgYWRtaW5zIG9yIG90aGVyIHJvbGVzLCBhcyBhbnlvbmUgb24gdGhpcyBsaXN0IGNhbiBtZXJnZSB3aXRob3V0IHRoZSBxdWV1ZS5cbiogKipSZXN0cmljdCB1cGRhdGVzKio6IG9ubHkgYnlwYXNzIGFjdG9ycyBjYW4gdXBkYXRlIHRoZSBicmFuY2gsIHNvIHB1bGwgcmVxdWVzdHMgY2Fubm90IGJlIG1lcmdlZCBmcm9tIHRoZSBHaXRIdWIgVUkgb3IgQ0xJIGFuZCBjb21taXRzIGNhbm5vdCBiZSBwdXNoZWQgZGlyZWN0bHkuXG4qICoqUmVzdHJpY3QgZGVsZXRpb25zKiogYW5kICoqQmxvY2sgZm9yY2UgcHVzaGVzKiouXG4qICoqUmVxdWlyZSBhIHB1bGwgcmVxdWVzdCBiZWZvcmUgbWVyZ2luZyoqLCB3aXRoICR7YXBwcm92YWxzfS4gVGljayAqKkRpc21pc3Mgc3RhbGUgcHVsbCByZXF1ZXN0IGFwcHJvdmFscyB3aGVuIG5ldyBjb21taXRzIGFyZSBwdXNoZWQqKiwgc28gdGhhdCBjb21taXRzIHB1c2hlZCBhZnRlciBhbiBhcHByb3ZhbCBuZWVkIGFwcHJvdmluZyBhZ2FpbiBiZWZvcmUgdGhlIHF1ZXVlIG1lcmdlcyB0aGVtLlxuKiAqKlJlcXVpcmUgc3RhdHVzIGNoZWNrcyB0byBwYXNzKiosIGxpc3RpbmcgJHtzdGF0dXNDaGVja3N9LiBMZWF2ZSAqKlJlcXVpcmUgYnJhbmNoZXMgdG8gYmUgdXAgdG8gZGF0ZSBiZWZvcmUgbWVyZ2luZyoqIHVudGlja2VkLCBhcyB0aGUgcXVldWUgYWxyZWFkeSB1cGRhdGVzIGFuZCByZXRlc3RzIGVhY2ggcHVsbCByZXF1ZXN0LiR7Y29kZVNjYW5uaW5nUnVsZX1cblxuRG8gbm90IGVuYWJsZSBHaXRIdWIncyBvd24gKipSZXF1aXJlIG1lcmdlIHF1ZXVlKiogcnVsZSwgYXMgaXQgY29tcGV0ZXMgd2l0aCBNZXJnaWZ5LlxuXG5JZiB0aGUgcXVldWUgaXMgdW5hdmFpbGFibGUgYW5kIGEgY2hhbmdlIGhhcyB0byBiZSBtZXJnZWQsIGFkZCB5b3Vyc2VsZiB0byB0aGUgYnlwYXNzIGxpc3QgdGVtcG9yYXJpbHkgYW5kIHJlbW92ZSB5b3Vyc2VsZiBhZnRlcndhcmRzLiR7YXBwcm92YWxHdWlkYW5jZShjb25maWcpfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVNZXJnaWZ5KFxuICBwcm9qZWN0OiBNZXJnaWZ5UHJvamVjdCxcbiAgb3B0aW9uczogTWVyZ2lmeU9wdGlvbnMgPSB7fSxcbikge1xuICBjb25zdCBtZXJnaWZ5ID0gcHJvamVjdC5naXRodWI/Lm1lcmdpZnk7XG4gIGlmICghbWVyZ2lmeSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIGJ1aWxkIGpvYnMgYW5kIENvZGVRTCBjYW4gYmUgYWRkZWQgYWZ0ZXIgdGhpcywgc28gdGhleSBhcmUgcmVhZCBhdCBzeW50aGVzaXNcbiAgY29uc3QgYnVpbGRKb2JJZHMgPSAoKSA9PiBwcm9qZWN0LmJ1aWxkV29ya2Zsb3c/LmJ1aWxkSm9iSWRzID8/IFtdO1xuICBjb25zdCBjb2RlUWwgPSAoKSA9PlxuICAgIHByb2plY3QuY29tcG9uZW50cy5maW5kKChjKTogYyBpcyBDb2RlUWwgPT4gYyBpbnN0YW5jZW9mIENvZGVRbCk7XG4gIGNvbnN0IGNvZGVTY2FubmluZyA9ICgpID0+IGNvZGVRbCgpICE9PSB1bmRlZmluZWQ7XG5cbiAgcHJvamVjdC5hdXRvTWVyZ2U/LmFkZENvbmRpdGlvbnMoJy1kcmFmdCcpO1xuXG4gIGNvbnN0IGFwcHJvdmVkUmV2aWV3cyA9IG9wdGlvbnMuYXBwcm92ZWRSZXZpZXdzID8/IDE7XG4gIGNvbnN0IHRydXN0ZWRBdXRob3JzID0gb3B0aW9ucy50cnVzdGVkQXV0aG9ycyA/PyBbXTtcbiAgaWYgKHRydXN0ZWRBdXRob3JzLmxlbmd0aCAmJiBhcHByb3ZlZFJldmlld3MpIHtcbiAgICBjb25zdCBhcHByb3ZlZE9yVHJ1c3RlZDogZ2l0aHViLk1lcmdpZnlDb25kaXRpb24gPSB7XG4gICAgICBvcjogW1xuICAgICAgICBgI2FwcHJvdmVkLXJldmlld3MtYnk+PSR7YXBwcm92ZWRSZXZpZXdzfWAsXG4gICAgICAgIC4uLnRydXN0ZWRBdXRob3JzLm1hcCgoYXV0aG9yKSA9PiBgYXV0aG9yPSR7YXV0aG9yfWApLFxuICAgICAgXSxcbiAgICB9O1xuICAgIC8vIHByb2plbiB0eXBlcyBhdXRvIG1lcmdlIGNvbmRpdGlvbnMgYXMgc3RyaW5ncywgYnV0IG1lcmdpZnkgYWNjZXB0cyBvcGVyYXRvcnMgdG9vXG4gICAgcHJvamVjdC5hdXRvTWVyZ2U/LmFkZENvbmRpdGlvbnMoYXBwcm92ZWRPclRydXN0ZWQgYXMgdW5rbm93biBhcyBzdHJpbmcpO1xuICB9XG5cbiAgLy8gTWVyZ2lmeSBpcyBleGVtcHQgZnJvbSB0aGUgcnVsZXNldCdzIGNvZGUgc2Nhbm5pbmcgcnVsZSwgc28gdGhlIHF1ZXVlIGVuZm9yY2VzIGl0IGluc3RlYWRcbiAgcHJvamVjdC5hdXRvTWVyZ2U/LmFkZENvbmRpdGlvbnNMYXRlcih7XG4gICAgcmVuZGVyOiAoKSA9PlxuICAgICAgY29kZVNjYW5uaW5nKCkgPyBbYHN0YXR1cy1zdWNjZXNzPSR7Q29kZVFsLkNIRUNLX05BTUV9YF0gOiBbXSxcbiAgfSk7XG5cbiAgY29uc3QgdXBncmFkZUF1dGhvciA9IGBhdXRob3I9JHtvcHRpb25zLnVwZ3JhZGVBdXRob3IgPz8gJ2VuZG9yLXByb2plbltib3RdJ31gO1xuICBjb25zdCB1cGdyYWRlQ29uZGl0aW9ucyA9IFt1cGdyYWRlQXV0aG9yXTtcbiAgbWVyZ2lmeS5hZGRSdWxlKHtcbiAgICBuYW1lOiAnQXV0b21hdGljIGFwcHJvdmFsIGZvciBwcm9qZW4gdXBncmFkZSBwdWxsIHJlcXVlc3RzJyxcbiAgICBjb25kaXRpb25zOiB1cGdyYWRlQ29uZGl0aW9ucyxcbiAgICBhY3Rpb25zOiB7XG4gICAgICByZXZpZXc6IHtcbiAgICAgICAgdHlwZTogJ0FQUFJPVkUnLFxuICAgICAgICBtZXNzYWdlOiAnQXV0b21hdGljYWxseSBhcHByb3ZpbmcgcHJvamVuIHVwZ3JhZGUnLFxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcblxuICBtZXJnaWZ5LmFkZFJ1bGUoe1xuICAgIG5hbWU6ICdBc3NpZ24gUFIgd2hlbiBjaGVjayBmYWlscycsXG4gICAgY29uZGl0aW9uczogWycjY2hlY2stZmFpbHVyZSA+IDAnXSxcbiAgICBhY3Rpb25zOiB7XG4gICAgICBhc3NpZ246IHtcbiAgICAgICAgYWRkX3VzZXJzOiBvcHRpb25zLmFzc2lnblVzZXJzID8/IFsnZGF2ZXNoZXBoZXJkJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIHByb2plY3QudHJ5RmluZE9iamVjdEZpbGUoJy5tZXJnaWZ5LnltbCcpPy5hZGRPdmVycmlkZShcbiAgICAnbWVyZ2VfcHJvdGVjdGlvbnNfc2V0dGluZ3MucmVwb3J0aW5nX21ldGhvZCcsXG4gICAgb3B0aW9ucy5yZXBvcnRpbmdNZXRob2QgPz8gJ2RlcGxveW1lbnRzJyxcbiAgKTtcblxuICBDb250cmlidXRpbmcub2YocHJvamVjdCkuY29uZmlndXJlTWVyZ2VRdWV1ZShcbiAgICBgJHtxdWV1ZURlc2NyaXB0aW9uKHsgYXBwcm92ZWRSZXZpZXdzLCB0cnVzdGVkQXV0aG9ycyB9KX0sIHRoZSBbTWVyZ2lmeV0oaHR0cHM6Ly9tZXJnaWZ5LmNvbSkgbWVyZ2UgcXVldWUgc3F1YXNoIG1lcmdlcyBpdCwgd2l0aCBpdHMgdGl0bGUgYXMgdGhlIGNvbW1pdCBtZXNzYWdlLiBEcmFmdCBwdWxsIHJlcXVlc3RzIGFuZCB0aG9zZSBsYWJlbGxlZCBcXGBkby1ub3QtbWVyZ2VcXGAgYXJlIG5vdCBtZXJnZWQuYCxcbiAgKTtcblxuICBjb25zdCBjb25maWd1cmF0aW9uID0gKCk6IEdpdGh1YkNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICBhcHByb3ZlZFJldmlld3MsXG4gICAgY29kZVNjYW5uaW5nOiBjb2RlU2Nhbm5pbmcoKSxcbiAgICBjb2RlU2Nhbm5pbmdQYXRoc0lnbm9yZTogY29kZVFsKCk/LnBhdGhzSWdub3JlID8/IFtdLFxuICAgIHJlcXVpcmVkQ2hlY2tzOiBidWlsZEpvYklkcygpLFxuICAgIHRydXN0ZWRBdXRob3JzLFxuICB9KTtcbiAgLy8gdGhlIGd1aWRlIGlzIHJlbmRlcmVkIHdoZW4gdGhlIGZpbGUgaXMgc3ludGhlc2l6ZWQsIGFmdGVyIGV2ZXJ5IGNvbXBvbmVudCBoYXMgYmVlbiBhZGRlZFxuICBuZXcgR2l0aHViQ29uZmlndXJhdGlvbkZpbGUocHJvamVjdCwgKCkgPT5cbiAgICBnaXRodWJDb25maWd1cmF0aW9uR3VpZGUoY29uZmlndXJhdGlvbigpKSxcbiAgKTtcbiAgUmVhZG1lLm9mKHByb2plY3QpPy5hZGRTZWN0aW9uKFxuICAgIEdJVEhVQl9DT05GSUdVUkFUSU9OX1RJVExFLFxuICAgIGBUaGUgb25lLW9mZiBjb25maWd1cmF0aW9uIHRoYXQgdGhpcyByZXBvc2l0b3J5IG5lZWRzIG9uIEdpdEh1Yiwgc3VjaCBhcyB0aGUgTWVyZ2lmeSBtZXJnZSBxdWV1ZSBhbmQgdGhlIGJyYW5jaCBydWxlc2V0LCBpcyBkZXNjcmliZWQgaW4gWyR7R0lUSFVCX0NPTkZJR1VSQVRJT05fRklMRX1dKCR7R0lUSFVCX0NPTkZJR1VSQVRJT05fRklMRX0pLmAsXG4gICAgeyBvcmRlcjogUmVhZG1lT3JkZXIuUkVGRVJFTkNFIH0sXG4gICk7XG5cbiAgbmV3IEJlZm9yZVN5bnRoZXNpcyhwcm9qZWN0LCAoKSA9PiB7XG4gICAgdXBncmFkZUNvbmRpdGlvbnMuc3BsaWNlKFxuICAgICAgMCxcbiAgICAgIHVwZ3JhZGVDb25kaXRpb25zLmxlbmd0aCxcbiAgICAgIHVwZ3JhZGVBdXRob3IsXG4gICAgICAuLi5idWlsZEpvYklkcygpLm1hcCgoaWQpID0+IGBzdGF0dXMtc3VjY2Vzcz0ke2lkfWApLFxuICAgICk7XG4gIH0pO1xufVxuXG5jb25zdCBHSVRIVUJfQ09ORklHVVJBVElPTl9USVRMRSA9ICdHaXRIdWIgQ29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogV2hlcmUgdGhlIGd1aWRlIHRvIGNvbmZpZ3VyaW5nIHRoZSByZXBvc2l0b3J5IG9uIEdpdEh1YiBpcyB3cml0dGVuLCBpbiB0aGVcbiAqIGRvY3MgZGlyZWN0b3J5IGV2ZXJ5IHByb2plY3QgdXNlc1xuICovXG5jb25zdCBHSVRIVUJfQ09ORklHVVJBVElPTl9GSUxFID0gJ2RvY3MvZ2l0aHViLWNvbmZpZ3VyYXRpb24ubWQnO1xuXG4vKipcbiAqIFRoZSBndWlkZSB0byBjb25maWd1cmluZyB0aGUgcmVwb3NpdG9yeSBvbiBHaXRIdWIsIGFzIGl0cyBvd24gbWFya2Rvd24gZmlsZVxuICovXG5jbGFzcyBHaXRodWJDb25maWd1cmF0aW9uRmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJvZHk6ICgpID0+IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgR0lUSFVCX0NPTkZJR1VSQVRJT05fRklMRSwge30pO1xuXG4gICAgLy8gdGhlIGd1aWRlIGlzIGZvciB0aGUgcmVwb3NpdG9yeSdzIG1haW50YWluZXJzLCBub3QgdGhlIHBhY2thZ2UncyB1c2Vyc1xuICAgIGlmIChwcm9qZWN0IGluc3RhbmNlb2YgTm9kZVByb2plY3QpIHtcbiAgICAgIHByb2plY3QubnBtaWdub3JlPy5leGNsdWRlKGAvJHtHSVRIVUJfQ09ORklHVVJBVElPTl9GSUxFfWApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChfOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1hcmtlciA9IHRoaXMubWFya2VyID8gYDwhLS0gJHt0aGlzLm1hcmtlcn0gLS0+XFxuXFxuYCA6ICcnO1xuICAgIHJldHVybiBgJHttYXJrZXJ9IyAke0dJVEhVQl9DT05GSUdVUkFUSU9OX1RJVExFfVxcblxcbiR7dGhpcy5ib2R5KCl9XFxuYDtcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgYSBjYWxsYmFjayBvbmNlIGV2ZXJ5IGNvbXBvbmVudCBoYXMgYmVlbiBhZGRlZCwgYmVmb3JlIGFueSBmaWxlIGlzXG4gKiBzeW50aGVzaXplZFxuICovXG5jbGFzcyBCZWZvcmVTeW50aGVzaXMgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsbGJhY2s6ICgpID0+IHZvaWQsXG4gICkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICB9XG5cbiAgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICB0aGlzLmNhbGxiYWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Section = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  class Section {
6
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "5.7.0" };
6
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "5.7.1" };
7
7
  options;
8
8
  constructor(options) {
9
9
  this.options = options;
@@ -9,7 +9,7 @@ const section_1 = require("./elements/section");
9
9
  * in between
10
10
  */
11
11
  class ReadmeOrder {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "5.7.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "5.7.1" };
13
13
  /**
14
14
  * Sections a reader needs first, such as getting started
15
15
  */
@@ -35,7 +35,7 @@ class ReadmeOrder {
35
35
  }
36
36
  exports.ReadmeOrder = ReadmeOrder;
37
37
  class Readme extends projen_1.FileBase {
38
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "5.7.0" };
38
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "5.7.1" };
39
39
  /**
40
40
  * The README of a project, if it has one
41
41
  */
@@ -78,7 +78,7 @@ function lambdaNodeVersion(runtime) {
78
78
  * @pjid cdk-typescript-app
79
79
  */
80
80
  class CdkTypeScriptApp extends awscdk_1.AwsCdkTypeScriptApp {
81
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "5.7.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "5.7.1" };
82
82
  readme;
83
83
  constructor(options) {
84
84
  const mergedOptions = getOptions(options);
@@ -49,7 +49,7 @@ function getOptions(options) {
49
49
  * @pjid jsii-project
50
50
  */
51
51
  class JsiiProject extends projen_1.cdk.JsiiProject {
52
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "5.7.0" };
52
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "5.7.1" };
53
53
  readme;
54
54
  constructor(options) {
55
55
  const mergedOptions = getOptions(options);
@@ -48,7 +48,7 @@ function getOptions(options) {
48
48
  * @pjid npm-package
49
49
  */
50
50
  class NpmPackage extends projen_1.typescript.TypeScriptProject {
51
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "5.7.0" };
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "5.7.1" };
52
52
  readme;
53
53
  constructor(options) {
54
54
  const mergedOptions = getOptions(options);
@@ -44,7 +44,7 @@ function getOptions(options) {
44
44
  * @pjid python-package
45
45
  */
46
46
  class PythonPackage extends python_1.PythonProject {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "5.7.0" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "5.7.1" };
48
48
  autoMerge;
49
49
  readme;
50
50
  constructor(options) {
package/package.json CHANGED
@@ -83,7 +83,7 @@
83
83
  "publishConfig": {
84
84
  "access": "public"
85
85
  },
86
- "version": "5.7.0",
86
+ "version": "5.7.1",
87
87
  "jest": {
88
88
  "coverageProvider": "v8",
89
89
  "testMatch": [
@@ -1,40 +0,0 @@
1
- <!-- ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". -->
2
-
3
- # GitHub Configuration
4
-
5
- All pull requests are merged by the [Mergify](https://mergify.com) merge queue, configured in `.mergify.yml`. Once a pull request is approved, or is opened by `daveshepherd`, and its checks pass, Mergify queues it, brings it up to date with the default branch, waits for the checks again and squash merges it. Draft pull requests and those labelled `do-not-merge` are not merged.
6
-
7
- The repository must be configured as below so that nothing can be merged without going through the queue.
8
-
9
- ## Mergify
10
-
11
- Install the [Mergify GitHub App](https://github.com/apps/mergify) and give it access to this repository.
12
-
13
- ## Pull request settings
14
-
15
- In **Settings → General → Pull Requests**:
16
- * Allow squash merging only (untick merge commits and rebase merging), matching the queue's merge method.
17
- * Untick **Allow auto-merge**, because GitHub's own auto-merge merges outside the queue.
18
- * Tick **Automatically delete head branches**.
19
-
20
- ## Actions settings
21
-
22
- In **Settings → Actions → General**, set **Approval for running fork pull request workflows from contributors** to **Require approval for all external contributors**. A pull request from a fork runs its own copy of the workflows, so it can change how the required checks pass.
23
-
24
- ## Code scanning
25
-
26
- CodeQL runs from `.github/workflows/codeql.yml`, which is managed by projen. In **Settings → Advanced Security**, leave CodeQL **Default setup** off, because it cannot run alongside this workflow. Under **Protection rules**, keep the **Check run failure threshold** at **High or higher** for security alerts and **Errors** for other alerts, as this decides whether the `CodeQL` check fails. Private repositories also need GitHub Code Security enabled there for code scanning results to be uploaded.
27
-
28
- ## Branch ruleset
29
-
30
- In **Settings → Rules → Rulesets**, create a branch ruleset with enforcement **Active** that targets the default branch, and set:
31
- * **Bypass list**: the **Mergify** app only, in **Exempt** mode. Do not add admins or other roles, as anyone on this list can merge without the queue.
32
- * **Restrict updates**: only bypass actors can update the branch, so pull requests cannot be merged from the GitHub UI or CLI and commits cannot be pushed directly.
33
- * **Restrict deletions** and **Block force pushes**.
34
- * **Require a pull request before merging**, with 0 required approvals, because Mergify requires approvals itself for authors other than `daveshepherd` and is exempt from this rule. Tick **Dismiss stale pull request approvals when new commits are pushed**, so that commits pushed after an approval need approving again before the queue merges them.
35
- * **Require status checks to pass**, listing the checks that `.mergify.yml` waits for: `build`, `package-js`, `package-python`. Leave **Require branches to be up to date before merging** unticked, as the queue already updates and retests each pull request.
36
- * **Require code scanning results**, with the tool **CodeQL**, security alerts set to **High or higher** and alerts set to **Errors**. Mergify is exempt from this rule, so `.mergify.yml` also waits for the `CodeQL` check instead.
37
-
38
- Do not enable GitHub's own **Require merge queue** rule, as it competes with Mergify.
39
-
40
- If the queue is unavailable and a change has to be merged, add yourself to the bypass list temporarily and remove yourself afterwards.