@magic-xpa/engine 4.801.0-dev481.375 → 4.801.0-dev481.376

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.
@@ -1,2 +1,2 @@
1
- export let CurrentClientVersion = '4.801.0-dev481.375';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBDdXJyZW50Q2xpZW50VmVyc2lvbiA9ICc0LjgwMS4wLWRldjQ4MS4zNzUnOyJdfQ==
1
+ export let CurrentClientVersion = '4.801.0-dev481.376';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBDdXJyZW50Q2xpZW50VmVyc2lvbiA9ICc0LjgwMS4wLWRldjQ4MS4zNzYnOyJdfQ==
@@ -1,10 +1,13 @@
1
1
  import { Hashtable, StringBuilder } from "@magic-xpa/mscorelib";
2
2
  import { Logger, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
+ import { DataviewHeadersSaxHandler } from "./DataviewHeadersSaxHandler";
3
4
  import { RemoteDataviewHeader } from "./RemoteDataviewHeader";
4
5
  import { ConstInterface } from "../ConstInterface";
5
6
  export class DataviewHeaders {
6
- constructor() {
7
+ constructor(task) {
7
8
  this._dataviewHeaders = null;
9
+ this._task = null;
10
+ this._task = task;
8
11
  this._dataviewHeaders = new Hashtable();
9
12
  }
10
13
  fillData(parser) {
@@ -18,6 +21,7 @@ export class DataviewHeaders {
18
21
  let endContext = parser.getXMLdata().indexOf(ConstInterface.MG_TAG_LINKS_END, parser.getCurrIndex()) + ConstInterface.MG_TAG_LINKS_END.length + 1;
19
22
  let xml = parser.getXMLsubstring(endContext);
20
23
  xml = XmlParser.escapeUrl(xml);
24
+ new DataviewHeadersSaxHandler(this._task, this._dataviewHeaders, xml);
21
25
  parser.setCurrIndex(endContext + XMLConstants.TAG_CLOSE.length);
22
26
  }
23
27
  else
@@ -46,4 +50,4 @@ export class DataviewHeaders {
46
50
  return buf.ToString();
47
51
  }
48
52
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBS2pELE1BQU0sT0FBTyxlQUFlO0lBSTFCO1FBSFEscUJBQWdCLEdBQTBDLElBQUksQ0FBQztRQUlyRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxTQUFTLEVBQThCLENBQUM7SUFDdEUsQ0FBQztJQUtELFFBQVEsQ0FBQyxNQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUU7U0FDMUQ7SUFDSCxDQUFDO0lBS08sZ0JBQWdCLENBQUMsTUFBaUIsRUFBRSxZQUFvQjtRQUM5RCxJQUFJLFlBQVksS0FBSyxJQUFJO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBRWYsSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLFlBQVksRUFBRTtZQUNoRCxJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMzSixJQUFJLEdBQUcsR0FBVyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBSS9CLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakU7O1lBRUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyx5REFBeUQsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBS0QscUJBQXFCLENBQUMsTUFBYztRQUNsQyxPQUEyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFNRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLEdBQUcsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM3QyxJQUFJLGVBQWUsR0FBeUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUV6RixPQUFPLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksR0FBeUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLFlBQVksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQXdCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXJKLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDakIsSUFBSSxZQUFZLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBR2hCLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtvQkFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtTQUNGO1FBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FycmF5X0VudW1lcmF0b3IsIEhhc2h0YWJsZSwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7TG9nZ2VyLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtEYXRhdmlld0hlYWRlckJhc2V9IGZyb20gXCIuL0RhdGF2aWV3SGVhZGVyQmFzZVwiO1xyXG5pbXBvcnQge1JlbW90ZURhdGF2aWV3SGVhZGVyfSBmcm9tIFwiLi9SZW1vdGVEYXRhdmlld0hlYWRlclwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vICAgaGFuZGxlcyBhbGwgbGlua3MgaW4gdGhlIHRhc2tcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIERhdGF2aWV3SGVhZGVycyB7XHJcbiAgcHJpdmF0ZSBfZGF0YXZpZXdIZWFkZXJzOiBIYXNodGFibGU8bnVtYmVyLCBEYXRhdmlld0hlYWRlckJhc2U+ID0gbnVsbDtcclxuXHJcbiAgLy8gaW5pdGlhbGl6ZSB0aGUgbGlua3MgdGFibGUgb2YgYSBnaXZlbiB0YXNrXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9kYXRhdmlld0hlYWRlcnMgPSBuZXcgSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRoaXMgbWV0aG9kIHdpbGwgcGFyc2UgdGhlIHhtbCBkYXRhIHJlbGF0ZSB0byB0aGUgbGlua3MgdGFibGUgYW5kIHdpbGwgYWxsb2NhdGUgYW5kIGluaXRpbGFpemUgYWxsIHJlbGF0ZWQgZGF0YVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZmlsbERhdGEocGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLmluaXRJbm5lck9iamVjdHMocGFyc2VyLCBwYXJzZXIuZ2V0TmV4dFRhZygpKSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZSBpbm5lciBvYmplY3QgYWNjb3JkaW5nIHRvIHRoZSBmb3VuZCB4bWwgZGF0YVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBpbml0SW5uZXJPYmplY3RzKHBhcnNlcjogWG1sUGFyc2VyLCBmb3VuZFRhZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGZvdW5kVGFnTmFtZSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IENvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LUykge1xyXG4gICAgICBsZXQgZW5kQ29udGV4dDogbnVtYmVyID0gcGFyc2VyLmdldFhNTGRhdGEoKS5pbmRleE9mKCBDb25zdEludGVyZmFjZS5NR19UQUdfTElOS1NfRU5ELCBwYXJzZXIuZ2V0Q3VyckluZGV4KCkpICsgQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktTX0VORC5sZW5ndGggKyAxO1xyXG4gICAgICBsZXQgeG1sOiBzdHJpbmcgPSBwYXJzZXIuZ2V0WE1Mc3Vic3RyaW5nKGVuZENvbnRleHQpO1xyXG4gICAgICB4bWwgPSBYbWxQYXJzZXIuZXNjYXBlVXJsKHhtbCk7XHJcblxyXG4gICAgICAvLyBBY3RpdmF0ZSB0aGUgc2F4IHBhcnNlclxyXG4vLyBza2lwIHRvIGFmdGVyIHRoZSBsaW5rc1xyXG4gICAgICBwYXJzZXIuc2V0Q3VyckluZGV4KGVuZENvbnRleHQgKyBYTUxDb25zdGFudHMuVEFHX0NMT1NFLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhcIlRoZXJlIGlzIG5vIHN1Y2ggdGFnIGluIExpbmtzVGFibGUuaW5pdElubmVyT2JqZWN0cygpOiBcIiArIGZvdW5kVGFnTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZ2V0cyBhIGxpbmtzIGJ5IGl0IGlkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXREYXRhdmlld0hlYWRlckJ5SWQobGlua0lkOiBudW1iZXIpOiBEYXRhdmlld0hlYWRlckJhc2Uge1xyXG4gICAgcmV0dXJuIDxEYXRhdmlld0hlYWRlckJhc2U+dGhpcy5fZGF0YXZpZXdIZWFkZXJzLmdldF9JdGVtKGxpbmtJZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYnVpbGRzIHRoZSBkYiBwb3Mgc3RyaW5nIG9mIGFsbCBsaW5rcyBpbiB0aGUgdGFibGVcclxuICAvLy8gICB0aGUgZm9ybWF0IGlzIEBsbmsxX2RiUG9zQGxuazJfZGJQb3NALi4uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBidWlsZERiUG9zU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5fZGF0YXZpZXdIZWFkZXJzLkNvdW50ID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBidWY6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG4gICAgbGV0IGRhdGF2aWV3SGVhZGVyczogQXJyYXlfRW51bWVyYXRvcjxEYXRhdmlld0hlYWRlckJhc2U+ID0gdGhpcy5fZGF0YXZpZXdIZWFkZXJzLlZhbHVlcztcclxuXHJcbiAgICB3aGlsZSAoZGF0YXZpZXdIZWFkZXJzLk1vdmVOZXh0KCkpIHtcclxuICAgICAgbGV0IGN1cnI6IFJlbW90ZURhdGF2aWV3SGVhZGVyID0gKChkYXRhdmlld0hlYWRlcnMuQ3VycmVudCBpbnN0YW5jZW9mIFJlbW90ZURhdGF2aWV3SGVhZGVyKSA/ICA8UmVtb3RlRGF0YXZpZXdIZWFkZXI+ZGF0YXZpZXdIZWFkZXJzLkN1cnJlbnQgOiBudWxsKTtcclxuXHJcbiAgICAgIGlmIChjdXJyICE9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJEYlBvc1ZhbDogc3RyaW5nID0gY3Vyci5nZXRMYXN0RmV0Y2hlZERiUG9zKCk7XHJcbiAgICAgICAgYnVmLkFwcGVuZChcIkBcIik7XHJcblxyXG4gICAgICAgIC8vIGlmIHRoZSBsYXN0IGZldGNoIGRiIHBvcyBvZiB0aGUgbGluayBpcyBudWxsIGl0IG1lYW5zIHRoYXQgd2UgbmV2ZXIgZmV0Y2hlZCBhIHJlY29yZCBmcm9tIHRoZSBsaW5rXHJcbiAgICAgICAgaWYgKGN1cnJEYlBvc1ZhbCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgYnVmLkFwcGVuZChjdXJyRGJQb3NWYWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnVmLkFwcGVuZChcIkBcIik7XHJcbiAgICByZXR1cm4gYnVmLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBS2pELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQVksSUFBVTtRQUpkLHFCQUFnQixHQUEwQyxJQUFJLENBQUM7UUFDL0QsVUFBSyxHQUFTLElBQUksQ0FBQztRQUl6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxTQUFTLEVBQThCLENBQUM7SUFDdEUsQ0FBQztJQUtELFFBQVEsQ0FBQyxNQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUU7U0FDMUQ7SUFDSCxDQUFDO0lBS08sZ0JBQWdCLENBQUMsTUFBaUIsRUFBRSxZQUFvQjtRQUM5RCxJQUFJLFlBQVksS0FBSyxJQUFJO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBRWYsSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLFlBQVksRUFBRTtZQUNoRCxJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMzSixJQUFJLEdBQUcsR0FBVyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRy9CLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFHdEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRTs7WUFFQyxNQUFNLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLHlEQUF5RCxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFLRCxxQkFBcUIsQ0FBQyxNQUFjO1FBQ2xDLE9BQTJCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQU1ELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksR0FBRyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzdDLElBQUksZUFBZSxHQUF5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBRXpGLE9BQU8sZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLElBQUksSUFBSSxHQUF5QixDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sWUFBWSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBd0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckosSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUNqQixJQUFJLFlBQVksR0FBVyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFHaEIsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO29CQUN6QixHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMxQjthQUNGO1NBQ0Y7UUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJyYXlfRW51bWVyYXRvciwgSGFzaHRhYmxlLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtMb2dnZXIsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0RhdGF2aWV3SGVhZGVyQmFzZX0gZnJvbSBcIi4vRGF0YXZpZXdIZWFkZXJCYXNlXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlcn0gZnJvbSBcIi4vRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlclwiO1xyXG5pbXBvcnQge1JlbW90ZURhdGF2aWV3SGVhZGVyfSBmcm9tIFwiLi9SZW1vdGVEYXRhdmlld0hlYWRlclwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi90YXNrcy9UYXNrXCJcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIGhhbmRsZXMgYWxsIGxpbmtzIGluIHRoZSB0YXNrXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEYXRhdmlld0hlYWRlcnMge1xyXG4gIHByaXZhdGUgX2RhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcblxyXG4gIC8vIGluaXRpYWxpemUgdGhlIGxpbmtzIHRhYmxlIG9mIGEgZ2l2ZW4gdGFza1xyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2spIHtcclxuICAgIHRoaXMuX3Rhc2sgPSB0YXNrO1xyXG4gICAgdGhpcy5fZGF0YXZpZXdIZWFkZXJzID0gbmV3IEhhc2h0YWJsZTxudW1iZXIsIERhdGF2aWV3SGVhZGVyQmFzZT4oKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICB0aGlzIG1ldGhvZCB3aWxsIHBhcnNlIHRoZSB4bWwgZGF0YSByZWxhdGUgdG8gdGhlIGxpbmtzIHRhYmxlIGFuZCB3aWxsIGFsbG9jYXRlIGFuZCBpbml0aWxhaXplIGFsbCByZWxhdGVkIGRhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGZpbGxEYXRhKHBhcnNlcjogWG1sUGFyc2VyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAodGhpcy5pbml0SW5uZXJPYmplY3RzKHBhcnNlciwgcGFyc2VyLmdldE5leHRUYWcoKSkpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhbGxvY2F0ZXMgYW5kIGluaXRpYWxpemUgaW5uZXIgb2JqZWN0IGFjY29yZGluZyB0byB0aGUgZm91bmQgeG1sIGRhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgaW5pdElubmVyT2JqZWN0cyhwYXJzZXI6IFhtbFBhcnNlciwgZm91bmRUYWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSBDb25zdEludGVyZmFjZS5NR19UQUdfTElOS1MpIHtcclxuICAgICAgbGV0IGVuZENvbnRleHQ6IG51bWJlciA9IHBhcnNlci5nZXRYTUxkYXRhKCkuaW5kZXhPZiggQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktTX0VORCwgcGFyc2VyLmdldEN1cnJJbmRleCgpKSArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LU19FTkQubGVuZ3RoICsgMTtcclxuICAgICAgbGV0IHhtbDogc3RyaW5nID0gcGFyc2VyLmdldFhNTHN1YnN0cmluZyhlbmRDb250ZXh0KTtcclxuICAgICAgeG1sID0gWG1sUGFyc2VyLmVzY2FwZVVybCh4bWwpO1xyXG5cclxuICAgICAgLy8gQWN0aXZhdGUgdGhlIHNheCBwYXJzZXJcclxuICAgICAgbmV3IERhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXIodGhpcy5fdGFzaywgdGhpcy5fZGF0YXZpZXdIZWFkZXJzLCB4bWwpO1xyXG5cclxuICAgICAgLy8gc2tpcCB0byBhZnRlciB0aGUgbGlua3NcclxuICAgICAgcGFyc2VyLnNldEN1cnJJbmRleChlbmRDb250ZXh0ICsgWE1MQ29uc3RhbnRzLlRBR19DTE9TRS5sZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coXCJUaGVyZSBpcyBubyBzdWNoIHRhZyBpbiBMaW5rc1RhYmxlLmluaXRJbm5lck9iamVjdHMoKTogXCIgKyBmb3VuZFRhZ05hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGdldHMgYSBsaW5rcyBieSBpdCBpZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0RGF0YXZpZXdIZWFkZXJCeUlkKGxpbmtJZDogbnVtYmVyKTogRGF0YXZpZXdIZWFkZXJCYXNlIHtcclxuICAgIHJldHVybiA8RGF0YXZpZXdIZWFkZXJCYXNlPnRoaXMuX2RhdGF2aWV3SGVhZGVycy5nZXRfSXRlbShsaW5rSWQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGJ1aWxkcyB0aGUgZGIgcG9zIHN0cmluZyBvZiBhbGwgbGlua3MgaW4gdGhlIHRhYmxlXHJcbiAgLy8vICAgdGhlIGZvcm1hdCBpcyBAbG5rMV9kYlBvc0BsbmsyX2RiUG9zQC4uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYnVpbGREYlBvc1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2RhdGF2aWV3SGVhZGVycy5Db3VudCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYnVmOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIGxldCBkYXRhdmlld0hlYWRlcnM6IEFycmF5X0VudW1lcmF0b3I8RGF0YXZpZXdIZWFkZXJCYXNlPiA9IHRoaXMuX2RhdGF2aWV3SGVhZGVycy5WYWx1ZXM7XHJcblxyXG4gICAgd2hpbGUgKGRhdGF2aWV3SGVhZGVycy5Nb3ZlTmV4dCgpKSB7XHJcbiAgICAgIGxldCBjdXJyOiBSZW1vdGVEYXRhdmlld0hlYWRlciA9ICgoZGF0YXZpZXdIZWFkZXJzLkN1cnJlbnQgaW5zdGFuY2VvZiBSZW1vdGVEYXRhdmlld0hlYWRlcikgPyAgPFJlbW90ZURhdGF2aWV3SGVhZGVyPmRhdGF2aWV3SGVhZGVycy5DdXJyZW50IDogbnVsbCk7XHJcblxyXG4gICAgICBpZiAoY3VyciAhPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyRGJQb3NWYWw6IHN0cmluZyA9IGN1cnIuZ2V0TGFzdEZldGNoZWREYlBvcygpO1xyXG4gICAgICAgIGJ1Zi5BcHBlbmQoXCJAXCIpO1xyXG5cclxuICAgICAgICAvLyBpZiB0aGUgbGFzdCBmZXRjaCBkYiBwb3Mgb2YgdGhlIGxpbmsgaXMgbnVsbCBpdCBtZWFucyB0aGF0IHdlIG5ldmVyIGZldGNoZWQgYSByZWNvcmQgZnJvbSB0aGUgbGlua1xyXG4gICAgICAgIGlmIChjdXJyRGJQb3NWYWwgIT09IG51bGwpIHtcclxuICAgICAgICAgIGJ1Zi5BcHBlbmQoY3VyckRiUG9zVmFsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGJ1Zi5BcHBlbmQoXCJAXCIpO1xyXG4gICAgcmV0dXJuIGJ1Zi5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19