@aws-cdk/integ-runner 2.202.0 → 2.202.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.
@@ -163,4 +163,4 @@ function formatError(error) {
163
163
  }
164
164
  return `${name}: ${message}`;
165
165
  }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdUQSxvQ0FNQztBQU1ELHdEQUlDO0FBS0Qsb0NBK0JDO0FBU0Qsc0NBUUM7QUFFRCxrQ0FTQztBQWhZRCwrQkFBOEI7QUFFOUIsa0RBQTBCO0FBQzFCLGtEQUFvQztBQWdOcEM7O0dBRUc7QUFDSCxJQUFZLGdCQStDWDtBQS9DRCxXQUFZLGdCQUFnQjtJQUMxQjs7O09BR0c7SUFDSCwrQ0FBMkIsQ0FBQTtJQUUzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gsNkNBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCxpREFBNkIsQ0FBQTtJQUU3Qjs7O09BR0c7SUFDSCx1REFBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILHFEQUFpQyxDQUFBO0lBRWpDOztPQUVHO0lBQ0gseURBQXFDLENBQUE7SUFFckM7O09BRUc7SUFDSCxpREFBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILHlEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUEvQ1csZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUErQzNCO0FBMkNELFNBQWdCLFlBQVksQ0FBQyxLQUFhLEVBQUUsTUFBYztJQUN4RCxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0csQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLGVBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxlQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hILENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsT0FBeUI7SUFDOUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFNLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxVQUFzQjtJQUNqRCxRQUFRLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixLQUFLLGdCQUFnQixDQUFDLGdCQUFnQjtZQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakcsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsWUFBWTtZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekcsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsV0FBVztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0YsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsZUFBZTtZQUNuQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsWUFBWTtZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQ3JDLEtBQUssZ0JBQWdCLENBQUMsVUFBVTtZQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsV0FBVztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsZ0JBQWdCO1lBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2SSxNQUFNO0lBQ1YsQ0FBQztJQUNELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxPQUFlLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDN0MsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsU0FBc0I7SUFDbEQsTUFBTSxLQUFLLEdBQUc7UUFDWixJQUFJO1FBQ0osZUFBZSxTQUFTLENBQUMsSUFBSSxPQUFPO1FBQ3BDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDakYsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEtBQVU7SUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDbkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsT0FBTyxHQUFHLElBQUksS0FBSyxPQUFPLEtBQUssZUFBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU8sR0FBRyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUltcGFjdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkZm9ybWF0aW9uLWRpZmYnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ1Rlc3RJbmZvIH0gZnJvbSAnLi4vcnVubmVyL2ludGVncmF0aW9uLXRlc3RzJztcblxuLyoqXG4gKiBUaGUgYWdncmVnYXRlIHJlc3VsdHMgZnJvbSBydW5uaW5nIGFzc2VydGlvbnMgb24gYSB0ZXN0IGNhc2VcbiAqL1xuZXhwb3J0IHR5cGUgQXNzZXJ0aW9uUmVzdWx0cyA9IHsgW2lkOiBzdHJpbmddOiBBc3NlcnRpb25SZXN1bHQgfTtcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGFuIGluZGl2aWR1YWwgYXNzZXJ0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXJ0aW9uUmVzdWx0IHtcbiAgLyoqXG4gICAqIFRoZSBhc3NlcnRpb24gbWVzc2FnZS4gSWYgdGhlIGFzc2VydGlvbiBmYWlsZWQsIHRoaXMgd2lsbFxuICAgKiBpbmNsdWRlIHRoZSByZWFzb24uXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFzc2VydGlvbiBzdWNjZWVkZWQgb3IgZmFpbGVkXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6ICdzdWNjZXNzJyB8ICdmYWlsJztcbn1cblxuLyoqXG4gKiBDb25maWcgZm9yIGFuIGludGVncmF0aW9uIHRlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RXb3JrZXJDb25maWcgZXh0ZW5kcyBJbnRlZ1Rlc3RJbmZvIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhbnkgZGVzdHJ1Y3RpdmUgY2hhbmdlc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdHJ1Y3RpdmVDaGFuZ2VzPzogRGVzdHJ1Y3RpdmVDaGFuZ2VbXTtcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBvbiBhbnkgZGVzdHJ1Y3RpdmUgY2hhbmdlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc3RydWN0aXZlQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBsb2dpY2FsSWQgb2YgdGhlIHJlc291cmNlIHdpdGggYSBkZXN0cnVjdGl2ZSBjaGFuZ2VcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2ljYWxJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2sgdGhhdCBjb250YWlucyB0aGUgZGVzdHJ1Y3RpdmUgY2hhbmdlXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltcGFjdCBvZiB0aGUgZGVzdHJ1Y3RpdmUgY2hhbmdlXG4gICAqL1xuICByZWFkb25seSBpbXBhY3Q6IFJlc291cmNlSW1wYWN0O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgaW50ZWdyYXRpb24gdGVzdHMgbWV0cmljcyBmb3IgYSBnaXZlbiB3b3JrZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1J1bm5lck1ldHJpY3Mge1xuICAvKipcbiAgICogVGhlIHJlZ2lvbiB0aGUgdGVzdCB3YXMgcnVuIGluXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvdGFsIGR1cmF0aW9uIG9mIHRoZSB3b3JrZXIuXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgc3VtIG9mIGFsbCBpbmRpdmlkdWFsIHRlc3QgZHVyYXRpb25zXG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyB0aGUgZHVyYXRpb24gb2YgaW5kaXZpZHVhbCB0ZXN0cyB0aGF0IHRoZVxuICAgKiB3b3JrZXIgZXhlY3V0ZWQuXG4gICAqXG4gICAqIE1hcCBvZiB0ZXN0TmFtZSB0byBkdXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RzOiB7IFt0ZXN0TmFtZTogc3RyaW5nXTogbnVtYmVyIH07XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9maWxlIHRoYXQgd2FzIHVzZWQgdG8gcnVuIHRoZSB0ZXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBwcm9maWxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYXBzaG90VmVyaWZpY2F0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXRhaW4gZmFpbGVkIHNuYXBzaG90IGNvbXBhcmlzb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZXRhaW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJib3NlIG1vZGVcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcmJvc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVncmF0aW9uIHRlc3QgcmVzdWx0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVnQmF0Y2hSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGZhaWxlZCB0ZXN0c1xuICAgKi9cbiAgcmVhZG9ubHkgZmFpbGVkVGVzdHM6IEludGVnVGVzdEluZm9bXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBJbnRlZ3JhdGlvbiB0ZXN0IG1ldHJpY3MuIEVhY2ggZW50cnkgaW4gdGhlXG4gICAqIGxpc3QgcmVwcmVzZW50cyBtZXRyaWNzIGZyb20gYSBzaW5nbGUgd29ya2VyIChhY2NvdW50ICsgcmVnaW9uKS5cbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY3M6IEludGVnUnVubmVyTWV0cmljc1tdO1xufVxuXG4vKipcbiAqIENvbW1vbiBvcHRpb25zIGZvciBydW5uaW5nIGludGVncmF0aW9uIHRlc3RzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgaW50ZWdyYXRpb24gdGVzdHMgdG8gcnVuXG4gICAqIGluIHRoaXMgYmF0Y2hcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RzOiBJbnRlZ1Rlc3RXb3JrZXJDb25maWdbXTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZGVzdHJveSB0aGUgc3RhY2tzIGF0IHRoZVxuICAgKiBlbmQgb2YgdGhlIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoaXMgaXMgc2V0IHRvIGB0cnVlYCB0aGUgc25hcHNob3Qgd2lsbFxuICAgKiBiZSBjcmVhdGVkIF93aXRob3V0XyBydW5uaW5nIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gICAqIFRoZSByZXN1bHRpbmcgc25hcHNob3QgU0hPVUxEIE5PVCBiZSBjaGVja2VkIGluXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgb2YgdmVyYm9zaXR5IGZvciBsb2dnaW5nLlxuICAgKiBIaWdoZXIgbnVtYmVyIG1lYW5zIG1vcmUgb3V0cHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlbiB0aGUgc3RhY2sgdXBkYXRlIHdvcmtmbG93IHdpbGwgYmUgZGlzYWJsZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXBkYXRlV29ya2Zsb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGdpdCB0YWdzIHRvIGRlcGxveSBpbiBzZXF1ZW5jZSBiZWZvcmUgZGVwbG95aW5nIHRoZSBjdXJyZW50IGNvZGUuXG4gICAqIFdoZW4gcHJvdmlkZWQsIHJlcGxhY2VzIHRoZSBub3JtYWwgbWVyZ2UtYmFzZSB1cGRhdGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBub3JtYWwgdXBkYXRlIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSB1cGRhdGVGcm9tVGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiB0cnVlIGlmIHJ1bm5pbmcgaW4gd2F0Y2ggbW9kZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2g/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgdGhlIGluZGljYXRlZCBwcm94eVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHByb3h5XG4gICAqL1xuICByZWFkb25seSBwcm94eT86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSB0byB1c2Ugd2hlbiB2YWxpZGF0aW5nIEhUVFBTIHJlcXVlc3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBDQSBidW5kbGVcbiAgICovXG4gIHJlYWRvbmx5IGNhQnVuZGxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBJQU0gcm9sZSBmb3IgQ2xvdWRGb3JtYXRpb24gdG8gYXNzdW1lIGR1cmluZyBkZXBsb3kvZGVzdHJveVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgYm9vdHN0cmFwIGNmbi1leGVjIHJvbGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgcmVzb3VyY2VzIHRoYXQgZmFpbCB0byBkZWxldGUgZHVyaW5nIGEgc3RhY2sgdXBkYXRlLlxuICAgKlxuICAgKiBXaGVuIGZhbHNlLCB0aGUgdGVzdCB3aWxsIGZhaWwgaWYgQ2xvdWRGb3JtYXRpb24gc2tpcHMgZGVsZXRpbmcgYSByZXNvdXJjZVxuICAgKiBkdXJpbmcgYSBzdGFjayB1cGRhdGUuIFdoZW4gdHJ1ZSwgb25seSBhIHdhcm5pbmcgaXMgcHJpbnRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93RGVsZXRlRmFpbHVyZXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgcG9zc2libGUgcmVhc29ucyBmb3IgYSBkaWFnbm9zdGljXG4gKi9cbmV4cG9ydCBlbnVtIERpYWdub3N0aWNSZWFzb24ge1xuICAvKipcbiAgICogVGhlIGludGVncmF0aW9uIHRlc3QgZmFpbGVkIGJlY2F1c2UgdGhlcmVcbiAgICogaXMgbm90IGV4aXN0aW5nIHNuYXBzaG90XG4gICAqL1xuICBOT19TTkFQU0hPVCA9ICdOT19TTkFQU0hPVCcsXG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZhaWxlZFxuICAgKi9cbiAgVEVTVF9GQUlMRUQgPSAnVEVTVF9GQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBUaGVyZSB3YXMgYW4gZXJyb3IgcnVubmluZyB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKi9cbiAgVEVTVF9FUlJPUiA9ICdURVNUX0VSUk9SJyxcblxuICAvKipcbiAgICogQSBub24tZmFpbGluZyB3YXJuaW5nIGZyb20gdGhlIGludGVncmF0aW9uIHRlc3QgcnVuXG4gICAqL1xuICBURVNUX1dBUk5JTkcgPSAnVEVTVF9XQVJOSU5HJyxcblxuICAvKipcbiAgICogVGhlIHNuYXBzaG90IHRlc3QgZmFpbGVkIGJlY2F1c2UgdGhlIGFjdHVhbFxuICAgKiBzbmFwc2hvdCB3YXMgZGlmZmVyZW50IHRoYW4gdGhlIGV4cGVjdGVkIHNuYXBzaG90XG4gICAqL1xuICBTTkFQU0hPVF9GQUlMRUQgPSAnU05BUFNIT1RfRkFJTEVEJyxcblxuICAvKipcbiAgICogVGhlIHNuYXBzaG90IHRlc3QgZmFpbGVkIGJlY2F1c2UgdGhlcmUgd2FzIGFuIGVycm9yIGV4ZWN1dGluZyBpdFxuICAgKi9cbiAgU05BUFNIT1RfRVJST1IgPSAnU05BUFNIT1RfRVJST1InLFxuXG4gIC8qKlxuICAgKiBUaGUgc25hcHNob3QgdGVzdCBzdWNjZWVkZWRcbiAgICovXG4gIFNOQVBTSE9UX1NVQ0NFU1MgPSAnU05BUFNIT1RfU1VDQ0VTUycsXG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlZ3JhdGlvbiB0ZXN0IHN1Y2NlZWRlZFxuICAgKi9cbiAgVEVTVF9TVUNDRVNTID0gJ1RFU1RfU1VDQ0VTUycsXG5cbiAgLyoqXG4gICAqIFRoZSBhc3NlcnRpb24gZmFpbGVkXG4gICAqL1xuICBBU1NFUlRJT05fRkFJTEVEID0gJ0FTU0VSVElPTl9GQUlMRUQnLFxufVxuXG4vKipcbiAqIEludGVncmF0aW9uIHRlc3QgZGlhZ25vc3RpY3NcbiAqIFRoaXMgaXMgdXNlZCB0byByZXBvcnQgYmFjayB0aGUgc3RhdHVzIG9mIGVhY2ggdGVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERpYWdub3N0aWMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRlc3RcbiAgICovXG4gIHJlYWRvbmx5IHRlc3ROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkaWFnbm9zdGljIG1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpbWUgaXQgdG9vayB0byBydW4gdGhlIHRlc3RcbiAgICovXG4gIHJlYWRvbmx5IGR1cmF0aW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVhc29uIGZvciB0aGUgZGlhZ25vc3RpY1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG1lc3NhZ2VzIHRvIHByaW50XG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsTWVzc2FnZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmVsZXZhbnQgY29uZmlnIG9wdGlvbnMgdGhhdCB3ZXJlIHVzZWQgZm9yIHRoZSBpbnRlZyB0ZXN0XG4gICAqL1xuICByZWFkb25seSBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTdW1tYXJ5KHRvdGFsOiBudW1iZXIsIGZhaWxlZDogbnVtYmVyKTogdm9pZCB7XG4gIGlmIChmYWlsZWQgPiAwKSB7XG4gICAgbG9nZ2VyLnByaW50KCclczogICAgJXMgJXMsICVzIHRvdGFsJywgY2hhbGsuYm9sZCgnVGVzdHMnKSwgY2hhbGsucmVkKGZhaWxlZCksIGNoYWxrLnJlZCgnZmFpbGVkJyksIHRvdGFsKTtcbiAgfSBlbHNlIHtcbiAgICBsb2dnZXIucHJpbnQoJyVzOiAgICAlcyAlcywgJXMgdG90YWwnLCBjaGFsay5ib2xkKCdUZXN0cycpLCBjaGFsay5ncmVlbih0b3RhbCksIGNoYWxrLmdyZWVuKCdwYXNzZWQnKSwgdG90YWwpO1xuICB9XG59XG5cbi8qKlxuICogRm9ybWF0IHRoZSBhc3NlcnRpb24gcmVzdWx0cyBzbyB0aGF0IHRoZSByZXN1bHRzIGNhbiBiZVxuICogcHJpbnRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QXNzZXJ0aW9uUmVzdWx0cyhyZXN1bHRzOiBBc3NlcnRpb25SZXN1bHRzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdHMpXG4gICAgLm1hcCgoW2lkLCByZXN1bHRdKSA9PiBmb3JtYXQoJyVzJXMnLCBpZCwgcmVzdWx0LnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnID8gYCAtICR7cmVzdWx0LnN0YXR1c31gIDogYFxcbiR7cmVzdWx0Lm1lc3NhZ2V9YCkpXG4gICAgLmpvaW4oJ1xcbiAgICAgICcpO1xufVxuXG4vKipcbiAqIFByaW50IG91dCB0aGUgcmVzdWx0cyBmcm9tIHRlc3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFJlc3VsdHMoZGlhZ25vc3RpYzogRGlhZ25vc3RpYyk6IHZvaWQge1xuICBzd2l0Y2ggKGRpYWdub3N0aWMucmVhc29uKSB7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlNOQVBTSE9UX1NVQ0NFU1M6XG4gICAgICBsb2dnZXIuc3VjY2VzcygnICBVTkNIQU5HRUQgICVzICVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uVEVTVF9TVUNDRVNTOlxuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoJyAgU1VDQ0VTUyAgICAlcyAlc1xcbiAgICAgICcsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCkpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLk5PX1NOQVBTSE9UOlxuICAgICAgbG9nZ2VyLmVycm9yKCcgIE5FVyAgICAgICAgJXMgJXMnLCBkaWFnbm9zdGljLnRlc3ROYW1lLCBjaGFsay5ncmF5KGAke2RpYWdub3N0aWMuZHVyYXRpb259c2ApKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGlhZ25vc3RpY1JlYXNvbi5TTkFQU0hPVF9GQUlMRUQ6XG4gICAgICBsb2dnZXIuZXJyb3IoJyAgQ0hBTkdFRCAgICAlcyAlc1xcbiVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSwgaW5kZW50TGluZXMoZGlhZ25vc3RpYy5tZXNzYWdlLCA2KSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uVEVTVF9XQVJOSU5HOlxuICAgICAgbG9nZ2VyLndhcm5pbmcoJyAgV0FSTiAgICAgICAlcyAlc1xcbiVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSwgaW5kZW50TGluZXMoZGlhZ25vc3RpYy5tZXNzYWdlLCA2KSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uU05BUFNIT1RfRVJST1I6XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlRFU1RfRVJST1I6XG4gICAgICBsb2dnZXIuZXJyb3IoJyAgRVJST1IgICAgICAlcyAlc1xcbiVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSwgaW5kZW50TGluZXMoZGlhZ25vc3RpYy5tZXNzYWdlLCA2KSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uVEVTVF9GQUlMRUQ6XG4gICAgICBsb2dnZXIuZXJyb3IoJyAgRkFJTEVEICAgICAlcyAlc1xcbiVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSwgaW5kZW50TGluZXMoZGlhZ25vc3RpYy5tZXNzYWdlLCA2KSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uQVNTRVJUSU9OX0ZBSUxFRDpcbiAgICAgIGxvZ2dlci5lcnJvcignICBBU1NFUlQgICAgICVzICVzXFxuJXMnLCBkaWFnbm9zdGljLnRlc3ROYW1lLCBjaGFsay5ncmF5KGAke2RpYWdub3N0aWMuZHVyYXRpb259c2ApLCBpbmRlbnRMaW5lcyhkaWFnbm9zdGljLm1lc3NhZ2UsIDYpKTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIGZvciAoY29uc3QgYWRkbCBvZiBkaWFnbm9zdGljLmFkZGl0aW9uYWxNZXNzYWdlcyA/PyBbXSkge1xuICAgIGxvZ2dlci5wcmludChgICAgICAgJHthZGRsfWApO1xuICB9XG59XG5cbi8qKlxuICogVGFrZXMgYSBtdWx0aWxpbmUgc3RyaW5nIGFuZCBpbmRlbnRzIGV2ZXJ5IGxpbmUgd2l0aCB0aGUgc2FtZSBudW1iZXIgb2Ygc3BhY2VzLlxuICovXG5mdW5jdGlvbiBpbmRlbnRMaW5lcyhtZXNzYWdlOiBzdHJpbmcsIGNvdW50ID0gMik6IHN0cmluZyB7XG4gIHJldHVybiBtZXNzYWdlLnNwbGl0KCdcXG4nKS5tYXAobGluZSA9PiAnICcucmVwZWF0KGNvdW50KSArIGxpbmUpLmpvaW4oJ1xcbicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRMYWdnYXJkcyh0ZXN0TmFtZXM6IFNldDxzdHJpbmc+KSB7XG4gIGNvbnN0IHBhcnRzID0gW1xuICAgICcgICcsXG4gICAgYFdhaXRpbmcgZm9yICR7dGVzdE5hbWVzLnNpemV9IG1vcmVgLFxuICAgIHRlc3ROYW1lcy5zaXplIDwgMTAgPyBbJygnLCBBcnJheS5mcm9tKHRlc3ROYW1lcykuam9pbignLCAnKSwgJyknXS5qb2luKCcnKSA6ICcnLFxuICBdO1xuXG4gIGxvZ2dlci5wcmludChjaGFsay5ncmV5KHBhcnRzLmZpbHRlcih4ID0+IHgpLmpvaW4oJyAnKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3IoZXJyb3I6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IG5hbWUgPSBlcnJvci5uYW1lIHx8ICdFcnJvcic7XG4gIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IFN0cmluZyhlcnJvcik7XG5cbiAgaWYgKGVycm9yLmNhdXNlKSB7XG4gICAgcmV0dXJuIGAke25hbWV9OiAke21lc3NhZ2V9XFxuJHtjaGFsay5ncmF5KCdDYXVzZTogJyArIGZvcm1hdEVycm9yKGVycm9yLmNhdXNlKSl9YDtcbiAgfVxuXG4gIHJldHVybiBgJHtuYW1lfTogJHttZXNzYWdlfWA7XG59XG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdVQSxvQ0FNQztBQU1ELHdEQUlDO0FBS0Qsb0NBK0JDO0FBU0Qsc0NBUUM7QUFFRCxrQ0FTQztBQWhaRCwrQkFBOEI7QUFFOUIsa0RBQTBCO0FBQzFCLGtEQUFvQztBQWdPcEM7O0dBRUc7QUFDSCxJQUFZLGdCQStDWDtBQS9DRCxXQUFZLGdCQUFnQjtJQUMxQjs7O09BR0c7SUFDSCwrQ0FBMkIsQ0FBQTtJQUUzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gsNkNBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCxpREFBNkIsQ0FBQTtJQUU3Qjs7O09BR0c7SUFDSCx1REFBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILHFEQUFpQyxDQUFBO0lBRWpDOztPQUVHO0lBQ0gseURBQXFDLENBQUE7SUFFckM7O09BRUc7SUFDSCxpREFBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILHlEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUEvQ1csZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUErQzNCO0FBMkNELFNBQWdCLFlBQVksQ0FBQyxLQUFhLEVBQUUsTUFBYztJQUN4RCxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0csQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLGVBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxlQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hILENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsT0FBeUI7SUFDOUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFNLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxVQUFzQjtJQUNqRCxRQUFRLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixLQUFLLGdCQUFnQixDQUFDLGdCQUFnQjtZQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakcsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsWUFBWTtZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekcsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsV0FBVztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0YsTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsZUFBZTtZQUNuQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsWUFBWTtZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQ3JDLEtBQUssZ0JBQWdCLENBQUMsVUFBVTtZQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsV0FBVztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkksTUFBTTtRQUNSLEtBQUssZ0JBQWdCLENBQUMsZ0JBQWdCO1lBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2SSxNQUFNO0lBQ1YsQ0FBQztJQUNELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxPQUFlLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDN0MsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsU0FBc0I7SUFDbEQsTUFBTSxLQUFLLEdBQUc7UUFDWixJQUFJO1FBQ0osZUFBZSxTQUFTLENBQUMsSUFBSSxPQUFPO1FBQ3BDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDakYsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEtBQVU7SUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDbkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsT0FBTyxHQUFHLElBQUksS0FBSyxPQUFPLEtBQUssZUFBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU8sR0FBRyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUltcGFjdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkZm9ybWF0aW9uLWRpZmYnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ1Rlc3RJbmZvIH0gZnJvbSAnLi4vcnVubmVyL2ludGVncmF0aW9uLXRlc3RzJztcblxuLyoqXG4gKiBUaGUgYWdncmVnYXRlIHJlc3VsdHMgZnJvbSBydW5uaW5nIGFzc2VydGlvbnMgb24gYSB0ZXN0IGNhc2VcbiAqL1xuZXhwb3J0IHR5cGUgQXNzZXJ0aW9uUmVzdWx0cyA9IHsgW2lkOiBzdHJpbmddOiBBc3NlcnRpb25SZXN1bHQgfTtcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGFuIGluZGl2aWR1YWwgYXNzZXJ0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXJ0aW9uUmVzdWx0IHtcbiAgLyoqXG4gICAqIFRoZSBhc3NlcnRpb24gbWVzc2FnZS4gSWYgdGhlIGFzc2VydGlvbiBmYWlsZWQsIHRoaXMgd2lsbFxuICAgKiBpbmNsdWRlIHRoZSByZWFzb24uXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFzc2VydGlvbiBzdWNjZWVkZWQgb3IgZmFpbGVkXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6ICdzdWNjZXNzJyB8ICdmYWlsJztcbn1cblxuLyoqXG4gKiBDb25maWcgZm9yIGFuIGludGVncmF0aW9uIHRlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RXb3JrZXJDb25maWcgZXh0ZW5kcyBJbnRlZ1Rlc3RJbmZvIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhbnkgZGVzdHJ1Y3RpdmUgY2hhbmdlc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdHJ1Y3RpdmVDaGFuZ2VzPzogRGVzdHJ1Y3RpdmVDaGFuZ2VbXTtcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBvbiBhbnkgZGVzdHJ1Y3RpdmUgY2hhbmdlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc3RydWN0aXZlQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBsb2dpY2FsSWQgb2YgdGhlIHJlc291cmNlIHdpdGggYSBkZXN0cnVjdGl2ZSBjaGFuZ2VcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2ljYWxJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2sgdGhhdCBjb250YWlucyB0aGUgZGVzdHJ1Y3RpdmUgY2hhbmdlXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltcGFjdCBvZiB0aGUgZGVzdHJ1Y3RpdmUgY2hhbmdlXG4gICAqL1xuICByZWFkb25seSBpbXBhY3Q6IFJlc291cmNlSW1wYWN0O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgaW50ZWdyYXRpb24gdGVzdHMgbWV0cmljcyBmb3IgYSBnaXZlbiB3b3JrZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1J1bm5lck1ldHJpY3Mge1xuICAvKipcbiAgICogVGhlIHJlZ2lvbiB0aGUgdGVzdCB3YXMgcnVuIGluXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvdGFsIGR1cmF0aW9uIG9mIHRoZSB3b3JrZXIuXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgc3VtIG9mIGFsbCBpbmRpdmlkdWFsIHRlc3QgZHVyYXRpb25zXG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyB0aGUgZHVyYXRpb24gb2YgaW5kaXZpZHVhbCB0ZXN0cyB0aGF0IHRoZVxuICAgKiB3b3JrZXIgZXhlY3V0ZWQuXG4gICAqXG4gICAqIE1hcCBvZiB0ZXN0TmFtZSB0byBkdXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RzOiB7IFt0ZXN0TmFtZTogc3RyaW5nXTogbnVtYmVyIH07XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9maWxlIHRoYXQgd2FzIHVzZWQgdG8gcnVuIHRoZSB0ZXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBwcm9maWxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYXBzaG90VmVyaWZpY2F0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSZXRhaW4gZmFpbGVkIHNuYXBzaG90IGNvbXBhcmlzb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZXRhaW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJib3NlIG1vZGVcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcmJvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbiB1bml0IHRlc3QgbW9kZSwgbGVhdmUgdGhlIHN5bnRoIG91dHB1dCBkaXJlY3RvcmllcywgZG9uJ3QgY2xlYW4gdGhlbS5cbiAgICpcbiAgICogTWFueSBvZiBvdXIgdGVzdHMgdXNlIG1vY2tzIGFuZCBkb24ndCBhY3R1YWxseSBzeW50aCBvdXRwdXQgZGlyZWN0b3JpZXMsIHRoZXkgYXJlXG4gICAqIHN0YXRpYyBhbmQgbXVzdCBub3QgYmUgZGVsZXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RpbmdVc2luZ01vY2tzTGVhdmVEaXJlY3Rvcmllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW50ZWdyYXRpb24gdGVzdCByZXN1bHRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdCYXRjaFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZmFpbGVkIHRlc3RzXG4gICAqL1xuICByZWFkb25seSBmYWlsZWRUZXN0czogSW50ZWdUZXN0SW5mb1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIEludGVncmF0aW9uIHRlc3QgbWV0cmljcy4gRWFjaCBlbnRyeSBpbiB0aGVcbiAgICogbGlzdCByZXByZXNlbnRzIG1ldHJpY3MgZnJvbSBhIHNpbmdsZSB3b3JrZXIgKGFjY291bnQgKyByZWdpb24pLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljczogSW50ZWdSdW5uZXJNZXRyaWNzW107XG59XG5cbi8qKlxuICogQ29tbW9uIG9wdGlvbnMgZm9yIHJ1bm5pbmcgaW50ZWdyYXRpb24gdGVzdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBpbnRlZ3JhdGlvbiB0ZXN0cyB0byBydW5cbiAgICogaW4gdGhpcyBiYXRjaFxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdHM6IEludGVnVGVzdFdvcmtlckNvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkZXN0cm95IHRoZSBzdGFja3MgYXQgdGhlXG4gICAqIGVuZCBvZiB0aGUgdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjbGVhbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhpcyBpcyBzZXQgdG8gYHRydWVgIHRoZSBzbmFwc2hvdCB3aWxsXG4gICAqIGJlIGNyZWF0ZWQgX3dpdGhvdXRfIHJ1bm5pbmcgdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICogVGhlIHJlc3VsdGluZyBzbmFwc2hvdCBTSE9VTEQgTk9UIGJlIGNoZWNrZWQgaW5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsZXZlbCBvZiB2ZXJib3NpdHkgZm9yIGxvZ2dpbmcuXG4gICAqIEhpZ2hlciBudW1iZXIgbWVhbnMgbW9yZSBvdXRwdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHJlYWRvbmx5IHZlcmJvc2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSB0aGVuIHRoZSBzdGFjayB1cGRhdGUgd29ya2Zsb3cgd2lsbCBiZSBkaXNhYmxlZFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVXb3JrZmxvdz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZ2l0IHRhZ3MgdG8gZGVwbG95IGluIHNlcXVlbmNlIGJlZm9yZSBkZXBsb3lpbmcgdGhlIGN1cnJlbnQgY29kZS5cbiAgICogV2hlbiBwcm92aWRlZCwgcmVwbGFjZXMgdGhlIG5vcm1hbCBtZXJnZS1iYXNlIHVwZGF0ZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIG5vcm1hbCB1cGRhdGUgd29ya2Zsb3dcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZUZyb21UYWdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIHRydWUgaWYgcnVubmluZyBpbiB3YXRjaCBtb2RlXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3YXRjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgaW5kaWNhdGVkIHByb3h5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcHJveHlcbiAgICovXG4gIHJlYWRvbmx5IHByb3h5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIENBIGNlcnRpZmljYXRlIHRvIHVzZSB3aGVuIHZhbGlkYXRpbmcgSFRUUFMgcmVxdWVzdHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIENBIGJ1bmRsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FCdW5kbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgdGhlIElBTSByb2xlIGZvciBDbG91ZEZvcm1hdGlvbiB0byBhc3N1bWUgZHVyaW5nIGRlcGxveS9kZXN0cm95XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBib290c3RyYXAgY2ZuLWV4ZWMgcm9sZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyByZXNvdXJjZXMgdGhhdCBmYWlsIHRvIGRlbGV0ZSBkdXJpbmcgYSBzdGFjayB1cGRhdGUuXG4gICAqXG4gICAqIFdoZW4gZmFsc2UsIHRoZSB0ZXN0IHdpbGwgZmFpbCBpZiBDbG91ZEZvcm1hdGlvbiBza2lwcyBkZWxldGluZyBhIHJlc291cmNlXG4gICAqIGR1cmluZyBhIHN0YWNrIHVwZGF0ZS4gV2hlbiB0cnVlLCBvbmx5IGEgd2FybmluZyBpcyBwcmludGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZWxldGVGYWlsdXJlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluIHVuaXQgdGVzdCBtb2RlLCBsZWF2ZSB0aGUgc3ludGggb3V0cHV0IGRpcmVjdG9yaWVzLCBkb24ndCBjbGVhbiB0aGVtLlxuICAgKlxuICAgKiBNYW55IG9mIG91ciB0ZXN0cyB1c2UgbW9ja3MgYW5kIGRvbid0IGFjdHVhbGx5IHN5bnRoIG91dHB1dCBkaXJlY3RvcmllcywgdGhleSBhcmVcbiAgICogc3RhdGljIGFuZCBtdXN0IG5vdCBiZSBkZWxldGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdGluZ1VzaW5nTW9ja3NMZWF2ZURpcmVjdG9yaWVzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHBvc3NpYmxlIHJlYXNvbnMgZm9yIGEgZGlhZ25vc3RpY1xuICovXG5leHBvcnQgZW51bSBEaWFnbm9zdGljUmVhc29uIHtcbiAgLyoqXG4gICAqIFRoZSBpbnRlZ3JhdGlvbiB0ZXN0IGZhaWxlZCBiZWNhdXNlIHRoZXJlXG4gICAqIGlzIG5vdCBleGlzdGluZyBzbmFwc2hvdFxuICAgKi9cbiAgTk9fU05BUFNIT1QgPSAnTk9fU05BUFNIT1QnLFxuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdGVzdCBmYWlsZWRcbiAgICovXG4gIFRFU1RfRkFJTEVEID0gJ1RFU1RfRkFJTEVEJyxcblxuICAvKipcbiAgICogVGhlcmUgd2FzIGFuIGVycm9yIHJ1bm5pbmcgdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICovXG4gIFRFU1RfRVJST1IgPSAnVEVTVF9FUlJPUicsXG5cbiAgLyoqXG4gICAqIEEgbm9uLWZhaWxpbmcgd2FybmluZyBmcm9tIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IHJ1blxuICAgKi9cbiAgVEVTVF9XQVJOSU5HID0gJ1RFU1RfV0FSTklORycsXG5cbiAgLyoqXG4gICAqIFRoZSBzbmFwc2hvdCB0ZXN0IGZhaWxlZCBiZWNhdXNlIHRoZSBhY3R1YWxcbiAgICogc25hcHNob3Qgd2FzIGRpZmZlcmVudCB0aGFuIHRoZSBleHBlY3RlZCBzbmFwc2hvdFxuICAgKi9cbiAgU05BUFNIT1RfRkFJTEVEID0gJ1NOQVBTSE9UX0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIFRoZSBzbmFwc2hvdCB0ZXN0IGZhaWxlZCBiZWNhdXNlIHRoZXJlIHdhcyBhbiBlcnJvciBleGVjdXRpbmcgaXRcbiAgICovXG4gIFNOQVBTSE9UX0VSUk9SID0gJ1NOQVBTSE9UX0VSUk9SJyxcblxuICAvKipcbiAgICogVGhlIHNuYXBzaG90IHRlc3Qgc3VjY2VlZGVkXG4gICAqL1xuICBTTkFQU0hPVF9TVUNDRVNTID0gJ1NOQVBTSE9UX1NVQ0NFU1MnLFxuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdGVzdCBzdWNjZWVkZWRcbiAgICovXG4gIFRFU1RfU1VDQ0VTUyA9ICdURVNUX1NVQ0NFU1MnLFxuXG4gIC8qKlxuICAgKiBUaGUgYXNzZXJ0aW9uIGZhaWxlZFxuICAgKi9cbiAgQVNTRVJUSU9OX0ZBSUxFRCA9ICdBU1NFUlRJT05fRkFJTEVEJyxcbn1cblxuLyoqXG4gKiBJbnRlZ3JhdGlvbiB0ZXN0IGRpYWdub3N0aWNzXG4gKiBUaGlzIGlzIHVzZWQgdG8gcmVwb3J0IGJhY2sgdGhlIHN0YXR1cyBvZiBlYWNoIHRlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0ZXN0XG4gICAqL1xuICByZWFkb25seSB0ZXN0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlhZ25vc3RpYyBtZXNzYWdlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGl0IHRvb2sgdG8gcnVuIHRoZSB0ZXN0XG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHJlYXNvbiBmb3IgdGhlIGRpYWdub3N0aWNcbiAgICovXG4gIHJlYWRvbmx5IHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXNzYWdlcyB0byBwcmludFxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbE1lc3NhZ2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJlbGV2YW50IGNvbmZpZyBvcHRpb25zIHRoYXQgd2VyZSB1c2VkIGZvciB0aGUgaW50ZWcgdGVzdFxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlnPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50U3VtbWFyeSh0b3RhbDogbnVtYmVyLCBmYWlsZWQ6IG51bWJlcik6IHZvaWQge1xuICBpZiAoZmFpbGVkID4gMCkge1xuICAgIGxvZ2dlci5wcmludCgnJXM6ICAgICVzICVzLCAlcyB0b3RhbCcsIGNoYWxrLmJvbGQoJ1Rlc3RzJyksIGNoYWxrLnJlZChmYWlsZWQpLCBjaGFsay5yZWQoJ2ZhaWxlZCcpLCB0b3RhbCk7XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLnByaW50KCclczogICAgJXMgJXMsICVzIHRvdGFsJywgY2hhbGsuYm9sZCgnVGVzdHMnKSwgY2hhbGsuZ3JlZW4odG90YWwpLCBjaGFsay5ncmVlbigncGFzc2VkJyksIHRvdGFsKTtcbiAgfVxufVxuXG4vKipcbiAqIEZvcm1hdCB0aGUgYXNzZXJ0aW9uIHJlc3VsdHMgc28gdGhhdCB0aGUgcmVzdWx0cyBjYW4gYmVcbiAqIHByaW50ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEFzc2VydGlvblJlc3VsdHMocmVzdWx0czogQXNzZXJ0aW9uUmVzdWx0cyk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHRzKVxuICAgIC5tYXAoKFtpZCwgcmVzdWx0XSkgPT4gZm9ybWF0KCclcyVzJywgaWQsIHJlc3VsdC5zdGF0dXMgPT09ICdzdWNjZXNzJyA/IGAgLSAke3Jlc3VsdC5zdGF0dXN9YCA6IGBcXG4ke3Jlc3VsdC5tZXNzYWdlfWApKVxuICAgIC5qb2luKCdcXG4gICAgICAnKTtcbn1cblxuLyoqXG4gKiBQcmludCBvdXQgdGhlIHJlc3VsdHMgZnJvbSB0ZXN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRSZXN1bHRzKGRpYWdub3N0aWM6IERpYWdub3N0aWMpOiB2b2lkIHtcbiAgc3dpdGNoIChkaWFnbm9zdGljLnJlYXNvbikge1xuICAgIGNhc2UgRGlhZ25vc3RpY1JlYXNvbi5TTkFQU0hPVF9TVUNDRVNTOlxuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoJyAgVU5DSEFOR0VEICAlcyAlcycsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCkpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlRFU1RfU1VDQ0VTUzpcbiAgICAgIGxvZ2dlci5zdWNjZXNzKCcgIFNVQ0NFU1MgICAgJXMgJXNcXG4gICAgICAnLCBkaWFnbm9zdGljLnRlc3ROYW1lLCBjaGFsay5ncmF5KGAke2RpYWdub3N0aWMuZHVyYXRpb259c2ApKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGlhZ25vc3RpY1JlYXNvbi5OT19TTkFQU0hPVDpcbiAgICAgIGxvZ2dlci5lcnJvcignICBORVcgICAgICAgICVzICVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERpYWdub3N0aWNSZWFzb24uU05BUFNIT1RfRkFJTEVEOlxuICAgICAgbG9nZ2VyLmVycm9yKCcgIENIQU5HRUQgICAgJXMgJXNcXG4lcycsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCksIGluZGVudExpbmVzKGRpYWdub3N0aWMubWVzc2FnZSwgNikpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlRFU1RfV0FSTklORzpcbiAgICAgIGxvZ2dlci53YXJuaW5nKCcgIFdBUk4gICAgICAgJXMgJXNcXG4lcycsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCksIGluZGVudExpbmVzKGRpYWdub3N0aWMubWVzc2FnZSwgNikpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlNOQVBTSE9UX0VSUk9SOlxuICAgIGNhc2UgRGlhZ25vc3RpY1JlYXNvbi5URVNUX0VSUk9SOlxuICAgICAgbG9nZ2VyLmVycm9yKCcgIEVSUk9SICAgICAgJXMgJXNcXG4lcycsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCksIGluZGVudExpbmVzKGRpYWdub3N0aWMubWVzc2FnZSwgNikpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLlRFU1RfRkFJTEVEOlxuICAgICAgbG9nZ2VyLmVycm9yKCcgIEZBSUxFRCAgICAgJXMgJXNcXG4lcycsIGRpYWdub3N0aWMudGVzdE5hbWUsIGNoYWxrLmdyYXkoYCR7ZGlhZ25vc3RpYy5kdXJhdGlvbn1zYCksIGluZGVudExpbmVzKGRpYWdub3N0aWMubWVzc2FnZSwgNikpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEaWFnbm9zdGljUmVhc29uLkFTU0VSVElPTl9GQUlMRUQ6XG4gICAgICBsb2dnZXIuZXJyb3IoJyAgQVNTRVJUICAgICAlcyAlc1xcbiVzJywgZGlhZ25vc3RpYy50ZXN0TmFtZSwgY2hhbGsuZ3JheShgJHtkaWFnbm9zdGljLmR1cmF0aW9ufXNgKSwgaW5kZW50TGluZXMoZGlhZ25vc3RpYy5tZXNzYWdlLCA2KSk7XG4gICAgICBicmVhaztcbiAgfVxuICBmb3IgKGNvbnN0IGFkZGwgb2YgZGlhZ25vc3RpYy5hZGRpdGlvbmFsTWVzc2FnZXMgPz8gW10pIHtcbiAgICBsb2dnZXIucHJpbnQoYCAgICAgICR7YWRkbH1gKTtcbiAgfVxufVxuXG4vKipcbiAqIFRha2VzIGEgbXVsdGlsaW5lIHN0cmluZyBhbmQgaW5kZW50cyBldmVyeSBsaW5lIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIHNwYWNlcy5cbiAqL1xuZnVuY3Rpb24gaW5kZW50TGluZXMobWVzc2FnZTogc3RyaW5nLCBjb3VudCA9IDIpOiBzdHJpbmcge1xuICByZXR1cm4gbWVzc2FnZS5zcGxpdCgnXFxuJykubWFwKGxpbmUgPT4gJyAnLnJlcGVhdChjb3VudCkgKyBsaW5lKS5qb2luKCdcXG4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50TGFnZ2FyZHModGVzdE5hbWVzOiBTZXQ8c3RyaW5nPikge1xuICBjb25zdCBwYXJ0cyA9IFtcbiAgICAnICAnLFxuICAgIGBXYWl0aW5nIGZvciAke3Rlc3ROYW1lcy5zaXplfSBtb3JlYCxcbiAgICB0ZXN0TmFtZXMuc2l6ZSA8IDEwID8gWycoJywgQXJyYXkuZnJvbSh0ZXN0TmFtZXMpLmpvaW4oJywgJyksICcpJ10uam9pbignJykgOiAnJyxcbiAgXTtcblxuICBsb2dnZXIucHJpbnQoY2hhbGsuZ3JleShwYXJ0cy5maWx0ZXIoeCA9PiB4KS5qb2luKCcgJykpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycm9yOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBuYW1lID0gZXJyb3IubmFtZSB8fCAnRXJyb3InO1xuICBjb25zdCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZSB8fCBTdHJpbmcoZXJyb3IpO1xuXG4gIGlmIChlcnJvci5jYXVzZSkge1xuICAgIHJldHVybiBgJHtuYW1lfTogJHttZXNzYWdlfVxcbiR7Y2hhbGsuZ3JheSgnQ2F1c2U6ICcgKyBmb3JtYXRFcnJvcihlcnJvci5jYXVzZSkpfWA7XG4gIH1cblxuICByZXR1cm4gYCR7bmFtZX06ICR7bWVzc2FnZX1gO1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"extract_worker.d.ts","sourceRoot":"","sources":["extract_worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAc,MAAM,WAAW,CAAC;AAEhG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA+EtG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B/E;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA4D7I"}
1
+ {"version":3,"file":"extract_worker.d.ts","sourceRoot":"","sources":["extract_worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAc,MAAM,WAAW,CAAC;AAEhG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgFtG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B/E;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA6D7I"}
@@ -68,6 +68,7 @@ async function integTestWorker(request) {
68
68
  CDK_DOCKER: process.env.CDK_DOCKER ?? 'docker',
69
69
  },
70
70
  showOutput: verbosity >= 2,
71
+ testingUsingMocksLeaveDirectories: request.testingUsingMocksLeaveDirectories,
71
72
  }, testInfo.destructiveChanges);
72
73
  const tests = await runner.actualTests();
73
74
  if (!tests || Object.keys(tests).length === 0) {
@@ -175,6 +176,7 @@ async function snapshotTestWorker(testInfo, options = {}) {
175
176
  const runner = new runner_1.IntegSnapshotRunner({
176
177
  test,
177
178
  showOutput: options.verbose ?? false,
179
+ testingUsingMocksLeaveDirectories: options.testingUsingMocksLeaveDirectories,
178
180
  });
179
181
  if (!runner.hasSnapshot()) {
180
182
  workerpool.workerEmit({
@@ -226,4 +228,4 @@ workerpool.worker({
226
228
  integTestWorker,
227
229
  watchTestWorker,
228
230
  });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdF93b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRyYWN0X3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSwwQ0ErRUM7QUFFRCwwQ0EyQkM7QUFRRCxnREE0REM7QUFqTUQsdURBQXlDO0FBQ3pDLHlDQUFvRTtBQUVwRSxzRUFBMkQ7QUFFM0Qsc0NBQWtGO0FBSWxGOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQ2xFLE1BQU0sUUFBUSxHQUFvQixFQUFFLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFFekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSw2QkFBUyxDQUFDO1lBQ3pCLEdBQUcsUUFBUTtZQUNYLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNyQixDQUFDLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQWUsQ0FBQztnQkFDakMsSUFBSTtnQkFDSixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLEdBQUcsRUFBRTtvQkFDSCxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksUUFBUTtpQkFDL0M7Z0JBQ0QsVUFBVSxFQUFFLFNBQVMsSUFBSSxDQUFDO2FBQzNCLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixD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eEIsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUNwQixPQUFPLEVBQUUsSUFBQSxvQkFBVyxFQUFDLENBQUMsQ0FBQztZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLHlCQUFnQixDQUFDLGNBQWM7WUFDdkMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUk7U0FDeEIsQ0FBQyxDQUFDO0lBQ25CLENBQUM7WUFBUyxDQUFDO1FBQ1QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGVBQWU7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd29ya2VycG9vbCBmcm9tICd3b3JrZXJwb29sJztcbmltcG9ydCB7IEludGVnU25hcHNob3RSdW5uZXIsIEludGVnVGVzdFJ1bm5lciB9IGZyb20gJy4uLy4uL3J1bm5lcic7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdEluZm8gfSBmcm9tICcuLi8uLi9ydW5uZXIvaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0IHsgSW50ZWdUZXN0IH0gZnJvbSAnLi4vLi4vcnVubmVyL2ludGVncmF0aW9uLXRlc3RzJztcbmltcG9ydCB0eXBlIHsgSW50ZWdUZXN0V29ya2VyQ29uZmlnLCBTbmFwc2hvdFZlcmlmaWNhdGlvbk9wdGlvbnMsIERpYWdub3N0aWMgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRGlhZ25vc3RpY1JlYXNvbiwgZm9ybWF0QXNzZXJ0aW9uUmVzdWx0cywgZm9ybWF0RXJyb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ1Rlc3RCYXRjaFJlcXVlc3QgfSBmcm9tICcuLi9pbnRlZy10ZXN0LXdvcmtlcic7XG5pbXBvcnQgdHlwZSB7IEludGVnV2F0Y2hPcHRpb25zIH0gZnJvbSAnLi4vaW50ZWctd2F0Y2gtd29ya2VyJztcblxuLyoqXG4gKiBSdW5zIGEgc2luZ2xlIGludGVncmF0aW9uIHRlc3QgYmF0Y2ggcmVxdWVzdC5cbiAqIElmIHRoZSB0ZXN0IGRvZXMgbm90IGhhdmUgYW4gZXhpc3Rpbmcgc25hcHNob3QsXG4gKiB0aGlzIHdpbGwgZmlyc3QgZ2VuZXJhdGUgYSBzbmFwc2hvdCBhbmQgdGhlbiBleGVjdXRlXG4gKiB0aGUgaW50ZWdyYXRpb24gdGVzdHMuXG4gKlxuICogSWYgdGhlIHRlc3RzIHN1Y2NlZWQgaXQgd2lsbCB0aGVuIHNhdmUgdGhlIHNuYXBzaG90XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnRlZ1Rlc3RXb3JrZXIocmVxdWVzdDogSW50ZWdUZXN0QmF0Y2hSZXF1ZXN0KTogUHJvbWlzZTxJbnRlZ1Rlc3RXb3JrZXJDb25maWdbXT4ge1xuICBjb25zdCBmYWlsdXJlczogSW50ZWdUZXN0SW5mb1tdID0gW107XG4gIGNvbnN0IHZlcmJvc2l0eSA9IHJlcXVlc3QudmVyYm9zaXR5ID8/IDA7XG5cbiAgZm9yIChjb25zdCB0ZXN0SW5mbyBvZiByZXF1ZXN0LnRlc3RzKSB7XG4gICAgY29uc3QgdGVzdCA9IG5ldyBJbnRlZ1Rlc3Qoe1xuICAgICAgLi4udGVzdEluZm8sXG4gICAgICB3YXRjaDogcmVxdWVzdC53YXRjaCxcbiAgICB9KTsgLy8gSHlkcmF0ZSBmcm9tIGRhdGFcbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcnVubmVyID0gbmV3IEludGVnVGVzdFJ1bm5lcih7XG4gICAgICAgIHRlc3QsXG4gICAgICAgIHByb2ZpbGU6IHJlcXVlc3QucHJvZmlsZSxcbiAgICAgICAgcmVnaW9uOiByZXF1ZXN0LnJlZ2lvbixcbiAgICAgICAgcHJveHk6IHJlcXVlc3QucHJveHksXG4gICAgICAgIGNhQnVuZGxlUGF0aDogcmVxdWVzdC5jYUJ1bmRsZVBhdGgsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENES19ET0NLRVI6IHByb2Nlc3MuZW52LkNES19ET0NLRVIgPz8gJ2RvY2tlcicsXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dPdXRwdXQ6IHZlcmJvc2l0eSA+PSAyLFxuICAgICAgfSwgdGVzdEluZm8uZGVzdHJ1Y3RpdmVDaGFuZ2VzKTtcblxuICAgICAgY29uc3QgdGVzdHMgPSBhd2FpdCBydW5uZXIuYWN0dWFsVGVzdHMoKTtcblxuICAgICAgaWYgKCF0ZXN0cyB8fCBPYmplY3Qua2V5cyh0ZXN0cykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gdGVzdHMgZGVmaW5lZCBmb3IgJHtydW5uZXIudGVzdE5hbWV9YCk7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IHRlc3RDYXNlTmFtZSBvZiBPYmplY3Qua2V5cyh0ZXN0cykpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcnVubmVyLnJ1bkludGVnVGVzdENhc2Uoe1xuICAgICAgICAgICAgdGVzdENhc2VOYW1lLFxuICAgICAgICAgICAgY2xlYW46IHJlcXVlc3QuY2xlYW4sXG4gICAgICAgICAgICBkcnlSdW46IHJlcXVlc3QuZHJ5UnVuLFxuICAgICAgICAgICAgdXBkYXRlV29ya2Zsb3c6IHJlcXVlc3QudXBkYXRlV29ya2Zsb3csXG4gICAgICAgICAgICB1cGRhdGVGcm9tVGFnczogcmVxdWVzdC51cGRhdGVGcm9tVGFncyxcbiAgICAgICAgICAgIHZlcmJvc2l0eSxcbiAgICAgICAgICAgIHJvbGVBcm46IHJlcXVlc3Qucm9sZUFybixcbiAgICAgICAgICAgIGFsbG93RGVsZXRlRmFpbHVyZXM6IHJlcXVlc3QuYWxsb3dEZWxldGVGYWlsdXJlcyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAocmVzdWx0cyAmJiBPYmplY3QudmFsdWVzKHJlc3VsdHMpLnNvbWUocmVzdWx0ID0+IHJlc3VsdC5zdGF0dXMgPT09ICdmYWlsJykpIHtcbiAgICAgICAgICAgIGZhaWx1cmVzLnB1c2godGVzdEluZm8pO1xuICAgICAgICAgICAgd29ya2VycG9vbC53b3JrZXJFbWl0KHtcbiAgICAgICAgICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLkFTU0VSVElPTl9GQUlMRUQsXG4gICAgICAgICAgICAgIHRlc3ROYW1lOiBgJHtydW5uZXIudGVzdE5hbWV9LSR7dGVzdENhc2VOYW1lfSAoJHtyZXF1ZXN0LnByb2ZpbGV9LyR7cmVxdWVzdC5yZWdpb259KWAsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGZvcm1hdEFzc2VydGlvblJlc3VsdHMocmVzdWx0cyksXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya2VycG9vbC53b3JrZXJFbWl0KHtcbiAgICAgICAgICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlRFU1RfU1VDQ0VTUyxcbiAgICAgICAgICAgICAgdGVzdE5hbWU6IGAke3J1bm5lci50ZXN0TmFtZX0tJHt0ZXN0Q2FzZU5hbWV9YCxcbiAgICAgICAgICAgICAgbWVzc2FnZTogcmVzdWx0cyA/IGZvcm1hdEFzc2VydGlvblJlc3VsdHMocmVzdWx0cykgOiAnTk8gQVNTRVJUSU9OUycsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBmYWlsdXJlcy5wdXNoKHRlc3RJbmZvKTtcbiAgICAgICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlRFU1RfRkFJTEVELFxuICAgICAgICAgICAgdGVzdE5hbWU6IGAke3J1bm5lci50ZXN0TmFtZX0tJHt0ZXN0Q2FzZU5hbWV9ICgke3JlcXVlc3QucHJvZmlsZX0vJHtyZXF1ZXN0LnJlZ2lvbn0pYCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBJbnRlZ3JhdGlvbiB0ZXN0IGZhaWxlZDogJHtmb3JtYXRFcnJvcihlKX1gLFxuICAgICAgICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGZhaWx1cmVzLnB1c2godGVzdEluZm8pO1xuICAgICAgd29ya2VycG9vbC53b3JrZXJFbWl0KHtcbiAgICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlRFU1RfRVJST1IsXG4gICAgICAgIHRlc3ROYW1lOiBgJHt0ZXN0SW5mby5maWxlTmFtZX0gKCR7cmVxdWVzdC5wcm9maWxlfS8ke3JlcXVlc3QucmVnaW9ufSlgLFxuICAgICAgICBtZXNzYWdlOiBgRXJyb3IgZHVyaW5nIGludGVncmF0aW9uIHRlc3Q6ICR7Zm9ybWF0RXJyb3IoZSl9YCxcbiAgICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWlsdXJlcztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhdGNoVGVzdFdvcmtlcihvcHRpb25zOiBJbnRlZ1dhdGNoT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB2ZXJib3NpdHkgPSBvcHRpb25zLnZlcmJvc2l0eSA/PyAwO1xuICBjb25zdCB0ZXN0ID0gbmV3IEludGVnVGVzdChvcHRpb25zKTtcbiAgY29uc3QgcnVubmVyID0gbmV3IEludGVnVGVzdFJ1bm5lcih7XG4gICAgdGVzdCxcbiAgICBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUsXG4gICAgcmVnaW9uOiBvcHRpb25zLnJlZ2lvbixcbiAgICBwcm94eTogb3B0aW9ucy5wcm94eSxcbiAgICBjYUJ1bmRsZVBhdGg6IG9wdGlvbnMuY2FCdW5kbGVQYXRoLFxuICAgIGVudjoge1xuICAgICAgQ0RLX0RPQ0tFUjogcHJvY2Vzcy5lbnYuQ0RLX0RPQ0tFUiA/PyAnZG9ja2VyJyxcbiAgICB9LFxuICAgIHNob3dPdXRwdXQ6IHZlcmJvc2l0eSA+PSAyLFxuICB9KTtcbiAgcnVubmVyLmNyZWF0ZUNka0NvbnRleHRKc29uKCk7XG4gIGNvbnN0IHRlc3RzID0gYXdhaXQgcnVubmVyLmFjdHVhbFRlc3RzKCk7XG5cbiAgaWYgKCF0ZXN0cyB8fCBPYmplY3Qua2V5cyh0ZXN0cykubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyB0ZXN0cyBkZWZpbmVkIGZvciAke3J1bm5lci50ZXN0TmFtZX1gKTtcbiAgfVxuICBmb3IgKGNvbnN0IHRlc3RDYXNlTmFtZSBvZiBPYmplY3Qua2V5cyh0ZXN0cykpIHtcbiAgICBhd2FpdCBydW5uZXIud2F0Y2hJbnRlZ1Rlc3Qoe1xuICAgICAgdGVzdENhc2VOYW1lLFxuICAgICAgdmVyYm9zaXR5LFxuICAgICAgcm9sZUFybjogb3B0aW9ucy5yb2xlQXJuLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUnVucyBhIHNpbmdsZSBzbmFwc2hvdCB0ZXN0IGJhdGNoIHJlcXVlc3QuXG4gKiBGb3IgZWFjaCBpbnRlZ3JhdGlvbiB0ZXN0IHRoaXMgd2lsbCBjaGVjayB0byBzZWVcbiAqIGlmIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHNuYXBzaG90LCBhbmQgaWYgdGhlcmUgaXMgd2lsbFxuICogY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzbmFwc2hvdFRlc3RXb3JrZXIodGVzdEluZm86IEludGVnVGVzdEluZm8sIG9wdGlvbnM6IFNuYXBzaG90VmVyaWZpY2F0aW9uT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxJbnRlZ1Rlc3RXb3JrZXJDb25maWdbXT4ge1xuICBjb25zdCBmYWlsZWRUZXN0cyA9IG5ldyBBcnJheTxJbnRlZ1Rlc3RXb3JrZXJDb25maWc+KCk7XG4gIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdGVzdCA9IG5ldyBJbnRlZ1Rlc3QodGVzdEluZm8pOyAvLyBIeWRyYXRlIHRoZSBkYXRhIHJlY29yZCBhZ2FpblxuXG4gIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgd29ya2VycG9vbC53b3JrZXJFbWl0KHtcbiAgICAgIHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbi5URVNUX1dBUk5JTkcsXG4gICAgICB0ZXN0TmFtZTogdGVzdC50ZXN0TmFtZSxcbiAgICAgIG1lc3NhZ2U6ICdUZXN0IGlzIHRha2luZyBhIHZlcnkgbG9uZyB0aW1lJyxcbiAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAsXG4gICAgfSk7XG4gIH0sIDYwXzAwMCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBydW5uZXIgPSBuZXcgSW50ZWdTbmFwc2hvdFJ1bm5lcih7XG4gICAgICB0ZXN0LFxuICAgICAgc2hvd091dHB1dDogb3B0aW9ucy52ZXJib3NlID8/IGZhbHNlLFxuICAgIH0pO1xuICAgIGlmICghcnVubmVyLmhhc1NuYXBzaG90KCkpIHtcbiAgICAgIHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICAgIHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbi5OT19TTkFQU0hPVCxcbiAgICAgICAgdGVzdE5hbWU6IHRlc3QudGVzdE5hbWUsXG4gICAgICAgIG1lc3NhZ2U6ICdObyBTbmFwc2hvdCcsXG4gICAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAsXG4gICAgICB9KTtcbiAgICAgIGZhaWxlZFRlc3RzLnB1c2godGVzdC5pbmZvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBkaWFnbm9zdGljcywgZGVzdHJ1Y3RpdmVDaGFuZ2VzIH0gPSBhd2FpdCBydW5uZXIudGVzdFNuYXBzaG90KG9wdGlvbnMpO1xuICAgICAgaWYgKGRpYWdub3N0aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGlhZ25vc3RpY3MuZm9yRWFjaChkaWFnbm9zdGljID0+IHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICAgICAgLi4uZGlhZ25vc3RpYyxcbiAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgICB9IGFzIERpYWdub3N0aWMpKTtcbiAgICAgICAgZmFpbGVkVGVzdHMucHVzaCh7XG4gICAgICAgICAgLi4udGVzdC5pbmZvLFxuICAgICAgICAgIGRlc3RydWN0aXZlQ2hhbmdlcyxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICAgIHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbi5TTkFQU0hPVF9TVUNDRVNTLFxuICAgICAgICAgIHRlc3ROYW1lOiB0ZXN0LnRlc3ROYW1lLFxuICAgICAgICAgIG1lc3NhZ2U6ICdTdWNjZXNzJyxcbiAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgICB9IGFzIERpYWdub3N0aWMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgZmFpbGVkVGVzdHMucHVzaCh0ZXN0LmluZm8pO1xuICAgIHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICBtZXNzYWdlOiBmb3JtYXRFcnJvcihlKSxcbiAgICAgIHRlc3ROYW1lOiB0ZXN0LnRlc3ROYW1lLFxuICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlNOQVBTSE9UX0VSUk9SLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICB9IGFzIERpYWdub3N0aWMpO1xuICB9IGZpbmFsbHkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gIH1cblxuICByZXR1cm4gZmFpbGVkVGVzdHM7XG59XG5cbndvcmtlcnBvb2wud29ya2VyKHtcbiAgc25hcHNob3RUZXN0V29ya2VyLFxuICBpbnRlZ1Rlc3RXb3JrZXIsXG4gIHdhdGNoVGVzdFdvcmtlcixcbn0pO1xuIl19
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdF93b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRyYWN0X3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSwwQ0FnRkM7QUFFRCwwQ0EyQkM7QUFRRCxnREE2REM7QUFuTUQsdURBQXlDO0FBQ3pDLHlDQUFvRTtBQUVwRSxzRUFBMkQ7QUFFM0Qsc0NBQWtGO0FBSWxGOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQ2xFLE1BQU0sUUFBUSxHQUFvQixFQUFFLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFFekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSw2QkFBUyxDQUFDO1lBQ3pCLEdBQUcsUUFBUTtZQUNYLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNyQixDQUFDLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQWUsQ0FBQztnQkFDakMsSUFBSTtnQkFDSixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLEdBQUcsRUFBRTtvQkFDSCxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksUUFBUTtpQkFDL0M7Z0JBQ0QsVUFBVSxFQUFFLFNBQVMsSUFBSSxDQUFDO2dCQUMxQixpQ0FBaUMsRUFBRSxPQUFPLENBQUMs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b0JBQ2xCLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJO2lCQUN4QixDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztRQUNoQixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxJQUFBLG9CQUFXLEVBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixNQUFNLEVBQUUseUJBQWdCLENBQUMsY0FBYztZQUN2QyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSTtTQUN4QixDQUFDLENBQUM7SUFDbkIsQ0FBQztZQUFTLENBQUM7UUFDVCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB3b3JrZXJwb29sIGZyb20gJ3dvcmtlcnBvb2wnO1xuaW1wb3J0IHsgSW50ZWdTbmFwc2hvdFJ1bm5lciwgSW50ZWdUZXN0UnVubmVyIH0gZnJvbSAnLi4vLi4vcnVubmVyJztcbmltcG9ydCB0eXBlIHsgSW50ZWdUZXN0SW5mbyB9IGZyb20gJy4uLy4uL3J1bm5lci9pbnRlZ3JhdGlvbi10ZXN0cyc7XG5pbXBvcnQgeyBJbnRlZ1Rlc3QgfSBmcm9tICcuLi8uLi9ydW5uZXIvaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ1Rlc3RXb3JrZXJDb25maWcsIFNuYXBzaG90VmVyaWZpY2F0aW9uT3B0aW9ucywgRGlhZ25vc3RpYyB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBEaWFnbm9zdGljUmVhc29uLCBmb3JtYXRBc3NlcnRpb25SZXN1bHRzLCBmb3JtYXRFcnJvciB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdEJhdGNoUmVxdWVzdCB9IGZyb20gJy4uL2ludGVnLXRlc3Qtd29ya2VyJztcbmltcG9ydCB0eXBlIHsgSW50ZWdXYXRjaE9wdGlvbnMgfSBmcm9tICcuLi9pbnRlZy13YXRjaC13b3JrZXInO1xuXG4vKipcbiAqIFJ1bnMgYSBzaW5nbGUgaW50ZWdyYXRpb24gdGVzdCBiYXRjaCByZXF1ZXN0LlxuICogSWYgdGhlIHRlc3QgZG9lcyBub3QgaGF2ZSBhbiBleGlzdGluZyBzbmFwc2hvdCxcbiAqIHRoaXMgd2lsbCBmaXJzdCBnZW5lcmF0ZSBhIHNuYXBzaG90IGFuZCB0aGVuIGV4ZWN1dGVcbiAqIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAqXG4gKiBJZiB0aGUgdGVzdHMgc3VjY2VlZCBpdCB3aWxsIHRoZW4gc2F2ZSB0aGUgc25hcHNob3RcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludGVnVGVzdFdvcmtlcihyZXF1ZXN0OiBJbnRlZ1Rlc3RCYXRjaFJlcXVlc3QpOiBQcm9taXNlPEludGVnVGVzdFdvcmtlckNvbmZpZ1tdPiB7XG4gIGNvbnN0IGZhaWx1cmVzOiBJbnRlZ1Rlc3RJbmZvW10gPSBbXTtcbiAgY29uc3QgdmVyYm9zaXR5ID0gcmVxdWVzdC52ZXJib3NpdHkgPz8gMDtcblxuICBmb3IgKGNvbnN0IHRlc3RJbmZvIG9mIHJlcXVlc3QudGVzdHMpIHtcbiAgICBjb25zdCB0ZXN0ID0gbmV3IEludGVnVGVzdCh7XG4gICAgICAuLi50ZXN0SW5mbyxcbiAgICAgIHdhdGNoOiByZXF1ZXN0LndhdGNoLFxuICAgIH0pOyAvLyBIeWRyYXRlIGZyb20gZGF0YVxuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBydW5uZXIgPSBuZXcgSW50ZWdUZXN0UnVubmVyKHtcbiAgICAgICAgdGVzdCxcbiAgICAgICAgcHJvZmlsZTogcmVxdWVzdC5wcm9maWxlLFxuICAgICAgICByZWdpb246IHJlcXVlc3QucmVnaW9uLFxuICAgICAgICBwcm94eTogcmVxdWVzdC5wcm94eSxcbiAgICAgICAgY2FCdW5kbGVQYXRoOiByZXF1ZXN0LmNhQnVuZGxlUGF0aCxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQ0RLX0RPQ0tFUjogcHJvY2Vzcy5lbnYuQ0RLX0RPQ0tFUiA/PyAnZG9ja2VyJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd091dHB1dDogdmVyYm9zaXR5ID49IDIsXG4gICAgICAgIHRlc3RpbmdVc2luZ01vY2tzTGVhdmVEaXJlY3RvcmllczogcmVxdWVzdC50ZXN0aW5nVXNpbmdNb2Nrc0xlYXZlRGlyZWN0b3JpZXMsXG4gICAgICB9LCB0ZXN0SW5mby5kZXN0cnVjdGl2ZUNoYW5nZXMpO1xuXG4gICAgICBjb25zdCB0ZXN0cyA9IGF3YWl0IHJ1bm5lci5hY3R1YWxUZXN0cygpO1xuXG4gICAgICBpZiAoIXRlc3RzIHx8IE9iamVjdC5rZXlzKHRlc3RzKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB0ZXN0cyBkZWZpbmVkIGZvciAke3J1bm5lci50ZXN0TmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGVzdENhc2VOYW1lIG9mIE9iamVjdC5rZXlzKHRlc3RzKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBydW5uZXIucnVuSW50ZWdUZXN0Q2FzZSh7XG4gICAgICAgICAgICB0ZXN0Q2FzZU5hbWUsXG4gICAgICAgICAgICBjbGVhbjogcmVxdWVzdC5jbGVhbixcbiAgICAgICAgICAgIGRyeVJ1bjogcmVxdWVzdC5kcnlSdW4sXG4gICAgICAgICAgICB1cGRhdGVXb3JrZmxvdzogcmVxdWVzdC51cGRhdGVXb3JrZmxvdyxcbiAgICAgICAgICAgIHVwZGF0ZUZyb21UYWdzOiByZXF1ZXN0LnVwZGF0ZUZyb21UYWdzLFxuICAgICAgICAgICAgdmVyYm9zaXR5LFxuICAgICAgICAgICAgcm9sZUFybjogcmVxdWVzdC5yb2xlQXJuLFxuICAgICAgICAgICAgYWxsb3dEZWxldGVGYWlsdXJlczogcmVxdWVzdC5hbGxvd0RlbGV0ZUZhaWx1cmVzLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChyZXN1bHRzICYmIE9iamVjdC52YWx1ZXMocmVzdWx0cykuc29tZShyZXN1bHQgPT4gcmVzdWx0LnN0YXR1cyA9PT0gJ2ZhaWwnKSkge1xuICAgICAgICAgICAgZmFpbHVyZXMucHVzaCh0ZXN0SW5mbyk7XG4gICAgICAgICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICAgICAgICByZWFzb246IERpYWdub3N0aWNSZWFzb24uQVNTRVJUSU9OX0ZBSUxFRCxcbiAgICAgICAgICAgICAgdGVzdE5hbWU6IGAke3J1bm5lci50ZXN0TmFtZX0tJHt0ZXN0Q2FzZU5hbWV9ICgke3JlcXVlc3QucHJvZmlsZX0vJHtyZXF1ZXN0LnJlZ2lvbn0pYCxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZm9ybWF0QXNzZXJ0aW9uUmVzdWx0cyhyZXN1bHRzKSxcbiAgICAgICAgICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICAgICAgICByZWFzb246IERpYWdub3N0aWNSZWFzb24uVEVTVF9TVUNDRVNTLFxuICAgICAgICAgICAgICB0ZXN0TmFtZTogYCR7cnVubmVyLnRlc3ROYW1lfS0ke3Rlc3RDYXNlTmFtZX1gLFxuICAgICAgICAgICAgICBtZXNzYWdlOiByZXN1bHRzID8gZm9ybWF0QXNzZXJ0aW9uUmVzdWx0cyhyZXN1bHRzKSA6ICdOTyBBU1NFUlRJT05TJyxcbiAgICAgICAgICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGZhaWx1cmVzLnB1c2godGVzdEluZm8pO1xuICAgICAgICAgIHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICAgICAgICByZWFzb246IERpYWdub3N0aWNSZWFzb24uVEVTVF9GQUlMRUQsXG4gICAgICAgICAgICB0ZXN0TmFtZTogYCR7cnVubmVyLnRlc3ROYW1lfS0ke3Rlc3RDYXNlTmFtZX0gKCR7cmVxdWVzdC5wcm9maWxlfS8ke3JlcXVlc3QucmVnaW9ufSlgLFxuICAgICAgICAgICAgbWVzc2FnZTogYEludGVncmF0aW9uIHRlc3QgZmFpbGVkOiAke2Zvcm1hdEVycm9yKGUpfWAsXG4gICAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZmFpbHVyZXMucHVzaCh0ZXN0SW5mbyk7XG4gICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICByZWFzb246IERpYWdub3N0aWNSZWFzb24uVEVTVF9FUlJPUixcbiAgICAgICAgdGVzdE5hbWU6IGAke3Rlc3RJbmZvLmZpbGVOYW1lfSAoJHtyZXF1ZXN0LnByb2ZpbGV9LyR7cmVxdWVzdC5yZWdpb259KWAsXG4gICAgICAgIG1lc3NhZ2U6IGBFcnJvciBkdXJpbmcgaW50ZWdyYXRpb24gdGVzdDogJHtmb3JtYXRFcnJvcihlKX1gLFxuICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhaWx1cmVzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2F0Y2hUZXN0V29ya2VyKG9wdGlvbnM6IEludGVnV2F0Y2hPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHZlcmJvc2l0eSA9IG9wdGlvbnMudmVyYm9zaXR5ID8/IDA7XG4gIGNvbnN0IHRlc3QgPSBuZXcgSW50ZWdUZXN0KG9wdGlvbnMpO1xuICBjb25zdCBydW5uZXIgPSBuZXcgSW50ZWdUZXN0UnVubmVyKHtcbiAgICB0ZXN0LFxuICAgIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSxcbiAgICByZWdpb246IG9wdGlvbnMucmVnaW9uLFxuICAgIHByb3h5OiBvcHRpb25zLnByb3h5LFxuICAgIGNhQnVuZGxlUGF0aDogb3B0aW9ucy5jYUJ1bmRsZVBhdGgsXG4gICAgZW52OiB7XG4gICAgICBDREtfRE9DS0VSOiBwcm9jZXNzLmVudi5DREtfRE9DS0VSID8/ICdkb2NrZXInLFxuICAgIH0sXG4gICAgc2hvd091dHB1dDogdmVyYm9zaXR5ID49IDIsXG4gIH0pO1xuICBydW5uZXIuY3JlYXRlQ2RrQ29udGV4dEpzb24oKTtcbiAgY29uc3QgdGVzdHMgPSBhd2FpdCBydW5uZXIuYWN0dWFsVGVzdHMoKTtcblxuICBpZiAoIXRlc3RzIHx8IE9iamVjdC5rZXlzKHRlc3RzKS5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRlc3RzIGRlZmluZWQgZm9yICR7cnVubmVyLnRlc3ROYW1lfWApO1xuICB9XG4gIGZvciAoY29uc3QgdGVzdENhc2VOYW1lIG9mIE9iamVjdC5rZXlzKHRlc3RzKSkge1xuICAgIGF3YWl0IHJ1bm5lci53YXRjaEludGVnVGVzdCh7XG4gICAgICB0ZXN0Q2FzZU5hbWUsXG4gICAgICB2ZXJib3NpdHksXG4gICAgICByb2xlQXJuOiBvcHRpb25zLnJvbGVBcm4sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGEgc2luZ2xlIHNuYXBzaG90IHRlc3QgYmF0Y2ggcmVxdWVzdC5cbiAqIEZvciBlYWNoIGludGVncmF0aW9uIHRlc3QgdGhpcyB3aWxsIGNoZWNrIHRvIHNlZVxuICogaWYgdGhlcmUgaXMgYW4gZXhpc3Rpbmcgc25hcHNob3QsIGFuZCBpZiB0aGVyZSBpcyB3aWxsXG4gKiBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGNoYW5nZXNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNuYXBzaG90VGVzdFdvcmtlcih0ZXN0SW5mbzogSW50ZWdUZXN0SW5mbywgb3B0aW9uczogU25hcHNob3RWZXJpZmljYXRpb25PcHRpb25zID0ge30pOiBQcm9taXNlPEludGVnVGVzdFdvcmtlckNvbmZpZ1tdPiB7XG4gIGNvbnN0IGZhaWxlZFRlc3RzID0gbmV3IEFycmF5PEludGVnVGVzdFdvcmtlckNvbmZpZz4oKTtcbiAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICBjb25zdCB0ZXN0ID0gbmV3IEludGVnVGVzdCh0ZXN0SW5mbyk7IC8vIEh5ZHJhdGUgdGhlIGRhdGEgcmVjb3JkIGFnYWluXG5cbiAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlRFU1RfV0FSTklORyxcbiAgICAgIHRlc3ROYW1lOiB0ZXN0LnRlc3ROYW1lLFxuICAgICAgbWVzc2FnZTogJ1Rlc3QgaXMgdGFraW5nIGEgdmVyeSBsb25nIHRpbWUnLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICB9KTtcbiAgfSwgNjBfMDAwKTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJ1bm5lciA9IG5ldyBJbnRlZ1NuYXBzaG90UnVubmVyKHtcbiAgICAgIHRlc3QsXG4gICAgICBzaG93T3V0cHV0OiBvcHRpb25zLnZlcmJvc2UgPz8gZmFsc2UsXG4gICAgICB0ZXN0aW5nVXNpbmdNb2Nrc0xlYXZlRGlyZWN0b3JpZXM6IG9wdGlvbnMudGVzdGluZ1VzaW5nTW9ja3NMZWF2ZURpcmVjdG9yaWVzLFxuICAgIH0pO1xuICAgIGlmICghcnVubmVyLmhhc1NuYXBzaG90KCkpIHtcbiAgICAgIHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICAgIHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbi5OT19TTkFQU0hPVCxcbiAgICAgICAgdGVzdE5hbWU6IHRlc3QudGVzdE5hbWUsXG4gICAgICAgIG1lc3NhZ2U6ICdObyBTbmFwc2hvdCcsXG4gICAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAsXG4gICAgICB9KTtcbiAgICAgIGZhaWxlZFRlc3RzLnB1c2godGVzdC5pbmZvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBkaWFnbm9zdGljcywgZGVzdHJ1Y3RpdmVDaGFuZ2VzIH0gPSBhd2FpdCBydW5uZXIudGVzdFNuYXBzaG90KG9wdGlvbnMpO1xuICAgICAgaWYgKGRpYWdub3N0aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGlhZ25vc3RpY3MuZm9yRWFjaChkaWFnbm9zdGljID0+IHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICAgICAgLi4uZGlhZ25vc3RpYyxcbiAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgICB9IGFzIERpYWdub3N0aWMpKTtcbiAgICAgICAgZmFpbGVkVGVzdHMucHVzaCh7XG4gICAgICAgICAgLi4udGVzdC5pbmZvLFxuICAgICAgICAgIGRlc3RydWN0aXZlQ2hhbmdlcyxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3b3JrZXJwb29sLndvcmtlckVtaXQoe1xuICAgICAgICAgIHJlYXNvbjogRGlhZ25vc3RpY1JlYXNvbi5TTkFQU0hPVF9TVUNDRVNTLFxuICAgICAgICAgIHRlc3ROYW1lOiB0ZXN0LnRlc3ROYW1lLFxuICAgICAgICAgIG1lc3NhZ2U6ICdTdWNjZXNzJyxcbiAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgICB9IGFzIERpYWdub3N0aWMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgZmFpbGVkVGVzdHMucHVzaCh0ZXN0LmluZm8pO1xuICAgIHdvcmtlcnBvb2wud29ya2VyRW1pdCh7XG4gICAgICBtZXNzYWdlOiBmb3JtYXRFcnJvcihlKSxcbiAgICAgIHRlc3ROYW1lOiB0ZXN0LnRlc3ROYW1lLFxuICAgICAgcmVhc29uOiBEaWFnbm9zdGljUmVhc29uLlNOQVBTSE9UX0VSUk9SLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICB9IGFzIERpYWdub3N0aWMpO1xuICB9IGZpbmFsbHkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gIH1cblxuICByZXR1cm4gZmFpbGVkVGVzdHM7XG59XG5cbndvcmtlcnBvb2wud29ya2VyKHtcbiAgc25hcHNob3RUZXN0V29ya2VyLFxuICBpbnRlZ1Rlc3RXb3JrZXIsXG4gIHdhdGNoVGVzdFdvcmtlcixcbn0pO1xuIl19
@@ -512005,6 +512005,9 @@ var init_toolkit_lib = __esm({
512005
512005
  if (options.output) {
512006
512006
  outdir = path35.join(this.options.workingDirectory, options.output);
512007
512007
  }
512008
+ if (outdir && fs38.pathExistsSync(outdir) && fs38.statSync(outdir).isDirectory()) {
512009
+ return this.toolkit.fromAssemblyDirectory(outdir);
512010
+ }
512008
512011
  return this.toolkit.fromCdkApp(options.app, {
512009
512012
  workingDirectory: this.options.workingDirectory,
512010
512013
  outdir,
@@ -512484,7 +512487,7 @@ var init_cdk_integ_helper = __esm({
512484
512487
  *
512485
512488
  * Relative to cwd.
512486
512489
  */
512487
- cdkOutDir;
512490
+ temporarySnapshotDir;
512488
512491
  /**
512489
512492
  * The profile to use for the CDK CLI calls
512490
512493
  */
@@ -512498,6 +512501,7 @@ var init_cdk_integ_helper = __esm({
512498
512501
  _expectedTestSuite;
512499
512502
  _actualSnapshot;
512500
512503
  _legacyEnableLookups;
512504
+ deleteSynthDirectories;
512501
512505
  /**
512502
512506
  * Fields that require an async context to initialize.
512503
512507
  */
@@ -512514,9 +512518,10 @@ var init_cdk_integ_helper = __esm({
512514
512518
  this.profile = options.profile;
512515
512519
  this.showOutput = options.showOutput ?? false;
512516
512520
  this.cdk = options.cdk ?? makeEngine(options);
512517
- this.cdkOutDir = options.integOutDir ?? this.test.temporaryOutputDir;
512521
+ this.temporarySnapshotDir = options.integOutDir ?? this.test.temporaryOutputDir;
512518
512522
  const testRunCommand = this.test.appCommand;
512519
512523
  this.cdkApp = testRunCommand.replace("{filePath}", path37.relative(this.directory, this.test.fileName));
512524
+ this.deleteSynthDirectories = !options.testingUsingMocksLeaveDirectories;
512520
512525
  }
512521
512526
  /**
512522
512527
  * Async initialization; copy information from an async context into variables so we can access them synchronously later.
@@ -512559,11 +512564,11 @@ var init_cdk_integ_helper = __esm({
512559
512564
  * This will synth and then load the integration test manifest
512560
512565
  */
512561
512566
  async generateActualSnapshot() {
512562
- await this.synthActualSnapshot(this.cdkOutDir);
512563
- const manifest = await this.loadManifest(this.cdkOutDir);
512567
+ await this.synthActualSnapshot(this.temporarySnapshotDir);
512568
+ const manifest = await this._loadManifest(this.temporarySnapshotDir);
512564
512569
  return {
512565
512570
  testDefinition: manifest,
512566
- snapshotDirectory: this.cdkOutDir
512571
+ snapshotDirectory: this.temporarySnapshotDir
512567
512572
  };
512568
512573
  }
512569
512574
  /**
@@ -512590,11 +512595,15 @@ var init_cdk_integ_helper = __esm({
512590
512595
  if (this._legacyEnableLookups === void 0) {
512591
512596
  throw new Error("Must call configureLegacyEnableLookups before generating snapshots");
512592
512597
  }
512598
+ const output = path37.relative(this.directory, outputDirectory);
512599
+ if (this.deleteSynthDirectories) {
512600
+ await fs40.rm(output, { recursive: true, force: true });
512601
+ }
512593
512602
  await this.cdk.synth({
512594
512603
  app: this.cdkApp,
512595
- context: await this.getContext(this._legacyEnableLookups !== false ? DEFAULT_SYNTH_OPTIONS.context : {}),
512604
+ context: this.getContext(this._legacyEnableLookups !== false ? DEFAULT_SYNTH_OPTIONS.context : {}),
512596
512605
  env: DEFAULT_SYNTH_OPTIONS.env,
512597
- output: path37.relative(this.directory, outputDirectory)
512606
+ output
512598
512607
  });
512599
512608
  }
512600
512609
  actualSynthReproCommand() {
@@ -512607,7 +512616,7 @@ var init_cdk_integ_helper = __esm({
512607
512616
  "-a",
512608
512617
  `'${this.cdkApp}'`,
512609
512618
  "-o",
512610
- `'${this.cdkOutDir}'`,
512619
+ `'${this.temporarySnapshotDir}'`,
512611
512620
  ...Object.entries(this.getContext(DEFAULT_SYNTH_OPTIONS.context)).flatMap(([k37, v]) => typeof v !== "object" ? [`-c '${k37}=${v}'`] : [])
512612
512621
  ];
512613
512622
  }
@@ -512623,7 +512632,7 @@ var init_cdk_integ_helper = __esm({
512623
512632
  async expectedTestSuite() {
512624
512633
  await this.asyncInitialize();
512625
512634
  if (!this._expectedTestSuite && this.hasSnapshot()) {
512626
- this._expectedTestSuite = await this.loadManifest();
512635
+ this._expectedTestSuite = await this._loadManifest(this.goldenSnapshotDir);
512627
512636
  }
512628
512637
  return this._expectedTestSuite;
512629
512638
  }
@@ -512651,10 +512660,12 @@ var init_cdk_integ_helper = __esm({
512651
512660
  * First we try and load the manifest from the integ manifest (i.e. integ.json)
512652
512661
  * from the cloud assembly. If it doesn't exist, then we fallback to the
512653
512662
  * "legacy mode" and create a manifest from pragma
512663
+ *
512664
+ * @internal
512654
512665
  */
512655
- async loadManifest(dir) {
512666
+ async _loadManifest(dir) {
512656
512667
  await this.asyncInitialize();
512657
- const manifest = dir ?? this.goldenSnapshotDir;
512668
+ const manifest = dir;
512658
512669
  try {
512659
512670
  const testSuite = IntegTestSuite.fromPath(manifest);
512660
512671
  return testSuite;
@@ -512678,7 +512689,7 @@ var init_cdk_integ_helper = __esm({
512678
512689
  all: true,
512679
512690
  app: this.cdkApp,
512680
512691
  profile: this.profile,
512681
- output: path37.relative(this.directory, this.cdkOutDir)
512692
+ output: path37.relative(this.directory, this.temporarySnapshotDir)
512682
512693
  }
512683
512694
  });
512684
512695
  this.legacyContext = LegacyIntegTestSuite.getPragmaContext(this.test.fileName);
@@ -512686,7 +512697,7 @@ var init_cdk_integ_helper = __esm({
512686
512697
  }
512687
512698
  }
512688
512699
  cleanup() {
512689
- const cdkOutPath = this.cdkOutDir;
512700
+ const cdkOutPath = this.temporarySnapshotDir;
512690
512701
  if (fs40.existsSync(cdkOutPath)) {
512691
512702
  fs40.removeSync(cdkOutPath);
512692
512703
  }
@@ -512764,9 +512775,6 @@ var init_cdk_integ_helper = __esm({
512764
512775
  */
512765
512776
  async createSnapshot() {
512766
512777
  await this.asyncInitialize();
512767
- if (fs40.existsSync(this.goldenSnapshotDir)) {
512768
- fs40.removeSync(this.goldenSnapshotDir);
512769
- }
512770
512778
  await this.synthActualSnapshot(this.goldenSnapshotDir);
512771
512779
  await this.cleanupGoldenSnapshot();
512772
512780
  }
@@ -513142,7 +513150,7 @@ ${details}`;
513142
513150
  all: true,
513143
513151
  force: true,
513144
513152
  app: this.helper.cdkApp,
513145
- output: path38.relative(this.helper.directory, this.helper.cdkOutDir),
513153
+ output: path38.relative(this.helper.directory, this.helper.temporarySnapshotDir),
513146
513154
  ...actualTestCase.cdkCommandOptions?.destroy?.args,
513147
513155
  context: this.helper.getContext(actualTestCase.cdkCommandOptions?.destroy?.args?.context),
513148
513156
  roleArn: options.roleArn ?? actualTestCase.cdkCommandOptions?.destroy?.args?.roleArn,
@@ -513203,8 +513211,8 @@ ${details}`;
513203
513211
  ...actualTestCase.stacks,
513204
513212
  ...actualTestCase.assertionStack ? [actualTestCase.assertionStack] : []
513205
513213
  ],
513206
- output: path38.relative(this.helper.directory, this.helper.cdkOutDir),
513207
- outputsFile: path38.relative(this.helper.directory, path38.join(this.helper.cdkOutDir, "assertion-results.json")),
513214
+ output: path38.relative(this.helper.directory, this.helper.temporarySnapshotDir),
513215
+ outputsFile: path38.relative(this.helper.directory, path38.join(this.helper.temporarySnapshotDir, "assertion-results.json")),
513208
513216
  ...actualTestCase?.cdkCommandOptions?.deploy?.args,
513209
513217
  context: {
513210
513218
  ...this.helper.getContext(actualTestCase?.cdkCommandOptions?.deploy?.args?.context)
@@ -513231,7 +513239,7 @@ ${details}`;
513231
513239
  ` ${[
513232
513240
  "cdk synth",
513233
513241
  `-a '${this.helper.cdkApp}'`,
513234
- `-o '${this.helper.cdkOutDir}'`,
513242
+ `-o '${this.helper.temporarySnapshotDir}'`,
513235
513243
  ...Object.entries(this.helper.getContext()).flatMap(([k37, v]) => typeof v !== "object" ? [`-c '${k37}=${v}'`] : []),
513236
513244
  watchArgs.stacks.join(" "),
513237
513245
  `--outputs-file ${watchArgs.outputsFile}`,
@@ -513241,8 +513249,8 @@ ${details}`;
513241
513249
  ]
513242
513250
  });
513243
513251
  }
513244
- const assertionResults = path38.join(this.helper.cdkOutDir, "assertion-results.json");
513245
- const watcher = watch([this.helper.cdkOutDir], {
513252
+ const assertionResults = path38.join(this.helper.temporarySnapshotDir, "assertion-results.json");
513253
+ const watcher = watch([this.helper.temporarySnapshotDir], {
513246
513254
  cwd: this.helper.directory
513247
513255
  });
513248
513256
  watcher.on("all", (event, file) => {
@@ -513349,7 +513357,7 @@ ${details}`;
513349
513357
  stacks: [
513350
513358
  ...actualTestCase.stacks
513351
513359
  ],
513352
- output: path38.relative(this.helper.directory, this.helper.cdkOutDir),
513360
+ output: path38.relative(this.helper.directory, this.helper.temporarySnapshotDir),
513353
513361
  ...actualTestCase?.cdkCommandOptions?.deploy?.args,
513354
513362
  context: this.helper.getContext(actualTestCase?.cdkCommandOptions?.deploy?.args?.context),
513355
513363
  app: this.helper.cdkApp
@@ -513373,9 +513381,9 @@ These resources are no longer managed by CloudFormation but still exist and may
513373
513381
  actualTestCase.assertionStack
513374
513382
  ],
513375
513383
  rollback: false,
513376
- output: path38.relative(this.helper.directory, this.helper.cdkOutDir),
513384
+ output: path38.relative(this.helper.directory, this.helper.temporarySnapshotDir),
513377
513385
  ...actualTestCase?.cdkCommandOptions?.deploy?.args,
513378
- outputsFile: path38.relative(this.helper.directory, path38.join(this.helper.cdkOutDir, "assertion-results.json")),
513386
+ outputsFile: path38.relative(this.helper.directory, path38.join(this.helper.temporarySnapshotDir, "assertion-results.json")),
513379
513387
  context: this.helper.getContext(actualTestCase?.cdkCommandOptions?.deploy?.args?.context),
513380
513388
  app: this.helper.cdkApp
513381
513389
  });
@@ -513389,7 +513397,7 @@ These resources are no longer managed by CloudFormation but still exist and may
513389
513397
  }
513390
513398
  if (actualTestCase.assertionStack && actualTestCase.assertionStackName) {
513391
513399
  return this.processAssertionResults(
513392
- path38.join(this.helper.cdkOutDir, "assertion-results.json"),
513400
+ path38.join(this.helper.temporarySnapshotDir, "assertion-results.json"),
513393
513401
  actualTestCase.assertionStackName,
513394
513402
  actualTestCase.assertionStack
513395
513403
  );
@@ -513497,14 +513505,14 @@ var init_snapshot_test_runner = __esm({
513497
513505
  const expectedSnapshotAssembly = this.getSnapshotAssembly(this.helper.goldenSnapshotDir, expectedTestSuite?.stacks);
513498
513506
  this.helper.configureLegacyEnableLookups(expectedTestSuite?.enableLookups ?? false);
513499
513507
  const actualSnapshot = await this.helper.actualSnapshot();
513500
- const actualSnapshotAssembly = this.getSnapshotAssembly(this.helper.cdkOutDir, actualSnapshot.testDefinition.stacks);
513508
+ const actualSnapshotAssembly = this.getSnapshotAssembly(this.helper.temporarySnapshotDir, actualSnapshot.testDefinition.stacks);
513501
513509
  const diagnostics = await this.diffAssembly(expectedSnapshotAssembly, actualSnapshotAssembly);
513502
513510
  if (diagnostics.diagnostics.length) {
513503
513511
  const additionalMessages = [];
513504
513512
  if (options.retain) {
513505
513513
  additionalMessages.push(
513506
513514
  `(Failure retained) Expected: ${path39.relative(process.cwd(), this.helper.goldenSnapshotDir)}`,
513507
- ` Actual: ${path39.relative(process.cwd(), this.helper.cdkOutDir)}`
513515
+ ` Actual: ${path39.relative(process.cwd(), this.helper.temporarySnapshotDir)}`
513508
513516
  ), doClean = false;
513509
513517
  }
513510
513518
  if (options.verbose) {
@@ -513954,7 +513962,8 @@ async function integTestWorker(request3) {
513954
513962
  env: {
513955
513963
  CDK_DOCKER: process.env.CDK_DOCKER ?? "docker"
513956
513964
  },
513957
- showOutput: verbosity >= 2
513965
+ showOutput: verbosity >= 2,
513966
+ testingUsingMocksLeaveDirectories: request3.testingUsingMocksLeaveDirectories
513958
513967
  }, testInfo.destructiveChanges);
513959
513968
  const tests = await runner.actualTests();
513960
513969
  if (!tests || Object.keys(tests).length === 0) {
@@ -514052,7 +514061,8 @@ async function snapshotTestWorker(testInfo, options = {}) {
514052
514061
  try {
514053
514062
  const runner = new IntegSnapshotRunner({
514054
514063
  test,
514055
- showOutput: options.verbose ?? false
514064
+ showOutput: options.verbose ?? false,
514065
+ testingUsingMocksLeaveDirectories: options.testingUsingMocksLeaveDirectories
514056
514066
  });
514057
514067
  if (!runner.hasSnapshot()) {
514058
514068
  workerpool2.workerEmit({
@@ -12,6 +12,13 @@ export interface IntegTestBatchRequest extends IntegTestOptions {
12
12
  * The AWS profile to use when running this test
13
13
  */
14
14
  readonly profile?: string;
15
+ /**
16
+ * In unit test mode, leave the synth output directories, don't clean them.
17
+ *
18
+ * Many of our tests use mocks and don't actually synth output directories, they are
19
+ * static and must not be deleted.
20
+ */
21
+ readonly testingUsingMocksLeaveDirectories?: boolean;
15
22
  }
16
23
  /**
17
24
  * Options for running all integration tests
@@ -1 +1 @@
1
- {"version":3,"file":"integ-test-worker.d.ts","sourceRoot":"","sources":["integ-test-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,UAAU,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMzF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAepI;AA4CD;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqD7B"}
1
+ {"version":3,"file":"integ-test-worker.d.ts","sourceRoot":"","sources":["integ-test-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,UAAU,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMzF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAEtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAepI;AA4CD;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqD7B"}
@@ -134,4 +134,4 @@ async function runIntegrationTestsInParallel(options) {
134
134
  await Promise.all(workers);
135
135
  return results;
136
136
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy10ZXN0LXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStDQSxrREFlQztBQWlERCxzRUF1REM7QUFwS0QscUNBQXNEO0FBQ3RELGtEQUFvQztBQUVwQyxvQ0FBbUM7QUF1Q25DOztHQUVHO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQTRCO0lBQ3BFLE1BQU0sQ0FBQyxTQUFTLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN0RSxNQUFNLENBQUMsS0FBSyxDQUNWLDBDQUEwQyxFQUMxQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFDckUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUV4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxJQUFBLHFCQUFZLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsT0FBTztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztLQUMzQixDQUFDO0FBQ0osQ0FBQztBQW9CRDs7O0dBR0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWlCLEVBQUUsUUFBbUI7SUFDL0QsTUFBTSxPQUFPLEdBQW9C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QUMsRUFBRTtRQUMzQixNQUFNLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSTtZQUNyQyxLQUFLO1NBQ04sQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSwyQ0FBMkM7SUFDM0Msd0VBQXdFO0lBQ3hFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyB3b3JrZXJwb29sIGZyb20gJ3dvcmtlcnBvb2wnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ0JhdGNoUmVzcG9uc2UsIEludGVnVGVzdE9wdGlvbnMsIEludGVnUnVubmVyTWV0cmljcyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IHByaW50UmVzdWx0cywgcHJpbnRTdW1tYXJ5IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0ICogYXMgbG9nZ2VyIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdEluZm8gfSBmcm9tICcuLi9ydW5uZXIvaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGJhdGNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdUZXN0QmF0Y2hSZXF1ZXN0IGV4dGVuZHMgSW50ZWdUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiB0byBydW4gdGhpcyBiYXRjaCBpblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgcHJvZmlsZSB0byB1c2Ugd2hlbiBydW5uaW5nIHRoaXMgdGVzdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBydW5uaW5nIGFsbCBpbnRlZ3JhdGlvbiB0ZXN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVnVGVzdFJ1bk9wdGlvbnMgZXh0ZW5kcyBJbnRlZ1Rlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSByZWdpb25zIHRvIHJ1biB0aGUgaW50ZWdyYXRpb24gdGVzdHMgYWNyb3NzLlxuICAgKiBUaGlzIGFsbG93cyB0aGUgcnVubmVyIHRvIHJ1biBpbnRlZ3JhdGlvbiB0ZXN0cyBpbiBwYXJhbGxlbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgQVdTIHByb2ZpbGVzLiBUaGlzIHdpbGwgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGByZWdpb25zYFxuICAgKiB0byBydW4gdGVzdHMgaW4gcGFyYWxsZWwgYWNyb3NzIGFjY291bnRzICsgcmVnaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHdvcmtlcnBvb2wgdG8gdXNlXG4gICAqL1xuICByZWFkb25seSBwb29sOiB3b3JrZXJwb29sLldvcmtlclBvb2w7XG59XG5cbi8qKlxuICogUnVuIEludGVncmF0aW9uIHRlc3RzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuSW50ZWdyYXRpb25UZXN0cyhvcHRpb25zOiBJbnRlZ1Rlc3RSdW5PcHRpb25zKTogUHJvbWlzZTx7IHN1Y2Nlc3M6IGJvb2xlYW47IG1ldHJpY3M6IEludGVnUnVubmVyTWV0cmljc1tdIH0+IHtcbiAgbG9nZ2VyLmhpZ2hsaWdodCgnXFxuUnVubmluZyBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgZmFpbGVkIHRlc3RzLi4uXFxuJyk7XG4gIGxvZ2dlci5wcmludChcbiAgICAnUnVubmluZyBpbiBwYXJhbGxlbCBhY3Jvc3MgJXNyZWdpb25zOiAlcycsXG4gICAgb3B0aW9ucy5wcm9maWxlcyA/IGBwcm9maWxlcyAke29wdGlvbnMucHJvZmlsZXMuam9pbignLCAnKX0gYW5kIGA6ICcnLFxuICAgIG9wdGlvbnMucmVnaW9ucy5qb2luKCcsICcpKTtcbiAgY29uc3QgdG90YWxUZXN0cyA9IG9wdGlvbnMudGVzdHMubGVuZ3RoO1xuXG4gIGNvbnN0IHJlc3BvbnNlcyA9IGF3YWl0IHJ1bkludGVncmF0aW9uVGVzdHNJblBhcmFsbGVsKG9wdGlvbnMpO1xuICBsb2dnZXIuaGlnaGxpZ2h0KCdcXG5UZXN0IFJlc3VsdHM6IFxcbicpO1xuICBwcmludFN1bW1hcnkodG90YWxUZXN0cywgcmVzcG9uc2VzLmZhaWxlZFRlc3RzLmxlbmd0aCk7XG4gIHJldHVybiB7XG4gICAgc3VjY2VzczogcmVzcG9uc2VzLmZhaWxlZFRlc3RzLmxlbmd0aCA9PT0gMCxcbiAgICBtZXRyaWNzOiByZXNwb25zZXMubWV0cmljcyxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgd29ya2VyIGZvciBhIHNpbmdsZSBhY2NvdW50ICsgcmVnaW9uXG4gKi9cbmludGVyZmFjZSBBY2NvdW50V29ya2VyIHtcbiAgLyoqXG4gICAqIFRoZSByZWdpb24gdGhlIHdvcmtlciBzaG91bGQgcnVuIGluXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyBwcm9maWxlIHRoYXQgdGhlIHdvcmtlciBzaG91bGQgdXNlXG4gICAqIFRoaXMgd2lsbCBiZSBwYXNzZWQgYXMgdGhlICctLXByb2ZpbGUnIG9wdGlvbiB0byB0aGUgQ0RLIENMSVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgcHJvZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBBY2NvdW50V29ya2VycyBiYXNlZCBvbiB0aGUgbGlzdCBvZiByZWdpb25zIGFuZCBwcm9maWxlc1xuICogZ2l2ZW4gdG8gdGhlIENMSS5cbiAqL1xuZnVuY3Rpb24gZ2V0QWNjb3VudFdvcmtlcnMocmVnaW9uczogc3RyaW5nW10sIHByb2ZpbGVzPzogc3RyaW5nW10pOiBBY2NvdW50V29ya2VyW10ge1xuICBjb25zdCB3b3JrZXJzOiBBY2NvdW50V29ya2VyW10gPSBbXTtcbiAgZnVuY3Rpb24gcHVzaFdvcmtlcihwcm9maWxlPzogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCByZWdpb24gb2YgcmVnaW9ucykge1xuICAgICAgd29ya2Vycy5wdXNoKHtcbiAgICAgICAgcmVnaW9uLFxuICAgICAgICBwcm9maWxlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGlmIChwcm9maWxlcyAmJiBwcm9maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgZm9yIChjb25zdCBwcm9maWxlIG9mIHByb2ZpbGVzID8/IFtdKSB7XG4gICAgICBwdXNoV29ya2VyKHByb2ZpbGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwdXNoV29ya2VyKCk7XG4gIH1cbiAgcmV0dXJuIHdvcmtlcnM7XG59XG5cbi8qKlxuICogUnVucyBhIHNldCBvZiBpbnRlZ3JhdGlvbiB0ZXN0cyBpbiBwYXJhbGxlbCBhY3Jvc3MgYSBsaXN0IG9mIEFXUyByZWdpb25zLlxuICogT25seSBhIHNpbmdsZSB0ZXN0IGNhbiBiZSBydW4gYXQgYSB0aW1lIGluIGEgZ2l2ZW4gcmVnaW9uLiBPbmNlIGEgcmVnaW9uXG4gKiBpcyBkb25lIHJ1bm5pbmcgYSB0ZXN0LCB0aGUgbmV4dCB0ZXN0IHdpbGwgYmUgcHVsbGVkIGZyb20gdGhlIHF1ZXVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5JbnRlZ3JhdGlvblRlc3RzSW5QYXJhbGxlbChcbiAgb3B0aW9uczogSW50ZWdUZXN0UnVuT3B0aW9ucyxcbik6IFByb21pc2U8SW50ZWdCYXRjaFJlc3BvbnNlPiB7XG4gIGNvbnN0IHF1ZXVlID0gb3B0aW9ucy50ZXN0cztcbiAgY29uc3QgcmVzdWx0czogSW50ZWdCYXRjaFJlc3BvbnNlID0ge1xuICAgIG1ldHJpY3M6IFtdLFxuICAgIGZhaWxlZFRlc3RzOiBbXSxcbiAgfTtcbiAgY29uc3QgYWNjb3VudFdvcmtlcnM6IEFjY291bnRXb3JrZXJbXSA9IGdldEFjY291bnRXb3JrZXJzKG9wdGlvbnMucmVnaW9ucywgb3B0aW9ucy5wcm9maWxlcyk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCh3b3JrZXI6IEFjY291bnRXb3JrZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgY29uc3QgdGVzdHM6IHsgW3Rlc3ROYW1lOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICAgIGRvIHtcbiAgICAgIGNvbnN0IHRlc3QgPSBxdWV1ZS5wb3AoKTtcbiAgICAgIGlmICghdGVzdCkgYnJlYWs7XG4gICAgICBjb25zdCB0ZXN0U3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgbG9nZ2VyLmhpZ2hsaWdodChgUnVubmluZyB0ZXN0ICR7dGVzdC5maWxlTmFtZX0gaW4gJHt3b3JrZXIucHJvZmlsZSA/IHdvcmtlci5wcm9maWxlICsgJy8nIDogJyd9JHt3b3JrZXIucmVnaW9ufWApO1xuICAgICAgY29uc3QgcmVzcG9uc2U6IEludGVnVGVzdEluZm9bXVtdID0gYXdhaXQgb3B0aW9ucy5wb29sLmV4ZWMoJ2ludGVnVGVzdFdvcmtlcicsIFt7XG4gICAgICAgIHdhdGNoOiBvcHRpb25zLndhdGNoLFxuICAgICAgICByZWdpb246IHdvcmtlci5yZWdpb24sXG4gICAgICAgIHByb2ZpbGU6IHdvcmtlci5wcm9maWxlLFxuICAgICAgICB0ZXN0czogW3Rlc3RdLFxuICAgICAgICBjbGVhbjogb3B0aW9ucy5jbGVhbixcbiAgICAgICAgZHJ5UnVuOiBvcHRpb25zLmRyeVJ1bixcbiAgICAgICAgdmVyYm9zaXR5OiBvcHRpb25zLnZlcmJvc2l0eSxcbiAgICAgICAgdXBkYXRlV29ya2Zsb3c6IG9wdGlvbnMudXBkYXRlV29ya2Zsb3csXG4gICAgICAgIHVwZGF0ZUZyb21UYWdzOiBvcHRpb25zLnVwZGF0ZUZyb21UYWdzLFxuICAgICAgICBwcm94eTogb3B0aW9ucy5wcm94eSxcbiAgICAgICAgY2FCdW5kbGVQYXRoOiBvcHRpb25zLmNhQnVuZGxlUGF0aCxcbiAgICAgICAgcm9sZUFybjogb3B0aW9ucy5yb2xlQXJuLFxuICAgICAgICBhbGxvd0RlbGV0ZUZhaWx1cmVzOiBvcHRpb25zLmFsbG93RGVsZXRlRmFpbHVyZXMsXG4gICAgICB9XSwge1xuICAgICAgICBvbjogcHJpbnRSZXN1bHRzLFxuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdHMuZmFpbGVkVGVzdHMucHVzaCguLi5mbGF0dGVuKHJlc3BvbnNlKSk7XG4gICAgICB0ZXN0c1t0ZXN0LmZpbGVOYW1lXSA9IChEYXRlLm5vdygpIC0gdGVzdFN0YXJ0KSAvIDEwMDA7XG4gICAgfSB3aGlsZSAocXVldWUubGVuZ3RoID4gMCk7XG4gICAgY29uc3QgbWV0cmljczogSW50ZWdSdW5uZXJNZXRyaWNzID0ge1xuICAgICAgcmVnaW9uOiB3b3JrZXIucmVnaW9uLFxuICAgICAgcHJvZmlsZTogd29ya2VyLnByb2ZpbGUsXG4gICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLFxuICAgICAgdGVzdHMsXG4gICAgfTtcbiAgICBpZiAoT2JqZWN0LmtleXModGVzdHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdHMubWV0cmljcy5wdXNoKG1ldHJpY3MpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHdvcmtlcnMgPSBhY2NvdW50V29ya2Vycy5tYXAoKHdvcmtlcikgPT4gcnVuVGVzdCh3b3JrZXIpKTtcbiAgLy8gV29ya2VycyBhcmUgdGhlaXIgb3duIGNvbmN1cnJlbmN5IGxpbWl0c1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvcHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc21cbiAgYXdhaXQgUHJvbWlzZS5hbGwod29ya2Vycyk7XG4gIHJldHVybiByZXN1bHRzO1xufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy10ZXN0LXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdEQSxrREFlQztBQWlERCxzRUF1REM7QUE3S0QscUNBQXNEO0FBQ3RELGtEQUFvQztBQUVwQyxvQ0FBbUM7QUFnRG5DOztHQUVHO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQTRCO0lBQ3BFLE1BQU0sQ0FBQyxTQUFTLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN0RSxNQUFNLENBQUMsS0FBSyxDQUNWLDBDQUEwQyxFQUMxQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFDckUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUV4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxJQUFBLHFCQUFZLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsT0FBTztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztLQUMzQixDQUFDO0FBQ0osQ0FBQztBQW9CRDs7O0dBR0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWlCLEVBQUUsUUFBbUI7SUFDL0QsTUFBTSxPQUFPLEdBQW9CLEVBQUUsQ0FBQztJQUNwQyxTQUFTLFVBQVUsQ0FBQyxPQUFnQjtRQUNsQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsTUFBTTtnQkFDTixPQUFPO2FBQ1IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTixVQUFVLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSw2QkFBNkIsQ0FDakQsT0FBNEI7SUFFNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixNQUFNLE9BQU8sR0FBdUI7UUFDbEMsT0FBTyxFQUFFLEVBQUU7UUFDWCxXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQW9CLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTdGLEtBQUssVUFBVSxPQUFPLENBQUMsTUFBcUI7UUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFtQyxFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJO2dCQUFFLE1BQU07WUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxRQUFRLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNuSCxNQUFNLFFBQVEsR0FBc0IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUM5RSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtvQkFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07b0JBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDNUIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO29CQUN0QyxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7b0JBQ3RDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztvQkFDcEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO29CQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUI7aUJBQ2pELENBQUMsRUFBRTtnQkFDRixFQUFFLEVBQUUscUJBQVk7YUFDakIsQ0FBQyxDQUFDO1lBRUgsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGVBQU8sRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pELENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMzQixNQUFNLE9BQU8sR0FBdUI7WUFDbEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSTtZQUNyQyxLQUFLO1NBQ04sQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSwyQ0FBMkM7SUFDM0Msd0VBQXdFO0lBQ3hFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyB3b3JrZXJwb29sIGZyb20gJ3dvcmtlcnBvb2wnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ0JhdGNoUmVzcG9uc2UsIEludGVnVGVzdE9wdGlvbnMsIEludGVnUnVubmVyTWV0cmljcyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IHByaW50UmVzdWx0cywgcHJpbnRTdW1tYXJ5IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0ICogYXMgbG9nZ2VyIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdEluZm8gfSBmcm9tICcuLi9ydW5uZXIvaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGJhdGNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdUZXN0QmF0Y2hSZXF1ZXN0IGV4dGVuZHMgSW50ZWdUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiB0byBydW4gdGhpcyBiYXRjaCBpblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgcHJvZmlsZSB0byB1c2Ugd2hlbiBydW5uaW5nIHRoaXMgdGVzdFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW4gdW5pdCB0ZXN0IG1vZGUsIGxlYXZlIHRoZSBzeW50aCBvdXRwdXQgZGlyZWN0b3JpZXMsIGRvbid0IGNsZWFuIHRoZW0uXG4gICAqXG4gICAqIE1hbnkgb2Ygb3VyIHRlc3RzIHVzZSBtb2NrcyBhbmQgZG9uJ3QgYWN0dWFsbHkgc3ludGggb3V0cHV0IGRpcmVjdG9yaWVzLCB0aGV5IGFyZVxuICAgKiBzdGF0aWMgYW5kIG11c3Qgbm90IGJlIGRlbGV0ZWQuXG4gICAqL1xuICByZWFkb25seSB0ZXN0aW5nVXNpbmdNb2Nrc0xlYXZlRGlyZWN0b3JpZXM/OiBib29sZWFuO1xuXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcnVubmluZyBhbGwgaW50ZWdyYXRpb24gdGVzdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ1Rlc3RSdW5PcHRpb25zIGV4dGVuZHMgSW50ZWdUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcmVnaW9ucyB0byBydW4gdGhlIGludGVncmF0aW9uIHRlc3RzIGFjcm9zcy5cbiAgICogVGhpcyBhbGxvd3MgdGhlIHJ1bm5lciB0byBydW4gaW50ZWdyYXRpb24gdGVzdHMgaW4gcGFyYWxsZWxcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIEFXUyBwcm9maWxlcy4gVGhpcyB3aWxsIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgcmVnaW9uc2BcbiAgICogdG8gcnVuIHRlc3RzIGluIHBhcmFsbGVsIGFjcm9zcyBhY2NvdW50cyArIHJlZ2lvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSB3b3JrZXJwb29sIHRvIHVzZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9vbDogd29ya2VycG9vbC5Xb3JrZXJQb29sO1xufVxuXG4vKipcbiAqIFJ1biBJbnRlZ3JhdGlvbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkludGVncmF0aW9uVGVzdHMob3B0aW9uczogSW50ZWdUZXN0UnVuT3B0aW9ucyk6IFByb21pc2U8eyBzdWNjZXNzOiBib29sZWFuOyBtZXRyaWNzOiBJbnRlZ1J1bm5lck1ldHJpY3NbXSB9PiB7XG4gIGxvZ2dlci5oaWdobGlnaHQoJ1xcblJ1bm5pbmcgaW50ZWdyYXRpb24gdGVzdHMgZm9yIGZhaWxlZCB0ZXN0cy4uLlxcbicpO1xuICBsb2dnZXIucHJpbnQoXG4gICAgJ1J1bm5pbmcgaW4gcGFyYWxsZWwgYWNyb3NzICVzcmVnaW9uczogJXMnLFxuICAgIG9wdGlvbnMucHJvZmlsZXMgPyBgcHJvZmlsZXMgJHtvcHRpb25zLnByb2ZpbGVzLmpvaW4oJywgJyl9IGFuZCBgOiAnJyxcbiAgICBvcHRpb25zLnJlZ2lvbnMuam9pbignLCAnKSk7XG4gIGNvbnN0IHRvdGFsVGVzdHMgPSBvcHRpb25zLnRlc3RzLmxlbmd0aDtcblxuICBjb25zdCByZXNwb25zZXMgPSBhd2FpdCBydW5JbnRlZ3JhdGlvblRlc3RzSW5QYXJhbGxlbChvcHRpb25zKTtcbiAgbG9nZ2VyLmhpZ2hsaWdodCgnXFxuVGVzdCBSZXN1bHRzOiBcXG4nKTtcbiAgcHJpbnRTdW1tYXJ5KHRvdGFsVGVzdHMsIHJlc3BvbnNlcy5mYWlsZWRUZXN0cy5sZW5ndGgpO1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IHJlc3BvbnNlcy5mYWlsZWRUZXN0cy5sZW5ndGggPT09IDAsXG4gICAgbWV0cmljczogcmVzcG9uc2VzLm1ldHJpY3MsXG4gIH07XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHdvcmtlciBmb3IgYSBzaW5nbGUgYWNjb3VudCArIHJlZ2lvblxuICovXG5pbnRlcmZhY2UgQWNjb3VudFdvcmtlciB7XG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIHRoZSB3b3JrZXIgc2hvdWxkIHJ1biBpblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgcHJvZmlsZSB0aGF0IHRoZSB3b3JrZXIgc2hvdWxkIHVzZVxuICAgKiBUaGlzIHdpbGwgYmUgcGFzc2VkIGFzIHRoZSAnLS1wcm9maWxlJyBvcHRpb24gdG8gdGhlIENESyBDTElcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IHByb2ZpbGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2YgQWNjb3VudFdvcmtlcnMgYmFzZWQgb24gdGhlIGxpc3Qgb2YgcmVnaW9ucyBhbmQgcHJvZmlsZXNcbiAqIGdpdmVuIHRvIHRoZSBDTEkuXG4gKi9cbmZ1bmN0aW9uIGdldEFjY291bnRXb3JrZXJzKHJlZ2lvbnM6IHN0cmluZ1tdLCBwcm9maWxlcz86IHN0cmluZ1tdKTogQWNjb3VudFdvcmtlcltdIHtcbiAgY29uc3Qgd29ya2VyczogQWNjb3VudFdvcmtlcltdID0gW107XG4gIGZ1bmN0aW9uIHB1c2hXb3JrZXIocHJvZmlsZT86IHN0cmluZykge1xuICAgIGZvciAoY29uc3QgcmVnaW9uIG9mIHJlZ2lvbnMpIHtcbiAgICAgIHdvcmtlcnMucHVzaCh7XG4gICAgICAgIHJlZ2lvbixcbiAgICAgICAgcHJvZmlsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpZiAocHJvZmlsZXMgJiYgcHJvZmlsZXMubGVuZ3RoID4gMCkge1xuICAgIGZvciAoY29uc3QgcHJvZmlsZSBvZiBwcm9maWxlcyA/PyBbXSkge1xuICAgICAgcHVzaFdvcmtlcihwcm9maWxlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcHVzaFdvcmtlcigpO1xuICB9XG4gIHJldHVybiB3b3JrZXJzO1xufVxuXG4vKipcbiAqIFJ1bnMgYSBzZXQgb2YgaW50ZWdyYXRpb24gdGVzdHMgaW4gcGFyYWxsZWwgYWNyb3NzIGEgbGlzdCBvZiBBV1MgcmVnaW9ucy5cbiAqIE9ubHkgYSBzaW5nbGUgdGVzdCBjYW4gYmUgcnVuIGF0IGEgdGltZSBpbiBhIGdpdmVuIHJlZ2lvbi4gT25jZSBhIHJlZ2lvblxuICogaXMgZG9uZSBydW5uaW5nIGEgdGVzdCwgdGhlIG5leHQgdGVzdCB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSBxdWV1ZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuSW50ZWdyYXRpb25UZXN0c0luUGFyYWxsZWwoXG4gIG9wdGlvbnM6IEludGVnVGVzdFJ1bk9wdGlvbnMsXG4pOiBQcm9taXNlPEludGVnQmF0Y2hSZXNwb25zZT4ge1xuICBjb25zdCBxdWV1ZSA9IG9wdGlvbnMudGVzdHM7XG4gIGNvbnN0IHJlc3VsdHM6IEludGVnQmF0Y2hSZXNwb25zZSA9IHtcbiAgICBtZXRyaWNzOiBbXSxcbiAgICBmYWlsZWRUZXN0czogW10sXG4gIH07XG4gIGNvbnN0IGFjY291bnRXb3JrZXJzOiBBY2NvdW50V29ya2VyW10gPSBnZXRBY2NvdW50V29ya2VycyhvcHRpb25zLnJlZ2lvbnMsIG9wdGlvbnMucHJvZmlsZXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qod29ya2VyOiBBY2NvdW50V29ya2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHRlc3RzOiB7IFt0ZXN0TmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgICBkbyB7XG4gICAgICBjb25zdCB0ZXN0ID0gcXVldWUucG9wKCk7XG4gICAgICBpZiAoIXRlc3QpIGJyZWFrO1xuICAgICAgY29uc3QgdGVzdFN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgIGxvZ2dlci5oaWdobGlnaHQoYFJ1bm5pbmcgdGVzdCAke3Rlc3QuZmlsZU5hbWV9IGluICR7d29ya2VyLnByb2ZpbGUgPyB3b3JrZXIucHJvZmlsZSArICcvJyA6ICcnfSR7d29ya2VyLnJlZ2lvbn1gKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBJbnRlZ1Rlc3RJbmZvW11bXSA9IGF3YWl0IG9wdGlvbnMucG9vbC5leGVjKCdpbnRlZ1Rlc3RXb3JrZXInLCBbe1xuICAgICAgICB3YXRjaDogb3B0aW9ucy53YXRjaCxcbiAgICAgICAgcmVnaW9uOiB3b3JrZXIucmVnaW9uLFxuICAgICAgICBwcm9maWxlOiB3b3JrZXIucHJvZmlsZSxcbiAgICAgICAgdGVzdHM6IFt0ZXN0XSxcbiAgICAgICAgY2xlYW46IG9wdGlvbnMuY2xlYW4sXG4gICAgICAgIGRyeVJ1bjogb3B0aW9ucy5kcnlSdW4sXG4gICAgICAgIHZlcmJvc2l0eTogb3B0aW9ucy52ZXJib3NpdHksXG4gICAgICAgIHVwZGF0ZVdvcmtmbG93OiBvcHRpb25zLnVwZGF0ZVdvcmtmbG93LFxuICAgICAgICB1cGRhdGVGcm9tVGFnczogb3B0aW9ucy51cGRhdGVGcm9tVGFncyxcbiAgICAgICAgcHJveHk6IG9wdGlvbnMucHJveHksXG4gICAgICAgIGNhQnVuZGxlUGF0aDogb3B0aW9ucy5jYUJ1bmRsZVBhdGgsXG4gICAgICAgIHJvbGVBcm46IG9wdGlvbnMucm9sZUFybixcbiAgICAgICAgYWxsb3dEZWxldGVGYWlsdXJlczogb3B0aW9ucy5hbGxvd0RlbGV0ZUZhaWx1cmVzLFxuICAgICAgfV0sIHtcbiAgICAgICAgb246IHByaW50UmVzdWx0cyxcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHRzLmZhaWxlZFRlc3RzLnB1c2goLi4uZmxhdHRlbihyZXNwb25zZSkpO1xuICAgICAgdGVzdHNbdGVzdC5maWxlTmFtZV0gPSAoRGF0ZS5ub3coKSAtIHRlc3RTdGFydCkgLyAxMDAwO1xuICAgIH0gd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApO1xuICAgIGNvbnN0IG1ldHJpY3M6IEludGVnUnVubmVyTWV0cmljcyA9IHtcbiAgICAgIHJlZ2lvbjogd29ya2VyLnJlZ2lvbixcbiAgICAgIHByb2ZpbGU6IHdvcmtlci5wcm9maWxlLFxuICAgICAgZHVyYXRpb246IChEYXRlLm5vdygpIC0gc3RhcnQpIC8gMTAwMCxcbiAgICAgIHRlc3RzLFxuICAgIH07XG4gICAgaWYgKE9iamVjdC5rZXlzKHRlc3RzKS5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHRzLm1ldHJpY3MucHVzaChtZXRyaWNzKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB3b3JrZXJzID0gYWNjb3VudFdvcmtlcnMubWFwKCh3b3JrZXIpID0+IHJ1blRlc3Qod29ya2VyKSk7XG4gIC8vIFdvcmtlcnMgYXJlIHRoZWlyIG93biBjb25jdXJyZW5jeSBsaW1pdHNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBjZGtsYWJzL3Byb21pc2VhbGwtbm8tdW5ib3VuZGVkLXBhcmFsbGVsaXNtXG4gIGF3YWl0IFByb21pc2UuYWxsKHdvcmtlcnMpO1xuICByZXR1cm4gcmVzdWx0cztcbn1cbiJdfQ==
package/package.json CHANGED
@@ -66,7 +66,7 @@
66
66
  "@aws-cdk/aws-service-spec": "^0.1.185",
67
67
  "@aws-cdk/cdk-assets-lib": "1.4.12",
68
68
  "@aws-cdk/cloud-assembly-api": "2.2.6",
69
- "@aws-cdk/cloud-assembly-schema": ">=54.7.0",
69
+ "@aws-cdk/cloud-assembly-schema": ">=54.8.0",
70
70
  "@aws-cdk/cloudformation-diff": "2.187.2",
71
71
  "@aws-cdk/toolkit-lib": "1.32.0",
72
72
  "@aws-sdk/client-cloudformation": "^3",
@@ -100,7 +100,7 @@
100
100
  "publishConfig": {
101
101
  "access": "public"
102
102
  },
103
- "version": "2.202.0",
103
+ "version": "2.202.1",
104
104
  "packageManager": "yarn@4.13.0",
105
105
  "types": "lib/index.d.ts",
106
106
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"yarn projen\"."