UNPKG

15.1 kBJavaScriptView Raw
1import { __extends } from "tslib";
2import { Injectable } from '@angular/core';
3import { IonicNativePlugin, instanceAvailability, cordovaInstance, checkAvailability } from '@ionic-native/core';
4var FileTransfer = /** @class */ (function (_super) {
5 __extends(FileTransfer, _super);
6 function FileTransfer() {
7 var _this = _super !== null && _super.apply(this, arguments) || this;
8 /**
9 * Error code rejected from upload with FileTransferError
10 * Defined in FileTransferError.
11 * FILE_NOT_FOUND_ERR: 1 Return when file was not found
12 * INVALID_URL_ERR: 2, Return when url was invalid
13 * CONNECTION_ERR: 3, Return on connection error
14 * ABORT_ERR: 4, Return on aborting
15 * NOT_MODIFIED_ERR: 5 Return on '304 Not Modified' HTTP response
16 * @enum {number}
17 */
18 _this.FileTransferErrorCode = {
19 FILE_NOT_FOUND_ERR: 1,
20 INVALID_URL_ERR: 2,
21 CONNECTION_ERR: 3,
22 ABORT_ERR: 4,
23 NOT_MODIFIED_ERR: 5,
24 };
25 return _this;
26 }
27 /**
28 * Creates a new FileTransfer object
29 * @return {FileTransferObject}
30 */
31 FileTransfer.prototype.create = function () {
32 return new FileTransferObject();
33 };
34 FileTransfer.pluginName = "FileTransfer";
35 FileTransfer.plugin = "cordova-plugin-file-transfer";
36 FileTransfer.pluginRef = "FileTransfer";
37 FileTransfer.repo = "https://github.com/apache/cordova-plugin-file-transfer";
38 FileTransfer.platforms = ["Amazon Fire OS", "Android", "Browser", "iOS", "Ubuntu", "Windows", "Windows Phone"];
39 FileTransfer.decorators = [
40 { type: Injectable }
41 ];
42 return FileTransfer;
43}(IonicNativePlugin));
44export { FileTransfer };
45var FileTransferObject = /** @class */ (function () {
46 function FileTransferObject() {
47 if (checkAvailability(FileTransfer.getPluginRef(), null, FileTransfer.getPluginName()) === true) {
48 this._objectInstance = new (FileTransfer.getPlugin())();
49 }
50 }
51 FileTransferObject.prototype.upload = function (fileUrl, url, options, trustAllHosts) { return cordovaInstance(this, "upload", { "successIndex": 2, "errorIndex": 3 }, arguments); };
52 FileTransferObject.prototype.download = function (source, target, trustAllHosts, options) { return cordovaInstance(this, "download", { "successIndex": 2, "errorIndex": 3 }, arguments); };
53 FileTransferObject.prototype.onProgress = function (listener) {
54 var _this = this;
55 return (function () {
56 if (instanceAvailability(_this) === true) {
57 _this._objectInstance.onprogress = listener;
58 }
59 })();
60 };
61 FileTransferObject.prototype.abort = function () { return cordovaInstance(this, "abort", { "sync": true }, arguments); };
62 FileTransferObject.plugin = "cordova-plugin-file-transfer";
63 FileTransferObject.pluginName = "FileTransfer";
64 return FileTransferObject;
65}());
66export { FileTransferObject };
67//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2ZpbGUtdHJhbnNmZXIvbmd4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sNERBQTZELGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0lBNktoRixnQ0FBaUI7OztRQUNqRDs7Ozs7Ozs7O1dBU0c7UUFDSCwyQkFBcUIsR0FBRztZQUN0QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsQ0FBQztTQUNwQixDQUFDOzs7SUFFRjs7O09BR0c7SUFDSCw2QkFBTSxHQUFOO1FBQ0UsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQzs7Ozs7OztnQkExQkYsVUFBVTs7dUJBN0tYO0VBOEtrQyxpQkFBaUI7U0FBdEMsWUFBWTs7SUFzQ3ZCO1FBQ0UsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUMvRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQWVELG1DQUFNLGFBQ0osT0FBZSxFQUNmLEdBQVcsRUFDWCxPQUEyQixFQUMzQixhQUF1QjtJQWtCekIscUNBQVEsYUFBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLGFBQXVCLEVBQUUsT0FBOEI7SUFTaEcsdUNBQVUsYUFBQyxRQUF1Qzs7O3NEQUFRO2dCQUN4RCxLQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7YUFDNUM7OztJQVNELGtDQUFLOzs7NkJBalJQOztTQWlOYSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Jkb3ZhSW5zdGFuY2UsIEluc3RhbmNlQ2hlY2ssIElvbmljTmF0aXZlUGx1Z2luLCBQbHVnaW4sIGNoZWNrQXZhaWxhYmlsaXR5IH0gZnJvbSAnQGlvbmljLW5hdGl2ZS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlVXBsb2FkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50LlxuICAgKiBEZWZhdWx0cyB0byAnZmlsZScuXG4gICAqL1xuICBmaWxlS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSBuYW1lIHRvIHVzZSB3aGVuIHNhdmluZyB0aGUgZmlsZSBvbiB0aGUgc2VydmVyLlxuICAgKiBEZWZhdWx0cyB0byAnaW1hZ2UuanBnJy5cbiAgICovXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBtZXRob2QgdG8gdXNlIC0gZWl0aGVyIFBVVCBvciBQT1NULlxuICAgKiBEZWZhdWx0cyB0byBQT1NULlxuICAgKi9cbiAgaHR0cE1ldGhvZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1pbWUgdHlwZSBvZiB0aGUgZGF0YSB0byB1cGxvYWQuXG4gICAqIERlZmF1bHRzIHRvIGltYWdlL2pwZWcuXG4gICAqL1xuICBtaW1lVHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBzZXQgb2Ygb3B0aW9uYWwga2V5L3ZhbHVlIHBhaXJzIHRvIHBhc3MgaW4gdGhlIEhUVFAgcmVxdWVzdC5cbiAgICovXG4gIHBhcmFtcz86IHsgW3M6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVwbG9hZCB0aGUgZGF0YSBpbiBjaHVua2VkIHN0cmVhbWluZyBtb2RlLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgY2h1bmtlZE1vZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBoZWFkZXIgbmFtZS9oZWFkZXIgdmFsdWVzLiBVc2UgYW4gYXJyYXkgdG8gc3BlY2lmeSBtb3JlXG4gICAqIHRoYW4gb25lIHZhbHVlLiBPbiBpT1MsIEZpcmVPUywgYW5kIEFuZHJvaWQsIGlmIGEgaGVhZGVyIG5hbWVkXG4gICAqIENvbnRlbnQtVHlwZSBpcyBwcmVzZW50LCBtdWx0aXBhcnQgZm9ybSBkYXRhIHdpbGwgTk9UIGJlIHVzZWQuXG4gICAqL1xuICBoZWFkZXJzPzogeyBbczogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZFJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHNlbnQgdG8gdGhlIHNlcnZlciBhcyBwYXJ0IG9mIHRoZSB1cGxvYWQuXG4gICAqL1xuICBieXRlc1NlbnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIEhUVFAgcmVzcG9uc2UgY29kZSByZXR1cm5lZCBieSB0aGUgc2VydmVyLlxuICAgKi9cbiAgcmVzcG9uc2VDb2RlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIHJlc3BvbnNlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gICAqL1xuICByZXNwb25zZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCByZXNwb25zZSBoZWFkZXJzIGJ5IHRoZSBzZXJ2ZXIuXG4gICAqL1xuICBoZWFkZXJzOiB7IFtzOiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlVHJhbnNmZXJFcnJvciB7XG4gIC8qKlxuICAgKiBPbmUgb2YgdGhlIHByZWRlZmluZWQgZXJyb3IgY29kZXMgbGlzdGVkIGJlbG93LlxuICAgKi9cbiAgY29kZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBVUkwgdG8gdGhlIHNvdXJjZS5cbiAgICovXG4gIHNvdXJjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVUkwgdG8gdGhlIHRhcmdldC5cbiAgICovXG4gIHRhcmdldDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIVFRQIHN0YXR1cyBjb2RlLiBUaGlzIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIGEgcmVzcG9uc2VcbiAgICogY29kZSBpcyByZWNlaXZlZCBmcm9tIHRoZSBIVFRQIGNvbm5lY3Rpb24uXG4gICAqL1xuICBodHRwX3N0YXR1czogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSZXNwb25zZSBib2R5LiBUaGlzIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIGEgcmVzcG9uc2UgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgSFRUUCBjb25uZWN0aW9uLlxuICAgKi9cbiAgYm9keTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFaXRoZXIgZS5nZXRNZXNzYWdlIG9yIGUudG9TdHJpbmcuXG4gICAqL1xuICBleGNlcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAbmFtZSBGaWxlIFRyYW5zZmVyXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGlzIHBsdWdpbiBhbGxvd3MgeW91IHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgZmlsZXMuXG4gKlxuICogQHVzYWdlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBGaWxlVHJhbnNmZXIsIEZpbGVVcGxvYWRPcHRpb25zLCBGaWxlVHJhbnNmZXJPYmplY3QgfSBmcm9tICdAaW9uaWMtbmF0aXZlL2ZpbGUtdHJhbnNmZXIvbmd4JztcbiAqIGltcG9ydCB7IEZpbGUgfSBmcm9tICdAaW9uaWMtbmF0aXZlL2ZpbGUnO1xuICpcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXI6IEZpbGVUcmFuc2ZlciwgcHJpdmF0ZSBmaWxlOiBGaWxlKSB7IH1cbiAqXG4gKiAuLi5cbiAqXG4gKiBjb25zdCBmaWxlVHJhbnNmZXI6IEZpbGVUcmFuc2Zlck9iamVjdCA9IHRoaXMudHJhbnNmZXIuY3JlYXRlKCk7XG4gKlxuICogLy8gVXBsb2FkIGEgZmlsZTpcbiAqIGZpbGVUcmFuc2Zlci51cGxvYWQoLi4pLnRoZW4oLi4pLmNhdGNoKC4uKTtcbiAqXG4gKiAvLyBEb3dubG9hZCBhIGZpbGU6XG4gKiBmaWxlVHJhbnNmZXIuZG93bmxvYWQoLi4pLnRoZW4oLi4pLmNhdGNoKC4uKTtcbiAqXG4gKiAvLyBBYm9ydCBhY3RpdmUgdHJhbnNmZXI6XG4gKiBmaWxlVHJhbnNmZXIuYWJvcnQoKTtcbiAqXG4gKiAvLyBmdWxsIGV4YW1wbGVcbiAqIHVwbG9hZCgpIHtcbiAqICAgbGV0IG9wdGlvbnM6IEZpbGVVcGxvYWRPcHRpb25zID0ge1xuICogICAgICBmaWxlS2V5OiAnZmlsZScsXG4gKiAgICAgIGZpbGVOYW1lOiAnbmFtZS5qcGcnLFxuICogICAgICBoZWFkZXJzOiB7fVxuICogICAgICAuLi4uLlxuICogICB9XG4gKlxuICogICBmaWxlVHJhbnNmZXIudXBsb2FkKCc8ZmlsZSBwYXRoPicsICc8YXBpIGVuZHBvaW50PicsIG9wdGlvbnMpXG4gKiAgICAudGhlbigoZGF0YSkgPT4ge1xuICogICAgICAvLyBzdWNjZXNzXG4gKiAgICB9LCAoZXJyKSA9PiB7XG4gKiAgICAgIC8vIGVycm9yXG4gKiAgICB9KVxuICogfVxuICpcbiAqIGRvd25sb2FkKCkge1xuICogICBjb25zdCB1cmwgPSAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS9maWxlLnBkZic7XG4gKiAgIGZpbGVUcmFuc2Zlci5kb3dubG9hZCh1cmwsIHRoaXMuZmlsZS5kYXRhRGlyZWN0b3J5ICsgJ2ZpbGUucGRmJykudGhlbigoZW50cnkpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZygnZG93bmxvYWQgY29tcGxldGU6ICcgKyBlbnRyeS50b1VSTCgpKTtcbiAqICAgfSwgKGVycm9yKSA9PiB7XG4gKiAgICAgLy8gaGFuZGxlIGVycm9yXG4gKiAgIH0pO1xuICogfVxuICpcbiAqIGBgYFxuICpcbiAqIFRvIHN0b3JlIGZpbGVzIGluIGEgZGlmZmVyZW50L3B1YmxpY2x5IGFjY2Vzc2libGUgZGlyZWN0b3J5LCBwbGVhc2UgcmVmZXIgdG8gdGhlIGZvbGxvd2luZyBsaW5rXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2NvcmRvdmEtcGx1Z2luLWZpbGUjd2hlcmUtdG8tc3RvcmUtZmlsZXNcbiAqXG4gKiBAaW50ZXJmYWNlc1xuICogRmlsZVVwbG9hZE9wdGlvbnNcbiAqIEZpbGVVcGxvYWRSZXN1bHRcbiAqIEZpbGVUcmFuc2ZlckVycm9yXG4gKiBAY2xhc3Nlc1xuICogRmlsZVRyYW5zZmVyT2JqZWN0XG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnRmlsZVRyYW5zZmVyJyxcbiAgcGx1Z2luOiAnY29yZG92YS1wbHVnaW4tZmlsZS10cmFuc2ZlcicsXG4gIHBsdWdpblJlZjogJ0ZpbGVUcmFuc2ZlcicsXG4gIHJlcG86ICdodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2NvcmRvdmEtcGx1Z2luLWZpbGUtdHJhbnNmZXInLFxuICBwbGF0Zm9ybXM6IFsnQW1hem9uIEZpcmUgT1MnLCAnQW5kcm9pZCcsICdCcm93c2VyJywgJ2lPUycsICdVYnVudHUnLCAnV2luZG93cycsICdXaW5kb3dzIFBob25lJ10sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbGVUcmFuc2ZlciBleHRlbmRzIElvbmljTmF0aXZlUGx1Z2luIHtcbiAgLyoqXG4gICAqIEVycm9yIGNvZGUgcmVqZWN0ZWQgZnJvbSB1cGxvYWQgd2l0aCBGaWxlVHJhbnNmZXJFcnJvclxuICAgKiBEZWZpbmVkIGluIEZpbGVUcmFuc2ZlckVycm9yLlxuICAgKiAgICAgIEZJTEVfTk9UX0ZPVU5EX0VSUjogMSAgIFJldHVybiB3aGVuIGZpbGUgd2FzIG5vdCBmb3VuZFxuICAgKiAgICAgIElOVkFMSURfVVJMX0VSUjogMiwgICAgIFJldHVybiB3aGVuIHVybCB3YXMgaW52YWxpZFxuICAgKiAgICAgIENPTk5FQ1RJT05fRVJSOiAzLCAgICAgIFJldHVybiBvbiBjb25uZWN0aW9uIGVycm9yXG4gICAqICAgICAgQUJPUlRfRVJSOiA0LCAgICAgICAgICAgUmV0dXJuIG9uIGFib3J0aW5nXG4gICAqICAgICAgTk9UX01PRElGSUVEX0VSUjogNSAgICAgUmV0dXJuIG9uICczMDQgTm90IE1vZGlmaWVkJyBIVFRQIHJlc3BvbnNlXG4gICAqIEBlbnVtIHtudW1iZXJ9XG4gICAqL1xuICBGaWxlVHJhbnNmZXJFcnJvckNvZGUgPSB7XG4gICAgRklMRV9OT1RfRk9VTkRfRVJSOiAxLFxuICAgIElOVkFMSURfVVJMX0VSUjogMixcbiAgICBDT05ORUNUSU9OX0VSUjogMyxcbiAgICBBQk9SVF9FUlI6IDQsXG4gICAgTk9UX01PRElGSUVEX0VSUjogNSxcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBGaWxlVHJhbnNmZXIgb2JqZWN0XG4gICAqIEByZXR1cm4ge0ZpbGVUcmFuc2Zlck9iamVjdH1cbiAgICovXG4gIGNyZWF0ZSgpOiBGaWxlVHJhbnNmZXJPYmplY3Qge1xuICAgIHJldHVybiBuZXcgRmlsZVRyYW5zZmVyT2JqZWN0KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW46ICdjb3Jkb3ZhLXBsdWdpbi1maWxlLXRyYW5zZmVyJyxcbiAgcGx1Z2luTmFtZTogJ0ZpbGVUcmFuc2ZlcicsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVUcmFuc2Zlck9iamVjdCB7XG4gIHByaXZhdGUgX29iamVjdEluc3RhbmNlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKGNoZWNrQXZhaWxhYmlsaXR5KEZpbGVUcmFuc2Zlci5nZXRQbHVnaW5SZWYoKSwgbnVsbCwgRmlsZVRyYW5zZmVyLmdldFBsdWdpbk5hbWUoKSkgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX29iamVjdEluc3RhbmNlID0gbmV3IChGaWxlVHJhbnNmZXIuZ2V0UGx1Z2luKCkpKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgZmlsZSB0byBhIHNlcnZlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVVcmwgIEZpbGVzeXN0ZW0gVVJMIHJlcHJlc2VudGluZyB0aGUgZmlsZSBvbiB0aGUgZGV2aWNlIG9yIGEgZGF0YSBVUkkuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhpcyBjYW4gYWxzbyBiZSB0aGUgZnVsbCBwYXRoIG9mIHRoZSBmaWxlIG9uIHRoZSBkZXZpY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgIFVSTCBvZiB0aGUgc2VydmVyIHRvIHJlY2VpdmUgdGhlIGZpbGUsIGFzIGVuY29kZWQgYnkgZW5jb2RlVVJJKCkuXG4gICAqIEBwYXJhbSB7RmlsZVVwbG9hZE9wdGlvbnN9IFtvcHRpb25zXSAgT3B0aW9uYWwgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtib29sZWFufSBbdHJ1c3RBbGxIb3N0c10gIE9wdGlvbmFsIHBhcmFtZXRlciwgZGVmYXVsdHMgdG8gZmFsc2UuIElmIHNldCB0byB0cnVlLCBpdCBhY2NlcHRzIGFsbCBzZWN1cml0eSBjZXJ0aWZpY2F0ZXMuIFRoaXMgaXMgdXNlZnVsIHNpbmNlIEFuZHJvaWQgcmVqZWN0cyBzZWxmLXNpZ25lZCBzZWN1cml0eSBjZXJ0aWZpY2F0ZXMuIE5vdCByZWNvbW1lbmRlZCBmb3IgcHJvZHVjdGlvbiB1c2UuIFN1cHBvcnRlZCBvbiBBbmRyb2lkIGFuZCBpT1MuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEZpbGVVcGxvYWRSZXN1bHQ+fSBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgRmlsZVVwbG9hZFJlc3VsdCBhbmQgcmVqZWN0cyB3aXRoIEZpbGVUcmFuc2ZlckVycm9yLlxuICAgKi9cbiAgQENvcmRvdmFJbnN0YW5jZSh7XG4gICAgc3VjY2Vzc0luZGV4OiAyLFxuICAgIGVycm9ySW5kZXg6IDMsXG4gIH0pXG4gIHVwbG9hZChcbiAgICBmaWxlVXJsOiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEZpbGVVcGxvYWRPcHRpb25zLFxuICAgIHRydXN0QWxsSG9zdHM/OiBib29sZWFuXG4gICk6IFByb21pc2U8RmlsZVVwbG9hZFJlc3VsdD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZHMgYSBmaWxlIGZyb20gc2VydmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlICBVUkwgb2YgdGhlIHNlcnZlciB0byBkb3dubG9hZCB0aGUgZmlsZSwgYXMgZW5jb2RlZCBieSBlbmNvZGVVUkkoKS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCAgRmlsZXN5c3RlbSB1cmwgcmVwcmVzZW50aW5nIHRoZSBmaWxlIG9uIHRoZSBkZXZpY2UuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhpcyBjYW4gYWxzbyBiZSB0aGUgZnVsbCBwYXRoIG9mIHRoZSBmaWxlIG9uIHRoZSBkZXZpY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3RydXN0QWxsSG9zdHNdICBPcHRpb25hbCBwYXJhbWV0ZXIsIGRlZmF1bHRzIHRvIGZhbHNlLiBJZiBzZXQgdG8gdHJ1ZSwgaXQgYWNjZXB0cyBhbGwgc2VjdXJpdHkgY2VydGlmaWNhdGVzLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIEFuZHJvaWQgcmVqZWN0cyBzZWxmLXNpZ25lZCBzZWN1cml0eSBjZXJ0aWZpY2F0ZXMuIE5vdCByZWNvbW1lbmRlZCBmb3IgcHJvZHVjdGlvbiB1c2UuIFN1cHBvcnRlZCBvbiBBbmRyb2lkIGFuZCBpT1MuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbT3B0aW9uYWxdIHBhcmFtZXRlcnMsIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIGhlYWRlcnMgKHN1Y2ggYXMgQXV0aG9yaXphdGlvbiAoQmFzaWMgQXV0aGVudGljYXRpb24pLCBldGMpLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fSBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgRmlsZUVudHJ5IG9iamVjdC5cbiAgICovXG4gIEBDb3Jkb3ZhSW5zdGFuY2Uoe1xuICAgIHN1Y2Nlc3NJbmRleDogMixcbiAgICBlcnJvckluZGV4OiAzLFxuICB9KVxuICBkb3dubG9hZChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcsIHRydXN0QWxsSG9zdHM/OiBib29sZWFuLCBvcHRpb25zPzogeyBbczogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBsaXN0ZW5lciB0aGF0IGdldHMgY2FsbGVkIHdoZW5ldmVyIGEgbmV3IGNodW5rIG9mIGRhdGEgaXMgdHJhbnNmZXJyZWQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIExpc3RlbmVyIHRoYXQgdGFrZXMgYSBwcm9ncmVzcyBldmVudC5cbiAgICovXG4gIEBJbnN0YW5jZUNoZWNrKHsgc3luYzogdHJ1ZSB9KVxuICBvblByb2dyZXNzKGxpc3RlbmVyOiAoZXZlbnQ6IFByb2dyZXNzRXZlbnQpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29iamVjdEluc3RhbmNlLm9ucHJvZ3Jlc3MgPSBsaXN0ZW5lcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBYm9ydHMgYW4gaW4tcHJvZ3Jlc3MgdHJhbnNmZXIuIFRoZSBvbmVycm9yIGNhbGxiYWNrIGlzIHBhc3NlZCBhIEZpbGVUcmFuc2ZlckVycm9yXG4gICAqIG9iamVjdCB3aGljaCBoYXMgYW4gZXJyb3IgY29kZSBvZiBGaWxlVHJhbnNmZXJFcnJvci5BQk9SVF9FUlIuXG4gICAqL1xuICBAQ29yZG92YUluc3RhbmNlKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICBhYm9ydCgpOiB2b2lkIHt9XG59XG4iXX0=
\No newline at end of file