Comparing version 1.2.0 to 1.3.0
@@ -22,2 +22,2 @@ 'use strict'; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRvLWVuY29kZS11cmkuanMiXSwibmFtZXMiOlsiYXV0b0VuY29kZVVSSSIsInRlbXBsYXRlUGFydHMiLCJwYXJ0cyIsIkFycmF5IiwibGVuZ3RoIiwidmFsdWVzIiwiaSIsImxlbiIsInZhbHVlIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBRXdCQSxhO0FBQVQsU0FBU0EsYUFBVCxDQUF1QkMsYUFBdkIsRUFBMEU7QUFDdkYsTUFBTUMsUUFBUSxJQUFJQyxLQUFKLENBQVVGLGNBQWNHLE1BQWQsR0FBcUIsQ0FBckIsR0FBdUIsQ0FBakMsQ0FBZDtBQUNBRixRQUFNLENBQU4sSUFBV0QsY0FBYyxDQUFkLENBQVg7O0FBRnVGLG9DQUF2QkksTUFBdUI7QUFBdkJBLFVBQXVCO0FBQUE7O0FBR3ZGLE9BQUssSUFBSUMsSUFBRSxDQUFOLEVBQVNDLE1BQUlGLE9BQU9ELE1BQXpCLEVBQWlDRSxJQUFFQyxHQUFuQyxFQUF3Q0QsR0FBeEMsRUFBNkM7QUFDM0MsUUFBTUUsUUFBZ0JILE9BQU9DLENBQVAsQ0FBdEI7QUFDQUosVUFBTSxJQUFFSSxDQUFGLEdBQUksQ0FBVixJQUFlRyxtQkFBbUJELEtBQW5CLENBQWY7QUFDQU4sVUFBTSxJQUFFSSxDQUFGLEdBQUksQ0FBVixJQUFlTCxjQUFjSyxJQUFFLENBQWhCLENBQWY7QUFDRDtBQUNELFNBQU9KLE1BQU1RLElBQU4sQ0FBVyxFQUFYLENBQVA7QUFDRCIsImZpbGUiOiJhdXRvLWVuY29kZS11cmkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhdXRvRW5jb2RlVVJJKHRlbXBsYXRlUGFydHM6IHN0cmluZ1tdLCAuLi52YWx1ZXM6IGFueVtdKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHMgPSBuZXcgQXJyYXkodGVtcGxhdGVQYXJ0cy5sZW5ndGgqMi0xKTtcbiAgcGFydHNbMF0gPSB0ZW1wbGF0ZVBhcnRzWzBdO1xuICBmb3IgKGxldCBpPTAsIGxlbj12YWx1ZXMubGVuZ3RoOyBpPGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHZhbHVlc1tpXTtcbiAgICBwYXJ0c1syKmkrMV0gPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgIHBhcnRzWzIqaSsyXSA9IHRlbXBsYXRlUGFydHNbaSsxXTtcbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJyk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRvLWVuY29kZS11cmkuanMiXSwibmFtZXMiOlsiYXV0b0VuY29kZVVSSSIsInRlbXBsYXRlUGFydHMiLCJwYXJ0cyIsIkFycmF5IiwibGVuZ3RoIiwidmFsdWVzIiwiaSIsImxlbiIsInZhbHVlIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBRXdCQSxhO0FBQVQsU0FBU0EsYUFBVCxDQUF1QkMsYUFBdkIsRUFBMEU7QUFDdkYsTUFBTUMsUUFBUSxJQUFJQyxLQUFKLENBQVVGLGNBQWNHLE1BQWQsR0FBcUIsQ0FBckIsR0FBdUIsQ0FBakMsQ0FBZDtBQUNBRixRQUFNLENBQU4sSUFBV0QsY0FBYyxDQUFkLENBQVg7O0FBRnVGLG9DQUF2QkksTUFBdUI7QUFBdkJBLFVBQXVCO0FBQUE7O0FBR3ZGLE9BQUssSUFBSUMsSUFBRSxDQUFOLEVBQVNDLE1BQUlGLE9BQU9ELE1BQXpCLEVBQWlDRSxJQUFFQyxHQUFuQyxFQUF3Q0QsR0FBeEMsRUFBNkM7QUFDM0MsUUFBTUUsUUFBZ0JILE9BQU9DLENBQVAsQ0FBdEI7QUFDQUosVUFBTSxJQUFFSSxDQUFGLEdBQUksQ0FBVixJQUFlRyxtQkFBbUJELEtBQW5CLENBQWY7QUFDQU4sVUFBTSxJQUFFSSxDQUFGLEdBQUksQ0FBVixJQUFlTCxjQUFjSyxJQUFFLENBQWhCLENBQWY7QUFDRDtBQUNELFNBQU9KLE1BQU1RLElBQU4sQ0FBVyxFQUFYLENBQVA7QUFDRCIsImZpbGUiOiJhdXRvLWVuY29kZS11cmkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhdXRvRW5jb2RlVVJJKHRlbXBsYXRlUGFydHM6IHN0cmluZ1tdLCAuLi52YWx1ZXM6IGFueVtdKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHMgPSBuZXcgQXJyYXkodGVtcGxhdGVQYXJ0cy5sZW5ndGgqMi0xKTtcbiAgcGFydHNbMF0gPSB0ZW1wbGF0ZVBhcnRzWzBdO1xuICBmb3IgKGxldCBpPTAsIGxlbj12YWx1ZXMubGVuZ3RoOyBpPGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHZhbHVlc1tpXTtcbiAgICBwYXJ0c1syKmkrMV0gPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgIHBhcnRzWzIqaSsyXSA9IHRlbXBsYXRlUGFydHNbaSsxXTtcbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJyk7XG59XG4iXX0= |
@@ -90,3 +90,3 @@ 'use strict'; | ||
method: method, headers: headers, encoding: encoding, | ||
host: 'mailfoogae.appspot.com', | ||
host: 'api.streak.com', | ||
path: prefix + path, | ||
@@ -618,2 +618,2 @@ auth: this._authKey | ||
}(); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJDb25uSGVscGVyIiwiYXV0aEtleSIsIl9hdXRoS2V5IiwibWV0aG9kIiwicGF0aCIsImhlYWRlcnMiLCJlbmNvZGluZyIsInByZWZpeCIsImluZGV4T2YiLCJob3N0IiwiYXV0aCIsInJlc3BvbnNlIiwicmVzb2x2ZSIsInJlamVjdCIsInN0cnMiLCJvbiIsImNodW5rIiwicHVzaCIsInN0ciIsImpvaW4iLCJzdGF0dXNDb2RlIiwiSlNPTiIsInBhcnNlIiwianNvbiIsImVycm9yTWVzc2FnZSIsImVycm9yIiwiZXJyIiwiRXJyb3IiLCJjaHVua3MiLCJidWYiLCJCdWZmZXIiLCJjb25jYXQiLCJvcHRzIiwiX2dldFJlcXVlc3RPcHRpb25zIiwicmVxdWVzdCIsIl9wYXJzZVJlc3BvbnNlIiwicmVzIiwiZW5kIiwidW5kZWZpbmVkIiwiX3BsYWluUmVzcG9uc2UiLCJkYXRhIiwiZHN0ciIsInN0cmluZ2lmeSIsInNlbmQiLCJsZW5ndGgiLCJ3cml0ZSIsIk1lIiwicyIsImMiLCJfcyIsIl9jIiwiZ2V0IiwiUGlwZWxpbmVzIiwiU3RhZ2VzIiwiUGlwZWxpbmVTdGFnZXMiLCJGaWVsZHMiLCJQaXBlbGluZUZpZWxkcyIsImtleSIsInN0YWdlS2V5IiwicHV0IiwiZGVsZXRlIiwicG9zdCIsImRldGFpbExldmVsIiwicXMiLCJwaXBlS2V5IiwiQm94ZXMiLCJCb3hGaWVsZHMiLCJnZXRCb3hlcyIsIm1lc3NhZ2UiLCJnZXRGaWVsZHMiLCJib3hLZXkiLCJGaWxlcyIsImdldEZpbGVzIiwiZ2V0Tm9QYXJzZSIsIlRocmVhZHMiLCJnZXRUaHJlYWRzIiwidGhyZWFkS2V5IiwiVGFza3MiLCJnZXRUYXNrcyIsIlN0cmVhayIsInF1ZXJ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBRUE7Ozs7OztJQUVNQSxVO0FBR0osc0JBQVlDLE9BQVosRUFBNkI7QUFBQTs7QUFDM0IsU0FBS0MsUUFBTCxHQUFnQkQsT0FBaEI7QUFDRDs7Ozt1Q0FFa0JFLE0sRUFBZ0JDLEksRUFBb0U7QUFBQSxVQUF0REMsT0FBc0QsdUVBQXRDLEVBQXNDO0FBQUEsVUFBbENDLFFBQWtDLHVFQUFoQixNQUFnQjs7QUFDckc7QUFDQSxVQUFJQyxTQUFTLFVBQWI7O0FBRUE7QUFDQSxVQUFJSCxLQUFLSSxPQUFMLENBQWEsT0FBYixJQUF3QixDQUFDLENBQTdCLEVBQWdDRCxTQUFTLFNBQVQ7O0FBRWhDLGFBQU87QUFDTEosc0JBREssRUFDR0UsZ0JBREgsRUFDWUMsa0JBRFo7QUFFTEcsY0FBTSx3QkFGRDtBQUdMTCxjQUFNRyxTQUFTSCxJQUhWO0FBSUxNLGNBQU0sS0FBS1I7QUFKTixPQUFQO0FBTUQ7OzttQ0FFY1MsUSxFQUErQztBQUM1RCxhQUFPLHNCQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0QyxZQUFNQyxPQUFpQixFQUF2QjtBQUNBSCxpQkFBU0ksRUFBVCxDQUFZLE1BQVosRUFBb0IsVUFBQ0MsS0FBRCxFQUFtQjtBQUNyQ0YsZUFBS0csSUFBTCxDQUFVRCxLQUFWO0FBQ0QsU0FGRDtBQUdBTCxpQkFBU0ksRUFBVCxDQUFZLEtBQVosRUFBbUIsWUFBTTtBQUN2QixjQUFJO0FBQ0YsZ0JBQU1HLE1BQU1KLEtBQUtLLElBQUwsQ0FBVSxFQUFWLENBQVo7QUFDQSxnQkFBSVIsU0FBU1MsVUFBVCxLQUF3QixHQUE1QixFQUFpQztBQUMvQlIsc0JBQVFTLEtBQUtDLEtBQUwsQ0FBV0osR0FBWCxDQUFSO0FBQ0QsYUFGRCxNQUVPO0FBQ0wsa0JBQUlLLGFBQUo7QUFDQSxrQkFBSUMsa0NBQWdDYixTQUFTUyxVQUE3QztBQUNBLGtCQUFJO0FBQ0ZHLHVCQUFPRixLQUFLQyxLQUFMLENBQVdKLEdBQVgsQ0FBUDtBQUNBLG9CQUFJSyxRQUFRQSxLQUFLRSxLQUFqQixFQUF3QjtBQUN0QkQsaUNBQWVELEtBQUtFLEtBQXBCO0FBQ0Q7QUFDRixlQUxELENBS0UsT0FBT0MsR0FBUCxFQUFZO0FBQ1o7QUFDRDtBQUNEYixxQkFBTyxzQkFBZSxJQUFJYyxLQUFKLENBQVVILFlBQVYsQ0FBZixFQUFpRDtBQUN0RE4sd0JBRHNELEVBQ2pESyxVQURpRDtBQUV0REgsNEJBQVlULFNBQVNTLFVBRmlDO0FBR3REZix5QkFBU00sU0FBU047QUFIb0MsZUFBakQsQ0FBUDtBQUtEO0FBQ0YsV0FyQkQsQ0FxQkUsT0FBT3FCLEdBQVAsRUFBWTtBQUNaYixtQkFBT2EsR0FBUDtBQUNEO0FBQ0YsU0F6QkQ7QUEwQkFmLGlCQUFTSSxFQUFULENBQVksT0FBWixFQUFxQkYsTUFBckI7QUFDRCxPQWhDTSxDQUFQO0FBaUNEOzs7bUNBRWNGLFEsRUFBa0Q7QUFDL0QsYUFBTyxzQkFBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdEMsWUFBTWUsU0FBbUIsRUFBekI7QUFDQWpCLGlCQUFTSSxFQUFULENBQVksTUFBWixFQUFvQixVQUFDQyxLQUFELEVBQW1CO0FBQ3JDWSxpQkFBT1gsSUFBUCxDQUFZRCxLQUFaO0FBQ0QsU0FGRDtBQUdBTCxpQkFBU0ksRUFBVCxDQUFZLEtBQVosRUFBbUIsWUFBTTtBQUN2QixjQUFJO0FBQ0YsZ0JBQU1jLE1BQU1DLE9BQU9DLE1BQVAsQ0FBY0gsTUFBZCxDQUFaO0FBQ0EsZ0JBQUlqQixTQUFTUyxVQUFULEtBQXdCLEdBQTVCLEVBQWlDO0FBQy9CUixzQkFBUWlCLEdBQVI7QUFDRCxhQUZELE1BRU87QUFDTCxrQkFBTUwsa0NBQWdDYixTQUFTUyxVQUEvQztBQUNBUCxxQkFBTyxzQkFBZSxJQUFJYyxLQUFKLENBQVVILFlBQVYsQ0FBZixFQUFpRDtBQUN0REssd0JBRHNEO0FBRXREVCw0QkFBWVQsU0FBU1MsVUFGaUM7QUFHdERmLHlCQUFTTSxTQUFTTjtBQUhvQyxlQUFqRCxDQUFQO0FBS0Q7QUFDRixXQVpELENBWUUsT0FBT3FCLEdBQVAsRUFBWTtBQUNaYixtQkFBT2EsR0FBUDtBQUNEO0FBQ0YsU0FoQkQ7QUFpQkFmLGlCQUFTSSxFQUFULENBQVksT0FBWixFQUFxQkYsTUFBckI7QUFDRCxPQXZCTSxDQUFQO0FBd0JEOzs7d0JBRUdULEksRUFBK0I7QUFBQTs7QUFDakMsYUFBTyxzQkFBWSxVQUFDUSxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdEMsWUFBTW1CLE9BQU8sTUFBS0Msa0JBQUwsQ0FBd0IsS0FBeEIsRUFBK0I3QixJQUEvQixDQUFiO0FBQ0EsWUFBTThCLFVBQVUsZ0JBQU1BLE9BQU4sQ0FBY0YsSUFBZCxFQUFvQixlQUFPO0FBQ3pDcEIsa0JBQVEsTUFBS3VCLGNBQUwsQ0FBb0JDLEdBQXBCLENBQVI7QUFDRCxTQUZlLENBQWhCO0FBR0FGLGdCQUFRbkIsRUFBUixDQUFXLE9BQVgsRUFBb0JGLE1BQXBCO0FBQ0FxQixnQkFBUUcsR0FBUjtBQUNELE9BUE0sQ0FBUDtBQVFEOzs7K0JBRVVqQyxJLEVBQStCO0FBQUE7O0FBQ3hDLGFBQU8sc0JBQVksVUFBQ1EsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDLFlBQU1tQixPQUFPLE9BQUtDLGtCQUFMLENBQXdCLEtBQXhCLEVBQStCN0IsSUFBL0IsRUFBcUNrQyxTQUFyQyxFQUFnRCxJQUFoRCxDQUFiO0FBQ0EsWUFBTUosVUFBVSxnQkFBTUEsT0FBTixDQUFjRixJQUFkLEVBQW9CLGVBQU87QUFDekNwQixrQkFBUSxPQUFLMkIsY0FBTCxDQUFvQkgsR0FBcEIsQ0FBUjtBQUNELFNBRmUsQ0FBaEI7QUFHQUYsZ0JBQVFuQixFQUFSLENBQVcsT0FBWCxFQUFvQkYsTUFBcEI7QUFDQXFCLGdCQUFRRyxHQUFSO0FBQ0QsT0FQTSxDQUFQO0FBUUQ7Ozt3QkFFR2pDLEksRUFBY29DLEksRUFBK0I7QUFBQTs7QUFDL0MsYUFBTyxzQkFBWSxVQUFDNUIsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDLFlBQU00QixPQUFPLHNCQUFZQyxTQUFaLENBQXNCRixJQUF0QixDQUFiO0FBQ0EsWUFBTVIsT0FBTyxPQUFLQyxrQkFBTCxDQUF3QixLQUF4QixFQUErQjdCLE9BQU8sR0FBUCxHQUFhcUMsSUFBNUMsQ0FBYjtBQUNBLFlBQU1QLFVBQVUsZ0JBQU1BLE9BQU4sQ0FBY0YsSUFBZCxFQUFvQixlQUFPO0FBQ3pDcEIsa0JBQVEsT0FBS3VCLGNBQUwsQ0FBb0JDLEdBQXBCLENBQVI7QUFDRCxTQUZlLENBQWhCO0FBR0FGLGdCQUFRbkIsRUFBUixDQUFXLE9BQVgsRUFBb0JGLE1BQXBCO0FBQ0FxQixnQkFBUUcsR0FBUjtBQUNELE9BUk0sQ0FBUDtBQVNEOzs7NEJBRU1qQyxJLEVBQTRCO0FBQUE7O0FBQ2pDLGFBQU8sc0JBQVksVUFBQ1EsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDLFlBQU1tQixPQUFPLE9BQUtDLGtCQUFMLENBQXdCLFFBQXhCLEVBQWtDN0IsSUFBbEMsQ0FBYjtBQUNBLFlBQU04QixVQUFVLGdCQUFNQSxPQUFOLENBQWNGLElBQWQsRUFBb0IsZUFBTztBQUN6Q3BCLGtCQUFRLE9BQUt1QixjQUFMLENBQW9CQyxHQUFwQixDQUFSO0FBQ0QsU0FGZSxDQUFoQjtBQUdBRixnQkFBUW5CLEVBQVIsQ0FBVyxPQUFYLEVBQW9CRixNQUFwQjtBQUNBcUIsZ0JBQVFHLEdBQVI7QUFDRCxPQVBNLENBQVA7QUFRRDs7O3lCQUVJakMsSSxFQUFjb0MsSSxFQUE0QjtBQUFBOztBQUM3QyxhQUFPLHNCQUFZLFVBQUM1QixPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdEMsWUFBTThCLE9BQU8sc0JBQVlELFNBQVosQ0FBc0IsRUFBQ25CLE1BQUsseUJBQWVpQixJQUFmLENBQU4sRUFBdEIsQ0FBYjtBQUNBLFlBQU1SLE9BQU8sT0FBS0Msa0JBQUwsQ0FBd0IsTUFBeEIsRUFBZ0M3QixJQUFoQyxFQUFzQztBQUNqRCwwQkFBZ0IsbUNBRGlDO0FBRWpELDRCQUFrQnVDLEtBQUtDO0FBRjBCLFNBQXRDLENBQWI7QUFJQSxZQUFNVixVQUFVLGdCQUFNQSxPQUFOLENBQWNGLElBQWQsRUFBb0IsZUFBTztBQUN6Q3BCLGtCQUFRLE9BQUt1QixjQUFMLENBQW9CQyxHQUFwQixDQUFSO0FBQ0QsU0FGZSxDQUFoQjtBQUdBRixnQkFBUVcsS0FBUixDQUFjRixJQUFkO0FBQ0FULGdCQUFRbkIsRUFBUixDQUFXLE9BQVgsRUFBb0JGLE1BQXBCO0FBQ0FxQixnQkFBUUcsR0FBUjtBQUNELE9BWk0sQ0FBUDtBQWFEOzs7OztJQUdHUyxFO0FBR0osY0FBWUMsQ0FBWixFQUF1QkMsQ0FBdkIsRUFBc0M7QUFBQTs7QUFDcEMsU0FBS0MsRUFBTCxHQUFVRixDQUFWO0FBQ0EsU0FBS0csRUFBTCxHQUFVRixDQUFWO0FBQ0Q7Ozs7MEJBQ0s7QUFDSixhQUFPLEtBQUtFLEVBQUwsQ0FBUUMsR0FBUixDQUFZLFVBQVosQ0FBUDtBQUNEOzs7OztJQUdHQyxTO0FBS0oscUJBQVlMLENBQVosRUFBdUJDLENBQXZCLEVBQXNDO0FBQUE7O0FBQ3BDLFNBQUtDLEVBQUwsR0FBVUYsQ0FBVjtBQUNBLFNBQUtHLEVBQUwsR0FBVUYsQ0FBVjtBQUNBLFNBQUtLLE1BQUwsR0FBYyxJQUFJQyxjQUFKLENBQW1CUCxDQUFuQixFQUFzQkMsQ0FBdEIsQ0FBZDtBQUNBLFNBQUtPLE1BQUwsR0FBYyxJQUFJQyxjQUFKLENBQW1CVCxDQUFuQixFQUFzQkMsQ0FBdEIsQ0FBZDtBQUNEOzs7OzZCQUNRO0FBQ1AsYUFBTyxLQUFLRSxFQUFMLENBQVFDLEdBQVIsQ0FBWSxXQUFaLENBQVA7QUFDRDs7OzJCQUNNTSxHLEVBQWE7QUFDbEIsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsK0NBQTZCTSxHQUE3QixFQUFQO0FBQ0Q7Ozs2QkFDUUEsRyxFQUFhO0FBQ3BCLGFBQU8sS0FBS1AsRUFBTCxDQUFRQyxHQUFSLGdEQUE2Qk0sR0FBN0IsRUFBUDtBQUNEOzs7b0NBQ2dCQSxHLEVBQWFDLFEsRUFBa0I7QUFDOUMsYUFBTyxLQUFLUixFQUFMLENBQVFDLEdBQVIsZ0RBQTZCTSxHQUE3QixFQUFtREMsUUFBbkQsRUFBUDtBQUNEOzs7MkJBQ01sQixJLEVBQWM7QUFDbkIsYUFBTyxLQUFLVSxFQUFMLENBQVFTLEdBQVIsQ0FBWSxXQUFaLEVBQXlCbkIsSUFBekIsQ0FBUDtBQUNEOzs7NEJBQ01pQixHLEVBQWE7QUFDbEIsYUFBTyxLQUFLUCxFQUFMLENBQVFVLE1BQVIsK0NBQWdDSCxHQUFoQyxFQUFQO0FBQ0Q7OzsyQkFDTWpCLEksRUFBYztBQUNuQixhQUFPLEtBQUtVLEVBQUwsQ0FBUVcsSUFBUiwrQ0FBOEJyQixLQUFLaUIsR0FBbkMsR0FBMENqQixJQUExQyxDQUFQO0FBQ0Q7Ozs0QkFDT2lCLEcsRUFBYUssVyxFQUFzQjtBQUN6QyxVQUFJQyxLQUFLLEVBQVQ7QUFDQSxVQUFJRCxXQUFKLEVBQWlCO0FBQ2ZDLGNBQU0sTUFBTSxzQkFBWXJCLFNBQVosQ0FBc0IsRUFBQ29CLHdCQUFELEVBQXRCLENBQVo7QUFDRDtBQUNELGFBQU8sS0FBS1osRUFBTCxDQUFRQyxHQUFSLENBQVksK0NBQWlCTSxHQUFqQixJQUFrQ00sRUFBOUMsQ0FBUDtBQUNEOzs7OztJQUdHVCxjO0FBR0osMEJBQVlQLENBQVosRUFBdUJDLENBQXZCLEVBQXNDO0FBQUE7O0FBQ3BDLFNBQUtDLEVBQUwsR0FBVUYsQ0FBVjtBQUNBLFNBQUtHLEVBQUwsR0FBVUYsQ0FBVjtBQUNEOzs7OzJCQUNNZ0IsTyxFQUFpQjtBQUN0QixhQUFPLEtBQUtkLEVBQUwsQ0FBUUMsR0FBUixnREFBNkJhLE9BQTdCLEVBQVA7QUFDRDs7OzJCQUNNQSxPLEVBQWlCUCxHLEVBQWE7QUFDbkMsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsZ0RBQTZCYSxPQUE3QixFQUErQ1AsR0FBL0MsRUFBUDtBQUNEOzs7MkJBQ01PLE8sRUFBaUJ4QixJLEVBQWM7QUFDcEMsYUFBTyxLQUFLVSxFQUFMLENBQVFTLEdBQVIsZ0RBQTZCSyxPQUE3QixHQUErQ3hCLElBQS9DLENBQVA7QUFDRDs7OzRCQUNNd0IsTyxFQUFpQlAsRyxFQUFhO0FBQ25DLGFBQU8sS0FBS1AsRUFBTCxDQUFRVSxNQUFSLGdEQUFnQ0ksT0FBaEMsRUFBa0RQLEdBQWxELEVBQVA7QUFDRDs7OzJCQUNNTyxPLEVBQWlCeEIsSSxFQUFjO0FBQ3BDLGFBQU8sS0FBS1UsRUFBTCxDQUFRVyxJQUFSLGdEQUE4QkcsT0FBOUIsRUFBZ0R4QixLQUFLaUIsR0FBckQsR0FBNERqQixJQUE1RCxDQUFQO0FBQ0Q7Ozs7O0lBR0dnQixjO0FBR0osMEJBQVlULENBQVosRUFBdUJDLENBQXZCLEVBQXNDO0FBQUE7O0FBQ3BDLFNBQUtDLEVBQUwsR0FBVUYsQ0FBVjtBQUNBLFNBQUtHLEVBQUwsR0FBVUYsQ0FBVjtBQUNEOzs7OzJCQUNNZ0IsTyxFQUFpQjtBQUN0QixhQUFPLEtBQUtkLEVBQUwsQ0FBUUMsR0FBUixnREFBNkJhLE9BQTdCLEVBQVA7QUFDRDs7OzJCQUNNQSxPLEVBQWlCUCxHLEVBQWE7QUFDbkMsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsZ0RBQTZCYSxPQUE3QixFQUErQ1AsR0FBL0MsRUFBUDtBQUNEOzs7MkJBQ01PLE8sRUFBaUJ4QixJLEVBQWM7QUFDcEMsYUFBTyxLQUFLVSxFQUFMLENBQVFTLEdBQVIsZ0RBQTZCSyxPQUE3QixHQUErQ3hCLElBQS9DLENBQVA7QUFDRDs7OzRCQUNNd0IsTyxFQUFpQlAsRyxFQUFhO0FBQ25DLGFBQU8sS0FBS1AsRUFBTCxDQUFRVSxNQUFSLGdEQUFnQ0ksT0FBaEMsRUFBa0RQLEdBQWxELEVBQVA7QUFDRDs7OzJCQUNNTyxPLEVBQWlCeEIsSSxFQUFjO0FBQ3BDLGFBQU8sS0FBS1UsRUFBTCxDQUFRVyxJQUFSLGdEQUE4QkcsT0FBOUIsRUFBZ0R4QixLQUFLaUIsR0FBckQsR0FBNERqQixJQUE1RCxDQUFQO0FBQ0Q7Ozs7O0lBR0d5QixLO0FBSUosaUJBQVlsQixDQUFaLEVBQXVCQyxDQUF2QixFQUFzQztBQUFBOztBQUNwQyxTQUFLQyxFQUFMLEdBQVVGLENBQVY7QUFDQSxTQUFLRyxFQUFMLEdBQVVGLENBQVY7QUFDQSxTQUFLTyxNQUFMLEdBQWMsSUFBSVcsU0FBSixDQUFjbkIsQ0FBZCxFQUFpQkMsQ0FBakIsQ0FBZDtBQUNEOzs7OzZCQUNRO0FBQ1AsYUFBTyxLQUFLRSxFQUFMLENBQVFDLEdBQVIsQ0FBWSxPQUFaLENBQVA7QUFDRDs7O21DQUNjTSxHLEVBQWE7QUFDMUIsYUFBTyxLQUFLUixFQUFMLENBQVFHLFNBQVIsQ0FBa0JlLFFBQWxCLENBQTJCVixHQUEzQixDQUFQO0FBQ0Q7OzsyQkFDTUEsRyxFQUFhO0FBQ2xCLGFBQU8sS0FBS1AsRUFBTCxDQUFRQyxHQUFSLGdEQUF5Qk0sR0FBekIsRUFBUDtBQUNEOzs7MkJBQ01PLE8sRUFBU3hCLEksRUFBTTtBQUNwQixhQUFPLEtBQUtVLEVBQUwsQ0FBUVMsR0FBUixnREFBNkJLLE9BQTdCLEdBQThDeEIsSUFBOUMsQ0FBUDtBQUNEOzs7NEJBQ01pQixHLEVBQWE7QUFDbEIsYUFBTyxLQUFLUCxFQUFMLENBQVFVLE1BQVIsZ0RBQTRCSCxHQUE1QixFQUFQO0FBQ0Q7OzsyQkFDTWpCLEksRUFBYztBQUNuQixhQUFPLEtBQUtVLEVBQUwsQ0FBUVcsSUFBUixnREFBMEJyQixLQUFLaUIsR0FBL0IsR0FBc0NqQixJQUF0QyxDQUFQO0FBQ0Q7Ozs4QkFDU2lCLEcsRUFBYTtBQUNyQixhQUFPLEtBQUtQLEVBQUwsQ0FBUUMsR0FBUixpREFBeUJNLEdBQXpCLEVBQVA7QUFDRDs7O2lDQUNZQSxHLEVBQWE7QUFDeEIsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsaURBQXlCTSxHQUF6QixFQUFQO0FBQ0Q7OztnQ0FDV0EsRyxFQUFhO0FBQ3ZCLGFBQU8sS0FBS1AsRUFBTCxDQUFRQyxHQUFSLGlEQUF5Qk0sR0FBekIsRUFBUDtBQUNEO0FBQ0Q7Ozs7a0NBQ2NBLEcsRUFBYWpCLEksRUFBTTtBQUMvQixhQUFPLEtBQUtVLEVBQUwsQ0FBUVMsR0FBUixpREFBeUJGLEdBQXpCLEdBQXlDakIsSUFBekMsQ0FBUDtBQUNEOzs7Z0NBQ1dpQixHLEVBQWFXLE8sRUFBaUI7QUFDeEMsYUFBTyxLQUFLbEIsRUFBTCxDQUFRUyxHQUFSLGlEQUF5QkYsR0FBekIsR0FBeUMsRUFBQ1csZ0JBQUQsRUFBekMsQ0FBUDtBQUNEOzs7NkJBQ1FYLEcsRUFBYTtBQUNwQixhQUFPLEtBQUtQLEVBQUwsQ0FBUUMsR0FBUixpREFBeUJNLEdBQXpCLEVBQVA7QUFDRDs7OytCQUNVQSxHLEVBQWE7QUFDdEIsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsaURBQXlCTSxHQUF6QixFQUFQO0FBQ0Q7Ozs0QkFDT0EsRyxFQUFhSyxXLEVBQXNCO0FBQ3pDLFVBQUlDLEtBQUssRUFBVDtBQUNBLFVBQUlELFdBQUosRUFBaUI7QUFDZkMsY0FBTSxNQUFNLHNCQUFZckIsU0FBWixDQUFzQixFQUFDb0Isd0JBQUQsRUFBdEIsQ0FBWjtBQUNEO0FBQ0QsYUFBTyxLQUFLWixFQUFMLENBQVFDLEdBQVIsQ0FBWSxnREFBYU0sR0FBYixJQUE4Qk0sRUFBMUMsQ0FBUDtBQUNEOzs7NkJBQ1FOLEcsRUFBYTtBQUNwQixhQUFPLEtBQUtQLEVBQUwsQ0FBUUMsR0FBUixpREFBeUJNLEdBQXpCLEVBQVA7QUFDRDs7Ozs7SUFHR1MsUztBQUdKLHFCQUFZbkIsQ0FBWixFQUF1QkMsQ0FBdkIsRUFBc0M7QUFBQTs7QUFDcEMsU0FBS0MsRUFBTCxHQUFVRixDQUFWO0FBQ0EsU0FBS0csRUFBTCxHQUFVRixDQUFWO0FBQ0Q7Ozs7OEJBQ1NTLEcsRUFBYTtBQUNyQixhQUFPLEtBQUtSLEVBQUwsQ0FBUWdCLEtBQVIsQ0FBY0ksU0FBZCxDQUF3QlosR0FBeEIsQ0FBUDtBQUNEOzs7MkJBQ01hLE0sRUFBZ0JiLEcsRUFBYTtBQUNsQyxhQUFPLEtBQUtQLEVBQUwsQ0FBUUMsR0FBUixpREFBeUJtQixNQUF6QixFQUEwQ2IsR0FBMUMsRUFBUDtBQUNEOzs7MkJBQ01hLE0sRUFBZ0I5QixJLEVBQWM7QUFDbkMsYUFBTyxLQUFLVSxFQUFMLENBQVFXLElBQVIsaURBQTBCUyxNQUExQixFQUEyQzlCLEtBQUtpQixHQUFoRCxHQUF1RGpCLElBQXZELENBQVA7QUFDRDs7Ozs7SUFHRytCLEs7QUFHSixpQkFBWXhCLENBQVosRUFBdUJDLENBQXZCLEVBQXNDO0FBQUE7O0FBQ3BDLFNBQUtDLEVBQUwsR0FBVUYsQ0FBVjtBQUNBLFNBQUtHLEVBQUwsR0FBVUYsQ0FBVjtBQUNEOzs7OzhCQUNTUyxHLEVBQWE7QUFDckIsYUFBTyxLQUFLUixFQUFMLENBQVFnQixLQUFSLENBQWNPLFFBQWQsQ0FBdUJmLEdBQXZCLENBQVA7QUFDRDs7OzJCQUNNQSxHLEVBQWE7QUFDbEIsYUFBTyxLQUFLUCxFQUFMLENBQVFDLEdBQVIsaURBQXlCTSxHQUF6QixFQUFQO0FBQ0Q7OztnQ0FDV0EsRyxFQUFhO0FBQ3ZCLGFBQU8sS0FBS1AsRUFBTCxDQUFRdUIsVUFBUixpREFBZ0NoQixHQUFoQyxFQUFQO0FBQ0Q7Ozs7O0lBR0dpQixPO0FBR0osbUJBQVkzQixDQUFaLEVBQXVCQyxDQUF2QixFQUFzQztBQUFBOztBQUNwQyxTQUFLQyxFQUFMLEdBQVVGLENBQVY7QUFDQSxTQUFLRyxFQUFMLEdBQVVGLENBQVY7QUFDRDs7Ozs4QkFDU3NCLE0sRUFBZ0I7QUFDeEIsYUFBTyxLQUFLckIsRUFBTCxDQUFRZ0IsS0FBUixDQUFjVSxVQUFkLENBQXlCTCxNQUF6QixDQUFQO0FBQ0Q7OzsyQkFDTU0sUyxFQUFtQjtBQUN4QixhQUFPLEtBQUsxQixFQUFMLENBQVFDLEdBQVIsaURBQTJCeUIsU0FBM0IsRUFBUDtBQUNEOzs7OztJQUdHQyxLO0FBR0osaUJBQVk5QixDQUFaLEVBQXVCQyxDQUF2QixFQUFzQztBQUFBOztBQUNwQyxTQUFLQyxFQUFMLEdBQVVGLENBQVY7QUFDQSxTQUFLRyxFQUFMLEdBQVVGLENBQVY7QUFDRDs7Ozs4QkFDU3NCLE0sRUFBZ0I7QUFDeEIsYUFBTyxLQUFLckIsRUFBTCxDQUFRZ0IsS0FBUixDQUFjYSxRQUFkLENBQXVCUixNQUF2QixDQUFQO0FBQ0Q7OzsyQkFDTWIsRyxFQUFhO0FBQ2xCLGFBQU8sS0FBS1AsRUFBTCxDQUFRQyxHQUFSLGlEQUF5Qk0sR0FBekIsRUFBUDtBQUNEOzs7MkJBQ01hLE0sRUFBZ0I5QixJLEVBQWM7QUFDbkMsYUFBTyxLQUFLVSxFQUFMLENBQVFXLElBQVIsaURBQTBCUyxNQUExQixHQUEwQzlCLElBQTFDLENBQVA7QUFDRDs7OzJCQUNNaUIsRyxFQUFhakIsSSxFQUFjO0FBQ2hDLGFBQU8sS0FBS1UsRUFBTCxDQUFRVyxJQUFSLGlEQUEwQkosR0FBMUIsR0FBaUNqQixJQUFqQyxDQUFQO0FBQ0Q7Ozs0QkFDTWlCLEcsRUFBYTtBQUNsQixhQUFPLEtBQUtQLEVBQUwsQ0FBUVUsTUFBUixpREFBNEJILEdBQTVCLEVBQVA7QUFDRDs7Ozs7SUFHVXNCLE0sV0FBQUEsTTtBQVNYLGtCQUFZOUUsT0FBWixFQUE2QjtBQUFBOztBQUMzQixTQUFLaUQsRUFBTCxHQUFVLElBQUlsRCxVQUFKLENBQWVDLE9BQWYsQ0FBVjtBQUNBLFNBQUs2QyxFQUFMLEdBQVUsSUFBSUEsRUFBSixDQUFPLElBQVAsRUFBYSxLQUFLSSxFQUFsQixDQUFWO0FBQ0EsU0FBS0UsU0FBTCxHQUFpQixJQUFJQSxTQUFKLENBQWMsSUFBZCxFQUFvQixLQUFLRixFQUF6QixDQUFqQjtBQUNBLFNBQUtlLEtBQUwsR0FBYSxJQUFJQSxLQUFKLENBQVUsSUFBVixFQUFnQixLQUFLZixFQUFyQixDQUFiO0FBQ0EsU0FBS3FCLEtBQUwsR0FBYSxJQUFJQSxLQUFKLENBQVUsSUFBVixFQUFnQixLQUFLckIsRUFBckIsQ0FBYjtBQUNBLFNBQUt3QixPQUFMLEdBQWUsSUFBSUEsT0FBSixDQUFZLElBQVosRUFBa0IsS0FBS3hCLEVBQXZCLENBQWY7QUFDQSxTQUFLMkIsS0FBTCxHQUFhLElBQUlBLEtBQUosQ0FBVSxJQUFWLEVBQWdCLEtBQUszQixFQUFyQixDQUFiO0FBQ0Q7Ozs7MkJBRU04QixLLEVBQWdDO0FBQ3JDLGFBQU8sS0FBSzlCLEVBQUwsQ0FBUUMsR0FBUixpREFBZ0M2QixLQUFoQyxFQUFQO0FBQ0QiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gJ3F1ZXJ5c3RyaW5nJztcblxuaW1wb3J0IGFldSBmcm9tICcuL2F1dG8tZW5jb2RlLXVyaSc7XG5cbmNsYXNzIENvbm5IZWxwZXIge1xuICBfYXV0aEtleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGF1dGhLZXk6IHN0cmluZykge1xuICAgIHRoaXMuX2F1dGhLZXkgPSBhdXRoS2V5O1xuICB9XG5cbiAgX2dldFJlcXVlc3RPcHRpb25zKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGhlYWRlcnM6IE9iamVjdD17fSwgZW5jb2Rpbmc6ID9zdHJpbmc9J3V0ZjgnKTogT2JqZWN0IHtcbiAgICAvLyBCeSBkZWZhdWx0IHdlIHJlcXVlc3QgdGhlIFYxIG9mIHRoZSBBUElcbiAgICBsZXQgcHJlZml4ID0gJy9hcGkvdjEvJztcblxuICAgIC8vIElmIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgaXMgYSBUYXNrLCB0aGVuIHVzZSB0aGUgVjIgb2YgdGhlIEFQSVxuICAgIGlmIChwYXRoLmluZGV4T2YoJ3Rhc2tzJykgPiAtMSkgcHJlZml4ID0gJy9hcGkvdjInO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGhvZCwgaGVhZGVycywgZW5jb2RpbmcsXG4gICAgICBob3N0OiAnbWFpbGZvb2dhZS5hcHBzcG90LmNvbScsXG4gICAgICBwYXRoOiBwcmVmaXggKyBwYXRoLFxuICAgICAgYXV0aDogdGhpcy5fYXV0aEtleVxuICAgIH07XG4gIH1cblxuICBfcGFyc2VSZXNwb25zZShyZXNwb25zZTogaHR0cHMuSW5jb21pbmdNZXNzYWdlKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgc3Ryczogc3RyaW5nW10gPSBbXTtcbiAgICAgIHJlc3BvbnNlLm9uKCdkYXRhJywgKGNodW5rOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc3Rycy5wdXNoKGNodW5rKTtcbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdHIgPSBzdHJzLmpvaW4oJycpO1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09PSAyMDApIHtcbiAgICAgICAgICAgIHJlc29sdmUoSlNPTi5wYXJzZShzdHIpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGpzb247XG4gICAgICAgICAgICBsZXQgZXJyb3JNZXNzYWdlID0gYFJlc3BvbnNlIGNvZGUgJHtyZXNwb25zZS5zdGF0dXNDb2RlfWA7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICAgICAgICBpZiAoanNvbiAmJiBqc29uLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0ganNvbi5lcnJvcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIC8vIElnbm9yZSBwYXJzZSBlcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVqZWN0KE9iamVjdC5hc3NpZ24oKG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpOiBPYmplY3QpLCB7XG4gICAgICAgICAgICAgIHN0ciwganNvbixcbiAgICAgICAgICAgICAgc3RhdHVzQ29kZTogcmVzcG9uc2Uuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgICAgaGVhZGVyczogcmVzcG9uc2UuaGVhZGVyc1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIF9wbGFpblJlc3BvbnNlKHJlc3BvbnNlOiBodHRwcy5JbmNvbWluZ01lc3NhZ2UpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgICByZXNwb25zZS5vbignZGF0YScsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgICAgIGNodW5rcy5wdXNoKGNodW5rKTtcbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBidWYgPSBCdWZmZXIuY29uY2F0KGNodW5rcyk7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShidWYpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgUmVzcG9uc2UgY29kZSAke3Jlc3BvbnNlLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgICAgIHJlamVjdChPYmplY3QuYXNzaWduKChuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTogT2JqZWN0KSwge1xuICAgICAgICAgICAgICBidWYsXG4gICAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnNcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQocGF0aDogc3RyaW5nKTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgb3B0cyA9IHRoaXMuX2dldFJlcXVlc3RPcHRpb25zKCdHRVQnLCBwYXRoKTtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdHMsIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5fcGFyc2VSZXNwb25zZShyZXMpKTtcbiAgICAgIH0pO1xuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgcmVxdWVzdC5lbmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldE5vUGFyc2UocGF0aDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgb3B0cyA9IHRoaXMuX2dldFJlcXVlc3RPcHRpb25zKCdHRVQnLCBwYXRoLCB1bmRlZmluZWQsIG51bGwpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzLnJlcXVlc3Qob3B0cywgcmVzID0+IHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLl9wbGFpblJlc3BvbnNlKHJlcykpO1xuICAgICAgfSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHV0KHBhdGg6IHN0cmluZywgZGF0YTogT2JqZWN0KTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgZHN0ciA9IHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRSZXF1ZXN0T3B0aW9ucygnUFVUJywgcGF0aCArICc/JyArIGRzdHIpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzLnJlcXVlc3Qob3B0cywgcmVzID0+IHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLl9wYXJzZVJlc3BvbnNlKHJlcykpO1xuICAgICAgfSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRSZXF1ZXN0T3B0aW9ucygnREVMRVRFJywgcGF0aCk7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRzLCByZXMgPT4ge1xuICAgICAgICByZXNvbHZlKHRoaXMuX3BhcnNlUmVzcG9uc2UocmVzKSk7XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3Qub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgIHJlcXVlc3QuZW5kKCk7XG4gICAgfSk7XG4gIH1cblxuICBwb3N0KHBhdGg6IHN0cmluZywgZGF0YTogYW55KTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgc2VuZCA9IHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeSh7anNvbjpKU09OLnN0cmluZ2lmeShkYXRhKX0pO1xuICAgICAgY29uc3Qgb3B0cyA9IHRoaXMuX2dldFJlcXVlc3RPcHRpb25zKCdQT1NUJywgcGF0aCwge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgICAgICdDb250ZW50LUxlbmd0aCc6IHNlbmQubGVuZ3RoXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdHMsIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5fcGFyc2VSZXNwb25zZShyZXMpKTtcbiAgICAgIH0pO1xuICAgICAgcmVxdWVzdC53cml0ZShzZW5kKTtcbiAgICAgIHJlcXVlc3Qub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgIHJlcXVlc3QuZW5kKCk7XG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgTWUge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl9jLmdldCgndXNlcnMvbWUnKTtcbiAgfVxufVxuXG5jbGFzcyBQaXBlbGluZXMge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgU3RhZ2VzOiBQaXBlbGluZVN0YWdlcztcbiAgRmllbGRzOiBQaXBlbGluZUZpZWxkcztcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gICAgdGhpcy5TdGFnZXMgPSBuZXcgUGlwZWxpbmVTdGFnZXMocywgYyk7XG4gICAgdGhpcy5GaWVsZHMgPSBuZXcgUGlwZWxpbmVGaWVsZHMocywgYyk7XG4gIH1cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLl9jLmdldCgncGlwZWxpbmVzJyk7XG4gIH1cbiAgZ2V0T25lKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7a2V5fWApO1xuICB9XG4gIGdldEJveGVzKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7a2V5fS9ib3hlc2ApO1xuICB9XG4gIGdldEJveGVzSW5TdGFnZSAoa2V5OiBzdHJpbmcsIHN0YWdlS2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBwaXBlbGluZXMvJHtrZXl9L2JveGVzP3N0YWdlS2V5PSR7c3RhZ2VLZXl9YCk7XG4gIH1cbiAgY3JlYXRlKGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnB1dCgncGlwZWxpbmVzJywgZGF0YSk7XG4gIH1cbiAgZGVsZXRlKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZGVsZXRlKGFldSBgcGlwZWxpbmVzLyR7a2V5fWApO1xuICB9XG4gIHVwZGF0ZShkYXRhOiBPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wb3N0KGFldSBgcGlwZWxpbmVzLyR7ZGF0YS5rZXl9YCwgZGF0YSk7XG4gIH1cbiAgZ2V0RmVlZChrZXk6IHN0cmluZywgZGV0YWlsTGV2ZWw6ID9zdHJpbmcpIHtcbiAgICBsZXQgcXMgPSAnJztcbiAgICBpZiAoZGV0YWlsTGV2ZWwpIHtcbiAgICAgIHFzICs9ICc/JyArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeSh7ZGV0YWlsTGV2ZWx9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7a2V5fS9uZXdzZmVlZGAgKyBxcyk7XG4gIH1cbn1cblxuY2xhc3MgUGlwZWxpbmVTdGFnZXMge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0QWxsKHBpcGVLZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L3N0YWdlc2ApO1xuICB9XG4gIGdldE9uZShwaXBlS2V5OiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vc3RhZ2VzLyR7a2V5fWApO1xuICB9XG4gIGNyZWF0ZShwaXBlS2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnB1dChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L3N0YWdlc2AsIGRhdGEpO1xuICB9XG4gIGRlbGV0ZShwaXBlS2V5OiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZGVsZXRlKGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vc3RhZ2VzLyR7a2V5fWApO1xuICB9XG4gIHVwZGF0ZShwaXBlS2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnBvc3QoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9zdGFnZXMvJHtkYXRhLmtleX1gLCBkYXRhKTtcbiAgfVxufVxuXG5jbGFzcyBQaXBlbGluZUZpZWxkcyB7XG4gIF9zOiBTdHJlYWs7XG4gIF9jOiBDb25uSGVscGVyO1xuICBjb25zdHJ1Y3RvcihzOiBTdHJlYWssIGM6IENvbm5IZWxwZXIpIHtcbiAgICB0aGlzLl9zID0gcztcbiAgICB0aGlzLl9jID0gYztcbiAgfVxuICBnZXRBbGwocGlwZUtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vZmllbGRzYCk7XG4gIH1cbiAgZ2V0T25lKHBpcGVLZXk6IHN0cmluZywga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9maWVsZHMvJHtrZXl9YCk7XG4gIH1cbiAgY3JlYXRlKHBpcGVLZXk6IHN0cmluZywgZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucHV0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vZmllbGRzYCwgZGF0YSk7XG4gIH1cbiAgZGVsZXRlKHBpcGVLZXk6IHN0cmluZywga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5kZWxldGUoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9maWVsZHMvJHtrZXl9YCk7XG4gIH1cbiAgdXBkYXRlKHBpcGVLZXk6IHN0cmluZywgZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L2ZpZWxkcy8ke2RhdGEua2V5fWAsIGRhdGEpO1xuICB9XG59XG5cbmNsYXNzIEJveGVzIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIEZpZWxkczogQm94RmllbGRzO1xuICBjb25zdHJ1Y3RvcihzOiBTdHJlYWssIGM6IENvbm5IZWxwZXIpIHtcbiAgICB0aGlzLl9zID0gcztcbiAgICB0aGlzLl9jID0gYztcbiAgICB0aGlzLkZpZWxkcyA9IG5ldyBCb3hGaWVsZHMocywgYyk7XG4gIH1cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLl9jLmdldCgnYm94ZXMnKTtcbiAgfVxuICBnZXRGb3JQaXBlbGluZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9zLlBpcGVsaW5lcy5nZXRCb3hlcyhrZXkpO1xuICB9XG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fWApO1xuICB9XG4gIGNyZWF0ZShwaXBlS2V5LCBkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucHV0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vYm94ZXNgLCBkYXRhKTtcbiAgfVxuICBkZWxldGUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5kZWxldGUoYWV1IGBib3hlcy8ke2tleX1gKTtcbiAgfVxuICB1cGRhdGUoZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYGJveGVzLyR7ZGF0YS5rZXl9YCwgZGF0YSk7XG4gIH1cbiAgZ2V0RmllbGRzKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgYm94ZXMvJHtrZXl9L2ZpZWxkc2ApO1xuICB9XG4gIGdldFJlbWluZGVycyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fS9yZW1pbmRlcnNgKTtcbiAgfVxuICBnZXRDb21tZW50cyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fS9jb21tZW50c2ApO1xuICB9XG4gIC8vIGRlcHJlY2F0ZWQgbWV0aG9kXG4gIGNyZWF0ZUNvbW1lbnQoa2V5OiBzdHJpbmcsIGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wdXQoYWV1IGBib3hlcy8ke2tleX0vY29tbWVudHNgLCBkYXRhKTtcbiAgfVxuICBwb3N0Q29tbWVudChrZXk6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucHV0KGFldSBgYm94ZXMvJHtrZXl9L2NvbW1lbnRzYCwge21lc3NhZ2V9KTtcbiAgfVxuICBnZXRGaWxlcyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fS9maWxlc2ApO1xuICB9XG4gIGdldFRocmVhZHMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vdGhyZWFkc2ApO1xuICB9XG4gIGdldEZlZWQoa2V5OiBzdHJpbmcsIGRldGFpbExldmVsOiA/c3RyaW5nKSB7XG4gICAgbGV0IHFzID0gJyc7XG4gICAgaWYgKGRldGFpbExldmVsKSB7XG4gICAgICBxcyArPSAnPycgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkoe2RldGFpbExldmVsfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fS9uZXdzZmVlZGAgKyBxcyk7XG4gIH1cbiAgZ2V0VGFza3Moa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vdGFza3NgKTtcbiAgfVxufVxuXG5jbGFzcyBCb3hGaWVsZHMge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0Rm9yQm94KGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX3MuQm94ZXMuZ2V0RmllbGRzKGtleSk7XG4gIH1cbiAgZ2V0T25lKGJveEtleTogc3RyaW5nLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7Ym94S2V5fS9maWVsZHMvJHtrZXl9YCk7XG4gIH1cbiAgdXBkYXRlKGJveEtleTogc3RyaW5nLCBkYXRhOiBPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wb3N0KGFldSBgYm94ZXMvJHtib3hLZXl9L2ZpZWxkcy8ke2RhdGEua2V5fWAsIGRhdGEpO1xuICB9XG59XG5cbmNsYXNzIEZpbGVzIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIGNvbnN0cnVjdG9yKHM6IFN0cmVhaywgYzogQ29ubkhlbHBlcikge1xuICAgIHRoaXMuX3MgPSBzO1xuICAgIHRoaXMuX2MgPSBjO1xuICB9XG4gIGdldEZvckJveChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9zLkJveGVzLmdldEZpbGVzKGtleSk7XG4gIH1cbiAgZ2V0T25lKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgZmlsZXMvJHtrZXl9YCk7XG4gIH1cbiAgZ2V0Q29udGVudHMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXROb1BhcnNlKGFldSBgZmlsZXMvJHtrZXl9L2NvbnRlbnRzYCk7XG4gIH1cbn1cblxuY2xhc3MgVGhyZWFkcyB7XG4gIF9zOiBTdHJlYWs7XG4gIF9jOiBDb25uSGVscGVyO1xuICBjb25zdHJ1Y3RvcihzOiBTdHJlYWssIGM6IENvbm5IZWxwZXIpIHtcbiAgICB0aGlzLl9zID0gcztcbiAgICB0aGlzLl9jID0gYztcbiAgfVxuICBnZXRGb3JCb3goYm94S2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fcy5Cb3hlcy5nZXRUaHJlYWRzKGJveEtleSk7XG4gIH1cbiAgZ2V0T25lKHRocmVhZEtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgdGhyZWFkcy8ke3RocmVhZEtleX1gKTtcbiAgfVxufVxuXG5jbGFzcyBUYXNrcyB7XG4gIF9zOiBTdHJlYWs7XG4gIF9jOiBDb25uSGVscGVyO1xuICBjb25zdHJ1Y3RvcihzOiBTdHJlYWssIGM6IENvbm5IZWxwZXIpIHtcbiAgICB0aGlzLl9zID0gcztcbiAgICB0aGlzLl9jID0gYztcbiAgfVxuICBnZXRGb3JCb3goYm94S2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fcy5Cb3hlcy5nZXRUYXNrcyhib3hLZXkpO1xuICB9XG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHRhc2tzLyR7a2V5fWApO1xuICB9XG4gIGNyZWF0ZShib3hLZXk6IHN0cmluZywgZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYGJveGVzLyR7Ym94S2V5fS90YXNrc2AsIGRhdGEpO1xuICB9XG4gIHVwZGF0ZShrZXk6IHN0cmluZywgZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYHRhc2tzLyR7a2V5fWAsIGRhdGEpO1xuICB9XG4gIGRlbGV0ZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmRlbGV0ZShhZXUgYHRhc2tzLyR7a2V5fWApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdHJlYWsge1xuICBfYzogQ29ubkhlbHBlcjtcbiAgTWU6IE1lO1xuICBQaXBlbGluZXM6IFBpcGVsaW5lcztcbiAgQm94ZXM6IEJveGVzO1xuICBGaWxlczogRmlsZXM7XG4gIFRocmVhZHM6IFRocmVhZHM7XG4gIFRhc2tzOiBUYXNrcztcblxuICBjb25zdHJ1Y3RvcihhdXRoS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jID0gbmV3IENvbm5IZWxwZXIoYXV0aEtleSk7XG4gICAgdGhpcy5NZSA9IG5ldyBNZSh0aGlzLCB0aGlzLl9jKTtcbiAgICB0aGlzLlBpcGVsaW5lcyA9IG5ldyBQaXBlbGluZXModGhpcywgdGhpcy5fYyk7XG4gICAgdGhpcy5Cb3hlcyA9IG5ldyBCb3hlcyh0aGlzLCB0aGlzLl9jKTtcbiAgICB0aGlzLkZpbGVzID0gbmV3IEZpbGVzKHRoaXMsIHRoaXMuX2MpO1xuICAgIHRoaXMuVGhyZWFkcyA9IG5ldyBUaHJlYWRzKHRoaXMsIHRoaXMuX2MpO1xuICAgIHRoaXMuVGFza3MgPSBuZXcgVGFza3ModGhpcywgdGhpcy5fYyk7XG4gIH1cblxuICBzZWFyY2gocXVlcnk6IHN0cmluZyk6IFByb21pc2U8T2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgc2VhcmNoP3F1ZXJ5PSR7cXVlcnl9YCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJDb25uSGVscGVyIiwiYXV0aEtleSIsIl9hdXRoS2V5IiwibWV0aG9kIiwicGF0aCIsImhlYWRlcnMiLCJlbmNvZGluZyIsInByZWZpeCIsImluZGV4T2YiLCJob3N0IiwiYXV0aCIsInJlc3BvbnNlIiwicmVzb2x2ZSIsInJlamVjdCIsInN0cnMiLCJvbiIsImNodW5rIiwicHVzaCIsInN0ciIsImpvaW4iLCJzdGF0dXNDb2RlIiwiSlNPTiIsInBhcnNlIiwianNvbiIsImVycm9yTWVzc2FnZSIsImVycm9yIiwiZXJyIiwiRXJyb3IiLCJjaHVua3MiLCJidWYiLCJCdWZmZXIiLCJjb25jYXQiLCJvcHRzIiwiX2dldFJlcXVlc3RPcHRpb25zIiwicmVxdWVzdCIsImh0dHBzIiwiX3BhcnNlUmVzcG9uc2UiLCJyZXMiLCJlbmQiLCJ1bmRlZmluZWQiLCJfcGxhaW5SZXNwb25zZSIsImRhdGEiLCJkc3RyIiwicXVlcnlzdHJpbmciLCJzdHJpbmdpZnkiLCJzZW5kIiwibGVuZ3RoIiwid3JpdGUiLCJNZSIsInMiLCJjIiwiX3MiLCJfYyIsImdldCIsIlBpcGVsaW5lcyIsIlN0YWdlcyIsIlBpcGVsaW5lU3RhZ2VzIiwiRmllbGRzIiwiUGlwZWxpbmVGaWVsZHMiLCJrZXkiLCJhZXUiLCJzdGFnZUtleSIsInB1dCIsImRlbGV0ZSIsInBvc3QiLCJkZXRhaWxMZXZlbCIsInFzIiwicGlwZUtleSIsIkJveGVzIiwiQm94RmllbGRzIiwiZ2V0Qm94ZXMiLCJtZXNzYWdlIiwiZ2V0RmllbGRzIiwiYm94S2V5IiwiRmlsZXMiLCJnZXRGaWxlcyIsImdldE5vUGFyc2UiLCJUaHJlYWRzIiwiZ2V0VGhyZWFkcyIsInRocmVhZEtleSIsIlRhc2tzIiwiZ2V0VGFza3MiLCJTdHJlYWsiLCJxdWVyeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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SixDQUFjLElBQWQsRUFBb0IsS0FBS0YsRUFBekIsQ0FBakI7QUFDQSxTQUFLZ0IsS0FBTCxHQUFhLElBQUlBLEtBQUosQ0FBVSxJQUFWLEVBQWdCLEtBQUtoQixFQUFyQixDQUFiO0FBQ0EsU0FBS3NCLEtBQUwsR0FBYSxJQUFJQSxLQUFKLENBQVUsSUFBVixFQUFnQixLQUFLdEIsRUFBckIsQ0FBYjtBQUNBLFNBQUt5QixPQUFMLEdBQWUsSUFBSUEsT0FBSixDQUFZLElBQVosRUFBa0IsS0FBS3pCLEVBQXZCLENBQWY7QUFDQSxTQUFLNEIsS0FBTCxHQUFhLElBQUlBLEtBQUosQ0FBVSxJQUFWLEVBQWdCLEtBQUs1QixFQUFyQixDQUFiO0FBQ0Q7Ozs7MkJBRU0rQixLLEVBQWdDO0FBQ3JDLGFBQU8sS0FBSy9CLEVBQUwsQ0FBUUMsR0FBUixLQUFZTyx1QkFBWixxQkFBZ0N1QixLQUFoQyxFQUFQO0FBQ0QiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IHF1ZXJ5c3RyaW5nIGZyb20gJ3F1ZXJ5c3RyaW5nJztcblxuaW1wb3J0IGFldSBmcm9tICcuL2F1dG8tZW5jb2RlLXVyaSc7XG5cbmNsYXNzIENvbm5IZWxwZXIge1xuICBfYXV0aEtleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGF1dGhLZXk6IHN0cmluZykge1xuICAgIHRoaXMuX2F1dGhLZXkgPSBhdXRoS2V5O1xuICB9XG5cbiAgX2dldFJlcXVlc3RPcHRpb25zKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGhlYWRlcnM6IE9iamVjdD17fSwgZW5jb2Rpbmc6ID9zdHJpbmc9J3V0ZjgnKTogT2JqZWN0IHtcbiAgICAvLyBCeSBkZWZhdWx0IHdlIHJlcXVlc3QgdGhlIFYxIG9mIHRoZSBBUElcbiAgICBsZXQgcHJlZml4ID0gJy9hcGkvdjEvJztcblxuICAgIC8vIElmIHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgaXMgYSBUYXNrLCB0aGVuIHVzZSB0aGUgVjIgb2YgdGhlIEFQSVxuICAgIGlmIChwYXRoLmluZGV4T2YoJ3Rhc2tzJykgPiAtMSkgcHJlZml4ID0gJy9hcGkvdjInO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGhvZCwgaGVhZGVycywgZW5jb2RpbmcsXG4gICAgICBob3N0OiAnYXBpLnN0cmVhay5jb20nLFxuICAgICAgcGF0aDogcHJlZml4ICsgcGF0aCxcbiAgICAgIGF1dGg6IHRoaXMuX2F1dGhLZXlcbiAgICB9O1xuICB9XG5cbiAgX3BhcnNlUmVzcG9uc2UocmVzcG9uc2U6IGh0dHBzLkluY29taW5nTWVzc2FnZSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHN0cnM6IHN0cmluZ1tdID0gW107XG4gICAgICByZXNwb25zZS5vbignZGF0YScsIChjaHVuazogc3RyaW5nKSA9PiB7XG4gICAgICAgIHN0cnMucHVzaChjaHVuayk7XG4gICAgICB9KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qgc3RyID0gc3Rycy5qb2luKCcnKTtcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XG4gICAgICAgICAgICByZXNvbHZlKEpTT04ucGFyc2Uoc3RyKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBqc29uO1xuICAgICAgICAgICAgbGV0IGVycm9yTWVzc2FnZSA9IGBSZXNwb25zZSBjb2RlICR7cmVzcG9uc2Uuc3RhdHVzQ29kZX1gO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAganNvbiA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgICAgICAgICAgaWYgKGpzb24gJiYganNvbi5lcnJvcikge1xuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGpzb24uZXJyb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAvLyBJZ25vcmUgcGFyc2UgZXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdChPYmplY3QuYXNzaWduKChuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTogT2JqZWN0KSwge1xuICAgICAgICAgICAgICBzdHIsIGpzb24sXG4gICAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnNcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBfcGxhaW5SZXNwb25zZShyZXNwb25zZTogaHR0cHMuSW5jb21pbmdNZXNzYWdlKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgY2h1bmtzOiBCdWZmZXJbXSA9IFtdO1xuICAgICAgcmVzcG9uc2Uub24oJ2RhdGEnLCAoY2h1bms6IEJ1ZmZlcikgPT4ge1xuICAgICAgICBjaHVua3MucHVzaChjaHVuayk7XG4gICAgICB9KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYnVmID0gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09PSAyMDApIHtcbiAgICAgICAgICAgIHJlc29sdmUoYnVmKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYFJlc3BvbnNlIGNvZGUgJHtyZXNwb25zZS5zdGF0dXNDb2RlfWA7XG4gICAgICAgICAgICByZWplY3QoT2JqZWN0LmFzc2lnbigobmV3IEVycm9yKGVycm9yTWVzc2FnZSk6IE9iamVjdCksIHtcbiAgICAgICAgICAgICAgYnVmLFxuICAgICAgICAgICAgICBzdGF0dXNDb2RlOiByZXNwb25zZS5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZS5oZWFkZXJzXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXNwb25zZS5vbignZXJyb3InLCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0KHBhdGg6IHN0cmluZyk6IFByb21pc2U8T2JqZWN0PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRSZXF1ZXN0T3B0aW9ucygnR0VUJywgcGF0aCk7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRzLCByZXMgPT4ge1xuICAgICAgICByZXNvbHZlKHRoaXMuX3BhcnNlUmVzcG9uc2UocmVzKSk7XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3Qub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgIHJlcXVlc3QuZW5kKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXROb1BhcnNlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRSZXF1ZXN0T3B0aW9ucygnR0VUJywgcGF0aCwgdW5kZWZpbmVkLCBudWxsKTtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdHMsIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5fcGxhaW5SZXNwb25zZShyZXMpKTtcbiAgICAgIH0pO1xuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgcmVxdWVzdC5lbmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1dChwYXRoOiBzdHJpbmcsIGRhdGE6IE9iamVjdCk6IFByb21pc2U8T2JqZWN0PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGRzdHIgPSBxdWVyeXN0cmluZy5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICBjb25zdCBvcHRzID0gdGhpcy5fZ2V0UmVxdWVzdE9wdGlvbnMoJ1BVVCcsIHBhdGggKyAnPycgKyBkc3RyKTtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdHMsIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5fcGFyc2VSZXNwb25zZShyZXMpKTtcbiAgICAgIH0pO1xuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgcmVxdWVzdC5lbmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBvcHRzID0gdGhpcy5fZ2V0UmVxdWVzdE9wdGlvbnMoJ0RFTEVURScsIHBhdGgpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzLnJlcXVlc3Qob3B0cywgcmVzID0+IHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLl9wYXJzZVJlc3BvbnNlKHJlcykpO1xuICAgICAgfSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcG9zdChwYXRoOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8T2JqZWN0PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHNlbmQgPSBxdWVyeXN0cmluZy5zdHJpbmdpZnkoe2pzb246SlNPTi5zdHJpbmdpZnkoZGF0YSl9KTtcbiAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLl9nZXRSZXF1ZXN0T3B0aW9ucygnUE9TVCcsIHBhdGgsIHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgICAgICAnQ29udGVudC1MZW5ndGgnOiBzZW5kLmxlbmd0aFxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRzLCByZXMgPT4ge1xuICAgICAgICByZXNvbHZlKHRoaXMuX3BhcnNlUmVzcG9uc2UocmVzKSk7XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3Qud3JpdGUoc2VuZCk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIE1lIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIGNvbnN0cnVjdG9yKHM6IFN0cmVhaywgYzogQ29ubkhlbHBlcikge1xuICAgIHRoaXMuX3MgPSBzO1xuICAgIHRoaXMuX2MgPSBjO1xuICB9XG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoJ3VzZXJzL21lJyk7XG4gIH1cbn1cblxuY2xhc3MgUGlwZWxpbmVzIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIFN0YWdlczogUGlwZWxpbmVTdGFnZXM7XG4gIEZpZWxkczogUGlwZWxpbmVGaWVsZHM7XG4gIGNvbnN0cnVjdG9yKHM6IFN0cmVhaywgYzogQ29ubkhlbHBlcikge1xuICAgIHRoaXMuX3MgPSBzO1xuICAgIHRoaXMuX2MgPSBjO1xuICAgIHRoaXMuU3RhZ2VzID0gbmV3IFBpcGVsaW5lU3RhZ2VzKHMsIGMpO1xuICAgIHRoaXMuRmllbGRzID0gbmV3IFBpcGVsaW5lRmllbGRzKHMsIGMpO1xuICB9XG4gIGdldEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoJ3BpcGVsaW5lcycpO1xuICB9XG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke2tleX1gKTtcbiAgfVxuICBnZXRCb3hlcyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke2tleX0vYm94ZXNgKTtcbiAgfVxuICBnZXRCb3hlc0luU3RhZ2UgKGtleTogc3RyaW5nLCBzdGFnZUtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7a2V5fS9ib3hlcz9zdGFnZUtleT0ke3N0YWdlS2V5fWApO1xuICB9XG4gIGNyZWF0ZShkYXRhOiBPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wdXQoJ3BpcGVsaW5lcycsIGRhdGEpO1xuICB9XG4gIGRlbGV0ZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmRlbGV0ZShhZXUgYHBpcGVsaW5lcy8ke2tleX1gKTtcbiAgfVxuICB1cGRhdGUoZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYHBpcGVsaW5lcy8ke2RhdGEua2V5fWAsIGRhdGEpO1xuICB9XG4gIGdldEZlZWQoa2V5OiBzdHJpbmcsIGRldGFpbExldmVsOiA/c3RyaW5nKSB7XG4gICAgbGV0IHFzID0gJyc7XG4gICAgaWYgKGRldGFpbExldmVsKSB7XG4gICAgICBxcyArPSAnPycgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkoe2RldGFpbExldmVsfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke2tleX0vbmV3c2ZlZWRgICsgcXMpO1xuICB9XG59XG5cbmNsYXNzIFBpcGVsaW5lU3RhZ2VzIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIGNvbnN0cnVjdG9yKHM6IFN0cmVhaywgYzogQ29ubkhlbHBlcikge1xuICAgIHRoaXMuX3MgPSBzO1xuICAgIHRoaXMuX2MgPSBjO1xuICB9XG4gIGdldEFsbChwaXBlS2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9zdGFnZXNgKTtcbiAgfVxuICBnZXRPbmUocGlwZUtleTogc3RyaW5nLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L3N0YWdlcy8ke2tleX1gKTtcbiAgfVxuICBjcmVhdGUocGlwZUtleTogc3RyaW5nLCBkYXRhOiBPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wdXQoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9zdGFnZXNgLCBkYXRhKTtcbiAgfVxuICBkZWxldGUocGlwZUtleTogc3RyaW5nLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmRlbGV0ZShhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L3N0YWdlcy8ke2tleX1gKTtcbiAgfVxuICB1cGRhdGUocGlwZUtleTogc3RyaW5nLCBkYXRhOiBPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5wb3N0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vc3RhZ2VzLyR7ZGF0YS5rZXl9YCwgZGF0YSk7XG4gIH1cbn1cblxuY2xhc3MgUGlwZWxpbmVGaWVsZHMge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0QWxsKHBpcGVLZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L2ZpZWxkc2ApO1xuICB9XG4gIGdldE9uZShwaXBlS2V5OiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vZmllbGRzLyR7a2V5fWApO1xuICB9XG4gIGNyZWF0ZShwaXBlS2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnB1dChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L2ZpZWxkc2AsIGRhdGEpO1xuICB9XG4gIGRlbGV0ZShwaXBlS2V5OiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZGVsZXRlKGFldSBgcGlwZWxpbmVzLyR7cGlwZUtleX0vZmllbGRzLyR7a2V5fWApO1xuICB9XG4gIHVwZGF0ZShwaXBlS2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnBvc3QoYWV1IGBwaXBlbGluZXMvJHtwaXBlS2V5fS9maWVsZHMvJHtkYXRhLmtleX1gLCBkYXRhKTtcbiAgfVxufVxuXG5jbGFzcyBCb3hlcyB7XG4gIF9zOiBTdHJlYWs7XG4gIF9jOiBDb25uSGVscGVyO1xuICBGaWVsZHM6IEJveEZpZWxkcztcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gICAgdGhpcy5GaWVsZHMgPSBuZXcgQm94RmllbGRzKHMsIGMpO1xuICB9XG4gIGdldEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoJ2JveGVzJyk7XG4gIH1cbiAgZ2V0Rm9yUGlwZWxpbmUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fcy5QaXBlbGluZXMuZ2V0Qm94ZXMoa2V5KTtcbiAgfVxuICBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX1gKTtcbiAgfVxuICBjcmVhdGUocGlwZUtleSwgZGF0YSkge1xuICAgIHJldHVybiB0aGlzLl9jLnB1dChhZXUgYHBpcGVsaW5lcy8ke3BpcGVLZXl9L2JveGVzYCwgZGF0YSk7XG4gIH1cbiAgZGVsZXRlKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZGVsZXRlKGFldSBgYm94ZXMvJHtrZXl9YCk7XG4gIH1cbiAgdXBkYXRlKGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnBvc3QoYWV1IGBib3hlcy8ke2RhdGEua2V5fWAsIGRhdGEpO1xuICB9XG4gIGdldEZpZWxkcyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGJveGVzLyR7a2V5fS9maWVsZHNgKTtcbiAgfVxuICBnZXRSZW1pbmRlcnMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vcmVtaW5kZXJzYCk7XG4gIH1cbiAgZ2V0Q29tbWVudHMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vY29tbWVudHNgKTtcbiAgfVxuICAvLyBkZXByZWNhdGVkIG1ldGhvZFxuICBjcmVhdGVDb21tZW50KGtleTogc3RyaW5nLCBkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucHV0KGFldSBgYm94ZXMvJHtrZXl9L2NvbW1lbnRzYCwgZGF0YSk7XG4gIH1cbiAgcG9zdENvbW1lbnQoa2V5OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLnB1dChhZXUgYGJveGVzLyR7a2V5fS9jb21tZW50c2AsIHttZXNzYWdlfSk7XG4gIH1cbiAgZ2V0RmlsZXMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vZmlsZXNgKTtcbiAgfVxuICBnZXRUaHJlYWRzKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgYm94ZXMvJHtrZXl9L3RocmVhZHNgKTtcbiAgfVxuICBnZXRGZWVkKGtleTogc3RyaW5nLCBkZXRhaWxMZXZlbDogP3N0cmluZykge1xuICAgIGxldCBxcyA9ICcnO1xuICAgIGlmIChkZXRhaWxMZXZlbCkge1xuICAgICAgcXMgKz0gJz8nICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHtkZXRhaWxMZXZlbH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2tleX0vbmV3c2ZlZWRgICsgcXMpO1xuICB9XG4gIGdldFRhc2tzKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0KGFldSBgYm94ZXMvJHtrZXl9L3Rhc2tzYCk7XG4gIH1cbn1cblxuY2xhc3MgQm94RmllbGRzIHtcbiAgX3M6IFN0cmVhaztcbiAgX2M6IENvbm5IZWxwZXI7XG4gIGNvbnN0cnVjdG9yKHM6IFN0cmVhaywgYzogQ29ubkhlbHBlcikge1xuICAgIHRoaXMuX3MgPSBzO1xuICAgIHRoaXMuX2MgPSBjO1xuICB9XG4gIGdldEZvckJveChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9zLkJveGVzLmdldEZpZWxkcyhrZXkpO1xuICB9XG4gIGdldE9uZShib3hLZXk6IHN0cmluZywga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGBib3hlcy8ke2JveEtleX0vZmllbGRzLyR7a2V5fWApO1xuICB9XG4gIHVwZGF0ZShib3hLZXk6IHN0cmluZywgZGF0YTogT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2MucG9zdChhZXUgYGJveGVzLyR7Ym94S2V5fS9maWVsZHMvJHtkYXRhLmtleX1gLCBkYXRhKTtcbiAgfVxufVxuXG5jbGFzcyBGaWxlcyB7XG4gIF9zOiBTdHJlYWs7XG4gIF9jOiBDb25uSGVscGVyO1xuICBjb25zdHJ1Y3RvcihzOiBTdHJlYWssIGM6IENvbm5IZWxwZXIpIHtcbiAgICB0aGlzLl9zID0gcztcbiAgICB0aGlzLl9jID0gYztcbiAgfVxuICBnZXRGb3JCb3goa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fcy5Cb3hlcy5nZXRGaWxlcyhrZXkpO1xuICB9XG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYGZpbGVzLyR7a2V5fWApO1xuICB9XG4gIGdldENvbnRlbnRzKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2MuZ2V0Tm9QYXJzZShhZXUgYGZpbGVzLyR7a2V5fS9jb250ZW50c2ApO1xuICB9XG59XG5cbmNsYXNzIFRocmVhZHMge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0Rm9yQm94KGJveEtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX3MuQm94ZXMuZ2V0VGhyZWFkcyhib3hLZXkpO1xuICB9XG4gIGdldE9uZSh0aHJlYWRLZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHRocmVhZHMvJHt0aHJlYWRLZXl9YCk7XG4gIH1cbn1cblxuY2xhc3MgVGFza3Mge1xuICBfczogU3RyZWFrO1xuICBfYzogQ29ubkhlbHBlcjtcbiAgY29uc3RydWN0b3IoczogU3RyZWFrLCBjOiBDb25uSGVscGVyKSB7XG4gICAgdGhpcy5fcyA9IHM7XG4gICAgdGhpcy5fYyA9IGM7XG4gIH1cbiAgZ2V0Rm9yQm94KGJveEtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX3MuQm94ZXMuZ2V0VGFza3MoYm94S2V5KTtcbiAgfVxuICBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5nZXQoYWV1IGB0YXNrcy8ke2tleX1gKTtcbiAgfVxuICBjcmVhdGUoYm94S2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnBvc3QoYWV1IGBib3hlcy8ke2JveEtleX0vdGFza3NgLCBkYXRhKTtcbiAgfVxuICB1cGRhdGUoa2V5OiBzdHJpbmcsIGRhdGE6IE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLl9jLnBvc3QoYWV1IGB0YXNrcy8ke2tleX1gLCBkYXRhKTtcbiAgfVxuICBkZWxldGUoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYy5kZWxldGUoYWV1IGB0YXNrcy8ke2tleX1gKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RyZWFrIHtcbiAgX2M6IENvbm5IZWxwZXI7XG4gIE1lOiBNZTtcbiAgUGlwZWxpbmVzOiBQaXBlbGluZXM7XG4gIEJveGVzOiBCb3hlcztcbiAgRmlsZXM6IEZpbGVzO1xuICBUaHJlYWRzOiBUaHJlYWRzO1xuICBUYXNrczogVGFza3M7XG5cbiAgY29uc3RydWN0b3IoYXV0aEtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYyA9IG5ldyBDb25uSGVscGVyKGF1dGhLZXkpO1xuICAgIHRoaXMuTWUgPSBuZXcgTWUodGhpcywgdGhpcy5fYyk7XG4gICAgdGhpcy5QaXBlbGluZXMgPSBuZXcgUGlwZWxpbmVzKHRoaXMsIHRoaXMuX2MpO1xuICAgIHRoaXMuQm94ZXMgPSBuZXcgQm94ZXModGhpcywgdGhpcy5fYyk7XG4gICAgdGhpcy5GaWxlcyA9IG5ldyBGaWxlcyh0aGlzLCB0aGlzLl9jKTtcbiAgICB0aGlzLlRocmVhZHMgPSBuZXcgVGhyZWFkcyh0aGlzLCB0aGlzLl9jKTtcbiAgICB0aGlzLlRhc2tzID0gbmV3IFRhc2tzKHRoaXMsIHRoaXMuX2MpO1xuICB9XG5cbiAgc2VhcmNoKHF1ZXJ5OiBzdHJpbmcpOiBQcm9taXNlPE9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLl9jLmdldChhZXUgYHNlYXJjaD9xdWVyeT0ke3F1ZXJ5fWApO1xuICB9XG59XG4iXX0= |
{ | ||
"name": "streakapi", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "wrapper for the Streak API", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -67,3 +67,3 @@ # NodeJS Wrapper for Streak API | ||
streak.Boxes.Fields.getOne(boxKey, key); | ||
streak.Boxes.Fields.update(boxKey, data); | ||
streak.Boxes.Fields.update(boxKey, data); // data must have "key" property containing the field key and "value" to update to, i.e.: {"key":"1002", "value":"This is my new value for this field!"} | ||
@@ -70,0 +70,0 @@ //files |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
69157
11