@aerokit/sdk 14.26.0 → 14.28.0
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.
|
@@ -65,6 +65,9 @@ class Scheduler {
|
|
|
65
65
|
/**
|
|
66
66
|
* Triggers the immediate execution of a job.
|
|
67
67
|
*
|
|
68
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
69
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
70
|
+
*
|
|
68
71
|
* @param name The name of the job to trigger.
|
|
69
72
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
70
73
|
*/
|
|
@@ -237,6 +240,9 @@ class Job {
|
|
|
237
240
|
/**
|
|
238
241
|
* Triggers the immediate execution of this job instance.
|
|
239
242
|
*
|
|
243
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
244
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
245
|
+
*
|
|
240
246
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
241
247
|
*/
|
|
242
248
|
trigger(parameters = {}) {
|
|
@@ -347,4 +353,4 @@ class JobParameter {
|
|
|
347
353
|
if (typeof module !== "undefined") {
|
|
348
354
|
module.exports = Scheduler;
|
|
349
355
|
}
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQStCO0FBRS9CLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBTXpFLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uQixPQUFjLFVBQWlCO0FBQzNCLFVBQU0sT0FBTyxJQUFJLE1BQVc7QUFDNUIsVUFBTSxpQkFBaUIsS0FBSyxNQUFNLFVBQVUsUUFBUSxDQUFDO0FBQ3JELGVBQVcsY0FBYyxnQkFBZ0I7QUFDckMsV0FBSyxLQUFLLElBQUksSUFBSSxVQUFVLENBQUM7QUFBQSxJQUNqQztBQUNBLFdBQU87QUFBQSxFQUNYO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLE9BQU8sTUFBbUI7QUFDcEMsVUFBTSxnQkFBZ0IsS0FBSyxNQUFNLFVBQVUsT0FBTyxJQUFJLENBQUM7QUFDdkQsV0FBTyxJQUFJLElBQUksYUFBYTtBQUFBLEVBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxPQUFPLE1BQW9CO0FBQ3JDLGNBQVUsT0FBTyxJQUFJO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFFBQVEsTUFBb0I7QUFDdEMsY0FBVSxRQUFRLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxRQUFRLE1BQWMsYUFBd0MsQ0FBQyxHQUFTO0FBQ2xGLGNBQVUsUUFBUSxNQUFNLEtBQUssVUFBVSxVQUFVLENBQUM7QUFBQSxFQUN0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
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQStCO0FBRS9CLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBTXpFLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uQixPQUFjLFVBQWlCO0FBQzNCLFVBQU0sT0FBTyxJQUFJLE1BQVc7QUFDNUIsVUFBTSxpQkFBaUIsS0FBSyxNQUFNLFVBQVUsUUFBUSxDQUFDO0FBQ3JELGVBQVcsY0FBYyxnQkFBZ0I7QUFDckMsV0FBSyxLQUFLLElBQUksSUFBSSxVQUFVLENBQUM7QUFBQSxJQUNqQztBQUNBLFdBQU87QUFBQSxFQUNYO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
|
@@ -66,6 +66,9 @@ export declare class Scheduler {
|
|
|
66
66
|
/**
|
|
67
67
|
* Triggers the immediate execution of a job.
|
|
68
68
|
*
|
|
69
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
70
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
71
|
+
*
|
|
69
72
|
* @param name The name of the job to trigger.
|
|
70
73
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
71
74
|
*/
|
|
@@ -191,6 +194,9 @@ declare class Job {
|
|
|
191
194
|
/**
|
|
192
195
|
* Triggers the immediate execution of this job instance.
|
|
193
196
|
*
|
|
197
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
198
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
199
|
+
*
|
|
194
200
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
195
201
|
*/
|
|
196
202
|
trigger(parameters?: {
|
|
@@ -43,6 +43,9 @@ class Scheduler {
|
|
|
43
43
|
/**
|
|
44
44
|
* Triggers the immediate execution of a job.
|
|
45
45
|
*
|
|
46
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
47
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
48
|
+
*
|
|
46
49
|
* @param name The name of the job to trigger.
|
|
47
50
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
48
51
|
*/
|
|
@@ -215,6 +218,9 @@ class Job {
|
|
|
215
218
|
/**
|
|
216
219
|
* Triggers the immediate execution of this job instance.
|
|
217
220
|
*
|
|
221
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
222
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
223
|
+
*
|
|
218
224
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
219
225
|
*/
|
|
220
226
|
trigger(parameters = {}) {
|
|
@@ -328,4 +334,4 @@ if (typeof module !== "undefined") {
|
|
|
328
334
|
export {
|
|
329
335
|
Scheduler
|
|
330
336
|
};
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFvQ0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtBQUNwQyxVQUFNLGdCQUFnQixLQUFLLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUN2RCxXQUFPLElBQUksSUFBSSxhQUFhO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBb0I7QUFDckMsY0FBVSxPQUFPLElBQUk7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxjQUFVLFFBQVEsSUFBSTtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFFBQVEsTUFBYyxhQUF3QyxDQUFDLEdBQVM7QUFDbEYsY0FBVSxRQUFRLE1BQU0sS0FBSyxVQUFVLFVBQVUsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFvQ0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtB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
|