ngx-hana-nameserver-history-viewer 1.1.9-9.8.beta → 1.2.0-9.8.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,8 @@
22
22
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  * SOFTWARE.
24
24
  */
25
- import moment from 'moment';
25
+ import * as moment_module from 'moment';
26
+ const moment = (window && window.moment) ? window.moment : moment_module;
26
27
  import * as utils from './utils';
27
28
  import { DataMipmap } from './data_mipmap';
28
29
  import { LTTBDataMipmap } from './lttb_data_mipmap';
@@ -164,4 +165,4 @@ export class ResponsiveDownsamplePlugin {
164
165
  }
165
166
  }
166
167
  }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZV9kb3duc2FtcGxlX3BsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBK0MvQywrRUFBK0U7QUFDL0UsV0FBVztBQUNYOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBVTtRQUNoQyxNQUFNLE9BQU8sR0FBc0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7UUFDNUYsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDMUIsT0FBTyxFQUFFLEtBQUs7WUFDZCxvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7WUFDM0IsWUFBWSxFQUFFLEdBQUc7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztTQUM5QztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMs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R0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoRixJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0I7WUFDN0MsWUFBWSxFQUNaO1lBQ0EsT0FBTyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1lBQzVDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBRTVCLElBQUksMEJBQTBCLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQ3pFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3hDLHlDQUF5QztnQkFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFaEIsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFRoaXMgcGx1Z2luIGlzIGFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tLzNkY2wvY2hhcnRqcy1wbHVnaW4tcmVzcG9uc2l2ZS1kb3duc2FtcGxlXHJcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxyXG4gKlxyXG4gKiBNSVQgTGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcclxuICpcclxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxyXG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXHJcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcclxuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxyXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcclxuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXHJcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbiAqXHJcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcclxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXHJcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxyXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXHJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXHJcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXHJcbiAqIFNPRlRXQVJFLlxyXG4gKi9cclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhU2V0cywgQ2hhcnRQb2ludCB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgSUNoYXJ0UGx1Z2luLCBUaW1lU2NhbGUgfSBmcm9tICcuL2NoYXJ0anNfZXh0JztcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhTWlwbWFwIH0gZnJvbSAnLi9kYXRhX21pcG1hcCc7XHJcbmltcG9ydCB7IExUVEJEYXRhTWlwbWFwIH0gZnJvbSAnLi9sdHRiX2RhdGFfbWlwbWFwJztcclxuaW1wb3J0ICogYXMgZGF0YV9jdWxsaW5nIGZyb20gJy4vZGF0YV9jdWxsaW5nJztcclxuXHJcbmludGVyZmFjZSBNaXBNYXBEYXRhU2V0cyBleHRlbmRzIENoYXJ0RGF0YVNldHMge1xyXG4gIG9yaWdpbmFsRGF0YT86IENoYXJ0UG9pbnRbXTtcclxuICBjdXJyZW50TWlwTWFwTGV2ZWw/OiBudW1iZXI7XHJcbiAgbWlwTWFwPzogRGF0YU1pcG1hcDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIEVuYWJsZS9kaXNhYmxlIHBsdWdpblxyXG4gICAqL1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhZ2dyZWdhdGlvbiBhbGdvcml0aG0gdG8gdGhpbiBvdXQgZGF0YS4gRGVmYXVsdDogTFRUQlxyXG4gICAqL1xyXG4gIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtPzogJ0FWRycgfCAnTFRUQic7XHJcbiAgLyoqXHJcbiAgICogRGVzaXJlZCBtaW5pbWFsIGRpc3RhbmNlIGJldHdlZW4gZGF0YSBwb2ludHMgaW4gcGl4ZWxzLiBEZWZhdWx0OiAxIHBpeGVsXHJcbiAgICovXHJcbiAgZGVzaXJlZERhdGFQb2ludERpc3RhbmNlPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIE1pbmltYWwgbnVtYmVyIG9mIGRhdGEgcG9pbnRzLiBMaW1pdHNcclxuICAgKi9cclxuICBtaW5OdW1Qb2ludHM/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQ3VsbCBkYXRhIHRvIGRpc3BsYXllZCByYW5nZSBvZiB4IHNjYWxlXHJcbiAgICovXHJcbiAgY3VsbERhdGE/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEZsYWcgaXMgc2V0IGJ5IHBsdWdpbiB0byB0cmlnZ2VyIHJlbG9hZCBvZiBkYXRhXHJcbiAgICovXHJcbiAgbmVlZHNVcGRhdGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdGFyZ2V0IHJlc29sdXRpb24oU2V0IGJ5IHBsdWdpbilcclxuICAgKi9cclxuICB0YXJnZXRSZXNvbHV0aW9uPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIFNjYWxlIHJhbmdlIG9mIHggYXhpc1xyXG4gICAqL1xyXG4gIHNjYWxlUmFuZ2U/OiBkYXRhX2N1bGxpbmcuUmFuZ2U7XHJcbiAgLyoqXHJcbiAgICogRHJhdyBwb2ludHMgb25seSBpZiB0aGUgcG9pbnRzIG51bWJlciBsZXNzIHRoYW4gdGhlIGxpbWl0YXRpb25cclxuICAgKi9cclxuICBtYXhOdW1Qb2ludHNUb0RyYXc/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIFVzaW5nIGR5bmFtaWMgZmxhZyB0byBmaXggdGhlIGlzc3VlIG9mIG5nLXBhY2thZ3IgIzY5NjogTGFtYmRhIG5vdCBzdXBwb3J0ZWRcclxuLy8gQGR5bmFtaWNcclxuLyoqXHJcbiAqIENoYXJ0IGpzIFBsdWdpbiBmb3IgZG93bnNhbXBsaW5nIGRhdGFcclxuICovXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiBpbXBsZW1lbnRzIElDaGFydFBsdWdpbiB7XHJcbiAgc3RhdGljIGdldFBsdWdpbk9wdGlvbnMoY2hhcnQ6IGFueSk6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMgPSBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlIHx8IHt9O1xyXG4gICAgdXRpbHMuZGVmYXVsdHNEZWVwKG9wdGlvbnMsIHtcclxuICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIGFnZ3JlZ2F0aW9uQWxnb3JpdGhtOiAnTFRUQicsXHJcbiAgICAgIGRlc2lyZWREYXRhUG9pbnREaXN0YW5jZTogMSxcclxuICAgICAgbWluTnVtUG9pbnRzOiAxMDAsXHJcbiAgICAgIG1heE51bVBvaW50c1RvRHJhdzogMTAwLFxyXG4gICAgICBjdWxsRGF0YTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuZW5hYmxlZCkge1xyXG4gICAgICBjaGFydC5vcHRpb25zLnJlc3BvbnNpdmVEb3duc2FtcGxlID0gb3B0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBoYXNEYXRhQ2hhbmdlZChjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdXRpbHMuaXNOaWwoXHJcbiAgICAgIHV0aWxzLmZpbmRJbkFycmF5KFxyXG4gICAgICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMgYXMgTWlwTWFwRGF0YVNldHNbXSxcclxuICAgICAgICAoZGF0YXNldCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHV0aWxzLmlzTmlsKGRhdGFzZXQubWlwTWFwKTtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlRGF0YU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGNvbnN0IGRhdGEgPSAhdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpID8gZGF0YXNldC5vcmlnaW5hbERhdGEgOiBkYXRhc2V0LmRhdGEgYXMgQ2hhcnRQb2ludFtdO1xyXG5cclxuICAgICAgY29uc3QgbWlwTWFwID0gKG9wdGlvbnMuYWdncmVnYXRpb25BbGdvcml0aG0gPT09ICdMVFRCJylcclxuICAgICAgICA/IG5ldyBMVFRCRGF0YU1pcG1hcChkYXRhLCBvcHRpb25zLm1pbk51bVBvaW50cylcclxuICAgICAgICA6IG5ldyBEYXRhTWlwbWFwKGRhdGEsIG9wdGlvbnMubWluTnVtUG9pbnRzKTtcclxuXHJcbiAgICAgIGRhdGFzZXQub3JpZ2luYWxEYXRhID0gZGF0YTtcclxuICAgICAgZGF0YXNldC5taXBNYXAgPSBtaXBNYXA7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hcC5nZXROdW1MZXZlbCgpIC0gMSk7IC8vIHNldCBsYXN0IGxldmVsIGZvciBmaXJzdCByZW5kZXIgcGFzc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGxldCB1cGRhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBNaXBNYXBEYXRhU2V0cykgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGlmICghdXRpbHMuaXNOaWwoZGF0YXNldC5vcmlnaW5hbERhdGEpICYmIGRhdGFzZXQuZGF0YSAhPT0gZGF0YXNldC5vcmlnaW5hbERhdGEpIHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGF0YXNldC5kYXRhID0gZGF0YXNldC5vcmlnaW5hbERhdGE7XHJcbiAgICAgICAgdXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFRhcmdldFJlc29sdXRpb24oY2hhcnQ6IENoYXJ0LCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeFNjYWxlOiBUaW1lU2NhbGUgPSAoY2hhcnQgYXMgYW55KS5zY2FsZXNbJ3gtYXhpcy0wJ107XHJcblxyXG4gICAgaWYgKHV0aWxzLmlzTmlsKHhTY2FsZSkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQpIGFzIGFueSk7XHJcbiAgICBjb25zdCBlbmQgPSBtb21lbnQoeFNjYWxlLmdldFZhbHVlRm9yUGl4ZWwoeFNjYWxlLmxlZnQgKyAxKSBhcyBhbnkpO1xyXG4gICAgY29uc3QgdGFyZ2V0UmVzb2x1dGlvbiA9IGVuZC5kaWZmKHN0YXJ0KTtcclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0UmVzb2x1dGlvbiAqIG9wdGlvbnMuZGVzaXJlZERhdGFQb2ludERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHVwZGF0ZU1pcE1hcChjaGFydDogQ2hhcnQsIG9wdGlvbnM6IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucywgcmFuZ2VDaGFuZ2VkOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldDogTWlwTWFwRGF0YVNldHMpID0+IHtcclxuICAgICAgY29uc3QgbWlwTWFwID0gZGF0YXNldC5taXBNYXA7XHJcbiAgICAgIGlmICh1dGlscy5pc05pbChtaXBNYXApKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBtaXBNYWxMZXZlbCA9IG1pcE1hcC5nZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ob3B0aW9ucy50YXJnZXRSZXNvbHV0aW9uKTtcclxuICAgICAgaWYgKG1pcE1hbExldmVsID09PSBkYXRhc2V0LmN1cnJlbnRNaXBNYXBMZXZlbCAmJiAhcmFuZ2VDaGFuZ2VkKSB7XHJcbiAgICAgICAgLy8gc2tpcCB1cGRhdGUgaWYgbWlwIG1hcCBsZXZlbCBhbmQgZGF0YSByYW5nZSBkaWQgbm90IGNoYW5nZVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB1cGRhdGVkID0gdHJ1ZTtcclxuICAgICAgZGF0YXNldC5jdXJyZW50TWlwTWFwTGV2ZWwgPSBtaXBNYWxMZXZlbDtcclxuXHJcbiAgICAgIGxldCBuZXdEYXRhID0gbWlwTWFwLmdldE1pcE1hcExldmVsKG1pcE1hbExldmVsKTtcclxuICAgICAgaWYgKG9wdGlvbnMuY3VsbERhdGEpIHtcclxuICAgICAgICBuZXdEYXRhID0gZGF0YV9jdWxsaW5nLmN1bGxEYXRhKG5ld0RhdGEsIG9wdGlvbnMuc2NhbGVSYW5nZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgZGF0YXNldC5kYXRhID0gbmV3RGF0YTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1cGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlSW5pdChjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7IHJldHVybjsgfVxyXG5cclxuICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVEYXRhc2V0c1VwZGF0ZShjaGFydDogQ2hhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHJlc3RvcmUgb3JpZ2luYWwgZGF0YSBhbmQgcmVtb3ZlIHN0YXRlIGZyb20gb3B0aW9uc1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4ucmVzdG9yZU9yaWdpbmFsRGF0YShjaGFydCk7XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnRhcmdldFJlc29sdXRpb247XHJcbiAgICAgIGRlbGV0ZSBvcHRpb25zLnNjYWxlUmFuZ2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvbmx5IHVwZGF0ZSBtaXAgbWFwIGlmIGRhdGEgc2V0IHdhcyByZWxvYWRlZCBleHRlcm5hbGx5XHJcbiAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uaGFzRGF0YUNoYW5nZWQoY2hhcnQpKSB7XHJcbiAgICAgIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmNyZWF0ZURhdGFNaXBNYXAoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJlZm9yZVJlbmRlcihjaGFydDogQ2hhcnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRQbHVnaW5PcHRpb25zKGNoYXJ0KTtcclxuICAgIGlmICghb3B0aW9ucy5lbmFibGVkKSB7XHJcbiAgICAgIC8vIHVwZGF0ZSBjaGFydCBpZiBkYXRhIHdhcyByZXN0b3JlZCBmcm9tIG9yaWdpbmFsIGRhdGFcclxuICAgICAgaWYgKG9wdGlvbnMubmVlZHNVcGRhdGUpIHtcclxuICAgICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRhcmdldFJlc29sdXRpb24gPSBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5nZXRUYXJnZXRSZXNvbHV0aW9uKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgIGNvbnN0IHhTY2FsZTogVGltZVNjYWxlID0gKGNoYXJ0IGFzIGFueSkuc2NhbGVzWyd4LWF4aXMtMCddO1xyXG4gICAgY29uc3Qgc2NhbGVSYW5nZSA9IGRhdGFfY3VsbGluZy5nZXRTY2FsZVJhbmdlKHhTY2FsZSk7XHJcbiAgICBjb25zdCByYW5nZUNoYW5nZWQgPSAhZGF0YV9jdWxsaW5nLnJhbmdlSXNFcXVhbChvcHRpb25zLnNjYWxlUmFuZ2UsIHNjYWxlUmFuZ2UpO1xyXG5cclxuICAgIGlmIChvcHRpb25zLm5lZWRzVXBkYXRlIHx8XHJcbiAgICAgIG9wdGlvbnMudGFyZ2V0UmVzb2x1dGlvbiAhPT0gdGFyZ2V0UmVzb2x1dGlvbiB8fFxyXG4gICAgICByYW5nZUNoYW5nZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnRhcmdldFJlc29sdXRpb24gPSB0YXJnZXRSZXNvbHV0aW9uO1xyXG4gICAgICBvcHRpb25zLnNjYWxlUmFuZ2UgPSBzY2FsZVJhbmdlO1xyXG4gICAgICBvcHRpb25zLm5lZWRzVXBkYXRlID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4udXBkYXRlTWlwTWFwKGNoYXJ0LCBvcHRpb25zLCByYW5nZUNoYW5nZWQpKSB7XHJcbiAgICAgICAgdXRpbHMuY2hhbmdlUG9pbnRSYWRpdXMoY2hhcnQsIG9wdGlvbnMpO1xyXG4gICAgICAgIC8vIHVwZGF0ZSBjaGFydCBhbmQgY2FuY2VsIGN1cnJlbnQgcmVuZGVyXHJcbiAgICAgICAgY2hhcnQudXBkYXRlKDApO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZV9kb3duc2FtcGxlX3BsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE9BQU8sS0FBSyxhQUFhLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFLLE1BQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBRzNGLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUErQy9DLCtFQUErRTtBQUMvRSxXQUFXO0FBQ1g7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ2hDLE1BQU0sT0FBTyxHQUFzQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUM1RixLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPLEVBQUUsS0FBSztZQUNkLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsd0JBQXdCLEVBQUUsQ0FBQztZQUMzQixZQUFZLEVBQUUsR0FBRztZQUNqQixrQkFBa0IsRUFBRSxHQUFHO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFP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QUFNLEdBQWUsS0FBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWhGLElBQUksT0FBTyxDQUFDLFdBQVc7WUFDckIsT0FBTyxDQUFDLGdCQUFnQixLQUFLLGdCQUFnQjtZQUM3QyxZQUFZLEVBQ1o7WUFDQSxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDaEMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFFNUIsSUFBSSwwQkFBMEIsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDekUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDeEMseUNBQXlDO2dCQUN6QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVoQixPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcclxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXHJcbiAqXHJcbiAqIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xyXG4gKlxyXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XHJcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcclxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xyXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXHJcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xyXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcclxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuICpcclxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxyXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXHJcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcclxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcclxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcclxuICogU09GVFdBUkUuXHJcbiAqL1xyXG5pbXBvcnQgKiBhcyBtb21lbnRfbW9kdWxlIGZyb20gJ21vbWVudCc7XHJcbmNvbnN0IG1vbWVudCA9ICh3aW5kb3cgJiYgKHdpbmRvdyBhcyBhbnkpLm1vbWVudCkgPyAod2luZG93IGFzIGFueSkubW9tZW50IDogbW9tZW50X21vZHVsZTtcclxuaW1wb3J0IHsgQ2hhcnQsIENoYXJ0RGF0YVNldHMsIENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IElDaGFydFBsdWdpbiwgVGltZVNjYWxlIH0gZnJvbSAnLi9jaGFydGpzX2V4dCc7XHJcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgRGF0YU1pcG1hcCB9IGZyb20gJy4vZGF0YV9taXBtYXAnO1xyXG5pbXBvcnQgeyBMVFRCRGF0YU1pcG1hcCB9IGZyb20gJy4vbHR0Yl9kYXRhX21pcG1hcCc7XHJcbmltcG9ydCAqIGFzIGRhdGFfY3VsbGluZyBmcm9tICcuL2RhdGFfY3VsbGluZyc7XHJcblxyXG5pbnRlcmZhY2UgTWlwTWFwRGF0YVNldHMgZXh0ZW5kcyBDaGFydERhdGFTZXRzIHtcclxuICBvcmlnaW5hbERhdGE/OiBDaGFydFBvaW50W107XHJcbiAgY3VycmVudE1pcE1hcExldmVsPzogbnVtYmVyO1xyXG4gIG1pcE1hcD86IERhdGFNaXBtYXA7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zIHtcclxuICAvKipcclxuICAgKiBFbmFibGUvZGlzYWJsZSBwbHVnaW5cclxuICAgKi9cclxuICBlbmFibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBUaGUgYWdncmVnYXRpb24gYWxnb3JpdGhtIHRvIHRoaW4gb3V0IGRhdGEuIERlZmF1bHQ6IExUVEJcclxuICAgKi9cclxuICBhZ2dyZWdhdGlvbkFsZ29yaXRobT86ICdBVkcnIHwgJ0xUVEInO1xyXG4gIC8qKlxyXG4gICAqIERlc2lyZWQgbWluaW1hbCBkaXN0YW5jZSBiZXR3ZWVuIGRhdGEgcG9pbnRzIGluIHBpeGVscy4gRGVmYXVsdDogMSBwaXhlbFxyXG4gICAqL1xyXG4gIGRlc2lyZWREYXRhUG9pbnREaXN0YW5jZT86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBNaW5pbWFsIG51bWJlciBvZiBkYXRhIHBvaW50cy4gTGltaXRzXHJcbiAgICovXHJcbiAgbWluTnVtUG9pbnRzPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEN1bGwgZGF0YSB0byBkaXNwbGF5ZWQgcmFuZ2Ugb2YgeCBzY2FsZVxyXG4gICAqL1xyXG4gIGN1bGxEYXRhPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBGbGFnIGlzIHNldCBieSBwbHVnaW4gdG8gdHJpZ2dlciByZWxvYWQgb2YgZGF0YVxyXG4gICAqL1xyXG4gIG5lZWRzVXBkYXRlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBDdXJyZW50IHRhcmdldCByZXNvbHV0aW9uKFNldCBieSBwbHVnaW4pXHJcbiAgICovXHJcbiAgdGFyZ2V0UmVzb2x1dGlvbj86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBTY2FsZSByYW5nZSBvZiB4IGF4aXNcclxuICAgKi9cclxuICBzY2FsZVJhbmdlPzogZGF0YV9jdWxsaW5nLlJhbmdlO1xyXG4gIC8qKlxyXG4gICAqIERyYXcgcG9pbnRzIG9ubHkgaWYgdGhlIHBvaW50cyBudW1iZXIgbGVzcyB0aGFuIHRoZSBsaW1pdGF0aW9uXHJcbiAgICovXHJcbiAgbWF4TnVtUG9pbnRzVG9EcmF3PzogbnVtYmVyO1xyXG59XHJcblxyXG4vLyBVc2luZyBkeW5hbWljIGZsYWcgdG8gZml4IHRoZSBpc3N1ZSBvZiBuZy1wYWNrYWdyICM2OTY6IExhbWJkYSBub3Qgc3VwcG9ydGVkXHJcbi8vIEBkeW5hbWljXHJcbi8qKlxyXG4gKiBDaGFydCBqcyBQbHVnaW4gZm9yIGRvd25zYW1wbGluZyBkYXRhXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4gaW1wbGVtZW50cyBJQ2hhcnRQbHVnaW4ge1xyXG4gIHN0YXRpYyBnZXRQbHVnaW5PcHRpb25zKGNoYXJ0OiBhbnkpOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMge1xyXG4gICAgY29uc3Qgb3B0aW9uczogUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zID0gY2hhcnQub3B0aW9ucy5yZXNwb25zaXZlRG93bnNhbXBsZSB8fCB7fTtcclxuICAgIHV0aWxzLmRlZmF1bHRzRGVlcChvcHRpb25zLCB7XHJcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBhZ2dyZWdhdGlvbkFsZ29yaXRobTogJ0xUVEInLFxyXG4gICAgICBkZXNpcmVkRGF0YVBvaW50RGlzdGFuY2U6IDEsXHJcbiAgICAgIG1pbk51bVBvaW50czogMTAwLFxyXG4gICAgICBtYXhOdW1Qb2ludHNUb0RyYXc6IDEwMCxcclxuICAgICAgY3VsbERhdGE6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChvcHRpb25zLmVuYWJsZWQpIHtcclxuICAgICAgY2hhcnQub3B0aW9ucy5yZXNwb25zaXZlRG93bnNhbXBsZSA9IG9wdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaGFzRGF0YUNoYW5nZWQoY2hhcnQ6IENoYXJ0KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXV0aWxzLmlzTmlsKFxyXG4gICAgICB1dGlscy5maW5kSW5BcnJheShcclxuICAgICAgICBjaGFydC5kYXRhLmRhdGFzZXRzIGFzIE1pcE1hcERhdGFTZXRzW10sXHJcbiAgICAgICAgKGRhdGFzZXQpID0+IHtcclxuICAgICAgICAgIHJldHVybiB1dGlscy5pc05pbChkYXRhc2V0Lm1pcE1hcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNyZWF0ZURhdGFNaXBNYXAoY2hhcnQ6IENoYXJ0LCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMpOiB2b2lkIHtcclxuICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldDogTWlwTWFwRGF0YVNldHMpID0+IHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBjb25zdCBkYXRhID0gIXV0aWxzLmlzTmlsKGRhdGFzZXQub3JpZ2luYWxEYXRhKSA/IGRhdGFzZXQub3JpZ2luYWxEYXRhIDogZGF0YXNldC5kYXRhIGFzIENoYXJ0UG9pbnRbXTtcclxuXHJcbiAgICAgIGNvbnN0IG1pcE1hcCA9IChvcHRpb25zLmFnZ3JlZ2F0aW9uQWxnb3JpdGhtID09PSAnTFRUQicpXHJcbiAgICAgICAgPyBuZXcgTFRUQkRhdGFNaXBtYXAoZGF0YSwgb3B0aW9ucy5taW5OdW1Qb2ludHMpXHJcbiAgICAgICAgOiBuZXcgRGF0YU1pcG1hcChkYXRhLCBvcHRpb25zLm1pbk51bVBvaW50cyk7XHJcblxyXG4gICAgICBkYXRhc2V0Lm9yaWdpbmFsRGF0YSA9IGRhdGE7XHJcbiAgICAgIGRhdGFzZXQubWlwTWFwID0gbWlwTWFwO1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGRhdGFzZXQuZGF0YSA9IG1pcE1hcC5nZXRNaXBNYXBMZXZlbChtaXBNYXAuZ2V0TnVtTGV2ZWwoKSAtIDEpOyAvLyBzZXQgbGFzdCBsZXZlbCBmb3IgZmlyc3QgcmVuZGVyIHBhc3NcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlc3RvcmVPcmlnaW5hbERhdGEoY2hhcnQ6IENoYXJ0KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldDogTWlwTWFwRGF0YVNldHMpID0+IHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBpZiAoIXV0aWxzLmlzTmlsKGRhdGFzZXQub3JpZ2luYWxEYXRhKSAmJiBkYXRhc2V0LmRhdGEgIT09IGRhdGFzZXQub3JpZ2luYWxEYXRhKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRhdGFzZXQuZGF0YSA9IGRhdGFzZXQub3JpZ2luYWxEYXRhO1xyXG4gICAgICAgIHVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdXBkYXRlZDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRUYXJnZXRSZXNvbHV0aW9uKGNoYXJ0OiBDaGFydCwgb3B0aW9uczogUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHhTY2FsZTogVGltZVNjYWxlID0gKGNoYXJ0IGFzIGFueSkuc2NhbGVzWyd4LWF4aXMtMCddO1xyXG5cclxuICAgIGlmICh1dGlscy5pc05pbCh4U2NhbGUpKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0YXJ0ID0gbW9tZW50KHhTY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHhTY2FsZS5sZWZ0KSBhcyBhbnkpO1xyXG4gICAgY29uc3QgZW5kID0gbW9tZW50KHhTY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHhTY2FsZS5sZWZ0ICsgMSkgYXMgYW55KTtcclxuICAgIGNvbnN0IHRhcmdldFJlc29sdXRpb24gPSBlbmQuZGlmZihzdGFydCk7XHJcblxyXG4gICAgcmV0dXJuIHRhcmdldFJlc29sdXRpb24gKiBvcHRpb25zLmRlc2lyZWREYXRhUG9pbnREaXN0YW5jZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB1cGRhdGVNaXBNYXAoY2hhcnQ6IENoYXJ0LCBvcHRpb25zOiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMsIHJhbmdlQ2hhbmdlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHVwZGF0ZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjaGFydC5kYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQ6IE1pcE1hcERhdGFTZXRzKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1pcE1hcCA9IGRhdGFzZXQubWlwTWFwO1xyXG4gICAgICBpZiAodXRpbHMuaXNOaWwobWlwTWFwKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgbWlwTWFsTGV2ZWwgPSBtaXBNYXAuZ2V0TWlwTWFwSW5kZXhGb3JSZXNvbHV0aW9uKG9wdGlvbnMudGFyZ2V0UmVzb2x1dGlvbik7XHJcbiAgICAgIGlmIChtaXBNYWxMZXZlbCA9PT0gZGF0YXNldC5jdXJyZW50TWlwTWFwTGV2ZWwgJiYgIXJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICAgIC8vIHNraXAgdXBkYXRlIGlmIG1pcCBtYXAgbGV2ZWwgYW5kIGRhdGEgcmFuZ2UgZGlkIG5vdCBjaGFuZ2VcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIGRhdGFzZXQuY3VycmVudE1pcE1hcExldmVsID0gbWlwTWFsTGV2ZWw7XHJcblxyXG4gICAgICBsZXQgbmV3RGF0YSA9IG1pcE1hcC5nZXRNaXBNYXBMZXZlbChtaXBNYWxMZXZlbCk7XHJcbiAgICAgIGlmIChvcHRpb25zLmN1bGxEYXRhKSB7XHJcbiAgICAgICAgbmV3RGF0YSA9IGRhdGFfY3VsbGluZy5jdWxsRGF0YShuZXdEYXRhLCBvcHRpb25zLnNjYWxlUmFuZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGRhdGFzZXQuZGF0YSA9IG5ld0RhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdXBkYXRlZDtcclxuICB9XHJcblxyXG4gIGJlZm9yZUluaXQoY2hhcnQ6IENoYXJ0KTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uZ2V0UGx1Z2luT3B0aW9ucyhjaGFydCk7XHJcbiAgICBpZiAoIW9wdGlvbnMuZW5hYmxlZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5jcmVhdGVEYXRhTWlwTWFwKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgIG9wdGlvbnMubmVlZHNVcGRhdGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlRGF0YXNldHNVcGRhdGUoY2hhcnQ6IENoYXJ0KTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uZ2V0UGx1Z2luT3B0aW9ucyhjaGFydCk7XHJcbiAgICBpZiAoIW9wdGlvbnMuZW5hYmxlZCkge1xyXG4gICAgICAvLyByZXN0b3JlIG9yaWdpbmFsIGRhdGEgYW5kIHJlbW92ZSBzdGF0ZSBmcm9tIG9wdGlvbnNcclxuICAgICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLnJlc3RvcmVPcmlnaW5hbERhdGEoY2hhcnQpO1xyXG4gICAgICBkZWxldGUgb3B0aW9ucy50YXJnZXRSZXNvbHV0aW9uO1xyXG4gICAgICBkZWxldGUgb3B0aW9ucy5zY2FsZVJhbmdlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb25seSB1cGRhdGUgbWlwIG1hcCBpZiBkYXRhIHNldCB3YXMgcmVsb2FkZWQgZXh0ZXJuYWxseVxyXG4gICAgaWYgKFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLmhhc0RhdGFDaGFuZ2VkKGNoYXJ0KSkge1xyXG4gICAgICBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbi5jcmVhdGVEYXRhTWlwTWFwKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiZWZvcmVSZW5kZXIoY2hhcnQ6IENoYXJ0KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uZ2V0UGx1Z2luT3B0aW9ucyhjaGFydCk7XHJcbiAgICBpZiAoIW9wdGlvbnMuZW5hYmxlZCkge1xyXG4gICAgICAvLyB1cGRhdGUgY2hhcnQgaWYgZGF0YSB3YXMgcmVzdG9yZWQgZnJvbSBvcmlnaW5hbCBkYXRhXHJcbiAgICAgIGlmIChvcHRpb25zLm5lZWRzVXBkYXRlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgIGNoYXJ0LnVwZGF0ZSgwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0YXJnZXRSZXNvbHV0aW9uID0gUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4uZ2V0VGFyZ2V0UmVzb2x1dGlvbihjaGFydCwgb3B0aW9ucyk7XHJcbiAgICBjb25zdCB4U2NhbGU6IFRpbWVTY2FsZSA9IChjaGFydCBhcyBhbnkpLnNjYWxlc1sneC1heGlzLTAnXTtcclxuICAgIGNvbnN0IHNjYWxlUmFuZ2UgPSBkYXRhX2N1bGxpbmcuZ2V0U2NhbGVSYW5nZSh4U2NhbGUpO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gIWRhdGFfY3VsbGluZy5yYW5nZUlzRXF1YWwob3B0aW9ucy5zY2FsZVJhbmdlLCBzY2FsZVJhbmdlKTtcclxuXHJcbiAgICBpZiAob3B0aW9ucy5uZWVkc1VwZGF0ZSB8fFxyXG4gICAgICBvcHRpb25zLnRhcmdldFJlc29sdXRpb24gIT09IHRhcmdldFJlc29sdXRpb24gfHxcclxuICAgICAgcmFuZ2VDaGFuZ2VkXHJcbiAgICApIHtcclxuICAgICAgb3B0aW9ucy50YXJnZXRSZXNvbHV0aW9uID0gdGFyZ2V0UmVzb2x1dGlvbjtcclxuICAgICAgb3B0aW9ucy5zY2FsZVJhbmdlID0gc2NhbGVSYW5nZTtcclxuICAgICAgb3B0aW9ucy5uZWVkc1VwZGF0ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLnVwZGF0ZU1pcE1hcChjaGFydCwgb3B0aW9ucywgcmFuZ2VDaGFuZ2VkKSkge1xyXG4gICAgICAgIHV0aWxzLmNoYW5nZVBvaW50UmFkaXVzKGNoYXJ0LCBvcHRpb25zKTtcclxuICAgICAgICAvLyB1cGRhdGUgY2hhcnQgYW5kIGNhbmNlbCBjdXJyZW50IHJlbmRlclxyXG4gICAgICAgIGNoYXJ0LnVwZGF0ZSgwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { isDevMode } from '@angular/core';
2
2
  import { getIgnoredLineNumFromTail } from './ui-util';
3
- import moment from 'moment-timezone';
3
+ import * as moment from 'moment-timezone';
4
4
  /**
5
5
  * get the time range for all ports
6
6
  */
@@ -96,4 +96,4 @@ export function printProcessedTime(beginTime, step) {
96
96
  console.log(`${step}, Parsing time: ${parsingTime} seconds`);
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvdGltZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxJQUFzQjtJQUNoRCxJQUFJLElBQUksRUFBRTtRQUNSLElBQUksU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLGFBQWE7UUFDNUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNkLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxTQUFTLEdBQUcsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzVGLE9BQU8sR0FBRyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUNuRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO0tBQ2pEO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxhQUFhLENBQUMs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RUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBZSxFQUFFLElBQVk7SUFDOUQsSUFBSSxTQUFTLEVBQUUsRUFBRTtRQUNmLHlCQUF5QjtRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxtQkFBbUIsV0FBVyxVQUFVLENBQUMsQ0FBQztLQUM5RDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0SWdub3JlZExpbmVOdW1Gcm9tVGFpbCB9IGZyb20gJy4vdWktdXRpbCc7XHJcbmltcG9ydCB7IENoYXJ0Q29udGVudFRpbWUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcclxuXHJcbi8qKlxyXG4gKiBnZXQgdGhlIHRpbWUgcmFuZ2UgZm9yIGFsbCBwb3J0c1xyXG4gKi9cclxuZnVuY3Rpb24gX2dldFRvdGFsVGltZVJhbmdlKHRpbWU6IENoYXJ0Q29udGVudFRpbWUpOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGlmICh0aW1lKSB7XHJcbiAgICBsZXQgc3RhcnRUaW1lID0gNDEwMjM1ODQwMDAwMDsgLy8gMjA5OS8xMi8zMVxyXG4gICAgbGV0IGVuZFRpbWUgPSAwO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRpbWUpLmZvckVhY2gocG9ydCA9PiB7XHJcbiAgICAgIGlmICh0aW1lW3BvcnRdKSB7XHJcbiAgICAgICAgY29uc3QgdGltZVJhbmdlQ3VycmVudCA9IF9nZXRUaW1lUmFuZ2UodGltZVtwb3J0XSk7XHJcbiAgICAgICAgc3RhcnRUaW1lID0gc3RhcnRUaW1lID4gdGltZVJhbmdlQ3VycmVudC5zdGFydFRpbWUgPyB0aW1lUmFuZ2VDdXJyZW50LnN0YXJ0VGltZSA6IHN0YXJ0VGltZTtcclxuICAgICAgICBlbmRUaW1lID0gZW5kVGltZSA8IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA/IHRpbWVSYW5nZUN1cnJlbnQuZW5kVGltZSA6IGVuZFRpbWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7c3RhcnRUaW1lOiBzdGFydFRpbWUsIGVuZFRpbWU6IGVuZFRpbWV9O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIGdldCB0aGUgdGltZSByYW5nZSAoc3RhcnRUaW1lIH4gZW5kVGltZSkgYmFzZSBvbiB0aGUgdGltZSAodGhlIHhTY2FsZSlcclxuICovXHJcbmZ1bmN0aW9uIF9nZXRUaW1lUmFuZ2UodGltZTogbnVtYmVyW10pOiB7c3RhcnRUaW1lOiBudW1iZXIsIGVuZFRpbWU6IG51bWJlcn0ge1xyXG4gIGNvbnN0IGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwgPSBnZXRJZ25vcmVkTGluZU51bUZyb21UYWlsKCk7XHJcbiAgaWYgKHRpbWUpIHtcclxuICAgIGxldCBzdGFydFRpbWUgPSA0MTAyMzU4NDAwMDAwOyAvLyAyMDk5LzEyLzMxXHJcbiAgICBsZXQgZW5kVGltZSA9IDA7XHJcblxyXG4gICAgY29uc3QgbGVuID0gdGltZS5sZW5ndGg7XHJcbiAgICBpZiAobGVuID4gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCkge1xyXG4gICAgICBzdGFydFRpbWUgPSB0aW1lWzBdID4gc3RhcnRUaW1lID8gc3RhcnRUaW1lIDogdGltZVswXTtcclxuICAgICAgZW5kVGltZSA9IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdID4gZW5kVGltZSA/IHRpbWVbbGVuIC0gaWdub3JlZExpbmVOdW1Gcm9tVGFpbCAtIDFdIDogZW5kVGltZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3N0YXJ0VGltZTogc3RhcnRUaW1lLCBlbmRUaW1lOiBlbmRUaW1lfTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBnZXQgZGVmYXVsdCBsb2NhbCB0aW1lIHpvbmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0VGltZXpvbmUoKTogc3RyaW5nIHtcclxuICByZXR1cm4gbW9tZW50LnR6Lmd1ZXNzKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGltZSBmcm9tIHByb3ZpZGVkIHRpbWV6b25lLCB1c2luZyB0aGlzIG9ubHkgYmVjYXVzZSBjaGFydC5qcyBkb2Vzbid0IHN1cHBvcnQgdGltZXpvbmUuXHJcbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZW1vdmVkIHdoZW4gY2hhcnQuanMgc3RhcnRzIHRvIHN1cHBvcnQgdGltZXpvbmUgZmVhdHVyZS5cclxuICogQHBhcmFtIHRpbWUgdGltZSBpbiBzZWNvbmRzIChFcG9jaCB0aW1lKVxyXG4gKiBAcGFyYW0gdGltZXpvbmUgdGltZXpvbmUgc3RyaW5nLCB1c2VzIGxvY2FsIHRpbWV6b25lIGlmIHRoaXMgaXMgbnVsbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lRnJvbVRpbWVab25lICh0aW1lOiBudW1iZXIsIHRpbWV6b25lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gIGlmICh0aW1lem9uZSA9PSBudWxsIHx8IHRpbWV6b25lLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgdGltZXpvbmUgPSBnZXREZWZhdWx0VGltZXpvbmUoKTtcclxuICAgIGNvbnNvbGUud2FybihgZ2V0VGltZUZyb21UaW1lWm9uZSAtIElucHV0IHRpbWV6b25lIGlzIG51bGwsIHJldHVybmluZyB0aGUgbG9jYWwgKCR7dGltZXpvbmV9KSB0aW1lLiBgKTtcclxuICB9XHJcbiAgY29uc3QgdXRjT2Zmc2V0ID0gbW9tZW50LnR6LnpvbmUodGltZXpvbmUpLnV0Y09mZnNldCh0aW1lICogMTAwMCk7XHJcbiAgY29uc3QgY3VycmVudE9mZnNldCA9IG1vbWVudC50ei56b25lKGdldERlZmF1bHRUaW1lem9uZSgpKS51dGNPZmZzZXQodGltZSAqIDEwMDApO1xyXG4gIC8vIGNvbnZlcnQgdG8gdXRjIGFuZCB0aGVuIHRvIHNlbGVjdGVkIHRpbWV6b25lXHJcbiAgcmV0dXJuIHRpbWUgKyBjdXJyZW50T2Zmc2V0ICogNjAgLSB1dGNPZmZzZXQgKiA2MDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aW1lIGZvcm1hdHRlZCB3aXRoIHRoZSBwcm92aWRlZCB0aW1lem9uZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVTdHJpbmcgKHRpbWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgIHJldHVybiBtb21lbnQodGltZSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHRpbWUgcmFuZ2Ugc3RyaW5nIGJ5IHRpbWUgYXJyYXksIGVnOiAyMDE4LTEwLTI1IDEwOjEwOjAwIH4gMjAxOC0xMC0yNSAxMjoxMjowMFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVSYW5nZVN0cmluZyh0aW1lOiBhbnkpOiBzdHJpbmcge1xyXG4gIGxldCBzdGFydFRpbWVTdHJpbmcgPSAnTi9BJztcclxuICBsZXQgZW5kVGltZVN0cmluZyA9ICdOL0EnO1xyXG4gIGxldCB0aW1lUmFuZ2U7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodGltZSkpIHtcclxuICAgIHRpbWVSYW5nZSA9IF9nZXRUaW1lUmFuZ2UodGltZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRpbWVSYW5nZSA9IF9nZXRUb3RhbFRpbWVSYW5nZSh0aW1lKTtcclxuICB9XHJcblxyXG4gIGlmICh0aW1lUmFuZ2UpIHtcclxuICAgIGlmICh0aW1lUmFuZ2Uuc3RhcnRUaW1lIDwgNDEwMjM1ODQwMDAwMCkge1xyXG4gICAgICBzdGFydFRpbWVTdHJpbmcgPSBnZXRUaW1lU3RyaW5nKHRpbWVSYW5nZS5zdGFydFRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aW1lUmFuZ2UuZW5kVGltZSA+IDApIHtcclxuICAgICAgZW5kVGltZVN0cmluZyA9IGdldFRpbWVTdHJpbmcodGltZVJhbmdlLmVuZFRpbWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3N0YXJ0VGltZVN0cmluZ30gfiAke2VuZFRpbWVTdHJpbmd9YDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBwcmludCBwcm9jZXNzZWQgdGltZSBmcm9tIHRoZSBwcm92aWRlZCBiZWdpblRpbWUsIG9ubHkgd29ya3MgaW4gZGV2IG1vZGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcmludFByb2Nlc3NlZFRpbWUoYmVnaW5UaW1lOiBEYXRlLCBzdGVwOiBzdHJpbmcpOiB2b2lkIHtcclxuICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgIC8vIG9ubHkgZG8gaXQgaW4gZGV2IG1vZGVcclxuICAgIGNvbnN0IHRpbWVBZnRlciA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBwYXJzaW5nVGltZSA9ICh0aW1lQWZ0ZXIuZ2V0VGltZSgpIC0gYmVnaW5UaW1lLmdldFRpbWUoKSkgLyAxMDAwO1xyXG4gICAgY29uc29sZS5sb2coYCR7c3RlcH0sIFBhcnNpbmcgdGltZTogJHtwYXJzaW5nVGltZX0gc2Vjb25kc2ApO1xyXG4gIH1cclxufVxyXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvdGltZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLElBQXNCO0lBQ2hELElBQUksSUFBSSxFQUFFO1FBQ1IsSUFBSSxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsYUFBYTtRQUM1QyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2QsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELFNBQVMsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDNUYsT0FBTyxHQUFHLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQ25GO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUM7S0FDakQ7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGFBQWEs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QUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFlLEVBQUUsSUFBWTtJQUM5RCxJQUFJLFNBQVMsRUFBRSxFQUFFO1FBQ2YseUJBQXlCO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLG1CQUFtQixXQUFXLFVBQVUsQ0FBQyxDQUFDO0tBQzlEO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZXRJZ25vcmVkTGluZU51bUZyb21UYWlsIH0gZnJvbSAnLi91aS11dGlsJztcclxuaW1wb3J0IHsgQ2hhcnRDb250ZW50VGltZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XHJcblxyXG4vKipcclxuICogZ2V0IHRoZSB0aW1lIHJhbmdlIGZvciBhbGwgcG9ydHNcclxuICovXHJcbmZ1bmN0aW9uIF9nZXRUb3RhbFRpbWVSYW5nZSh0aW1lOiBDaGFydENvbnRlbnRUaW1lKToge3N0YXJ0VGltZTogbnVtYmVyLCBlbmRUaW1lOiBudW1iZXJ9IHtcclxuICBpZiAodGltZSkge1xyXG4gICAgbGV0IHN0YXJ0VGltZSA9IDQxMDIzNTg0MDAwMDA7IC8vIDIwOTkvMTIvMzFcclxuICAgIGxldCBlbmRUaW1lID0gMDtcclxuXHJcbiAgICBPYmplY3Qua2V5cyh0aW1lKS5mb3JFYWNoKHBvcnQgPT4ge1xyXG4gICAgICBpZiAodGltZVtwb3J0XSkge1xyXG4gICAgICAgIGNvbnN0IHRpbWVSYW5nZUN1cnJlbnQgPSBfZ2V0VGltZVJhbmdlKHRpbWVbcG9ydF0pO1xyXG4gICAgICAgIHN0YXJ0VGltZSA9IHN0YXJ0VGltZSA+IHRpbWVSYW5nZUN1cnJlbnQuc3RhcnRUaW1lID8gdGltZVJhbmdlQ3VycmVudC5zdGFydFRpbWUgOiBzdGFydFRpbWU7XHJcbiAgICAgICAgZW5kVGltZSA9IGVuZFRpbWUgPCB0aW1lUmFuZ2VDdXJyZW50LmVuZFRpbWUgPyB0aW1lUmFuZ2VDdXJyZW50LmVuZFRpbWUgOiBlbmRUaW1lO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ge3N0YXJ0VGltZTogc3RhcnRUaW1lLCBlbmRUaW1lOiBlbmRUaW1lfTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBnZXQgdGhlIHRpbWUgcmFuZ2UgKHN0YXJ0VGltZSB+IGVuZFRpbWUpIGJhc2Ugb24gdGhlIHRpbWUgKHRoZSB4U2NhbGUpXHJcbiAqL1xyXG5mdW5jdGlvbiBfZ2V0VGltZVJhbmdlKHRpbWU6IG51bWJlcltdKToge3N0YXJ0VGltZTogbnVtYmVyLCBlbmRUaW1lOiBudW1iZXJ9IHtcclxuICBjb25zdCBpZ25vcmVkTGluZU51bUZyb21UYWlsID0gZ2V0SWdub3JlZExpbmVOdW1Gcm9tVGFpbCgpO1xyXG4gIGlmICh0aW1lKSB7XHJcbiAgICBsZXQgc3RhcnRUaW1lID0gNDEwMjM1ODQwMDAwMDsgLy8gMjA5OS8xMi8zMVxyXG4gICAgbGV0IGVuZFRpbWUgPSAwO1xyXG5cclxuICAgIGNvbnN0IGxlbiA9IHRpbWUubGVuZ3RoO1xyXG4gICAgaWYgKGxlbiA+IGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwpIHtcclxuICAgICAgc3RhcnRUaW1lID0gdGltZVswXSA+IHN0YXJ0VGltZSA/IHN0YXJ0VGltZSA6IHRpbWVbMF07XHJcbiAgICAgIGVuZFRpbWUgPSB0aW1lW2xlbiAtIGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwgLSAxXSA+IGVuZFRpbWUgPyB0aW1lW2xlbiAtIGlnbm9yZWRMaW5lTnVtRnJvbVRhaWwgLSAxXSA6IGVuZFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtzdGFydFRpbWU6IHN0YXJ0VGltZSwgZW5kVGltZTogZW5kVGltZX07XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogZ2V0IGRlZmF1bHQgbG9jYWwgdGltZSB6b25lXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFRpbWV6b25lKCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIG1vbWVudC50ei5ndWVzcygpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRpbWUgZnJvbSBwcm92aWRlZCB0aW1lem9uZSwgdXNpbmcgdGhpcyBvbmx5IGJlY2F1c2UgY2hhcnQuanMgZG9lc24ndCBzdXBwb3J0IHRpbWV6b25lLlxyXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIGNoYXJ0LmpzIHN0YXJ0cyB0byBzdXBwb3J0IHRpbWV6b25lIGZlYXR1cmUuXHJcbiAqIEBwYXJhbSB0aW1lIHRpbWUgaW4gc2Vjb25kcyAoRXBvY2ggdGltZSlcclxuICogQHBhcmFtIHRpbWV6b25lIHRpbWV6b25lIHN0cmluZywgdXNlcyBsb2NhbCB0aW1lem9uZSBpZiB0aGlzIGlzIG51bGwuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZUZyb21UaW1lWm9uZSAodGltZTogbnVtYmVyLCB0aW1lem9uZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICBpZiAodGltZXpvbmUgPT0gbnVsbCB8fCB0aW1lem9uZS5sZW5ndGggPT09IDApIHtcclxuICAgIHRpbWV6b25lID0gZ2V0RGVmYXVsdFRpbWV6b25lKCk7XHJcbiAgICBjb25zb2xlLndhcm4oYGdldFRpbWVGcm9tVGltZVpvbmUgLSBJbnB1dCB0aW1lem9uZSBpcyBudWxsLCByZXR1cm5pbmcgdGhlIGxvY2FsICgke3RpbWV6b25lfSkgdGltZS4gYCk7XHJcbiAgfVxyXG4gIGNvbnN0IHV0Y09mZnNldCA9IG1vbWVudC50ei56b25lKHRpbWV6b25lKS51dGNPZmZzZXQodGltZSAqIDEwMDApO1xyXG4gIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSBtb21lbnQudHouem9uZShnZXREZWZhdWx0VGltZXpvbmUoKSkudXRjT2Zmc2V0KHRpbWUgKiAxMDAwKTtcclxuICAvLyBjb252ZXJ0IHRvIHV0YyBhbmQgdGhlbiB0byBzZWxlY3RlZCB0aW1lem9uZVxyXG4gIHJldHVybiB0aW1lICsgY3VycmVudE9mZnNldCAqIDYwIC0gdXRjT2Zmc2V0ICogNjA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGltZSBmb3JtYXR0ZWQgd2l0aCB0aGUgcHJvdmlkZWQgdGltZXpvbmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lU3RyaW5nICh0aW1lOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICByZXR1cm4gbW9tZW50KHRpbWUpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSB0aW1lIHJhbmdlIHN0cmluZyBieSB0aW1lIGFycmF5LCBlZzogMjAxOC0xMC0yNSAxMDoxMDowMCB+IDIwMTgtMTAtMjUgMTI6MTI6MDBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lUmFuZ2VTdHJpbmcodGltZTogYW55KTogc3RyaW5nIHtcclxuICBsZXQgc3RhcnRUaW1lU3RyaW5nID0gJ04vQSc7XHJcbiAgbGV0IGVuZFRpbWVTdHJpbmcgPSAnTi9BJztcclxuICBsZXQgdGltZVJhbmdlO1xyXG4gIGlmIChBcnJheS5pc0FycmF5KHRpbWUpKSB7XHJcbiAgICB0aW1lUmFuZ2UgPSBfZ2V0VGltZVJhbmdlKHRpbWUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aW1lUmFuZ2UgPSBfZ2V0VG90YWxUaW1lUmFuZ2UodGltZSk7XHJcbiAgfVxyXG5cclxuICBpZiAodGltZVJhbmdlKSB7XHJcbiAgICBpZiAodGltZVJhbmdlLnN0YXJ0VGltZSA8IDQxMDIzNTg0MDAwMDApIHtcclxuICAgICAgc3RhcnRUaW1lU3RyaW5nID0gZ2V0VGltZVN0cmluZyh0aW1lUmFuZ2Uuc3RhcnRUaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGltZVJhbmdlLmVuZFRpbWUgPiAwKSB7XHJcbiAgICAgIGVuZFRpbWVTdHJpbmcgPSBnZXRUaW1lU3RyaW5nKHRpbWVSYW5nZS5lbmRUaW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtzdGFydFRpbWVTdHJpbmd9IH4gJHtlbmRUaW1lU3RyaW5nfWA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogcHJpbnQgcHJvY2Vzc2VkIHRpbWUgZnJvbSB0aGUgcHJvdmlkZWQgYmVnaW5UaW1lLCBvbmx5IHdvcmtzIGluIGRldiBtb2RlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRQcm9jZXNzZWRUaW1lKGJlZ2luVGltZTogRGF0ZSwgc3RlcDogc3RyaW5nKTogdm9pZCB7XHJcbiAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAvLyBvbmx5IGRvIGl0IGluIGRldiBtb2RlXHJcbiAgICBjb25zdCB0aW1lQWZ0ZXIgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgcGFyc2luZ1RpbWUgPSAodGltZUFmdGVyLmdldFRpbWUoKSAtIGJlZ2luVGltZS5nZXRUaW1lKCkpIC8gMTAwMDtcclxuICAgIGNvbnNvbGUubG9nKGAke3N0ZXB9LCBQYXJzaW5nIHRpbWU6ICR7cGFyc2luZ1RpbWV9IHNlY29uZHNgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -6,8 +6,7 @@ import * as i2$1 from '@angular/forms';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import * as i1$1 from '@danielmoncada/angular-datetime-picker';
8
8
  import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
9
- import * as moment from 'moment-timezone';
10
- import moment__default from 'moment-timezone';
9
+ import * as moment$2 from 'moment-timezone';
11
10
  import * as i2 from 'ngx-dropdown-list';
12
11
  import { DropdownListModule } from 'ngx-dropdown-list';
13
12
  import { __awaiter } from 'tslib';
@@ -16,7 +15,7 @@ import * as chartjs from 'chart.js';
16
15
  import { Chart as Chart$2 } from 'chart.js';
17
16
  import { parse } from 'papaparse';
18
17
  import * as hammerjs from 'hammerjs';
19
- import moment$1 from 'moment';
18
+ import * as moment_module from 'moment';
20
19
  import * as i8 from 'ngx-selection-table';
21
20
  import { SelectionTableModule } from 'ngx-selection-table';
22
21
 
@@ -550,7 +549,7 @@ function _getTimeRange(time) {
550
549
  * get default local time zone
551
550
  */
552
551
  function getDefaultTimezone() {
553
- return moment__default.tz.guess();
552
+ return moment$2.tz.guess();
554
553
  }
555
554
  /**
556
555
  * Get time from provided timezone, using this only because chart.js doesn't support timezone.
@@ -563,8 +562,8 @@ function getTimeFromTimeZone(time, timezone) {
563
562
  timezone = getDefaultTimezone();
564
563
  console.warn(`getTimeFromTimeZone - Input timezone is null, returning the local (${timezone}) time. `);
565
564
  }
566
- const utcOffset = moment__default.tz.zone(timezone).utcOffset(time * 1000);
567
- const currentOffset = moment__default.tz.zone(getDefaultTimezone()).utcOffset(time * 1000);
565
+ const utcOffset = moment$2.tz.zone(timezone).utcOffset(time * 1000);
566
+ const currentOffset = moment$2.tz.zone(getDefaultTimezone()).utcOffset(time * 1000);
568
567
  // convert to utc and then to selected timezone
569
568
  return time + currentOffset * 60 - utcOffset * 60;
570
569
  }
@@ -572,7 +571,7 @@ function getTimeFromTimeZone(time, timezone) {
572
571
  * Get time formatted with the provided timezone
573
572
  */
574
573
  function getTimeString(time) {
575
- return moment__default(time).format('YYYY-MM-DD HH:mm:ss');
574
+ return moment$2(time).format('YYYY-MM-DD HH:mm:ss');
576
575
  }
577
576
  /**
578
577
  * Get the time range string by time array, eg: 2018-10-25 10:10:00 ~ 2018-10-25 12:12:00
@@ -774,7 +773,7 @@ class TimezoneSelectorService {
774
773
  */
775
774
  getZones() {
776
775
  const timezones = [];
777
- const zones = moment.tz.names();
776
+ const zones = moment$2.tz.names();
778
777
  zones.forEach(zone => {
779
778
  // get region
780
779
  let region;
@@ -831,7 +830,7 @@ class TimezoneSelectorComponent {
831
830
  return tz[tz.length - 1].replace('_', ' ');
832
831
  }
833
832
  _getOffset(zone) {
834
- let offset = moment__default.tz(zone).utcOffset();
833
+ let offset = moment$2.tz(zone).utcOffset();
835
834
  const neg = offset < 0;
836
835
  if (neg) {
837
836
  offset = -1 * offset;
@@ -1942,11 +1941,17 @@ class ChartService {
1942
1941
  * generate configuration for chart and create the chart object.
1943
1942
  */
1944
1943
  buildChart(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB) {
1945
- return new Promise((resolve) => {
1946
- const ctx = document.getElementById('chartNameServerHistory').getContext('2d');
1947
- const cfg = ChartService._generateChartConfig(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB);
1948
- this._chart = new Chart$2(ctx, cfg);
1949
- resolve();
1944
+ return new Promise((resolve, reject) => {
1945
+ var _a;
1946
+ const ctx = (_a = document.getElementById('chartNameServerHistory')) === null || _a === void 0 ? void 0 : _a.getContext('2d');
1947
+ if (ctx) {
1948
+ const cfg = ChartService._generateChartConfig(time, data, yScale, header, headerKey, selection, tableSource, title, defaultItems, zoomCB);
1949
+ this._chart = new Chart$2(ctx, cfg);
1950
+ resolve();
1951
+ }
1952
+ else {
1953
+ reject('Can not find the canvas.');
1954
+ }
1950
1955
  });
1951
1956
  }
1952
1957
  /**
@@ -2706,6 +2711,7 @@ class LTTBDataMipmap extends DataMipmap {
2706
2711
  }
2707
2712
  }
2708
2713
 
2714
+ const moment$1 = (window && window.moment) ? window.moment : moment_module;
2709
2715
  function getCompareValue(value) {
2710
2716
  if (typeof value === 'number') {
2711
2717
  return value;
@@ -2784,6 +2790,7 @@ function cullData(data, range) {
2784
2790
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2785
2791
  * SOFTWARE.
2786
2792
  */
2793
+ const moment = (window && window.moment) ? window.moment : moment_module;
2787
2794
  // Using dynamic flag to fix the issue of ng-packagr #696: Lambda not supported
2788
2795
  // @dynamic
2789
2796
  /**
@@ -2840,8 +2847,8 @@ class ResponsiveDownsamplePlugin {
2840
2847
  if (isNil(xScale)) {
2841
2848
  return null;
2842
2849
  }
2843
- const start = moment$1(xScale.getValueForPixel(xScale.left));
2844
- const end = moment$1(xScale.getValueForPixel(xScale.left + 1));
2850
+ const start = moment(xScale.getValueForPixel(xScale.left));
2851
+ const end = moment(xScale.getValueForPixel(xScale.left + 1));
2845
2852
  const targetResolution = end.diff(start);
2846
2853
  return targetResolution * options.desiredDataPointDistance;
2847
2854
  }
@@ -3526,19 +3533,6 @@ class NameServerHistoryComponent {
3526
3533
  this.stepShowChart = false;
3527
3534
  this.searchType = SearchType.searchAll;
3528
3535
  }
3529
- ngOnInit() {
3530
- // this.timezone = this.defaultTimezone;
3531
- this.onResize();
3532
- // init items' status
3533
- // reset chart button will be disable by default later, only be enabled after zoomed
3534
- this._toggleItems([
3535
- { id: HtmlElement.chartArea, status: false },
3536
- { id: HtmlElement.readFileProgress, status: false },
3537
- { id: HtmlElement.showChartButton, status: false },
3538
- { id: HtmlElement.loadPortsButton, status: true },
3539
- { id: HtmlElement.resetChartButton, status: false }
3540
- ]);
3541
- }
3542
3536
  ngOnChanges(changes) {
3543
3537
  return __awaiter(this, void 0, void 0, function* () {
3544
3538
  const fbc = changes.fileBuffer;
@@ -3548,16 +3542,27 @@ class NameServerHistoryComponent {
3548
3542
  yield this.fileSelected(simulatedEvent);
3549
3543
  this.port = undefined; // clear the port selection
3550
3544
  if (this.autoDisplay) {
3551
- this.onResize(); // update the size, otherwise there may have a scrollbar (because of the toast) if auto display is set to true
3552
3545
  this.showChart();
3553
3546
  }
3554
3547
  }
3555
3548
  });
3556
3549
  }
3550
+ ngAfterViewInit() {
3551
+ // init items' status
3552
+ // reset chart button will be disable by default later, only be enabled after zoomed
3553
+ this._toggleItems([
3554
+ { id: HtmlElement.chartArea, status: false },
3555
+ { id: HtmlElement.readFileProgress, status: false },
3556
+ { id: HtmlElement.showChartButton, status: false },
3557
+ { id: HtmlElement.loadPortsButton, status: true },
3558
+ { id: HtmlElement.resetChartButton, status: false }
3559
+ ]);
3560
+ this.onResize(); // update the size, otherwise there may have a scrollbar (because of the toast) if auto display is set to true
3561
+ }
3557
3562
  /**
3558
- * Reset Chart to initial status
3559
- * If legend is already selected/unselected from the list, it wouldn't be restored.
3560
- */
3563
+ * Reset Chart to initial status
3564
+ * If legend is already selected/unselected from the list, it wouldn't be restored.
3565
+ */
3561
3566
  resetChart() {
3562
3567
  this._toggleItems([{ id: HtmlElement.resetChartButton, status: false }]);
3563
3568
  if (this.tableSource && this._selection) {