e6d3acd30ca1bb6243761b9d3f3bdc54
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var NativeModules = {
  AlertManager: {
    alertWithArgs: jest.fn()
  },
  AsyncLocalStorage: {
    multiGet: jest.fn((keys, callback) => process.nextTick(() => callback(null, []))),
    multiSet: jest.fn((entries, callback) => process.nextTick(() => callback(null))),
    multiRemove: jest.fn((keys, callback) => process.nextTick(() => callback(null))),
    multiMerge: jest.fn((entries, callback) => process.nextTick(() => callback(null))),
    clear: jest.fn(callback => process.nextTick(() => callback(null))),
    getAllKeys: jest.fn(callback => process.nextTick(() => callback(null, [])))
  },
  DeviceInfo: {
    getConstants() {
      return {
        Dimensions: {
          window: {
            fontScale: 2,
            height: 1334,
            scale: 2,
            width: 750
          },
          screen: {
            fontScale: 2,
            height: 1334,
            scale: 2,
            width: 750
          }
        }
      };
    }
  },
  DevSettings: {
    addMenuItem: jest.fn(),
    reload: jest.fn()
  },
  ImageLoader: {
    getSize: jest.fn(url => Promise.resolve([320, 240])),
    getSizeWithHeaders: jest.fn((url, headers) => Promise.resolve({
      height: 222,
      width: 333
    })),
    prefetchImage: jest.fn(),
    prefetchImageWithMetadata: jest.fn(),
    queryCache: jest.fn()
  },
  ImageViewManager: {
    getSize: jest.fn((uri, success) => process.nextTick(() => success(320, 240))),
    prefetchImage: jest.fn()
  },
  KeyboardObserver: {
    addListener: jest.fn(),
    removeListeners: jest.fn()
  },
  NativeAnimatedModule: {
    createAnimatedNode: jest.fn(),
    updateAnimatedNodeConfig: jest.fn(),
    getValue: jest.fn(),
    startListeningToAnimatedNodeValue: jest.fn(),
    stopListeningToAnimatedNodeValue: jest.fn(),
    connectAnimatedNodes: jest.fn(),
    disconnectAnimatedNodes: jest.fn(),
    startAnimatingNode: jest.fn((animationId, nodeTag, config, endCallback) => {
      setTimeout(() => endCallback({
        finished: true
      }), 16);
    }),
    stopAnimation: jest.fn(),
    setAnimatedNodeValue: jest.fn(),
    setAnimatedNodeOffset: jest.fn(),
    flattenAnimatedNodeOffset: jest.fn(),
    extractAnimatedNodeOffset: jest.fn(),
    connectAnimatedNodeToView: jest.fn(),
    disconnectAnimatedNodeFromView: jest.fn(),
    restoreDefaultValues: jest.fn(),
    dropAnimatedNode: jest.fn(),
    addAnimatedEventToView: jest.fn(),
    removeAnimatedEventFromView: jest.fn(),
    addListener: jest.fn(),
    removeListener: jest.fn(),
    removeListeners: jest.fn()
  },
  Networking: {
    sendRequest: jest.fn(),
    abortRequest: jest.fn(),
    addListener: jest.fn(),
    removeListeners: jest.fn()
  },
  PlatformConstants: {
    getConstants() {
      return {
        reactNativeVersion: {
          major: 1000,
          minor: 0,
          patch: 0,
          prerelease: undefined
        }
      };
    }
  },
  PushNotificationManager: {
    presentLocalNotification: jest.fn(),
    scheduleLocalNotification: jest.fn(),
    cancelAllLocalNotifications: jest.fn(),
    removeAllDeliveredNotifications: jest.fn(),
    getDeliveredNotifications: jest.fn(callback => process.nextTick(() => [])),
    removeDeliveredNotifications: jest.fn(),
    setApplicationIconBadgeNumber: jest.fn(),
    getApplicationIconBadgeNumber: jest.fn(callback => process.nextTick(() => callback(0))),
    cancelLocalNotifications: jest.fn(),
    getScheduledLocalNotifications: jest.fn(callback => process.nextTick(() => callback())),
    requestPermissions: jest.fn(() => Promise.resolve({
      alert: true,
      badge: true,
      sound: true
    })),
    abandonPermissions: jest.fn(),
    checkPermissions: jest.fn(callback => process.nextTick(() => callback({
      alert: true,
      badge: true,
      sound: true
    }))),
    getInitialNotification: jest.fn(() => Promise.resolve(null)),
    addListener: jest.fn(),
    removeListeners: jest.fn()
  },
  SourceCode: {
    getConstants() {
      return {
        scriptURL: null
      };
    }
  },
  StatusBarManager: {
    setColor: jest.fn(),
    setStyle: jest.fn(),
    setHidden: jest.fn(),
    setNetworkActivityIndicatorVisible: jest.fn(),
    setBackgroundColor: jest.fn(),
    setTranslucent: jest.fn(),
    getConstants: () => ({
      HEIGHT: 42
    })
  },
  Timing: {
    createTimer: jest.fn(),
    deleteTimer: jest.fn()
  },
  UIManager: {},
  BlobModule: {
    getConstants: () => ({
      BLOB_URI_SCHEME: 'content',
      BLOB_URI_HOST: null
    }),
    addNetworkingHandler: jest.fn(),
    enableBlobSupport: jest.fn(),
    disableBlobSupport: jest.fn(),
    createFromParts: jest.fn(),
    sendBlob: jest.fn(),
    release: jest.fn()
  },
  WebSocketModule: {
    connect: jest.fn(),
    send: jest.fn(),
    sendBinary: jest.fn(),
    ping: jest.fn(),
    close: jest.fn(),
    addListener: jest.fn(),
    removeListeners: jest.fn()
  },
  I18nManager: {
    allowRTL: jest.fn(),
    forceRTL: jest.fn(),
    swapLeftAndRightInRTL: jest.fn(),
    getConstants: () => ({
      isRTL: false,
      doLeftAndRightSwapInRTL: true
    })
  }
};
var _default = exports.default = NativeModules;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOYXRpdmVNb2R1bGVzIiwiQWxlcnRNYW5hZ2VyIiwiYWxlcnRXaXRoQXJncyIsImplc3QiLCJmbiIsIkFzeW5jTG9jYWxTdG9yYWdlIiwibXVsdGlHZXQiLCJrZXlzIiwiY2FsbGJhY2siLCJwcm9jZXNzIiwibmV4dFRpY2siLCJtdWx0aVNldCIsImVudHJpZXMiLCJtdWx0aVJlbW92ZSIsIm11bHRpTWVyZ2UiLCJjbGVhciIsImdldEFsbEtleXMiLCJEZXZpY2VJbmZvIiwiZ2V0Q29uc3RhbnRzIiwiRGltZW5zaW9ucyIsIndpbmRvdyIsImZvbnRTY2FsZSIsImhlaWdodCIsInNjYWxlIiwid2lkdGgiLCJzY3JlZW4iLCJEZXZTZXR0aW5ncyIsImFkZE1lbnVJdGVtIiwicmVsb2FkIiwiSW1hZ2VMb2FkZXIiLCJnZXRTaXplIiwidXJsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJnZXRTaXplV2l0aEhlYWRlcnMiLCJoZWFkZXJzIiwicHJlZmV0Y2hJbWFnZSIsInByZWZldGNoSW1hZ2VXaXRoTWV0YWRhdGEiLCJxdWVyeUNhY2hlIiwiSW1hZ2VWaWV3TWFuYWdlciIsInVyaSIsInN1Y2Nlc3MiLCJLZXlib2FyZE9ic2VydmVyIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lcnMiLCJOYXRpdmVBbmltYXRlZE1vZHVsZSIsImNyZWF0ZUFuaW1hdGVkTm9kZSIsInVwZGF0ZUFuaW1hdGVkTm9kZUNvbmZpZyIsImdldFZhbHVlIiwic3RhcnRMaXN0ZW5pbmdUb0FuaW1hdGVkTm9kZVZhbHVlIiwic3RvcExpc3RlbmluZ1RvQW5pbWF0ZWROb2RlVmFsdWUiLCJjb25uZWN0QW5pbWF0ZWROb2RlcyIsImRpc2Nvbm5lY3RBbmltYXRlZE5vZGVzIiwic3RhcnRBbmltYXRpbmdOb2RlIiwiYW5pbWF0aW9uSWQiLCJub2RlVGFnIiwiY29uZmlnIiwiZW5kQ2FsbGJhY2siLCJzZXRUaW1lb3V0IiwiZmluaXNoZWQiLCJzdG9wQW5pbWF0aW9uIiwic2V0QW5pbWF0ZWROb2RlVmFsdWUiLCJzZXRBbmltYXRlZE5vZGVPZmZzZXQiLCJmbGF0dGVuQW5pbWF0ZWROb2RlT2Zmc2V0IiwiZXh0cmFjdEFuaW1hdGVkTm9kZU9mZnNldCIsImNvbm5lY3RBbmltYXRlZE5vZGVUb1ZpZXciLCJkaXNjb25uZWN0QW5pbWF0ZWROb2RlRnJvbVZpZXciLCJyZXN0b3JlRGVmYXVsdFZhbHVlcyIsImRyb3BBbmltYXRlZE5vZGUiLCJhZGRBbmltYXRlZEV2ZW50VG9WaWV3IiwicmVtb3ZlQW5pbWF0ZWRFdmVudEZyb21WaWV3IiwicmVtb3ZlTGlzdGVuZXIiLCJOZXR3b3JraW5nIiwic2VuZFJlcXVlc3QiLCJhYm9ydFJlcXVlc3QiLCJQbGF0Zm9ybUNvbnN0YW50cyIsInJlYWN0TmF0aXZlVmVyc2lvbiIsIm1ham9yIiwibWlub3IiLCJwYXRjaCIsInByZXJlbGVhc2UiLCJ1bmRlZmluZWQiLCJQdXNoTm90aWZpY2F0aW9uTWFuYWdlciIsInByZXNlbnRMb2NhbE5vdGlmaWNhdGlvbiIsInNjaGVkdWxlTG9jYWxOb3RpZmljYXRpb24iLCJjYW5jZWxBbGxMb2NhbE5vdGlmaWNhdGlvbnMiLCJyZW1vdmVBbGxEZWxpdmVyZWROb3RpZmljYXRpb25zIiwiZ2V0RGVsaXZlcmVkTm90aWZpY2F0aW9ucyIsInJlbW92ZURlbGl2ZXJlZE5vdGlmaWNhdGlvbnMiLCJzZXRBcHBsaWNhdGlvbkljb25CYWRnZU51bWJlciIsImdldEFwcGxpY2F0aW9uSWNvbkJhZGdlTnVtYmVyIiwiY2FuY2VsTG9jYWxOb3RpZmljYXRpb25zIiwiZ2V0U2NoZWR1bGVkTG9jYWxOb3RpZmljYXRpb25zIiwicmVxdWVzdFBlcm1pc3Npb25zIiwiYWxlcnQiLCJiYWRnZSIsInNvdW5kIiwiYWJhbmRvblBlcm1pc3Npb25zIiwiY2hlY2tQZXJtaXNzaW9ucyIsImdldEluaXRpYWxOb3RpZmljYXRpb24iLCJTb3VyY2VDb2RlIiwic2NyaXB0VVJMIiwiU3RhdHVzQmFyTWFuYWdlciIsInNldENvbG9yIiwic2V0U3R5bGUiLCJzZXRIaWRkZW4iLCJzZXROZXR3b3JrQWN0aXZpdHlJbmRpY2F0b3JWaXNpYmxlIiwic2V0QmFja2dyb3VuZENvbG9yIiwic2V0VHJhbnNsdWNlbnQiLCJIRUlHSFQiLCJUaW1pbmciLCJjcmVhdGVUaW1lciIsImRlbGV0ZVRpbWVyIiwiVUlNYW5hZ2VyIiwiQmxvYk1vZHVsZSIsIkJMT0JfVVJJX1NDSEVNRSIsIkJMT0JfVVJJX0hPU1QiLCJhZGROZXR3b3JraW5nSGFuZGxlciIsImVuYWJsZUJsb2JTdXBwb3J0IiwiZGlzYWJsZUJsb2JTdXBwb3J0IiwiY3JlYXRlRnJvbVBhcnRzIiwic2VuZEJsb2IiLCJyZWxlYXNlIiwiV2ViU29ja2V0TW9kdWxlIiwiY29ubmVjdCIsInNlbmQiLCJzZW5kQmluYXJ5IiwicGluZyIsImNsb3NlIiwiSTE4bk1hbmFnZXIiLCJhbGxvd1JUTCIsImZvcmNlUlRMIiwic3dhcExlZnRBbmRSaWdodEluUlRMIiwiaXNSVEwiLCJkb0xlZnRBbmRSaWdodFN3YXBJblJUTCIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyJOYXRpdmVNb2R1bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKiBAZmxvdyBzdHJpY3RcbiAqIEBmb3JtYXRcbiAqL1xuXG4vLyBUT0RPOiBTcGxpdCB0aGlzIHVwIGludG8gc2VwYXJhdGUgZmlsZXMuXG5jb25zdCBOYXRpdmVNb2R1bGVzID0ge1xuICBBbGVydE1hbmFnZXI6IHtcbiAgICBhbGVydFdpdGhBcmdzOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgQXN5bmNMb2NhbFN0b3JhZ2U6IHtcbiAgICBtdWx0aUdldDogamVzdC5mbigoa2V5cywgY2FsbGJhY2spID0+XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IGNhbGxiYWNrKG51bGwsIFtdKSksXG4gICAgKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIG11bHRpU2V0OiBqZXN0LmZuKChlbnRyaWVzLCBjYWxsYmFjaykgPT5cbiAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gY2FsbGJhY2sobnVsbCkpLFxuICAgICkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBtdWx0aVJlbW92ZTogamVzdC5mbigoa2V5cywgY2FsbGJhY2spID0+XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IGNhbGxiYWNrKG51bGwpKSxcbiAgICApIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgbXVsdGlNZXJnZTogamVzdC5mbigoZW50cmllcywgY2FsbGJhY2spID0+XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IGNhbGxiYWNrKG51bGwpKSxcbiAgICApIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgY2xlYXI6IGplc3QuZm4oY2FsbGJhY2sgPT5cbiAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gY2FsbGJhY2sobnVsbCkpLFxuICAgICkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBnZXRBbGxLZXlzOiBqZXN0LmZuKGNhbGxiYWNrID0+XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IGNhbGxiYWNrKG51bGwsIFtdKSksXG4gICAgKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICB9LFxuICBEZXZpY2VJbmZvOiB7XG4gICAgZ2V0Q29uc3RhbnRzKCk6ICRGbG93Rml4TWUge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgRGltZW5zaW9uczoge1xuICAgICAgICAgIHdpbmRvdzoge1xuICAgICAgICAgICAgZm9udFNjYWxlOiAyLFxuICAgICAgICAgICAgaGVpZ2h0OiAxMzM0LFxuICAgICAgICAgICAgc2NhbGU6IDIsXG4gICAgICAgICAgICB3aWR0aDogNzUwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NyZWVuOiB7XG4gICAgICAgICAgICBmb250U2NhbGU6IDIsXG4gICAgICAgICAgICBoZWlnaHQ6IDEzMzQsXG4gICAgICAgICAgICBzY2FsZTogMixcbiAgICAgICAgICAgIHdpZHRoOiA3NTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSxcbiAgfSxcbiAgRGV2U2V0dGluZ3M6IHtcbiAgICBhZGRNZW51SXRlbTogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgcmVsb2FkOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgSW1hZ2VMb2FkZXI6IHtcbiAgICBnZXRTaXplOiBqZXN0LmZuKHVybCA9PiBQcm9taXNlLnJlc29sdmUoWzMyMCwgMjQwXSkpIGFzIEplc3RNb2NrRm48XG4gICAgICAkRmxvd0ZpeE1lLFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICA+LFxuICAgIGdldFNpemVXaXRoSGVhZGVyczogamVzdC5mbigodXJsLCBoZWFkZXJzKSA9PlxuICAgICAgUHJvbWlzZS5yZXNvbHZlKHtoZWlnaHQ6IDIyMiwgd2lkdGg6IDMzM30pLFxuICAgICkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBwcmVmZXRjaEltYWdlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBwcmVmZXRjaEltYWdlV2l0aE1ldGFkYXRhOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBxdWVyeUNhY2hlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgSW1hZ2VWaWV3TWFuYWdlcjoge1xuICAgIGdldFNpemU6IGplc3QuZm4oKHVyaSwgc3VjY2VzcykgPT5cbiAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gc3VjY2VzcygzMjAsIDI0MCkpLFxuICAgICkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBwcmVmZXRjaEltYWdlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgS2V5Ym9hcmRPYnNlcnZlcjoge1xuICAgIGFkZExpc3RlbmVyOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICByZW1vdmVMaXN0ZW5lcnM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICB9LFxuICBOYXRpdmVBbmltYXRlZE1vZHVsZToge1xuICAgIGNyZWF0ZUFuaW1hdGVkTm9kZTogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgdXBkYXRlQW5pbWF0ZWROb2RlQ29uZmlnOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBnZXRWYWx1ZTogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgc3RhcnRMaXN0ZW5pbmdUb0FuaW1hdGVkTm9kZVZhbHVlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgICAkRmxvd0ZpeE1lLFxuICAgID4sXG4gICAgc3RvcExpc3RlbmluZ1RvQW5pbWF0ZWROb2RlVmFsdWU6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgPixcbiAgICBjb25uZWN0QW5pbWF0ZWROb2RlczogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgZGlzY29ubmVjdEFuaW1hdGVkTm9kZXM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHN0YXJ0QW5pbWF0aW5nTm9kZTogamVzdC5mbigoYW5pbWF0aW9uSWQsIG5vZGVUYWcsIGNvbmZpZywgZW5kQ2FsbGJhY2spID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gZW5kQ2FsbGJhY2soe2ZpbmlzaGVkOiB0cnVlfSksIDE2KTtcbiAgICB9KSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHN0b3BBbmltYXRpb246IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHNldEFuaW1hdGVkTm9kZVZhbHVlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBzZXRBbmltYXRlZE5vZGVPZmZzZXQ6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGZsYXR0ZW5BbmltYXRlZE5vZGVPZmZzZXQ6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGV4dHJhY3RBbmltYXRlZE5vZGVPZmZzZXQ6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGNvbm5lY3RBbmltYXRlZE5vZGVUb1ZpZXc6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGRpc2Nvbm5lY3RBbmltYXRlZE5vZGVGcm9tVmlldzogamVzdC5mbigpIGFzIEplc3RNb2NrRm48XG4gICAgICAkRmxvd0ZpeE1lLFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICA+LFxuICAgIHJlc3RvcmVEZWZhdWx0VmFsdWVzOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBkcm9wQW5pbWF0ZWROb2RlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBhZGRBbmltYXRlZEV2ZW50VG9WaWV3OiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICByZW1vdmVBbmltYXRlZEV2ZW50RnJvbVZpZXc6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgPixcbiAgICBhZGRMaXN0ZW5lcjogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgcmVtb3ZlTGlzdGVuZXI6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHJlbW92ZUxpc3RlbmVyczogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gIH0sXG4gIE5ldHdvcmtpbmc6IHtcbiAgICBzZW5kUmVxdWVzdDogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgYWJvcnRSZXF1ZXN0OiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBhZGRMaXN0ZW5lcjogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgcmVtb3ZlTGlzdGVuZXJzOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgUGxhdGZvcm1Db25zdGFudHM6IHtcbiAgICBnZXRDb25zdGFudHMoKTogJEZsb3dGaXhNZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZWFjdE5hdGl2ZVZlcnNpb246IHtcbiAgICAgICAgICBtYWpvcjogMTAwMCxcbiAgICAgICAgICBtaW5vcjogMCxcbiAgICAgICAgICBwYXRjaDogMCxcbiAgICAgICAgICBwcmVyZWxlYXNlOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0sXG4gIH0sXG4gIFB1c2hOb3RpZmljYXRpb25NYW5hZ2VyOiB7XG4gICAgcHJlc2VudExvY2FsTm90aWZpY2F0aW9uOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBzY2hlZHVsZUxvY2FsTm90aWZpY2F0aW9uOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBjYW5jZWxBbGxMb2NhbE5vdGlmaWNhdGlvbnM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgPixcbiAgICByZW1vdmVBbGxEZWxpdmVyZWROb3RpZmljYXRpb25zOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgICAkRmxvd0ZpeE1lLFxuICAgID4sXG4gICAgZ2V0RGVsaXZlcmVkTm90aWZpY2F0aW9uczogamVzdC5mbihjYWxsYmFjayA9PlxuICAgICAgcHJvY2Vzcy5uZXh0VGljaygoKSA9PiBbXSksXG4gICAgKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHJlbW92ZURlbGl2ZXJlZE5vdGlmaWNhdGlvbnM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgPixcbiAgICBzZXRBcHBsaWNhdGlvbkljb25CYWRnZU51bWJlcjogamVzdC5mbigpIGFzIEplc3RNb2NrRm48XG4gICAgICAkRmxvd0ZpeE1lLFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICA+LFxuICAgIGdldEFwcGxpY2F0aW9uSWNvbkJhZGdlTnVtYmVyOiBqZXN0LmZuKGNhbGxiYWNrID0+XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IGNhbGxiYWNrKDApKSxcbiAgICApIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgY2FuY2VsTG9jYWxOb3RpZmljYXRpb25zOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBnZXRTY2hlZHVsZWRMb2NhbE5vdGlmaWNhdGlvbnM6IGplc3QuZm4oY2FsbGJhY2sgPT5cbiAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4gY2FsbGJhY2soKSksXG4gICAgKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHJlcXVlc3RQZXJtaXNzaW9uczogamVzdC5mbigoKSA9PlxuICAgICAgUHJvbWlzZS5yZXNvbHZlKHthbGVydDogdHJ1ZSwgYmFkZ2U6IHRydWUsIHNvdW5kOiB0cnVlfSksXG4gICAgKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGFiYW5kb25QZXJtaXNzaW9uczogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgY2hlY2tQZXJtaXNzaW9uczogamVzdC5mbihjYWxsYmFjayA9PlxuICAgICAgcHJvY2Vzcy5uZXh0VGljaygoKSA9PiBjYWxsYmFjayh7YWxlcnQ6IHRydWUsIGJhZGdlOiB0cnVlLCBzb3VuZDogdHJ1ZX0pKSxcbiAgICApIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgZ2V0SW5pdGlhbE5vdGlmaWNhdGlvbjogamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUobnVsbCkpIGFzIEplc3RNb2NrRm48XG4gICAgICAkRmxvd0ZpeE1lLFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICA+LFxuICAgIGFkZExpc3RlbmVyOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICByZW1vdmVMaXN0ZW5lcnM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICB9LFxuICBTb3VyY2VDb2RlOiB7XG4gICAgZ2V0Q29uc3RhbnRzKCk6ICRGbG93Rml4TWUge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2NyaXB0VVJMOiBudWxsLFxuICAgICAgfTtcbiAgICB9LFxuICB9LFxuICBTdGF0dXNCYXJNYW5hZ2VyOiB7XG4gICAgc2V0Q29sb3I6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHNldFN0eWxlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBzZXRIaWRkZW46IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHNldE5ldHdvcmtBY3Rpdml0eUluZGljYXRvclZpc2libGU6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPFxuICAgICAgJEZsb3dGaXhNZSxcbiAgICAgICRGbG93Rml4TWUsXG4gICAgPixcbiAgICBzZXRCYWNrZ3JvdW5kQ29sb3I6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHNldFRyYW5zbHVjZW50OiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBnZXRDb25zdGFudHM6ICgpOiAkRmxvd0ZpeE1lID0+ICh7XG4gICAgICBIRUlHSFQ6IDQyLFxuICAgIH0pLFxuICB9LFxuICBUaW1pbmc6IHtcbiAgICBjcmVhdGVUaW1lcjogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgZGVsZXRlVGltZXI6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICB9LFxuICBVSU1hbmFnZXI6IHt9LFxuICBCbG9iTW9kdWxlOiB7XG4gICAgZ2V0Q29uc3RhbnRzOiAoKTogJEZsb3dGaXhNZSA9PiAoe1xuICAgICAgQkxPQl9VUklfU0NIRU1FOiAnY29udGVudCcsXG4gICAgICBCTE9CX1VSSV9IT1NUOiBudWxsLFxuICAgIH0pLFxuICAgIGFkZE5ldHdvcmtpbmdIYW5kbGVyOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBlbmFibGVCbG9iU3VwcG9ydDogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgZGlzYWJsZUJsb2JTdXBwb3J0OiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBjcmVhdGVGcm9tUGFydHM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIHNlbmRCbG9iOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICByZWxlYXNlOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgfSxcbiAgV2ViU29ja2V0TW9kdWxlOiB7XG4gICAgY29ubmVjdDogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgc2VuZDogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgc2VuZEJpbmFyeTogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgcGluZzogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgY2xvc2U6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICAgIGFkZExpc3RlbmVyOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICByZW1vdmVMaXN0ZW5lcnM6IGplc3QuZm4oKSBhcyBKZXN0TW9ja0ZuPCRGbG93Rml4TWUsICRGbG93Rml4TWU+LFxuICB9LFxuICBJMThuTWFuYWdlcjoge1xuICAgIGFsbG93UlRMOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBmb3JjZVJUTDogamVzdC5mbigpIGFzIEplc3RNb2NrRm48JEZsb3dGaXhNZSwgJEZsb3dGaXhNZT4sXG4gICAgc3dhcExlZnRBbmRSaWdodEluUlRMOiBqZXN0LmZuKCkgYXMgSmVzdE1vY2tGbjwkRmxvd0ZpeE1lLCAkRmxvd0ZpeE1lPixcbiAgICBnZXRDb25zdGFudHM6ICgpOiAkRmxvd0ZpeE1lID0+ICh7XG4gICAgICBpc1JUTDogZmFsc2UsXG4gICAgICBkb0xlZnRBbmRSaWdodFN3YXBJblJUTDogdHJ1ZSxcbiAgICB9KSxcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdGl2ZU1vZHVsZXM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFXQSxJQUFNQSxhQUFhLEdBQUc7RUFDcEJDLFlBQVksRUFBRTtJQUNaQyxhQUFhLEVBQUVDLElBQUksQ0FBQ0MsRUFBRSxDQUFDO0VBQ3pCLENBQUM7RUFDREMsaUJBQWlCLEVBQUU7SUFDakJDLFFBQVEsRUFBRUgsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQ0csSUFBSSxFQUFFQyxRQUFRLEtBQy9CQyxPQUFPLENBQUNDLFFBQVEsQ0FBQyxNQUFNRixRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUMzQyxDQUF1QztJQUN2Q0csUUFBUSxFQUFFUixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDUSxPQUFPLEVBQUVKLFFBQVEsS0FDbENDLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLE1BQU1GLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FBdUM7SUFDdkNLLFdBQVcsRUFBRVYsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQ0csSUFBSSxFQUFFQyxRQUFRLEtBQ2xDQyxPQUFPLENBQUNDLFFBQVEsQ0FBQyxNQUFNRixRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3ZDLENBQXVDO0lBQ3ZDTSxVQUFVLEVBQUVYLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUNRLE9BQU8sRUFBRUosUUFBUSxLQUNwQ0MsT0FBTyxDQUFDQyxRQUFRLENBQUMsTUFBTUYsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUF1QztJQUN2Q08sS0FBSyxFQUFFWixJQUFJLENBQUNDLEVBQUUsQ0FBQ0ksUUFBUSxJQUNyQkMsT0FBTyxDQUFDQyxRQUFRLENBQUMsTUFBTUYsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUF1QztJQUN2Q1EsVUFBVSxFQUFFYixJQUFJLENBQUNDLEVBQUUsQ0FBQ0ksUUFBUSxJQUMxQkMsT0FBTyxDQUFDQyxRQUFRLENBQUMsTUFBTUYsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDM0M7RUFDRixDQUFDO0VBQ0RTLFVBQVUsRUFBRTtJQUNWQyxZQUFZQSxDQUFBLEVBQWU7TUFDekIsT0FBTztRQUNMQyxVQUFVLEVBQUU7VUFDVkMsTUFBTSxFQUFFO1lBQ05DLFNBQVMsRUFBRSxDQUFDO1lBQ1pDLE1BQU0sRUFBRSxJQUFJO1lBQ1pDLEtBQUssRUFBRSxDQUFDO1lBQ1JDLEtBQUssRUFBRTtVQUNULENBQUM7VUFDREMsTUFBTSxFQUFFO1lBQ05KLFNBQVMsRUFBRSxDQUFDO1lBQ1pDLE1BQU0sRUFBRSxJQUFJO1lBQ1pDLEtBQUssRUFBRSxDQUFDO1lBQ1JDLEtBQUssRUFBRTtVQUNUO1FBQ0Y7TUFDRixDQUFDO0lBQ0g7RUFDRixDQUFDO0VBQ0RFLFdBQVcsRUFBRTtJQUNYQyxXQUFXLEVBQUV4QixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUM1RHdCLE1BQU0sRUFBRXpCLElBQUksQ0FBQ0MsRUFBRSxDQUFDO0VBQ2xCLENBQUM7RUFDRHlCLFdBQVcsRUFBRTtJQUNYQyxPQUFPLEVBQUUzQixJQUFJLENBQUNDLEVBQUUsQ0FBQzJCLEdBQUcsSUFBSUMsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FHbEQ7SUFDREMsa0JBQWtCLEVBQUUvQixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDMkIsR0FBRyxFQUFFSSxPQUFPLEtBQ3ZDSCxPQUFPLENBQUNDLE9BQU8sQ0FBQztNQUFDWCxNQUFNLEVBQUUsR0FBRztNQUFFRSxLQUFLLEVBQUU7SUFBRyxDQUFDLENBQzNDLENBQXVDO0lBQ3ZDWSxhQUFhLEVBQUVqQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUM5RGlDLHlCQUF5QixFQUFFbEMsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDMUVrQyxVQUFVLEVBQUVuQyxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUN0QixDQUFDO0VBQ0RtQyxnQkFBZ0IsRUFBRTtJQUNoQlQsT0FBTyxFQUFFM0IsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQ29DLEdBQUcsRUFBRUMsT0FBTyxLQUM1QmhDLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLE1BQU0rQixPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUMxQyxDQUF1QztJQUN2Q0wsYUFBYSxFQUFFakMsSUFBSSxDQUFDQyxFQUFFLENBQUM7RUFDekIsQ0FBQztFQUNEc0MsZ0JBQWdCLEVBQUU7SUFDaEJDLFdBQVcsRUFBRXhDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQzVEd0MsZUFBZSxFQUFFekMsSUFBSSxDQUFDQyxFQUFFLENBQUM7RUFDM0IsQ0FBQztFQUNEeUMsb0JBQW9CLEVBQUU7SUFDcEJDLGtCQUFrQixFQUFFM0MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDbkUyQyx3QkFBd0IsRUFBRTVDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3pFNEMsUUFBUSxFQUFFN0MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDekQ2QyxpQ0FBaUMsRUFBRTlDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBRzFDO0lBQ0Q4QyxnQ0FBZ0MsRUFBRS9DLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBR3pDO0lBQ0QrQyxvQkFBb0IsRUFBRWhELElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3JFZ0QsdUJBQXVCLEVBQUVqRCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN4RWlELGtCQUFrQixFQUFFbEQsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQ2tELFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsS0FBSztNQUN6RUMsVUFBVSxDQUFDLE1BQU1ELFdBQVcsQ0FBQztRQUFDRSxRQUFRLEVBQUU7TUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDckQsQ0FBQyxDQUF1QztJQUN4Q0MsYUFBYSxFQUFFekQsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDOUR5RCxvQkFBb0IsRUFBRTFELElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3JFMEQscUJBQXFCLEVBQUUzRCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN0RTJELHlCQUF5QixFQUFFNUQsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDMUU0RCx5QkFBeUIsRUFBRTdELElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQzFFNkQseUJBQXlCLEVBQUU5RCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUMxRThELDhCQUE4QixFQUFFL0QsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FHdkM7SUFDRCtELG9CQUFvQixFQUFFaEUsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDckVnRSxnQkFBZ0IsRUFBRWpFLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ2pFaUUsc0JBQXNCLEVBQUVsRSxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN2RWtFLDJCQUEyQixFQUFFbkUsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FHcEM7SUFDRHVDLFdBQVcsRUFBRXhDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQzVEbUUsY0FBYyxFQUFFcEUsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDL0R3QyxlQUFlLEVBQUV6QyxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUMzQixDQUFDO0VBQ0RvRSxVQUFVLEVBQUU7SUFDVkMsV0FBVyxFQUFFdEUsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDNURzRSxZQUFZLEVBQUV2RSxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUM3RHVDLFdBQVcsRUFBRXhDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQzVEd0MsZUFBZSxFQUFFekMsSUFBSSxDQUFDQyxFQUFFLENBQUM7RUFDM0IsQ0FBQztFQUNEdUUsaUJBQWlCLEVBQUU7SUFDakJ6RCxZQUFZQSxDQUFBLEVBQWU7TUFDekIsT0FBTztRQUNMMEQsa0JBQWtCLEVBQUU7VUFDbEJDLEtBQUssRUFBRSxJQUFJO1VBQ1hDLEtBQUssRUFBRSxDQUFDO1VBQ1JDLEtBQUssRUFBRSxDQUFDO1VBQ1JDLFVBQVUsRUFBRUM7UUFDZDtNQUNGLENBQUM7SUFDSDtFQUNGLENBQUM7RUFDREMsdUJBQXVCLEVBQUU7SUFDdkJDLHdCQUF3QixFQUFFaEYsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDekVnRix5QkFBeUIsRUFBRWpGLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQzFFaUYsMkJBQTJCLEVBQUVsRixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUdwQztJQUNEa0YsK0JBQStCLEVBQUVuRixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUd4QztJQUNEbUYseUJBQXlCLEVBQUVwRixJQUFJLENBQUNDLEVBQUUsQ0FBQ0ksUUFBUSxJQUN6Q0MsT0FBTyxDQUFDQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQzNCLENBQXVDO0lBQ3ZDOEUsNEJBQTRCLEVBQUVyRixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUdyQztJQUNEcUYsNkJBQTZCLEVBQUV0RixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUd0QztJQUNEc0YsNkJBQTZCLEVBQUV2RixJQUFJLENBQUNDLEVBQUUsQ0FBQ0ksUUFBUSxJQUM3Q0MsT0FBTyxDQUFDQyxRQUFRLENBQUMsTUFBTUYsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNwQyxDQUF1QztJQUN2Q21GLHdCQUF3QixFQUFFeEYsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDekV3Riw4QkFBOEIsRUFBRXpGLElBQUksQ0FBQ0MsRUFBRSxDQUFDSSxRQUFRLElBQzlDQyxPQUFPLENBQUNDLFFBQVEsQ0FBQyxNQUFNRixRQUFRLENBQUMsQ0FBQyxDQUNuQyxDQUF1QztJQUN2Q3FGLGtCQUFrQixFQUFFMUYsSUFBSSxDQUFDQyxFQUFFLENBQUMsTUFDMUI0QixPQUFPLENBQUNDLE9BQU8sQ0FBQztNQUFDNkQsS0FBSyxFQUFFLElBQUk7TUFBRUMsS0FBSyxFQUFFLElBQUk7TUFBRUMsS0FBSyxFQUFFO0lBQUksQ0FBQyxDQUN6RCxDQUF1QztJQUN2Q0Msa0JBQWtCLEVBQUU5RixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUNuRThGLGdCQUFnQixFQUFFL0YsSUFBSSxDQUFDQyxFQUFFLENBQUNJLFFBQVEsSUFDaENDLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLE1BQU1GLFFBQVEsQ0FBQztNQUFDc0YsS0FBSyxFQUFFLElBQUk7TUFBRUMsS0FBSyxFQUFFLElBQUk7TUFBRUMsS0FBSyxFQUFFO0lBQUksQ0FBQyxDQUFDLENBQzFFLENBQXVDO0lBQ3ZDRyxzQkFBc0IsRUFBRWhHLElBQUksQ0FBQ0MsRUFBRSxDQUFDLE1BQU00QixPQUFPLENBQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHMUQ7SUFDRFUsV0FBVyxFQUFFeEMsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDNUR3QyxlQUFlLEVBQUV6QyxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUMzQixDQUFDO0VBQ0RnRyxVQUFVLEVBQUU7SUFDVmxGLFlBQVlBLENBQUEsRUFBZTtNQUN6QixPQUFPO1FBQ0xtRixTQUFTLEVBQUU7TUFDYixDQUFDO0lBQ0g7RUFDRixDQUFDO0VBQ0RDLGdCQUFnQixFQUFFO0lBQ2hCQyxRQUFRLEVBQUVwRyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN6RG9HLFFBQVEsRUFBRXJHLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3pEcUcsU0FBUyxFQUFFdEcsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDMURzRyxrQ0FBa0MsRUFBRXZHLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBRzNDO0lBQ0R1RyxrQkFBa0IsRUFBRXhHLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ25Fd0csY0FBYyxFQUFFekcsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDL0RjLFlBQVksRUFBRUEsQ0FBQSxNQUFtQjtNQUMvQjJGLE1BQU0sRUFBRTtJQUNWLENBQUM7RUFDSCxDQUFDO0VBQ0RDLE1BQU0sRUFBRTtJQUNOQyxXQUFXLEVBQUU1RyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUM1RDRHLFdBQVcsRUFBRTdHLElBQUksQ0FBQ0MsRUFBRSxDQUFDO0VBQ3ZCLENBQUM7RUFDRDZHLFNBQVMsRUFBRSxDQUFDLENBQUM7RUFDYkMsVUFBVSxFQUFFO0lBQ1ZoRyxZQUFZLEVBQUVBLENBQUEsTUFBbUI7TUFDL0JpRyxlQUFlLEVBQUUsU0FBUztNQUMxQkMsYUFBYSxFQUFFO0lBQ2pCLENBQUMsQ0FBQztJQUNGQyxvQkFBb0IsRUFBRWxILElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3JFa0gsaUJBQWlCLEVBQUVuSCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUNsRW1ILGtCQUFrQixFQUFFcEgsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDbkVvSCxlQUFlLEVBQUVySCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUNoRXFILFFBQVEsRUFBRXRILElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3pEc0gsT0FBTyxFQUFFdkgsSUFBSSxDQUFDQyxFQUFFLENBQUM7RUFDbkIsQ0FBQztFQUNEdUgsZUFBZSxFQUFFO0lBQ2ZDLE9BQU8sRUFBRXpILElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3hEeUgsSUFBSSxFQUFFMUgsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDckQwSCxVQUFVLEVBQUUzSCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUMzRDJILElBQUksRUFBRTVILElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3JENEgsS0FBSyxFQUFFN0gsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBdUM7SUFDdER1QyxXQUFXLEVBQUV4QyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUM1RHdDLGVBQWUsRUFBRXpDLElBQUksQ0FBQ0MsRUFBRSxDQUFDO0VBQzNCLENBQUM7RUFDRDZILFdBQVcsRUFBRTtJQUNYQyxRQUFRLEVBQUUvSCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN6RCtILFFBQVEsRUFBRWhJLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQXVDO0lBQ3pEZ0kscUJBQXFCLEVBQUVqSSxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUF1QztJQUN0RWMsWUFBWSxFQUFFQSxDQUFBLE1BQW1CO01BQy9CbUgsS0FBSyxFQUFFLEtBQUs7TUFDWkMsdUJBQXVCLEVBQUU7SUFDM0IsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWF6SSxhQUFhIiwiaWdub3JlTGlzdCI6W119