{"version":3,"file":"gp-map-field.js","mappings":"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","sources":["webpack://gp-address-autocomplete/./node_modules/lodash/_Symbol.js","webpack://gp-address-autocomplete/./node_modules/lodash/_arrayMap.js","webpack://gp-address-autocomplete/./node_modules/lodash/_baseGetTag.js","webpack://gp-address-autocomplete/./node_modules/lodash/_basePropertyOf.js","webpack://gp-address-autocomplete/./node_modules/lodash/_baseToString.js","webpack://gp-address-autocomplete/./node_modules/lodash/_deburrLetter.js","webpack://gp-address-autocomplete/./node_modules/lodash/_freeGlobal.js","webpack://gp-address-autocomplete/./node_modules/lodash/_getRawTag.js","webpack://gp-address-autocomplete/./node_modules/lodash/_objectToString.js","webpack://gp-address-autocomplete/./node_modules/lodash/_root.js","webpack://gp-address-autocomplete/./node_modules/lodash/deburr.js","webpack://gp-address-autocomplete/./node_modules/lodash/isArray.js","webpack://gp-address-autocomplete/./node_modules/lodash/isObjectLike.js","webpack://gp-address-autocomplete/./node_modules/lodash/isSymbol.js","webpack://gp-address-autocomplete/./node_modules/lodash/toString.js","webpack://gp-address-autocomplete/./node_modules/scrollparent/scrollparent.js","webpack://gp-address-autocomplete/./node_modules/promise-polyfill/src/index.js","webpack://gp-address-autocomplete/./node_modules/promise-polyfill/src/finally.js","webpack://gp-address-autocomplete/./node_modules/promise-polyfill/src/allSettled.js","webpack://gp-address-autocomplete/./js/src/frontend.ts","webpack://gp-address-autocomplete/webpack/bootstrap","webpack://gp-address-autocomplete/webpack/runtime/compat get default export","webpack://gp-address-autocomplete/webpack/runtime/define property getters","webpack://gp-address-autocomplete/webpack/runtime/global","webpack://gp-address-autocomplete/webpack/runtime/hasOwnProperty shorthand","webpack://gp-address-autocomplete/./js/src/map-field.ts"],"sourcesContent":["var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n  return function(key) {\n    return object == null ? undefined : object[key];\n  };\n}\n\nmodule.exports = basePropertyOf;\n","var Symbol = require('./_Symbol'),\n    arrayMap = require('./_arrayMap'),\n    isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n  // Latin-1 Supplement block.\n  '\\xc0': 'A',  '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n  '\\xe0': 'a',  '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n  '\\xc7': 'C',  '\\xe7': 'c',\n  '\\xd0': 'D',  '\\xf0': 'd',\n  '\\xc8': 'E',  '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n  '\\xe8': 'e',  '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n  '\\xcc': 'I',  '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n  '\\xec': 'i',  '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n  '\\xd1': 'N',  '\\xf1': 'n',\n  '\\xd2': 'O',  '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n  '\\xf2': 'o',  '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n  '\\xd9': 'U',  '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n  '\\xf9': 'u',  '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n  '\\xdd': 'Y',  '\\xfd': 'y', '\\xff': 'y',\n  '\\xc6': 'Ae', '\\xe6': 'ae',\n  '\\xde': 'Th', '\\xfe': 'th',\n  '\\xdf': 'ss',\n  // Latin Extended-A block.\n  '\\u0100': 'A',  '\\u0102': 'A', '\\u0104': 'A',\n  '\\u0101': 'a',  '\\u0103': 'a', '\\u0105': 'a',\n  '\\u0106': 'C',  '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n  '\\u0107': 'c',  '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n  '\\u010e': 'D',  '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n  '\\u0112': 'E',  '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n  '\\u0113': 'e',  '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n  '\\u011c': 'G',  '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n  '\\u011d': 'g',  '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n  '\\u0124': 'H',  '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n  '\\u0128': 'I',  '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n  '\\u0129': 'i',  '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n  '\\u0134': 'J',  '\\u0135': 'j',\n  '\\u0136': 'K',  '\\u0137': 'k', '\\u0138': 'k',\n  '\\u0139': 'L',  '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n  '\\u013a': 'l',  '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n  '\\u0143': 'N',  '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n  '\\u0144': 'n',  '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n  '\\u014c': 'O',  '\\u014e': 'O', '\\u0150': 'O',\n  '\\u014d': 'o',  '\\u014f': 'o', '\\u0151': 'o',\n  '\\u0154': 'R',  '\\u0156': 'R', '\\u0158': 'R',\n  '\\u0155': 'r',  '\\u0157': 'r', '\\u0159': 'r',\n  '\\u015a': 'S',  '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n  '\\u015b': 's',  '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n  '\\u0162': 'T',  '\\u0164': 'T', '\\u0166': 'T',\n  '\\u0163': 't',  '\\u0165': 't', '\\u0167': 't',\n  '\\u0168': 'U',  '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n  '\\u0169': 'u',  '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n  '\\u0174': 'W',  '\\u0175': 'w',\n  '\\u0176': 'Y',  '\\u0177': 'y', '\\u0178': 'Y',\n  '\\u0179': 'Z',  '\\u017b': 'Z', '\\u017d': 'Z',\n  '\\u017a': 'z',  '\\u017c': 'z', '\\u017e': 'z',\n  '\\u0132': 'IJ', '\\u0133': 'ij',\n  '\\u0152': 'Oe', '\\u0153': 'oe',\n  '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var deburrLetter = require('./_deburrLetter'),\n    toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n  string = toString(string);\n  return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","(function (root, factory) {\n  if (typeof define === \"function\" && define.amd) {\n    define([], factory);\n  } else if (typeof module === \"object\" && module.exports) {\n    module.exports = factory();\n  } else {\n    root.Scrollparent = factory();\n  }\n}(this, function () {\n  var regex = /(auto|scroll)/;\n\n  var parents = function (node, ps) {\n    if (node.parentNode === null) { return ps; }\n\n    return parents(node.parentNode, ps.concat([node]));\n  };\n\n  var style = function (node, prop) {\n    return getComputedStyle(node, null).getPropertyValue(prop);\n  };\n\n  var overflow = function (node) {\n    return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n  };\n\n  var scroll = function (node) {\n   return regex.test(overflow(node));\n  };\n\n  var scrollParent = function (node) {\n    if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n      return ;\n    }\n\n    var ps = parents(node.parentNode, []);\n\n    for (var i = 0; i < ps.length; i += 1) {\n      if (scroll(ps[i])) {\n        return ps[i];\n      }\n    }\n\n    return document.scrollingElement || document.documentElement;\n  };\n\n  return scrollParent;\n}));\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n  return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n  return function() {\n    fn.apply(thisArg, arguments);\n  };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n  if (!(this instanceof Promise))\n    throw new TypeError('Promises must be constructed via new');\n  if (typeof fn !== 'function') throw new TypeError('not a function');\n  /** @type {!number} */\n  this._state = 0;\n  /** @type {!boolean} */\n  this._handled = false;\n  /** @type {Promise|undefined} */\n  this._value = undefined;\n  /** @type {!Array<!Function>} */\n  this._deferreds = [];\n\n  doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n  while (self._state === 3) {\n    self = self._value;\n  }\n  if (self._state === 0) {\n    self._deferreds.push(deferred);\n    return;\n  }\n  self._handled = true;\n  Promise._immediateFn(function() {\n    var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n    if (cb === null) {\n      (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n      return;\n    }\n    var ret;\n    try {\n      ret = cb(self._value);\n    } catch (e) {\n      reject(deferred.promise, e);\n      return;\n    }\n    resolve(deferred.promise, ret);\n  });\n}\n\nfunction resolve(self, newValue) {\n  try {\n    // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n    if (newValue === self)\n      throw new TypeError('A promise cannot be resolved with itself.');\n    if (\n      newValue &&\n      (typeof newValue === 'object' || typeof newValue === 'function')\n    ) {\n      var then = newValue.then;\n      if (newValue instanceof Promise) {\n        self._state = 3;\n        self._value = newValue;\n        finale(self);\n        return;\n      } else if (typeof then === 'function') {\n        doResolve(bind(then, newValue), self);\n        return;\n      }\n    }\n    self._state = 1;\n    self._value = newValue;\n    finale(self);\n  } catch (e) {\n    reject(self, e);\n  }\n}\n\nfunction reject(self, newValue) {\n  self._state = 2;\n  self._value = newValue;\n  finale(self);\n}\n\nfunction finale(self) {\n  if (self._state === 2 && self._deferreds.length === 0) {\n    Promise._immediateFn(function() {\n      if (!self._handled) {\n        Promise._unhandledRejectionFn(self._value);\n      }\n    });\n  }\n\n  for (var i = 0, len = self._deferreds.length; i < len; i++) {\n    handle(self, self._deferreds[i]);\n  }\n  self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n  this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n  this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n  this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n  var done = false;\n  try {\n    fn(\n      function(value) {\n        if (done) return;\n        done = true;\n        resolve(self, value);\n      },\n      function(reason) {\n        if (done) return;\n        done = true;\n        reject(self, reason);\n      }\n    );\n  } catch (ex) {\n    if (done) return;\n    done = true;\n    reject(self, ex);\n  }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n  return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n  // @ts-ignore\n  var prom = new this.constructor(noop);\n\n  handle(this, new Handler(onFulfilled, onRejected, prom));\n  return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n  return new Promise(function(resolve, reject) {\n    if (!isArray(arr)) {\n      return reject(new TypeError('Promise.all accepts an array'));\n    }\n\n    var args = Array.prototype.slice.call(arr);\n    if (args.length === 0) return resolve([]);\n    var remaining = args.length;\n\n    function res(i, val) {\n      try {\n        if (val && (typeof val === 'object' || typeof val === 'function')) {\n          var then = val.then;\n          if (typeof then === 'function') {\n            then.call(\n              val,\n              function(val) {\n                res(i, val);\n              },\n              reject\n            );\n            return;\n          }\n        }\n        args[i] = val;\n        if (--remaining === 0) {\n          resolve(args);\n        }\n      } catch (ex) {\n        reject(ex);\n      }\n    }\n\n    for (var i = 0; i < args.length; i++) {\n      res(i, args[i]);\n    }\n  });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n  if (value && typeof value === 'object' && value.constructor === Promise) {\n    return value;\n  }\n\n  return new Promise(function(resolve) {\n    resolve(value);\n  });\n};\n\nPromise.reject = function(value) {\n  return new Promise(function(resolve, reject) {\n    reject(value);\n  });\n};\n\nPromise.race = function(arr) {\n  return new Promise(function(resolve, reject) {\n    if (!isArray(arr)) {\n      return reject(new TypeError('Promise.race accepts an array'));\n    }\n\n    for (var i = 0, len = arr.length; i < len; i++) {\n      Promise.resolve(arr[i]).then(resolve, reject);\n    }\n  });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n  // @ts-ignore\n  (typeof setImmediate === 'function' &&\n    function(fn) {\n      // @ts-ignore\n      setImmediate(fn);\n    }) ||\n  function(fn) {\n    setTimeoutFunc(fn, 0);\n  };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n  if (typeof console !== 'undefined' && console) {\n    console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n  }\n};\n\nexport default Promise;\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n  var constructor = this.constructor;\n  return this.then(\n    function(value) {\n      // @ts-ignore\n      return constructor.resolve(callback()).then(function() {\n        return value;\n      });\n    },\n    function(reason) {\n      // @ts-ignore\n      return constructor.resolve(callback()).then(function() {\n        // @ts-ignore\n        return constructor.reject(reason);\n      });\n    }\n  );\n}\n\nexport default finallyConstructor;\n","function allSettled(arr) {\n  var P = this;\n  return new P(function(resolve, reject) {\n    if (!(arr && typeof arr.length !== 'undefined')) {\n      return reject(\n        new TypeError(\n          typeof arr +\n            ' ' +\n            arr +\n            ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n        )\n      );\n    }\n    var args = Array.prototype.slice.call(arr);\n    if (args.length === 0) return resolve([]);\n    var remaining = args.length;\n\n    function res(i, val) {\n      if (val && (typeof val === 'object' || typeof val === 'function')) {\n        var then = val.then;\n        if (typeof then === 'function') {\n          then.call(\n            val,\n            function(val) {\n              res(i, val);\n            },\n            function(e) {\n              args[i] = { status: 'rejected', reason: e };\n              if (--remaining === 0) {\n                resolve(args);\n              }\n            }\n          );\n          return;\n        }\n      }\n      args[i] = { status: 'fulfilled', value: val };\n      if (--remaining === 0) {\n        resolve(args);\n      }\n    }\n\n    for (var i = 0; i < args.length; i++) {\n      res(i, args[i]);\n    }\n  });\n}\n\nexport default allSettled;\n","/// <reference types=\"google.maps\" />\n/* eslint-disable jsdoc/no-undefined-types */\n\nimport deburr from 'lodash/deburr';\nimport Promise from 'promise-polyfill';\nimport scrollparent from 'scrollparent';\n\nconst { jQuery: $ } = window;\n\n/* Polyfills */\nif (!Object.entries) {\n\tObject.entries = function(obj: any) {\n\t\tconst ownProps = Object.keys(obj);\n\n\t\tlet i = ownProps.length;\n\t\tconst resArray = new Array(i); // preallocate the Array\n\n\t\twhile (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]];\n\n\t\treturn resArray;\n\t};\n}\n\n// Callback to be fired by the Google <script> when the Places API and Maps JavaScript API are ready.\nwindow.gpaaInit = () => {\n\tif (window.gpaaReady) {\n\t\treturn;\n\t}\n\n\tconst event = new CustomEvent('gpaa_api_ready');\n\tdocument.dispatchEvent(event);\n\n\twindow.gpaaReady = true;\n};\n\ndocument.addEventListener('gpaa_api_ready', () => {\n\t// eslint-disable-next-line no-console\n\tconsole.debug('GP Address Autocomplete: Google Maps API ready.');\n});\n\nexport function ensureGPAAInittedAndExec(cb: () => void) {\n\tif (window.gpaaReady) {\n\t\tcb();\n\t\treturn;\n\t}\n\n\tdocument.addEventListener('gpaa_api_ready', cb);\n\n\t// If google.maps.places is already defined, fire gpaaInit() manually in case something else is loading the API.\n\tif (window?.google?.maps?.places) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.debug(\n\t\t\t'GP Address Autocomplete: Google Maps API already loaded.'\n\t\t);\n\n\t\twindow.gpaaInit();\n\t}\n}\n\ninterface GPAAParsedAdrMicroformat {\n\t'post-office-box'?: string;\n\t'extended-address'?: string;\n\t'street-address'?: string;\n\tlocality: string;\n\tregion?: string;\n\t'postal-code'?: string;\n\t'country-name': string;\n}\n\ninterface GPAAInputsSelectors {\n\tautocomplete: string; // Defaults to be the same as Address Line 1\n\taddress1: string;\n\taddress2: string | undefined;\n\tpostalCode: string | undefined;\n\tcity: string | undefined;\n\tstateProvince: string | undefined;\n\tcountry: string | undefined;\n}\n\ninterface GPAAInputs {\n\tautocomplete: HTMLInputElement; // Defaults to be the same as Address Line 1\n\taddress1: HTMLInputElement;\n\taddress2: HTMLInputElement | undefined;\n\tpostalCode: HTMLInputElement | undefined;\n\tcity: HTMLInputElement | undefined;\n\tstateProvince: HTMLInputElement | undefined;\n\tcountry: HTMLSelectElement | undefined;\n}\n\nclass GP_Address_Autocomplete {\n\tpublic autocomplete: google.maps.places.Autocomplete | undefined;\n\tpublic autocompleteListener: google.maps.MapsEventListener | undefined;\n\tpublic pacContainer: HTMLElement | undefined;\n\tpublic pacContainerStyleObserver: MutationObserver | undefined;\n\n\tpublic formId: number;\n\tpublic fieldId: number;\n\tpublic inputSelectors: GPAAInputsSelectors;\n\tpublic inputs: GPAAInputs;\n\tpublic addressType: string;\n\tpublic interval: NodeJS.Timer | undefined;\n\n\t/**\n\t * Key/value store of any GPAA instances on the page. Useful for re-initializing using existing instances and\n\t * preventing pac-containers from doubling-up in use-cases such as GPNF when re-opening the modal multiple times.\n\t */\n\tpublic static instances: {\n\t\t[formIdFieldId: string]: GP_Address_Autocomplete;\n\t} = {};\n\n\tconstructor(\n\t\topts: Pick<\n\t\t\tGP_Address_Autocomplete,\n\t\t\t'formId' | 'fieldId' | 'addressType'\n\t\t> & { inputSelectors: GPAAInputsSelectors }\n\t) {\n\t\tthis.formId = opts.formId;\n\t\tthis.fieldId = opts.fieldId;\n\t\tthis.inputSelectors = opts.inputSelectors;\n\t\tthis.inputs = this.getInputEls(this.inputSelectors); // we also get the inputEls in init()\n\t\tthis.addressType = opts.addressType;\n\n\t\t/**\n\t\t * Bail early if no autocomplete input is present.\n\t\t *\n\t\t * Autocomplete relies on the autocomplete input. If this field has been disabled by the user, then there\n\t\t * is not anything to attach the autocomplete to functionality to.\n\t\t *\n\t\t * We'll go ahead and try to initialize in 1 second in case the input takes some time to show up.\n\t\t */\n\t\tif (!this.inputs.autocomplete) {\n\t\t\tsetTimeout(() => this.init(), 1000);\n\t\t\treturn;\n\t\t}\n\n\t\tensureGPAAInittedAndExec(() => {\n\t\t\tthis.init();\n\t\t});\n\t}\n\n\t/**\n\t * Get the pacContainer from the google.maps.places.Autocomplete instance.\n\t *\n\t * Credit: https://stackoverflow.com/a/49693605\n\t */\n\tgetAutocompletePacContainer() {\n\t\tif (!this.autocomplete) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// @ts-ignore\n\t\tconst place: Object = this.autocomplete?.gm_accessors_?.place;\n\n\t\tif (!place) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst placeKey = Object.keys(place).find(\n\t\t\t(value) =>\n\t\t\t\t// @ts-ignore\n\t\t\t\ttypeof place[value] === 'object' &&\n\t\t\t\t// @ts-ignore\n\t\t\t\tplace[value].hasOwnProperty('gm_accessors_')\n\t\t);\n\n\t\t// @ts-ignore\n\t\tconst input = place[placeKey].gm_accessors_.input[placeKey];\n\n\t\tconst inputKey = Object.keys(input).find(\n\t\t\t(value) =>\n\t\t\t\tinput[value].classList &&\n\t\t\t\tinput[value].classList.contains('pac-container')\n\t\t);\n\n\t\treturn input[inputKey];\n\t}\n\n\tinit() {\n\t\tif (!this.inputs.autocomplete) {\n\t\t\tthis.inputs = this.getInputEls(this.inputSelectors);\n\n\t\t\tif (!this.inputs.autocomplete) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.debug(\n\t\t\t\t\t'GP Address Autocomplete: No input found yet. It could be due to it being in a modal that has yet to initialize.'\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t/* Re-use existing instance if its present. */\n\t\tif (\n\t\t\ttypeof GP_Address_Autocomplete.instances[\n\t\t\t\t`${this.formId}-${this.fieldId}`\n\t\t\t] !== 'undefined'\n\t\t) {\n\t\t\tGP_Address_Autocomplete.instances[\n\t\t\t\t`${this.formId}-${this.fieldId}`\n\t\t\t].initPac();\n\t\t\treturn;\n\t\t}\n\n\t\tGP_Address_Autocomplete.instances[\n\t\t\t`${this.formId}-${this.fieldId}`\n\t\t] = this;\n\n\t\tthis.initPac();\n\t\tthis.bindGPPAListener();\n\n\t\t/**\n\t\t * Action that fires after Address Autocomplete has been initialized on the frontend.\n\t\t *\n\t\t * @param {GP_Address_Autocomplete} instance Current instance of the class.\n\t\t * @param {number}                  formId   The current form ID.\n\t\t * @param {number}                  fieldId  The current field ID.\n\t\t *\n\t\t * @since 1.0\n\t\t */\n\t\twindow.gform.doAction('gpaa_init', this, this.formId, this.fieldId);\n\t}\n\n\t/**\n\t * Google Places Autocomplete attempts to add autocomplete=\"off\" by default which does not work in Chrome\n\t * anymore.\n\t *\n\t * To take this a step further, we also disable autocomplete for any inputs found in the field so when a user\n\t * goes to subsequent inputs like Address Line 2, browsers don't try to autocomplete.\n\t *\n\t * If the browser is Chrome, change the autocomplete attribute to \"password\"\n\t */\n\tpreventBrowserAutocomplete() {\n\t\t/**\n\t\t * Filter whether browser autocomplete should be prevented. Defaults to true.\n\t\t *\n\t\t * @param {boolean}                 preventBrowserAutocomplete Whether browser autocomplete should be prevented.\n\t\t * @param {GP_Address_Autocomplete} instance                   Current instance of the class.\n\t\t * @param {number}                  formId                     The current form ID.\n\t\t * @param {number}                  fieldId                    The current field ID.\n\t\t *\n\t\t * @since 1.2.13\n\t\t */\n\t\tif (\n\t\t\t!window.gform.applyFilters(\n\t\t\t\t'gpaa_prevent_browser_autocomplete',\n\t\t\t\ttrue,\n\t\t\t\tthis,\n\t\t\t\tthis.formId,\n\t\t\t\tthis.fieldId\n\t\t\t)\n\t\t) {\n\t\t\tthis.inputs.autocomplete.removeAttribute('autocomplete');\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const [inputName, input] of Object.entries(this.inputs)) {\n\t\t\tlet autocompleteVal = 'new-password';\n\n\t\t\t/**\n\t\t\t * Filters the value for an input's autocomplete attribute. (Defaults to \"off\")\n\t\t\t * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n\t\t\t *\n\t\t\t * @param {string}                  autocompleteVal Value for the autocomplete attribute.\n\t\t\t * @param {HTMLInputElement}        input           The input element.\n\t\t\t * @param {string}                  inputName       The name of the input element.\n\t\t\t * @param {GP_Address_Autocomplete} instance        Current instance of the class.\n\t\t\t * @param {number}                  formId          The current form ID.\n\t\t\t * @param {number}                  fieldId         The current field ID.\n\t\t\t */\n\t\t\tautocompleteVal = window.gform.applyFilters(\n\t\t\t\t'gpaa_field_autocomplete_value',\n\t\t\t\tautocompleteVal,\n\t\t\t\tinput,\n\t\t\t\tinputName,\n\t\t\t\tthis,\n\t\t\t\tthis.formId,\n\t\t\t\tthis.fieldId\n\t\t\t);\n\n\t\t\tinput?.setAttribute('autocomplete', autocompleteVal);\n\t\t}\n\t}\n\n\t/**\n\t * Bind a listener to gppa_updated_batch_fields jQuery event that will reinitialize Address Autocomplete when\n\t * the Address field markup is replaced.\n\t */\n\tbindGPPAListener() {\n\t\t$(document).on(\n\t\t\t'gppa_updated_batch_fields',\n\t\t\t(event, formId, updatedFieldIds) => {\n\t\t\t\tif (parseInt(formId) !== this.formId) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tupdatedFieldIds = updatedFieldIds.map((fieldId: string) =>\n\t\t\t\t\tparseInt(fieldId)\n\t\t\t\t);\n\n\t\t\t\tif (updatedFieldIds.indexOf(this.fieldId) === -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.init();\n\t\t\t}\n\t\t);\n\t}\n\n\tgetInputEls(selectors: GPAAInputsSelectors): GPAAInputs {\n\t\tconst inputs: { [inputName: string]: any } = {};\n\n\t\tfor (const [inputName, selector] of Object.entries(selectors)) {\n\t\t\tinputs[inputName] = document.querySelector(selector);\n\t\t}\n\n\t\treturn inputs as GPAAInputs;\n\t}\n\n\tget autocompleteOptions(): google.maps.places.AutocompleteOptions {\n\t\tconst {\n\t\t\tallowed_countries: allowedCountries,\n\t\t} = window.GP_ADDRESS_AUTOCOMPLETE_CONSTANTS;\n\n\t\tconst autocompleteOptions: google.maps.places.AutocompleteOptions = {\n\t\t\tcomponentRestrictions: undefined,\n\t\t\tfields: [\n\t\t\t\t'address_components', // Individual components of the address to be populated into address field inputs\n\t\t\t\t'formatted_address', // String representation of the address\n\t\t\t\t'geometry', // Coordinates\n\t\t\t\t'adr_address', // Similar to formatted_address but uses ADR microformat which we can use to extract components.\n\t\t\t],\n\t\t\ttypes: ['address'],\n\t\t};\n\n\t\t// Restrict country to Canada if Address Field type is configured to United States\n\t\tif (this.addressType === 'us') {\n\t\t\tautocompleteOptions.componentRestrictions = {\n\t\t\t\tcountry: ['us'],\n\t\t\t};\n\t\t\t// Restrict country to Canada if Address Field type is configured to Canadian\n\t\t} else if (this.addressType === 'canadian') {\n\t\t\tautocompleteOptions.componentRestrictions = {\n\t\t\t\tcountry: ['ca'],\n\t\t\t};\n\t\t\t// Restrict to countries set in settings\n\t\t} else if (allowedCountries?.length) {\n\t\t\tautocompleteOptions.componentRestrictions = {\n\t\t\t\tcountry: allowedCountries,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Filter to change the autocomplete options used to initialize Google Places API Autocomplete.\n\t\t *\n\t\t * @param {google.maps.places.AutocompleteOptions} autocompleteOptions Options used to initialize Places API Autocomplete.\n\t\t * @param {GP_Address_Autocomplete}                instance            Current instance of the class.\n\t\t * @param {number}                                 formId              The current form ID.\n\t\t * @param {number}                                 fieldId             The current field ID.\n\t\t *\n\t\t * @return {google.maps.places.AutocompleteOptions} Filtered options used to initialized Places API Autocomplete.\n\t\t *\n\t\t * @since 1.0\n\t\t */\n\t\treturn window.gform.applyFilters(\n\t\t\t'gpaa_autocomplete_options',\n\t\t\tautocompleteOptions,\n\t\t\tthis,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\t}\n\n\tinitPac = (): void => {\n\t\t// Remove existing pac-container since a new one will be created\n\t\tthis.pacContainer?.remove();\n\n\t\t// Get fresh input elements in case this method is called in the future and the input els were replaced (GPPA).\n\t\tthis.inputs = this.getInputEls(this.inputSelectors);\n\n\t\tif (this.autocomplete) {\n\t\t\tgoogle.maps.event.clearInstanceListeners(this.autocomplete);\n\t\t}\n\n\t\tif (this.autocompleteListener) {\n\t\t\tgoogle.maps.event.removeListener(this.autocompleteListener);\n\t\t}\n\n\t\t// Do not add autocomplete to read-only fields as focusing the input will still open the autocomplete dropdown.\n\t\tif (this.inputs.autocomplete.readOnly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.waitForPacContainer()\n\t\t\t.then((pacContainer) => {\n\t\t\t\tthis.pacContainer = pacContainer;\n\t\t\t\tthis.pacContainer?.classList.add(\n\t\t\t\t\t'pac-container-gpaa',\n\t\t\t\t\t'gform-theme__no-reset--el',\n\t\t\t\t\t'gform-theme__no-reset--children'\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * Filter to enable/disable the fixed positioner for the PAC container. By default, it's enabled to\n\t\t\t\t * improve positioning when the PAC container is in a fixed div such as GPNF Tingle, but there are\n\t\t\t\t * situations where it works best disabled.\n\t\t\t\t *\n\t\t\t\t * @param {boolean}                 useFixedPositioner Whether fixed positioning should be used for the PAC container.\n\t\t\t\t * @param {GP_Address_Autocomplete} instance           Current instance of the class.\n\t\t\t\t * @param {number}                  formId             The current form ID.\n\t\t\t\t * @param {number}                  fieldId            The current field ID.\n\t\t\t\t *\n\t\t\t\t * @return {google.maps.places.AutocompleteOptions} Filtered options used to initialized Places API Autocomplete.\n\t\t\t\t *\n\t\t\t\t * @since 1.2.8\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\twindow.gform.applyFilters(\n\t\t\t\t\t\t'gpaa_use_fixed_positioner',\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\tthis.formId,\n\t\t\t\t\t\tthis.fieldId\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tthis.addFixedPositioner();\n\t\t\t\t}\n\n\t\t\t\tthis.preventBrowserAutocomplete();\n\t\t\t})\n\t\t\t.catch((reason) => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'Unable to initialize GP Address Autocomplete.',\n\t\t\t\t\treason\n\t\t\t\t);\n\t\t\t});\n\n\t\tthis.autocomplete = new google.maps.places.Autocomplete(\n\t\t\tthis.inputs.autocomplete,\n\t\t\tthis.autocompleteOptions\n\t\t);\n\n\t\t// Prevent enter from submitting the form when pressing enter in auto complete.\n\t\tthis.inputs.autocomplete.addEventListener(\n\t\t\t'keydown',\n\t\t\t(e: KeyboardEvent) => {\n\t\t\t\tlet pacContainerVisible = false;\n\n\t\t\t\tdocument\n\t\t\t\t\t.querySelectorAll('.pac-container')\n\t\t\t\t\t.forEach((container) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\twindow.getComputedStyle(container).display ===\n\t\t\t\t\t\t\t\t'none'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tpacContainerVisible = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\t(e.code === 'Enter' || e.keyCode === 13) &&\n\t\t\t\t\tpacContainerVisible\n\t\t\t\t) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\t// When the user selects an address, populate the address inputs in the field.\n\t\tthis.autocompleteListener = this.autocomplete.addListener(\n\t\t\t'place_changed',\n\t\t\tthis.fillFields\n\t\t);\n\n\t\t// Store coordinates in hidden input. Utilize action so this can be unhooked if desired.\n\t\twindow.gform.addAction(\n\t\t\t'gpaa_fields_filled',\n\t\t\t(\n\t\t\t\tplace: google.maps.places.PlaceResult,\n\t\t\t\tinstance: GP_Address_Autocomplete\n\t\t\t) => {\n\t\t\t\tif (instance !== this) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.fillCoordinatesMetaInput(place);\n\t\t\t}\n\t\t);\n\t};\n\n\t/**\n\t * Get the pacContainer from the google.maps.places.Autocomplete instance. We leverage an interval to wait\n\t * for the pacContainer to be available. We'll wait up to 5 seconds before rejecting the promise.\n\t *\n\t * @return {Promise<HTMLElement>} Promise that resolves with the pacContainer.\n\t */\n\twaitForPacContainer = (): Promise<HTMLElement> => {\n\t\tlet interval: NodeJS.Timer | undefined;\n\n\t\treturn new Promise(\n\t\t\t(resolve: (value: any) => void, reject: (reason?: any) => void) => {\n\t\t\t\t// Try every 25ms to get the pac-container off of the autocomplete instance for up to 5 seconds.\n\t\t\t\tinterval = setInterval(() => {\n\t\t\t\t\tthis.pacContainer = this.getAutocompletePacContainer();\n\n\t\t\t\t\tif (this.pacContainer) {\n\t\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\t\tresolve(this.pacContainer);\n\t\t\t\t\t}\n\t\t\t\t}, 25);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\treject(\n\t\t\t\t\t\t'GP Address Autocomplete: Could not find the pac-container.'\n\t\t\t\t\t);\n\t\t\t\t}, 5000);\n\t\t\t}\n\t\t);\n\t};\n\n\t/**\n\t * Google PAC does not work well if the autocomplete input is in any offset parent outside of the root document.\n\t *\n\t * This method will move the pacContainer to the offset parent (Tingle in the case of GPNF) and adds\n\t * the following:\n\t *  * Mutation Observer to watch when the style of the PAC container changes and auto-positions when it does\n\t *  * Binds to the scroll event of the scroll parent and document and auto repositions when they scroll\n\t */\n\taddFixedPositioner = (): void => {\n\t\tlet scrollParent = scrollparent(this.inputs.autocomplete)!;\n\n\t\t// Force the scroll parent to be the Tingle (GPNF) modal if the autocomplete input is in it.\n\t\tif ($(this.inputs.autocomplete).closest('.tingle-modal').length) {\n\t\t\tscrollParent = $(this.inputs.autocomplete).closest(\n\t\t\t\t'.tingle-modal'\n\t\t\t)[0];\n\t\t}\n\n\t\t$(this.pacContainer!).appendTo(scrollParent);\n\n\t\tif (this.pacContainerStyleObserver) {\n\t\t\tthis.pacContainerStyleObserver.disconnect();\n\t\t}\n\n\t\t/**\n\t\t * Flag to lockout the mutation observer from repositioning when the page/scrollparent is scrolled. Without\n\t\t * this, an infinite loop will ensue.\n\t\t */\n\t\tlet mutationObserverLockout: boolean = false;\n\n\t\tthis.pacContainerStyleObserver = new MutationObserver((mutations) => {\n\t\t\tif (mutationObserverLockout) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* Without this, the position can sometimes be switched back to absolute by PAC */\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tthis.positionPacContainer();\n\t\t\t});\n\t\t});\n\n\t\tscrollParent.addEventListener('scroll', () => {\n\t\t\tmutationObserverLockout = true;\n\t\t\tthis.positionPacContainer();\n\t\t\tmutationObserverLockout = false;\n\t\t});\n\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tmutationObserverLockout = true;\n\t\t\tthis.positionPacContainer();\n\t\t\tmutationObserverLockout = false;\n\t\t});\n\n\t\tthis.pacContainerStyleObserver.observe(this.pacContainer as Node, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['style'],\n\t\t});\n\n\t\t// Reposition on scrollParent resize\n\t\tconst pacContainerResizeObserver = new ResizeObserver(() =>\n\t\t\tthis.positionPacContainer()\n\t\t);\n\t\tpacContainerResizeObserver.observe(scrollParent);\n\t};\n\n\t/**\n\t * Position the pac-container to be directly below the autocomplete input.\n\t * The default position behavior does not work if the autocomplete dropdown is in a modal.\n\t */\n\tpositionPacContainer = (): void => {\n\t\tif (!this.pacContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputBoundingRect = this.inputs.autocomplete.getBoundingClientRect();\n\n\t\tif (\n\t\t\t!this.pacContainer?.classList.contains(\n\t\t\t\t'pac-container-gpaa-position-managed'\n\t\t\t)\n\t\t) {\n\t\t\tthis.pacContainer?.classList.add(\n\t\t\t\t'pac-container-gpaa-position-managed'\n\t\t\t);\n\t\t}\n\n\t\t/* Disconnection MutationObserver since we're about to modify the style and it'd cause an infinite loop */\n\t\tthis.pacContainerStyleObserver?.disconnect();\n\n\t\tthis.pacContainer.style.top =\n\t\t\tinputBoundingRect!.y + inputBoundingRect.height! + 'px';\n\t\tthis.pacContainer.style.left = inputBoundingRect!.x + 'px';\n\n\t\tthis.pacContainerStyleObserver?.observe(this.pacContainer as Node, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['style'],\n\t\t});\n\t};\n\n\tfillFields = (): void => {\n\t\tif (!this.autocomplete) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('GP Address Autocomplete: Google API not ready.');\n\t\t\treturn;\n\t\t}\n\n\t\t// Get the place details from the autocomplete object.\n\t\tconst place: google.maps.places.PlaceResult = this.autocomplete.getPlace();\n\t\tconst adrParsed = this.parseAdrAddressHTML(place.adr_address!);\n\n\t\t// Use parsed adr_address for most of the components as it respects the local formatting of addresses much\n\t\t// better than trying to piece together the individual address_components which differ from region-to-region.\n\t\tlet values = {\n\t\t\taddress1: adrParsed['street-address'],\n\t\t\taddress2: adrParsed['extended-address'],\n\t\t\tpostcode: adrParsed['postal-code'],\n\t\t\tcity: adrParsed.locality,\n\t\t\tstateProvince: adrParsed.region,\n\t\t\tcountry: '',\n\t\t\tautocomplete: undefined, // Intended to be populated using the gpaa_values JS filter.\n\t\t};\n\n\t\t// Set the country now (as ISO Alpha-2), so we can do modifications in the loop below depending on the country.\n\t\tlet countryAlpha2;\n\n\t\tfor (const component of place.address_components as google.maps.GeocoderAddressComponent[]) {\n\t\t\tif (component.types[0] !== 'country') {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcountryAlpha2 = component.short_name;\n\t\t}\n\n\t\t// Augment the parsed ADR address with the address components as some of the items in the ADR address come through\n\t\t// as the short_name instead of long_name.\n\t\tfor (const component of place.address_components as google.maps.GeocoderAddressComponent[]) {\n\t\t\tconst componentType = component.types[0];\n\n\t\t\tswitch (componentType) {\n\t\t\t\t// Use locality as city if the city is not present in the ADR. This is necessary for Singapore.\n\t\t\t\tcase 'locality':\n\t\t\t\t\tif (!values.city) {\n\t\t\t\t\t\tvalues.city = component.long_name;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'administrative_area_level_2':\n\t\t\t\tcase 'administrative_area_level_1':\n\t\t\t\t\tif (component.short_name === values.stateProvince) {\n\t\t\t\t\t\tvalues.stateProvince = component.long_name;\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * Try various formats of the State/Province as the default Gravity Forms province selector for\n\t\t\t\t\t\t * Canada is ASCII / basic Latin only.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tthis.inputs.stateProvince?.tagName.toLowerCase() ===\n\t\t\t\t\t\t\t'select'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!this.inputs.stateProvince.querySelector(\n\t\t\t\t\t\t\t\t\t`option[value=\"${values.stateProvince}\"]`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tvalues.stateProvince = deburr(\n\t\t\t\t\t\t\t\t\tvalues.stateProvince\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tcomponentType === 'administrative_area_level_1' &&\n\t\t\t\t\t\t!values.stateProvince &&\n\t\t\t\t\t\tcountryAlpha2 &&\n\t\t\t\t\t\t['NL', 'NZ', 'FR'].indexOf(countryAlpha2) !== -1\n\t\t\t\t\t) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * If the stateProvince wasn't pulled from the ADR, use the admin area level 1 if an address\n\t\t\t\t\t\t * in the Netherlands, and New Zealand.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * We only apply this logic to a specific set of countries as it can return odd results with\n\t\t\t\t\t\t * other cities such as London or Berlin.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvalues.stateProvince = component.long_name;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tcomponentType === 'administrative_area_level_2' &&\n\t\t\t\t\t\t!values.stateProvince &&\n\t\t\t\t\t\tcountryAlpha2 &&\n\t\t\t\t\t\t['GB'].indexOf(countryAlpha2) !== -1\n\t\t\t\t\t) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * If the stateProvince wasn't pulled from the ADR, use the admin area level 2 if an address\n\t\t\t\t\t\t * in the England.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * We only apply this logic to a specific set of countries as it can return odd results with\n\t\t\t\t\t\t * other cities such as Auckland or Amsterdam.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvalues.stateProvince = component.long_name;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'country':\n\t\t\t\t\t/*\n\t\t\t\t\t * The long_name of the country may not always match up with what Gravity Forms is outputting.\n\t\t\t\t\t * Reasons include the browser being set to a language that isn't the same as the website.\n\t\t\t\t\t *\n\t\t\t\t\t * To work around this, we take the short_name (abbreviation) of the country and find the\n\t\t\t\t\t * long_name in Gravity Forms' countries array.\n\t\t\t\t\t */\n\t\t\t\t\tconst {\n\t\t\t\t\t\tcountries,\n\t\t\t\t\t} = window.GP_ADDRESS_AUTOCOMPLETE_CONSTANTS;\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Depending on the website setup, the values of the select can be abbreviations rather than the\n\t\t\t\t\t * long name.\n\t\t\t\t\t *\n\t\t\t\t\t * Go through and try populating with each.\n\t\t\t\t\t */\n\t\t\t\t\tconst googleShortName = component.short_name;\n\t\t\t\t\tconst googleLongName = component.long_name;\n\t\t\t\t\tconst gravityFormsLongName =\n\t\t\t\t\t\tcountries?.[component.short_name];\n\n\t\t\t\t\tif (this.inputs.country) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tthis.inputs.country.querySelector(\n\t\t\t\t\t\t\t\t`option[value=\"${googleShortName}\"]`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tvalues.country = googleShortName;\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tthis.inputs.country.querySelector(\n\t\t\t\t\t\t\t\t`option[value=\"${googleLongName}\"]`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tvalues.country = googleLongName;\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tthis.inputs.country.querySelector(\n\t\t\t\t\t\t\t\t`option[value=\"${gravityFormsLongName}\"]`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tvalues.country = gravityFormsLongName;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!values.country) {\n\t\t\t\t\t\tvalues.country = gravityFormsLongName;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Filter the formatted values after a place has been selected. Use this to change the format of individual\n\t\t * values such as Address 1, City, etc.\n\t\t *\n\t\t * @param {Object}                         values   The values to be populated into address inputs.\n\t\t * @param {google.maps.places.PlaceResult} place    The place selected.\n\t\t * @param {GP_Address_Autocomplete}        instance Current instance of the class.\n\t\t * @param {number}                         formId   The current form ID.\n\t\t * @param {number}                         fieldId  The current field ID.\n\t\t *\n\t\t * @return {Object} The filtered values to be populated into address inputs.\n\t\t *\n\t\t * @since 1.0\n\t\t */\n\t\tvalues = window.gform.applyFilters(\n\t\t\t'gpaa_values',\n\t\t\tvalues,\n\t\t\tplace,\n\t\t\tthis,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\n\t\tif (this.inputs.autocomplete) {\n\t\t\tthis.inputs.autocomplete.value = values.autocomplete ?? '';\n\t\t\tthis.triggerChange(this.inputs.autocomplete);\n\t\t}\n\n\t\tif (this.inputs.address1) {\n\t\t\tthis.inputs.address1.value = values.address1 ?? '';\n\t\t\tthis.triggerChange(this.inputs.address1);\n\t\t}\n\n\t\tif (this.inputs.address2) {\n\t\t\tthis.inputs.address2.value = values.address2 ?? '';\n\t\t\tthis.triggerChange(this.inputs.address2);\n\t\t}\n\n\t\tif (this.inputs.city) {\n\t\t\tthis.inputs.city.value = values.city ?? '';\n\t\t\tthis.triggerChange(this.inputs.city);\n\t\t}\n\n\t\tif (this.inputs.stateProvince) {\n\t\t\tthis.inputs.stateProvince.value = values.stateProvince ?? '';\n\t\t\tthis.triggerChange(this.inputs.stateProvince);\n\t\t}\n\n\t\tif (this.inputs.postalCode) {\n\t\t\tthis.inputs.postalCode.value = values.postcode ?? '';\n\t\t\tthis.triggerChange(this.inputs.postalCode);\n\t\t}\n\n\t\tif (this.inputs.country) {\n\t\t\tthis.inputs.country.value = values.country ?? '';\n\t\t\tthis.triggerChange(this.inputs.country);\n\t\t}\n\n\t\t/**\n\t\t * Action that fires after a place is selected and Address Autocomplete has filled the fields.\n\t\t *\n\t\t * @param {google.maps.places.PlaceResult} place    The place selected.\n\t\t * @param {GP_Address_Autocomplete}        instance Current instance of the class.\n\t\t * @param {number}                         formId   The current form ID.\n\t\t * @param {number}                         fieldId  The current field ID.\n\t\t *\n\t\t * @since 1.0\n\t\t */\n\t\twindow.gform.doAction(\n\t\t\t'gpaa_fields_filled',\n\t\t\tplace,\n\t\t\tthis,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\t};\n\n\tfillCoordinatesMetaInput(place: google.maps.places.PlaceResult) {\n\t\tconst $form = document.querySelector<HTMLFormElement>(\n\t\t\t`#gform_${this.formId}`\n\t\t);\n\t\tconst $input = $form?.querySelector<HTMLInputElement>(\n\t\t\t`input[name=\"gpaa_place_${this.fieldId}\"]`\n\t\t);\n\n\t\tif (!$input) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (place) {\n\t\t\t$input.value = JSON.stringify(place);\n\t\t} else {\n\t\t\t$input.value = '';\n\t\t}\n\t}\n\n\ttriggerChange(input: HTMLInputElement | HTMLSelectElement): void {\n\t\tinput.dispatchEvent(new Event('change'));\n\n\t\t$(input).trigger('change');\n\t}\n\n\tparseAdrAddressHTML(html: string): GPAAParsedAdrMicroformat {\n\t\tconst parsedAddress: Partial<GPAAParsedAdrMicroformat> = {};\n\t\tconst adrPattern = /<(?:span|div) class=\"(post-office-box|extended-address|street-address|locality|region|postal-code|country-name)\">(.*?)<\\/(?:span|div)>/gm;\n\n\t\tlet m;\n\n\t\t// I would prefer to use String.matchAll, but the Can I Use stat is 92% and the polyfills take the frontend JS\n\t\t// from 3-4KB to 20KB at a minimum.\n\t\twhile ((m = adrPattern.exec(html)) !== null) {\n\t\t\t// This is necessary to avoid infinite loops with zero-width matches\n\t\t\tif (m.index === adrPattern.lastIndex) {\n\t\t\t\tadrPattern.lastIndex++;\n\t\t\t}\n\n\t\t\t// The result can be accessed through the `m`-variable.\n\t\t\tparsedAddress[\n\t\t\t\tm[1] as keyof GPAAParsedAdrMicroformat\n\t\t\t] = this.decodeHTMLEntities(m[2]);\n\t\t}\n\n\t\treturn parsedAddress as GPAAParsedAdrMicroformat;\n\t}\n\n\t/* eslint-disable jsdoc/check-tag-names */\n\t/**\n\t * @param  html\n\t * @credit https://stackoverflow.com/a/1395954\n\t */\n\tdecodeHTMLEntities(html: string): string {\n\t\tconst textarea = document.createElement('textarea');\n\t\ttextarea.innerHTML = html;\n\t\tconst value = textarea.value;\n\t\ttextarea.remove();\n\n\t\treturn value;\n\t}\n}\n\n// @ts-ignore\nwindow.GP_Address_Autocomplete = GP_Address_Autocomplete;\n\n// Make this a module to avoid TypeScript error with block-scoped variables since we're not importing anything\nexport {};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/* eslint-disable jsdoc/no-undefined-types */\n\nimport { ensureGPAAInittedAndExec } from './frontend';\n\nconst { jQuery: $ } = window;\n\ninterface GPAAFieldsFilledPlace {\n\tgeometry: {\n\t\tlocation: {\n\t\t\tlat: () => number;\n\t\t\tlng: () => number;\n\t\t};\n\t};\n}\n\ninterface Coords {\n\tlat: number;\n\tlng: number;\n}\n\ninterface GPAddressAutocompleteMapFieldOpts {\n\tformId: number;\n\tfieldId: number;\n\taddressFieldId: number;\n\tprepopulateCoords?: Coords;\n}\n\nclass GP_Address_Autocomplete_Map_Field {\n\tformId: number;\n\n\tfieldId: number;\n\n\taddressFieldId: number;\n\n\tprepopulateCoords?: Coords;\n\n\tmapContainer: HTMLElement;\n\n\tmap: google.maps.Map | undefined;\n\n\tmarker: google.maps.marker.AdvancedMarkerElement | undefined;\n\n\tzoom = 15;\n\n\tconstructor({\n\t\tformId,\n\t\tfieldId,\n\t\taddressFieldId,\n\t\tprepopulateCoords,\n\t}: GPAddressAutocompleteMapFieldOpts) {\n\t\tthis.formId = formId;\n\t\tthis.fieldId = fieldId;\n\t\tthis.addressFieldId = addressFieldId;\n\t\tthis.prepopulateCoords =\n\t\t\tthis.getPostedAddressFieldCoords() || prepopulateCoords;\n\n\t\tthis.mapContainer = document.querySelector(\n\t\t\t`#gpaa_map_container_${this.fieldId}`\n\t\t)!;\n\n\t\t// The google maps sdk script will not be loaded unless the conncted address field has autocomplete enabled.\n\t\t// This is usually because the attached addressFieldId does not have the \"Enable Google Address Autocomplete\" option enabled.\n\t\t// We do check before rendering the map div if the autocomplete field is checked so this *shouldn't* happen, but just in case...\n\t\tif (window.google === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setupListeners();\n\n\t\t// wait to init the map as the Google Maps API is loaded asynchronously\n\t\tensureGPAAInittedAndExec(() => {\n\t\t\tthis.initMap();\n\t\t});\n\t}\n\n\t// Get coords from an address field that is on a previous page of a multi-page form\n\t// These coords will be stored in a hidden input field\n\tgetPostedAddressFieldCoords(): Coords | undefined {\n\t\tconst $form = document.querySelector<HTMLFormElement>(\n\t\t\t`#gform_${this.formId}`\n\t\t);\n\t\tconst $input = $form?.querySelector<HTMLInputElement>(\n\t\t\t`input[name=\"gpaa_coords_${this.addressFieldId}\"]`\n\t\t);\n\n\t\tif (!$input?.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet prepopulateCoords: Coords | undefined;\n\n\t\ttry {\n\t\t\tprepopulateCoords = JSON.parse($input.value);\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.debug(err);\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert lat and lng to numbers if they're strings.\n\t\tif (typeof prepopulateCoords?.lat === 'string') {\n\t\t\tprepopulateCoords.lat = Number(prepopulateCoords.lat);\n\t\t}\n\n\t\tif (typeof prepopulateCoords?.lng === 'string') {\n\t\t\tprepopulateCoords.lng = Number(prepopulateCoords.lng);\n\t\t}\n\n\t\tif (!prepopulateCoords?.lat || !prepopulateCoords?.lng) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn prepopulateCoords;\n\t}\n\n\tsetupListeners() {\n\t\twindow.gform.addAction(\n\t\t\t'gpaa_fields_filled',\n\t\t\t(\n\t\t\t\tplace: GPAAFieldsFilledPlace,\n\t\t\t\tinstance: null,\n\t\t\t\tformId: number,\n\t\t\t\tfieldId: number\n\t\t\t) => {\n\t\t\t\tif (formId !== this.formId || fieldId !== this.addressFieldId) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.setMarker({\n\t\t\t\t\tlat: place.geometry.location.lat(),\n\t\t\t\t\tlng: place.geometry.location.lng(),\n\t\t\t\t});\n\t\t\t}\n\t\t);\n\t}\n\n\tinitMap() {\n\t\tlet opts: google.maps.MapOptions = {\n\t\t\tzoom: this.zoom,\n\t\t\tcenter: {\n\t\t\t\tlng: -73.95,\n\t\t\t\tlat: 40.8,\n\t\t\t},\n\t\t\tfullscreenControl: false,\n\t\t\tmapTypeControl: false,\n\t\t\tstreetViewControl: false,\n\t\t\tzoomControl: false,\n\t\t\tmapId: `gpaa_map_${this.formId}_${this.fieldId}`, // Map ID is required for advanced markers.\n\t\t};\n\n\t\tif (this.prepopulateCoords) {\n\t\t\topts.center = this.prepopulateCoords;\n\t\t}\n\n\t\t/**\n\t\t * Filter the options used to initialize the map.\n\t\t *\n\t\t * @param {google.maps.MapOptions} options Contains the map configuration options. All available options are documented here: https://developers.google.com/maps/documentation/javascript/reference/map#MapOptions\n\t\t * @param {number}                 formId  The current form ID.\n\t\t * @param {number}                 fieldId The current field ID.\n\t\t *\n\t\t * @since 1.2.1\n\t\t */\n\t\topts = window.gform.applyFilters(\n\t\t\t'gpaa_map_options',\n\t\t\topts,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\n\t\tthis.map = new google.maps.Map(this.mapContainer, opts);\n\n\t\tthis.map?.setZoom(opts.zoom || this.zoom);\n\n\t\tif (this.prepopulateCoords) {\n\t\t\tthis.setMarker(this.prepopulateCoords);\n\t\t}\n\n\t\t/**\n\t\t * Action that fires once right after the map is initialized.\n\t\t *\n\t\t * @param {google.maps.Map} map     The map object.\n\t\t * @param {number}          formId  The current form ID.\n\t\t * @param {number}          fieldId The current field ID.\n\t\t */\n\t\twindow.gform.doAction(\n\t\t\t'gpaa_map_initialized',\n\t\t\tthis.map,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\t}\n\n\tsetMarker(position: Coords) {\n\t\t// remove marker from the map if it exists\n\t\tif (this.marker) {\n\t\t\tthis.marker.map = null;\n\t\t}\n\n\t\tlet opts: google.maps.marker.AdvancedMarkerElementOptions = {\n\t\t\tposition,\n\t\t\tmap: this.map,\n\t\t};\n\n\t\t/**\n\t\t * Filter the options used to add a marker to the map.\n\t\t *\n\t\t * @param {google.maps.MarkerOptions} options Contains the marker options. All available options are documented here: https://developers-dot-devsite-v2-prod.appspot.com/maps/documentation/javascript/reference/marker#MarkerOptions\n\t\t * @param {number}                    formId  The current form ID.\n\t\t * @param {number}                    fieldId The current field ID.\n\t\t *\n\t\t * @since 1.2.1\n\t\t */\n\t\topts = window.gform.applyFilters(\n\t\t\t'gpaa_marker_options',\n\t\t\topts,\n\t\t\tthis.formId,\n\t\t\tthis.fieldId\n\t\t);\n\n\t\tthis.marker = new google.maps.marker.AdvancedMarkerElement(opts);\n\n\t\tconst markerPos = this.marker.position;\n\n\t\tif (markerPos) {\n\t\t\tthis.map?.panTo(markerPos);\n\t\t}\n\n\t\t/**\n\t\t * Action that fires after a marker is added to the map.\n\t\t *\n\t\t * @param params.formId         ID of the form the map field is in.\n\t\t * @param params.fieldId        ID of the map field the marker was added to.\n\t\t * @param params.addressFieldId ID of the address field the map field is attached to.\n\t\t * @param params.map            The map object that the marker was added to.\n\t\t * @param params.marker         The marker object that was addded to the map.\n\t\t *\n\t\t * @since 1.2.3\n\t\t */\n\t\twindow.gform.doAction('gpaa_marker_set', {\n\t\t\tformId: this.formId,\n\t\t\tfieldId: this.fieldId,\n\t\t\taddressFieldId: this.addressFieldId,\n\t\t\tmap: this.map,\n\t\t\tmarker: this.marker,\n\t\t});\n\t}\n}\n\nwindow.GP_Address_Autocomplete_Map_Field = GP_Address_Autocomplete_Map_Field;\n\n// Make this a module to avoid TypeScript error with block-scoped variables since we're not importing anything\nexport {};\n"],"names":["Symbol","module","exports","array","iteratee","index","length","result","Array","getRawTag","objectToString","symToStringTag","toStringTag","undefined","value","Object","object","key","arrayMap","isArray","isSymbol","symbolProto","prototype","symbolToString","toString","baseToString","call","deburrLetter","basePropertyOf","freeGlobal","g","objectProto","hasOwnProperty","nativeObjectToString","isOwn","tag","unmasked","e","freeSelf","self","root","Function","reLatin","reComboMark","RegExp","string","replace","baseGetTag","isObjectLike","regex","parents","node","ps","parentNode","concat","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","i","document","scrollingElement","documentElement","setTimeoutFunc","setTimeout","x","Boolean","noop","Promise","fn","this","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","reject","promise","resolve","push","newValue","then","finale","thisArg","apply","arguments","_unhandledRejectionFn","len","Handler","done","reason","ex","prom","constructor","callback","all","arr","args","slice","remaining","res","val","allSettled","status","race","setImmediate","err","console","warn","$","window","ensureGPAAInittedAndExec","gpaaReady","addEventListener","google","maps","places","debug","gpaaInit","entries","obj","ownProps","keys","resArray","event","CustomEvent","dispatchEvent","opts","initPac","pacContainer","remove","inputs","getInputEls","inputSelectors","autocomplete","clearInstanceListeners","autocompleteListener","removeListener","readOnly","waitForPacContainer","classList","add","gform","applyFilters","formId","fieldId","addFixedPositioner","preventBrowserAutocomplete","catch","error","Autocomplete","autocompleteOptions","pacContainerVisible","querySelectorAll","forEach","container","display","code","keyCode","preventDefault","addListener","fillFields","addAction","place","instance","fillCoordinatesMetaInput","interval","setInterval","getAutocompletePacContainer","clearInterval","scrollParent","closest","appendTo","pacContainerStyleObserver","disconnect","mutationObserverLockout","MutationObserver","mutations","requestAnimationFrame","positionPacContainer","observe","attributes","attributeFilter","ResizeObserver","inputBoundingRect","getBoundingClientRect","contains","top","y","height","left","countryAlpha2","getPlace","adrParsed","parseAdrAddressHTML","adr_address","values","address1","address2","postcode","city","locality","stateProvince","region","country","address_components","component","types","short_name","componentType","long_name","tagName","toLowerCase","querySelector","indexOf","countries","GP_ADDRESS_AUTOCOMPLETE_CONSTANTS","googleShortName","googleLongName","gravityFormsLongName","triggerChange","postalCode","doAction","addressType","init","gm_accessors_","placeKey","find","input","inputKey","GP_Address_Autocomplete","instances","bindGPPAListener","inputName","autocompleteVal","setAttribute","removeAttribute","on","updatedFieldIds","parseInt","map","selectors","selector","allowedCountries","componentRestrictions","fields","$form","$input","JSON","stringify","Event","trigger","html","m","parsedAddress","adrPattern","exec","lastIndex","decodeHTMLEntities","textarea","createElement","innerHTML","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","globalThis","addressFieldId","prepopulateCoords","zoom","getPostedAddressFieldCoords","mapContainer","setupListeners","initMap","parse","lat","Number","lng","setMarker","geometry","location","center","fullscreenControl","mapTypeControl","streetViewControl","zoomControl","mapId","Map","setZoom","position","marker","AdvancedMarkerElement","markerPos","panTo","GP_Address_Autocomplete_Map_Field"],"sourceRoot":""}