@finbourne/lusid-sdk-angular7
Version:
An angular (7+) SDK for secure access to the LUSID® by FINBOURNE web API
14 lines • 36.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// WARNING: interface has both a type and a value, skipping emit
export var CompletePortfolio;
(function (CompletePortfolio) {
CompletePortfolio.TypeEnum = {
Transaction: (/** @type {?} */ ('Transaction')),
Reference: (/** @type {?} */ ('Reference')),
DerivedTransaction: (/** @type {?} */ ('DerivedTransaction'))
};
})(CompletePortfolio || (CompletePortfolio = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGVQb3J0Zm9saW8uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmluYm91cm5lL2x1c2lkLXNkay1hbmd1bGFyNy8iLCJzb3VyY2VzIjpbImxpYi9nZW5lcmF0ZWQvbW9kZWwvY29tcGxldGVQb3J0Zm9saW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFnRUEsTUFBTSxLQUFXLGlCQUFpQixDQU9qQztBQVBELFdBQWlCLGlCQUFpQjtJQUVqQiwwQkFBUSxHQUFHO1FBQ3BCLFdBQVcsRUFBRSxtQkFBQSxhQUFhLEVBQVk7UUFDdEMsU0FBUyxFQUFFLG1CQUFBLFdBQVcsRUFBWTtRQUNsQyxrQkFBa0IsRUFBRSxtQkFBQSxvQkFBb0IsRUFBWTtLQUN2RDtBQUNMLENBQUMsRUFQZ0IsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU9qQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTFVTSUQgQVBJXG4gKiAjIEludHJvZHVjdGlvbiAgVGhpcyBwYWdlIGRvY3VtZW50cyB0aGUgW0xVU0lEIEFQSXNdKGh0dHBzOi8vYXBpLmx1c2lkLmNvbS9zd2FnZ2VyKSwgd2hpY2ggYWxsb3dzIGF1dGhvcmlzZWQgY2xpZW50cyB0byBxdWVyeSBhbmQgdXBkYXRlIHRoZWlyIGRhdGEgd2l0aGluIHRoZSBMVVNJRCBwbGF0Zm9ybS4gIFNES3MgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgTFVTSUQgQVBJcyBhcmUgYXZhaWxhYmxlIGluIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2VzIDogICogW0MjXShodHRwczovL2dpdGh1Yi5jb20vZmluYm91cm5lL2x1c2lkLXNkay1jc2hhcnApICogW0phdmFdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWphdmEpICogW0phdmFTY3JpcHRdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWpzKSAqIFtQeXRob25dKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLXB5dGhvbikgICMgRGF0YSBNb2RlbCAgVGhlIExVU0lEIEFQSSBoYXMgYSByZWxhdGl2ZWx5IGxpZ2h0d2VpZ2h0IGJ1dCBleHRyZW1lbHkgcG93ZXJmdWwgZGF0YSBtb2RlbC4gICBPbmUgb2YgdGhlIGdvYWxzIG9mIExVU0lEIHdhcyBub3QgdG8gZW5mb3JjZSBvbiBjbGllbnRzIGEgc2luZ2xlIHJpZ2lkIGRhdGEgbW9kZWwgYnV0IHJhdGhlciB0byBwcm92aWRlIGEgZmxleGlibGUgZm91bmRhdGlvbiBvbnRvIHdoaWNoIGNsaWVudHMgY2FuIHN0cmVhbWxpbmUgdGhlaXIgZGF0YS4gICBPbmUgb2YgdGhlIHByaW1hcnkgdG9vbHMgdG8gZXh0ZW5kIHRoZSBkYXRhIG1vZGVsIGlzIHRocm91Z2ggdXNpbmcgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhbW9uZ3N0IG90aGVyczogLSAqIFRyYW5zYWN0aW9ucyAqIEluc3RydW1lbnRzICogUG9ydGZvbGlvcyAgIFRoZSBMVVNJRCBkYXRhIG1vZGVsIGlzIGV4cG9zZWQgdGhyb3VnaCB0aGUgTFVTSUQgQVBJcy4gIFRoZSBBUElzIHByb3ZpZGUgYWNjZXNzIHRvIGJvdGggYnVzaW5lc3Mgb2JqZWN0cyBhbmQgdGhlIG1ldGEgZGF0YSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtcyBiZWhhdmlvdXJzLiAgIFRoZSBrZXkgYnVzaW5lc3MgZW50aXRpZXMgYXJlOiAtICogKipQb3J0Zm9saW9zKiogQSBwb3J0Zm9saW8gaXMgdGhlIHByaW1hcnkgY29udGFpbmVyIGZvciB0cmFuc2FjdGlvbnMgYW5kIGhvbGRpbmdzLiAgKiAqKkRlcml2ZWQgUG9ydGZvbGlvcyoqIERlcml2ZWQgcG9ydGZvbGlvcyBhbGxvdyBwb3J0Zm9saW9zIHRvIGJlIGNyZWF0ZWQgYmFzZWQgb24gb3RoZXIgcG9ydGZvbGlvcywgYnkgb3ZlcnJpZGluZyBvciBvdmVybGF5aW5nIHNwZWNpZmljIGl0ZW1zICogKipIb2xkaW5ncyoqIEEgaG9sZGluZyBpcyBhIHBvc2l0aW9uIGFjY291bnQgZm9yIGEgaW5zdHJ1bWVudCB3aXRoaW4gYSBwb3J0Zm9saW8uICBIb2xkaW5ncyBjYW4gb25seSBiZSBhZGp1c3RlZCB2aWEgdHJhbnNhY3Rpb25zLiAqICoqVHJhbnNhY3Rpb25zKiogQSBUcmFuc2FjdGlvbiBpcyBhIHNvdXJjZSBvZiB0cmFuc2FjdGlvbnMgdXNlZCB0byBtYW5pcHVsYXRlIGhvbGRpbmdzLiAgKiAqKkNvcnBvcmF0ZSBBY3Rpb25zKiogQSBjb3Jwb3JhdGUgYWN0aW9uIGlzIGEgbWFya2V0IGV2ZW50IHdoaWNoIG9jY3VycyB0byBhIGluc3RydW1lbnQsIGZvciBleGFtcGxlIGEgc3RvY2sgc3BsaXQgKiAqKkluc3RydW1lbnRzKiogIEEgaW5zdHJ1bWVudCByZXByZXNlbnRzIGEgY3VycmVuY3ksIHRyYWRhYmxlIGluc3RydW1lbnQgb3IgT1RDIGNvbnRyYWN0IHRoYXQgaXMgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbiBhbmQgYSBob2xkaW5nLiAqICoqUHJvcGVydGllcyoqIFNldmVyYWwgZW50aXRpZXMgYWxsb3cgYWRkaXRpb25hbCB1c2VyIGRlZmluZWQgcHJvcGVydGllcyB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlbS4gICBGb3IgZXhhbXBsZSwgYSBQb3J0Zm9saW8gbWFuYWdlciBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgcG9ydGZvbGlvICBNZXRhIGRhdGEgaW5jbHVkZXM6IC0gKiAqKlRyYW5zYWN0aW9uIFR5cGVzKiogVHJhbnNhY3Rpb25zIGFyZSBib29rZWQgd2l0aCBhIHNwZWNpZmljIHRyYW5zYWN0aW9uIHR5cGUuICBUaGUgdHlwZXMgYXJlIGNsaWVudCBkZWZpbmVkIGFuZCBhcmUgdXNlZCB0byBtYXAgdGhlIFRyYW5zYWN0aW9uIHRvIGEgc2VyaWVzIG9mIG1vdmVtZW50cyB3aGljaCB1cGRhdGUgdGhlIHBvcnRmb2xpbyBob2xkaW5ncy4gICogKipQcm9wZXJ0aWVzIFR5cGVzKiogVHlwZXMgb2YgdXNlciBkZWZpbmVkIHByb3BlcnRpZXMgdXNlZCB3aXRoaW4gdGhlIHN5c3RlbS4gIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGRhdGEgbW9kZWwgdGhhdCBMVVNJRCBleHBvc2VzIHZpYSB0aGUgQVBJcy4gICMjIFNjb3BlICBBbGwgZGF0YSBpbiBMVVNJRCBpcyBzZWdyZWdhdGVkIGF0IHRoZSBjbGllbnQgbGV2ZWwuICBFbnRpdGllcyBpbiBMVVNJRCBhcmUgaWRlbnRpZmlhYmxlIGJ5IGEgdW5pcXVlIGNvZGUuICBFdmVyeSBlbnRpdHkgbGl2ZXMgd2l0aGluIGEgbG9naWNhbCBkYXRhIHBhcnRpdGlvbiBrbm93biBhcyBhIFNjb3BlLiAgU2NvcGUgaXMgYW4gaWRlbnRpdHkgbmFtZXNwYWNlIGFsbG93aW5nIHR3byBlbnRpdGllcyB3aXRoIHRoZSBzYW1lIHVuaXF1ZSBjb2RlIHRvIGNvLWV4aXN0IHdpdGhpbiBpbmRpdmlkdWFsIGFkZHJlc3Mgc3BhY2VzLiAgRm9yIGV4YW1wbGUsIHByaWNlcyBmb3IgZXF1aXRpZXMgZnJvbSBkaWZmZXJlbnQgdmVuZG9ycyBtYXkgYmUgdXBsb2FkZWQgaW50byBkaWZmZXJlbnQgc2NvcGVzIHN1Y2ggYXMgYGNsaWVudC92ZW5kb3IxYCBhbmQgYGNsaWVudC92ZW5kb3IyYC4gIEEgcG9ydGZvbGlvIG1heSB0aGVuIGJlIHZhbHVlZCB1c2luZyBlaXRoZXIgb2YgdGhlIHByaWNlIHNvdXJjZXMgYnkgcmVmZXJlbmNpbmcgdGhlIGFwcHJvcHJpYXRlIHNjb3BlLiAgTFVTSUQgQ2xpZW50cyBjYW5ub3QgYWNjZXNzIHNjb3BlcyBvZiBvdGhlciBjbGllbnRzLiAgIyMgU2NoZW1hICBBIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBlbnRpdGllcyB1c2VkIGJ5IHRoZSBBUEkgYW5kIHBhcmFtZXRlcnMgZm9yIGVuZHBvaW50cyB3aGljaCB0YWtlIGEgSlNPTiBkb2N1bWVudCBjYW4gYmUgcmV0cmlldmVkIHZpYSB0aGUgYHNjaGVtYWAgZW5kcG9pbnQuICAjIyBJbnN0cnVtZW50cyAgTFVTSUQgaGFzIGl0cyBvd24gYnVpbHQtaW4gaW5zdHJ1bWVudCBtYXN0ZXIgd2hpY2ggeW91IGNhbiB1c2UgdG8gbWFzdGVyIHlvdXIgb3duIGluc3RydW1lbnQgdW5pdmVyc2UuICBFdmVyeSBpbnN0cnVtZW50IG11c3QgYmUgY3JlYXRlZCB3aXRoIG9uZSBvciBtb3JlIHVuaXF1ZSBtYXJrZXQgaWRlbnRpZmllcnMsIHN1Y2ggYXMgW0ZJR0ldKGh0dHBzOi8vb3BlbmZpZ2kuY29tLykuIEZvciBhbnkgbm9uLWxpc3RlZCBpbnN0cnVtZW50cyAoZWcgT1RDcyksIHlvdSBjYW4gdXBsb2FkIGFuIGluc3RydW1lbnQgYWdhaW5zdCBhIGN1c3RvbSBJRCBvZiB5b3VyIGNob29zaW5nLiAgSW4gYWRkaXRpb24sIExVU0lEIHdpbGwgYWxsb2NhdGUgZWFjaCBpbnN0cnVtZW50IGEgdW5pcXVlICdMVVNJRCBpbnN0cnVtZW50IGlkZW50aWZpZXInLiBUaGUgTFVTSUQgaW5zdHJ1bWVudCBpZGVudGlmaWVyIGlzIHdoYXQgaXMgdXNlZCB3aGVuIHVwbG9hZGluZyB0cmFuc2FjdGlvbnMsIGhvbGRpbmdzLCBwcmljZXMsIGV0Yy4gVGhlIEFQSSBleHBvc2VzIGFuIGBpbnN0cnVtZW50L2xvb2t1cGAgZW5kcG9pbnQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gbG9va3VwIHRoZXNlIExVU0lEIGlkZW50aWZpZXJzIHVzaW5nIHRoZWlyIG1hcmtldCBpZGVudGlmaWVycy4gIENhc2ggY2FuIGJlIHJlZmVyZW5jZWQgdXNpbmcgdGhlIElTTyBjdXJyZW5jeSBjb2RlIHByZWZpeGVkIHdpdGggXFxcImBDQ1lfYFxcXCIgZS5nLiBgQ0NZX0dCUGAgICMjIEluc3RydW1lbnQgUHJpY2VzIChBbmFseXRpY3MpICBJbnN0cnVtZW50IHByaWNlcyBhcmUgc3RvcmVkIGluIExVU0lEJ3MgQW5hbHl0aWNzIFN0b3JlICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgfCBWYWx1ZXxkZWNpbWFsfFZhbHVlIG9mIHRoZSBhbmFseXRpYywgZWcgcHJpY2UgfCB8IERlbm9taW5hdGlvbnxzdHJpbmd8VW5kZXJseWluZyB1bml0IG9mIHRoZSBhbmFseXRpYywgZWcgY3VycmVuY3ksIEVQUyBldGMuIHwgICAjIyBJbnN0cnVtZW50IERhdGEgIEluc3RydW1lbnQgZGF0YSBjYW4gYmUgdXBsb2FkZWQgdG8gdGhlIHN5c3RlbSB1c2luZyB0aGUgW0luc3RydW1lbnQgUHJvcGVydGllc10oI3RhZy9JbnN0cnVtZW50UHJvcGVydGllcykgZW5kcG9pbnQuICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBLZXl8cHJvcGVydHlrZXl8VGhlIGtleSBvZiB0aGUgcHJvcGVydHkuIFRoaXMgdGFrZXMgdGhlIGZvcm1hdCB7ZG9tYWlufS97c2NvcGV9L3tjb2RlfSBlLmcuICdJbnN0cnVtZW50L3N5c3RlbS9OYW1lJyBvciAnVHJhbnNhY3Rpb24vc3RyYXRlZ3kvcXVhbnRzaWduYWwnLiB8IHwgVmFsdWV8c3RyaW5nfFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkuIHwgfCBFZmZlY3RpdmVGcm9tfGRhdGV0aW1lb2Zmc2V0fFRoZSBlZmZlY3RpdmUgZGF0ZXRpbWUgZnJvbSB3aGljaCB0aGUgcHJvcGVydHkgaXMgdmFsaWQuIHwgICAjIyBQb3J0Zm9saW9zICBQb3J0Zm9saW9zIGFyZSB0aGUgdG9wLWxldmVsIGVudGl0eSBjb250YWluZXJzIHdpdGhpbiBMVVNJRCwgY29udGFpbmluZyB0cmFuc2FjdGlvbnMsIGNvcnBvcmF0ZSBhY3Rpb25zIGFuZCBob2xkaW5ncy4gICAgVGhlIHRyYW5zYWN0aW9ucyBidWlsZCB1cCB0aGUgcG9ydGZvbGlvIGhvbGRpbmdzIG9uIHdoaWNoIHZhbHVhdGlvbnMsIGFuYWx5dGljcyBwcm9maXQgJiBsb3NzIGFuZCByaXNrIGNhbiBiZSBjYWxjdWxhdGVkLiAgICAgUHJvcGVydGllcyBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIFBvcnRmb2xpb3MgdG8gYWRkIGluIGFkZGl0aW9uYWwgbW9kZWwgZGF0YS4gIFBvcnRmb2xpbyBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkIG92ZXIgdGltZSBhcyB3ZWxsLiAgRm9yIGV4YW1wbGUsIHRvIGFsbG93IGEgUG9ydGZvbGlvIE1hbmFnZXIgdG8gYmUgbGlua2VkIHdpdGggYSBQb3J0Zm9saW8uICBBZGRpdGlvbmFsbHksIHBvcnRmb2xpb3MgY2FuIGJlIHNlY3VyaXRpc2VkIGFuZCBoZWxkIGJ5IG90aGVyIHBvcnRmb2xpb3MsIGFsbG93aW5nIExVU0lEIHRvIHBlcmZvcm0gXFxcImRyaWxsLXRocm91Z2hcXFwiIGludG8gdW5kZXJseWluZyBmdW5kIGhvbGRpbmdzICAjIyMgUmVmZXJlbmNlIFBvcnRmb2xpb3MgUmVmZXJlbmNlIHBvcnRmb2xpb3MgYXJlIHBvcnRmb2xpb3MgdGhhdCBjb250YWluIG9ubHkgd2VpZ2h0cywgYXMgb3Bwb3NlZCB0byB0cmFuc2FjdGlvbnMsIGFuZCBhcmUgZGVzaWduZWQgdG8gcmVwcmVzZW50IGVudGl0aWVzIHN1Y2ggYXMgaW5kaWNlcy4gICMjIyBEZXJpdmVkIFBvcnRmb2xpb3MgIExVU0lEIGFsc28gYWxsb3dzIGZvciBhIHBvcnRmb2xpbyB0byBiZSBjb21wb3NlZCBvZiBhbm90aGVyIHBvcnRmb2xpbyB2aWEgZGVyaXZlZCBwb3J0Zm9saW9zLiAgQSBkZXJpdmVkIHBvcnRmb2xpbyBjYW4gY29udGFpbiBpdHMgb3duIHRyYW5zYWN0aW9ucyBhbmQgYWxzbyBpbmhlcml0cyBhbnkgdHJhbnNhY3Rpb25zIGZyb20gaXRzIHBhcmVudCBwb3J0Zm9saW8uICBBbnkgY2hhbmdlcyBtYWRlIHRvIHRoZSBwYXJlbnQgcG9ydGZvbGlvIGFyZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiBkZXJpdmVkIHBvcnRmb2xpby4gIERlcml2ZWQgcG9ydGZvbGlvcyBpbiBjb25qdW5jdGlvbiB3aXRoIHNjb3BlcyBhcmUgYSBwb3dlcmZ1bCBjb25zdHJ1Y3QuICBGb3IgZXhhbXBsZSwgdG8gZG8gcHJlLXRyYWRlIHdoYXQtaWYgYW5hbHlzaXMsIGEgZGVyaXZlZCBwb3J0Zm9saW8gY291bGQgYmUgY3JlYXRlZCBhIG5ldyBuYW1lc3BhY2UgbGlua2VkIHRvIHRoZSB1bmRlcmx5aW5nIGxpdmUgKHBhcmVudCkgcG9ydGZvbGlvLiAgQW5hbHlzaXMgY2FuIHRoZW4gYmUgdW5kZXJ0YWtlbiBvbiB0aGUgZGVyaXZlZCBwb3J0Zm9saW8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGxpdmUgcG9ydGZvbGlvLiAgIyMjIFBvcnRmb2xpbyBHcm91cHMgUG9ydGZvbGlvIGdyb3VwcyBhbGxvdyB0aGUgY29uc3RydWN0aW9uIG9mIGEgaGllcmFyY2h5IGZyb20gcG9ydGZvbGlvcyBhbmQgZ3JvdXBzLiAgUG9ydGZvbGlvIG9wZXJhdGlvbnMgb24gdGhlIGdyb3VwIGFyZSBleGVjdXRlZCBvbiBhbiBhZ2dyZWdhdGVkIHNldCBvZiBwb3J0Zm9saW9zIGluIHRoZSBoaWVyYXJjaHkuICAgRm9yIGV4YW1wbGU6ICAgKiBHbG9iYWwgUG9ydGZvbGlvcyBfKGdyb3VwKV8gICAqIEFQQUMgXyhncm91cClfICAgICAqIEhvbmcgS29uZyBfKHBvcnRmb2xpbylfICAgICAqIEphcGFuIF8ocG9ydGZvbGlvKV8gICAqIEV1cm9wZSBfKGdyb3VwKV8gICAgICogRnJhbmNlIF8ocG9ydGZvbGlvKV8gICAgICogR2VybWFueSBfKHBvcnRmb2xpbylfICAgKiBVSyBfKHBvcnRmb2xpbylfICAgSW4gdGhpcyBleGFtcGxlICoqR2xvYmFsIFBvcnRmb2xpb3MqKiBpcyBhIGdyb3VwIHRoYXQgY29uc2lzdHMgb2YgYW4gYWdncmVnYXRlIG9mICoqSG9uZyBLb25nKiosICoqSmFwYW4qKiwgKipGcmFuY2UqKiwgKipHZXJtYW55KiogYW5kICoqVUsqKiBwb3J0Zm9saW9zLiAgIyMjIE1vdmVtZW50cyBFbmdpbmUgVGhlIE1vdmVtZW50cyBlbmdpbmUgc2l0cyBvbiB0b3Agb2YgdGhlIGltbXV0YWJsZSBldmVudCBzdG9yZSBhbmQgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGlucHV0IHRyYWRpbmcgYWN0aW9ucyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBwb3J0Zm9saW8gaG9sZGluZ3MuICAgICBUaGUgbW92ZW1lbnRzIGVuZ2luZSByZWFkcyBpbiB0aGUgZm9sbG93aW5nIGVudGl0eSB0eXBlczotICogUG9zdGluZyBUcmFuc2FjdGlvbnMgKiBBcHBseWluZyBDb3Jwb3JhdGUgQWN0aW9ucyAgKiBIb2xkaW5nIEFkanVzdG1lbnRzICBUaGVzZSBhcmUgY29udmVydGVkIHRvIG9uZSBvciBtb3JlIG1vdmVtZW50cyBhbmQgdXNlZCBieSB0aGUgbW92ZW1lbnRzIGVuZ2luZSB0byBjYWxjdWxhdGUgaG9sZGluZ3MuICBBdCB0aGUgc2FtZSB0aW1lIGl0IGFsc28gY2FsY3VsYXRlcyBydW5uaW5nIGJhbGFuY2VzLCBhbmQgcmVhbGlzZWQgUCZMLiAgVGhlIG91dHB1dHMgZnJvbSB0aGUgbW92ZW1lbnRzIGVuZ2luZSBhcmUgaG9sZGluZ3MgYW5kIHRyYW5zYWN0aW9ucy4gICMjIFRyYW5zYWN0aW9ucyAgQSB0cmFuc2FjdGlvbiByZXByZXNlbnRzIGFuIGVjb25vbWljIGFjdGl2aXR5IGFnYWluc3QgYSBQb3J0Zm9saW8uICBUcmFuc2FjdGlvbnMgYXJlIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gYSBjb25maWd1cmF0aW9uLiBUaGlzIHdpbGwgdGVsbCB0aGUgTFVTSUQgZW5naW5lIGhvdyB0byBpbnRlcnByZXQgdGhlIHRyYW5zYWN0aW9uIGFuZCBjb3JyZWN0bHkgdXBkYXRlIHRoZSBob2xkaW5ncy4gTFVTSUQgY29tZXMgd2l0aCBhIHNldCBvZiB0cmFuc2FjdGlvbiB0eXBlcyB5b3UgY2FuIHVzZSBvdXQgb2YgdGhlIGJveCwgb3IgeW91IGNhbiBjb25maWd1cmUgeW91ciBvd24gc2V0KHMpIG9mIHRyYW5zYWN0aW9ucy4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHRoZSBbTFVTSUQgR2V0dGluZyBTdGFydGVkIEd1aWRlIGZvciB0cmFuc2FjdGlvbiBjb25maWd1cmF0aW9uLl0oaHR0cHM6Ly9zdXBwb3J0Lmx1c2lkLmNvbS9jb25maWd1cmluZy10cmFuc2FjdGlvbi10eXBlcykgIHwgRmllbGR8VHlwZXxEZXNjcmlwdGlvbiB8IHwgLS0tfC0tLXwtLS0gfCB8IFRyYW5zYWN0aW9uSWR8c3RyaW5nfFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRyYW5zYWN0aW9uLiB8IHwgVHlwZXxzdHJpbmd8VGhlIHR5cGUgb2YgdGhlIHRyYW5zYWN0aW9uIGUuZy4gJ0J1eScsICdTZWxsJy4gVGhlIHRyYW5zYWN0aW9uIHR5cGUgc2hvdWxkIGhhdmUgYmVlbiBwcmUtY29uZmlndXJlZCB2aWEgdGhlIFN5c3RlbSBDb25maWd1cmF0aW9uIEFQSSBlbmRwb2ludC4gSWYgaXQgaGFzbid0IGJlZW4gcHJlLWNvbmZpZ3VyZWQgdGhlIHRyYW5zYWN0aW9uIHdpbGwgc3RpbGwgYmUgdXBkYXRlZCBvciBpbnNlcnRlZCBob3dldmVyIHlvdSB3aWxsIGJlIHVuYWJsZSB0byBnZW5lcmF0ZSB0aGUgcmVzdWx0YW50IGhvbGRpbmdzIGZvciB0aGUgcG9ydGZvbGlvIHRoYXQgY29udGFpbnMgdGhpcyB0cmFuc2FjdGlvbiBhcyBMVVNJRCBkb2VzIG5vdCBrbm93IGhvdyB0byBwcm9jZXNzIGl0LiB8IHwgSW5zdHJ1bWVudElkZW50aWZpZXJzfG1hcHxBIHNldCBvZiBpbnN0cnVtZW50IGlkZW50aWZpZXJzIHRvIHVzZSB0byByZXNvbHZlIHRoZSB0cmFuc2FjdGlvbiB0byBhIHVuaXF1ZSBpbnN0cnVtZW50LiB8IHwgVHJhbnNhY3Rpb25EYXRlfGRhdGVvcmN1dGxhYmVsfFRoZSBkYXRlIG9mIHRoZSB0cmFuc2FjdGlvbi4gfCB8IFNldHRsZW1lbnREYXRlfGRhdGVvcmN1dGxhYmVsfFRoZSBzZXR0bGVtZW50IGRhdGUgb2YgdGhlIHRyYW5zYWN0aW9uLiB8IHwgVW5pdHN8ZGVjaW1hbHxUaGUgbnVtYmVyIG9mIHVuaXRzIHRyYW5zYWN0ZWQgaW4gdGhlIGFzc29jaWF0ZWQgaW5zdHJ1bWVudC4gfCB8IFRyYW5zYWN0aW9uUHJpY2V8dHJhbnNhY3Rpb25wcmljZXxUaGUgcHJpY2UgZm9yIGVhY2ggdW5pdCBvZiB0aGUgdHJhbnNhY3RlZCBpbnN0cnVtZW50IGluIHRoZSB0cmFuc2FjdGlvbiBjdXJyZW5jeS4gfCB8IFRvdGFsQ29uc2lkZXJhdGlvbnxjdXJyZW5jeWFuZGFtb3VudHxUaGUgdG90YWwgdmFsdWUgb2YgdGhlIHRyYW5zYWN0aW9uIGluIHRoZSBzZXR0bGVtZW50IGN1cnJlbmN5LiB8IHwgRXhjaGFuZ2VSYXRlfGRlY2ltYWx8VGhlIGV4Y2hhbmdlIHJhdGUgYmV0d2VlbiB0aGUgdHJhbnNhY3Rpb24gYW5kIHNldHRsZW1lbnQgY3VycmVuY3kuIEZvciBleGFtcGxlIGlmIHRoZSB0cmFuc2FjdGlvbiBjdXJyZW5jeSBpcyBpbiBVU0QgYW5kIHRoZSBzZXR0bGVtZW50IGN1cnJlbmN5IGlzIGluIEdCUCB0aGlzIHRoaXMgdGhlIFVTRC9HQlAgcmF0ZS4gfCB8IFRyYW5zYWN0aW9uQ3VycmVuY3l8Y3VycmVuY3l8VGhlIHRyYW5zYWN0aW9uIGN1cnJlbmN5LiB8IHwgUHJvcGVydGllc3xtYXB8U2V0IG9mIHVuaXF1ZSB0cmFuc2FjdGlvbiBwcm9wZXJ0aWVzIGFuZCBhc3NvY2lhdGVkIHZhbHVlcyB0byBzdG9yZSB3aXRoIHRoZSB0cmFuc2FjdGlvbi4gRWFjaCBwcm9wZXJ0eSBtdXN0IGJlIGZyb20gdGhlICdUcmFuc2FjdGlvbicgZG9tYWluLiB8IHwgQ291bnRlcnBhcnR5SWR8c3RyaW5nfFRoZSBpZGVudGlmaWVyIGZvciB0aGUgY291bnRlcnBhcnR5IG9mIHRoZSB0cmFuc2FjdGlvbi4gfCB8IFNvdXJjZXxzdHJpbmd8VGhlIHNvdXJjZSBvZiB0aGUgdHJhbnNhY3Rpb24uIFRoaXMgaXMgdXNlZCB0byBsb29rIHVwIHRoZSBhcHByb3ByaWF0ZSB0cmFuc2FjdGlvbiBncm91cCBzZXQgaW4gdGhlIHRyYW5zYWN0aW9uIHR5cGUgY29uZmlndXJhdGlvbi4gfCAgIEZyb20gdGhlc2UgZmllbGRzLCB0aGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUgY2FsY3VsYXRlZCAgKiAqKlRyYW5zYWN0aW9uIHZhbHVlIGluIFRyYW5zYWN0aW9uIGN1cnJlbmN5Kio6IFRvdGFsQ29uc2lkZXJhdGlvbiAvIEV4Y2hhbmdlUmF0ZSAgKiAqKlRyYW5zYWN0aW9uIHZhbHVlIGluIFBvcnRmb2xpbyBjdXJyZW5jeSoqOiBUcmFuc2FjdGlvbiB2YWx1ZSBpbiBUcmFuc2FjdGlvbiBjdXJyZW5jeSAqIFRyYWRlVG9Qb3J0Zm9saW9SYXRlICAjIyMgRXhhbXBsZSBUcmFuc2FjdGlvbnMgICMjIyMgQSBDb21tb24gUHVyY2hhc2UgRXhhbXBsZSBUaHJlZSBleGFtcGxlIHRyYW5zYWN0aW9ucyBhcmUgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LiAgIFRoZXkgcmVwcmVzZW50IGEgcHVyY2hhc2Ugb2YgVVNEIGRlbm9taW5hdGVkIElCTSBzaGFyZXMgd2l0aGluIGEgU3RlcmxpbmcgZGVub21pbmF0ZWQgcG9ydGZvbGlvLiAgICogVGhlIGZpcnN0IHR3byB0cmFuc2FjdGlvbnMgYXJlIGZvciBzZXBhcmF0ZSBidXkgYW5kIGZ4IHRyYWRlcyAgICAqIEJ1eWluZyA1MDAgSUJNIHNoYXJlcyBmb3IgJDcxLDQ4MC4wMCAgICAqIEEgZm9yZWlnbiBleGNoYW5nZSBjb252ZXJzaW9uIHRvIGZ1bmQgdGhlIElCTSBwdXJjaGFzZS4gKEJ1eSAkNzEsNDgwLjAwIGZvciAmIzE2Mzs1NCw4NDYuNjApICAqIFRoZSB0aGlyZCB0cmFuc2FjdGlvbiBpcyBhbiBhbHRlcm5hdGUgdmVyc2lvbiBvZiB0aGUgYWJvdmUgdHJhZGVzLiBCdXlpbmcgNTAwIElCTSBzaGFyZXMgYW5kIHNldHRsaW5nIGRpcmVjdGx5IGluIFN0ZXJsaW5nLiAgfCBDb2x1bW4gfCAgQnV5IFRyYWRlIHwgRnggVHJhZGUgfCBCdXkgVHJhZGUgd2l0aCBmb3JlaWduIFNldHRsZW1lbnQgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IC0tLS0tIHwgfCBUcmFuc2FjdGlvbklkIHwgRkJOMDAwMDEgfCBGQk4wMDAwMiB8IEZCTjAwMDAzIHwgfCBUeXBlIHwgQnV5IHwgRnhCdXkgfCBCdXkgfCB8IEluc3RydW1lbnRJZGVudGlmaWVycyB8IHsgXFxcImZpZ2lcXFwiLCBcXFwiQkJHMDAwQkxOTkg2XFxcIiB9IHwgeyBcXFwiQ0NZXFxcIiwgXFxcIkNDWV9VU0RcXFwiIH0gfCB7IFxcXCJmaWdpXFxcIiwgXFxcIkJCRzAwMEJMTk5INlxcXCIgfSB8IHwgVHJhbnNhY3Rpb25EYXRlIHwgMjAxOC0wOC0wMiB8IDIwMTgtMDgtMDIgfCAyMDE4LTA4LTAyIHwgfCBTZXR0bGVtZW50RGF0ZSB8IDIwMTgtMDgtMDYgfCAyMDE4LTA4LTA2IHwgMjAxOC0wOC0wNiB8IHwgVW5pdHMgfCA1MDAgfCA3MTQ4MCB8IDUwMCB8IHwgVHJhbnNhY3Rpb25QcmljZSB8IDE0Mi45NiB8IDEgfCAxNDIuOTYgfCB8IFRyYWRlQ3VycmVuY3kgfCBVU0QgfCBVU0QgfCBVU0QgfCB8IEV4Y2hhbmdlUmF0ZSB8IDEgfCAwLjc2NzMgfCAwLjc2NzMgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5BbW91bnQgfCA3MTQ4MC4wMCB8IDU0ODQ2LjYwIHwgNTQ4NDYuNjAgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5DdXJyZW5jeSB8IFVTRCB8IEdCUCB8IEdCUCB8IHwgVHJhZGUvZGVmYXVsdC9UcmFkZVRvUG9ydGZvbGlvUmF0ZSZhc3Q7IHwgMC43NjczIHwgMC43NjczIHwgMC43NjczIHwgIFsmYXN0OyBUaGlzIGlzIGEgcHJvcGVydHkgZmllbGRdICAjIyMjIEEgRm9yd2FyZCBGWCBFeGFtcGxlICBMVVNJRCBoYXMgYSBmbGV4aWJsZSB0cmFuc2FjdGlvbiBtb2RlbGxpbmcgc3lzdGVtLCBhbmQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGRpZmZlcmVudCB3YXlzIG9mIG1vZGVsbGluZyBmb3J3YXJkIGZ4IHRyYWRlcy4gIFRoZSBkZWZhdWx0IExVU0lEIHRyYW5zYWN0aW9uIHR5cGVzIGFyZSBGd2RGeEJ1eSBhbmQgRndkRnhTZWxsLiBPdGhlciB0eXBlcyBhbmQgYmVoYXZpb3VycyBjYW4gYmUgY29uZmlndXJlZCBhcyByZXF1aXJlZC4gIFVzaW5nIHRoZXNlIHRyYW5zYWN0aW9uIHR5cGVzLCB0aGUgaG9sZGluZ3MgcXVlcnkgd2lsbCByZXBvcnQgdHdvIGZvcndhcmQgcG9zaXRpb25zLiBPbmUgaW4gZWFjaCBjdXJyZW5jeS4gICBTaW5jZSBhbiBGWCB0cmFkZSBpcyBhbiBleGNoYW5nZSBvZiBvbmUgY3VycmVuY3kgZm9yIGFub3RoZXIsIHRoZSBmb2xsb3dpbmcgdHdvIDYgbW9udGggZm9yd2FyZCB0cmFuc2FjdGlvbnMgYXJlIGVxdWl2YWxlbnQ6ICB8IENvbHVtbiB8ICBGb3J3YXJkICdTZWxsJyBUcmFkZSB8IEZvcndhcmQgJ0J1eScgVHJhZGUgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IHwgVHJhbnNhY3Rpb25JZCB8IEZCTjAwMDA0IHwgRkJOMDAwMDUgfCB8IFR5cGUgfCBGd2RGeFNlbGwgfCBGd2RGeEJ1eSB8IHwgSW5zdHJ1bWVudElkZW50aWZpZXJzIHwgeyBcXFwiQ0NZXFxcIiwgXFxcIkNDWV9HQlBcXFwiIH0gfCB7IFxcXCJDQ1lcXFwiLCBcXFwiQ0NZX1VTRFxcXCIgfSB8IHwgVHJhbnNhY3Rpb25EYXRlIHwgMjAxOC0wOC0wMiB8IDIwMTgtMDgtMDIgfCB8IFNldHRsZW1lbnREYXRlIHwgMjAxOS0wMi0wNiB8IDIwMTktMDItMDYgfCB8IFVuaXRzIHwgMTAwMDAuMDAgfCAxMzE0Mi4wMCB8IHwgVHJhbnNhY3Rpb25QcmljZSB8MSB8IDEgfCB8IFRyYWRlQ3VycmVuY3kgfCBHQlAgfCBVU0QgfCB8IEV4Y2hhbmdlUmF0ZSB8IDEuMzE0MiB8IDAuNzYwOTE5IHwgfCBUb3RhbENvbnNpZGVyYXRpb24uQW1vdW50IHwgMTMxNDIuMDAgfCAxMDAwMC4wMCB8IHwgVG90YWxDb25zaWRlcmF0aW9uLkN1cnJlbmN5IHwgVVNEIHwgR0JQIHwgfCBUcmFkZS9kZWZhdWx0L1RyYWRlVG9Qb3J0Zm9saW9SYXRlIHwgMS4wIHwgMC43NjA5MTkgfCAgIyMgSG9sZGluZ3MgIEEgaG9sZGluZyByZXByZXNlbnRzIGEgcG9zaXRpb24gaW4gYSBpbnN0cnVtZW50IG9yIGNhc2ggb24gYSBnaXZlbiBkYXRlLiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgSW5zdHJ1bWVudFVpZHxzdHJpbmd8VGhlIHVucWl1ZSBMdXNpZCBJbnN0cnVtZW50IElkIChMVUlEKSBvZiB0aGUgaW5zdHJ1bWVudCB0aGF0IHRoZSBob2xkaW5nIGlzIGluLiB8IHwgU3ViSG9sZGluZ0tleXN8bWFwfFRoZSBzdWItaG9sZGluZyBwcm9wZXJ0aWVzIHdoaWNoIGlkZW50aWZ5IHRoZSBob2xkaW5nLiBFYWNoIHByb3BlcnR5IHdpbGwgYmUgZnJvbSB0aGUgJ1RyYW5zYWN0aW9uJyBkb21haW4uIFRoZXNlIGFyZSBjb25maWd1cmVkIHdoZW4gYSB0cmFuc2FjdGlvbiBwb3J0Zm9saW8gaXMgY3JlYXRlZC4gfCB8IFByb3BlcnRpZXN8bWFwfFRoZSBwcm9wZXJ0aWVzIHdoaWNoIGhhdmUgYmVlbiByZXF1ZXN0ZWQgdG8gYmUgZGVjb3JhdGVkIG9udG8gdGhlIGhvbGRpbmcuIFRoZXNlIHdpbGwgYmUgZnJvbSB0aGUgJ0luc3RydW1lbnQnIG9yICdIb2xkaW5nJyBkb21haW4uIHwgfCBIb2xkaW5nVHlwZXxzdHJpbmd8VGhlIHR5cGUgb2YgdGhlIGhvbGRpbmcgZS5nLiBQb3NpdGlvbiwgQmFsYW5jZSwgQ2FzaENvbW1pdG1lbnQsIFJlY2VpdmFibGUsIEZvcndhcmRGWCBldGMuIHwgfCBVbml0c3xkZWNpbWFsfFRoZSB0b3RhbCBudW1iZXIgb2YgdW5pdHMgb2YgdGhlIGhvbGRpbmcuIHwgfCBTZXR0bGVkVW5pdHN8ZGVjaW1hbHxUaGUgdG90YWwgbnVtYmVyIG9mIHNldHRsZWQgdW5pdHMgb2YgdGhlIGhvbGRpbmcuIHwgfCBDb3N0fGN1cnJlbmN5YW5kYW1vdW50fFRoZSB0b3RhbCBjb3N0IG9mIHRoZSBob2xkaW5nIGluIHRoZSB0cmFuc2FjdGlvbiBjdXJyZW5jeS4gfCB8IENvc3RQb3J0Zm9saW9DY3l8Y3VycmVuY3lhbmRhbW91bnR8VGhlIHRvdGFsIGNvc3Qgb2YgdGhlIGhvbGRpbmcgaW4gdGhlIHBvcnRmb2xpbyBjdXJyZW5jeS4gfCB8IFRyYW5zYWN0aW9ufHRyYW5zYWN0aW9ufFRoZSB0cmFuc2FjdGlvbiBhc3NvY2lhdGVkIHdpdGggYW4gdW5zZXR0bGVkIGhvbGRpbmcuIHwgICAjIyBDb3Jwb3JhdGUgQWN0aW9ucyAgQ29ycG9yYXRlIGFjdGlvbnMgYXJlIHJlcHJlc2VudGVkIHdpdGhpbiBMVVNJRCBpbiB0ZXJtcyBvZiBhIHNldCBvZiBpbnN0cnVtZW50LXNwZWNpZmljICd0cmFuc2l0aW9ucycuICBUaGVzZSB0cmFuc2l0aW9ucyBhcmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBwYXJ0aWNpcGFudHMgb2YgdGhlIGNvcnBvcmF0ZSBhY3Rpb24sIGFuZCB0aGUgZWZmZWN0IHRoYXQgdGhlIGNvcnBvcmF0ZSBhY3Rpb24gd2lsbCBoYXZlIG9uIGhvbGRpbmdzIGluIHRob3NlIHBhcnRpY2lwYW50cy4gICMjIyBDb3Jwb3JhdGUgQWN0aW9uICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBDb3Jwb3JhdGVBY3Rpb25Db2RlfGNvZGV8VGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoaXMgY29ycG9yYXRlIGFjdGlvbiB8IHwgRGVzY3JpcHRpb258c3RyaW5nfCAgfCB8IEFubm91bmNlbWVudERhdGV8ZGF0ZXRpbWVvZmZzZXR8VGhlIGFubm91bmNlbWVudCBkYXRlIG9mIHRoZSBjb3Jwb3JhdGUgYWN0aW9uIHwgfCBFeERhdGV8ZGF0ZXRpbWVvZmZzZXR8VGhlIGV4IGRhdGUgb2YgdGhlIGNvcnBvcmF0ZSBhY3Rpb24gfCB8IFJlY29yZERhdGV8ZGF0ZXRpbWVvZmZzZXR8VGhlIHJlY29yZCBkYXRlIG9mIHRoZSBjb3Jwb3JhdGUgYWN0aW9uIHwgfCBQYXltZW50RGF0ZXxkYXRldGltZW9mZnNldHxUaGUgcGF5bWVudCBkYXRlIG9mIHRoZSBjb3Jwb3JhdGUgYWN0aW9uIHwgfCBUcmFuc2l0aW9uc3xjb3Jwb3JhdGVhY3Rpb250cmFuc2l0aW9uW118VGhlIHRyYW5zaXRpb25zIHRoYXQgcmVzdWx0IGZyb20gdGhpcyBjb3Jwb3JhdGUgYWN0aW9uIHwgICAjIyMgVHJhbnNpdGlvbiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgSW5wdXRUcmFuc2l0aW9ufGNvcnBvcmF0ZWFjdGlvbnRyYW5zaXRpb25jb21wb25lbnR8SW5kaWNhdGluZyB0aGUgYmFzaXMgb2YgdGhlIGNvcnBvcmF0ZSBhY3Rpb24gLSB3aGljaCBzZWN1cml0eSBhbmQgaG93IG1hbnkgdW5pdHMgfCB8IE91dHB1dFRyYW5zaXRpb25zfGNvcnBvcmF0ZWFjdGlvbnRyYW5zaXRpb25jb21wb25lbnRbXXxXaGF0IHdpbGwgYmUgZ2VuZXJhdGVkIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCB0cmFuc2l0aW9uIHwgICAjIyMgRXhhbXBsZSBDb3Jwb3JhdGUgQWN0aW9uIFRyYW5zaXRpb25zICAjIyMjIEEgRGl2aWRlbmQgQWN0aW9uIFRyYW5zaXRpb24gIEluIHRoaXMgZXhhbXBsZSwgZm9yIGVhY2ggc2hhcmUgb2YgSUJNLCAwLjIwIHVuaXRzIChvciAyMCBwZW5jZSkgb2YgR0JQIGFyZSBnZW5lcmF0ZWQuICB8IENvbHVtbiB8ICBJbnB1dCBUcmFuc2l0aW9uIHwgT3V0cHV0IFRyYW5zaXRpb24gfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IHwgSW5zdHJ1bWVudCBJZGVudGlmaWVycyB8IHsgXFxcImZpZ2lcXFwiIDogXFxcIkJCRzAwMEJMTk5INlxcXCIgfSB8IHsgXFxcImNjeVxcXCIgOiBcXFwiQ0NZX0dCUFxcXCIgfSB8IHwgVW5pdHMgRmFjdG9yIHwgMSB8IDAuMjAgfCB8IENvc3QgRmFjdG9yIHwgMSB8IDAgfCAgIyMjIyBBIFNwbGl0IEFjdGlvbiBUcmFuc2l0aW9uICBJbiB0aGlzIGV4YW1wbGUsIGZvciBlYWNoIHNoYXJlIG9mIElCTSwgd2UgZW5kIHVwIHdpdGggMiB1bml0cyAoMiBzaGFyZXMpIG9mIElCTSwgd2l0aCB0b3RhbCB2YWx1ZSB1bmNoYW5nZWQuICB8IENvbHVtbiB8ICBJbnB1dCBUcmFuc2l0aW9uIHwgT3V0cHV0IFRyYW5zaXRpb24gfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IHwgSW5zdHJ1bWVudCBJZGVudGlmaWVycyB8IHsgXFxcImZpZ2lcXFwiIDogXFxcIkJCRzAwMEJMTk5INlxcXCIgfSB8IHsgXFxcImZpZ2lcXFwiIDogXFxcIkJCRzAwMEJMTk5INlxcXCIgfSB8IHwgVW5pdHMgRmFjdG9yIHwgMSB8IDIgfCB8IENvc3QgRmFjdG9yIHwgMSB8IDEgfCAgIyMjIyBBIFNwaW5vZmYgQWN0aW9uIFRyYW5zaXRpb24gIEluIHRoaXMgZXhhbXBsZSwgZm9yIGVhY2ggc2hhcmUgb2YgSUJNLCB3ZSBlbmQgdXAgd2l0aCAxIHVuaXQgKDEgc2hhcmUpIG9mIElCTSBhbmQgMyB1bml0cyAoMyBzaGFyZXMpIG9mIENlbGVzdGljYSwgd2l0aCA4NSUgb2YgdGhlIHZhbHVlIHJlbWFpbmluZyBvbiB0aGUgSUJNIHNoYXJlLCBhbmQgNSUgaW4gZWFjaCBDZWxlc3RpY2Egc2hhcmUgKDE1JSB0b3RhbCkuICB8IENvbHVtbiB8ICBJbnB1dCBUcmFuc2l0aW9uIHwgT3V0cHV0IFRyYW5zaXRpb24gMSB8IE91dHB1dCBUcmFuc2l0aW9uIDIgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IC0tLS0tIHwgfCBJbnN0cnVtZW50IElkZW50aWZpZXJzIHwgeyBcXFwiZmlnaVxcXCIgOiBcXFwiQkJHMDAwQkxOTkg2XFxcIiB9IHwgeyBcXFwiZmlnaVxcXCIgOiBcXFwiQkJHMDAwQkxOTkg2XFxcIiB9IHwgeyBcXFwiZmlnaVxcXCIgOiBcXFwiQkJHMDAwSEJHUkYzXFxcIiB9IHwgfCBVbml0cyBGYWN0b3IgfCAxIHwgMSB8IDMgfCB8IENvc3QgRmFjdG9yIHwgMSB8IDAuODUgfCAwLjE1IHwgICMjIFByb3BlcnR5ICBQcm9wZXJ0aWVzIGFyZSBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhbnkgZW50aXR5IHdpdGhpbiBhIGRvbWFpbiAod2hlcmUgYSBkb21haW4gaXMgYHRyYWRlYCwgYHBvcnRmb2xpb2AsIGBzZWN1cml0eWAgZXRjKS4gIFByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGJlZm9yZSB1c2Ugd2l0aCBhIGBQcm9wZXJ0eURlZmluaXRpb25gIGFuZCBjYW4gdGhlbiBzdWJzZXF1ZW50bHkgYmUgYWRkZWQgdG8gZW50aXRpZXMuICAjIFNjaGVtYXMgIFRoZSBmb2xsb3dpbmcgaGVhZGVycyBhcmUgcmV0dXJuZWQgb24gYWxsIHJlc3BvbnNlcyBmcm9tIExVU0lEICB8IE5hbWUgfCBQdXJwb3NlIHwgfCAtLS0gfCAtLS0gfCB8IGx1c2lkLW1ldGEtZHVyYXRpb24gfCBEdXJhdGlvbiBvZiB0aGUgcmVxdWVzdCB8IHwgbHVzaWQtbWV0YS1zdWNjZXNzIHwgV2hldGhlciBvciBub3QgTFVTSUQgY29uc2lkZXJlZCB0aGUgcmVxdWVzdCB0byBiZSBzdWNjZXNzZnVsIHwgfCBsdXNpZC1tZXRhLXJlcXVlc3RJZCB8IFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJlcXVlc3QgfCB8IGx1c2lkLXNjaGVtYS11cmwgfCBVcmwgb2YgdGhlIHNjaGVtYSBmb3IgdGhlIGRhdGEgYmVpbmcgcmV0dXJuZWQgfCB8IGx1c2lkLXByb3BlcnR5LXNjaGVtYS11cmwgfCBVcmwgb2YgdGhlIHNjaGVtYSBmb3IgYW55IHByb3BlcnRpZXMgfCAgICMgRXJyb3IgQ29kZXMgIHwgQ29kZXxOYW1lfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgPGEgbmFtZT1cXFwiMTAyXFxcIj4xMDI8L2E+fFZlcnNpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDRcXFwiPjEwNDwvYT58SW5zdHJ1bWVudE5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNVxcXCI+MTA1PC9hPnxQcm9wZXJ0eU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNlxcXCI+MTA2PC9hPnxQb3J0Zm9saW9SZWN1cnNpb25EZXB0aHwgIHwgfCA8YSBuYW1lPVxcXCIxMDhcXFwiPjEwODwvYT58R3JvdXBOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDlcXFwiPjEwOTwvYT58UG9ydGZvbGlvTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEwXFxcIj4xMTA8L2E+fFByb3BlcnR5U2NoZW1hTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTExXFxcIj4xMTE8L2E+fFBvcnRmb2xpb0FuY2VzdHJ5Tm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEyXFxcIj4xMTI8L2E+fFBvcnRmb2xpb1dpdGhJZEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTEzXFxcIj4xMTM8L2E+fE9ycGhhbmVkUG9ydGZvbGlvfCAgfCB8IDxhIG5hbWU9XFxcIjExOVxcXCI+MTE5PC9hPnxNaXNzaW5nQmFzZUNsYWltc3wgIHwgfCA8YSBuYW1lPVxcXCIxMjFcXFwiPjEyMTwvYT58UHJvcGVydHlOb3REZWZpbmVkfCAgfCB8IDxhIG5hbWU9XFxcIjEyMlxcXCI+MTIyPC9hPnxDYW5ub3REZWxldGVTeXN0ZW1Qcm9wZXJ0eXwgIHwgfCA8YSBuYW1lPVxcXCIxMjNcXFwiPjEyMzwvYT58Q2Fubm90TW9kaWZ5SW1tdXRhYmxlUHJvcGVydHlGaWVsZHwgIHwgfCA8YSBuYW1lPVxcXCIxMjRcXFwiPjEyNDwvYT58UHJvcGVydHlBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjEyNVxcXCI+MTI1PC9hPnxJbnZhbGlkUHJvcGVydHlMaWZlVGltZXwgIHwgfCA8YSBuYW1lPVxcXCIxMjdcXFwiPjEyNzwvYT58Q2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEyOFxcXCI+MTI4PC9hPnxHcm91cEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTI5XFxcIj4xMjk8L2E+fE5vU3VjaERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEzMlxcXCI+MTMyPC9hPnxWYWxpZGF0aW9uRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTMzXFxcIj4xMzM8L2E+fExvb3BEZXRlY3RlZEluR3JvdXBIaWVyYXJjaHl8ICB8IHwgPGEgbmFtZT1cXFwiMTM1XFxcIj4xMzU8L2E+fFN1Ykdyb3VwQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxMzhcXFwiPjEzODwvYT58UHJpY2VTb3VyY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMzlcXFwiPjEzOTwvYT58QW5hbHl0aWNTdG9yZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjE0MVxcXCI+MTQxPC9hPnxBbmFseXRpY1N0b3JlQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxNDNcXFwiPjE0MzwvYT58Q2xpZW50SW5zdHJ1bWVudEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTQ0XFxcIj4xNDQ8L2E+fER1cGxpY2F0ZUluUGFyYW1ldGVyU2V0fCAgfCB8IDxhIG5hbWU9XFxcIjE0N1xcXCI+MTQ3PC9hPnxSZXN1bHRzTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTQ4XFxcIj4xNDg8L2E+fE9yZGVyRmllbGROb3RJblJlc3VsdFNldHwgIHwgfCA8YSBuYW1lPVxcXCIxNDlcXFwiPjE0OTwvYT58T3BlcmF0aW9uRmFpbGVkfCAgfCB8IDxhIG5hbWU9XFxcIjE1MFxcXCI+MTUwPC9hPnxFbGFzdGljU2VhcmNoRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTUxXFxcIj4xNTE8L2E+fEludmFsaWRQYXJhbWV0ZXJWYWx1ZXwgIHwgfCA8YSBuYW1lPVxcXCIxNTNcXFwiPjE1MzwvYT58Q29tbWFuZFByb2Nlc3NpbmdGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1NFxcXCI+MTU0PC9hPnxFbnRpdHlTdGF0ZUNvbnN0cnVjdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU1XFxcIj4xNTU8L2E+fEVudGl0eVRpbWVsaW5lRG9lc05vdEV4aXN0fCAgfCB8IDxhIG5hbWU9XFxcIjE1NlxcXCI+MTU2PC9hPnxFdmVudFB1Ymxpc2hGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1N1xcXCI+MTU3PC9hPnxJbnZhbGlkUmVxdWVzdEZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU4XFxcIj4xNTg8L2E+fEV2ZW50UHVibGlzaFVua25vd258ICB8IHwgPGEgbmFtZT1cXFwiMTU5XFxcIj4xNTk8L2E+fEV2ZW50UXVlcnlGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MFxcXCI+MTYwPC9hPnxCbG9iRGlkTm90RXhpc3RGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MlxcXCI+MTYyPC9hPnxTdWJTeXN0ZW1SZXF1ZXN0RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjNcXFwiPjE2MzwvYT58U3ViU3lzdGVtQ29uZmlndXJhdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTY1XFxcIj4xNjU8L2E+fEZhaWxlZFRvRGVsZXRlfCAgfCB8IDxhIG5hbWU9XFxcIjE2NlxcXCI+MTY2PC9hPnxVcHNlcnRDbGllbnRJbnN0cnVtZW50RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjdcXFwiPjE2NzwvYT58SWxsZWdhbEFzQXRJbnRlcnZhbHwgIHwgfCA8YSBuYW1lPVxcXCIxNjhcXFwiPjE2ODwvYT58SWxsZWdhbEJpdGVtcG9yYWxRdWVyeXwgIHwgfCA8YSBuYW1lPVxcXCIxNjlcXFwiPjE2OTwvYT58SW52YWxpZEFsdGVybmF0ZUlkfCAgfCB8IDxhIG5hbWU9XFxcIjE3MFxcXCI+MTcwPC9hPnxDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHl8ICB8IHwgPGEgbmFtZT1cXFwiMTcxXFxcIj4xNzE8L2E+fEVudGl0eUFscmVhZHlFeGlzdHNJbkdyb3VwfCAgfCB8IDxhIG5hbWU9XFxcIjE3M1xcXCI+MTczPC9hPnxFbnRpdHlXaXRoSWRBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjE3NFxcXCI+MTc0PC9hPnxEZXJpdmVkUG9ydGZvbGlvRGV0YWlsc0RvTm90RXhpc3R8ICB8IHwgPGEgbmFtZT1cXFwiMTc2XFxcIj4xNzY8L2E+fFBvcnRmb2xpb1dpdGhOYW1lQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxNzdcXFwiPjE3NzwvYT58SW52YWxpZFRyYW5zYWN0aW9uc3wgIHwgfCA8YSBuYW1lPVxcXCIxNzhcXFwiPjE3ODwvYT58UmVmZXJlbmNlUG9ydGZvbGlvTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTc5XFxcIj4xNzk8L2E+fER1cGxpY2F0ZUlkRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODBcXFwiPjE4MDwvYT58Q29tbWFuZFJldHJpZXZhbEZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTgxXFxcIj4xODE8L2E+fERhdGFGaWx0ZXJBcHBsaWNhdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTgyXFxcIj4xODI8L2E+fFNlYXJjaEZhaWxlZHwgIHwgfCA8YSBuYW1lPVxcXCIxODNcXFwiPjE4MzwvYT58TW92ZW1lbnRzRW5naW5lQ29uZmlndXJhdGlvbktleUZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTg0XFxcIj4xODQ8L2E+fEZ4UmF0ZVNvdXJjZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjE4NVxcXCI+MTg1PC9hPnxBY2NydWFsU291cmNlTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTg2XFxcIj4xODY8L2E+fEFjY2Vzc0RlbmllZHwgIHwgfCA8YSBuYW1lPVxcXCIxODdcXFwiPjE4NzwvYT58SW52YWxpZElkZW50aXR5VG9rZW58ICB8IHwgPGEgbmFtZT1cXFwiMTg4XFxcIj4xODg8L2E+fEludmFsaWRSZXF1ZXN0SGVhZGVyc3wgIHwgfCA8YSBuYW1lPVxcXCIxODlcXFwiPjE4OTwvYT58UHJpY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTBcXFwiPjE5MDwvYT58SW52YWxpZFN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkxXFxcIj4xOTE8L2E+fER1cGxpY2F0ZVN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkyXFxcIj4xOTI8L2E+fEN1dERlZmluaXRpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTNcXFwiPjE5MzwvYT58Q3V0RGVmaW5pdGlvbkludmFsaWR8ICB8IHwgPGEgbmFtZT1cXFwiMjAwXFxcIj4yMDA8L2E+fEludmFsaWRVbml0Rm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAxXFxcIj4yMDE8L2E+fEludmFsaWRUeXBlRm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAyXFxcIj4yMDI8L2E+fEludmFsaWRWYWx1ZUZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwM1xcXCI+MjAzPC9hPnxVbml0Tm90RGVmaW5lZEZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwNFxcXCI+MjA0PC9hPnxVbml0c05vdFN1cHBvcnRlZE9uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA1XFxcIj4yMDU8L2E+fENhbm5vdFNwZWNpZnlVbml0c09uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA2XFxcIj4yMDY8L2E+fFVuaXRTY2hlbWFJbmNvbnNpc3RlbnRXaXRoRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA3XFxcIj4yMDc8L2E+fFVuaXREZWZpbml0aW9uTm90U3BlY2lmaWVkfCAgfCB8IDxhIG5hbWU9XFxcIjIwOFxcXCI+MjA4PC9hPnxEdXBsaWNhdGVVbml0RGVmaW5pdGlvbnNTcGVjaWZpZWR8ICB8IHwgPGEgbmFtZT1cXFwiMjA5XFxcIj4yMDk8L2E+fEludmFsaWRVbml0c0RlZmluaXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMjEwXFxcIj4yMTA8L2E+fEludmFsaWRJbnN0cnVtZW50SWRlbnRpZmllclVuaXR8ICB8IHwgPGEgbmFtZT1cXFwiMjExXFxcIj4yMTE8L2E+fEhvbGRpbmdzQWRqdXN0bWVudERvZXNOb3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCIyMTJcXFwiPjIxMjwvYT58Q291bGROb3RCdWlsZEV4Y2VsVXJsfCAgfCB8IDxhIG5hbWU9XFxcIjIxM1xcXCI+MjEzPC9hPnxDb3VsZE5vdEdldEV4Y2VsVmVyc2lvbnwgIHwgfCA8YSBuYW1lPVxcXCIyMTRcXFwiPjIxNDwvYT58SW5zdHJ1bWVudEJ5Q29kZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjIxNVxcXCI+MjE1PC9hPnxFbnRpdHlTY2hlbWFEb2VzTm90RXhpc3R8ICB8IHwgPGEgbmFtZT1cXFwiMjE2XFxcIj4yMTY8L2E+fEZlYXR1cmVOb3RTdXBwb3J0ZWRPblBvcnRmb2xpb1R5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjE3XFxcIj4yMTc8L2E+fFF1b3RlTm90Rm91bmRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIxOFxcXCI+MjE4PC9hPnxJbnZhbGlkUXVvdGVJZGVudGlmaWVyRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIyMTlcXFwiPjIxOTwvYT58SW52YWxpZEluc3RydW1lbnREZWZpbml0aW9ufCAgfCB8IDxhIG5hbWU9XFxcIjIyMVxcXCI+MjIxPC9hPnxJbnN0cnVtZW50VXBzZXJ0RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIyMjJcXFwiPjIyMjwvYT58UmVmZXJlbmNlUG9ydGZvbGlvUmVxdWVzdE5vdFN1cHBvcnRlZHwgIHwgfCA8YSBuYW1lPVxcXCIyMjNcXFwiPjIyMzwvYT58VHJhbnNhY3Rpb25Qb3J0Zm9saW9SZXF1ZXN0Tm90U3VwcG9ydGVkfCAgfCB8IDxhIG5hbWU9XFxcIjIyNFxcXCI+MjI0PC9hPnxJbnZhbGlkUHJvcGVydHlWYWx1ZUFzc2lnbm1lbnR8ICB8IHwgPGEgbmFtZT1cXFwiMjMwXFxcIj4yMzA8L2E+fFRyYW5zYWN0aW9uVHlwZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjIzMVxcXCI+MjMxPC9hPnxUcmFuc2FjdGlvblR5cGVEdXBsaWNhdGlvbnwgIHwgfCA8YSBuYW1lPVxcXCIyMzJcXFwiPjIzMjwvYT58UG9ydGZvbGlvRG9lc05vdEV4aXN0QXRHaXZlbkRhdGV8ICB8IHwgPGEgbmFtZT1cXFwiMjMzXFxcIj4yMzM8L2E+fFF1ZXJ5UGFyc2VyRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIyMzRcXFwiPjIzNDwvYT58RHVwbGljYXRlQ29uc3RpdHVlbnRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIzNVxcXCI+MjM1PC9hPnxVbnJlc29sdmVkSW5zdHJ1bWVudENvbnN0aXR1ZW50RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIyMzZcXFwiPjIzNjwvYT58VW5yZXNvbHZlZEluc3RydW1lbnRJblRyYW5zaXRpb25GYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjMwMFxcXCI+MzAwPC9hPnxNaXNzaW5nUmVjaXBlRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzMDFcXFwiPjMwMTwvYT58RGVwZW5kZW5jaWVzRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzMDRcXFwiPjMwNDwvYT58UG9ydGZvbGlvUHJlcHJvY2Vzc0ZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMzEwXFxcIj4zMTA8L2E+fFZhbHVhdGlvbkVuZ2luZUZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMzExXFxcIj4zMTE8L2E+fFRhc2tGYWN0b3J5RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzMTJcXFwiPjMxMjwvYT58VGFza0V2YWx1YXRpb25GYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjM1MFxcXCI+MzUwPC9hPnxJbnN0cnVtZW50RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzNTFcXFwiPjM1MTwvYT58Q2FzaEZsb3dzRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzNjBcXFwiPjM2MDwvYT58QWdncmVnYXRpb25GYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjM3MFxcXCI+MzcwPC9hPnxSZXN1bHRSZXRyaWV2YWxGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjM3MVxcXCI+MzcxPC9hPnxSZXN1bHRQcm9jZXNzaW5nRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzNzFcXFwiPjM3MTwvYT58UmVzdWx0UHJvY2Vzc2luZ0ZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMzcyXFxcIj4zNzI8L2E+fFZlbmRvclJlc3VsdFByb2Nlc3NpbmdGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjM3M1xcXCI+MzczPC9hPnxWZW5kb3JSZXN1bHRNYXBwaW5nRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIzNzRcXFwiPjM3NDwvYT58VmVuZG9yTGlicmFyeVVuYXV0aG9yaXNlZEZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMzkwXFxcIj4zOTA8L2E+fEF0dGVtcHRUb1Vwc2VydER1cGxpY2F0ZVF1b3Rlc3wgIHwgfCA8YSBuYW1lPVxcXCIzOTFcXFwiPjM5MTwvYT58Q29ycG9yYXRlQWN0aW9uU291cmNlRG9lc05vdEV4aXN0fCAgfCB8IDxhIG5hbWU9XFxcIjM5MlxcXCI+MzkyPC9hPnxDb3Jwb3JhdGVBY3Rpb25Tb3VyY2VBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjM5M1xcXCI+MzkzPC9hPnxJbnN0cnVtZW50SWRlbnRpZmllckFscmVhZHlJblVzZXwgIHwgfCA8YSBuYW1lPVxcXCIzOTRcXFwiPjM5NDwvYT58UHJvcGVydGllc05vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjM5NVxcXCI+Mzk1PC9hPnxCYXRjaE9wZXJhdGlvbkFib3J0ZWR8ICB8IHwgPGEgbmFtZT1cXFwiNDAwXFxcIj40MDA8L2E+fEludmFsaWRJc280MjE3Q3VycmVuY3lDb2RlRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCI0MTBcXFwiPjQxMDwvYT58SW5kZXhEb2VzTm90RXhpc3R8ICB8IHwgPGEgbmFtZT1cXFwiNDExXFxcIj40MTE8L2E+fFNvcnRGaWVsZERvZXNOb3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCI0MTNcXFwiPjQxMzwvYT58TmVnYXRpdmVQYWdpbmF0aW9uUGFyYW1ldGVyc3wgIHwgfCA8YSBuYW1lPVxcXCI0MTRcXFwiPjQxNDwvYT58SW52YWxpZFNlYXJjaFN5bnRheHwgIHwgfCA8YSBuYW1lPVxcXCItMTBcXFwiPi0xMDwvYT58U2VydmVyQ29uZmlndXJhdGlvbkVycm9yfCAgfCB8IDxhIG5hbWU9XFxcIi0xXFxcIj4tMTwvYT58VW5rbm93biBlcnJvcnwgIHwgXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDAuMTAuNjY4XG4gKiBDb250YWN0OiBpbmZvQGZpbmJvdXJuZS5jb21cbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnLi9saW5rJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBSZXNvdXJjZUlkIH0gZnJvbSAnLi9yZXNvdXJjZUlkJztcbmltcG9ydCB7IFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb24nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVQb3J0Zm9saW8geyBcbiAgICAvKipcbiAgICAgKiBUaGUgcmVzb3VyY2UgaWRlbnRpZmllciBvZiB0aGUgcG9ydGZvbGlvLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkOiBSZXNvdXJjZUlkO1xuICAgIC8qKlxuICAgICAqIFRoZSBzcGVjaWZjIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKSBmb3IgdGhpcyByZXNvdXJjZSBhdCB0aGUgcmVxdWVzdGVkIGVmZmVjdGl2ZSBhbmQgYXNBdCBkYXRldGltZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBocmVmPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBsb25nIGZvcm0gZGVzY3JpcHRpb24gb2YgdGhlIHBvcnRmb2xpby5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcG9ydGZvbGlvLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBlZmZlY3RpdmUgZGF0ZXRpbWUgYXQgd2hpY2ggdGhlIHBvcnRmb2xpbyB3YXMgY3JlYXRlZC4gTm8gdHJhbnNhY3Rpb25zIG9yIGNvbnN0aXR1ZW50cyBjYW4gYmUgYWRkZWQgdG8gdGhlIHBvcnRmb2xpbyBiZWZvcmUgdGhpcyBkYXRlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNyZWF0ZWQ/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIElmIHRoZSBwb3J0Zm9saW8gaXMgYSBkZXJpdmVkIHBvcnRmb2xpbywgdGhpcyBpcyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50IHBvcnRmb2xpbyBmcm9tIHdoaWNoIGl0IGlzIGRlcml2ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFyZW50UG9ydGZvbGlvSWQ/OiBSZXNvdXJjZUlkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgaXMgYSBkZXJpdmVkIHBvcnRmb2xpby5cbiAgICAgKi9cbiAgICByZWFkb25seSBpc0Rlcml2ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRoZSBwb3J0Zm9saW8uXG4gICAgICovXG4gICAgcmVhZG9ubHkgdHlwZT86IENvbXBsZXRlUG9ydGZvbGlvLlR5cGVFbnVtO1xuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG1ldGFkYXRhLlxuICAgICAqL1xuICAgIHZlcnNpb246IFZlcnNpb247XG4gICAgLyoqXG4gICAgICogVGhlIHJlcXVlc3RlZCBwb3J0Zm9saW8gcHJvcGVydGllcy4gVGhlc2Ugd2lsbCBiZSBmcm9tIHRoZSAnUG9ydGZvbGlvJyBkb21haW4uXG4gICAgICovXG4gICAgcHJvcGVydGllcz86IEFycmF5PFByb3BlcnR5PjtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgcG9ydGZvbGlvIGlzIGEgdHJhbnNhY3Rpb24gcG9ydGZvbGlvIG9yIGRlcml2ZWQgdHJhbnNhY3Rpb24gcG9ydGZvbGlvLCB0aGlzIGlzIHRoZSBiYXNlIGN1cnJlbmN5IG9mIHRoZSBwb3J0Zm9saW8uXG4gICAgICovXG4gICAgYmFzZUN1cnJlbmN5Pzogc3RyaW5nO1xuICAgIGxpbmtzPzogQXJyYXk8TGluaz47XG59XG5leHBvcnQgbmFtZXNwYWNlIENvbXBsZXRlUG9ydGZvbGlvIHtcbiAgICBleHBvcnQgdHlwZSBUeXBlRW51bSA9ICdUcmFuc2FjdGlvbicgfCAnUmVmZXJlbmNlJyB8ICdEZXJpdmVkVHJhbnNhY3Rpb24nO1xuICAgIGV4cG9ydCBjb25zdCBUeXBlRW51bSA9IHtcbiAgICAgICAgVHJhbnNhY3Rpb246ICdUcmFuc2FjdGlvbicgYXMgVHlwZUVudW0sXG4gICAgICAgIFJlZmVyZW5jZTogJ1JlZmVyZW5jZScgYXMgVHlwZUVudW0sXG4gICAgICAgIERlcml2ZWRUcmFuc2FjdGlvbjogJ0Rlcml2ZWRUcmFuc2FjdGlvbicgYXMgVHlwZUVudW1cbiAgICB9O1xufVxuIl19