{"version":3,"sources":["webpack:///./node_modules/date-fns/esm/isPast/index.js","webpack:///./src/services/ReputationManagementService.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/date-fns/esm/constants/index.js","webpack:///./node_modules/date-fns/esm/parseISO/index.js"],"names":["isPast","dirtyDate","requiredArgs","arguments","toDate","getTime","Date","now","apiHttp","APIService","http","axios","create","withCredentials","baseURL","process","business_chatter_url","authenticate","company","key_key","companyId","local_key","window","localStorage","getItem","key_obj","JSON","parse","parseISO","expires","key","getAPIKey","addCompany","auth","getInstance","apiAuthConfig","authHeaders","post","res","data","setItem","stringify","addMinutes","headers","Authorization","hasAccess","autoSetup","setup","refreshAPIKey","getCompany","get","getRecentReviews","getWaitingReviews","getMembers","getCompanySerpScan","getReviewFlows","getCohort","cohortId","updateCohort","cohort","put","id","addCohort","getCohortMembers","updateCohortMember","member","deleteCohortMember","delete","addCohortMember","getReviewFlowCategories","getReviewFlowCategoryFlows","category","addReviewFlow","reviewFlow","getReviewFlow","getReviewFlowCounts","getReviewFlowReviews","getReviewFlowCohorts","getTemplates","getTemplate","template","getUnsavedTemplatePreview","cohortMember","getTemplatePreview","updateTemplate","saveTemplate","getWorkflows","getAllWorkflows","filter","w","superseded_by","length","getWorkflow","workflow","saveWorkflow","getQueries","addQuery","query","refreshQuery","$","global","fails","isArray","isObject","toObject","lengthOfArrayLike","createProperty","arraySpeciesCreate","arrayMethodHasSpeciesSupport","wellKnownSymbol","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","TypeError","IS_CONCAT_SPREADABLE_SUPPORT","array","concat","SPECIES_SUPPORT","isConcatSpreadable","O","spreadable","undefined","FORCED","target","proto","forced","arg","i","k","len","E","this","A","n","Math","pow","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","argument","options","_options$additionalDi","additionalDigits","RangeError","Object","prototype","toString","call","NaN","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","time","parseTime","timezone","result","setFullYear","getUTCFullYear","getUTCMonth","getUTCDate","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","dateString","timeString","split","test","substr","token","exec","replace","regex","RegExp","captures","match","parseInt","century","slice","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","setUTCFullYear","max","value","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","daysInMonths","isLeapYearIndex","_year","_hours"],"mappings":"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","file":"js/chunk-72167212.6b983385.js","sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isPast\n * @category Common Helpers\n * @summary Is the given date in the past?\n * @pure false\n *\n * @description\n * Is the given date in the past?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the past\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 2 July 2014 in the past?\n * const result = isPast(new Date(2014, 6, 2))\n * //=> true\n */\nexport default function isPast(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getTime() < Date.now();\n}","import APIService from \"./APIService\";\nimport axios from \"axios\";\nimport { getInstance } from \"../auth/auth\";\nimport { addMinutes, isPast, parseISO } from \"date-fns\";\n\nconst apiHttp = APIService.http;\nconst http = axios.create({\n withCredentials: true,\n baseURL: process.env.VUE_APP_BUSINESS_CHATTER_URL,\n});\n\nexport default {\n business_chatter_url: process.env.VUE_APP_BUSINESS_CHATTER_URL,\n async authenticate(company) {\n let key_key = `${company.companyId}-repmgmt-key`;\n let local_key = window.localStorage.getItem(key_key);\n if (local_key) {\n let key_obj = JSON.parse(local_key);\n if (!isPast(parseISO(key_obj.expires))) {\n return key_obj.key;\n }\n }\n\n let key = this.getAPIKey(company);\n return key;\n },\n async addCompany(company) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await apiHttp.post(\n `api/ReputationManagement/setup`,\n company,\n authHeaders\n );\n return res;\n },\n async getAPIKey(company) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await apiHttp.post(\n \"api/ReputationManagement/hasAccess\",\n company,\n authHeaders\n );\n let key = res.data;\n if (key !== \"\" && key !== null) {\n let key_key = `${company.companyId}-repmgmt-key`;\n window.localStorage.setItem(\n key_key,\n JSON.stringify({\n key: key,\n expires: addMinutes(new Date(), 15),\n })\n );\n }\n return key;\n },\n async apiAuthConfig(company) {\n let key = await this.authenticate(company);\n if (key) {\n return {\n headers: {\n Authorization: `Secret ${key}`,\n },\n };\n } else {\n return {};\n }\n },\n async hasAccess(company) {\n let key = await this.getAPIKey(company);\n return key !== \"\" && key !== null;\n },\n async autoSetup(company, setup) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\"review/company/auto-setup/\", setup, authHeaders);\n return res.data;\n },\n async refreshAPIKey(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\n \"review/company/refresh-api-key/\",\n null,\n authHeaders\n );\n return res.data;\n },\n async getCompany(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"review/company/\", authHeaders);\n return res.data;\n },\n async getRecentReviews(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"review/company/recent-reviews/\", authHeaders);\n return res.data;\n },\n async getWaitingReviews(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"review/company/waiting-reviews/\", authHeaders);\n return res.data;\n },\n async getMembers(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"review/company/members/\", authHeaders);\n return res.data;\n },\n async getCompanySerpScan(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"serp/latest-result/\", authHeaders);\n return res.data;\n },\n async getReviewFlows(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\"review/companyreviewflows/\", authHeaders);\n return res.data;\n },\n async getCohort(company, cohortId) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`cohorts/cohorts/${cohortId}/`, authHeaders);\n return res.data;\n },\n async updateCohort(company, cohort) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.put(\n `cohorts/cohorts/${cohort.id}/`,\n cohort,\n authHeaders\n );\n return res.data;\n },\n async addCohort(company, cohort) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(`cohorts/cohorts/`, cohort, authHeaders);\n return res.data;\n },\n async getCohortMembers(company, cohortId) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `cohorts/cohorts/${cohortId}/members/`,\n authHeaders\n );\n return res.data;\n },\n async updateCohortMember(company, cohortId, member) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.put(\n `cohorts/cohorts/${cohortId}/members/${member.id}/`,\n member,\n authHeaders\n );\n return res.data;\n },\n async deleteCohortMember(company, cohortId, member) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.delete(\n `cohorts/cohorts/${cohortId}/members/${member.id}/`,\n authHeaders\n );\n return res.data;\n },\n async addCohortMember(company, cohortId, member) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\n `cohorts/cohorts/${cohortId}/members/`,\n member,\n authHeaders\n );\n return res.data;\n },\n async getReviewFlowCategories(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`review/reviewflowcategories/`, authHeaders);\n return res.data;\n },\n async getReviewFlowCategoryFlows(company, category) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `review/reviewflowcategories/${category}/review-flows/`,\n authHeaders\n );\n return res.data;\n },\n async addReviewFlow(company, reviewFlow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\n `review/companyreviewflows/`,\n reviewFlow,\n authHeaders\n );\n return res.data;\n },\n async getReviewFlow(company, reviewFlow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `review/companyreviewflows/${reviewFlow}/`,\n authHeaders\n );\n return res.data;\n },\n async getReviewFlowCounts(company, reviewFlow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `review/companyreviewflows/${reviewFlow}/review_counts/`,\n authHeaders\n );\n return res.data;\n },\n async getReviewFlowReviews(company, reviewFlow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `review/companyreviewflows/${reviewFlow}/reviews/`,\n authHeaders\n );\n return res.data;\n },\n async getReviewFlowCohorts(company, reviewFlow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `review/companyreviewflows/${reviewFlow}/cohorts/`,\n authHeaders\n );\n return res.data;\n },\n async getTemplates(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`cohorts/templates/`, authHeaders);\n return res.data;\n },\n async getTemplate(company, template) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `cohorts/templates/${template}/private_key/`,\n authHeaders\n );\n return res.data;\n },\n async getUnsavedTemplatePreview(company, template, cohortMember) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\n `cohorts/templates/preview_unsaved/${cohortMember}/`,\n template,\n authHeaders\n );\n return res.data;\n },\n async getTemplatePreview(company, template, cohortMember) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(\n `cohorts/templates/${template}/preview/${cohortMember}/`,\n authHeaders\n );\n return res.data;\n },\n async updateTemplate(company, template) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.put(\n `cohorts/templates/${template.id}/`,\n template,\n authHeaders\n );\n return res.data;\n },\n async saveTemplate(company, template) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(`cohorts/templates/`, template, authHeaders);\n return res.data;\n },\n async getWorkflows(company) {\n return (await this.getAllWorkflows(company)).filter(\n (w) => w.superseded_by.length == 0\n );\n },\n async getAllWorkflows(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`cohorts/machines/`, authHeaders);\n return res.data;\n },\n async getWorkflow(company, workflow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`cohorts/machines/${workflow}/`, authHeaders);\n return res.data;\n },\n async saveWorkflow(company, workflow) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(`cohorts/machines/`, workflow, authHeaders);\n return res.data;\n },\n async getQueries(company) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.get(`serp/queries/`, authHeaders);\n return res.data;\n },\n async addQuery(company, query) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(`serp/add-query/`, query, authHeaders);\n return res.data;\n },\n async refreshQuery(company, query) {\n let authHeaders = await this.apiAuthConfig(company);\n let res = await http.post(\n `serp/refresh-query-results/`,\n query,\n authHeaders\n );\n return res.data;\n },\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}"],"sourceRoot":""}