New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

stream-chat-angular

Package Overview
Dependencies
Maintainers
13
Versions
340
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stream-chat-angular - npm Package Compare versions

Comparing version 2.5.1 to 2.6.0

esm2015/lib/is-image-file.js

1

assets/i18n/en.d.ts

@@ -82,3 +82,4 @@ export declare const en: {

"You can't send messages in this channel": string;
'Unsupported file type: {{type}}': string;
};
};

2

assets/version.d.ts

@@ -1,1 +0,1 @@

export declare const version = "2.5.1";
export declare const version = "2.6.0";

@@ -82,4 +82,5 @@ export const en = {

"You can't send messages in this channel": "You can't send messages in this channel",
'Unsupported file type: {{type}}': 'Unsupported file type: {{type}}',
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9hc3NldHMvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLGNBQWM7UUFDOUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLEtBQUssRUFBRSxPQUFPO1FBQ2Qsb0JBQW9CLEVBQUUsb0JBQW9CO1FBQzFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4Qyx5Q0FBeUMsRUFDdkMseUNBQXlDO1FBQzNDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4QywwREFBMEQsRUFDeEQsMERBQTBEO1FBQzVELHdCQUF3QixFQUFFLHdCQUF3QjtRQUNsRCx5QkFBeUIsRUFBRSx5QkFBeUI7UUFDcEQsdUJBQXVCLEVBQUUsdUJBQXVCO1FBQ2hELDRCQUE0QixFQUFFLDRCQUE0QjtRQUMxRCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsc0JBQXNCLEVBQUUsc0JBQXNCO1FBQzlDLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLDJCQUEyQixFQUFFLDJCQUEyQjtRQUN4RCxJQUFJLEVBQUUsTUFBTTtRQUNaLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQywrQkFBK0IsRUFBRSwrQkFBK0I7UUFDaEUsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLHVDQUF1QyxFQUNyQyx1Q0FBdUM7UUFDekMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixlQUFlLEVBQUUsZUFBZTtRQUNoQyxrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLHFCQUFxQixFQUFFLHFCQUFxQjtRQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUI7UUFDeEMsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxHQUFHLEVBQUUsS0FBSztRQUNWLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLEtBQUssRUFBRSxPQUFPO1FBQ2Qsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLElBQUksRUFBRSxNQUFNO1FBQ1osNkJBQTZCLEVBQUUsNkJBQTZCO1FBQzVELFlBQVksRUFBRSxZQUFZO1FBQzFCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCw2QkFBNkIsRUFBRSw2QkFBNkI7UUFDNUQsTUFBTSxFQUFFLFFBQVE7UUFDaEIsbUJBQW1CLEVBQUUsbUJBQW1CO1FBQ3hDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsMENBQTBDLEVBQ3hDLDBDQUEwQztRQUM1QyxnQ0FBZ0MsRUFBRSxnQ0FBZ0M7UUFDbEUsNENBQTRDLEVBQzFDLDRDQUE0QztRQUM5QyxJQUFJLEVBQUUsTUFBTTtRQUNaLHFDQUFxQyxFQUNuQyxxQ0FBcUM7UUFDdkMsb0RBQW9ELEVBQ2xELG9EQUFvRDtRQUN0RCwrQ0FBK0MsRUFDN0MsK0NBQStDO1FBQ2pELHNDQUFzQyxFQUNwQyxzQ0FBc0M7UUFDeEMsdUJBQXVCLEVBQUUsdUJBQXVCO1FBQ2hELDJCQUEyQixFQUFFLDJCQUEyQjtRQUN4RCwwQkFBMEIsRUFBRSwwQkFBMEI7UUFDdEQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxXQUFXLEVBQUUsV0FBVztRQUN4QixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsbURBQW1ELEVBQ2pELG1EQUFtRDtRQUNyRCx5Q0FBeUMsRUFDdkMseUNBQXlDO0tBQzVDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbiA9IHtcbiAgc3RyZWFtQ2hhdDoge1xuICAgICcxIHJlcGx5JzogJzEgcmVwbHknLFxuICAgICdBdHRhY2ggZmlsZXMnOiAnQXR0YWNoIGZpbGVzJyxcbiAgICBDYW5jZWw6ICdDYW5jZWwnLFxuICAgICdDaGFubmVsIE1pc3NpbmcnOiAnQ2hhbm5lbCBNaXNzaW5nJyxcbiAgICBDbG9zZTogJ0Nsb3NlJyxcbiAgICAnQ2xvc2UgZW1vamkgcGlja2VyJzogJ0Nsb3NlIGVtb2ppIHBpY2tlcicsXG4gICAgJ0NvbW1hbmRzIG1hdGNoaW5nJzogJ0NvbW1hbmRzIG1hdGNoaW5nJyxcbiAgICAnQ29ubmVjdGlvbiBmYWlsdXJlLCByZWNvbm5lY3Rpbmcgbm93Li4uJzpcbiAgICAgICdDb25uZWN0aW9uIGZhaWx1cmUsIHJlY29ubmVjdGluZyBub3cuLi4nLFxuICAgIERlbGV0ZTogJ0RlbGV0ZScsXG4gICAgRGVsaXZlcmVkOiAnRGVsaXZlcmVkJyxcbiAgICAnRWRpdCBNZXNzYWdlJzogJ0VkaXQgTWVzc2FnZScsXG4gICAgJ0VkaXQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCc6ICdFZGl0IG1lc3NhZ2UgcmVxdWVzdCBmYWlsZWQnLFxuICAgICdFbW9qaSBtYXRjaGluZyc6ICdFbW9qaSBtYXRjaGluZycsXG4gICAgJ0VtcHR5IG1lc3NhZ2UuLi4nOiAnRW1wdHkgbWVzc2FnZS4uLicsXG4gICAgJ0Vycm9yIGFkZGluZyBmbGFnJzogJ0Vycm9yIGFkZGluZyBmbGFnJyxcbiAgICAnRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2Fpbi4nOlxuICAgICAgJ0Vycm9yIGNvbm5lY3RpbmcgdG8gY2hhdCwgcmVmcmVzaCB0aGUgcGFnZSB0byB0cnkgYWdhaW4uJyxcbiAgICAnRXJyb3IgZGVsZXRpbmcgbWVzc2FnZSc6ICdFcnJvciBkZWxldGluZyBtZXNzYWdlJyxcbiAgICAnRXJyb3IgbXV0aW5nIGEgdXNlciAuLi4nOiAnRXJyb3IgbXV0aW5nIGEgdXNlciAuLi4nLFxuICAgICdFcnJvciBwaW5uaW5nIG1lc3NhZ2UnOiAnRXJyb3IgcGlubmluZyBtZXNzYWdlJyxcbiAgICAnRXJyb3IgcmVtb3ZpbmcgbWVzc2FnZSBwaW4nOiAnRXJyb3IgcmVtb3ZpbmcgbWVzc2FnZSBwaW4nLFxuICAgICdFcnJvciB1bm11dGluZyBhIHVzZXIgLi4uJzogJ0Vycm9yIHVubXV0aW5nIGEgdXNlciAuLi4nLFxuICAgICdFcnJvciB1cGxvYWRpbmcgZmlsZSc6ICdFcnJvciB1cGxvYWRpbmcgZmlsZScsXG4gICAgJ0Vycm9yIHVwbG9hZGluZyBpbWFnZSc6ICdFcnJvciB1cGxvYWRpbmcgaW1hZ2UnLFxuICAgICdFcnJvciBkZWxldGluZyBhdHRhY2htZW50JzogJ0Vycm9yIGRlbGV0aW5nIGF0dGFjaG1lbnQnLFxuICAgICdFcnJvciDCtyBVbnNlbnQnOiAnRXJyb3IgwrcgVW5zZW50JyxcbiAgICAnRXJyb3I6IHt7IGVycm9yTWVzc2FnZSB9fSc6ICdFcnJvcjoge3sgZXJyb3JNZXNzYWdlIH19JyxcbiAgICBGbGFnOiAnRmxhZycsXG4gICAgJ01lc3NhZ2UgRmFpbGVkJzogJ01lc3NhZ2UgRmFpbGVkJyxcbiAgICAnTWVzc2FnZSBGYWlsZWQgwrcgVW5hdXRob3JpemVkJzogJ01lc3NhZ2UgRmFpbGVkIMK3IFVuYXV0aG9yaXplZCcsXG4gICAgJ01lc3NhZ2UgZGVsZXRlZCc6ICdNZXNzYWdlIGRlbGV0ZWQnLFxuICAgICdNZXNzYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmbGFnZ2VkJzpcbiAgICAgICdNZXNzYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmbGFnZ2VkJyxcbiAgICAnTWVzc2FnZSBwaW5uZWQnOiAnTWVzc2FnZSBwaW5uZWQnLFxuICAgIE11dGU6ICdNdXRlJyxcbiAgICBOZXc6ICdOZXcnLFxuICAgICdOZXcgTWVzc2FnZXMhJzogJ05ldyBNZXNzYWdlcyEnLFxuICAgICdObyByZXN1bHRzIGZvdW5kJzogJ05vIHJlc3VsdHMgZm91bmQnLFxuICAgICdOb3RoaW5nIHlldC4uLic6ICdOb3RoaW5nIHlldC4uLicsXG4gICAgJ09ubHkgdmlzaWJsZSB0byB5b3UnOiAnT25seSB2aXNpYmxlIHRvIHlvdScsXG4gICAgJ09wZW4gZW1vamkgcGlja2VyJzogJ09wZW4gZW1vamkgcGlja2VyJyxcbiAgICAnUGVvcGxlIG1hdGNoaW5nJzogJ1Blb3BsZSBtYXRjaGluZycsXG4gICAgJ1BpY2sgeW91ciBlbW9qaSc6ICdQaWNrIHlvdXIgZW1vamknLFxuICAgIFBpbjogJ1BpbicsXG4gICAgJ1Bpbm5lZCBieSc6ICdQaW5uZWQgYnknLFxuICAgIFJlcGx5OiAnUmVwbHknLFxuICAgICdSZXBseSB0byBNZXNzYWdlJzogJ1JlcGx5IHRvIE1lc3NhZ2UnLFxuICAgIFNlYXJjaDogJ1NlYXJjaCcsXG4gICAgJ1NlYXJjaGluZy4uLic6ICdTZWFyY2hpbmcuLi4nLFxuICAgIFNlbmQ6ICdTZW5kJyxcbiAgICAnU2VuZCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJzogJ1NlbmQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCcsXG4gICAgJ1NlbmRpbmcuLi4nOiAnU2VuZGluZy4uLicsXG4gICAgJ1Nsb3cgTW9kZSBPTic6ICdTbG93IE1vZGUgT04nLFxuICAgICdTdGFydCBvZiBhIG5ldyB0aHJlYWQnOiAnU3RhcnQgb2YgYSBuZXcgdGhyZWFkJyxcbiAgICAnVGhpcyBtZXNzYWdlIHdhcyBkZWxldGVkLi4uJzogJ1RoaXMgbWVzc2FnZSB3YXMgZGVsZXRlZC4uLicsXG4gICAgVGhyZWFkOiAnVGhyZWFkJyxcbiAgICAnVHlwZSB5b3VyIG1lc3NhZ2UnOiAnVHlwZSB5b3VyIG1lc3NhZ2UnLFxuICAgIFVubXV0ZTogJ1VubXV0ZScsXG4gICAgVW5waW46ICdVbnBpbicsXG4gICAgJ1dhaXQgdW50aWwgYWxsIGF0dGFjaG1lbnRzIGhhdmUgdXBsb2FkZWQnOlxuICAgICAgJ1dhaXQgdW50aWwgYWxsIGF0dGFjaG1lbnRzIGhhdmUgdXBsb2FkZWQnLFxuICAgICdZb3UgaGF2ZSBubyBjaGFubmVscyBjdXJyZW50bHknOiAnWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5JyxcbiAgICBcIllvdSd2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlc1wiOlxuICAgICAgXCJZb3UndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXNcIixcbiAgICBsaXZlOiAnbGl2ZScsXG4gICAgJ3RoaXMgY29udGVudCBjb3VsZCBub3QgYmUgZGlzcGxheWVkJzpcbiAgICAgICd0aGlzIGNvbnRlbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCcsXG4gICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0gYW5kIHt7IG1vcmVDb3VudCB9fSBtb3JlJzpcbiAgICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19IGFuZCB7eyBtb3JlQ291bnQgfX0gbW9yZScsXG4gICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0sIGFuZCB7eyBsYXN0VXNlciB9fSc6XG4gICAgICAne3sgY29tbWFTZXBhcmF0ZWRVc2VycyB9fSwgYW5kIHt7IGxhc3RVc2VyIH19JyxcbiAgICAne3sgZmlyc3RVc2VyIH19IGFuZCB7eyBzZWNvbmRVc2VyIH19JzpcbiAgICAgICd7eyBmaXJzdFVzZXIgfX0gYW5kIHt7IHNlY29uZFVzZXIgfX0nLFxuICAgICd7eyBpbWFnZUNvdW50IH19IG1vcmUnOiAne3sgaW1hZ2VDb3VudCB9fSBtb3JlJyxcbiAgICAne3sgbWVtYmVyQ291bnQgfX0gbWVtYmVycyc6ICd7eyBtZW1iZXJDb3VudCB9fSBtZW1iZXJzJyxcbiAgICAne3sgcmVwbHlDb3VudCB9fSByZXBsaWVzJzogJ3t7IHJlcGx5Q291bnQgfX0gcmVwbGllcycsXG4gICAgJ3t7IHVzZXIgfX0gaGFzIGJlZW4gbXV0ZWQnOiAne3sgdXNlciB9fSBoYXMgYmVlbiBtdXRlZCcsXG4gICAgJ3t7IHVzZXIgfX0gaGFzIGJlZW4gdW5tdXRlZCc6ICd7eyB1c2VyIH19IGhhcyBiZWVuIHVubXV0ZWQnLFxuICAgICd7eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJzogJ3t7IHdhdGNoZXJDb3VudCB9fSBvbmxpbmUnLFxuICAgICfwn4+ZIEF0dGFjaG1lbnQuLi4nOiAn8J+PmSBBdHRhY2htZW50Li4uJyxcbiAgICAnQ29ubmVjdGlvbiBlcnJvcic6ICdDb25uZWN0aW9uIGVycm9yJyxcbiAgICAnTG9hZCBtb3JlJzogJ0xvYWQgbW9yZScsXG4gICAgZmFpbGVkOiAnZmFpbGVkJyxcbiAgICByZXRyeTogJ3JldHJ5JyxcbiAgICB0ZXN0OiAnc3VjY2VzcycsXG4gICAgJ1NlbmRpbmcgbGlua3MgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb252ZXJzYXRpb24nOlxuICAgICAgJ1NlbmRpbmcgbGlua3MgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb252ZXJzYXRpb24nLFxuICAgIFwiWW91IGNhbid0IHNlbmQgbWVzc2FnZXMgaW4gdGhpcyBjaGFubmVsXCI6XG4gICAgICBcIllvdSBjYW4ndCBzZW5kIG1lc3NhZ2VzIGluIHRoaXMgY2hhbm5lbFwiLFxuICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9hc3NldHMvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLGNBQWM7UUFDOUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLEtBQUssRUFBRSxPQUFPO1FBQ2Qsb0JBQW9CLEVBQUUsb0JBQW9CO1FBQzFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4Qyx5Q0FBeUMsRUFDdkMseUNBQXlDO1FBQzNDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4QywwREFBMEQsRUFDeEQsMERBQTBEO1FBQzVELHdCQUF3QixFQUFFLHdCQUF3QjtRQUNsRCx5QkFBeUIsRUFBRSx5QkFBeUI7UUFDcEQsdUJBQXVCLEVBQUUsdUJBQXVCO1FBQ2hELDRCQUE0QixFQUFFLDRCQUE0QjtRQUMxRCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsc0JBQXNCLEVBQUUsc0JBQXNCO1FBQzlDLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLDJCQUEyQixFQUFFLDJCQUEyQjtRQUN4RCxJQUFJLEVBQUUsTUFBTTtRQUNaLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQywrQkFBK0IsRUFBRSwrQkFBK0I7UUFDaEUsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLHVDQUF1QyxFQUNyQyx1Q0FBdUM7UUFDekMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixlQUFlLEVBQUUsZUFBZTtRQUNoQyxrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLHFCQUFxQixFQUFFLHFCQUFxQjtRQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUI7UUFDeEMsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxHQUFHLEVBQUUsS0FBSztRQUNWLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLEtBQUssRUFBRSxPQUFPO1FBQ2Qsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLElBQUksRUFBRSxNQUFNO1FBQ1osNkJBQTZCLEVBQUUsNkJBQTZCO1FBQzVELFlBQVksRUFBRSxZQUFZO1FBQzFCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCw2QkFBNkIsRUFBRSw2QkFBNkI7UUFDNUQsTUFBTSxFQUFFLFFBQVE7UUFDaEIsbUJBQW1CLEVBQUUsbUJBQW1CO1FBQ3hDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsMENBQTBDLEVBQ3hDLDBDQUEwQztRQUM1QyxnQ0FBZ0MsRUFBRSxnQ0FBZ0M7UUFDbEUsNENBQTRDLEVBQzFDLDRDQUE0QztRQUM5QyxJQUFJLEVBQUUsTUFBTTtRQUNaLHFDQUFxQyxFQUNuQyxxQ0FBcUM7UUFDdkMsb0RBQW9ELEVBQ2xELG9EQUFvRDtRQUN0RCwrQ0FBK0MsRUFDN0MsK0NBQStDO1FBQ2pELHNDQUFzQyxFQUNwQyxzQ0FBc0M7UUFDeEMsdUJBQXVCLEVBQUUsdUJBQXVCO1FBQ2hELDJCQUEyQixFQUFFLDJCQUEyQjtRQUN4RCwwQkFBMEIsRUFBRSwwQkFBMEI7UUFDdEQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxXQUFXLEVBQUUsV0FBVztRQUN4QixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsbURBQW1ELEVBQ2pELG1EQUFtRDtRQUNyRCx5Q0FBeUMsRUFDdkMseUNBQXlDO1FBQzNDLGlDQUFpQyxFQUFFLGlDQUFpQztLQUNyRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW4gPSB7XG4gIHN0cmVhbUNoYXQ6IHtcbiAgICAnMSByZXBseSc6ICcxIHJlcGx5JyxcbiAgICAnQXR0YWNoIGZpbGVzJzogJ0F0dGFjaCBmaWxlcycsXG4gICAgQ2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAnQ2hhbm5lbCBNaXNzaW5nJzogJ0NoYW5uZWwgTWlzc2luZycsXG4gICAgQ2xvc2U6ICdDbG9zZScsXG4gICAgJ0Nsb3NlIGVtb2ppIHBpY2tlcic6ICdDbG9zZSBlbW9qaSBwaWNrZXInLFxuICAgICdDb21tYW5kcyBtYXRjaGluZyc6ICdDb21tYW5kcyBtYXRjaGluZycsXG4gICAgJ0Nvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLic6XG4gICAgICAnQ29ubmVjdGlvbiBmYWlsdXJlLCByZWNvbm5lY3Rpbmcgbm93Li4uJyxcbiAgICBEZWxldGU6ICdEZWxldGUnLFxuICAgIERlbGl2ZXJlZDogJ0RlbGl2ZXJlZCcsXG4gICAgJ0VkaXQgTWVzc2FnZSc6ICdFZGl0IE1lc3NhZ2UnLFxuICAgICdFZGl0IG1lc3NhZ2UgcmVxdWVzdCBmYWlsZWQnOiAnRWRpdCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJyxcbiAgICAnRW1vamkgbWF0Y2hpbmcnOiAnRW1vamkgbWF0Y2hpbmcnLFxuICAgICdFbXB0eSBtZXNzYWdlLi4uJzogJ0VtcHR5IG1lc3NhZ2UuLi4nLFxuICAgICdFcnJvciBhZGRpbmcgZmxhZyc6ICdFcnJvciBhZGRpbmcgZmxhZycsXG4gICAgJ0Vycm9yIGNvbm5lY3RpbmcgdG8gY2hhdCwgcmVmcmVzaCB0aGUgcGFnZSB0byB0cnkgYWdhaW4uJzpcbiAgICAgICdFcnJvciBjb25uZWN0aW5nIHRvIGNoYXQsIHJlZnJlc2ggdGhlIHBhZ2UgdG8gdHJ5IGFnYWluLicsXG4gICAgJ0Vycm9yIGRlbGV0aW5nIG1lc3NhZ2UnOiAnRXJyb3IgZGVsZXRpbmcgbWVzc2FnZScsXG4gICAgJ0Vycm9yIG11dGluZyBhIHVzZXIgLi4uJzogJ0Vycm9yIG11dGluZyBhIHVzZXIgLi4uJyxcbiAgICAnRXJyb3IgcGlubmluZyBtZXNzYWdlJzogJ0Vycm9yIHBpbm5pbmcgbWVzc2FnZScsXG4gICAgJ0Vycm9yIHJlbW92aW5nIG1lc3NhZ2UgcGluJzogJ0Vycm9yIHJlbW92aW5nIG1lc3NhZ2UgcGluJyxcbiAgICAnRXJyb3IgdW5tdXRpbmcgYSB1c2VyIC4uLic6ICdFcnJvciB1bm11dGluZyBhIHVzZXIgLi4uJyxcbiAgICAnRXJyb3IgdXBsb2FkaW5nIGZpbGUnOiAnRXJyb3IgdXBsb2FkaW5nIGZpbGUnLFxuICAgICdFcnJvciB1cGxvYWRpbmcgaW1hZ2UnOiAnRXJyb3IgdXBsb2FkaW5nIGltYWdlJyxcbiAgICAnRXJyb3IgZGVsZXRpbmcgYXR0YWNobWVudCc6ICdFcnJvciBkZWxldGluZyBhdHRhY2htZW50JyxcbiAgICAnRXJyb3IgwrcgVW5zZW50JzogJ0Vycm9yIMK3IFVuc2VudCcsXG4gICAgJ0Vycm9yOiB7eyBlcnJvck1lc3NhZ2UgfX0nOiAnRXJyb3I6IHt7IGVycm9yTWVzc2FnZSB9fScsXG4gICAgRmxhZzogJ0ZsYWcnLFxuICAgICdNZXNzYWdlIEZhaWxlZCc6ICdNZXNzYWdlIEZhaWxlZCcsXG4gICAgJ01lc3NhZ2UgRmFpbGVkIMK3IFVuYXV0aG9yaXplZCc6ICdNZXNzYWdlIEZhaWxlZCDCtyBVbmF1dGhvcml6ZWQnLFxuICAgICdNZXNzYWdlIGRlbGV0ZWQnOiAnTWVzc2FnZSBkZWxldGVkJyxcbiAgICAnTWVzc2FnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZmxhZ2dlZCc6XG4gICAgICAnTWVzc2FnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZmxhZ2dlZCcsXG4gICAgJ01lc3NhZ2UgcGlubmVkJzogJ01lc3NhZ2UgcGlubmVkJyxcbiAgICBNdXRlOiAnTXV0ZScsXG4gICAgTmV3OiAnTmV3JyxcbiAgICAnTmV3IE1lc3NhZ2VzISc6ICdOZXcgTWVzc2FnZXMhJyxcbiAgICAnTm8gcmVzdWx0cyBmb3VuZCc6ICdObyByZXN1bHRzIGZvdW5kJyxcbiAgICAnTm90aGluZyB5ZXQuLi4nOiAnTm90aGluZyB5ZXQuLi4nLFxuICAgICdPbmx5IHZpc2libGUgdG8geW91JzogJ09ubHkgdmlzaWJsZSB0byB5b3UnLFxuICAgICdPcGVuIGVtb2ppIHBpY2tlcic6ICdPcGVuIGVtb2ppIHBpY2tlcicsXG4gICAgJ1Blb3BsZSBtYXRjaGluZyc6ICdQZW9wbGUgbWF0Y2hpbmcnLFxuICAgICdQaWNrIHlvdXIgZW1vamknOiAnUGljayB5b3VyIGVtb2ppJyxcbiAgICBQaW46ICdQaW4nLFxuICAgICdQaW5uZWQgYnknOiAnUGlubmVkIGJ5JyxcbiAgICBSZXBseTogJ1JlcGx5JyxcbiAgICAnUmVwbHkgdG8gTWVzc2FnZSc6ICdSZXBseSB0byBNZXNzYWdlJyxcbiAgICBTZWFyY2g6ICdTZWFyY2gnLFxuICAgICdTZWFyY2hpbmcuLi4nOiAnU2VhcmNoaW5nLi4uJyxcbiAgICBTZW5kOiAnU2VuZCcsXG4gICAgJ1NlbmQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCc6ICdTZW5kIG1lc3NhZ2UgcmVxdWVzdCBmYWlsZWQnLFxuICAgICdTZW5kaW5nLi4uJzogJ1NlbmRpbmcuLi4nLFxuICAgICdTbG93IE1vZGUgT04nOiAnU2xvdyBNb2RlIE9OJyxcbiAgICAnU3RhcnQgb2YgYSBuZXcgdGhyZWFkJzogJ1N0YXJ0IG9mIGEgbmV3IHRocmVhZCcsXG4gICAgJ1RoaXMgbWVzc2FnZSB3YXMgZGVsZXRlZC4uLic6ICdUaGlzIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuLi4nLFxuICAgIFRocmVhZDogJ1RocmVhZCcsXG4gICAgJ1R5cGUgeW91ciBtZXNzYWdlJzogJ1R5cGUgeW91ciBtZXNzYWdlJyxcbiAgICBVbm11dGU6ICdVbm11dGUnLFxuICAgIFVucGluOiAnVW5waW4nLFxuICAgICdXYWl0IHVudGlsIGFsbCBhdHRhY2htZW50cyBoYXZlIHVwbG9hZGVkJzpcbiAgICAgICdXYWl0IHVudGlsIGFsbCBhdHRhY2htZW50cyBoYXZlIHVwbG9hZGVkJyxcbiAgICAnWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5JzogJ1lvdSBoYXZlIG5vIGNoYW5uZWxzIGN1cnJlbnRseScsXG4gICAgXCJZb3UndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXNcIjpcbiAgICAgIFwiWW91J3ZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGVzXCIsXG4gICAgbGl2ZTogJ2xpdmUnLFxuICAgICd0aGlzIGNvbnRlbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCc6XG4gICAgICAndGhpcyBjb250ZW50IGNvdWxkIG5vdCBiZSBkaXNwbGF5ZWQnLFxuICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19IGFuZCB7eyBtb3JlQ291bnQgfX0gbW9yZSc6XG4gICAgICAne3sgY29tbWFTZXBhcmF0ZWRVc2VycyB9fSBhbmQge3sgbW9yZUNvdW50IH19IG1vcmUnLFxuICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19LCBhbmQge3sgbGFzdFVzZXIgfX0nOlxuICAgICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0sIGFuZCB7eyBsYXN0VXNlciB9fScsXG4gICAgJ3t7IGZpcnN0VXNlciB9fSBhbmQge3sgc2Vjb25kVXNlciB9fSc6XG4gICAgICAne3sgZmlyc3RVc2VyIH19IGFuZCB7eyBzZWNvbmRVc2VyIH19JyxcbiAgICAne3sgaW1hZ2VDb3VudCB9fSBtb3JlJzogJ3t7IGltYWdlQ291bnQgfX0gbW9yZScsXG4gICAgJ3t7IG1lbWJlckNvdW50IH19IG1lbWJlcnMnOiAne3sgbWVtYmVyQ291bnQgfX0gbWVtYmVycycsXG4gICAgJ3t7IHJlcGx5Q291bnQgfX0gcmVwbGllcyc6ICd7eyByZXBseUNvdW50IH19IHJlcGxpZXMnLFxuICAgICd7eyB1c2VyIH19IGhhcyBiZWVuIG11dGVkJzogJ3t7IHVzZXIgfX0gaGFzIGJlZW4gbXV0ZWQnLFxuICAgICd7eyB1c2VyIH19IGhhcyBiZWVuIHVubXV0ZWQnOiAne3sgdXNlciB9fSBoYXMgYmVlbiB1bm11dGVkJyxcbiAgICAne3sgd2F0Y2hlckNvdW50IH19IG9ubGluZSc6ICd7eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJyxcbiAgICAn8J+PmSBBdHRhY2htZW50Li4uJzogJ/Cfj5kgQXR0YWNobWVudC4uLicsXG4gICAgJ0Nvbm5lY3Rpb24gZXJyb3InOiAnQ29ubmVjdGlvbiBlcnJvcicsXG4gICAgJ0xvYWQgbW9yZSc6ICdMb2FkIG1vcmUnLFxuICAgIGZhaWxlZDogJ2ZhaWxlZCcsXG4gICAgcmV0cnk6ICdyZXRyeScsXG4gICAgdGVzdDogJ3N1Y2Nlc3MnLFxuICAgICdTZW5kaW5nIGxpbmtzIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udmVyc2F0aW9uJzpcbiAgICAgICdTZW5kaW5nIGxpbmtzIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udmVyc2F0aW9uJyxcbiAgICBcIllvdSBjYW4ndCBzZW5kIG1lc3NhZ2VzIGluIHRoaXMgY2hhbm5lbFwiOlxuICAgICAgXCJZb3UgY2FuJ3Qgc2VuZCBtZXNzYWdlcyBpbiB0aGlzIGNoYW5uZWxcIixcbiAgICAnVW5zdXBwb3J0ZWQgZmlsZSB0eXBlOiB7e3R5cGV9fSc6ICdVbnN1cHBvcnRlZCBmaWxlIHR5cGU6IHt7dHlwZX19JyxcbiAgfSxcbn07XG4iXX0=

@@ -1,2 +0,2 @@

export const version = '2.5.1';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICcyLjUuMSc7XG4iXX0=
export const version = '2.6.0';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICcyLjYuMCc7XG4iXX0=
import { __awaiter } from "tslib";
import { Injectable } from '@angular/core';
import { isImageFile } from './is-image-file';
import { BehaviorSubject } from 'rxjs';

@@ -29,4 +30,3 @@ import { isImageAttachment } from './is-image-attachment';

Array.from(fileList).forEach((file) => {
if (file.type.startsWith('image/') && !file.type.endsWith('.photoshop')) {
// photoshop files begin with 'image/'
if (isImageFile(file)) {
imageFiles.push(file);

@@ -191,2 +191,2 @@ }

}], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i2.NotificationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2F0dGFjaG1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTzFELE1BQU0sT0FBTyxpQkFBaUI7SUFTNUIsWUFDVSxjQUE4QixFQUM5QixtQkFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFSMUMsNkNBQXdDLEdBQzlDLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUNwRCxFQUFFLENBQ0gsQ0FBQztRQU1BLElBQUksQ0FBQyxrQ0FBa0M7WUFDckMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFSyxhQUFhLENBQUMsUUFBeUI7O1lBQzNDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsT0FBTzthQUNSO1lBQ0QsTUFBTSxVQUFVLEdBQVcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sU0FBUyxHQUFXLEVBQUUsQ0FBQztZQUU3QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FB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Qyx3QkFBd0IsQ0FDL0MsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPO3dCQUNyQixDQUFDLENBQUMsa0NBQWtDO3dCQUNwQyxDQUFDLENBQUMsaUNBQWlDLENBQ3RDLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxJQUFJLENBQ2hELElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQzdELENBQUM7WUFDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBOzs4R0F2TFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5pbXBvcnQgeyBpc0ltYWdlQXR0YWNobWVudCB9IGZyb20gJy4vaXMtaW1hZ2UtYXR0YWNobWVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBdHRhY2htZW50VXBsb2FkIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50U2VydmljZSB7XG4gIGF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgYXR0YWNobWVudFVwbG9hZHMkOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnRVcGxvYWRbXT47XG4gIHByaXZhdGUgYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIGF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXR0YWNobWVudFVwbG9hZFtdPihcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciQgPVxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHMkID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICByZXNldEF0dGFjaG1lbnRVcGxvYWRzKCkge1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoW10pO1xuICB9XG5cbiAgYXN5bmMgZmlsZXNTZWxlY3RlZChmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsKSB7XG4gICAgaWYgKCFmaWxlTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbWFnZUZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICBjb25zdCBkYXRhRmlsZXM6IEZpbGVbXSA9IFtdO1xuXG4gICAgQXJyYXkuZnJvbShmaWxlTGlzdCkuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgaWYgKGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSAmJiAhZmlsZS50eXBlLmVuZHNXaXRoKCcucGhvdG9zaG9wJykpIHtcbiAgICAgICAgLy8gcGhvdG9zaG9wIGZpbGVzIGJlZ2luIHdpdGggJ2ltYWdlLydcbiAgICAgICAgaW1hZ2VGaWxlcy5wdXNoKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW1hZ2VGaWxlcy5mb3JFYWNoKChmKSA9PiB0aGlzLmNyZWF0ZVByZXZpZXcoZikpO1xuICAgIGNvbnN0IG5ld1VwbG9hZHMgPSBbXG4gICAgICAuLi5pbWFnZUZpbGVzLm1hcCgoZmlsZSkgPT4gKHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgc3RhdGU6ICd1cGxvYWRpbmcnIGFzICd1cGxvYWRpbmcnLFxuICAgICAgICB0eXBlOiAnaW1hZ2UnIGFzICdpbWFnZScsXG4gICAgICB9KSksXG4gICAgICAuLi5kYXRhRmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICBmaWxlLFxuICAgICAgICBzdGF0ZTogJ3VwbG9hZGluZycgYXMgJ3VwbG9hZGluZycsXG4gICAgICAgIHR5cGU6ICdmaWxlJyBhcyAnZmlsZScsXG4gICAgICB9KSksXG4gICAgXTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFtcbiAgICAgIC4uLnRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCksXG4gICAgICAuLi5uZXdVcGxvYWRzLFxuICAgIF0pO1xuICAgIGF3YWl0IHRoaXMudXBsb2FkQXR0YWNobWVudHMobmV3VXBsb2Fkcyk7XG4gIH1cblxuICBhc3luYyByZXRyeUF0dGFjaG1lbnRVcGxvYWQoZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCB1cGxvYWQgPSBhdHRhY2htZW50VXBsb2Fkcy5maW5kKCh1KSA9PiB1LmZpbGUgPT09IGZpbGUpO1xuICAgIGlmICghdXBsb2FkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHVwbG9hZC5zdGF0ZSA9ICd1cGxvYWRpbmcnO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gICAgYXdhaXQgdGhpcy51cGxvYWRBdHRhY2htZW50cyhbdXBsb2FkXSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVBdHRhY2htZW50KHVwbG9hZDogQXR0YWNobWVudFVwbG9hZCkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICBpZiAodXBsb2FkLnN0YXRlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY2hhbm5lbFNlcnZpY2UuZGVsZXRlQXR0YWNobWVudCh1cGxvYWQpO1xuICAgICAgICBhdHRhY2htZW50VXBsb2Fkcy5zcGxpY2UoYXR0YWNobWVudFVwbG9hZHMuaW5kZXhPZih1cGxvYWQpLCAxKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgZGVsZXRpbmcgYXR0YWNobWVudCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYXR0YWNobWVudFVwbG9hZHMuc3BsaWNlKGF0dGFjaG1lbnRVcGxvYWRzLmluZGV4T2YodXBsb2FkKSwgMSk7XG4gICAgfVxuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gIH1cblxuICBtYXBUb0F0dGFjaG1lbnRzKCkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICByZXR1cm4gYXR0YWNobWVudFVwbG9hZHNcbiAgICAgIC5maWx0ZXIoKHIpID0+IHIuc3RhdGUgPT09ICdzdWNjZXNzJylcbiAgICAgIC5tYXAoKHIpID0+IHtcbiAgICAgICAgY29uc3QgYXR0YWNobWVudDogQXR0YWNobWVudCA9IHtcbiAgICAgICAgICB0eXBlOiByLnR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChyLnR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgICBhdHRhY2htZW50LmZhbGxiYWNrID0gci5maWxlPy5uYW1lO1xuICAgICAgICAgIGF0dGFjaG1lbnQuaW1hZ2VfdXJsID0gci51cmw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXR0YWNobWVudC5hc3NldF91cmwgPSByLnVybDtcbiAgICAgICAgICBhdHRhY2htZW50LnRpdGxlID0gci5maWxlPy5uYW1lO1xuICAgICAgICAgIGF0dGFjaG1lbnQuZmlsZV9zaXplID0gci5maWxlPy5zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUZyb21BdHRhY2htZW50cyhhdHRhY2htZW50czogQXR0YWNobWVudFtdKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHM6IEF0dGFjaG1lbnRVcGxvYWRbXSA9IFtdO1xuICAgIGF0dGFjaG1lbnRzLmZvckVhY2goKGF0dGFjaG1lbnQpID0+IHtcbiAgICAgIGlmIChpc0ltYWdlQXR0YWNobWVudChhdHRhY2htZW50KSkge1xuICAgICAgICBhdHRhY2htZW50VXBsb2Fkcy5wdXNoKHtcbiAgICAgICAgICB1cmw6IChhdHRhY2htZW50LmltZ191cmwgfHxcbiAgICAgICAgICAgIGF0dGFjaG1lbnQudGh1bWJfdXJsIHx8XG4gICAgICAgICAgICBhdHRhY2htZW50LmltYWdlX3VybCkgYXMgc3RyaW5nLFxuICAgICAgICAgIHN0YXRlOiAnc3VjY2VzcycsXG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBmaWxlOiB7XG4gICAgICAgICAgICBuYW1lOiBhdHRhY2htZW50LmZhbGxiYWNrLFxuICAgICAgICAgIH0gYXMgRmlsZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ZpbGUnKSB7XG4gICAgICAgIGF0dGFjaG1lbnRVcGxvYWRzLnB1c2goe1xuICAgICAgICAgIHVybDogYXR0YWNobWVudC5hc3NldF91cmwsXG4gICAgICAgICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICBmaWxlOiB7XG4gICAgICAgICAgICBuYW1lOiBhdHRhY2htZW50LnRpdGxlLFxuICAgICAgICAgICAgc2l6ZTogYXR0YWNobWVudC5maWxlX3NpemUsXG4gICAgICAgICAgfSBhcyBGaWxlLFxuICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYXR0YWNobWVudFVwbG9hZHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbXG4gICAgICAgIC4uLnRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCksXG4gICAgICAgIC4uLmF0dGFjaG1lbnRVcGxvYWRzLFxuICAgICAgXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICAgIGNvbnN0IHVwbG9hZCA9IGF0dGFjaG1lbnRVcGxvYWRzLmZpbmQoKHVwbG9hZCkgPT4gdXBsb2FkLmZpbGUgPT09IGZpbGUpO1xuICAgICAgaWYgKCF1cGxvYWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdXBsb2FkLnByZXZpZXdVcmkgPSBldmVudC50YXJnZXQ/LnJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFsuLi5hdHRhY2htZW50VXBsb2Fkc10pO1xuICAgIH07XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSBhcyBCbG9iKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBsb2FkQXR0YWNobWVudHModXBsb2FkczogQXR0YWNobWVudFVwbG9hZFtdKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5uZXh0KFxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmdldFZhbHVlKCkgKyAxXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKHVwbG9hZHMpO1xuICAgIHJlc3VsdC5mb3JFYWNoKChyKSA9PiB7XG4gICAgICBjb25zdCB1cGxvYWQgPSBhdHRhY2htZW50VXBsb2Fkcy5maW5kKCh1cGxvYWQpID0+IHVwbG9hZC5maWxlID09PSByLmZpbGUpO1xuICAgICAgaWYgKCF1cGxvYWQpIHtcbiAgICAgICAgaWYgKHIudXJsKSB7XG4gICAgICAgICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmRlbGV0ZUF0dGFjaG1lbnQocik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdXBsb2FkLnN0YXRlID0gci5zdGF0ZTtcbiAgICAgIHVwbG9hZC51cmwgPSByLnVybDtcbiAgICAgIGlmICh1cGxvYWQuc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgICB1cGxvYWQudHlwZSA9PT0gJ2ltYWdlJ1xuICAgICAgICAgICAgPyAnc3RyZWFtQ2hhdC5FcnJvciB1cGxvYWRpbmcgaW1hZ2UnXG4gICAgICAgICAgICA6ICdzdHJlYW1DaGF0LkVycm9yIHVwbG9hZGluZyBmaWxlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5uZXh0KFxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmdldFZhbHVlKCkgLSAxXG4gICAgKTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFsuLi5hdHRhY2htZW50VXBsb2Fkc10pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2F0dGFjaG1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQU8xRCxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQ1UsY0FBOEIsRUFDOUIsbUJBQXdDO1FBRHhDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBUjFDLDZDQUF3QyxHQUM5QyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN6Qiw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FDcEQsRUFBRSxDQUNILENBQUM7UUFNQSxJQUFJLENBQUMsa0NBQWtDO1lBQ3JDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUssYUFBYSxDQUFDLFFBQXlCOztZQUMzQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE9BQU87YUFDUjtZQUNELE1BQU0sVUFBVSxHQUFXLEVBQUUsQ0FBQztZQUM5QixNQUFNLFNBQVMsR0FBVyxFQUFFLENBQUM7WUFFN0Is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QkFDckIsQ0FBQyxDQUFDLGtDQUFrQzt3QkFDcEMsQ0FBQyxDQUFDLGlDQUFpQyxDQUN0QyxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsd0NBQXdDLENBQUMsSUFBSSxDQUNoRCxJQUFJLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FBQTs7OEdBdExVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzSW1hZ2VGaWxlIH0gZnJvbSAnLi9pcy1pbWFnZS1maWxlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNJbWFnZUF0dGFjaG1lbnQgfSBmcm9tICcuL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXR0YWNobWVudFVwbG9hZCB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFNlcnZpY2Uge1xuICBhdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGF0dGFjaG1lbnRVcGxvYWRzJDogT2JzZXJ2YWJsZTxBdHRhY2htZW50VXBsb2FkW10+O1xuICBwcml2YXRlIGF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlclN1YmplY3QgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHJpdmF0ZSBhdHRhY2htZW50VXBsb2Fkc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF0dGFjaG1lbnRVcGxvYWRbXT4oXG4gICAgW11cbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIkID1cbiAgICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzJCA9IHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcmVzZXRBdHRhY2htZW50VXBsb2FkcygpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFtdKTtcbiAgfVxuXG4gIGFzeW5jIGZpbGVzU2VsZWN0ZWQoZmlsZUxpc3Q6IEZpbGVMaXN0IHwgbnVsbCkge1xuICAgIGlmICghZmlsZUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW1hZ2VGaWxlczogRmlsZVtdID0gW107XG4gICAgY29uc3QgZGF0YUZpbGVzOiBGaWxlW10gPSBbXTtcblxuICAgIEFycmF5LmZyb20oZmlsZUxpc3QpLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGlmIChpc0ltYWdlRmlsZShmaWxlKSkge1xuICAgICAgICBpbWFnZUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhRmlsZXMucHVzaChmaWxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbWFnZUZpbGVzLmZvckVhY2goKGYpID0+IHRoaXMuY3JlYXRlUHJldmlldyhmKSk7XG4gICAgY29uc3QgbmV3VXBsb2FkcyA9IFtcbiAgICAgIC4uLmltYWdlRmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICBmaWxlLFxuICAgICAgICBzdGF0ZTogJ3VwbG9hZGluZycgYXMgJ3VwbG9hZGluZycsXG4gICAgICAgIHR5cGU6ICdpbWFnZScgYXMgJ2ltYWdlJyxcbiAgICAgIH0pKSxcbiAgICAgIC4uLmRhdGFGaWxlcy5tYXAoKGZpbGUpID0+ICh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIHN0YXRlOiAndXBsb2FkaW5nJyBhcyAndXBsb2FkaW5nJyxcbiAgICAgICAgdHlwZTogJ2ZpbGUnIGFzICdmaWxlJyxcbiAgICAgIH0pKSxcbiAgICBdO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoW1xuICAgICAgLi4udGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKSxcbiAgICAgIC4uLm5ld1VwbG9hZHMsXG4gICAgXSk7XG4gICAgYXdhaXQgdGhpcy51cGxvYWRBdHRhY2htZW50cyhuZXdVcGxvYWRzKTtcbiAgfVxuXG4gIGFzeW5jIHJldHJ5QXR0YWNobWVudFVwbG9hZChmaWxlOiBGaWxlKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IHVwbG9hZCA9IGF0dGFjaG1lbnRVcGxvYWRzLmZpbmQoKHUpID0+IHUuZmlsZSA9PT0gZmlsZSk7XG4gICAgaWYgKCF1cGxvYWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdXBsb2FkLnN0YXRlID0gJ3VwbG9hZGluZyc7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbLi4uYXR0YWNobWVudFVwbG9hZHNdKTtcbiAgICBhd2FpdCB0aGlzLnVwbG9hZEF0dGFjaG1lbnRzKFt1cGxvYWRdKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUF0dGFjaG1lbnQodXBsb2FkOiBBdHRhY2htZW50VXBsb2FkKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIGlmICh1cGxvYWQuc3RhdGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jaGFubmVsU2VydmljZS5kZWxldGVBdHRhY2htZW50KHVwbG9hZCk7XG4gICAgICAgIGF0dGFjaG1lbnRVcGxvYWRzLnNwbGljZShhdHRhY2htZW50VXBsb2Fkcy5pbmRleE9mKHVwbG9hZCksIDEpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgICAnc3RyZWFtQ2hhdC5FcnJvciBkZWxldGluZyBhdHRhY2htZW50J1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhdHRhY2htZW50VXBsb2Fkcy5zcGxpY2UoYXR0YWNobWVudFVwbG9hZHMuaW5kZXhPZih1cGxvYWQpLCAxKTtcbiAgICB9XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbLi4uYXR0YWNobWVudFVwbG9hZHNdKTtcbiAgfVxuXG4gIG1hcFRvQXR0YWNobWVudHMoKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIHJldHVybiBhdHRhY2htZW50VXBsb2Fkc1xuICAgICAgLmZpbHRlcigocikgPT4gci5zdGF0ZSA9PT0gJ3N1Y2Nlc3MnKVxuICAgICAgLm1hcCgocikgPT4ge1xuICAgICAgICBjb25zdCBhdHRhY2htZW50OiBBdHRhY2htZW50ID0ge1xuICAgICAgICAgIHR5cGU6IHIudHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHIudHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgIGF0dGFjaG1lbnQuZmFsbGJhY2sgPSByLmZpbGU/Lm5hbWU7XG4gICAgICAgICAgYXR0YWNobWVudC5pbWFnZV91cmwgPSByLnVybDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhdHRhY2htZW50LmFzc2V0X3VybCA9IHIudXJsO1xuICAgICAgICAgIGF0dGFjaG1lbnQudGl0bGUgPSByLmZpbGU/Lm5hbWU7XG4gICAgICAgICAgYXR0YWNobWVudC5maWxlX3NpemUgPSByLmZpbGU/LnNpemU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXR0YWNobWVudDtcbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlRnJvbUF0dGFjaG1lbnRzKGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W10pIHtcbiAgICBjb25zdCBhdHRhY2htZW50VXBsb2FkczogQXR0YWNobWVudFVwbG9hZFtdID0gW107XG4gICAgYXR0YWNobWVudHMuZm9yRWFjaCgoYXR0YWNobWVudCkgPT4ge1xuICAgICAgaWYgKGlzSW1hZ2VBdHRhY2htZW50KGF0dGFjaG1lbnQpKSB7XG4gICAgICAgIGF0dGFjaG1lbnRVcGxvYWRzLnB1c2goe1xuICAgICAgICAgIHVybDogKGF0dGFjaG1lbnQuaW1nX3VybCB8fFxuICAgICAgICAgICAgYXR0YWNobWVudC50aHVtYl91cmwgfHxcbiAgICAgICAgICAgIGF0dGFjaG1lbnQuaW1hZ2VfdXJsKSBhcyBzdHJpbmcsXG4gICAgICAgICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgICAgIGZpbGU6IHtcbiAgICAgICAgICAgIG5hbWU6IGF0dGFjaG1lbnQuZmFsbGJhY2ssXG4gICAgICAgICAgfSBhcyBGaWxlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoYXR0YWNobWVudC50eXBlID09PSAnZmlsZScpIHtcbiAgICAgICAgYXR0YWNobWVudFVwbG9hZHMucHVzaCh7XG4gICAgICAgICAgdXJsOiBhdHRhY2htZW50LmFzc2V0X3VybCxcbiAgICAgICAgICBzdGF0ZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIGZpbGU6IHtcbiAgICAgICAgICAgIG5hbWU6IGF0dGFjaG1lbnQudGl0bGUsXG4gICAgICAgICAgICBzaXplOiBhdHRhY2htZW50LmZpbGVfc2l6ZSxcbiAgICAgICAgICB9IGFzIEZpbGUsXG4gICAgICAgICAgdHlwZTogJ2ZpbGUnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhdHRhY2htZW50VXBsb2Fkcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFtcbiAgICAgICAgLi4udGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKSxcbiAgICAgICAgLi4uYXR0YWNobWVudFVwbG9hZHMsXG4gICAgICBdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVByZXZpZXcoZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZCA9IChldmVudCkgPT4ge1xuICAgICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgdXBsb2FkID0gYXR0YWNobWVudFVwbG9hZHMuZmluZCgodXBsb2FkKSA9PiB1cGxvYWQuZmlsZSA9PT0gZmlsZSk7XG4gICAgICBpZiAoIXVwbG9hZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB1cGxvYWQucHJldmlld1VyaSA9IGV2ZW50LnRhcmdldD8ucmVzdWx0IHx8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gICAgfTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlIGFzIEJsb2IpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGxvYWRBdHRhY2htZW50cyh1cGxvYWRzOiBBdHRhY2htZW50VXBsb2FkW10pIHtcbiAgICBjb25zdCBhdHRhY2htZW50VXBsb2FkcyA9IHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0Lm5leHQoXG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlclN1YmplY3QuZ2V0VmFsdWUoKSArIDFcbiAgICApO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hhbm5lbFNlcnZpY2UudXBsb2FkQXR0YWNobWVudHModXBsb2Fkcyk7XG4gICAgcmVzdWx0LmZvckVhY2goKHIpID0+IHtcbiAgICAgIGNvbnN0IHVwbG9hZCA9IGF0dGFjaG1lbnRVcGxvYWRzLmZpbmQoKHVwbG9hZCkgPT4gdXBsb2FkLmZpbGUgPT09IHIuZmlsZSk7XG4gICAgICBpZiAoIXVwbG9hZCkge1xuICAgICAgICBpZiAoci51cmwpIHtcbiAgICAgICAgICB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2UuZGVsZXRlQXR0YWNobWVudChyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB1cGxvYWQuc3RhdGUgPSByLnN0YXRlO1xuICAgICAgdXBsb2FkLnVybCA9IHIudXJsO1xuICAgICAgaWYgKHVwbG9hZC5zdGF0ZSA9PT0gJ2Vycm9yJykge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAgIHVwbG9hZC50eXBlID09PSAnaW1hZ2UnXG4gICAgICAgICAgICA/ICdzdHJlYW1DaGF0LkVycm9yIHVwbG9hZGluZyBpbWFnZSdcbiAgICAgICAgICAgIDogJ3N0cmVhbUNoYXQuRXJyb3IgdXBsb2FkaW5nIGZpbGUnXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0Lm5leHQoXG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlclN1YmplY3QuZ2V0VmFsdWUoKSAtIDFcbiAgICApO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gIH1cbn1cbiJdfQ==
import { __awaiter } from "tslib";
import { Injectable } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { BehaviorSubject, ReplaySubject } from 'rxjs';
import { StreamChat } from 'stream-chat';

@@ -15,4 +15,6 @@ import { version } from '../assets/version';

this.connectionStateSubject = new ReplaySubject(1);
this.appSettingsSubject = new BehaviorSubject(undefined);
this.notification$ = this.notificationSubject.asObservable();
this.connectionState$ = this.connectionStateSubject.asObservable();
this.appSettings$ = this.appSettingsSubject.asObservable();
}

@@ -26,2 +28,3 @@ init(apiKey, userId, userToken) {

}));
this.appSettingsSubject.next(undefined);
this.chatClient.on('notification.added_to_channel', (e) => {

@@ -64,2 +67,11 @@ this.notificationSubject.next({

}
getAppSettings() {
return __awaiter(this, void 0, void 0, function* () {
if (this.appSettingsSubject.getValue()) {
return;
}
const settings = yield this.chatClient.getAppSettings();
this.appSettingsSubject.next(settings.app || {});
});
}
flagMessage(messageId) {

@@ -94,2 +106,2 @@ return __awaiter(this, void 0, void 0, function* () {

}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ApplicationRef }, { type: i1.NotificationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWtCLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBUyxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFjNUMsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixZQUNVLE1BQWMsRUFDZCxNQUFzQixFQUN0QixtQkFBd0M7UUFGeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFOMUMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWUsQ0FBQyxDQUFDLENBQUM7UUFDekQsMkJBQXNCLEdBQUcsSUFBSSxhQUFhLENBQXVCLENBQUMsQ0FBQyxDQUFDO1FBTzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVLLElBQUksQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQWlCOztZQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVMsRUFBRTtnQkFDN0MsTUFBTSxJQUFJLENBQUMs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QUssQ0FBQztRQUN0QixDQUFDO0tBQUE7OzhHQTlFVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdmVudCwgU3RyZWFtQ2hhdCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IHZlcnNpb24gfSBmcm9tICcuLi9hc3NldHMvdmVyc2lvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbiA9IHtcbiAgZXZlbnRUeXBlOlxuICAgIHwgJ25vdGlmaWNhdGlvbi5hZGRlZF90b19jaGFubmVsJ1xuICAgIHwgJ25vdGlmaWNhdGlvbi5tZXNzYWdlX25ldydcbiAgICB8ICdub3RpZmljYXRpb24ucmVtb3ZlZF9mcm9tX2NoYW5uZWwnO1xuICBldmVudDogRXZlbnQ7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdENsaWVudFNlcnZpY2Uge1xuICBjaGF0Q2xpZW50ITogU3RyZWFtQ2hhdDtcbiAgbm90aWZpY2F0aW9uJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb24+O1xuICBjb25uZWN0aW9uU3RhdGUkOiBPYnNlcnZhYmxlPCdvZmZsaW5lJyB8ICdvbmxpbmUnPjtcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Tm90aWZpY2F0aW9uPigxKTtcbiAgcHJpdmF0ZSBjb25uZWN0aW9uU3RhdGVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8J29mZmxpbmUnIHwgJ29ubGluZSc+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbiQgPSB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdGUkID0gdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYXN5bmMgaW5pdChhcGlLZXk6IHN0cmluZywgdXNlcklkOiBzdHJpbmcsIHVzZXJUb2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5jaGF0Q2xpZW50ID0gU3RyZWFtQ2hhdC5nZXRJbnN0YW5jZShhcGlLZXkpO1xuICAgIGF3YWl0IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5jb25uZWN0VXNlcih7IGlkOiB1c2VySWQgfSwgdXNlclRva2VuKTtcbiAgICAgIHRoaXMuY2hhdENsaWVudC5zZXRVc2VyQWdlbnQoXG4gICAgICAgIGBzdHJlYW0tY2hhdC1hbmd1bGFyLSR7dmVyc2lvbn0tJHt0aGlzLmNoYXRDbGllbnQuZ2V0VXNlckFnZW50KCl9YFxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmNoYXRDbGllbnQub24oJ25vdGlmaWNhdGlvbi5hZGRlZF90b19jaGFubmVsJywgKGUpID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KHtcbiAgICAgICAgZXZlbnRUeXBlOiAnbm90aWZpY2F0aW9uLmFkZGVkX3RvX2NoYW5uZWwnLFxuICAgICAgICBldmVudDogZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgIH0pO1xuICAgIHRoaXMuY2hhdENsaWVudC5vbignbm90aWZpY2F0aW9uLm1lc3NhZ2VfbmV3JywgKGUpID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5uZXh0KHtcbiAgICAgICAgZXZlbnRUeXBlOiAnbm90aWZpY2F0aW9uLm1lc3NhZ2VfbmV3JyxcbiAgICAgICAgZXZlbnQ6IGUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLmNoYXRDbGllbnQub24oJ25vdGlmaWNhdGlvbi5yZW1vdmVkX2Zyb21fY2hhbm5lbCcsIChlKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QubmV4dCh7XG4gICAgICAgIGV2ZW50VHlwZTogJ25vdGlmaWNhdGlvbi5yZW1vdmVkX2Zyb21fY2hhbm5lbCcsXG4gICAgICAgIGV2ZW50OiBlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgfSk7XG4gICAgbGV0IHJlbW92ZU5vdGlmaWNhdGlvbjogdW5kZWZpbmVkIHwgRnVuY3Rpb247XG4gICAgdGhpcy5jaGF0Q2xpZW50Lm9uKCdjb25uZWN0aW9uLmNoYW5nZWQnLCAoZSkgPT4ge1xuICAgICAgY29uc3QgaXNPbmxpbmUgPSBlLm9ubGluZTtcbiAgICAgIGlmIChpc09ubGluZSkge1xuICAgICAgICBpZiAocmVtb3ZlTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgcmVtb3ZlTm90aWZpY2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbW92ZU5vdGlmaWNhdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRQZXJtYW5lbnROb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuQ29ubmVjdGlvbiBmYWlsdXJlLCByZWNvbm5lY3Rpbmcgbm93Li4uJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoaXNPbmxpbmUgPyAnb25saW5lJyA6ICdvZmZsaW5lJyk7XG4gICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBmbGFnTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5mbGFnTWVzc2FnZShtZXNzYWdlSWQpO1xuICB9XG5cbiAgYXN5bmMgYXV0b2NvbXBsZXRlVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeVVzZXJzKHtcbiAgICAgICRvcjogW1xuICAgICAgICB7IGlkOiB7ICRhdXRvY29tcGxldGU6IHNlYXJjaFRlcm0gfSB9LFxuICAgICAgICB7IG5hbWU6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICBdLFxuICAgICAgaWQ6IHsgJG5lOiB0aGlzLmNoYXRDbGllbnQudXNlcklEISB9LFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQudXNlcnM7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWtCLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQXNCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWM1QyxNQUFNLE9BQU8saUJBQWlCO0lBVzVCLFlBQ1UsTUFBYyxFQUNkLE1BQXNCLEVBQ3RCLG1CQUF3QztRQUZ4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVQxQyx3QkFBbUIsR0FBRyxJQUFJLGFBQWEsQ0FBZSxDQUFDLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLGFBQWEsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7UUFDcEUsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQzlDLFNBQVMsQ0FDVixDQUFDO1FBT0EsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUssSUFBSSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsU0FBaUI7O1lBQzFELElBQUksQ0FB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QyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztLQUFBO0lBRUssaUJBQWlCLENBQUMsVUFBa0I7O1lBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7Z0JBQzlDLEdBQUcsRUFBRTtvQkFDSCxFQUFFLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRTtvQkFDckMsRUFBRSxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUU7aUJBQ3hDO2dCQUNELEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU8sRUFBRTthQUNyQyxDQUFDLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQztLQUFBOzs4R0E1RlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBTZXR0aW5ncywgRXZlbnQsIFN0cmVhbUNoYXQgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyB2ZXJzaW9uIH0gZnJvbSAnLi4vYXNzZXRzL3ZlcnNpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb24gPSB7XG4gIGV2ZW50VHlwZTpcbiAgICB8ICdub3RpZmljYXRpb24uYWRkZWRfdG9fY2hhbm5lbCdcbiAgICB8ICdub3RpZmljYXRpb24ubWVzc2FnZV9uZXcnXG4gICAgfCAnbm90aWZpY2F0aW9uLnJlbW92ZWRfZnJvbV9jaGFubmVsJztcbiAgZXZlbnQ6IEV2ZW50O1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXRDbGllbnRTZXJ2aWNlIHtcbiAgY2hhdENsaWVudCE6IFN0cmVhbUNoYXQ7XG4gIG5vdGlmaWNhdGlvbiQ6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uPjtcbiAgYXBwU2V0dGluZ3MkOiBPYnNlcnZhYmxlPEFwcFNldHRpbmdzIHwgdW5kZWZpbmVkPjtcbiAgY29ubmVjdGlvblN0YXRlJDogT2JzZXJ2YWJsZTwnb2ZmbGluZScgfCAnb25saW5lJz47XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PE5vdGlmaWNhdGlvbj4oMSk7XG4gIHByaXZhdGUgY29ubmVjdGlvblN0YXRlU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PCdvZmZsaW5lJyB8ICdvbmxpbmUnPigxKTtcbiAgcHJpdmF0ZSBhcHBTZXR0aW5nc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFwcFNldHRpbmdzIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24kID0gdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXRlJCA9IHRoaXMuY29ubmVjdGlvblN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmFwcFNldHRpbmdzJCA9IHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYXN5bmMgaW5pdChhcGlLZXk6IHN0cmluZywgdXNlcklkOiBzdHJpbmcsIHVzZXJUb2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5jaGF0Q2xpZW50ID0gU3RyZWFtQ2hhdC5nZXRJbnN0YW5jZShhcGlLZXkpO1xuICAgIGF3YWl0IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5jb25uZWN0VXNlcih7IGlkOiB1c2VySWQgfSwgdXNlclRva2VuKTtcbiAgICAgIHRoaXMuY2hhdENsaWVudC5zZXRVc2VyQWdlbnQoXG4gICAgICAgIGBzdHJlYW0tY2hhdC1hbmd1bGFyLSR7dmVyc2lvbn0tJHt0aGlzLmNoYXRDbGllbnQuZ2V0VXNlckFnZW50KCl9YFxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jaGF0Q2xpZW50Lm9uKCdub3RpZmljYXRpb24uYWRkZWRfdG9fY2hhbm5lbCcsIChlKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QubmV4dCh7XG4gICAgICAgIGV2ZW50VHlwZTogJ25vdGlmaWNhdGlvbi5hZGRlZF90b19jaGFubmVsJyxcbiAgICAgICAgZXZlbnQ6IGUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLmNoYXRDbGllbnQub24oJ25vdGlmaWNhdGlvbi5tZXNzYWdlX25ldycsIChlKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QubmV4dCh7XG4gICAgICAgIGV2ZW50VHlwZTogJ25vdGlmaWNhdGlvbi5tZXNzYWdlX25ldycsXG4gICAgICAgIGV2ZW50OiBlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5jaGF0Q2xpZW50Lm9uKCdub3RpZmljYXRpb24ucmVtb3ZlZF9mcm9tX2NoYW5uZWwnLCAoZSkgPT4ge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0Lm5leHQoe1xuICAgICAgICBldmVudFR5cGU6ICdub3RpZmljYXRpb24ucmVtb3ZlZF9mcm9tX2NoYW5uZWwnLFxuICAgICAgICBldmVudDogZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgIH0pO1xuICAgIGxldCByZW1vdmVOb3RpZmljYXRpb246IHVuZGVmaW5lZCB8IEZ1bmN0aW9uO1xuICAgIHRoaXMuY2hhdENsaWVudC5vbignY29ubmVjdGlvbi5jaGFuZ2VkJywgKGUpID0+IHtcbiAgICAgIGNvbnN0IGlzT25saW5lID0gZS5vbmxpbmU7XG4gICAgICBpZiAoaXNPbmxpbmUpIHtcbiAgICAgICAgaWYgKHJlbW92ZU5vdGlmaWNhdGlvbikge1xuICAgICAgICAgIHJlbW92ZU5vdGlmaWNhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZW1vdmVOb3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkUGVybWFuZW50Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICdzdHJlYW1DaGF0LkNvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXRlU3ViamVjdC5uZXh0KGlzT25saW5lID8gJ29ubGluZScgOiAnb2ZmbGluZScpO1xuICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXBwU2V0dGluZ3MoKSB7XG4gICAgaWYgKHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0LmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2V0dGluZ3MgPSBhd2FpdCB0aGlzLmNoYXRDbGllbnQuZ2V0QXBwU2V0dGluZ3MoKTtcbiAgICB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5uZXh0KHNldHRpbmdzLmFwcCB8fCB7fSk7XG4gIH1cblxuICBhc3luYyBmbGFnTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5mbGFnTWVzc2FnZShtZXNzYWdlSWQpO1xuICB9XG5cbiAgYXN5bmMgYXV0b2NvbXBsZXRlVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeVVzZXJzKHtcbiAgICAgICRvcjogW1xuICAgICAgICB7IGlkOiB7ICRhdXRvY29tcGxldGU6IHNlYXJjaFRlcm0gfSB9LFxuICAgICAgICB7IG5hbWU6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICBdLFxuICAgICAgaWQ6IHsgJG5lOiB0aGlzLmNoYXRDbGllbnQudXNlcklEISB9LFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQudXNlcnM7XG4gIH1cbn1cbiJdfQ==

@@ -19,2 +19,2 @@ import { Injectable } from '@angular/core';

}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1pbnB1dC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQztRQVRBLHdCQUFtQixHQUF3QixJQUFJLENBQUM7UUFDaEQsdUJBQWtCLEdBQXdCLElBQUksQ0FBQztRQUsvQyxnQ0FBMkIsR0FBd0IsSUFBSSxDQUFDO1FBQ3hELGlCQUFZLEdBQTBDLFNBQVMsQ0FBQztJQUVqRCxDQUFDOztzSEFWTCx5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudGlvbkF1dGNvbXBsZXRlTGlzdEl0ZW1Db250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUlucHV0Q29uZmlnU2VydmljZSB7XG4gIGlzRmlsZVVwbG9hZEVuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICBhcmVNZW50aW9uc0VuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICBtZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlOlxuICAgIHwgVGVtcGxhdGVSZWY8TWVudGlvbkF1dGNvbXBsZXRlTGlzdEl0ZW1Db250ZXh0PlxuICAgIHwgdW5kZWZpbmVkO1xuICBhY2NlcHRlZEZpbGVUeXBlczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XG4gIG1lbnRpb25TY29wZTogJ2NoYW5uZWwnIHwgJ2FwcGxpY2F0aW9uJyB8IHVuZGVmaW5lZCA9ICdjaGFubmVsJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1pbnB1dC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLHlCQUF5QjtJQWFwQztRQVpBLHdCQUFtQixHQUF3QixJQUFJLENBQUM7UUFDaEQsdUJBQWtCLEdBQXdCLElBQUksQ0FBQztRQVEvQyxnQ0FBMkIsR0FBd0IsSUFBSSxDQUFDO1FBQ3hELGlCQUFZLEdBQTBDLFNBQVMsQ0FBQztJQUVqRCxDQUFDOztzSEFiTCx5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudGlvbkF1dGNvbXBsZXRlTGlzdEl0ZW1Db250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUlucHV0Q29uZmlnU2VydmljZSB7XG4gIGlzRmlsZVVwbG9hZEVuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICBhcmVNZW50aW9uc0VuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICBtZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlOlxuICAgIHwgVGVtcGxhdGVSZWY8TWVudGlvbkF1dGNvbXBsZXRlTGlzdEl0ZW1Db250ZXh0PlxuICAgIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL3Nkay9hbmd1bGFyL3NlcnZpY2VzL21lc3NhZ2UtaW5wdXQtY29uZmlnLyNvdmVydmlld1xuICAgKi9cbiAgYWNjZXB0ZWRGaWxlVHlwZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBpc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICBtZW50aW9uU2NvcGU6ICdjaGFubmVsJyB8ICdhcHBsaWNhdGlvbicgfCB1bmRlZmluZWQgPSAnY2hhbm5lbCc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19

@@ -7,2 +7,3 @@ import { __awaiter } from "tslib";

import { TextareaDirective } from './textarea.directive';
import { isImageFile } from '../is-image-file';
import * as i0 from "@angular/core";

@@ -13,9 +14,10 @@ import * as i1 from "../channel.service";

import * as i4 from "./message-input-config.service";
import * as i5 from "../attachment-preview-list/attachment-preview-list.component";
import * as i6 from "../icon/icon.component";
import * as i7 from "@angular/common";
import * as i8 from "./textarea.directive";
import * as i9 from "@ngx-translate/core";
import * as i5 from "../chat-client.service";
import * as i6 from "../attachment-preview-list/attachment-preview-list.component";
import * as i7 from "../icon/icon.component";
import * as i8 from "@angular/common";
import * as i9 from "./textarea.directive";
import * as i10 from "@ngx-translate/core";
export class MessageInputComponent {
constructor(channelService, notificationService, attachmentService, configService, textareaType, componentFactoryResolver, cdRef) {
constructor(channelService, notificationService, attachmentService, configService, textareaType, componentFactoryResolver, cdRef, chatClient) {
this.channelService = channelService;

@@ -28,2 +30,3 @@ this.notificationService = notificationService;

this.cdRef = cdRef;
this.chatClient = chatClient;
this.messageUpdate = new EventEmitter();

@@ -56,2 +59,3 @@ this.textareaValue = '';

}));
this.subscriptions.push(this.chatClient.appSettings$.subscribe((appSettings) => (this.appSettings = appSettings)));
this.attachmentUploads$ = this.attachmentService.attachmentUploads$;

@@ -153,2 +157,5 @@ this.isFileUploadEnabled = this.configService.isFileUploadEnabled;

return __awaiter(this, void 0, void 0, function* () {
if (!(yield this.areAttachemntsValid(fileList))) {
return;
}
yield this.attachmentService.filesSelected(fileList);

@@ -173,5 +180,55 @@ this.clearFileInput();

}
areAttachemntsValid(fileList) {
return __awaiter(this, void 0, void 0, function* () {
if (!fileList || this.acceptedFileTypes) {
return true;
}
if (!this.appSettings) {
yield this.chatClient.getAppSettings();
}
let isValid = true;
Array.from(fileList).forEach((f) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
let hasBlockedExtension;
let hasBlockedMimeType;
let hasNotAllowedExtension;
let hasNotAllowedMimeType;
if (isImageFile(f)) {
hasBlockedExtension =
!!((_c = (_b = (_a = this.appSettings) === null || _a === void 0 ? void 0 : _a.image_upload_config) === null || _b === void 0 ? void 0 : _b.blocked_file_extensions) === null || _c === void 0 ? void 0 : _c.find((ext) => f.name.endsWith(ext)));
hasBlockedMimeType =
!!((_f = (_e = (_d = this.appSettings) === null || _d === void 0 ? void 0 : _d.image_upload_config) === null || _e === void 0 ? void 0 : _e.blocked_mime_types) === null || _f === void 0 ? void 0 : _f.find((type) => f.type === type));
hasNotAllowedExtension =
!!((_j = (_h = (_g = this.appSettings) === null || _g === void 0 ? void 0 : _g.image_upload_config) === null || _h === void 0 ? void 0 : _h.allowed_file_extensions) === null || _j === void 0 ? void 0 : _j.length) &&
!((_m = (_l = (_k = this.appSettings) === null || _k === void 0 ? void 0 : _k.image_upload_config) === null || _l === void 0 ? void 0 : _l.allowed_file_extensions) === null || _m === void 0 ? void 0 : _m.find((ext) => f.name.endsWith(ext)));
hasNotAllowedMimeType =
!!((_q = (_p = (_o = this.appSettings) === null || _o === void 0 ? void 0 : _o.image_upload_config) === null || _p === void 0 ? void 0 : _p.allowed_mime_types) === null || _q === void 0 ? void 0 : _q.length) &&
!((_t = (_s = (_r = this.appSettings) === null || _r === void 0 ? void 0 : _r.image_upload_config) === null || _s === void 0 ? void 0 : _s.allowed_mime_types) === null || _t === void 0 ? void 0 : _t.find((type) => f.type === type));
}
else {
hasBlockedExtension =
!!((_w = (_v = (_u = this.appSettings) === null || _u === void 0 ? void 0 : _u.file_upload_config) === null || _v === void 0 ? void 0 : _v.blocked_file_extensions) === null || _w === void 0 ? void 0 : _w.find((ext) => f.name.endsWith(ext)));
hasBlockedMimeType =
!!((_z = (_y = (_x = this.appSettings) === null || _x === void 0 ? void 0 : _x.file_upload_config) === null || _y === void 0 ? void 0 : _y.blocked_mime_types) === null || _z === void 0 ? void 0 : _z.find((type) => f.type === type));
hasNotAllowedExtension =
!!((_2 = (_1 = (_0 = this.appSettings) === null || _0 === void 0 ? void 0 : _0.file_upload_config) === null || _1 === void 0 ? void 0 : _1.allowed_file_extensions) === null || _2 === void 0 ? void 0 : _2.length) &&
!((_5 = (_4 = (_3 = this.appSettings) === null || _3 === void 0 ? void 0 : _3.file_upload_config) === null || _4 === void 0 ? void 0 : _4.allowed_file_extensions) === null || _5 === void 0 ? void 0 : _5.find((ext) => f.name.endsWith(ext)));
hasNotAllowedMimeType =
!!((_8 = (_7 = (_6 = this.appSettings) === null || _6 === void 0 ? void 0 : _6.file_upload_config) === null || _7 === void 0 ? void 0 : _7.allowed_mime_types) === null || _8 === void 0 ? void 0 : _8.length) &&
!((_11 = (_10 = (_9 = this.appSettings) === null || _9 === void 0 ? void 0 : _9.file_upload_config) === null || _10 === void 0 ? void 0 : _10.allowed_mime_types) === null || _11 === void 0 ? void 0 : _11.find((type) => f.type === type));
}
if (hasBlockedExtension ||
hasBlockedMimeType ||
hasNotAllowedExtension ||
hasNotAllowedMimeType) {
this.notificationService.addTemporaryNotification('streamChat.Unsupported file type: {{type}}', undefined, undefined, { type: f.type });
isValid = false;
}
});
return isValid;
});
}
}
MessageInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageInputComponent, deps: [{ token: i1.ChannelService }, { token: i2.NotificationService }, { token: i3.AttachmentService }, { token: i4.MessageInputConfigService }, { token: textareaInjectionToken }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
MessageInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: MessageInputComponent, selector: "stream-message-input", inputs: { isFileUploadEnabled: "isFileUploadEnabled", areMentionsEnabled: "areMentionsEnabled", mentionScope: "mentionScope", mentionAutocompleteItemTemplate: "mentionAutocompleteItemTemplate", acceptedFileTypes: "acceptedFileTypes", isMultipleFileUploadEnabled: "isMultipleFileUploadEnabled", message: "message" }, outputs: { messageUpdate: "messageUpdate" }, providers: [AttachmentService], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "textareaAnchor", first: true, predicate: TextareaDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"str-chat__input-flat\"\n [class.str-chat__input-flat-has-attachments]=\"\n (attachmentUploads$ | async)!.length > 0\n \"\n>\n <div class=\"str-chat__input-flat-wrapper\">\n <div class=\"str-chat__input-flat--textarea-wrapper\">\n <stream-attachment-preview-list\n class=\"rfu-image-previewer-angular-host\"\n ></stream-attachment-preview-list>\n <div class=\"rta str-chat__textarea\">\n <ng-template\n *ngIf=\"canSendMessages; else notAllowed\"\n streamTextarea\n [(value)]=\"textareaValue\"\n (send)=\"messageSent()\"\n [componentRef]=\"textareaRef\"\n (userMentions)=\"mentionedUsers = $event\"\n [areMentionsEnabled]=\"areMentionsEnabled\"\n [mentionAutocompleteItemTemplate]=\"mentionAutocompleteItemTemplate\"\n [mentionScope]=\"mentionScope\"\n ></ng-template>\n <ng-template #notAllowed>\n <textarea\n disabled\n rows=\"1\"\n [value]=\"\n 'streamChat.You can\\'t send messages in this channel' | translate\n \"\n class=\"rta__textarea str-chat__textarea__textarea\"\n ></textarea>\n </ng-template>\n </div>\n <div\n *ngIf=\"isFileUploadEnabled && isFileUploadAuthorized && canSendMessages\"\n class=\"str-chat__fileupload-wrapper\"\n data-testid=\"file-upload-button\"\n >\n <div class=\"str-chat__tooltip\">\n {{ \"streamChat.Attach files\" | translate }}\n </div>\n <div class=\"rfu-file-upload-button\">\n <label>\n <input\n #fileInput\n type=\"file\"\n class=\"rfu-file-input\"\n data-testid=\"file-input\"\n [accept]=\"accept\"\n [multiple]=\"isMultipleFileUploadEnabled\"\n (change)=\"filesSelected(fileInput.files)\"\n />\n <span class=\"str-chat__input-flat-fileupload\">\n <stream-icon icon=\"file-upload\"></stream-icon>\n </span>\n </label>\n </div>\n </div>\n </div>\n <button\n *ngIf=\"canSendMessages\"\n data-testid=\"send-button\"\n class=\"str-chat__send-button\"\n (click)=\"messageSent()\"\n (keyup.enter)=\"messageSent()\"\n >\n <stream-icon icon=\"send\"></stream-icon>\n </button>\n </div>\n</div>\n", components: [{ type: i5.AttachmentPreviewListComponent, selector: "stream-attachment-preview-list" }, { type: i6.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TextareaDirective, selector: "[streamTextarea]", inputs: ["componentRef", "areMentionsEnabled", "mentionAutocompleteItemTemplate", "mentionScope", "value"], outputs: ["valueChange", "send", "userMentions"] }], pipes: { "async": i7.AsyncPipe, "translate": i9.TranslatePipe } });
MessageInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageInputComponent, deps: [{ token: i1.ChannelService }, { token: i2.NotificationService }, { token: i3.AttachmentService }, { token: i4.MessageInputConfigService }, { token: textareaInjectionToken }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i5.ChatClientService }], target: i0.ɵɵFactoryTarget.Component });
MessageInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: MessageInputComponent, selector: "stream-message-input", inputs: { isFileUploadEnabled: "isFileUploadEnabled", areMentionsEnabled: "areMentionsEnabled", mentionScope: "mentionScope", mentionAutocompleteItemTemplate: "mentionAutocompleteItemTemplate", acceptedFileTypes: "acceptedFileTypes", isMultipleFileUploadEnabled: "isMultipleFileUploadEnabled", message: "message" }, outputs: { messageUpdate: "messageUpdate" }, providers: [AttachmentService], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "textareaAnchor", first: true, predicate: TextareaDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"str-chat__input-flat\"\n [class.str-chat__input-flat-has-attachments]=\"\n (attachmentUploads$ | async)!.length > 0\n \"\n>\n <div class=\"str-chat__input-flat-wrapper\">\n <div class=\"str-chat__input-flat--textarea-wrapper\">\n <stream-attachment-preview-list\n class=\"rfu-image-previewer-angular-host\"\n ></stream-attachment-preview-list>\n <div class=\"rta str-chat__textarea\">\n <ng-template\n *ngIf=\"canSendMessages; else notAllowed\"\n streamTextarea\n [(value)]=\"textareaValue\"\n (send)=\"messageSent()\"\n [componentRef]=\"textareaRef\"\n (userMentions)=\"mentionedUsers = $event\"\n [areMentionsEnabled]=\"areMentionsEnabled\"\n [mentionAutocompleteItemTemplate]=\"mentionAutocompleteItemTemplate\"\n [mentionScope]=\"mentionScope\"\n ></ng-template>\n <ng-template #notAllowed>\n <textarea\n disabled\n rows=\"1\"\n [value]=\"\n 'streamChat.You can\\'t send messages in this channel' | translate\n \"\n class=\"rta__textarea str-chat__textarea__textarea\"\n ></textarea>\n </ng-template>\n </div>\n <div\n *ngIf=\"isFileUploadEnabled && isFileUploadAuthorized && canSendMessages\"\n class=\"str-chat__fileupload-wrapper\"\n data-testid=\"file-upload-button\"\n >\n <div class=\"str-chat__tooltip\">\n {{ \"streamChat.Attach files\" | translate }}\n </div>\n <div class=\"rfu-file-upload-button\">\n <label>\n <input\n #fileInput\n type=\"file\"\n class=\"rfu-file-input\"\n data-testid=\"file-input\"\n [accept]=\"accept\"\n [multiple]=\"isMultipleFileUploadEnabled\"\n (change)=\"filesSelected(fileInput.files)\"\n />\n <span class=\"str-chat__input-flat-fileupload\">\n <stream-icon icon=\"file-upload\"></stream-icon>\n </span>\n </label>\n </div>\n </div>\n </div>\n <button\n *ngIf=\"canSendMessages\"\n data-testid=\"send-button\"\n class=\"str-chat__send-button\"\n (click)=\"messageSent()\"\n (keyup.enter)=\"messageSent()\"\n >\n <stream-icon icon=\"send\"></stream-icon>\n </button>\n </div>\n</div>\n", components: [{ type: i6.AttachmentPreviewListComponent, selector: "stream-attachment-preview-list" }, { type: i7.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.TextareaDirective, selector: "[streamTextarea]", inputs: ["componentRef", "areMentionsEnabled", "mentionAutocompleteItemTemplate", "mentionScope", "value"], outputs: ["valueChange", "send", "userMentions"] }], pipes: { "async": i8.AsyncPipe, "translate": i10.TranslatePipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageInputComponent, decorators: [{

@@ -188,3 +245,3 @@ type: Component,

args: [textareaInjectionToken]
}] }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { isFileUploadEnabled: [{
}] }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: i5.ChatClientService }]; }, propDecorators: { isFileUploadEnabled: [{
type: Input

@@ -212,2 +269,2 @@ }], areMentionsEnabled: [{

}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbWVzc2FnZS1pbnB1dC9tZXNzYWdlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHTCxTQUFTLEVBSVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7O0FBU3pELE1BQU0sT0FBTyxxQkFBcUI7SUEyQmhDLFlBQ1UsY0FBOEIsRUFDOUIsbUJBQXdDLEVBQ3hDLGlCQUFvQyxFQUNwQyxhQUF3QyxFQUV4QyxZQUFxQyxFQUNyQyx3QkFBa0QsRUFDbEQsS0FBd0I7UUFQeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFFeEMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUF2QmYs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d0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFdBQVc7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDbEQsZ0JBQWdCLENBQ2pCLENBQUM7UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7O2tIQTNNVSxxQkFBcUIsNkpBZ0N0QixzQkFBc0I7c0dBaENyQixxQkFBcUIsd1pBRnJCLENBQUMsaUJBQWlCLENBQUMsbUtBdUJuQixpQkFBaUIscUVDN0Q5QiwyNUVBdUVBOzJGRC9CYSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9COzswQkFpQ0ksTUFBTTsyQkFBQyxzQkFBc0I7bUhBN0J2QixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBUXlCLFNBQVM7c0JBQXhDLFNBQVM7dUJBQUMsV0FBVztnQkFFZCxjQUFjO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJSZXNwb25zZSB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEF0dGFjaG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vYXR0YWNobWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IHRleHRhcmVhSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBBdHRhY2htZW50VXBsb2FkLFxuICBNZW50aW9uQXV0Y29tcGxldGVMaXN0SXRlbUNvbnRleHQsXG4gIFN0cmVhbU1lc3NhZ2UsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE1lc3NhZ2VJbnB1dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21lc3NhZ2UtaW5wdXQtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dGFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL3RleHRhcmVhLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0YXJlYUludGVyZmFjZSB9IGZyb20gJy4vdGV4dGFyZWEuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLW1lc3NhZ2UtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG4gIHByb3ZpZGVyczogW0F0dGFjaG1lbnRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUlucHV0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbntcbiAgQElucHV0KCkgaXNGaWxlVXBsb2FkRW5hYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXJlTWVudGlvbnNFbmFibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZW50aW9uU2NvcGU6ICdjaGFubmVsJyB8ICdhcHBsaWNhdGlvbicgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG1lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGU6XG4gICAgfCBUZW1wbGF0ZVJlZjxNZW50aW9uQXV0Y29tcGxldGVMaXN0SXRlbUNvbnRleHQ+XG4gICAgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjY2VwdGVkRmlsZVR5cGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaXNNdWx0aXBsZUZpbGVVcGxvYWRFbmFibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZXNzYWdlOiBTdHJlYW1NZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbWVzc2FnZVVwZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgaXNGaWxlVXBsb2FkQXV0aG9yaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgY2FuU2VuZExpbmtzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBjYW5TZW5kTWVzc2FnZXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGF0dGFjaG1lbnRVcGxvYWRzJDogT2JzZXJ2YWJsZTxBdHRhY2htZW50VXBsb2FkW10+O1xuICB0ZXh0YXJlYVZhbHVlID0gJyc7XG4gIHRleHRhcmVhUmVmOiBDb21wb25lbnRSZWY8VGV4dGFyZWFJbnRlcmZhY2U+IHwgdW5kZWZpbmVkO1xuICBtZW50aW9uZWRVc2VyczogVXNlclJlc3BvbnNlW10gPSBbXTtcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgcHJpdmF0ZSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKFRleHRhcmVhRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSB0ZXh0YXJlYUFuY2hvciE6IFRleHRhcmVhRGlyZWN0aXZlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgaGlkZU5vdGlmaWNhdGlvbjogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaXNWaWV3SW5pdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXR0YWNobWVudFNlcnZpY2U6IEF0dGFjaG1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogTWVzc2FnZUlucHV0Q29uZmlnU2VydmljZSxcbiAgICBASW5qZWN0KHRleHRhcmVhSW5qZWN0aW9uVG9rZW4pXG4gICAgcHJpdmF0ZSB0ZXh0YXJlYVR5cGU6IFR5cGU8VGV4dGFyZWFJbnRlcmZhY2U+LFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciQuc3Vic2NyaWJlKFxuICAgICAgICAoY291bnRlcikgPT4ge1xuICAgICAgICAgIGlmIChjb3VudGVyID09PSAwICYmIHRoaXMuaGlkZU5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5oaWRlTm90aWZpY2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmhpZGVOb3RpZmljYXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKChjaGFubmVsKSA9PiB7XG4gICAgICAgIHRoaXMudGV4dGFyZWFWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLnJlc2V0QXR0YWNobWVudFVwbG9hZHMoKTtcbiAgICAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gY2hhbm5lbD8uZGF0YT8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXTtcbiAgICAgICAgaWYgKGNhcGFiaWxpdGllcykge1xuICAgICAgICAgIHRoaXMuaXNGaWxlVXBsb2FkQXV0aG9yaXplZCA9XG4gICAgICAgICAgICBjYXBhYmlsaXRpZXMuaW5kZXhPZigndXBsb2FkLWZpbGUnKSAhPT0gLTE7XG4gICAgICAgICAgdGhpcy5jYW5TZW5kTGlua3MgPSBjYXBhYmlsaXRpZXMuaW5kZXhPZignc2VuZC1saW5rcycpICE9PSAtMTtcbiAgICAgICAgICB0aGlzLmNhblNlbmRNZXNzYWdlcyA9IGNhcGFiaWxpdGllcy5pbmRleE9mKCdzZW5kLW1lc3NhZ2UnKSAhPT0gLTE7XG4gICAgICAgICAgaWYgKHRoaXMuaXNWaWV3SW5pdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRleHRhcmVhKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2FkcyQgPSB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmF0dGFjaG1lbnRVcGxvYWRzJDtcbiAgICB0aGlzLmlzRmlsZVVwbG9hZEVuYWJsZWQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuaXNGaWxlVXBsb2FkRW5hYmxlZDtcbiAgICB0aGlzLmFjY2VwdGVkRmlsZVR5cGVzID0gdGhpcy5jb25maWdTZXJ2aWNlLmFjY2VwdGVkRmlsZVR5cGVzO1xuICAgIHRoaXMuaXNNdWx0aXBsZUZpbGVVcGxvYWRFbmFibGVkID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5pc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQ7XG4gICAgdGhpcy5hcmVNZW50aW9uc0VuYWJsZWQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuYXJlTWVudGlvbnNFbmFibGVkO1xuICAgIHRoaXMubWVudGlvbkF1dG9jb21wbGV0ZUl0ZW1UZW1wbGF0ZSA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UubWVudGlvbkF1dG9jb21wbGV0ZUl0ZW1UZW1wbGF0ZTtcbiAgICB0aGlzLm1lbnRpb25TY29wZSA9IHRoaXMuY29uZmlnU2VydmljZS5tZW50aW9uU2NvcGU7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1ZpZXdJbml0ZWQgPSB0cnVlO1xuICAgIHRoaXMuaW5pdFRleHRhcmVhKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMubWVzc2FnZSkge1xuICAgICAgdGhpcy5hdHRhY2htZW50U2VydmljZS5yZXNldEF0dGFjaG1lbnRVcGxvYWRzKCk7XG4gICAgICBpZiAodGhpcy5pc1VwZGF0ZSkge1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmNyZWF0ZUZyb21BdHRhY2htZW50cyhcbiAgICAgICAgICB0aGlzLm1lc3NhZ2UhLmF0dGFjaG1lbnRzIHx8IFtdXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFWYWx1ZSA9IHRoaXMubWVzc2FnZSEudGV4dCB8fCAnJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaXNGaWxlVXBsb2FkRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmlzRmlsZVVwbG9hZEVuYWJsZWQgPSB0aGlzLmlzRmlsZVVwbG9hZEVuYWJsZWQ7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmFjY2VwdGVkRmlsZVR5cGVzKSB7XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuYWNjZXB0ZWRGaWxlVHlwZXMgPSB0aGlzLmFjY2VwdGVkRmlsZVR5cGVzO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5pc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5pc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQgPVxuICAgICAgICB0aGlzLmlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZDtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuYXJlTWVudGlvbnNFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuYXJlTWVudGlvbnNFbmFibGVkID0gdGhpcy5hcmVNZW50aW9uc0VuYWJsZWQ7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLm1lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGUpIHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5tZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlID1cbiAgICAgICAgdGhpcy5tZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5tZW50aW9uU2NvcGUpIHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5tZW50aW9uU2NvcGUgPSB0aGlzLm1lbnRpb25TY29wZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGFzeW5jIG1lc3NhZ2VTZW50KCkge1xuICAgIGxldCBhdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIhOiBudW1iZXI7XG4gICAgdGhpcy5hdHRhY2htZW50U2VydmljZS5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIkXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoY291bnRlcikgPT4gKGF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciA9IGNvdW50ZXIpKTtcbiAgICBpZiAoYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyID4gMCkge1xuICAgICAgaWYgKCF0aGlzLmhpZGVOb3RpZmljYXRpb24pIHtcbiAgICAgICAgdGhpcy5oaWRlTm90aWZpY2F0aW9uID1cbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkUGVybWFuZW50Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICAgJ3N0cmVhbUNoYXQuV2FpdCB1bnRpbCBhbGwgYXR0YWNobWVudHMgaGF2ZSB1cGxvYWRlZCdcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBhdHRhY2htZW50cyA9IHRoaXMuYXR0YWNobWVudFNlcnZpY2UubWFwVG9BdHRhY2htZW50cygpO1xuICAgIGNvbnN0IHRleHQgPSB0aGlzLnRleHRhcmVhVmFsdWU7XG4gICAgaWYgKCF0ZXh0ICYmICghYXR0YWNobWVudHMgfHwgYXR0YWNobWVudHMubGVuZ3RoID09PSAwKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb250YWluc0xpbmtzICYmICF0aGlzLmNhblNlbmRMaW5rcykge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgJ3N0cmVhbUNoYXQuU2VuZGluZyBsaW5rcyBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnZlcnNhdGlvbidcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1VwZGF0ZSkge1xuICAgICAgdGhpcy50ZXh0YXJlYVZhbHVlID0gJyc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCAodGhpcy5pc1VwZGF0ZVxuICAgICAgICA/IHRoaXMuY2hhbm5lbFNlcnZpY2UudXBkYXRlTWVzc2FnZSh7XG4gICAgICAgICAgICAuLi50aGlzLm1lc3NhZ2UhLFxuICAgICAgICAgICAgdGV4dDogdGV4dCxcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBhdHRhY2htZW50cyxcbiAgICAgICAgICB9KVxuICAgICAgICA6IHRoaXMuY2hhbm5lbFNlcnZpY2Uuc2VuZE1lc3NhZ2UoXG4gICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgYXR0YWNobWVudHMsXG4gICAgICAgICAgICB0aGlzLm1lbnRpb25lZFVzZXJzXG4gICAgICAgICAgKSk7XG4gICAgICB0aGlzLm1lc3NhZ2VVcGRhdGUuZW1pdCgpO1xuICAgICAgaWYgKCF0aGlzLmlzVXBkYXRlKSB7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudFNlcnZpY2UucmVzZXRBdHRhY2htZW50VXBsb2FkcygpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAodGhpcy5pc1VwZGF0ZSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICdzdHJlYW1DaGF0LkVkaXQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgY29udGFpbnNMaW5rcygpIHtcbiAgICByZXR1cm4gLyg/Oig/Omh0dHBzP3xmdHApOlxcL1xcLyk/W1xcdy9cXC0/PSUuXStcXC5bXFx3L1xcLSY/PSUuXSsvLnRlc3QoXG4gICAgICB0aGlzLnRleHRhcmVhVmFsdWVcbiAgICApO1xuICB9XG5cbiAgZ2V0IGFjY2VwdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRlZEZpbGVUeXBlcyA/IHRoaXMuYWNjZXB0ZWRGaWxlVHlwZXM/LmpvaW4oJywnKSA6ICcnO1xuICB9XG5cbiAgYXN5bmMgZmlsZXNTZWxlY3RlZChmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsKSB7XG4gICAgYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5maWxlc1NlbGVjdGVkKGZpbGVMaXN0KTtcbiAgICB0aGlzLmNsZWFyRmlsZUlucHV0KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRmlsZUlucHV0KCkge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGlzVXBkYXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMubWVzc2FnZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRleHRhcmVhKCkge1xuICAgIGlmICghdGhpcy5jYW5TZW5kTWVzc2FnZXMgfHwgdGhpcy50ZXh0YXJlYVJlZiB8fCAhdGhpcy50ZXh0YXJlYUFuY2hvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID1cbiAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMudGV4dGFyZWFUeXBlKTtcbiAgICB0aGlzLnRleHRhcmVhUmVmID1cbiAgICAgIHRoaXMudGV4dGFyZWFBbmNob3Iudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8YW55PihcbiAgICAgICAgY29tcG9uZW50RmFjdG9yeVxuICAgICAgKTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInN0ci1jaGF0X19pbnB1dC1mbGF0XCJcbiAgW2NsYXNzLnN0ci1jaGF0X19pbnB1dC1mbGF0LWhhcy1hdHRhY2htZW50c109XCJcbiAgICAoYXR0YWNobWVudFVwbG9hZHMkIHwgYXN5bmMpIS5sZW5ndGggPiAwXG4gIFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9faW5wdXQtZmxhdC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19pbnB1dC1mbGF0LS10ZXh0YXJlYS13cmFwcGVyXCI+XG4gICAgICA8c3RyZWFtLWF0dGFjaG1lbnQtcHJldmlldy1saXN0XG4gICAgICAgIGNsYXNzPVwicmZ1LWltYWdlLXByZXZpZXdlci1hbmd1bGFyLWhvc3RcIlxuICAgICAgPjwvc3RyZWFtLWF0dGFjaG1lbnQtcHJldmlldy1saXN0PlxuICAgICAgPGRpdiBjbGFzcz1cInJ0YSBzdHItY2hhdF9fdGV4dGFyZWFcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgKm5nSWY9XCJjYW5TZW5kTWVzc2FnZXM7IGVsc2Ugbm90QWxsb3dlZFwiXG4gICAgICAgICAgc3RyZWFtVGV4dGFyZWFcbiAgICAgICAgICBbKHZhbHVlKV09XCJ0ZXh0YXJlYVZhbHVlXCJcbiAgICAgICAgICAoc2VuZCk9XCJtZXNzYWdlU2VudCgpXCJcbiAgICAgICAgICBbY29tcG9uZW50UmVmXT1cInRleHRhcmVhUmVmXCJcbiAgICAgICAgICAodXNlck1lbnRpb25zKT1cIm1lbnRpb25lZFVzZXJzID0gJGV2ZW50XCJcbiAgICAgICAgICBbYXJlTWVudGlvbnNFbmFibGVkXT1cImFyZU1lbnRpb25zRW5hYmxlZFwiXG4gICAgICAgICAgW21lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGVdPVwibWVudGlvbkF1dG9jb21wbGV0ZUl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgW21lbnRpb25TY29wZV09XCJtZW50aW9uU2NvcGVcIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3RBbGxvd2VkPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgICAgIHJvd3M9XCIxXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgICAgJ3N0cmVhbUNoYXQuWW91IGNhblxcJ3Qgc2VuZCBtZXNzYWdlcyBpbiB0aGlzIGNoYW5uZWwnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgY2xhc3M9XCJydGFfX3RleHRhcmVhIHN0ci1jaGF0X190ZXh0YXJlYV9fdGV4dGFyZWFcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNGaWxlVXBsb2FkRW5hYmxlZCAmJiBpc0ZpbGVVcGxvYWRBdXRob3JpemVkICYmIGNhblNlbmRNZXNzYWdlc1wiXG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2ZpbGV1cGxvYWQtd3JhcHBlclwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiZmlsZS11cGxvYWQtYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X190b29sdGlwXCI+XG4gICAgICAgICAge3sgXCJzdHJlYW1DaGF0LkF0dGFjaCBmaWxlc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmZ1LWZpbGUtdXBsb2FkLWJ1dHRvblwiPlxuICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyZnUtZmlsZS1pbnB1dFwiXG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZmlsZS1pbnB1dFwiXG4gICAgICAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgICAgICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiZmlsZXNTZWxlY3RlZChmaWxlSW5wdXQuZmlsZXMpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ci1jaGF0X19pbnB1dC1mbGF0LWZpbGV1cGxvYWRcIj5cbiAgICAgICAgICAgICAgPHN0cmVhbS1pY29uIGljb249XCJmaWxlLXVwbG9hZFwiPjwvc3RyZWFtLWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cImNhblNlbmRNZXNzYWdlc1wiXG4gICAgICBkYXRhLXRlc3RpZD1cInNlbmQtYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3NlbmQtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJtZXNzYWdlU2VudCgpXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJtZXNzYWdlU2VudCgpXCJcbiAgICA+XG4gICAgICA8c3RyZWFtLWljb24gaWNvbj1cInNlbmRcIj48L3N0cmVhbS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbWVzc2FnZS1pbnB1dC9tZXNzYWdlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHTCxTQUFTLEVBSVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLHFCQUFxQjtJQStCaEMsWUFDVSxjQUE4QixFQUM5QixtQkFBd0MsRUFDeEMsaUJBQW9DLEVBQ3BDLGFBQXdDLEVBRXhDLFlBQXFDLEVBQ3JDLHdCQUFrRCxFQUNsRCxLQUF3QixFQUN4QixVQUE2QjtRQVI3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUV4QyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsNkJB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Q29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU2V0dGluZ3MsIFVzZXJSZXNwb25zZSB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEF0dGFjaG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vYXR0YWNobWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IHRleHRhcmVhSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBBdHRhY2htZW50VXBsb2FkLFxuICBNZW50aW9uQXV0Y29tcGxldGVMaXN0SXRlbUNvbnRleHQsXG4gIFN0cmVhbU1lc3NhZ2UsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE1lc3NhZ2VJbnB1dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21lc3NhZ2UtaW5wdXQtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dGFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL3RleHRhcmVhLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0YXJlYUludGVyZmFjZSB9IGZyb20gJy4vdGV4dGFyZWEuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzSW1hZ2VGaWxlIH0gZnJvbSAnLi4vaXMtaW1hZ2UtZmlsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1tZXNzYWdlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2UtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxuICBwcm92aWRlcnM6IFtBdHRhY2htZW50U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VJbnB1dENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpIGlzRmlsZVVwbG9hZEVuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFyZU1lbnRpb25zRW5hYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVudGlvblNjb3BlOiAnY2hhbm5lbCcgfCAnYXBwbGljYXRpb24nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlOlxuICAgIHwgVGVtcGxhdGVSZWY8TWVudGlvbkF1dGNvbXBsZXRlTGlzdEl0ZW1Db250ZXh0PlxuICAgIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvbWVzc2FnZS1pbnB1dC8jY2F1dGlvbi1hY2NlcHRlZGZpbGV0eXBlc1xuICAgKi9cbiAgQElucHV0KCkgYWNjZXB0ZWRGaWxlVHlwZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2UgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSByZWFkb25seSBtZXNzYWdlVXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBpc0ZpbGVVcGxvYWRBdXRob3JpemVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBjYW5TZW5kTGlua3M6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGNhblNlbmRNZXNzYWdlczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgYXR0YWNobWVudFVwbG9hZHMkOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnRVcGxvYWRbXT47XG4gIHRleHRhcmVhVmFsdWUgPSAnJztcbiAgdGV4dGFyZWFSZWY6IENvbXBvbmVudFJlZjxUZXh0YXJlYUludGVyZmFjZT4gfCB1bmRlZmluZWQ7XG4gIG1lbnRpb25lZFVzZXJzOiBVc2VyUmVzcG9uc2VbXSA9IFtdO1xuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBwcml2YXRlIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoVGV4dGFyZWFEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIHRleHRhcmVhQW5jaG9yITogVGV4dGFyZWFEaXJlY3RpdmU7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBoaWRlTm90aWZpY2F0aW9uOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpc1ZpZXdJbml0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhcHBTZXR0aW5nczogQXBwU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXR0YWNobWVudFNlcnZpY2U6IEF0dGFjaG1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogTWVzc2FnZUlucHV0Q29uZmlnU2VydmljZSxcbiAgICBASW5qZWN0KHRleHRhcmVhSW5qZWN0aW9uVG9rZW4pXG4gICAgcHJpdmF0ZSB0ZXh0YXJlYVR5cGU6IFR5cGU8VGV4dGFyZWFJbnRlcmZhY2U+LFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjaGF0Q2xpZW50OiBDaGF0Q2xpZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuYXR0YWNobWVudFNlcnZpY2UuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyJC5zdWJzY3JpYmUoXG4gICAgICAgIChjb3VudGVyKSA9PiB7XG4gICAgICAgICAgaWYgKGNvdW50ZXIgPT09IDAgJiYgdGhpcy5oaWRlTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVOb3RpZmljYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaGlkZU5vdGlmaWNhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgdGhpcy50ZXh0YXJlYVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudFNlcnZpY2UucmVzZXRBdHRhY2htZW50VXBsb2FkcygpO1xuICAgICAgICBjb25zdCBjYXBhYmlsaXRpZXMgPSBjaGFubmVsPy5kYXRhPy5vd25fY2FwYWJpbGl0aWVzIGFzIHN0cmluZ1tdO1xuICAgICAgICBpZiAoY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgICAgdGhpcy5pc0ZpbGVVcGxvYWRBdXRob3JpemVkID1cbiAgICAgICAgICAgIGNhcGFiaWxpdGllcy5pbmRleE9mKCd1cGxvYWQtZmlsZScpICE9PSAtMTtcbiAgICAgICAgICB0aGlzLmNhblNlbmRMaW5rcyA9IGNhcGFiaWxpdGllcy5pbmRleE9mKCdzZW5kLWxpbmtzJykgIT09IC0xO1xuICAgICAgICAgIHRoaXMuY2FuU2VuZE1lc3NhZ2VzID0gY2FwYWJpbGl0aWVzLmluZGV4T2YoJ3NlbmQtbWVzc2FnZScpICE9PSAtMTtcbiAgICAgICAgICBpZiAodGhpcy5pc1ZpZXdJbml0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5pbml0VGV4dGFyZWEoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhdENsaWVudC5hcHBTZXR0aW5ncyQuc3Vic2NyaWJlKFxuICAgICAgICAoYXBwU2V0dGluZ3MpID0+ICh0aGlzLmFwcFNldHRpbmdzID0gYXBwU2V0dGluZ3MpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzJCA9IHRoaXMuYXR0YWNobWVudFNlcnZpY2UuYXR0YWNobWVudFVwbG9hZHMkO1xuICAgIHRoaXMuaXNGaWxlVXBsb2FkRW5hYmxlZCA9IHRoaXMuY29uZmlnU2VydmljZS5pc0ZpbGVVcGxvYWRFbmFibGVkO1xuICAgIHRoaXMuYWNjZXB0ZWRGaWxlVHlwZXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuYWNjZXB0ZWRGaWxlVHlwZXM7XG4gICAgdGhpcy5pc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWQgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZDtcbiAgICB0aGlzLmFyZU1lbnRpb25zRW5hYmxlZCA9IHRoaXMuY29uZmlnU2VydmljZS5hcmVNZW50aW9uc0VuYWJsZWQ7XG4gICAgdGhpcy5tZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5tZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlO1xuICAgIHRoaXMubWVudGlvblNjb3BlID0gdGhpcy5jb25maWdTZXJ2aWNlLm1lbnRpb25TY29wZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlld0luaXRlZCA9IHRydWU7XG4gICAgdGhpcy5pbml0VGV4dGFyZWEoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5tZXNzYWdlKSB7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLnJlc2V0QXR0YWNobWVudFVwbG9hZHMoKTtcbiAgICAgIGlmICh0aGlzLmlzVXBkYXRlKSB7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudFNlcnZpY2UuY3JlYXRlRnJvbUF0dGFjaG1lbnRzKFxuICAgICAgICAgIHRoaXMubWVzc2FnZSEuYXR0YWNobWVudHMgfHwgW11cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYVZhbHVlID0gdGhpcy5tZXNzYWdlIS50ZXh0IHx8ICcnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5pc0ZpbGVVcGxvYWRFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuaXNGaWxlVXBsb2FkRW5hYmxlZCA9IHRoaXMuaXNGaWxlVXBsb2FkRW5hYmxlZDtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuYWNjZXB0ZWRGaWxlVHlwZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5hY2NlcHRlZEZpbGVUeXBlcyA9IHRoaXMuYWNjZXB0ZWRGaWxlVHlwZXM7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmlzTXVsdGlwbGVGaWxlVXBsb2FkRW5hYmxlZCA9XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZUZpbGVVcGxvYWRFbmFibGVkO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5hcmVNZW50aW9uc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5hcmVNZW50aW9uc0VuYWJsZWQgPSB0aGlzLmFyZU1lbnRpb25zRW5hYmxlZDtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMubWVudGlvbkF1dG9jb21wbGV0ZUl0ZW1UZW1wbGF0ZSkge1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLm1lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGUgPVxuICAgICAgICB0aGlzLm1lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLm1lbnRpb25TY29wZSkge1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLm1lbnRpb25TY29wZSA9IHRoaXMubWVudGlvblNjb3BlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgYXN5bmMgbWVzc2FnZVNlbnQoKSB7XG4gICAgbGV0IGF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciE6IG51bWJlcjtcbiAgICB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciRcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChjb3VudGVyKSA9PiAoYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyID0gY291bnRlcikpO1xuICAgIGlmIChhdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIgPiAwKSB7XG4gICAgICBpZiAoIXRoaXMuaGlkZU5vdGlmaWNhdGlvbikge1xuICAgICAgICB0aGlzLmhpZGVOb3RpZmljYXRpb24gPVxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRQZXJtYW5lbnROb3RpZmljYXRpb24oXG4gICAgICAgICAgICAnc3RyZWFtQ2hhdC5XYWl0IHVudGlsIGFsbCBhdHRhY2htZW50cyBoYXZlIHVwbG9hZGVkJ1xuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGF0dGFjaG1lbnRzID0gdGhpcy5hdHRhY2htZW50U2VydmljZS5tYXBUb0F0dGFjaG1lbnRzKCk7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMudGV4dGFyZWFWYWx1ZTtcbiAgICBpZiAoIXRleHQgJiYgKCFhdHRhY2htZW50cyB8fCBhdHRhY2htZW50cy5sZW5ndGggPT09IDApKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRhaW5zTGlua3MgJiYgIXRoaXMuY2FuU2VuZExpbmtzKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAnc3RyZWFtQ2hhdC5TZW5kaW5nIGxpbmtzIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udmVyc2F0aW9uJ1xuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzVXBkYXRlKSB7XG4gICAgICB0aGlzLnRleHRhcmVhVmFsdWUgPSAnJztcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0ICh0aGlzLmlzVXBkYXRlXG4gICAgICAgID8gdGhpcy5jaGFubmVsU2VydmljZS51cGRhdGVNZXNzYWdlKHtcbiAgICAgICAgICAgIC4uLnRoaXMubWVzc2FnZSEsXG4gICAgICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICAgICAgYXR0YWNobWVudHM6IGF0dGFjaG1lbnRzLFxuICAgICAgICAgIH0pXG4gICAgICAgIDogdGhpcy5jaGFubmVsU2VydmljZS5zZW5kTWVzc2FnZShcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBhdHRhY2htZW50cyxcbiAgICAgICAgICAgIHRoaXMubWVudGlvbmVkVXNlcnNcbiAgICAgICAgICApKTtcbiAgICAgIHRoaXMubWVzc2FnZVVwZGF0ZS5lbWl0KCk7XG4gICAgICBpZiAoIXRoaXMuaXNVcGRhdGUpIHtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50U2VydmljZS5yZXNldEF0dGFjaG1lbnRVcGxvYWRzKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICh0aGlzLmlzVXBkYXRlKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRWRpdCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBjb250YWluc0xpbmtzKCkge1xuICAgIHJldHVybiAvKD86KD86aHR0cHM/fGZ0cCk6XFwvXFwvKT9bXFx3L1xcLT89JS5dK1xcLltcXHcvXFwtJj89JS5dKy8udGVzdChcbiAgICAgIHRoaXMudGV4dGFyZWFWYWx1ZVxuICAgICk7XG4gIH1cblxuICBnZXQgYWNjZXB0KCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VwdGVkRmlsZVR5cGVzID8gdGhpcy5hY2NlcHRlZEZpbGVUeXBlcz8uam9pbignLCcpIDogJyc7XG4gIH1cblxuICBhc3luYyBmaWxlc1NlbGVjdGVkKGZpbGVMaXN0OiBGaWxlTGlzdCB8IG51bGwpIHtcbiAgICBpZiAoIShhd2FpdCB0aGlzLmFyZUF0dGFjaGVtbnRzVmFsaWQoZmlsZUxpc3QpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmZpbGVzU2VsZWN0ZWQoZmlsZUxpc3QpO1xuICAgIHRoaXMuY2xlYXJGaWxlSW5wdXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGaWxlSW5wdXQoKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNVcGRhdGUoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5tZXNzYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0VGV4dGFyZWEoKSB7XG4gICAgaWYgKCF0aGlzLmNhblNlbmRNZXNzYWdlcyB8fCB0aGlzLnRleHRhcmVhUmVmIHx8ICF0aGlzLnRleHRhcmVhQW5jaG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPVxuICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy50ZXh0YXJlYVR5cGUpO1xuICAgIHRoaXMudGV4dGFyZWFSZWYgPVxuICAgICAgdGhpcy50ZXh0YXJlYUFuY2hvci52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxhbnk+KFxuICAgICAgICBjb21wb25lbnRGYWN0b3J5XG4gICAgICApO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhcmVBdHRhY2hlbW50c1ZhbGlkKGZpbGVMaXN0OiBGaWxlTGlzdCB8IG51bGwpIHtcbiAgICBpZiAoIWZpbGVMaXN0IHx8IHRoaXMuYWNjZXB0ZWRGaWxlVHlwZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXBwU2V0dGluZ3MpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5nZXRBcHBTZXR0aW5ncygpO1xuICAgIH1cbiAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgQXJyYXkuZnJvbShmaWxlTGlzdCkuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgbGV0IGhhc0Jsb2NrZWRFeHRlbnNpb246IGJvb2xlYW47XG4gICAgICBsZXQgaGFzQmxvY2tlZE1pbWVUeXBlOiBib29sZWFuO1xuICAgICAgbGV0IGhhc05vdEFsbG93ZWRFeHRlbnNpb246IGJvb2xlYW47XG4gICAgICBsZXQgaGFzTm90QWxsb3dlZE1pbWVUeXBlOiBib29sZWFuO1xuICAgICAgaWYgKGlzSW1hZ2VGaWxlKGYpKSB7XG4gICAgICAgIGhhc0Jsb2NrZWRFeHRlbnNpb24gPVxuICAgICAgICAgICEhdGhpcy5hcHBTZXR0aW5ncz8uaW1hZ2VfdXBsb2FkX2NvbmZpZz8uYmxvY2tlZF9maWxlX2V4dGVuc2lvbnM/LmZpbmQoXG4gICAgICAgICAgICAoZXh0KSA9PiBmLm5hbWUuZW5kc1dpdGgoZXh0KVxuICAgICAgICAgICk7XG4gICAgICAgIGhhc0Jsb2NrZWRNaW1lVHlwZSA9XG4gICAgICAgICAgISF0aGlzLmFwcFNldHRpbmdzPy5pbWFnZV91cGxvYWRfY29uZmlnPy5ibG9ja2VkX21pbWVfdHlwZXM/LmZpbmQoXG4gICAgICAgICAgICAodHlwZSkgPT4gZi50eXBlID09PSB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgaGFzTm90QWxsb3dlZEV4dGVuc2lvbiA9XG4gICAgICAgICAgISF0aGlzLmFwcFNldHRpbmdzPy5pbWFnZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX2ZpbGVfZXh0ZW5zaW9uc1xuICAgICAgICAgICAgPy5sZW5ndGggJiZcbiAgICAgICAgICAhdGhpcy5hcHBTZXR0aW5ncz8uaW1hZ2VfdXBsb2FkX2NvbmZpZz8uYWxsb3dlZF9maWxlX2V4dGVuc2lvbnM/LmZpbmQoXG4gICAgICAgICAgICAoZXh0KSA9PiBmLm5hbWUuZW5kc1dpdGgoZXh0KVxuICAgICAgICAgICk7XG4gICAgICAgIGhhc05vdEFsbG93ZWRNaW1lVHlwZSA9XG4gICAgICAgICAgISF0aGlzLmFwcFNldHRpbmdzPy5pbWFnZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX21pbWVfdHlwZXM/Lmxlbmd0aCAmJlxuICAgICAgICAgICF0aGlzLmFwcFNldHRpbmdzPy5pbWFnZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX21pbWVfdHlwZXM/LmZpbmQoXG4gICAgICAgICAgICAodHlwZSkgPT4gZi50eXBlID09PSB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhhc0Jsb2NrZWRFeHRlbnNpb24gPVxuICAgICAgICAgICEhdGhpcy5hcHBTZXR0aW5ncz8uZmlsZV91cGxvYWRfY29uZmlnPy5ibG9ja2VkX2ZpbGVfZXh0ZW5zaW9ucz8uZmluZChcbiAgICAgICAgICAgIChleHQpID0+IGYubmFtZS5lbmRzV2l0aChleHQpXG4gICAgICAgICAgKTtcbiAgICAgICAgaGFzQmxvY2tlZE1pbWVUeXBlID1cbiAgICAgICAgICAhIXRoaXMuYXBwU2V0dGluZ3M/LmZpbGVfdXBsb2FkX2NvbmZpZz8uYmxvY2tlZF9taW1lX3R5cGVzPy5maW5kKFxuICAgICAgICAgICAgKHR5cGUpID0+IGYudHlwZSA9PT0gdHlwZVxuICAgICAgICAgICk7XG4gICAgICAgIGhhc05vdEFsbG93ZWRFeHRlbnNpb24gPVxuICAgICAgICAgICEhdGhpcy5hcHBTZXR0aW5ncz8uZmlsZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX2ZpbGVfZXh0ZW5zaW9uc1xuICAgICAgICAgICAgPy5sZW5ndGggJiZcbiAgICAgICAgICAhdGhpcy5hcHBTZXR0aW5ncz8uZmlsZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX2ZpbGVfZXh0ZW5zaW9ucz8uZmluZChcbiAgICAgICAgICAgIChleHQpID0+IGYubmFtZS5lbmRzV2l0aChleHQpXG4gICAgICAgICAgKTtcbiAgICAgICAgaGFzTm90QWxsb3dlZE1pbWVUeXBlID1cbiAgICAgICAgICAhIXRoaXMuYXBwU2V0dGluZ3M/LmZpbGVfdXBsb2FkX2NvbmZpZz8uYWxsb3dlZF9taW1lX3R5cGVzPy5sZW5ndGggJiZcbiAgICAgICAgICAhdGhpcy5hcHBTZXR0aW5ncz8uZmlsZV91cGxvYWRfY29uZmlnPy5hbGxvd2VkX21pbWVfdHlwZXM/LmZpbmQoXG4gICAgICAgICAgICAodHlwZSkgPT4gZi50eXBlID09PSB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgaGFzQmxvY2tlZEV4dGVuc2lvbiB8fFxuICAgICAgICBoYXNCbG9ja2VkTWltZVR5cGUgfHxcbiAgICAgICAgaGFzTm90QWxsb3dlZEV4dGVuc2lvbiB8fFxuICAgICAgICBoYXNOb3RBbGxvd2VkTWltZVR5cGVcbiAgICAgICkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICdzdHJlYW1DaGF0LlVuc3VwcG9ydGVkIGZpbGUgdHlwZToge3t0eXBlfX0nLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgeyB0eXBlOiBmLnR5cGUgfVxuICAgICAgICApO1xuICAgICAgICBpc1ZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlzVmFsaWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJzdHItY2hhdF9faW5wdXQtZmxhdFwiXG4gIFtjbGFzcy5zdHItY2hhdF9faW5wdXQtZmxhdC1oYXMtYXR0YWNobWVudHNdPVwiXG4gICAgKGF0dGFjaG1lbnRVcGxvYWRzJCB8IGFzeW5jKSEubGVuZ3RoID4gMFxuICBcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2lucHV0LWZsYXQtd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9faW5wdXQtZmxhdC0tdGV4dGFyZWEtd3JhcHBlclwiPlxuICAgICAgPHN0cmVhbS1hdHRhY2htZW50LXByZXZpZXctbGlzdFxuICAgICAgICBjbGFzcz1cInJmdS1pbWFnZS1wcmV2aWV3ZXItYW5ndWxhci1ob3N0XCJcbiAgICAgID48L3N0cmVhbS1hdHRhY2htZW50LXByZXZpZXctbGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJydGEgc3RyLWNoYXRfX3RleHRhcmVhXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICpuZ0lmPVwiY2FuU2VuZE1lc3NhZ2VzOyBlbHNlIG5vdEFsbG93ZWRcIlxuICAgICAgICAgIHN0cmVhbVRleHRhcmVhXG4gICAgICAgICAgWyh2YWx1ZSldPVwidGV4dGFyZWFWYWx1ZVwiXG4gICAgICAgICAgKHNlbmQpPVwibWVzc2FnZVNlbnQoKVwiXG4gICAgICAgICAgW2NvbXBvbmVudFJlZl09XCJ0ZXh0YXJlYVJlZlwiXG4gICAgICAgICAgKHVzZXJNZW50aW9ucyk9XCJtZW50aW9uZWRVc2VycyA9ICRldmVudFwiXG4gICAgICAgICAgW2FyZU1lbnRpb25zRW5hYmxlZF09XCJhcmVNZW50aW9uc0VuYWJsZWRcIlxuICAgICAgICAgIFttZW50aW9uQXV0b2NvbXBsZXRlSXRlbVRlbXBsYXRlXT1cIm1lbnRpb25BdXRvY29tcGxldGVJdGVtVGVtcGxhdGVcIlxuICAgICAgICAgIFttZW50aW9uU2NvcGVdPVwibWVudGlvblNjb3BlXCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90QWxsb3dlZD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGRpc2FibGVkXG4gICAgICAgICAgICByb3dzPVwiMVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiXG4gICAgICAgICAgICAgICdzdHJlYW1DaGF0LllvdSBjYW5cXCd0IHNlbmQgbWVzc2FnZXMgaW4gdGhpcyBjaGFubmVsJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwicnRhX190ZXh0YXJlYSBzdHItY2hhdF9fdGV4dGFyZWFfX3RleHRhcmVhXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlzRmlsZVVwbG9hZEVuYWJsZWQgJiYgaXNGaWxlVXBsb2FkQXV0aG9yaXplZCAmJiBjYW5TZW5kTWVzc2FnZXNcIlxuICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19maWxldXBsb2FkLXdyYXBwZXJcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImZpbGUtdXBsb2FkLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fdG9vbHRpcFwiPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5BdHRhY2ggZmlsZXNcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJmdS1maWxlLXVwbG9hZC1idXR0b25cIj5cbiAgICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgI2ZpbGVJbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicmZ1LWZpbGUtaW5wdXRcIlxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImZpbGUtaW5wdXRcIlxuICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAgIFttdWx0aXBsZV09XCJpc011bHRpcGxlRmlsZVVwbG9hZEVuYWJsZWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImZpbGVzU2VsZWN0ZWQoZmlsZUlucHV0LmZpbGVzKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdHItY2hhdF9faW5wdXQtZmxhdC1maWxldXBsb2FkXCI+XG4gICAgICAgICAgICAgIDxzdHJlYW0taWNvbiBpY29uPVwiZmlsZS11cGxvYWRcIj48L3N0cmVhbS1pY29uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJjYW5TZW5kTWVzc2FnZXNcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJzZW5kLWJ1dHRvblwiXG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19zZW5kLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwibWVzc2FnZVNlbnQoKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwibWVzc2FnZVNlbnQoKVwiXG4gICAgPlxuICAgICAgPHN0cmVhbS1pY29uIGljb249XCJzZW5kXCI+PC9zdHJlYW0taWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==

@@ -17,3 +17,3 @@ import { Component } from '@angular/core';

NotificationListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: NotificationListComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
NotificationListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: NotificationListComponent, selector: "stream-notification-list", ngImport: i0, template: "<div class=\"str-chat__list-notifications\">\n <stream-notification\n *ngFor=\"let notification of notifications$ | async; trackBy: trackByItem\"\n [type]=\"notification.type\"\n ><div data-testclass=\"notification-content\" translate>\n {{ notification.text }}\n </div></stream-notification\n >\n</div>\n", components: [{ type: i2.NotificationComponent, selector: "stream-notification", inputs: ["type"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "async": i3.AsyncPipe } });
NotificationListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: NotificationListComponent, selector: "stream-notification-list", ngImport: i0, template: "<div class=\"str-chat__list-notifications\">\n <stream-notification\n *ngFor=\"let notification of notifications$ | async; trackBy: trackByItem\"\n [type]=\"notification.type\"\n ><div data-testclass=\"notification-content\">\n {{ notification.text | translate: notification.translateParams }}\n </div></stream-notification\n >\n</div>\n", components: [{ type: i2.NotificationComponent, selector: "stream-notification", inputs: ["type"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: NotificationListComponent, decorators: [{

@@ -27,2 +27,2 @@ type: Component,

}], ctorParameters: function () { return [{ type: i1.NotificationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL25vdGlmaWNhdGlvbi1saXN0L25vdGlmaWNhdGlvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9ub3RpZmljYXRpb24tbGlzdC9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFZMUMsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFTLEVBQUUsSUFBeUI7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztzSEFUVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixnRUNadEMsc1VBU0E7MkZER2EseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25QYXlsb2FkLFxuICBOb3RpZmljYXRpb25TZXJ2aWNlLFxufSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1ub3RpZmljYXRpb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkxpc3RDb21wb25lbnQge1xuICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25QYXlsb2FkW10+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQ7XG4gIH1cblxuICB0cmFja0J5SXRlbShfOiBudW1iZXIsIGl0ZW06IE5vdGlmaWNhdGlvblBheWxvYWQpIHtcbiAgICByZXR1cm4gaXRlbTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0ci1jaGF0X19saXN0LW5vdGlmaWNhdGlvbnNcIj5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb25cbiAgICAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcbiAgICBbdHlwZV09XCJub3RpZmljYXRpb24udHlwZVwiXG4gICAgPjxkaXYgZGF0YS10ZXN0Y2xhc3M9XCJub3RpZmljYXRpb24tY29udGVudFwiIHRyYW5zbGF0ZT5cbiAgICAgIHt7IG5vdGlmaWNhdGlvbi50ZXh0IH19XG4gICAgPC9kaXY+PC9zdHJlYW0tbm90aWZpY2F0aW9uXG4gID5cbjwvZGl2PlxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL25vdGlmaWNhdGlvbi1saXN0L25vdGlmaWNhdGlvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9ub3RpZmljYXRpb24tbGlzdC9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFZMUMsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFTLEVBQUUsSUFBeUI7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztzSEFUVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixnRUNadEMsc1dBU0E7MkZER2EseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25QYXlsb2FkLFxuICBOb3RpZmljYXRpb25TZXJ2aWNlLFxufSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1ub3RpZmljYXRpb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkxpc3RDb21wb25lbnQge1xuICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25QYXlsb2FkW10+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQ7XG4gIH1cblxuICB0cmFja0J5SXRlbShfOiBudW1iZXIsIGl0ZW06IE5vdGlmaWNhdGlvblBheWxvYWQpIHtcbiAgICByZXR1cm4gaXRlbTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0ci1jaGF0X19saXN0LW5vdGlmaWNhdGlvbnNcIj5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb25cbiAgICAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcbiAgICBbdHlwZV09XCJub3RpZmljYXRpb24udHlwZVwiXG4gICAgPjxkaXYgZGF0YS10ZXN0Y2xhc3M9XCJub3RpZmljYXRpb24tY29udGVudFwiPlxuICAgICAge3sgbm90aWZpY2F0aW9uLnRleHQgfCB0cmFuc2xhdGU6IG5vdGlmaWNhdGlvbi50cmFuc2xhdGVQYXJhbXMgfX1cbiAgICA8L2Rpdj48L3N0cmVhbS1ub3RpZmljYXRpb25cbiAgPlxuPC9kaXY+XG4iXX0=

@@ -9,4 +9,4 @@ import { Injectable } from '@angular/core';

}
addTemporaryNotification(text, type = 'error', timeout = 5000) {
this.addNotification(text, type);
addTemporaryNotification(text, type = 'error', timeout = 5000, translateParams) {
this.addNotification(text, type, translateParams);
const id = setTimeout(() => this.removeNotification(text), timeout);

@@ -18,10 +18,10 @@ return () => {

}
addPermanentNotification(text, type = 'error') {
this.addNotification(text, type);
addPermanentNotification(text, type = 'error', translateParams) {
this.addNotification(text, type, translateParams);
return () => this.removeNotification(text);
}
addNotification(text, type) {
addNotification(text, type, translateParams) {
this.notificationsSubject.next([
...this.notificationsSubject.getValue(),
{ text, type },
{ text, type, translateParams },
]);

@@ -47,2 +47,2 @@ }

}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVluRCxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBRlEseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBRzVFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCx3QkFBd0IsQ0FDdEIsSUFBWSxFQUNaLE9BQXlCLE9BQU8sRUFDaEMsVUFBa0IsSUFBSTtRQUV0QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sR0FBRyxFQUFFO1lBQ1YsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsd0JBQXdCLENBQUMsSUFBWSxFQUFFLE9BQXlCLE9BQU87UUFDckUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFZLEVBQUUsSUFBc0I7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUM3QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUU7WUFDdkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBQ0QsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztnSEEzQ1UsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InO1xuXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlO1xuICB0ZXh0OiBzdHJpbmc7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gIG5vdGlmaWNhdGlvbnMkOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblBheWxvYWRbXT47XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vdGlmaWNhdGlvblBheWxvYWRbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyQgPSB0aGlzLm5vdGlmaWNhdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB0eXBlOiBOb3RpZmljYXRpb25UeXBlID0gJ2Vycm9yJyxcbiAgICB0aW1lb3V0OiBudW1iZXIgPSA1MDAwXG4gICkge1xuICAgIHRoaXMuYWRkTm90aWZpY2F0aW9uKHRleHQsIHR5cGUpO1xuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZU5vdGlmaWNhdGlvbih0ZXh0KSwgdGltZW91dCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgIHRoaXMucmVtb3ZlTm90aWZpY2F0aW9uKHRleHQpO1xuICAgIH07XG4gIH1cblxuICBhZGRQZXJtYW5lbnROb3RpZmljYXRpb24odGV4dDogc3RyaW5nLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlID0gJ2Vycm9yJykge1xuICAgIHRoaXMuYWRkTm90aWZpY2F0aW9uKHRleHQsIHR5cGUpO1xuXG4gICAgcmV0dXJuICgpID0+IHRoaXMucmVtb3ZlTm90aWZpY2F0aW9uKHRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGROb3RpZmljYXRpb24odGV4dDogc3RyaW5nLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zU3ViamVjdC5uZXh0KFtcbiAgICAgIC4uLnRoaXMubm90aWZpY2F0aW9uc1N1YmplY3QuZ2V0VmFsdWUoKSxcbiAgICAgIHsgdGV4dCwgdHlwZSB9LFxuICAgIF0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVOb3RpZmljYXRpb24odGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3Qgbm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9uc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBpbmRleCA9IG5vdGlmaWNhdGlvbnMuZmluZEluZGV4KChuKSA9PiBuLnRleHQgPT09IHRleHQpO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbm90aWZpY2F0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uc1N1YmplY3QubmV4dChbLi4ubm90aWZpY2F0aW9uc10pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQWFuRCxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBRlEseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBRzVFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCx3QkFBd0IsQ0FDdEIsSUFBWSxFQUNaLE9BQXlCLE9BQU8sRUFDaEMsVUFBa0IsSUFBSSxFQUN0QixlQUF3QjtRQUV4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEQsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRSxPQUFPLEdBQUcsRUFBRTtZQUNWLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUN0QixJQUFZLEVBQ1osT0FBeUIsT0FBTyxFQUNoQyxlQUF3QjtRQUV4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFbEQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGVBQWUsQ0FDckIsSUFBWSxFQUNaLElBQXNCLEVBQ3RCLGVBQXdCO1FBRXhCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFO1lBQ3ZDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBQ0QsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztnSEFwRFUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InO1xuXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHRyYW5zbGF0ZVBhcmFtcz86IE9iamVjdDtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgbm90aWZpY2F0aW9ucyQ6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUGF5bG9hZFtdPjtcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uUGF5bG9hZFtdPihbXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zJCA9IHRoaXMubm90aWZpY2F0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUgPSAnZXJyb3InLFxuICAgIHRpbWVvdXQ6IG51bWJlciA9IDUwMDAsXG4gICAgdHJhbnNsYXRlUGFyYW1zPzogT2JqZWN0XG4gICkge1xuICAgIHRoaXMuYWRkTm90aWZpY2F0aW9uKHRleHQsIHR5cGUsIHRyYW5zbGF0ZVBhcmFtcyk7XG4gICAgY29uc3QgaWQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVtb3ZlTm90aWZpY2F0aW9uKHRleHQpLCB0aW1lb3V0KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQoaWQpO1xuICAgICAgdGhpcy5yZW1vdmVOb3RpZmljYXRpb24odGV4dCk7XG4gICAgfTtcbiAgfVxuXG4gIGFkZFBlcm1hbmVudE5vdGlmaWNhdGlvbihcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdHlwZTogTm90aWZpY2F0aW9uVHlwZSA9ICdlcnJvcicsXG4gICAgdHJhbnNsYXRlUGFyYW1zPzogT2JqZWN0XG4gICkge1xuICAgIHRoaXMuYWRkTm90aWZpY2F0aW9uKHRleHQsIHR5cGUsIHRyYW5zbGF0ZVBhcmFtcyk7XG5cbiAgICByZXR1cm4gKCkgPT4gdGhpcy5yZW1vdmVOb3RpZmljYXRpb24odGV4dCk7XG4gIH1cblxuICBwcml2YXRlIGFkZE5vdGlmaWNhdGlvbihcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdHlwZTogTm90aWZpY2F0aW9uVHlwZSxcbiAgICB0cmFuc2xhdGVQYXJhbXM/OiBPYmplY3RcbiAgKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zU3ViamVjdC5uZXh0KFtcbiAgICAgIC4uLnRoaXMubm90aWZpY2F0aW9uc1N1YmplY3QuZ2V0VmFsdWUoKSxcbiAgICAgIHsgdGV4dCwgdHlwZSwgdHJhbnNsYXRlUGFyYW1zIH0sXG4gICAgXSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU5vdGlmaWNhdGlvbih0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBub3RpZmljYXRpb25zID0gdGhpcy5ub3RpZmljYXRpb25zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gbm90aWZpY2F0aW9ucy5maW5kSW5kZXgoKG4pID0+IG4udGV4dCA9PT0gdGV4dCk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBub3RpZmljYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zU3ViamVjdC5uZXh0KFsuLi5ub3RpZmljYXRpb25zXSk7XG4gIH1cbn1cbiJdfQ==

@@ -38,2 +38,3 @@ /*

export * from './lib/is-image-attachment';
export * from './lib/is-image-file';
export * from './lib/device-width';

@@ -49,2 +50,2 @@ export * from './lib/message-preview';

export * from './lib/types';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc3RyZWFtLWNoYXQtYW5ndWxhclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXR0YWNobWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0cmVhbS1pMThuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLWluZGljYXRvci9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1hY3Rpb25zLWJveC9tZXNzYWdlLWFjdGlvbnMtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsL2NoYW5uZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LXRvZ2dsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS9wYXJzZS1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UvcmVhZC1ieS10ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvbWVzc2FnZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC9hdXRvY29tcGxldGUtdGV4dGFyZWEvYXV0b2NvbXBsZXRlLXRleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQtY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC90ZXh0YXJlYS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC90ZXh0YXJlYS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1saXN0L21lc3NhZ2UtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1saXN0L2ltYWdlLWxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWxpc3QvZ3JvdXAtc3R5bGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F0dGFjaG1lbnQtbGlzdC9hdHRhY2htZW50LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F0dGFjaG1lbnQtcHJldmlldy1saXN0L2F0dGFjaG1lbnQtcHJldmlldy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLXJlYWN0aW9ucy9tZXNzYWdlLXJlYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLWxpc3Qvbm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWFkLWJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGV2aWNlLXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xpdGVyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdHJlYW0tY2hhdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLXRleHRhcmVhLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzdHJlYW0tY2hhdC1hbmd1bGFyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhdC1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGhlbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdHRhY2htZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWkxOG4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRpbmctaW5kaWNhdG9yL2xvYWRpbmctaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWFjdGlvbnMtYm94L21lc3NhZ2UtYWN0aW9ucy1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwvY2hhbm5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC1oZWFkZXIvY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwtcHJldmlldy9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QtdG9nZ2xlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL3BhcnNlLWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS9yZWFkLWJ5LXRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC9tZXNzYWdlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L2F1dG9jb21wbGV0ZS10ZXh0YXJlYS9hdXRvY29tcGxldGUtdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvbWVzc2FnZS1pbnB1dC1jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L3RleHRhcmVhLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L3RleHRhcmVhLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWxpc3QvaW1hZ2UtbG9hZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtbGlzdC9ncm91cC1zdHlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXR0YWNobWVudC1saXN0L2F0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXR0YWNobWVudC1wcmV2aWV3LWxpc3QvYXR0YWNobWVudC1wcmV2aWV3LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtcmVhY3Rpb25zL21lc3NhZ2UtcmVhY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24tbGlzdC9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWQtYnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaXMtaW1hZ2UtYXR0YWNobWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pcy1pbWFnZS1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZS13aWR0aCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLXByZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsaXRlcmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWNoYXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0cmVhbS1hdmF0YXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0cmVhbS1hdXRvY29tcGxldGUtdGV4dGFyZWEubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0cmVhbS10ZXh0YXJlYS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5qZWN0aW9uLXRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=
import { ApplicationRef, NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { Event, StreamChat } from 'stream-chat';
import { AppSettings, Event, StreamChat } from 'stream-chat';
import { NotificationService } from './notification.service';

@@ -16,7 +16,10 @@ import * as i0 from "@angular/core";

notification$: Observable<Notification>;
appSettings$: Observable<AppSettings | undefined>;
connectionState$: Observable<'offline' | 'online'>;
private notificationSubject;
private connectionStateSubject;
private appSettingsSubject;
constructor(ngZone: NgZone, appRef: ApplicationRef, notificationService: NotificationService);
init(apiKey: string, userId: string, userToken: string): Promise<void>;
getAppSettings(): Promise<void>;
flagMessage(messageId: string): Promise<void>;

@@ -23,0 +26,0 @@ autocompleteUsers(searchTerm: string): Promise<import("stream-chat").UserResponse<import("stream-chat").UnknownType>[]>;

@@ -8,2 +8,5 @@ import { TemplateRef } from '@angular/core';

mentionAutocompleteItemTemplate: TemplateRef<MentionAutcompleteListItemContext> | undefined;
/**
* @deprecated https://getstream.io/chat/docs/sdk/angular/services/message-input-config/#overview
*/
acceptedFileTypes: string[] | undefined;

@@ -10,0 +13,0 @@ isMultipleFileUploadEnabled: boolean | undefined;

import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type } from '@angular/core';
import { ChatClientService } from '../chat-client.service';
import { Observable } from 'rxjs';

@@ -19,2 +20,3 @@ import { UserResponse } from 'stream-chat';

private cdRef;
private chatClient;
isFileUploadEnabled: boolean | undefined;

@@ -24,2 +26,5 @@ areMentionsEnabled: boolean | undefined;

mentionAutocompleteItemTemplate: TemplateRef<MentionAutcompleteListItemContext> | undefined;
/**
* @deprecated https://getstream.io/chat/docs/sdk/angular/components/message-input/#caution-acceptedfiletypes
*/
acceptedFileTypes: string[] | undefined;

@@ -41,3 +46,4 @@ isMultipleFileUploadEnabled: boolean | undefined;

private isViewInited;
constructor(channelService: ChannelService, notificationService: NotificationService, attachmentService: AttachmentService, configService: MessageInputConfigService, textareaType: Type<TextareaInterface>, componentFactoryResolver: ComponentFactoryResolver, cdRef: ChangeDetectorRef);
private appSettings;
constructor(channelService: ChannelService, notificationService: NotificationService, attachmentService: AttachmentService, configService: MessageInputConfigService, textareaType: Type<TextareaInterface>, componentFactoryResolver: ComponentFactoryResolver, cdRef: ChangeDetectorRef, chatClient: ChatClientService);
ngAfterViewInit(): void;

@@ -53,4 +59,5 @@ ngOnChanges(changes: SimpleChanges): void;

private initTextarea;
private areAttachemntsValid;
static ɵfac: i0.ɵɵFactoryDeclaration<MessageInputComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "stream-message-input", never, { "isFileUploadEnabled": "isFileUploadEnabled"; "areMentionsEnabled": "areMentionsEnabled"; "mentionScope": "mentionScope"; "mentionAutocompleteItemTemplate": "mentionAutocompleteItemTemplate"; "acceptedFileTypes": "acceptedFileTypes"; "isMultipleFileUploadEnabled": "isMultipleFileUploadEnabled"; "message": "message"; }, { "messageUpdate": "messageUpdate"; }, never, never>;
}

@@ -7,2 +7,3 @@ import { Observable } from 'rxjs';

text: string;
translateParams?: Object;
};

@@ -13,4 +14,4 @@ export declare class NotificationService {

constructor();
addTemporaryNotification(text: string, type?: NotificationType, timeout?: number): () => void;
addPermanentNotification(text: string, type?: NotificationType): () => void;
addTemporaryNotification(text: string, type?: NotificationType, timeout?: number, translateParams?: Object): () => void;
addPermanentNotification(text: string, type?: NotificationType, translateParams?: Object): () => void;
private addNotification;

@@ -17,0 +18,0 @@ private removeNotification;

{
"name": "stream-chat-angular",
"version": "2.5.1",
"version": "2.6.0",
"description": "Angular components to create chat conversations or livestream style chat",

@@ -5,0 +5,0 @@ "author": "GetStream",

@@ -35,2 +35,3 @@ export * from './lib/chat-client.service';

export * from './lib/is-image-attachment';
export * from './lib/is-image-file';
export * from './lib/device-width';

@@ -37,0 +38,0 @@ export * from './lib/message-preview';

@@ -12,3 +12,3 @@ # Official Angular SDK for [Stream Chat](https://getstream.io/chat/sdk/react/)

- [Register](https://getstream.io/chat/trial/) to get an API key for Stream Chat
- [Angular Chat Tutorial](https://getstream.io/tutorials/angular-chat/)
- [Angular Chat Tutorial](https://getstream.io/chat/angular/tutorial/)
- [Demo Apps](https://getstream.io/chat/demos/)

@@ -27,3 +27,3 @@ - [Docs](https://getstream.io/chat/docs/sdk/angular/)

The best way to get started is to follow the [Angular Chat Tutorial](https://getstream.io/tutorials/angular-chat/). It shows you how to use this SDK to build a fully functional chat application and includes common customizations.
The best way to get started is to follow the [Angular Chat Tutorial](https://getstream.io/chat/angular/tutorial/). It shows you how to use this SDK to build a fully functional chat application and includes common customizations.

@@ -30,0 +30,0 @@ ## Free for Makers

@@ -93,3 +93,4 @@ export const en = {

"You can't send messages in this channel",
'Unsupported file type: {{type}}': 'Unsupported file type: {{type}}',
},
};

@@ -1,1 +0,1 @@

export const version = '2.5.1';
export const version = '2.6.0';

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc