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

mjolnir.js

Package Overview
Dependencies
Maintainers
3
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mjolnir.js - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

CHANGELOG.md

30

dist/constants.js

@@ -6,3 +6,3 @@ 'use strict';

});
exports.GESTURE_EVENT_ALIASES = exports.EVENT_RECOGNIZER_MAP = exports.INPUT_EVENT_TYPES = exports.BASIC_EVENT_ALIASES = exports.RECOGNIZERS = undefined;
exports.GESTURE_EVENT_ALIASES = exports.EVENT_RECOGNIZER_MAP = exports.INPUT_EVENT_TYPES = exports.BASIC_EVENT_ALIASES = exports.RECOGNIZER_FALLBACK_MAP = exports.RECOGNIZER_COMPATIBLE_MAP = exports.RECOGNIZERS = undefined;

@@ -17,11 +17,5 @@ var _hammer = require('./utils/hammer');

// due to `window`/`document` references downstream.
var RECOGNIZERS = exports.RECOGNIZERS = _hammer2.default ? [[_hammer2.default.Rotate, { enable: false }], [_hammer2.default.Pinch, { enable: false }, ['rotate']], [_hammer2.default.Pan, { threshold: 0, enable: false }], [_hammer2.default.Swipe, { enable: false }], [_hammer2.default.Press, { enable: false }], [_hammer2.default.Tap, { event: 'doubletap', taps: 2, enable: false }], [_hammer2.default.Tap, { enable: false }]] : null;
var RECOGNIZERS = exports.RECOGNIZERS = _hammer2.default ? [[_hammer2.default.Rotate, { enable: false }], [_hammer2.default.Pinch, { enable: false }], [_hammer2.default.Swipe, { enable: false }], [_hammer2.default.Pan, { threshold: 0, enable: false }], [_hammer2.default.Press, { enable: false }], [_hammer2.default.Tap, { event: 'doubletap', taps: 2, enable: false }], [_hammer2.default.Tap, { enable: false }]] : null;
/**
* Only one set of basic input events will be fired by Hammer.js:
* either pointer, touch, or mouse, depending on system support.
* In order to enable an application to be agnostic of system support,
* alias basic input events into "classes" of events: down, move, and up.
* See `_onBasicInput()` for usage of these aliases.
*/
// Recognize the following gestures even if a given recognizer succeeds
// Copyright (c) 2017 Uber Technologies, Inc.

@@ -47,2 +41,18 @@ //

var RECOGNIZER_COMPATIBLE_MAP = exports.RECOGNIZER_COMPATIBLE_MAP = {
rotate: ['pinch']
};
// Recognize the folling gestures only if a given recognizer fails
var RECOGNIZER_FALLBACK_MAP = exports.RECOGNIZER_FALLBACK_MAP = {
doubletap: ['tap']
};
/**
* Only one set of basic input events will be fired by Hammer.js:
* either pointer, touch, or mouse, depending on system support.
* In order to enable an application to be agnostic of system support,
* alias basic input events into "classes" of events: down, move, and up.
* See `_onBasicInput()` for usage of these aliases.
*/
var BASIC_EVENT_ALIASES = exports.BASIC_EVENT_ALIASES = {

@@ -123,2 +133,2 @@ pointerdown: 'pointerdown',

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiUkVDT0dOSVpFUlMiLCJSb3RhdGUiLCJlbmFibGUiLCJQaW5jaCIsIlBhbiIsInRocmVzaG9sZCIsIlN3aXBlIiwiUHJlc3MiLCJUYXAiLCJldmVudCIsInRhcHMiLCJCQVNJQ19FVkVOVF9BTElBU0VTIiwicG9pbnRlcmRvd24iLCJwb2ludGVybW92ZSIsInBvaW50ZXJ1cCIsInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCIsIm1vdXNlZG93biIsIm1vdXNlbW92ZSIsIm1vdXNldXAiLCJJTlBVVF9FVkVOVF9UWVBFUyIsIktFWV9FVkVOVFMiLCJNT1VTRV9FVkVOVFMiLCJXSEVFTF9FVkVOVFMiLCJFVkVOVF9SRUNPR05JWkVSX01BUCIsInRhcCIsImRvdWJsZXRhcCIsInByZXNzIiwicGluY2giLCJwaW5jaGluIiwicGluY2hvdXQiLCJwaW5jaHN0YXJ0IiwicGluY2htb3ZlIiwicGluY2hlbmQiLCJwaW5jaGNhbmNlbCIsInJvdGF0ZSIsInJvdGF0ZXN0YXJ0Iiwicm90YXRlbW92ZSIsInJvdGF0ZWVuZCIsInJvdGF0ZWNhbmNlbCIsInBhbiIsInBhbnN0YXJ0IiwicGFubW92ZSIsInBhbnVwIiwicGFuZG93biIsInBhbmxlZnQiLCJwYW5yaWdodCIsInBhbmVuZCIsInBhbmNhbmNlbCIsInN3aXBlIiwic3dpcGVsZWZ0Iiwic3dpcGVyaWdodCIsInN3aXBldXAiLCJzd2lwZWRvd24iLCJHRVNUVVJFX0VWRU5UX0FMSUFTRVMiLCJjbGljayIsImRibGNsaWNrIiwibW91c2VsZWF2ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQW9CQTs7Ozs7O0FBRUE7QUFDQTtBQUNPLElBQU1BLG9DQUFjLG1CQUFTLENBQ2xDLENBQUMsaUJBQU9DLE1BQVIsRUFBZ0IsRUFBQ0MsUUFBUSxLQUFULEVBQWhCLENBRGtDLEVBRWxDLENBQUMsaUJBQU9DLEtBQVIsRUFBZSxFQUFDRCxRQUFRLEtBQVQsRUFBZixFQUFnQyxDQUFDLFFBQUQsQ0FBaEMsQ0FGa0MsRUFHbEMsQ0FBQyxpQkFBT0UsR0FBUixFQUFhLEVBQUNDLFdBQVcsQ0FBWixFQUFlSCxRQUFRLEtBQXZCLEVBQWIsQ0FIa0MsRUFJbEMsQ0FBQyxpQkFBT0ksS0FBUixFQUFlLEVBQUNKLFFBQVEsS0FBVCxFQUFmLENBSmtDLEVBS2xDLENBQUMsaUJBQU9LLEtBQVIsRUFBZSxFQUFDTCxRQUFRLEtBQVQsRUFBZixDQUxrQyxFQU1sQyxDQUFDLGlCQUFPTSxHQUFSLEVBQWEsRUFBQ0MsT0FBTyxXQUFSLEVBQXFCQyxNQUFNLENBQTNCLEVBQThCUixRQUFRLEtBQXRDLEVBQWIsQ0FOa0MsRUFPbEMsQ0FBQyxpQkFBT00sR0FBUixFQUFhLEVBQUNOLFFBQVEsS0FBVCxFQUFiLENBUGtDLENBQVQsR0FRdkIsSUFSRzs7QUFVUDs7Ozs7OztBQWxDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUF1Qk8sSUFBTVMsb0RBQXNCO0FBQ2pDQyxlQUFhLGFBRG9CO0FBRWpDQyxlQUFhLGFBRm9CO0FBR2pDQyxhQUFXLFdBSHNCO0FBSWpDQyxjQUFZLGFBSnFCO0FBS2pDQyxhQUFXLGFBTHNCO0FBTWpDQyxZQUFVLFdBTnVCO0FBT2pDQyxhQUFXLGFBUHNCO0FBUWpDQyxhQUFXLGFBUnNCO0FBU2pDQyxXQUFTO0FBVHdCLENBQTVCOztBQVlBLElBQU1DLGdEQUFvQjtBQUMvQkMsY0FBWSxDQUNWLFNBRFUsRUFFVixPQUZVLENBRG1CO0FBSy9CQyxnQkFBYyxDQUNaLFdBRFksRUFFWixXQUZZLEVBR1osU0FIWSxFQUlaLFlBSlksQ0FMaUI7QUFXL0JDLGdCQUFjO0FBQ1o7QUFDQSxTQUZZO0FBR1o7QUFDQSxjQUpZO0FBS1o7QUFDQSxrQkFOWTtBQVhpQixDQUExQjs7QUFxQlA7Ozs7OztBQU1PLElBQU1DLHNEQUF1QjtBQUNsQ0MsT0FBSyxLQUQ2QjtBQUVsQ0MsYUFBVyxXQUZ1QjtBQUdsQ0MsU0FBTyxPQUgyQjtBQUlsQ0MsU0FBTyxPQUoyQjtBQUtsQ0MsV0FBUyxPQUx5QjtBQU1sQ0MsWUFBVSxPQU53QjtBQU9sQ0MsY0FBWSxPQVBzQjtBQVFsQ0MsYUFBVyxPQVJ1QjtBQVNsQ0MsWUFBVSxPQVR3QjtBQVVsQ0MsZUFBYSxPQVZxQjtBQVdsQ0MsVUFBUSxRQVgwQjtBQVlsQ0MsZUFBYSxRQVpxQjtBQWFsQ0MsY0FBWSxRQWJzQjtBQWNsQ0MsYUFBVyxRQWR1QjtBQWVsQ0MsZ0JBQWMsUUFmb0I7QUFnQmxDQyxPQUFLLEtBaEI2QjtBQWlCbENDLFlBQVUsS0FqQndCO0FBa0JsQ0MsV0FBUyxLQWxCeUI7QUFtQmxDQyxTQUFPLEtBbkIyQjtBQW9CbENDLFdBQVMsS0FwQnlCO0FBcUJsQ0MsV0FBUyxLQXJCeUI7QUFzQmxDQyxZQUFVLEtBdEJ3QjtBQXVCbENDLFVBQVEsS0F2QjBCO0FBd0JsQ0MsYUFBVyxLQXhCdUI7QUF5QmxDQyxTQUFPLE9BekIyQjtBQTBCbENDLGFBQVcsT0ExQnVCO0FBMkJsQ0MsY0FBWSxPQTNCc0I7QUE0QmxDQyxXQUFTLE9BNUJ5QjtBQTZCbENDLGFBQVc7QUE3QnVCLENBQTdCOztBQWdDUDs7Ozs7QUFLTyxJQUFNQyx3REFBd0I7QUFDbkNDLFNBQU8sS0FENEI7QUFFbkNDLFlBQVUsV0FGeUI7QUFHbkN2QyxhQUFXLGFBSHdCO0FBSW5DQyxhQUFXLGFBSndCO0FBS25DQyxXQUFTLFdBTDBCO0FBTW5Dc0MsY0FBWTtBQU51QixDQUE5QiIsImZpbGUiOiJjb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTcgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgSGFtbWVyIGZyb20gJy4vdXRpbHMvaGFtbWVyJztcblxuLy8gVGhpcyBtb2R1bGUgY29udGFpbnMgY29uc3RhbnRzIHRoYXQgbXVzdCBiZSBjb25kaXRpb25hbGx5IHJlcXVpcmVkXG4vLyBkdWUgdG8gYHdpbmRvd2AvYGRvY3VtZW50YCByZWZlcmVuY2VzIGRvd25zdHJlYW0uXG5leHBvcnQgY29uc3QgUkVDT0dOSVpFUlMgPSBIYW1tZXIgPyBbXG4gIFtIYW1tZXIuUm90YXRlLCB7ZW5hYmxlOiBmYWxzZX1dLFxuICBbSGFtbWVyLlBpbmNoLCB7ZW5hYmxlOiBmYWxzZX0sIFsncm90YXRlJ11dLFxuICBbSGFtbWVyLlBhbiwge3RocmVzaG9sZDogMCwgZW5hYmxlOiBmYWxzZX1dLFxuICBbSGFtbWVyLlN3aXBlLCB7ZW5hYmxlOiBmYWxzZX1dLFxuICBbSGFtbWVyLlByZXNzLCB7ZW5hYmxlOiBmYWxzZX1dLFxuICBbSGFtbWVyLlRhcCwge2V2ZW50OiAnZG91YmxldGFwJywgdGFwczogMiwgZW5hYmxlOiBmYWxzZX1dLFxuICBbSGFtbWVyLlRhcCwge2VuYWJsZTogZmFsc2V9XVxuXSA6IG51bGw7XG5cbi8qKlxuICogT25seSBvbmUgc2V0IG9mIGJhc2ljIGlucHV0IGV2ZW50cyB3aWxsIGJlIGZpcmVkIGJ5IEhhbW1lci5qczpcbiAqIGVpdGhlciBwb2ludGVyLCB0b3VjaCwgb3IgbW91c2UsIGRlcGVuZGluZyBvbiBzeXN0ZW0gc3VwcG9ydC5cbiAqIEluIG9yZGVyIHRvIGVuYWJsZSBhbiBhcHBsaWNhdGlvbiB0byBiZSBhZ25vc3RpYyBvZiBzeXN0ZW0gc3VwcG9ydCxcbiAqIGFsaWFzIGJhc2ljIGlucHV0IGV2ZW50cyBpbnRvIFwiY2xhc3Nlc1wiIG9mIGV2ZW50czogZG93biwgbW92ZSwgYW5kIHVwLlxuICogU2VlIGBfb25CYXNpY0lucHV0KClgIGZvciB1c2FnZSBvZiB0aGVzZSBhbGlhc2VzLlxuICovXG5leHBvcnQgY29uc3QgQkFTSUNfRVZFTlRfQUxJQVNFUyA9IHtcbiAgcG9pbnRlcmRvd246ICdwb2ludGVyZG93bicsXG4gIHBvaW50ZXJtb3ZlOiAncG9pbnRlcm1vdmUnLFxuICBwb2ludGVydXA6ICdwb2ludGVydXAnLFxuICB0b3VjaHN0YXJ0OiAncG9pbnRlcmRvd24nLFxuICB0b3VjaG1vdmU6ICdwb2ludGVybW92ZScsXG4gIHRvdWNoZW5kOiAncG9pbnRlcnVwJyxcbiAgbW91c2Vkb3duOiAncG9pbnRlcmRvd24nLFxuICBtb3VzZW1vdmU6ICdwb2ludGVybW92ZScsXG4gIG1vdXNldXA6ICdwb2ludGVydXAnXG59O1xuXG5leHBvcnQgY29uc3QgSU5QVVRfRVZFTlRfVFlQRVMgPSB7XG4gIEtFWV9FVkVOVFM6IFtcbiAgICAna2V5ZG93bicsXG4gICAgJ2tleXVwJ1xuICBdLFxuICBNT1VTRV9FVkVOVFM6IFtcbiAgICAnbW91c2Vkb3duJyxcbiAgICAnbW91c2Vtb3ZlJyxcbiAgICAnbW91c2V1cCcsXG4gICAgJ21vdXNlbGVhdmUnXG4gIF0sXG4gIFdIRUVMX0VWRU5UUzogW1xuICAgIC8vIENocm9tZSwgU2FmYXJpXG4gICAgJ3doZWVsJyxcbiAgICAvLyBJRVxuICAgICdtb3VzZXdoZWVsJyxcbiAgICAvLyBsZWdhY3kgRmlyZWZveFxuICAgICdET01Nb3VzZVNjcm9sbCdcbiAgXVxufTtcblxuLyoqXG4gKiBcIkdlc3R1cmFsXCIgZXZlbnRzIGFyZSB0aG9zZSB0aGF0IGhhdmUgc2VtYW50aWMgbWVhbmluZyBiZXlvbmQgdGhlIGJhc2ljIGlucHV0IGV2ZW50LFxuICogZS5nLiBhIGNsaWNrIG9yIHRhcCBpcyBhIHNlcXVlbmNlIG9mIGBkb3duYCBhbmQgYHVwYCBldmVudHMgd2l0aCBubyBgbW92ZWAgZXZlbnQgaW4gYmV0d2Vlbi5cbiAqIEhhbW1lci5qcyBoYW5kbGVzIHRoZXNlIHdpdGggaXRzIFJlY29nbml6ZXIgc3lzdGVtO1xuICogdGhpcyBibG9jayBtYXBzIGV2ZW50IG5hbWVzIHRvIHRoZSBSZWNvZ25pemVycyByZXF1aXJlZCB0byBkZXRlY3QgdGhlIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGNvbnN0IEVWRU5UX1JFQ09HTklaRVJfTUFQID0ge1xuICB0YXA6ICd0YXAnLFxuICBkb3VibGV0YXA6ICdkb3VibGV0YXAnLFxuICBwcmVzczogJ3ByZXNzJyxcbiAgcGluY2g6ICdwaW5jaCcsXG4gIHBpbmNoaW46ICdwaW5jaCcsXG4gIHBpbmNob3V0OiAncGluY2gnLFxuICBwaW5jaHN0YXJ0OiAncGluY2gnLFxuICBwaW5jaG1vdmU6ICdwaW5jaCcsXG4gIHBpbmNoZW5kOiAncGluY2gnLFxuICBwaW5jaGNhbmNlbDogJ3BpbmNoJyxcbiAgcm90YXRlOiAncm90YXRlJyxcbiAgcm90YXRlc3RhcnQ6ICdyb3RhdGUnLFxuICByb3RhdGVtb3ZlOiAncm90YXRlJyxcbiAgcm90YXRlZW5kOiAncm90YXRlJyxcbiAgcm90YXRlY2FuY2VsOiAncm90YXRlJyxcbiAgcGFuOiAncGFuJyxcbiAgcGFuc3RhcnQ6ICdwYW4nLFxuICBwYW5tb3ZlOiAncGFuJyxcbiAgcGFudXA6ICdwYW4nLFxuICBwYW5kb3duOiAncGFuJyxcbiAgcGFubGVmdDogJ3BhbicsXG4gIHBhbnJpZ2h0OiAncGFuJyxcbiAgcGFuZW5kOiAncGFuJyxcbiAgcGFuY2FuY2VsOiAncGFuJyxcbiAgc3dpcGU6ICdzd2lwZScsXG4gIHN3aXBlbGVmdDogJ3N3aXBlJyxcbiAgc3dpcGVyaWdodDogJ3N3aXBlJyxcbiAgc3dpcGV1cDogJ3N3aXBlJyxcbiAgc3dpcGVkb3duOiAnc3dpcGUnXG59O1xuXG4vKipcbiAqIE1hcCBnZXN0dXJhbCBldmVudHMgdHlwaWNhbGx5IHByb3ZpZGVkIGJ5IGJyb3dzZXJzXG4gKiB0aGF0IGFyZSBub3QgcmVwb3J0ZWQgaW4gJ2hhbW1lci5pbnB1dCcgZXZlbnRzXG4gKiB0byBjb3JyZXNwb25kaW5nIEhhbW1lci5qcyBnZXN0dXJlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdFU1RVUkVfRVZFTlRfQUxJQVNFUyA9IHtcbiAgY2xpY2s6ICd0YXAnLFxuICBkYmxjbGljazogJ2RvdWJsZXRhcCcsXG4gIG1vdXNlZG93bjogJ3BvaW50ZXJkb3duJyxcbiAgbW91c2Vtb3ZlOiAncG9pbnRlcm1vdmUnLFxuICBtb3VzZXVwOiAncG9pbnRlcnVwJyxcbiAgbW91c2VsZWF2ZTogJ3BvaW50ZXJsZWF2ZSdcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiUkVDT0dOSVpFUlMiLCJSb3RhdGUiLCJlbmFibGUiLCJQaW5jaCIsIlN3aXBlIiwiUGFuIiwidGhyZXNob2xkIiwiUHJlc3MiLCJUYXAiLCJldmVudCIsInRhcHMiLCJSRUNPR05JWkVSX0NPTVBBVElCTEVfTUFQIiwicm90YXRlIiwiUkVDT0dOSVpFUl9GQUxMQkFDS19NQVAiLCJkb3VibGV0YXAiLCJCQVNJQ19FVkVOVF9BTElBU0VTIiwicG9pbnRlcmRvd24iLCJwb2ludGVybW92ZSIsInBvaW50ZXJ1cCIsInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCIsIm1vdXNlZG93biIsIm1vdXNlbW92ZSIsIm1vdXNldXAiLCJJTlBVVF9FVkVOVF9UWVBFUyIsIktFWV9FVkVOVFMiLCJNT1VTRV9FVkVOVFMiLCJXSEVFTF9FVkVOVFMiLCJFVkVOVF9SRUNPR05JWkVSX01BUCIsInRhcCIsInByZXNzIiwicGluY2giLCJwaW5jaGluIiwicGluY2hvdXQiLCJwaW5jaHN0YXJ0IiwicGluY2htb3ZlIiwicGluY2hlbmQiLCJwaW5jaGNhbmNlbCIsInJvdGF0ZXN0YXJ0Iiwicm90YXRlbW92ZSIsInJvdGF0ZWVuZCIsInJvdGF0ZWNhbmNlbCIsInBhbiIsInBhbnN0YXJ0IiwicGFubW92ZSIsInBhbnVwIiwicGFuZG93biIsInBhbmxlZnQiLCJwYW5yaWdodCIsInBhbmVuZCIsInBhbmNhbmNlbCIsInN3aXBlIiwic3dpcGVsZWZ0Iiwic3dpcGVyaWdodCIsInN3aXBldXAiLCJzd2lwZWRvd24iLCJHRVNUVVJFX0VWRU5UX0FMSUFTRVMiLCJjbGljayIsImRibGNsaWNrIiwibW91c2VsZWF2ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQW9CQTs7Ozs7O0FBRUE7QUFDQTtBQUNPLElBQU1BLG9DQUFjLG1CQUFTLENBQ2xDLENBQUMsaUJBQU9DLE1BQVIsRUFBZ0IsRUFBQ0MsUUFBUSxLQUFULEVB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YykgMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBIYW1tZXIgZnJvbSAnLi91dGlscy9oYW1tZXInO1xuXG4vLyBUaGlzIG1vZHVsZSBjb250YWlucyBjb25zdGFudHMgdGhhdCBtdXN0IGJlIGNvbmRpdGlvbmFsbHkgcmVxdWlyZWRcbi8vIGR1ZSB0byBgd2luZG93YC9gZG9jdW1lbnRgIHJlZmVyZW5jZXMgZG93bnN0cmVhbS5cbmV4cG9ydCBjb25zdCBSRUNPR05JWkVSUyA9IEhhbW1lciA/IFtcbiAgW0hhbW1lci5Sb3RhdGUsIHtlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuUGluY2gsIHtlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuU3dpcGUsIHtlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuUGFuLCB7dGhyZXNob2xkOiAwLCBlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuUHJlc3MsIHtlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuVGFwLCB7ZXZlbnQ6ICdkb3VibGV0YXAnLCB0YXBzOiAyLCBlbmFibGU6IGZhbHNlfV0sXG4gIFtIYW1tZXIuVGFwLCB7ZW5hYmxlOiBmYWxzZX1dXG5dIDogbnVsbDtcblxuLy8gUmVjb2duaXplIHRoZSBmb2xsb3dpbmcgZ2VzdHVyZXMgZXZlbiBpZiBhIGdpdmVuIHJlY29nbml6ZXIgc3VjY2VlZHNcbmV4cG9ydCBjb25zdCBSRUNPR05JWkVSX0NPTVBBVElCTEVfTUFQID0ge1xuICByb3RhdGU6IFsncGluY2gnXVxufTtcblxuLy8gUmVjb2duaXplIHRoZSBmb2xsaW5nIGdlc3R1cmVzIG9ubHkgaWYgYSBnaXZlbiByZWNvZ25pemVyIGZhaWxzXG5leHBvcnQgY29uc3QgUkVDT0dOSVpFUl9GQUxMQkFDS19NQVAgPSB7XG4gIGRvdWJsZXRhcDogWyd0YXAnXVxufTtcblxuLyoqXG4gKiBPbmx5IG9uZSBzZXQgb2YgYmFzaWMgaW5wdXQgZXZlbnRzIHdpbGwgYmUgZmlyZWQgYnkgSGFtbWVyLmpzOlxuICogZWl0aGVyIHBvaW50ZXIsIHRvdWNoLCBvciBtb3VzZSwgZGVwZW5kaW5nIG9uIHN5c3RlbSBzdXBwb3J0LlxuICogSW4gb3JkZXIgdG8gZW5hYmxlIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGFnbm9zdGljIG9mIHN5c3RlbSBzdXBwb3J0LFxuICogYWxpYXMgYmFzaWMgaW5wdXQgZXZlbnRzIGludG8gXCJjbGFzc2VzXCIgb2YgZXZlbnRzOiBkb3duLCBtb3ZlLCBhbmQgdXAuXG4gKiBTZWUgYF9vbkJhc2ljSW5wdXQoKWAgZm9yIHVzYWdlIG9mIHRoZXNlIGFsaWFzZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBCQVNJQ19FVkVOVF9BTElBU0VTID0ge1xuICBwb2ludGVyZG93bjogJ3BvaW50ZXJkb3duJyxcbiAgcG9pbnRlcm1vdmU6ICdwb2ludGVybW92ZScsXG4gIHBvaW50ZXJ1cDogJ3BvaW50ZXJ1cCcsXG4gIHRvdWNoc3RhcnQ6ICdwb2ludGVyZG93bicsXG4gIHRvdWNobW92ZTogJ3BvaW50ZXJtb3ZlJyxcbiAgdG91Y2hlbmQ6ICdwb2ludGVydXAnLFxuICBtb3VzZWRvd246ICdwb2ludGVyZG93bicsXG4gIG1vdXNlbW92ZTogJ3BvaW50ZXJtb3ZlJyxcbiAgbW91c2V1cDogJ3BvaW50ZXJ1cCdcbn07XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9FVkVOVF9UWVBFUyA9IHtcbiAgS0VZX0VWRU5UUzogW1xuICAgICdrZXlkb3duJyxcbiAgICAna2V5dXAnXG4gIF0sXG4gIE1PVVNFX0VWRU5UUzogW1xuICAgICdtb3VzZWRvd24nLFxuICAgICdtb3VzZW1vdmUnLFxuICAgICdtb3VzZXVwJyxcbiAgICAnbW91c2VsZWF2ZSdcbiAgXSxcbiAgV0hFRUxfRVZFTlRTOiBbXG4gICAgLy8gQ2hyb21lLCBTYWZhcmlcbiAgICAnd2hlZWwnLFxuICAgIC8vIElFXG4gICAgJ21vdXNld2hlZWwnLFxuICAgIC8vIGxlZ2FjeSBGaXJlZm94XG4gICAgJ0RPTU1vdXNlU2Nyb2xsJ1xuICBdXG59O1xuXG4vKipcbiAqIFwiR2VzdHVyYWxcIiBldmVudHMgYXJlIHRob3NlIHRoYXQgaGF2ZSBzZW1hbnRpYyBtZWFuaW5nIGJleW9uZCB0aGUgYmFzaWMgaW5wdXQgZXZlbnQsXG4gKiBlLmcuIGEgY2xpY2sgb3IgdGFwIGlzIGEgc2VxdWVuY2Ugb2YgYGRvd25gIGFuZCBgdXBgIGV2ZW50cyB3aXRoIG5vIGBtb3ZlYCBldmVudCBpbiBiZXR3ZWVuLlxuICogSGFtbWVyLmpzIGhhbmRsZXMgdGhlc2Ugd2l0aCBpdHMgUmVjb2duaXplciBzeXN0ZW07XG4gKiB0aGlzIGJsb2NrIG1hcHMgZXZlbnQgbmFtZXMgdG8gdGhlIFJlY29nbml6ZXJzIHJlcXVpcmVkIHRvIGRldGVjdCB0aGUgZXZlbnRzLlxuICovXG5leHBvcnQgY29uc3QgRVZFTlRfUkVDT0dOSVpFUl9NQVAgPSB7XG4gIHRhcDogJ3RhcCcsXG4gIGRvdWJsZXRhcDogJ2RvdWJsZXRhcCcsXG4gIHByZXNzOiAncHJlc3MnLFxuICBwaW5jaDogJ3BpbmNoJyxcbiAgcGluY2hpbjogJ3BpbmNoJyxcbiAgcGluY2hvdXQ6ICdwaW5jaCcsXG4gIHBpbmNoc3RhcnQ6ICdwaW5jaCcsXG4gIHBpbmNobW92ZTogJ3BpbmNoJyxcbiAgcGluY2hlbmQ6ICdwaW5jaCcsXG4gIHBpbmNoY2FuY2VsOiAncGluY2gnLFxuICByb3RhdGU6ICdyb3RhdGUnLFxuICByb3RhdGVzdGFydDogJ3JvdGF0ZScsXG4gIHJvdGF0ZW1vdmU6ICdyb3RhdGUnLFxuICByb3RhdGVlbmQ6ICdyb3RhdGUnLFxuICByb3RhdGVjYW5jZWw6ICdyb3RhdGUnLFxuICBwYW46ICdwYW4nLFxuICBwYW5zdGFydDogJ3BhbicsXG4gIHBhbm1vdmU6ICdwYW4nLFxuICBwYW51cDogJ3BhbicsXG4gIHBhbmRvd246ICdwYW4nLFxuICBwYW5sZWZ0OiAncGFuJyxcbiAgcGFucmlnaHQ6ICdwYW4nLFxuICBwYW5lbmQ6ICdwYW4nLFxuICBwYW5jYW5jZWw6ICdwYW4nLFxuICBzd2lwZTogJ3N3aXBlJyxcbiAgc3dpcGVsZWZ0OiAnc3dpcGUnLFxuICBzd2lwZXJpZ2h0OiAnc3dpcGUnLFxuICBzd2lwZXVwOiAnc3dpcGUnLFxuICBzd2lwZWRvd246ICdzd2lwZSdcbn07XG5cbi8qKlxuICogTWFwIGdlc3R1cmFsIGV2ZW50cyB0eXBpY2FsbHkgcHJvdmlkZWQgYnkgYnJvd3NlcnNcbiAqIHRoYXQgYXJlIG5vdCByZXBvcnRlZCBpbiAnaGFtbWVyLmlucHV0JyBldmVudHNcbiAqIHRvIGNvcnJlc3BvbmRpbmcgSGFtbWVyLmpzIGdlc3R1cmVzLlxuICovXG5leHBvcnQgY29uc3QgR0VTVFVSRV9FVkVOVF9BTElBU0VTID0ge1xuICBjbGljazogJ3RhcCcsXG4gIGRibGNsaWNrOiAnZG91YmxldGFwJyxcbiAgbW91c2Vkb3duOiAncG9pbnRlcmRvd24nLFxuICBtb3VzZW1vdmU6ICdwb2ludGVybW92ZScsXG4gIG1vdXNldXA6ICdwb2ludGVydXAnLFxuICBtb3VzZWxlYXZlOiAncG9pbnRlcmxlYXZlJ1xufTtcbiJdfQ==

@@ -11,2 +11,6 @@ 'use strict';

var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');

@@ -38,2 +42,6 @@

function preventDefault(evt) {
evt.preventDefault();
}
// Unified API for subscribing to events about both

@@ -43,4 +51,26 @@ // basic input events (e.g. 'mousemove', 'touchstart', 'wheel')

// Delegates gesture related event registration and handling to Hammer.js.
// Copyright (c) 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
var EventManager = function () {
function EventManager(element) {
var _this = this;
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -50,2 +80,3 @@ (0, _classCallCheck3.default)(this, EventManager);

this.element = element;
this.options = options;
this._onBasicInput = this._onBasicInput.bind(this);

@@ -57,2 +88,13 @@

if (!options.recognizers) {
// Set default recognize withs
// http://hammerjs.github.io/recognize-with/
(0, _keys2.default)(_constants.RECOGNIZER_COMPATIBLE_MAP).forEach(function (name) {
var recognizer = _this.manager.get(name);
_constants.RECOGNIZER_COMPATIBLE_MAP[name].forEach(function (otherName) {
recognizer.recognizeWith(otherName);
});
});
}
this.eventHandlers = [];

@@ -68,2 +110,7 @@

if (options.rightButton) {
// Block right click
element.addEventListener('contextmenu', preventDefault);
}
// Register all passed events.

@@ -83,2 +130,4 @@ var events = options.events;

value: function destroy() {
this.element.removeEventListener('contextmenu', preventDefault);
this.wheelInput.destroy();

@@ -132,5 +181,23 @@ this.moveInput.destroy();

value: function _toggleRecognizer(name, enabled) {
var _this2 = this;
var recognizer = this.manager.get(name);
if (recognizer) {
recognizer.set({ enable: enabled });
var fallbackRecognizers = _constants.RECOGNIZER_FALLBACK_MAP[name];
if (fallbackRecognizers && !this.options.recognizers) {
// Set default require failures
// http://hammerjs.github.io/require-failure/
fallbackRecognizers.forEach(function (otherName) {
var otherRecognizer = _this2.manager.get(otherName);
if (enabled) {
// Wait for this recognizer to fail
otherRecognizer.requireFailure(name);
} else {
// Do not wait for this recognizer to fail
otherRecognizer.dropRequireFailure(name);
}
});
}
}

@@ -149,3 +216,3 @@ this.wheelInput.enableEventType(name, enabled);

value: function _addEventHandler(event, handler) {
var _this = this;
var _this3 = this;

@@ -174,7 +241,7 @@ var srcElement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

ancestorEventHandlers.forEach(function (entry) {
return _this.manager.off(eventAlias, entry.wrappedHandler);
return _this3.manager.off(eventAlias, entry.wrappedHandler);
});
this.manager.on(eventAlias, wrappedHandler);
ancestorEventHandlers.forEach(function (entry) {
return _this.manager.on(eventAlias, entry.wrappedHandler);
return _this3.manager.on(eventAlias, entry.wrappedHandler);
});

@@ -227,3 +294,3 @@ }

value: function _wrapEventHandler(type, handler, srcElement) {
var _this2 = this;
var _this4 = this;

@@ -235,3 +302,3 @@ return function (event) {

if (!mjolnirEvent) {
mjolnirEvent = _this2._normalizeEvent(event);
mjolnirEvent = _this4._normalizeEvent(event);
event.mjolnirEvent = mjolnirEvent;

@@ -329,23 +396,5 @@ }

return EventManager;
}(); // Copyright (c) 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
}();
exports.default = EventManager;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1tYW5hZ2VyLmpzIl0sIm5hbWVzIjpbIkV2ZW50TWFuYWdlciIsImVsZW1lbnQiLCJvcHRpb25zIiwiX29uQmFzaWNJbnB1dCIsImJpbmQiLCJNYW5hZ2VyQ2xhc3MiLCJNYW5hZ2VyIiwibWFuYWdlciIsInJlY29nbml6ZXJzIiwib24iLCJldmVudEhhbmRsZXJzIiwiX29uT3RoZXJFdmVudCIsIndoZWVsSW5wdXQiLCJlbmFibGUiLCJtb3ZlSW5wdXQiLCJrZXlJbnB1dCIsImV2ZW50cyIsImRlc3Ryb3kiLCJldmVudCIsImhhbmRsZXIiLCJzcmNFbGVtZW50IiwiX2FkZEV2ZW50SGFuZGxlciIsImV2ZW50TmFtZSIsIl9yZW1vdmVFdmVudEhhbmRsZXIiLCJuYW1lIiwiZW5hYmxlZCIsInJlY29nbml6ZXIiLCJnZXQiLCJzZXQiLCJlbmFibGVFdmVudFR5cGUiLCJ3cmFwcGVkSGFuZGxlciIsIl93cmFwRXZlbnRIYW5kbGVyIiwiZXZlbnRBbGlhcyIsInJlY29nbml6ZXJOYW1lIiwiX3RvZ2dsZVJlY29nbml6ZXIiLCJhbmNlc3RvckV2ZW50SGFuZGxlcnMiLCJmaWx0ZXIiLCJlbnRyeSIsImNvbnRhaW5zIiwicHVzaCIsImZvckVhY2giLCJvZmYiLCJldmVudEhhbmRsZXJSZW1vdmVkIiwiaSIsImxlbmd0aCIsInNwbGljZSIsImlzUmVjb2duaXplclVzZWQiLCJmaW5kIiwidHlwZSIsIm1qb2xuaXJFdmVudCIsIl9ub3JtYWxpemVFdmVudCIsImlzU3RvcHBlZCIsImhhbmRsZWQiLCJpc0Zyb21EZWNlbmRhbnQiLCJzcmNFdmVudCIsInRhcmdldCIsInN0b3BQcm9wYWdhdGlvbiIsImNlbnRlciIsIngiLCJjbGllbnRYIiwieSIsImNsaWVudFkiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwic2NhbGVYIiwid2lkdGgiLCJvZmZzZXRXaWR0aCIsInNjYWxlWSIsImhlaWdodCIsIm9mZnNldEhlaWdodCIsIm9mZnNldENlbnRlciIsImxlZnQiLCJjbGllbnRMZWZ0IiwidG9wIiwiY2xpZW50VG9wIiwicm9vdEVsZW1lbnQiLCJhbGlhcyIsImVtaXRFdmVudCIsImlzRG93biIsImVtaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxZO0FBQ25CLHdCQUFZQyxPQUFaLEVBQW1DO0FBQUEsUUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUE7O0FBQ2pDLFNBQUtELE9BQUwsR0FBZUEsT0FBZjtBQUNBLFNBQUtFLGFBQUwsR0FBcUIsS0FBS0EsYUFBTCxDQUFtQkMsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBckI7O0FBRUEsUUFBTUMsZUFBZUgsUUFBUUksT0FBUixtQkFBckI7O0FBRUEsU0FBS0MsT0FBTCxHQUFlLElBQUlGLFlBQUosQ0FBaUJKLE9BQWpCLEVBQTBCLEVBQUNPLGFBQWFOLFFBQVFNLFdBQVIsMEJBQWQsRUFBMUIsRUFDWkMsRUFEWSxDQUNULGNBRFMsRUFDTyxLQUFLTixhQURaLENBQWY7O0FBR0EsU0FBS08sYUFBTCxHQUFxQixFQUFyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFLQyxhQUFMLEdBQXFCLEtBQUtBLGFBQUwsQ0FBbUJQLElBQW5CLENBQXdCLElBQXhCLENBQXJCO0FBQ0EsU0FBS1EsVUFBTCxHQUFrQix5QkFBZVgsT0FBZixFQUF3QixLQUFLVSxhQUE3QixFQUE0QyxFQUFDRSxRQUFRLEtBQVQsRUFBNUMsQ0FBbEI7QUFDQSxTQUFLQyxTQUFMLEdBQWlCLHdCQUFjYixPQUFkLEVBQXVCLEtBQUtVLGFBQTVCLEVBQTJDLEVBQUNFLFFBQVEsS0FBVCxFQUEzQyxDQUFqQjtBQUNBLFNBQUtFLFFBQUwsR0FBZ0IsdUJBQWFkLE9BQWIsRUFBc0IsS0FBS1UsYUFBM0IsRUFBMEMsRUFBQ0UsUUFBUSxLQUFULEVBQTFDLENBQWhCOztBQUVBO0FBbkJpQyxRQW9CMUJHLE1B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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7a0JBbUJxQmxCLFkiLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7TWFuYWdlcn0gZnJvbSAnLi91dGlscy9oYW1tZXInO1xuXG5pbXBvcnQgV2hlZWxJbnB1dCBmcm9tICcuL2lucHV0cy93aGVlbC1pbnB1dCc7XG5pbXBvcnQgTW92ZUlucHV0IGZyb20gJy4vaW5wdXRzL21vdmUtaW5wdXQnO1xuaW1wb3J0IEtleUlucHV0IGZyb20gJy4vaW5wdXRzL2tleS1pbnB1dCc7XG5cbmltcG9ydCB7XG4gIEJBU0lDX0VWRU5UX0FMSUFTRVMsXG4gIEVWRU5UX1JFQ09HTklaRVJfTUFQLFxuICBHRVNUVVJFX0VWRU5UX0FMSUFTRVMsXG4gIFJFQ09HTklaRVJTXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gVW5pZmllZCBBUEkgZm9yIHN1YnNjcmliaW5nIHRvIGV2ZW50cyBhYm91dCBib3RoXG4vLyBiYXNpYyBpbnB1dCBldmVudHMgKGUuZy4gJ21vdXNlbW92ZScsICd0b3VjaHN0YXJ0JywgJ3doZWVsJylcbi8vIGFuZCBnZXN0dXJhbCBpbnB1dCAoZS5nLiAnY2xpY2snLCAndGFwJywgJ3BhbnN0YXJ0JykuXG4vLyBEZWxlZ2F0ZXMgZ2VzdHVyZSByZWxhdGVkIGV2ZW50IHJlZ2lzdHJhdGlvbiBhbmQgaGFuZGxpbmcgdG8gSGFtbWVyLmpzLlxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXZlbnRNYW5hZ2VyIHtcbiAgY29uc3RydWN0b3IoZWxlbWVudCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLl9vbkJhc2ljSW5wdXQgPSB0aGlzLl9vbkJhc2ljSW5wdXQuYmluZCh0aGlzKTtcblxuICAgIGNvbnN0IE1hbmFnZXJDbGFzcyA9IG9wdGlvbnMuTWFuYWdlciB8fCBNYW5hZ2VyO1xuXG4gICAgdGhpcy5tYW5hZ2VyID0gbmV3IE1hbmFnZXJDbGFzcyhlbGVtZW50LCB7cmVjb2duaXplcnM6IG9wdGlvbnMucmVjb2duaXplcnMgfHwgUkVDT0dOSVpFUlN9KVxuICAgICAgLm9uKCdoYW1tZXIuaW5wdXQnLCB0aGlzLl9vbkJhc2ljSW5wdXQpO1xuXG4gICAgdGhpcy5ldmVudEhhbmRsZXJzID0gW107XG5cbiAgICAvLyBIYW5kbGUgZXZlbnRzIG5vdCBoYW5kbGVkIGJ5IEhhbW1lci5qczpcbiAgICAvLyAtIG1vdXNlIHdoZWVsXG4gICAgLy8gLSBwb2ludGVyL3RvdWNoL21vdXNlIG1vdmVcbiAgICB0aGlzLl9vbk90aGVyRXZlbnQgPSB0aGlzLl9vbk90aGVyRXZlbnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLndoZWVsSW5wdXQgPSBuZXcgV2hlZWxJbnB1dChlbGVtZW50LCB0aGlzLl9vbk90aGVyRXZlbnQsIHtlbmFibGU6IGZhbHNlfSk7XG4gICAgdGhpcy5tb3ZlSW5wdXQgPSBuZXcgTW92ZUlucHV0KGVsZW1lbnQsIHRoaXMuX29uT3RoZXJFdmVudCwge2VuYWJsZTogZmFsc2V9KTtcbiAgICB0aGlzLmtleUlucHV0ID0gbmV3IEtleUlucHV0KGVsZW1lbnQsIHRoaXMuX29uT3RoZXJFdmVudCwge2VuYWJsZTogZmFsc2V9KTtcblxuICAgIC8vIFJlZ2lzdGVyIGFsbCBwYXNzZWQgZXZlbnRzLlxuICAgIGNvbnN0IHtldmVudHN9ID0gb3B0aW9ucztcbiAgICBpZiAoZXZlbnRzKSB7XG4gICAgICB0aGlzLm9uKGV2ZW50cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGVhciBkb3duIGludGVybmFsIGV2ZW50IG1hbmFnZW1lbnQgaW1wbGVtZW50YXRpb25zLlxuICBkZXN0cm95KCkge1xuICAgIHRoaXMud2hlZWxJbnB1dC5kZXN0cm95KCk7XG4gICAgdGhpcy5tb3ZlSW5wdXQuZGVzdHJveSgpO1xuICAgIHRoaXMua2V5SW5wdXQuZGVzdHJveSgpO1xuICAgIHRoaXMubWFuYWdlci5kZXN0cm95KCk7XG4gIH1cblxuICAvLyBSZWdpc3RlciBhbiBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBvbiBgZXZlbnRgLlxuICBvbihldmVudCwgaGFuZGxlciwgc3JjRWxlbWVudCkge1xuICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9hZGRFdmVudEhhbmRsZXIoZXZlbnQsIGhhbmRsZXIsIHNyY0VsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzcmNFbGVtZW50ID0gaGFuZGxlcjtcbiAgICAgIC8vIElmIGBldmVudGAgaXMgYSBtYXAsIGNhbGwgYG9uKClgIGZvciBlYWNoIGVudHJ5LlxuICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYWRkRXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnRbZXZlbnROYW1lXSwgc3JjRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlcmVnaXN0ZXIgYSBwcmV2aW91c2x5LXJlZ2lzdGVyZWQgZXZlbnQgaGFuZGxlci5cbiAgICogQHBhcmFtIHtzdHJpbmd8T2JqZWN0fSBldmVudCAgIEFuIGV2ZW50IG5hbWUgKFN0cmluZykgb3IgbWFwIG9mIGV2ZW50IG5hbWVzIHRvIGhhbmRsZXJzXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtoYW5kbGVyXSAgICBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uIGBldmVudGAuXG4gICAqL1xuICBvZmYoZXZlbnQsIGhhbmRsZXIpIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fcmVtb3ZlRXZlbnRIYW5kbGVyKGV2ZW50LCBoYW5kbGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgYGV2ZW50YCBpcyBhIG1hcCwgY2FsbCBgb2ZmKClgIGZvciBlYWNoIGVudHJ5LlxuICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlRXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnRbZXZlbnROYW1lXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogRW5hYmxlL2Rpc2FibGUgcmVjb2duaXplciBmb3IgdGhlIGdpdmVuIGV2ZW50XG4gICAqL1xuICBfdG9nZ2xlUmVjb2duaXplcihuYW1lLCBlbmFibGVkKSB7XG4gICAgY29uc3QgcmVjb2duaXplciA9IHRoaXMubWFuYWdlci5nZXQobmFtZSk7XG4gICAgaWYgKHJlY29nbml6ZXIpIHtcbiAgICAgIHJlY29nbml6ZXIuc2V0KHtlbmFibGU6IGVuYWJsZWR9KTtcbiAgICB9XG4gICAgdGhpcy53aGVlbElucHV0LmVuYWJsZUV2ZW50VHlwZShuYW1lLCBlbmFibGVkKTtcbiAgICB0aGlzLm1vdmVJbnB1dC5lbmFibGVFdmVudFR5cGUobmFtZSwgZW5hYmxlZCk7XG4gICAgdGhpcy5rZXlJbnB1dC5lbmFibGVFdmVudFR5cGUobmFtZSwgZW5hYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyB0aGUgZXZlbnQgcmVnaXN0cmF0aW9uIGZvciBhIHNpbmdsZSBldmVudCArIGhhbmRsZXIuXG4gICAqL1xuICBfYWRkRXZlbnRIYW5kbGVyKGV2ZW50LCBoYW5kbGVyLCBzcmNFbGVtZW50ID0gbnVsbCkge1xuICAgIGNvbnN0IHdyYXBwZWRIYW5kbGVyID0gdGhpcy5fd3JhcEV2ZW50SGFuZGxlcihldmVudCwgaGFuZGxlciwgc3JjRWxlbWVudCk7XG4gICAgLy8gQWxpYXMgdG8gYSByZWNvZ25pemVkIGdlc3R1cmUgYXMgbmVjZXNzYXJ5LlxuICAgIGNvbnN0IGV2ZW50QWxpYXMgPSBHRVNUVVJFX0VWRU5UX0FMSUFTRVNbZXZlbnRdIHx8IGV2ZW50O1xuICAgIC8vIEdldCByZWNvZ25pemVyIGZvciB0aGlzIGV2ZW50XG4gICAgY29uc3QgcmVjb2duaXplck5hbWUgPSBFVkVOVF9SRUNPR05JWkVSX01BUFtldmVudEFsaWFzXSB8fCBldmVudEFsaWFzO1xuICAgIC8vIEVuYWJsZSByZWNvZ25pemVyIGZvciB0aGlzIGV2ZW50LlxuICAgIHRoaXMuX3RvZ2dsZVJlY29nbml6ZXIocmVjb2duaXplck5hbWUsIHRydWUpO1xuXG4gICAgLy8gRmluZCBhbmNlc3RvcnNcbiAgICBjb25zdCBhbmNlc3RvckV2ZW50SGFuZGxlcnMgPSB0aGlzLmV2ZW50SGFuZGxlcnMuZmlsdGVyKGVudHJ5ID0+IHtcbiAgICAgIHJldHVybiBlbnRyeS5ldmVudEFsaWFzID09PSBldmVudEFsaWFzICYmXG4gICAgICAgIGVudHJ5LnNyY0VsZW1lbnQgIT09IHNyY0VsZW1lbnQgJiZcbiAgICAgICAgKCFlbnRyeS5zcmNFbGVtZW50IHx8IGVudHJ5LnNyY0VsZW1lbnQuY29udGFpbnMoc3JjRWxlbWVudCkpO1xuICAgIH0pO1xuXG4gICAgLy8gU2F2ZSB3cmFwcGVkIGhhbmRsZXJcbiAgICB0aGlzLmV2ZW50SGFuZGxlcnMucHVzaCh7ZXZlbnQsIGV2ZW50QWxpYXMsIHJlY29nbml6ZXJOYW1lLCBzcmNFbGVtZW50LFxuICAgICAgaGFuZGxlciwgd3JhcHBlZEhhbmRsZXJ9KTtcblxuICAgIC8vIFNvcnQgaGFuZGxlcnMgYnkgRE9NIGhpZXJhcmNoeVxuICAgIC8vIFNvIHRoZSBldmVudCB3aWxsIGFsd2F5cyBmaXJlIGZpcnN0IG9uIGNoaWxkIG5vZGVzXG4gICAgYW5jZXN0b3JFdmVudEhhbmRsZXJzLmZvckVhY2goZW50cnkgPT4gdGhpcy5tYW5hZ2VyLm9mZihldmVudEFsaWFzLCBlbnRyeS53cmFwcGVkSGFuZGxlcikpO1xuICAgIHRoaXMubWFuYWdlci5vbihldmVudEFsaWFzLCB3cmFwcGVkSGFuZGxlcik7XG4gICAgYW5jZXN0b3JFdmVudEhhbmRsZXJzLmZvckVhY2goZW50cnkgPT4gdGhpcy5tYW5hZ2VyLm9uKGV2ZW50QWxpYXMsIGVudHJ5LndyYXBwZWRIYW5kbGVyKSk7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyB0aGUgZXZlbnQgZGVyZWdpc3RyYXRpb24gZm9yIGEgc2luZ2xlIGV2ZW50ICsgaGFuZGxlci5cbiAgICovXG4gIF9yZW1vdmVFdmVudEhhbmRsZXIoZXZlbnQsIGhhbmRsZXIpIHtcbiAgICBsZXQgZXZlbnRIYW5kbGVyUmVtb3ZlZCA9IGZhbHNlO1xuXG4gICAgLy8gRmluZCBzYXZlZCBoYW5kbGVyIGlmIGFueS5cbiAgICBmb3IgKGxldCBpID0gdGhpcy5ldmVudEhhbmRsZXJzLmxlbmd0aDsgaS0tOykge1xuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmV2ZW50SGFuZGxlcnNbaV07XG4gICAgICBpZiAoZW50cnkuZXZlbnQgPT09IGV2ZW50ICYmIGVudHJ5LmhhbmRsZXIgPT09IGhhbmRsZXIpIHtcbiAgICAgICAgLy8gRGVyZWdpc3RlciBldmVudCBoYW5kbGVyLlxuICAgICAgICB0aGlzLm1hbmFnZXIub2ZmKGVudHJ5LmV2ZW50QWxpYXMsIGVudHJ5LndyYXBwZWRIYW5kbGVyKTtcbiAgICAgICAgLy8gRGVsZXRlIHNhdmVkIGhhbmRsZXJcbiAgICAgICAgdGhpcy5ldmVudEhhbmRsZXJzLnNwbGljZShpLCAxKTtcbiAgICAgICAgZXZlbnRIYW5kbGVyUmVtb3ZlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50SGFuZGxlclJlbW92ZWQpIHtcbiAgICAgIC8vIEFsaWFzIHRvIGEgcmVjb2duaXplZCBnZXN0dXJlIGFzIG5lY2Vzc2FyeS5cbiAgICAgIGNvbnN0IGV2ZW50QWxpYXMgPSBHRVNUVVJFX0VWRU5UX0FMSUFTRVNbZXZlbnRdIHx8IGV2ZW50O1xuICAgICAgLy8gR2V0IHJlY29nbml6ZXIgZm9yIHRoaXMgZXZlbnRcbiAgICAgIGNvbnN0IHJlY29nbml6ZXJOYW1lID0gRVZFTlRfUkVDT0dOSVpFUl9NQVBbZXZlbnRBbGlhc10gfHwgZXZlbnRBbGlhcztcbiAgICAgIC8vIERpc2FibGUgcmVjb2duaXplciBpZiBubyBtb3JlIGhhbmRsZXJzIGFyZSBhdHRhY2hlZCB0byBpdHMgZXZlbnRzXG4gICAgICBjb25zdCBpc1JlY29nbml6ZXJVc2VkID0gdGhpcy5ldmVudEhhbmRsZXJzLmZpbmQoXG4gICAgICAgIGVudHJ5ID0+IGVudHJ5LnJlY29nbml6ZXJOYW1lID09PSByZWNvZ25pemVyTmFtZVxuICAgICAgKTtcbiAgICAgIGlmICghaXNSZWNvZ25pemVyVXNlZCkge1xuICAgICAgICB0aGlzLl90b2dnbGVSZWNvZ25pemVyKHJlY29nbml6ZXJOYW1lLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXZlbnQgaGFuZGxlciB0aGF0IGFsaWFzZXMgZXZlbnRzIGFuZCBhZGQgcHJvcHMgYmVmb3JlIHBhc3NpbmdcbiAgICogdG8gdGhlIHJlYWwgaGFuZGxlci5cbiAgICovXG4gIF93cmFwRXZlbnRIYW5kbGVyKHR5cGUsIGhhbmRsZXIsIHNyY0VsZW1lbnQpIHtcbiAgICByZXR1cm4gZXZlbnQgPT4ge1xuICAgICAgbGV0IHttam9sbmlyRXZlbnR9ID0gZXZlbnQ7XG5cbiAgICAgIGlmICghbWpvbG5pckV2ZW50KSB7XG4gICAgICAgIG1qb2xuaXJFdmVudCA9IHRoaXMuX25vcm1hbGl6ZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgZXZlbnQubWpvbG5pckV2ZW50ID0gbWpvbG5pckV2ZW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc1N0b3BwZWQgPSBtam9sbmlyRXZlbnQuaGFuZGxlZCAmJiBtam9sbmlyRXZlbnQuaGFuZGxlZCAhPT0gc3JjRWxlbWVudDtcblxuICAgICAgaWYgKCFpc1N0b3BwZWQpIHtcbiAgICAgICAgY29uc3QgaXNGcm9tRGVjZW5kYW50ID0gIXNyY0VsZW1lbnQgfHwgc3JjRWxlbWVudC5jb250YWlucyhldmVudC5zcmNFdmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoaXNGcm9tRGVjZW5kYW50KSB7XG4gICAgICAgICAgaGFuZGxlcihPYmplY3QuYXNzaWduKHt9LCBtam9sbmlyRXZlbnQsIHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBzdG9wUHJvcGFnYXRpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFtam9sbmlyRXZlbnQuaGFuZGxlZCkge1xuICAgICAgICAgICAgICAgIG1qb2xuaXJFdmVudC5oYW5kbGVkID0gc3JjRWxlbWVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsaXplcyBoYW1tZXJqcyBhbmQgY3VzdG9tIGV2ZW50cyB0byBoYXZlIHByZWRpY3RhYmxlIGZpZWxkcy5cbiAgICovXG4gIF9ub3JtYWxpemVFdmVudChldmVudCkge1xuICAgIGNvbnN0IHtlbGVtZW50fSA9IHRoaXM7XG4gICAgY29uc3Qge3NyY0V2ZW50fSA9IGV2ZW50O1xuXG4gICAgY29uc3QgY2VudGVyID0gZXZlbnQuY2VudGVyIHx8IHtcbiAgICAgIHg6IHNyY0V2ZW50LmNsaWVudFgsXG4gICAgICB5OiBzcmNFdmVudC5jbGllbnRZXG4gICAgfTtcblxuICAgIC8vIENhbGN1bGF0ZSBjZW50ZXIgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZWxlbWVudFxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgLy8gRml4IHNjYWxlIGZvciBtYXAgYWZmZWN0ZWQgYnkgYSBDU1MgdHJhbnNmb3JtLlxuICAgIC8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY4OTM2NjMvMzUyODUzM1xuICAgIGNvbnN0IHNjYWxlWCA9IHJlY3Qud2lkdGggLyBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IHNjYWxlWSA9IHJlY3QuaGVpZ2h0IC8gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAvLyBDYWxjdWxhdGUgY2VudGVyIHJlbGF0aXZlIHRvIHRoZSByb290IGVsZW1lbnRcbiAgICBjb25zdCBvZmZzZXRDZW50ZXIgPSB7XG4gICAgICB4OiAoY2VudGVyLnggLSByZWN0LmxlZnQgLSBlbGVtZW50LmNsaWVudExlZnQpIC8gc2NhbGVYLFxuICAgICAgeTogKGNlbnRlci55IC0gcmVjdC50b3AgLSBlbGVtZW50LmNsaWVudFRvcCkgLyBzY2FsZVlcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LCB7XG4gICAgICBoYW5kbGVkOiBmYWxzZSxcbiAgICAgIGNlbnRlcixcbiAgICAgIG9mZnNldENlbnRlcixcbiAgICAgIHJvb3RFbGVtZW50OiBlbGVtZW50XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGJhc2ljIGV2ZW50cyB1c2luZyB0aGUgJ2hhbW1lci5pbnB1dCcgSGFtbWVyLmpzIEFQSTpcbiAgICogQmVmb3JlIHJ1bm5pbmcgUmVjb2duaXplcnMsIEhhbW1lciBlbWl0cyBhICdoYW1tZXIuaW5wdXQnIGV2ZW50XG4gICAqIHdpdGggdGhlIGJhc2ljIGV2ZW50IGluZm8uIFRoaXMgZnVuY3Rpb24gZW1pdHMgYWxsIGJhc2ljIGV2ZW50c1xuICAgKiBhbGlhc2VkIHRvIHRoZSBcImNsYXNzXCIgb2YgZXZlbnQgcmVjZWl2ZWQuXG4gICAqIFNlZSBjb25zdGFudHMuQkFTSUNfRVZFTlRfQ0xBU1NFUyBiYXNpYyBldmVudCBjbGFzcyBkZWZpbml0aW9ucy5cbiAgICovXG4gIF9vbkJhc2ljSW5wdXQoZXZlbnQpIHtcbiAgICBjb25zdCB7c3JjRXZlbnR9ID0gZXZlbnQ7XG4gICAgY29uc3QgYWxpYXMgPSBCQVNJQ19FVkVOVF9BTElBU0VTW3NyY0V2ZW50LnR5cGVdO1xuICAgIGlmIChhbGlhcykge1xuICAgICAgLy8gZmlyZSBhbGwgZXZlbnRzIGFsaWFzZWQgdG8gc3JjRXZlbnQudHlwZVxuICAgICAgY29uc3QgZW1pdEV2ZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgZXZlbnQsIHtpc0Rvd246IHRydWV9KTtcbiAgICAgIHRoaXMubWFuYWdlci5lbWl0KGFsaWFzLCBlbWl0RXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgZXZlbnRzIG5vdCBzdXBwb3J0ZWQgYnkgSGFtbWVyLmpzLFxuICAgKiBhbmQgcGlwZSBiYWNrIG91dCB0aHJvdWdoIHNhbWUgKEhhbW1lcikgY2hhbm5lbCB1c2VkIGJ5IG90aGVyIGV2ZW50cy5cbiAgICovXG4gIF9vbk90aGVyRXZlbnQoZXZlbnQpIHtcbiAgICB0aGlzLm1hbmFnZXIuZW1pdChldmVudC50eXBlLCBldmVudCk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1tYW5hZ2VyLmpzIl0sIm5hbWVzIjpbInByZXZlbnREZWZhdWx0IiwiZXZ0IiwiRXZlbnRNYW5hZ2VyIiwiZWxlbWVudCIsIm9wdGlvbnMiLCJfb25CYXNpY0lucHV0IiwiYmluZCIsIk1hbmFnZXJDbGFzcyIsIk1hbmFnZXIiLCJtYW5hZ2VyIiwicmVjb2duaXplcnMiLCJvbiIsImZvckVhY2giLCJyZWNvZ25pemVyIiwiZ2V0IiwibmFtZSIsInJlY29nbml6ZVdpdGgiLCJvdGhlck5hbWUiLCJldmVudEhhbmRsZXJzIiwiX29uT3RoZXJFdmVudCIsIndoZWVsSW5wdXQiLCJlbmFibGUiLCJtb3ZlSW5wdXQiLCJrZXlJbnB1dCIsInJpZ2h0QnV0dG9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50cyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkZXN0cm95IiwiZXZlbnQiLCJoYW5kbGVyIiwic3JjRWxlbWVudCIsIl9hZGRFdmVudEhhbmRsZXIiLCJldmVudE5hbWUiLCJfcmVtb3ZlRXZlbnRIYW5kbGVyIiwiZW5hYmxlZCIsInNldCIsImZhbGxiYWNrUmVjb2duaXplcnMiLCJvdGhlclJlY29nbml6ZXIiLCJyZXF1aXJlRmFpbHVyZSIsImRyb3BSZXF1aXJlRmFpbHVyZSIsImVuYWJsZUV2ZW50VHlwZSIsIndyYXBwZWRIYW5kbGVyIiwiX3dyYXBFdmVudEhhbmRsZXIiLCJldmVudEFsaWFzIiwicmVjb2duaXplck5hbWUiLCJfdG9nZ2xlUmVjb2duaXplciIsImFuY2VzdG9yRXZlbnRIYW5kbGVycyIsImZpbHRlciIsImVudHJ5IiwiY29udGFpbnMiLCJwdXNoIiwib2ZmIiwiZXZlbnRIYW5kbGVyUmVtb3ZlZCIsImkiLCJsZW5ndGgiLCJzcGxpY2UiLCJpc1JlY29nbml6ZXJVc2VkIiwiZmluZCIsInR5cGUiLCJtam9sbmlyRXZlbnQiLCJfbm9ybWFsaXplRXZlbnQiLCJpc1N0b3BwZWQiLCJoYW5kbGVkIiwiaXNGcm9tRGVjZW5kYW50Iiwic3JjRXZlbnQiLCJ0YXJnZXQiLCJzdG9wUHJvcGFnYXRpb24iLCJjZW50ZXIiLCJ4IiwiY2xpZW50WCIsInkiLCJjbGllbnRZIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInNjYWxlWCIsIndpZHRoIiwib2Zmc2V0V2lkdGgiLCJzY2FsZVkiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJvZmZzZXRDZW50ZXIiLCJsZWZ0IiwiY2xpZW50TGVmdCIsInRvcCIsImNsaWVudFRvcCIsInJvb3RFbGVtZW50IiwiYWxpYXMiLCJlbWl0RXZlbnQiLCJpc0Rvd24iLCJlbWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBU0EsU0FBU0EsY0FBVCxDQUF3QkMsR0FBeEIsRUFBNkI7QUFDM0JBLE1BQUlELGNBQUo7QUFDRDs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQTFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7SUF5QnFCRSxZO0FBQ25CLHdCQUFZQyxPQUFaLEVBQW1DO0FBQUE7O0FBQUEsUUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUE7O0FBQ2pDLFNBQUtELE9BQUwsR0FBZUEsT0FBZjtBQUNBLFNBQUtDLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFNBQUtDLGFBQUwsR0FBcUIsS0FBS0EsYUFBTCxDQUFtQkMsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBckI7O0FBRUEsUUFBTUMsZUFBZUgsUUFBUUksT0FBUixtQkFBckI7O0FBRUEsU0FBS0MsT0FBTCxHQUFlLElBQUlGLFlBQUosQ0FBaUJKLE9BQWpCLEVBQTBCLEVBQUNPLGFBQWFOLFFBQVFNLFdBQVIsMEJBQWQsRUFBMUIsRUFDWkMsRUFEWSxDQUNULGNBRFMsRUFDTyxLQUFLTixhQURaLENBQWY7O0FBR0EsUUFBSSxD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QUFsQjtBQUNBLGFBQUtoRixPQUFMLENBQWFpRixJQUFiLENBQWtCSCxLQUFsQixFQUF5QkMsU0FBekI7QUFDRDtBQUNGOztBQUVEOzs7Ozs7O2tDQUljM0QsSyxFQUFPO0FBQ25CLFdBQUtwQixPQUFMLENBQWFpRixJQUFiLENBQWtCN0QsTUFBTThCLElBQXhCLEVBQThCOUIsS0FBOUI7QUFDRDs7Ozs7a0JBdlFrQjNCLFkiLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7TWFuYWdlcn0gZnJvbSAnLi91dGlscy9oYW1tZXInO1xuXG5pbXBvcnQgV2hlZWxJbnB1dCBmcm9tICcuL2lucHV0cy93aGVlbC1pbnB1dCc7XG5pbXBvcnQgTW92ZUlucHV0IGZyb20gJy4vaW5wdXRzL21vdmUtaW5wdXQnO1xuaW1wb3J0IEtleUlucHV0IGZyb20gJy4vaW5wdXRzL2tleS1pbnB1dCc7XG5cbmltcG9ydCB7XG4gIEJBU0lDX0VWRU5UX0FMSUFTRVMsXG4gIEVWRU5UX1JFQ09HTklaRVJfTUFQLFxuICBHRVNUVVJFX0VWRU5UX0FMSUFTRVMsXG4gIFJFQ09HTklaRVJTLFxuICBSRUNPR05JWkVSX0NPTVBBVElCTEVfTUFQLFxuICBSRUNPR05JWkVSX0ZBTExCQUNLX01BUFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmZ1bmN0aW9uIHByZXZlbnREZWZhdWx0KGV2dCkge1xuICBldnQucHJldmVudERlZmF1bHQoKTtcbn1cblxuLy8gVW5pZmllZCBBUEkgZm9yIHN1YnNjcmliaW5nIHRvIGV2ZW50cyBhYm91dCBib3RoXG4vLyBiYXNpYyBpbnB1dCBldmVudHMgKGUuZy4gJ21vdXNlbW92ZScsICd0b3VjaHN0YXJ0JywgJ3doZWVsJylcbi8vIGFuZCBnZXN0dXJhbCBpbnB1dCAoZS5nLiAnY2xpY2snLCAndGFwJywgJ3BhbnN0YXJ0JykuXG4vLyBEZWxlZ2F0ZXMgZ2VzdHVyZSByZWxhdGVkIGV2ZW50IHJlZ2lzdHJhdGlvbiBhbmQgaGFuZGxpbmcgdG8gSGFtbWVyLmpzLlxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXZlbnRNYW5hZ2VyIHtcbiAgY29uc3RydWN0b3IoZWxlbWVudCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuX29uQmFzaWNJbnB1dCA9IHRoaXMuX29uQmFzaWNJbnB1dC5iaW5kKHRoaXMpO1xuXG4gICAgY29uc3QgTWFuYWdlckNsYXNzID0gb3B0aW9ucy5NYW5hZ2VyIHx8IE1hbmFnZXI7XG5cbiAgICB0aGlzLm1hbmFnZXIgPSBuZXcgTWFuYWdlckNsYXNzKGVsZW1lbnQsIHtyZWNvZ25pemVyczogb3B0aW9ucy5yZWNvZ25pemVycyB8fCBSRUNPR05JWkVSU30pXG4gICAgICAub24oJ2hhbW1lci5pbnB1dCcsIHRoaXMuX29uQmFzaWNJbnB1dCk7XG5cbiAgICBpZiAoIW9wdGlvbnMucmVjb2duaXplcnMpIHtcbiAgICAgIC8vIFNldCBkZWZhdWx0IHJlY29nbml6ZSB3aXRoc1xuICAgICAgLy8gaHR0cDovL2hhbW1lcmpzLmdpdGh1Yi5pby9yZWNvZ25pemUtd2l0aC9cbiAgICAgIE9iamVjdC5rZXlzKFJFQ09HTklaRVJfQ09NUEFUSUJMRV9NQVApLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY29nbml6ZXIgPSB0aGlzLm1hbmFnZXIuZ2V0KG5hbWUpO1xuICAgICAgICBSRUNPR05JWkVSX0NPTVBBVElCTEVfTUFQW25hbWVdLmZvckVhY2gob3RoZXJOYW1lID0+IHtcbiAgICAgICAgICByZWNvZ25pemVyLnJlY29nbml6ZVdpdGgob3RoZXJOYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmV2ZW50SGFuZGxlcnMgPSBbXTtcblxuICAgIC8vIEhhbmRsZSBldmVudHMgbm90IGhhbmRsZWQgYnkgSGFtbWVyLmpzOlxuICAgIC8vIC0gbW91c2Ugd2hlZWxcbiAgICAvLyAtIHBvaW50ZXIvdG91Y2gvbW91c2UgbW92ZVxuICAgIHRoaXMuX29uT3RoZXJFdmVudCA9IHRoaXMuX29uT3RoZXJFdmVudC5iaW5kKHRoaXMpO1xuICAgIHRoaXMud2hlZWxJbnB1dCA9IG5ldyBXaGVlbElucHV0KGVsZW1lbnQsIHRoaXMuX29uT3RoZXJFdmVudCwge2VuYWJsZTogZmFsc2V9KTtcbiAgICB0aGlzLm1vdmVJbnB1dCA9IG5ldyBNb3ZlSW5wdXQoZWxlbWVudCwgdGhpcy5fb25PdGhlckV2ZW50LCB7ZW5hYmxlOiBmYWxzZX0pO1xuICAgIHRoaXMua2V5SW5wdXQgPSBuZXcgS2V5SW5wdXQoZWxlbWVudCwgdGhpcy5fb25PdGhlckV2ZW50LCB7ZW5hYmxlOiBmYWxzZX0pO1xuXG4gICAgaWYgKG9wdGlvbnMucmlnaHRCdXR0b24pIHtcbiAgICAgIC8vIEJsb2NrIHJpZ2h0IGNsaWNrXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgcHJldmVudERlZmF1bHQpO1xuICAgIH1cblxuICAgIC8vIFJlZ2lzdGVyIGFsbCBwYXNzZWQgZXZlbnRzLlxuICAgIGNvbnN0IHtldmVudHN9ID0gb3B0aW9ucztcbiAgICBpZiAoZXZlbnRzKSB7XG4gICAgICB0aGlzLm9uKGV2ZW50cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGVhciBkb3duIGludGVybmFsIGV2ZW50IG1hbmFnZW1lbnQgaW1wbGVtZW50YXRpb25zLlxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHByZXZlbnREZWZhdWx0KTtcblxuICAgIHRoaXMud2hlZWxJbnB1dC5kZXN0cm95KCk7XG4gICAgdGhpcy5tb3ZlSW5wdXQuZGVzdHJveSgpO1xuICAgIHRoaXMua2V5SW5wdXQuZGVzdHJveSgpO1xuICAgIHRoaXMubWFuYWdlci5kZXN0cm95KCk7XG4gIH1cblxuICAvLyBSZWdpc3RlciBhbiBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBvbiBgZXZlbnRgLlxuICBvbihldmVudCwgaGFuZGxlciwgc3JjRWxlbWVudCkge1xuICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9hZGRFdmVudEhhbmRsZXIoZXZlbnQsIGhhbmRsZXIsIHNyY0VsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzcmNFbGVtZW50ID0gaGFuZGxlcjtcbiAgICAgIC8vIElmIGBldmVudGAgaXMgYSBtYXAsIGNhbGwgYG9uKClgIGZvciBlYWNoIGVudHJ5LlxuICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYWRkRXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnRbZXZlbnROYW1lXSwgc3JjRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlcmVnaXN0ZXIgYSBwcmV2aW91c2x5LXJlZ2lzdGVyZWQgZXZlbnQgaGFuZGxlci5cbiAgICogQHBhcmFtIHtzdHJpbmd8T2JqZWN0fSBldmVudCAgIEFuIGV2ZW50IG5hbWUgKFN0cmluZykgb3IgbWFwIG9mIGV2ZW50IG5hbWVzIHRvIGhhbmRsZXJzXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtoYW5kbGVyXSAgICBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uIGBldmVudGAuXG4gICAqL1xuICBvZmYoZXZlbnQsIGhhbmRsZXIpIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fcmVtb3ZlRXZlbnRIYW5kbGVyKGV2ZW50LCBoYW5kbGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgYGV2ZW50YCBpcyBhIG1hcCwgY2FsbCBgb2ZmKClgIGZvciBlYWNoIGVudHJ5LlxuICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlRXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnRbZXZlbnROYW1lXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogRW5hYmxlL2Rpc2FibGUgcmVjb2duaXplciBmb3IgdGhlIGdpdmVuIGV2ZW50XG4gICAqL1xuICBfdG9nZ2xlUmVjb2duaXplcihuYW1lLCBlbmFibGVkKSB7XG4gICAgY29uc3QgcmVjb2duaXplciA9IHRoaXMubWFuYWdlci5nZXQobmFtZSk7XG4gICAgaWYgKHJlY29nbml6ZXIpIHtcbiAgICAgIHJlY29nbml6ZXIuc2V0KHtlbmFibGU6IGVuYWJsZWR9KTtcblxuICAgICAgY29uc3QgZmFsbGJhY2tSZWNvZ25pemVycyA9IFJFQ09HTklaRVJfRkFMTEJBQ0tfTUFQW25hbWVdO1xuICAgICAgaWYgKGZhbGxiYWNrUmVjb2duaXplcnMgJiYgIXRoaXMub3B0aW9ucy5yZWNvZ25pemVycykge1xuICAgICAgICAvLyBTZXQgZGVmYXVsdCByZXF1aXJlIGZhaWx1cmVzXG4gICAgICAgIC8vIGh0dHA6Ly9oYW1tZXJqcy5naXRodWIuaW8vcmVxdWlyZS1mYWlsdXJlL1xuICAgICAgICBmYWxsYmFja1JlY29nbml6ZXJzLmZvckVhY2gob3RoZXJOYW1lID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlclJlY29nbml6ZXIgPSB0aGlzLm1hbmFnZXIuZ2V0KG90aGVyTmFtZSk7XG4gICAgICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgICAgIC8vIFdhaXQgZm9yIHRoaXMgcmVjb2duaXplciB0byBmYWlsXG4gICAgICAgICAgICBvdGhlclJlY29nbml6ZXIucmVxdWlyZUZhaWx1cmUobmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIERvIG5vdCB3YWl0IGZvciB0aGlzIHJlY29nbml6ZXIgdG8gZmFpbFxuICAgICAgICAgICAgb3RoZXJSZWNvZ25pemVyLmRyb3BSZXF1aXJlRmFpbHVyZShuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLndoZWVsSW5wdXQuZW5hYmxlRXZlbnRUeXBlKG5hbWUsIGVuYWJsZWQpO1xuICAgIHRoaXMubW92ZUlucHV0LmVuYWJsZUV2ZW50VHlwZShuYW1lLCBlbmFibGVkKTtcbiAgICB0aGlzLmtleUlucHV0LmVuYWJsZUV2ZW50VHlwZShuYW1lLCBlbmFibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHRoZSBldmVudCByZWdpc3RyYXRpb24gZm9yIGEgc2luZ2xlIGV2ZW50ICsgaGFuZGxlci5cbiAgICovXG4gIF9hZGRFdmVudEhhbmRsZXIoZXZlbnQsIGhhbmRsZXIsIHNyY0VsZW1lbnQgPSBudWxsKSB7XG4gICAgY29uc3Qgd3JhcHBlZEhhbmRsZXIgPSB0aGlzLl93cmFwRXZlbnRIYW5kbGVyKGV2ZW50LCBoYW5kbGVyLCBzcmNFbGVtZW50KTtcbiAgICAvLyBBbGlhcyB0byBhIHJlY29nbml6ZWQgZ2VzdHVyZSBhcyBuZWNlc3NhcnkuXG4gICAgY29uc3QgZXZlbnRBbGlhcyA9IEdFU1RVUkVfRVZFTlRfQUxJQVNFU1tldmVudF0gfHwgZXZlbnQ7XG4gICAgLy8gR2V0IHJlY29nbml6ZXIgZm9yIHRoaXMgZXZlbnRcbiAgICBjb25zdCByZWNvZ25pemVyTmFtZSA9IEVWRU5UX1JFQ09HTklaRVJfTUFQW2V2ZW50QWxpYXNdIHx8IGV2ZW50QWxpYXM7XG4gICAgLy8gRW5hYmxlIHJlY29nbml6ZXIgZm9yIHRoaXMgZXZlbnQuXG4gICAgdGhpcy5fdG9nZ2xlUmVjb2duaXplcihyZWNvZ25pemVyTmFtZSwgdHJ1ZSk7XG5cbiAgICAvLyBGaW5kIGFuY2VzdG9yc1xuICAgIGNvbnN0IGFuY2VzdG9yRXZlbnRIYW5kbGVycyA9IHRoaXMuZXZlbnRIYW5kbGVycy5maWx0ZXIoZW50cnkgPT4ge1xuICAgICAgcmV0dXJuIGVudHJ5LmV2ZW50QWxpYXMgPT09IGV2ZW50QWxpYXMgJiZcbiAgICAgICAgZW50cnkuc3JjRWxlbWVudCAhPT0gc3JjRWxlbWVudCAmJlxuICAgICAgICAoIWVudHJ5LnNyY0VsZW1lbnQgfHwgZW50cnkuc3JjRWxlbWVudC5jb250YWlucyhzcmNFbGVtZW50KSk7XG4gICAgfSk7XG5cbiAgICAvLyBTYXZlIHdyYXBwZWQgaGFuZGxlclxuICAgIHRoaXMuZXZlbnRIYW5kbGVycy5wdXNoKHtldmVudCwgZXZlbnRBbGlhcywgcmVjb2duaXplck5hbWUsIHNyY0VsZW1lbnQsXG4gICAgICBoYW5kbGVyLCB3cmFwcGVkSGFuZGxlcn0pO1xuXG4gICAgLy8gU29ydCBoYW5kbGVycyBieSBET00gaGllcmFyY2h5XG4gICAgLy8gU28gdGhlIGV2ZW50IHdpbGwgYWx3YXlzIGZpcmUgZmlyc3Qgb24gY2hpbGQgbm9kZXNcbiAgICBhbmNlc3RvckV2ZW50SGFuZGxlcnMuZm9yRWFjaChlbnRyeSA9PiB0aGlzLm1hbmFnZXIub2ZmKGV2ZW50QWxpYXMsIGVudHJ5LndyYXBwZWRIYW5kbGVyKSk7XG4gICAgdGhpcy5tYW5hZ2VyLm9uKGV2ZW50QWxpYXMsIHdyYXBwZWRIYW5kbGVyKTtcbiAgICBhbmNlc3RvckV2ZW50SGFuZGxlcnMuZm9yRWFjaChlbnRyeSA9PiB0aGlzLm1hbmFnZXIub24oZXZlbnRBbGlhcywgZW50cnkud3JhcHBlZEhhbmRsZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHRoZSBldmVudCBkZXJlZ2lzdHJhdGlvbiBmb3IgYSBzaW5nbGUgZXZlbnQgKyBoYW5kbGVyLlxuICAgKi9cbiAgX3JlbW92ZUV2ZW50SGFuZGxlcihldmVudCwgaGFuZGxlcikge1xuICAgIGxldCBldmVudEhhbmRsZXJSZW1vdmVkID0gZmFsc2U7XG5cbiAgICAvLyBGaW5kIHNhdmVkIGhhbmRsZXIgaWYgYW55LlxuICAgIGZvciAobGV0IGkgPSB0aGlzLmV2ZW50SGFuZGxlcnMubGVuZ3RoOyBpLS07KSB7XG4gICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZXZlbnRIYW5kbGVyc1tpXTtcbiAgICAgIGlmIChlbnRyeS5ldmVudCA9PT0gZXZlbnQgJiYgZW50cnkuaGFuZGxlciA9PT0gaGFuZGxlcikge1xuICAgICAgICAvLyBEZXJlZ2lzdGVyIGV2ZW50IGhhbmRsZXIuXG4gICAgICAgIHRoaXMubWFuYWdlci5vZmYoZW50cnkuZXZlbnRBbGlhcywgZW50cnkud3JhcHBlZEhhbmRsZXIpO1xuICAgICAgICAvLyBEZWxldGUgc2F2ZWQgaGFuZGxlclxuICAgICAgICB0aGlzLmV2ZW50SGFuZGxlcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICBldmVudEhhbmRsZXJSZW1vdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXZlbnRIYW5kbGVyUmVtb3ZlZCkge1xuICAgICAgLy8gQWxpYXMgdG8gYSByZWNvZ25pemVkIGdlc3R1cmUgYXMgbmVjZXNzYXJ5LlxuICAgICAgY29uc3QgZXZlbnRBbGlhcyA9IEdFU1RVUkVfRVZFTlRfQUxJQVNFU1tldmVudF0gfHwgZXZlbnQ7XG4gICAgICAvLyBHZXQgcmVjb2duaXplciBmb3IgdGhpcyBldmVudFxuICAgICAgY29uc3QgcmVjb2duaXplck5hbWUgPSBFVkVOVF9SRUNPR05JWkVSX01BUFtldmVudEFsaWFzXSB8fCBldmVudEFsaWFzO1xuICAgICAgLy8gRGlzYWJsZSByZWNvZ25pemVyIGlmIG5vIG1vcmUgaGFuZGxlcnMgYXJlIGF0dGFjaGVkIHRvIGl0cyBldmVudHNcbiAgICAgIGNvbnN0IGlzUmVjb2duaXplclVzZWQgPSB0aGlzLmV2ZW50SGFuZGxlcnMuZmluZChcbiAgICAgICAgZW50cnkgPT4gZW50cnkucmVjb2duaXplck5hbWUgPT09IHJlY29nbml6ZXJOYW1lXG4gICAgICApO1xuICAgICAgaWYgKCFpc1JlY29nbml6ZXJVc2VkKSB7XG4gICAgICAgIHRoaXMuX3RvZ2dsZVJlY29nbml6ZXIocmVjb2duaXplck5hbWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBldmVudCBoYW5kbGVyIHRoYXQgYWxpYXNlcyBldmVudHMgYW5kIGFkZCBwcm9wcyBiZWZvcmUgcGFzc2luZ1xuICAgKiB0byB0aGUgcmVhbCBoYW5kbGVyLlxuICAgKi9cbiAgX3dyYXBFdmVudEhhbmRsZXIodHlwZSwgaGFuZGxlciwgc3JjRWxlbWVudCkge1xuICAgIHJldHVybiBldmVudCA9PiB7XG4gICAgICBsZXQge21qb2xuaXJFdmVudH0gPSBldmVudDtcblxuICAgICAgaWYgKCFtam9sbmlyRXZlbnQpIHtcbiAgICAgICAgbWpvbG5pckV2ZW50ID0gdGhpcy5fbm9ybWFsaXplRXZlbnQoZXZlbnQpO1xuICAgICAgICBldmVudC5tam9sbmlyRXZlbnQgPSBtam9sbmlyRXZlbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzU3RvcHBlZCA9IG1qb2xuaXJFdmVudC5oYW5kbGVkICYmIG1qb2xuaXJFdmVudC5oYW5kbGVkICE9PSBzcmNFbGVtZW50O1xuXG4gICAgICBpZiAoIWlzU3RvcHBlZCkge1xuICAgICAgICBjb25zdCBpc0Zyb21EZWNlbmRhbnQgPSAhc3JjRWxlbWVudCB8fCBzcmNFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnNyY0V2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmIChpc0Zyb21EZWNlbmRhbnQpIHtcbiAgICAgICAgICBoYW5kbGVyKE9iamVjdC5hc3NpZ24oe30sIG1qb2xuaXJFdmVudCwge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIW1qb2xuaXJFdmVudC5oYW5kbGVkKSB7XG4gICAgICAgICAgICAgICAgbWpvbG5pckV2ZW50LmhhbmRsZWQgPSBzcmNFbGVtZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGhhbW1lcmpzIGFuZCBjdXN0b20gZXZlbnRzIHRvIGhhdmUgcHJlZGljdGFibGUgZmllbGRzLlxuICAgKi9cbiAgX25vcm1hbGl6ZUV2ZW50KGV2ZW50KSB7XG4gICAgY29uc3Qge2VsZW1lbnR9ID0gdGhpcztcbiAgICBjb25zdCB7c3JjRXZlbnR9ID0gZXZlbnQ7XG5cbiAgICBjb25zdCBjZW50ZXIgPSBldmVudC5jZW50ZXIgfHwge1xuICAgICAgeDogc3JjRXZlbnQuY2xpZW50WCxcbiAgICAgIHk6IHNyY0V2ZW50LmNsaWVudFlcbiAgICB9O1xuXG4gICAgLy8gQ2FsY3VsYXRlIGNlbnRlciByZWxhdGl2ZSB0byB0aGUgcm9vdCBlbGVtZW50XG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAvLyBGaXggc2NhbGUgZm9yIG1hcCBhZmZlY3RlZCBieSBhIENTUyB0cmFuc2Zvcm0uXG4gICAgLy8gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjg5MzY2My8zNTI4NTMzXG4gICAgY29uc3Qgc2NhbGVYID0gcmVjdC53aWR0aCAvIGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3Qgc2NhbGVZID0gcmVjdC5oZWlnaHQgLyBlbGVtZW50Lm9mZnNldEhlaWdodDtcblxuICAgIC8vIENhbGN1bGF0ZSBjZW50ZXIgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZWxlbWVudFxuICAgIGNvbnN0IG9mZnNldENlbnRlciA9IHtcbiAgICAgIHg6IChjZW50ZXIueCAtIHJlY3QubGVmdCAtIGVsZW1lbnQuY2xpZW50TGVmdCkgLyBzY2FsZVgsXG4gICAgICB5OiAoY2VudGVyLnkgLSByZWN0LnRvcCAtIGVsZW1lbnQuY2xpZW50VG9wKSAvIHNjYWxlWVxuICAgIH07XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZXZlbnQsIHtcbiAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgICAgY2VudGVyLFxuICAgICAgb2Zmc2V0Q2VudGVyLFxuICAgICAgcm9vdEVsZW1lbnQ6IGVsZW1lbnRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYmFzaWMgZXZlbnRzIHVzaW5nIHRoZSAnaGFtbWVyLmlucHV0JyBIYW1tZXIuanMgQVBJOlxuICAgKiBCZWZvcmUgcnVubmluZyBSZWNvZ25pemVycywgSGFtbWVyIGVtaXRzIGEgJ2hhbW1lci5pbnB1dCcgZXZlbnRcbiAgICogd2l0aCB0aGUgYmFzaWMgZXZlbnQgaW5mby4gVGhpcyBmdW5jdGlvbiBlbWl0cyBhbGwgYmFzaWMgZXZlbnRzXG4gICAqIGFsaWFzZWQgdG8gdGhlIFwiY2xhc3NcIiBvZiBldmVudCByZWNlaXZlZC5cbiAgICogU2VlIGNvbnN0YW50cy5CQVNJQ19FVkVOVF9DTEFTU0VTIGJhc2ljIGV2ZW50IGNsYXNzIGRlZmluaXRpb25zLlxuICAgKi9cbiAgX29uQmFzaWNJbnB1dChldmVudCkge1xuICAgIGNvbnN0IHtzcmNFdmVudH0gPSBldmVudDtcbiAgICBjb25zdCBhbGlhcyA9IEJBU0lDX0VWRU5UX0FMSUFTRVNbc3JjRXZlbnQudHlwZV07XG4gICAgaWYgKGFsaWFzKSB7XG4gICAgICAvLyBmaXJlIGFsbCBldmVudHMgYWxpYXNlZCB0byBzcmNFdmVudC50eXBlXG4gICAgICBjb25zdCBlbWl0RXZlbnQgPSBPYmplY3QuYXNzaWduKHt9LCBldmVudCwge2lzRG93bjogdHJ1ZX0pO1xuICAgICAgdGhpcy5tYW5hZ2VyLmVtaXQoYWxpYXMsIGVtaXRFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBldmVudHMgbm90IHN1cHBvcnRlZCBieSBIYW1tZXIuanMsXG4gICAqIGFuZCBwaXBlIGJhY2sgb3V0IHRocm91Z2ggc2FtZSAoSGFtbWVyKSBjaGFubmVsIHVzZWQgYnkgb3RoZXIgZXZlbnRzLlxuICAgKi9cbiAgX29uT3RoZXJFdmVudChldmVudCkge1xuICAgIHRoaXMubWFuYWdlci5lbWl0KGV2ZW50LnR5cGUsIGV2ZW50KTtcbiAgfVxufVxuIl19

@@ -120,4 +120,4 @@ 'use strict';

case 'mousedown':
if (event.button === 0) {
// Left button is down
if (event.button >= 0) {
// Button is down
this.pressed = true;

@@ -128,4 +128,4 @@ }

// Move events use `which` to track the button being pressed
if (event.which !== 1) {
// Left button is not down
if (event.which === 0) {
// Button is not down
this.pressed = false;

@@ -157,2 +157,2 @@ }

exports.default = MoveInput;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvbW92ZS1pbnB1dC5qcyJdLCJuYW1lcyI6WyJNT1VTRV9FVkVOVFMiLCJNT1ZFX0VWRU5UX1RZUEUiLCJMRUFWRV9FVkVOVF9UWVBFIiwiTW92ZUlucHV0IiwiZWxlbWVudCIsImNhbGxiYWNrIiwib3B0aW9ucyIsInByZXNzZWQiLCJlbmFibGUiLCJlbmFibGVNb3ZlRXZlbnQiLCJlbmFibGVMZWF2ZUV2ZW50IiwiZXZlbnRzIiwiY29uY2F0IiwiaGFuZGxlRXZlbnQiLCJiaW5kIiwiZm9yRWFjaCIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJldmVudFR5cGUiLCJlbmFibGVkIiwidHlwZSIsInNyY0V2ZW50IiwicG9pbnRlclR5cGUiLCJ0YXJnZXQiLCJidXR0b24iLCJ3aGljaCIsImlzRG93biJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOzs7O0lBRU9BLFksZ0NBQUFBLFksRUF0QlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0EsSUFBTUMsa0JBQWtCLGFBQXhCO0FBQ0EsSUFBTUMsbUJBQW1CLGNBQXpCOztBQUVBOzs7Ozs7Ozs7SUFRcUJDLFM7QUFFbkIscUJBQVlDLE9BQVosRUFBcUJDLFFBQXJCLEVBQTZDO0FBQUE7O0FBQUEsUUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUE7O0FBQzNDLFNBQUtGLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0UsT0FBTCxHQUFlLEtBQWY7O0FBRUEsU0FBS0QsT0FBTCxHQUFlLHNCQUFjLEVBQUNFLFFBQVEsSUFBVCxFQUFkLEVBQThCRixPQUE5QixDQUFmO0FBQ0EsU0FBS0csZUFBTCxHQUF1QixLQUFLSCxPQUFMLENBQWFFLE1BQXBDO0FBQ0EsU0FBS0UsZ0JBQUwsR0FBd0IsS0FBS0osT0FBTCxDQUFhRSxNQUFyQzs7QUFFQSxTQUFLRyxNQUFMLEdBQWNYLGFBQWFZLE1BQWIsQ0FBb0JOLFFBQVFLLE1BQVIsSUFBa0IsRUFBdEMsQ0FBZDs7QUFFQSxTQUFLRSxXQUFMLEdBQW1CLEtBQUtBLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQW5CO0FBQ0EsU0FBS0gsTUFBTCxDQUFZSSxPQUFaLENBQW9CO0FBQUEsYUFBU1gsUUFBUVksZ0JBQVIsQ0FBeUJDLEtBQXpCLEVBQWdDLE1BQUtKLFdBQXJDLENBQVQ7QUFBQSxLQUFwQjtBQUNEOzs7OzhCQUVTO0FBQUE7O0FBQ1IsV0FBS0YsTUFBTCxDQUFZSSxPQUFaLENBQW9CO0FBQUEsZUFBUyxPQUFLWCxPQUFMLENBQWFjLG1CQUFiLENBQWlDRCxLQUFqQyxFQUF3QyxPQUFLSixXQUE3QyxDQUFUO0FBQUEsT0FBcEI7QUFDRDs7QUFFRDs7Ozs7OztvQ0FJZ0JNLFMsRUFBV0MsTyxFQUFTO0FBQ2xDLFVBQUlELGNBQWNsQixlQUFsQixFQUFtQztBQUNqQyxhQUFLUSxlQUFMLEdBQXVCVyxPQUF2QjtBQUNEO0FBQ0QsVUFBSUQsY0FBY2pCLGdCQUFsQixFQUFvQztBQUNsQyxhQUFLUSxnQkFBTCxHQUF3QlUsT0FBeEI7QUFDRDtBQUNGOzs7Z0NBRVdILEssRUFBTztBQUNqQixVQUFJLEtBQUtQLGdCQUFULEVBQTJCO0FBQ3pCLFlBQUlPLE1BQU1JLElBQU4sS0FBZSxZQUFuQixFQUFpQztBQUMvQixlQUFLaEIsUUFBTCxDQUFjO0FBQ1pnQixrQkFBTW5CLGdCQURNO0FBRVpvQixzQkFBVUwsS0FGRTtBQUdaTSx5QkFBYSxPQUhEO0FBSVpDLG9CQUFRUCxNQUFNTztBQUpGLFdBQWQ7QUFNRDtBQUNGOztBQUVELFVBQUksS0FBS2YsZUFBVCxFQUEwQjtBQUN4QixnQkFBUVEsTUFBTUksSUFBZDtBQUNBLGVBQUssV0FBTDtBQUNFLGdCQUFJSixNQUFNUSxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCO0FBQ0EsbUJBQUtsQixPQUFMLEdBQWUsSUFBZjtBQUNEO0FBQ0Q7QUFDRixlQUFLLFdBQUw7QUFDRTtBQUNBLGdCQUFJVSxNQUFNUyxLQUFOLEtBQWdCLENBQXBCLEVBQXVCO0FBQ3JCO0FBQ0EsbUJBQUtuQixPQUFMLEdBQWUsS0FBZjtBQUNEO0FBQ0QsZ0JBQUksQ0FBQyxLQUFLQSxPQUFWLEVBQW1CO0FBQ2pCO0FBQ0E7QUFDQSxtQkFBS0YsUUFBTCxDQUFjO0FBQ1pnQixzQkFBTXBCLGVBRE07QUFFWnFCLDBCQUFVTCxLQUZFO0FBR1pVLHdCQUFRLEtBQUtwQixPQUhEO0FBSVpnQiw2QkFBYSxPQUpEO0FBS1pDLHdCQUFRUCxNQUFNTztBQUxGLGVBQWQ7QUFPRDtBQUNEO0FBQ0YsZUFBSyxTQUFMO0FBQ0UsaUJBQUtqQixPQUFMLEdBQWUsS0FBZjtBQUNBO0FBQ0Y7QUE1QkE7QUE4QkQ7QUFFRjs7Ozs7a0JBL0VrQkosUyIsImZpbGUiOiJtb3ZlLWlucHV0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtJTlBVVF9FVkVOVF9UWVBFU30gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3Qge01PVVNFX0VWRU5UU30gPSBJTlBVVF9FVkVOVF9UWVBFUztcbmNvbnN0IE1PVkVfRVZFTlRfVFlQRSA9ICdwb2ludGVybW92ZSc7XG5jb25zdCBMRUFWRV9FVkVOVF9UWVBFID0gJ3BvaW50ZXJsZWF2ZSc7XG5cbi8qKlxuICogSGFtbWVyLmpzIHN3YWxsb3dzICdtb3ZlJyBldmVudHMgKGZvciBwb2ludGVyL3RvdWNoL21vdXNlKVxuICogd2hlbiB0aGUgcG9pbnRlciBpcyBub3QgZG93bi4gVGhpcyBjbGFzcyBzZXRzIHVwIGEgaGFuZGxlclxuICogc3BlY2lmaWNhbGx5IGZvciB0aGVzZSBldmVudHMgdG8gd29yayBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLlxuICogTm90ZSB0aGF0IHRoaXMgY291bGQgYmUgZXh0ZW5kZWQgdG8gbW9yZSBpbnRlbGxpZ2VudGx5IGhhbmRsZVxuICogbW92ZSBldmVudHMgYWNyb3NzIGlucHV0IHR5cGVzLCBlLmcuIHN0b3JpbmcgbXVsdGlwbGUgc2ltdWx0YW5lb3VzXG4gKiBwb2ludGVyL3RvdWNoIGV2ZW50cywgY2FsY3VsYXRpbmcgc3BlZWQvZGlyZWN0aW9uLCBldGMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vdmVJbnB1dCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudCwgY2FsbGJhY2ssIG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIHRoaXMucHJlc3NlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7ZW5hYmxlOiB0cnVlfSwgb3B0aW9ucyk7XG4gICAgdGhpcy5lbmFibGVNb3ZlRXZlbnQgPSB0aGlzLm9wdGlvbnMuZW5hYmxlO1xuICAgIHRoaXMuZW5hYmxlTGVhdmVFdmVudCA9IHRoaXMub3B0aW9ucy5lbmFibGU7XG5cbiAgICB0aGlzLmV2ZW50cyA9IE1PVVNFX0VWRU5UUy5jb25jYXQob3B0aW9ucy5ldmVudHMgfHwgW10pO1xuXG4gICAgdGhpcy5oYW5kbGVFdmVudCA9IHRoaXMuaGFuZGxlRXZlbnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgdGhpcy5oYW5kbGVFdmVudCkpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmhhbmRsZUV2ZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIHRoaXMgaW5wdXQgKGJlZ2luIHByb2Nlc3NpbmcgZXZlbnRzKVxuICAgKiBpZiB0aGUgc3BlY2lmaWVkIGV2ZW50IHR5cGUgaXMgYW1vbmcgdGhvc2UgaGFuZGxlZCBieSB0aGlzIGlucHV0LlxuICAgKi9cbiAgZW5hYmxlRXZlbnRUeXBlKGV2ZW50VHlwZSwgZW5hYmxlZCkge1xuICAgIGlmIChldmVudFR5cGUgPT09IE1PVkVfRVZFTlRfVFlQRSkge1xuICAgICAgdGhpcy5lbmFibGVNb3ZlRXZlbnQgPSBlbmFibGVkO1xuICAgIH1cbiAgICBpZiAoZXZlbnRUeXBlID09PSBMRUFWRV9FVkVOVF9UWVBFKSB7XG4gICAgICB0aGlzLmVuYWJsZUxlYXZlRXZlbnQgPSBlbmFibGVkO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUV2ZW50KGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlTGVhdmVFdmVudCkge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWxlYXZlJykge1xuICAgICAgICB0aGlzLmNhbGxiYWNrKHtcbiAgICAgICAgICB0eXBlOiBMRUFWRV9FVkVOVF9UWVBFLFxuICAgICAgICAgIHNyY0V2ZW50OiBldmVudCxcbiAgICAgICAgICBwb2ludGVyVHlwZTogJ21vdXNlJyxcbiAgICAgICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbmFibGVNb3ZlRXZlbnQpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAnbW91c2Vkb3duJzpcbiAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbiA9PT0gMCkge1xuICAgICAgICAgIC8vIExlZnQgYnV0dG9uIGlzIGRvd25cbiAgICAgICAgICB0aGlzLnByZXNzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW91c2Vtb3ZlJzpcbiAgICAgICAgLy8gTW92ZSBldmVudHMgdXNlIGB3aGljaGAgdG8gdHJhY2sgdGhlIGJ1dHRvbiBiZWluZyBwcmVzc2VkXG4gICAgICAgIGlmIChldmVudC53aGljaCAhPT0gMSkge1xuICAgICAgICAgIC8vIExlZnQgYnV0dG9uIGlzIG5vdCBkb3duXG4gICAgICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnByZXNzZWQpIHtcbiAgICAgICAgICAvLyBEcmFnIGV2ZW50cyBhcmUgZW1pdHRlZCBieSBoYW1tZXIgYWxyZWFkeVxuICAgICAgICAgIC8vIHdlIGp1c3QgbmVlZCB0byBlbWl0IHRoZSBtb3ZlIGV2ZW50IG9uIGhvdmVyXG4gICAgICAgICAgdGhpcy5jYWxsYmFjayh7XG4gICAgICAgICAgICB0eXBlOiBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgICBzcmNFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBpc0Rvd246IHRoaXMucHJlc3NlZCxcbiAgICAgICAgICAgIHBvaW50ZXJUeXBlOiAnbW91c2UnLFxuICAgICAgICAgICAgdGFyZ2V0OiBldmVudC50YXJnZXRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNldXAnOlxuICAgICAgICB0aGlzLnByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvbW92ZS1pbnB1dC5qcyJdLCJuYW1lcyI6WyJNT1VTRV9FVkVOVFMiLCJNT1ZFX0VWRU5UX1RZUEUiLCJMRUFWRV9FVkVOVF9UWVBFIiwiTW92ZUlucHV0IiwiZWxlbWVudCIsImNhbGxiYWNrIiwib3B0aW9ucyIsInByZXNzZWQiLCJlbmFibGUiLCJlbmFibGVNb3ZlRXZlbnQiLCJlbmFibGVMZWF2ZUV2ZW50IiwiZXZlbnRzIiwiY29uY2F0IiwiaGFuZGxlRXZlbnQiLCJiaW5kIiwiZm9yRWFjaCIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJldmVudFR5cGUiLCJlbmFibGVkIiwidHlwZSIsInNyY0V2ZW50IiwicG9pbnRlclR5cGUiLCJ0YXJnZXQiLCJidXR0b24iLCJ3aGljaCIsImlzRG93biJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOzs7O0lBRU9BLFksZ0NBQUFBLFksRUF0QlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0EsSUFBTUMsa0JBQWtCLGFBQXhCO0FBQ0EsSUFBTUMsbUJBQW1CLGNBQXpCOztBQUVBOzs7Ozs7Ozs7SUFRcUJDLFM7QUFFbkIscUJBQVlDLE9BQVosRUFBcUJDLFFBQXJCLEVBQTZDO0FBQUE7O0FBQUEsUUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUE7O0FBQzNDLFNBQUtGLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0UsT0FBTCxHQUFlLEtBQWY7O0FBRUEsU0FBS0QsT0FBTCxHQUFlLHNCQUFjLEVBQUNFLFFBQVEsSUFBVCxFQUFkLEVBQThCRixPQUE5QixDQUFmO0FBQ0EsU0FBS0csZUFBTCxHQUF1QixLQUFLSCxPQUFMLENBQWFFLE1BQXBDO0FBQ0EsU0FBS0UsZ0JBQUwsR0FBd0IsS0FBS0osT0FBTCxDQUFhRSxNQUFyQzs7QUFFQSxTQUFLRyxNQUFMLEdBQWNYLGFBQWFZLE1BQWIsQ0FBb0JOLFFBQVFLLE1BQVIsSUFBa0IsRUFBdEMsQ0FBZDs7QUFFQSxTQUFLRSxXQUFMLEdBQW1CLEtBQUtBLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQW5CO0FBQ0EsU0FBS0gsTUFBTCxDQUFZSSxPQUFaLENBQW9CO0FBQUEsYUFBU1gsUUFBUVksZ0JBQVIsQ0FBeUJDLEtBQXpCLEVBQWdDLE1BQUtKLFdBQXJDLENBQVQ7QUFBQSxLQUFwQjtBQUNEOzs7OzhCQUVTO0FBQUE7O0FBQ1IsV0FBS0YsTUFBTCxDQUFZSSxPQUFaLENBQW9CO0FBQUEsZUFBUyxPQUFLWCxPQUFMLENBQWFjLG1CQUFiLENBQWlDRCxLQUFqQyxFQUF3QyxPQUFLSixXQUE3QyxDQUFUO0FBQUEsT0FBcEI7QUFDRDs7QUFFRDs7Ozs7OztvQ0FJZ0JNLFMsRUFBV0MsTyxFQUFTO0FBQ2xDLFVBQUlELGNBQWNsQixlQUFsQixFQUFtQztBQUNqQyxhQUFLUSxlQUFMLEdBQXVCVyxPQUF2QjtBQUNEO0FBQ0QsVUFBSUQsY0FBY2pCLGdCQUFsQixFQUFvQztBQUNsQyxhQUFLUSxnQkFBTCxHQUF3QlUsT0FBeEI7QUFDRDtBQUNGOzs7Z0NBRVdILEssRUFBTztBQUNqQixVQUFJLEtBQUtQLGdCQUFULEVBQTJCO0FBQ3pCLFlBQUlPLE1BQU1JLElBQU4sS0FBZSxZQUFuQixFQUFpQztBQUMvQixlQUFLaEIsUUFBTCxDQUFjO0FBQ1pnQixrQkFBTW5CLGdCQURNO0FBRVpvQixzQkFBVUwsS0FGRTtBQUdaTSx5QkFBYSxPQUhEO0FBSVpDLG9CQUFRUCxNQUFNTztBQUpGLFdBQWQ7QUFNRDtBQUNGOztBQUVELFVBQUksS0FBS2YsZUFBVCxFQUEwQjtBQUN4QixnQkFBUVEsTUFBTUksSUFBZDtBQUNBLGVBQUssV0FBTDtBQUNFLGdCQUFJSixNQUFNUSxNQUFOLElBQWdCLENBQXBCLEVBQXVCO0FBQ3JCO0FBQ0EsbUJBQUtsQixPQUFMLEdBQWUsSUFBZjtBQUNEO0FBQ0Q7QUFDRixlQUFLLFdBQUw7QUFDRTtBQUNBLGdCQUFJVSxNQUFNUyxLQUFOLEtBQWdCLENBQXBCLEVBQXVCO0FBQ3JCO0FBQ0EsbUJBQUtuQixPQUFMLEdBQWUsS0FBZjtBQUNEO0FBQ0QsZ0JBQUksQ0FBQyxLQUFLQSxPQUFWLEVBQW1CO0FBQ2pCO0FBQ0E7QUFDQSxtQkFBS0YsUUFBTCxDQUFjO0FBQ1pnQixzQkFBTXBCLGVBRE07QUFFWnFCLDBCQUFVTCxLQUZFO0FBR1pVLHdCQUFRLEtBQUtwQixPQUhEO0FBSVpnQiw2QkFBYSxPQUpEO0FBS1pDLHdCQUFRUCxNQUFNTztBQUxGLGVBQWQ7QUFPRDtBQUNEO0FBQ0YsZUFBSyxTQUFMO0FBQ0UsaUJBQUtqQixPQUFMLEdBQWUsS0FBZjtBQUNBO0FBQ0Y7QUE1QkE7QUE4QkQ7QUFFRjs7Ozs7a0JBL0VrQkosUyIsImZpbGUiOiJtb3ZlLWlucHV0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtJTlBVVF9FVkVOVF9UWVBFU30gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3Qge01PVVNFX0VWRU5UU30gPSBJTlBVVF9FVkVOVF9UWVBFUztcbmNvbnN0IE1PVkVfRVZFTlRfVFlQRSA9ICdwb2ludGVybW92ZSc7XG5jb25zdCBMRUFWRV9FVkVOVF9UWVBFID0gJ3BvaW50ZXJsZWF2ZSc7XG5cbi8qKlxuICogSGFtbWVyLmpzIHN3YWxsb3dzICdtb3ZlJyBldmVudHMgKGZvciBwb2ludGVyL3RvdWNoL21vdXNlKVxuICogd2hlbiB0aGUgcG9pbnRlciBpcyBub3QgZG93bi4gVGhpcyBjbGFzcyBzZXRzIHVwIGEgaGFuZGxlclxuICogc3BlY2lmaWNhbGx5IGZvciB0aGVzZSBldmVudHMgdG8gd29yayBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLlxuICogTm90ZSB0aGF0IHRoaXMgY291bGQgYmUgZXh0ZW5kZWQgdG8gbW9yZSBpbnRlbGxpZ2VudGx5IGhhbmRsZVxuICogbW92ZSBldmVudHMgYWNyb3NzIGlucHV0IHR5cGVzLCBlLmcuIHN0b3JpbmcgbXVsdGlwbGUgc2ltdWx0YW5lb3VzXG4gKiBwb2ludGVyL3RvdWNoIGV2ZW50cywgY2FsY3VsYXRpbmcgc3BlZWQvZGlyZWN0aW9uLCBldGMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vdmVJbnB1dCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudCwgY2FsbGJhY2ssIG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIHRoaXMucHJlc3NlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7ZW5hYmxlOiB0cnVlfSwgb3B0aW9ucyk7XG4gICAgdGhpcy5lbmFibGVNb3ZlRXZlbnQgPSB0aGlzLm9wdGlvbnMuZW5hYmxlO1xuICAgIHRoaXMuZW5hYmxlTGVhdmVFdmVudCA9IHRoaXMub3B0aW9ucy5lbmFibGU7XG5cbiAgICB0aGlzLmV2ZW50cyA9IE1PVVNFX0VWRU5UUy5jb25jYXQob3B0aW9ucy5ldmVudHMgfHwgW10pO1xuXG4gICAgdGhpcy5oYW5kbGVFdmVudCA9IHRoaXMuaGFuZGxlRXZlbnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgdGhpcy5oYW5kbGVFdmVudCkpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmhhbmRsZUV2ZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIHRoaXMgaW5wdXQgKGJlZ2luIHByb2Nlc3NpbmcgZXZlbnRzKVxuICAgKiBpZiB0aGUgc3BlY2lmaWVkIGV2ZW50IHR5cGUgaXMgYW1vbmcgdGhvc2UgaGFuZGxlZCBieSB0aGlzIGlucHV0LlxuICAgKi9cbiAgZW5hYmxlRXZlbnRUeXBlKGV2ZW50VHlwZSwgZW5hYmxlZCkge1xuICAgIGlmIChldmVudFR5cGUgPT09IE1PVkVfRVZFTlRfVFlQRSkge1xuICAgICAgdGhpcy5lbmFibGVNb3ZlRXZlbnQgPSBlbmFibGVkO1xuICAgIH1cbiAgICBpZiAoZXZlbnRUeXBlID09PSBMRUFWRV9FVkVOVF9UWVBFKSB7XG4gICAgICB0aGlzLmVuYWJsZUxlYXZlRXZlbnQgPSBlbmFibGVkO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUV2ZW50KGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlTGVhdmVFdmVudCkge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWxlYXZlJykge1xuICAgICAgICB0aGlzLmNhbGxiYWNrKHtcbiAgICAgICAgICB0eXBlOiBMRUFWRV9FVkVOVF9UWVBFLFxuICAgICAgICAgIHNyY0V2ZW50OiBldmVudCxcbiAgICAgICAgICBwb2ludGVyVHlwZTogJ21vdXNlJyxcbiAgICAgICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbmFibGVNb3ZlRXZlbnQpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAnbW91c2Vkb3duJzpcbiAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbiA+PSAwKSB7XG4gICAgICAgICAgLy8gQnV0dG9uIGlzIGRvd25cbiAgICAgICAgICB0aGlzLnByZXNzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW91c2Vtb3ZlJzpcbiAgICAgICAgLy8gTW92ZSBldmVudHMgdXNlIGB3aGljaGAgdG8gdHJhY2sgdGhlIGJ1dHRvbiBiZWluZyBwcmVzc2VkXG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMCkge1xuICAgICAgICAgIC8vIEJ1dHRvbiBpcyBub3QgZG93blxuICAgICAgICAgIHRoaXMucHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wcmVzc2VkKSB7XG4gICAgICAgICAgLy8gRHJhZyBldmVudHMgYXJlIGVtaXR0ZWQgYnkgaGFtbWVyIGFscmVhZHlcbiAgICAgICAgICAvLyB3ZSBqdXN0IG5lZWQgdG8gZW1pdCB0aGUgbW92ZSBldmVudCBvbiBob3ZlclxuICAgICAgICAgIHRoaXMuY2FsbGJhY2soe1xuICAgICAgICAgICAgdHlwZTogTU9WRV9FVkVOVF9UWVBFLFxuICAgICAgICAgICAgc3JjRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgaXNEb3duOiB0aGlzLnByZXNzZWQsXG4gICAgICAgICAgICBwb2ludGVyVHlwZTogJ21vdXNlJyxcbiAgICAgICAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb3VzZXVwJzpcbiAgICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIl19

@@ -10,3 +10,5 @@ 'use strict';

var hammerjs = void 0; // Copyright (c) 2017 Uber Technologies, Inc.
var _hammerOverrides = require('./hammer-overrides');
// Copyright (c) 2017 Uber Technologies, Inc.
//

@@ -31,2 +33,3 @@ // Permission is hereby granted, free of charge, to any person obtaining a copy

var hammerjs = void 0;
if (_globals.isBrowser) {

@@ -53,5 +56,10 @@ hammerjs = require('hammerjs');

if (hammerjs) {
(0, _hammerOverrides.enhancePointerEventInput)(hammerjs.PointerEventInput);
(0, _hammerOverrides.enhanceMouseInput)(hammerjs.MouseInput);
}
var Manager = exports.Manager = hammerjs ? hammerjs.Manager : HammerManagerMock;
exports.default = hammerjs;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9oYW1tZXIuanMiXSwibmFtZXMiOlsiaGFtbWVyanMiLCJyZXF1aXJlIiwiSGFtbWVyTWFuYWdlck1vY2siLCJtIiwiaW5zdGFuY2UiLCJjaGFpbmVkTm9vcCIsImdldCIsInNldCIsIm9uIiwib2ZmIiwiZGVzdHJveSIsImVtaXQiLCJNYW5hZ2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JBOztBQUVBLElBQUlBLGlCQUFKLEMsQ0F0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0Esd0JBQWU7QUFDYkEsYUFBV0MsUUFBUSxVQUFSLENBQVg7QUFDRDs7QUFFRDtBQUNBLFNBQVNDLGlCQUFULENBQTJCQyxDQUEzQixFQUE4QjtBQUM1QixNQUFNQyxXQUFXLEVBQWpCO0FBQ0EsTUFBTUMsY0FBYyxTQUFkQSxXQUFjO0FBQUEsV0FBTUQsUUFBTjtBQUFBLEdBQXBCO0FBQ0FBLFdBQVNFLEdBQVQsR0FBZTtBQUFBLFdBQU0sSUFBTjtBQUFBLEdBQWY7QUFDQUYsV0FBU0csR0FBVCxHQUFlRixXQUFmO0FBQ0FELFdBQVNJLEVBQVQsR0FBY0gsV0FBZDtBQUNBRCxXQUFTSyxHQUFULEdBQWVKLFdBQWY7QUFDQUQsV0FBU00sT0FBVCxHQUFtQkwsV0FBbkI7QUFDQUQsV0FBU08sSUFBVCxHQUFnQk4sV0FBaEI7QUFDQSxTQUFPRCxRQUFQO0FBQ0Q7O0FBRU0sSUFBTVEsNEJBQVVaLFdBQVdBLFNBQVNZLE9BQXBCLEdBQThCVixpQkFBOUM7O2tCQUVRRixRIiwiZmlsZSI6ImhhbW1lci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7aXNCcm93c2VyfSBmcm9tICcuL2dsb2JhbHMnO1xuXG5sZXQgaGFtbWVyanM7XG5pZiAoaXNCcm93c2VyKSB7XG4gIGhhbW1lcmpzID0gcmVxdWlyZSgnaGFtbWVyanMnKTtcbn1cblxuLy8gSGFtbWVyLk1hbmFnZXIgbW9jayBmb3IgdXNlIGluIGVudmlyb25tZW50cyB3aXRob3V0IGBkb2N1bWVudGAgLyBgd2luZG93YC5cbmZ1bmN0aW9uIEhhbW1lck1hbmFnZXJNb2NrKG0pIHtcbiAgY29uc3QgaW5zdGFuY2UgPSB7fTtcbiAgY29uc3QgY2hhaW5lZE5vb3AgPSAoKSA9PiBpbnN0YW5jZTtcbiAgaW5zdGFuY2UuZ2V0ID0gKCkgPT4gbnVsbDtcbiAgaW5zdGFuY2Uuc2V0ID0gY2hhaW5lZE5vb3A7XG4gIGluc3RhbmNlLm9uID0gY2hhaW5lZE5vb3A7XG4gIGluc3RhbmNlLm9mZiA9IGNoYWluZWROb29wO1xuICBpbnN0YW5jZS5kZXN0cm95ID0gY2hhaW5lZE5vb3A7XG4gIGluc3RhbmNlLmVtaXQgPSBjaGFpbmVkTm9vcDtcbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5leHBvcnQgY29uc3QgTWFuYWdlciA9IGhhbW1lcmpzID8gaGFtbWVyanMuTWFuYWdlciA6IEhhbW1lck1hbmFnZXJNb2NrO1xuXG5leHBvcnQgZGVmYXVsdCBoYW1tZXJqcztcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9oYW1tZXIuanMiXSwibmFtZXMiOlsiaGFtbWVyanMiLCJyZXF1aXJlIiwiSGFtbWVyTWFuYWdlck1vY2siLCJtIiwiaW5zdGFuY2UiLCJjaGFpbmVkTm9vcCIsImdldCIsInNldCIsIm9uIiwib2ZmIiwiZGVzdHJveSIsImVtaXQiLCJQb2ludGVyRXZlbnRJbnB1dCIsIk1vdXNlSW5wdXQiLCJNYW5hZ2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JBOztBQUNBOztBQXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFLQSxJQUFJQSxpQkFBSjtBQUNBLHdCQUFlO0FBQ2JBLGFBQVdDLFFBQVEsVUFBUixDQUFYO0FBQ0Q7O0FBRUQ7QUFDQSxTQUFTQyxpQkFBVCxDQUEyQkMsQ0FBM0IsRUFBOEI7QUFDNUIsTUFBTUMsV0FBVyxFQUFqQjtBQUNBLE1BQU1DLGNBQWMsU0FBZEEsV0FBYztBQUFBLFdBQU1ELFFBQU47QUFBQSxHQUFwQjtBQUNBQSxXQUFTRSxHQUFULEdBQWU7QUFBQSxXQUFNLElBQU47QUFBQSxHQUFmO0FBQ0FGLFdBQVNHLEdBQVQsR0FBZUYsV0FBZjtBQUNBRCxXQUFTSSxFQUFULEdBQWNILFdBQWQ7QUFDQUQsV0FBU0ssR0FBVCxHQUFlSixXQUFmO0FBQ0FELFdBQVNNLE9BQVQsR0FBbUJMLFdBQW5CO0FBQ0FELFdBQVNPLElBQVQsR0FBZ0JOLFdBQWhCO0FBQ0EsU0FBT0QsUUFBUDtBQUNEOztBQUVELElBQUlKLFFBQUosRUFBYztBQUNaLGlEQUF5QkEsU0FBU1ksaUJBQWxDO0FBQ0EsMENBQWtCWixTQUFTYSxVQUEzQjtBQUNEOztBQUVNLElBQU1DLDRCQUFVZCxXQUFXQSxTQUFTYyxPQUFwQixHQUE4QlosaUJBQTlDOztrQkFFUUYsUSIsImZpbGUiOiJoYW1tZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTcgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge2lzQnJvd3Nlcn0gZnJvbSAnLi9nbG9iYWxzJztcbmltcG9ydCB7ZW5oYW5jZVBvaW50ZXJFdmVudElucHV0LCBlbmhhbmNlTW91c2VJbnB1dH0gZnJvbSAnLi9oYW1tZXItb3ZlcnJpZGVzJztcblxubGV0IGhhbW1lcmpzO1xuaWYgKGlzQnJvd3Nlcikge1xuICBoYW1tZXJqcyA9IHJlcXVpcmUoJ2hhbW1lcmpzJyk7XG59XG5cbi8vIEhhbW1lci5NYW5hZ2VyIG1vY2sgZm9yIHVzZSBpbiBlbnZpcm9ubWVudHMgd2l0aG91dCBgZG9jdW1lbnRgIC8gYHdpbmRvd2AuXG5mdW5jdGlvbiBIYW1tZXJNYW5hZ2VyTW9jayhtKSB7XG4gIGNvbnN0IGluc3RhbmNlID0ge307XG4gIGNvbnN0IGNoYWluZWROb29wID0gKCkgPT4gaW5zdGFuY2U7XG4gIGluc3RhbmNlLmdldCA9ICgpID0+IG51bGw7XG4gIGluc3RhbmNlLnNldCA9IGNoYWluZWROb29wO1xuICBpbnN0YW5jZS5vbiA9IGNoYWluZWROb29wO1xuICBpbnN0YW5jZS5vZmYgPSBjaGFpbmVkTm9vcDtcbiAgaW5zdGFuY2UuZGVzdHJveSA9IGNoYWluZWROb29wO1xuICBpbnN0YW5jZS5lbWl0ID0gY2hhaW5lZE5vb3A7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cblxuaWYgKGhhbW1lcmpzKSB7XG4gIGVuaGFuY2VQb2ludGVyRXZlbnRJbnB1dChoYW1tZXJqcy5Qb2ludGVyRXZlbnRJbnB1dCk7XG4gIGVuaGFuY2VNb3VzZUlucHV0KGhhbW1lcmpzLk1vdXNlSW5wdXQpO1xufVxuXG5leHBvcnQgY29uc3QgTWFuYWdlciA9IGhhbW1lcmpzID8gaGFtbWVyanMuTWFuYWdlciA6IEhhbW1lck1hbmFnZXJNb2NrO1xuXG5leHBvcnQgZGVmYXVsdCBoYW1tZXJqcztcbiJdfQ==
{
"name": "mjolnir.js",
"description": "An Event Manager",
"version": "0.2.0",
"version": "0.3.0",
"keywords": [

@@ -6,0 +6,0 @@ "hammerjs",

@@ -27,5 +27,5 @@ // Copyright (c) 2017 Uber Technologies, Inc.

[Hammer.Rotate, {enable: false}],
[Hammer.Pinch, {enable: false}, ['rotate']],
[Hammer.Pinch, {enable: false}],
[Hammer.Swipe, {enable: false}],
[Hammer.Pan, {threshold: 0, enable: false}],
[Hammer.Swipe, {enable: false}],
[Hammer.Press, {enable: false}],

@@ -36,2 +36,12 @@ [Hammer.Tap, {event: 'doubletap', taps: 2, enable: false}],

// Recognize the following gestures even if a given recognizer succeeds
export const RECOGNIZER_COMPATIBLE_MAP = {
rotate: ['pinch']
};
// Recognize the folling gestures only if a given recognizer fails
export const RECOGNIZER_FALLBACK_MAP = {
doubletap: ['tap']
};
/**

@@ -38,0 +48,0 @@ * Only one set of basic input events will be fired by Hammer.js:

@@ -31,5 +31,11 @@ // Copyright (c) 2017 Uber Technologies, Inc.

GESTURE_EVENT_ALIASES,
RECOGNIZERS
RECOGNIZERS,
RECOGNIZER_COMPATIBLE_MAP,
RECOGNIZER_FALLBACK_MAP
} from './constants';
function preventDefault(evt) {
evt.preventDefault();
}
// Unified API for subscribing to events about both

@@ -42,2 +48,3 @@ // basic input events (e.g. 'mousemove', 'touchstart', 'wheel')

this.element = element;
this.options = options;
this._onBasicInput = this._onBasicInput.bind(this);

@@ -50,2 +57,13 @@

if (!options.recognizers) {
// Set default recognize withs
// http://hammerjs.github.io/recognize-with/
Object.keys(RECOGNIZER_COMPATIBLE_MAP).forEach(name => {
const recognizer = this.manager.get(name);
RECOGNIZER_COMPATIBLE_MAP[name].forEach(otherName => {
recognizer.recognizeWith(otherName);
});
});
}
this.eventHandlers = [];

@@ -61,2 +79,7 @@

if (options.rightButton) {
// Block right click
element.addEventListener('contextmenu', preventDefault);
}
// Register all passed events.

@@ -71,2 +94,4 @@ const {events} = options;

destroy() {
this.element.removeEventListener('contextmenu', preventDefault);
this.wheelInput.destroy();

@@ -114,2 +139,18 @@ this.moveInput.destroy();

recognizer.set({enable: enabled});
const fallbackRecognizers = RECOGNIZER_FALLBACK_MAP[name];
if (fallbackRecognizers && !this.options.recognizers) {
// Set default require failures
// http://hammerjs.github.io/require-failure/
fallbackRecognizers.forEach(otherName => {
const otherRecognizer = this.manager.get(otherName);
if (enabled) {
// Wait for this recognizer to fail
otherRecognizer.requireFailure(name);
} else {
// Do not wait for this recognizer to fail
otherRecognizer.dropRequireFailure(name);
}
});
}
}

@@ -116,0 +157,0 @@ this.wheelInput.enableEventType(name, enabled);

@@ -84,4 +84,4 @@ // Copyright (c) 2017 Uber Technologies, Inc.

case 'mousedown':
if (event.button === 0) {
// Left button is down
if (event.button >= 0) {
// Button is down
this.pressed = true;

@@ -92,4 +92,4 @@ }

// Move events use `which` to track the button being pressed
if (event.which !== 1) {
// Left button is not down
if (event.which === 0) {
// Button is not down
this.pressed = false;

@@ -96,0 +96,0 @@ }

@@ -22,2 +22,3 @@ // Copyright (c) 2017 Uber Technologies, Inc.

import {isBrowser} from './globals';
import {enhancePointerEventInput, enhanceMouseInput} from './hammer-overrides';

@@ -42,4 +43,9 @@ let hammerjs;

if (hammerjs) {
enhancePointerEventInput(hammerjs.PointerEventInput);
enhanceMouseInput(hammerjs.MouseInput);
}
export const Manager = hammerjs ? hammerjs.Manager : HammerManagerMock;
export default hammerjs;
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