{"version":3,"file":"static/js/main.671b4e33.js","mappings":"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MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,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AM,UACN,GAAM,mCACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,gBACN,GAAM,WACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,0BACN,GAAM,oCACN,GAAM,2BACN,GAAM,QACN,GAAM,cACN,GAAM,gBACN,GAAM,eACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,aACN,GAAM,OACN,GAAM,aACN,GAAM,aACN,GAAM,mBACN,GAAM,SACN,GAAM,iBACN,GAAM,UACN,GAAM,WACN,GAAM,UACN,GAAM,WACN,GAAM,qBACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,QACN,GAAM,WACN,GAAM,UACN,GAAM,OACN,GAAM,mBACN,GAAM,iCACN,GAAM,gBACN,GAAM,SACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,UACN,GAAM,gBACN,GAAM,WACN,GAAM,QACN,GAAM,YACN,GAAM,YACN,GAAM,SACN,GAAM,SACN,GAAM,aACN,GAAM,oBACN,GAAM,SACN,GAAM,+CACN,GAAM,YACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,YACN,GAAM,oCACN,GAAM,WACN,GAAM,UACN,GAAM,QACN,GAAM,UACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,cACN,GAAM,QACN,GAAM,iCACN,GAAM,OACN,GAAM,OACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,aACN,GAAM,WACN,GAAM,WACN,GAAM,UACN,GAAM,wBACN,GAAM,cACN,GAAM,cACN,GAAM,SACN,GAAM,iBACN,GAAM,aACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,gBACN,GAAM,YACN,GAAM,UACN,GAAM,UACN,GAAM,YACN,GAAM,aACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,aACN,GAAM,6BACN,GAAM,aACN,GAAM,mBACN,GAAM,kBACN,GAAM,OACN,GAAM,UACN,GAAM,WACN,GAAM,QACN,GAAM,2BACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,QACN,GAAM,YACN,GAAM,WACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,gBACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,YACN,GAAM,cACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,OACN,GAAM,cACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,GAAM,cACN,GAAM,WACN,GAAM,SACN,GAAM,4BACN,GAAM,WACN,GAAM,cACN,GAAM,YACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,UACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,eACN,GAAM,kBACN,GAAM,aACN,GAAM,QACN,GAAM,SACN,GAAM,YACN,GAAM,eACN,GAAM,WACN,GAAM,yBACN,GAAM,WACN,GAAM,eACN,GAAM,aACN,GAAM,UACN,GAAM,UACN,GAAM,WACN,GAAM,cACN,GAAM,wBACN,GAAM,cACN,GAAM,eACN,GAAM,QACN,GAAM,YACN,GAAM,mBACN,GAAM,2BACN,GAAM,OACN,GAAM,8BACN,GAAM,OACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,cACN,GAAM,eACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,sBACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,UACN,GAAM,SACN,GAAM,uCACN,GAAM,gBACN,GAAM,UACN,GAAM,aACN,GAAM,gCACN,GAAM,mCACN,GAAM,YACN,GAAM,0BACN,GAAM,uBACN,GAAM,UACN,GAAM,UACN,GAAM,oBACN,GAAM,QACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,eACN,GAAM,SACN,GAAM,WACN,GAAM,iCChQKnS,GAAWoS,GAAAA,MAAgB,CACvClN,sBAAwBkN,GAAAA,OAAiBC,WACzC7P,UAAY4P,GAAAA,OAAiBC,aAGjBC,GAASF,GAAAA,SAAmB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","sources":["assets/images/green.svg","assets/images/orange.svg","assets/images/read.svg","assets/images/red.svg","assets/images/sort-down.svg","assets/images/sort-up.svg","assets/images/unread.svg","actions/clientActions/service_requests.js","actions/customers.js","actions/patients.js","actions/projects.js","actions/service_request_document_reviews.js","actions/service_request_ffd.js","actions/service_request_items.js","actions/service_requests.js","components/common/form_validator.js","components/common/link_header.js","actions/clientActions/patients.js","../node_modules/libphonenumber-js/metadata.min.json.js","../node_modules/libphonenumber-js/source/helpers/isObject.js","../node_modules/libphonenumber-js/source/normalizeArguments.js","../node_modules/libphonenumber-js/source/constants.js","../node_modules/libphonenumber-js/source/ParseError.js","../node_modules/libphonenumber-js/source/tools/semver-compare.js","../node_modules/libphonenumber-js/source/metadata.js","../node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js","../node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js","../node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js","../node_modules/libphonenumber-js/source/helpers/parseDigits.js","../node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js","../node_modules/libphonenumber-js/source/helpers/checkNumberLength.js","../node_modules/libphonenumber-js/source/helpers/mergeArrays.js","../node_modules/libphonenumber-js/source/isPossible.js","../node_modules/libphonenumber-js/source/helpers/matchesEntirely.js","../node_modules/libphonenumber-js/source/helpers/getNumberType.js","../node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js","../node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js","../node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js","../node_modules/libphonenumber-js/source/helpers/getIddPrefix.js","../node_modules/libphonenumber-js/source/format.js","../node_modules/libphonenumber-js/source/helpers/RFC3966.js","../node_modules/libphonenumber-js/source/PhoneNumber.js","../node_modules/libphonenumber-js/source/isValid.js","../node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js","../node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js","../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js","../node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js","../node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js","../node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js","../node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","../node_modules/libphonenumber-js/source/parse.js","../node_modules/libphonenumber-js/source/parsePhoneNumber_.js","../node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js","../node_modules/libphonenumber-js/source/isValidPhoneNumber.js","../node_modules/react-phone-number-input/locale/en.json.js","../node_modules/react-phone-number-input/source/PropTypes.js","../node_modules/input-format/source/helpers.js","../node_modules/input-format/source/templateFormatter.js","../node_modules/input-format/source/closeBraces.js","../node_modules/input-format/source/dom.js","../node_modules/input-format/source/inputControl.js","../node_modules/input-format/source/parse.js","../node_modules/input-format/source/edit.js","../node_modules/input-format/source/format.js","../node_modules/input-format/source/react/Input.js","../node_modules/libphonenumber-js/source/AsYouTypeState.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.util.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.complete.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternParser.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternMatcher.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.js","../node_modules/libphonenumber-js/source/AsYouTypeParser.js","../node_modules/libphonenumber-js/source/AsYouType.js","../node_modules/react-phone-number-input/source/helpers/inputValuePrefix.js","../node_modules/react-phone-number-input/source/helpers/parsePhoneNumberCharacter.js","../node_modules/react-phone-number-input/source/useInputKeyDownHandler.js","../node_modules/react-phone-number-input/source/InputSmart.js","../node_modules/react-phone-number-input/source/InputBasic.js","../node_modules/libphonenumber-js/source/formatIncompletePhoneNumber.js","../node_modules/country-flag-icons/source/unicode.js","../node_modules/react-phone-number-input/source/CountrySelect.js","../node_modules/react-phone-number-input/source/Flag.js","../node_modules/react-phone-number-input/source/InternationalIcon.js","../node_modules/react-phone-number-input/source/helpers/isE164Number.js","../node_modules/react-phone-number-input/source/helpers/countries.js","../node_modules/libphonenumber-js/source/getCountries.js","../node_modules/react-phone-number-input/source/CountryIcon.js","../node_modules/react-phone-number-input/source/useExternalRef.js","../node_modules/react-phone-number-input/source/helpers/getInternationalPhoneNumberPrefix.js","../node_modules/react-phone-number-input/source/helpers/phoneInputHelpers.js","../node_modules/libphonenumber-js/source/parsePhoneNumber.js","../node_modules/react-phone-number-input/source/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountry.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountryDefault.js","../node_modules/react-phone-number-input/min/index.js","components/coordinator/patients/new.js","components/coordinator/patients/edit.js","components/coordinator/patients/index.js","actions/clientActions/projects.js","actions/clientActions/standards.js","components/coordinator/service_request/service_request_form.js","components/coordinator/service_request/service_requests_list.js","components/helpers/service_requests_table_list.js","components/pagination/Pagination.js","config/client.js","redux/service_request/admin_fees.js","redux/service_request/document_collection.js","redux/service_request/email_template.js","redux/service_request/ffd.js","redux/service_request/service_request.js","redux/service_request/service_request_items.js","redux/service_request/task_list.js","utils/disabledFutureDate.js","utils/useUpdateEffect.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/object-assign/index.js","../node_modules/path-to-regexp/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../ReactPaginate/webpack/universalModuleDefinition","../ReactPaginate/webpack/bootstrap","../ReactPaginate/node_modules/prop-types/index.js","../ReactPaginate/external {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\"}","../ReactPaginate/node_modules/prop-types/factoryWithThrowingShims.js","../ReactPaginate/node_modules/prop-types/lib/ReactPropTypesSecret.js","../ReactPaginate/react_components/PageView.js","../ReactPaginate/react_components/BreakView.js","../ReactPaginate/react_components/PaginationBoxView.js","../ReactPaginate/react_components/index.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/hooks.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","App.js","reportWebVitals.js","redux/service_request/documents_collection_list.js","redux/client/client.js","redux/store.js","index.js"],"sourcesContent":["var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGreen(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 34,\n height: 34,\n viewBox: \"0 0 34 34\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"green\",\n x: 0,\n y: 0,\n width: 34,\n height: 34,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 3,\n input: \"SourceAlpha\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1, 0, 0, 1, 0, 0)\",\n filter: \"url(#green)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"green-2\",\n \"data-name\": \"green\",\n cx: 8,\n cy: 8,\n r: 8,\n transform: \"translate(9 6)\",\n fill: \"#41ef4e\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGreen);\nexport default __webpack_public_path__ + \"static/media/green.7e118f45ae0e40186fe3372cd3738f13.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgOrange(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 34,\n height: 34,\n viewBox: \"0 0 34 34\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"orange\",\n x: 0,\n y: 0,\n width: 34,\n height: 34,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 3,\n input: \"SourceAlpha\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1, 0, 0, 1, 0, 0)\",\n filter: \"url(#orange)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"orange-2\",\n \"data-name\": \"orange\",\n cx: 8,\n cy: 8,\n r: 8,\n transform: \"translate(9 6)\",\n fill: \"#e5f404\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgOrange);\nexport default __webpack_public_path__ + \"static/media/orange.0143bff4bcaad78082eeb63daa40cb4c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgRead(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 126.429,\n height: 126.425,\n viewBox: \"0 0 126.429 126.425\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"edit_1_\",\n \"data-name\": \"edit (1)\",\n transform: \"translate(2.5 1.999)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1959\",\n \"data-name\": \"Path 1959\",\n d: \"M96.131,126.293a5.058,5.058,0,0,0-5.059,5.059v40.477a5.065,5.065,0,0,1-5.059,5.059H15.179a5.064,5.064,0,0,1-5.059-5.059V100.995a5.064,5.064,0,0,1,5.059-5.059H55.655a5.06,5.06,0,0,0,0-10.119H15.179A15.2,15.2,0,0,0,0,100.995v70.834a15.2,15.2,0,0,0,15.179,15.179H86.013a15.2,15.2,0,0,0,15.179-15.179V131.352a5.055,5.055,0,0,0-5.06-5.059Zm0,0\",\n transform: \"translate(0 -65.081)\",\n fill: \"#228caa\",\n stroke: \"#fff\",\n strokeWidth: 5\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1960\",\n \"data-name\": \"Path 1960\",\n d: \"M186.128,108.293a2.56,2.56,0,0,0-.693,1.29l-3.577,17.891a2.528,2.528,0,0,0,2.485,3.025,2.407,2.407,0,0,0,.5-.05l17.886-3.577a2.519,2.519,0,0,0,1.3-.694L244.05,86.147,226.164,68.262Zm0,0\",\n transform: \"translate(-138.69 -51.69)\",\n fill: \"#3eaa22\",\n stroke: \"#fff\",\n strokeWidth: 5\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1961\",\n \"data-name\": \"Path 1961\",\n d: \"M416.333,4.2a12.657,12.657,0,0,0-17.886,0l-7,7,17.886,17.886,7-7a12.647,12.647,0,0,0,0-17.885Zm0,0\",\n transform: \"translate(-298.608)\",\n fill: \"#3eaa22\",\n stroke: \"#fff\",\n strokeWidth: 5\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRead);\nexport default __webpack_public_path__ + \"static/media/read.4b75ccbb0b177e658d7b10a762843904.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgRed(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 34,\n height: 34,\n viewBox: \"0 0 34 34\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"red.\",\n x: 0,\n y: 0,\n width: 34,\n height: 34,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 3,\n input: \"SourceAlpha\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"blur\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1, 0, 0, 1, 0, 0)\",\n filter: \"url(#red.)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"red.-2\",\n \"data-name\": \"red.\",\n cx: 8,\n cy: 8,\n r: 8,\n transform: \"translate(9 6)\",\n fill: \"#f33737\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRed);\nexport default __webpack_public_path__ + \"static/media/red.949d0e2f49978740fb0230849a9d6a4c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSortDown(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 8,\n height: 5,\n viewBox: \"0 0 8 5\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"sort-down\",\n d: \"M3.219.976a1,1,0,0,1,1.562,0L6.7,3.375A1,1,0,0,1,5.919,5H2.081A1,1,0,0,1,1.3,3.375Z\",\n fill: \"#a1a1a1\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSortDown);\nexport default __webpack_public_path__ + \"static/media/sort-down.c135af599778d818c78d430525c94e4c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSortUp(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 8,\n height: 5,\n viewBox: \"0 0 8 5\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"sort-up\",\n d: \"M3.219.976a1,1,0,0,1,1.562,0L6.7,3.375A1,1,0,0,1,5.919,5H2.081A1,1,0,0,1,1.3,3.375Z\",\n transform: \"translate(8 5) rotate(180)\",\n fill: \"#a1a1a1\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSortUp);\nexport default __webpack_public_path__ + \"static/media/sort-up.2d6c5a2c3c03388289da699558b53958.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgUnread(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 113.737,\n height: 133.081,\n viewBox: \"0 0 113.737 133.081\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_115\",\n \"data-name\": \"Group 115\",\n transform: \"translate(-318.263 -255.919)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"file\",\n transform: \"translate(260.263 256.419)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1952\",\n \"data-name\": \"Path 1952\",\n d: \"M73.932,117.612H66.191a4.146,4.146,0,0,1-4.141-4.141V7.691A4.146,4.146,0,0,1,66.191,3.55h30.75a1.775,1.775,0,0,0,0-3.55H66.191A7.7,7.7,0,0,0,58.5,7.691v105.78a7.7,7.7,0,0,0,7.691,7.691h7.742a1.775,1.775,0,0,0,0-3.55Z\",\n transform: \"translate(0 0)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1953\",\n \"data-name\": \"Path 1953\",\n d: \"M222.228,25.013,197.736.52a1.8,1.8,0,0,0-.909-.486A2.736,2.736,0,0,0,196.481,0H176a1.775,1.775,0,0,0,0,3.55h18.709v16.8a7.7,7.7,0,0,0,7.691,7.691h16.8v85.428a4.146,4.146,0,0,1-4.141,4.141H152.989a1.775,1.775,0,1,0,0,3.55h62.068a7.7,7.7,0,0,0,7.691-7.691v-87.2A1.8,1.8,0,0,0,222.228,25.013Zm-19.831-.52a4.146,4.146,0,0,1-4.141-4.141V6.059l18.433,18.433Z\",\n transform: \"translate(-70.774)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1954\",\n \"data-name\": \"Path 1954\",\n d: \"M181.8,164.781H120.275a1.775,1.775,0,1,0,0,3.55H181.8a1.775,1.775,0,0,0,0-3.55Z\",\n transform: \"translate(-45.801 -125.787)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1955\",\n \"data-name\": \"Path 1955\",\n d: \"M181.8,231.448H120.275a1.775,1.775,0,1,0,0,3.55H181.8a1.775,1.775,0,0,0,0-3.55Z\",\n transform: \"translate(-45.801 -176.677)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1956\",\n \"data-name\": \"Path 1956\",\n d: \"M181.8,298.115H120.275a1.775,1.775,0,1,0,0,3.55H181.8a1.775,1.775,0,0,0,0-3.55Z\",\n transform: \"translate(-45.801 -227.568)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1957\",\n \"data-name\": \"Path 1957\",\n d: \"M181.8,364.781H120.275a1.775,1.775,0,1,0,0,3.55H181.8a1.775,1.775,0,0,0,0-3.55Z\",\n transform: \"translate(-45.801 -278.458)\",\n fill: \"#228caa\",\n stroke: \"#228caa\",\n strokeWidth: 1\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ellipse_3\",\n \"data-name\": \"Ellipse 3\",\n transform: \"translate(367 324)\",\n fill: \"#fff\",\n stroke: \"#228caa\",\n strokeWidth: 5\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32.5,\n cy: 32.5,\n r: 32.5,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 32.5,\n cy: 32.5,\n r: 30,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"plus-positive-add-mathematical-symbol\",\n transform: \"translate(384.91 341.401)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_1958\",\n \"data-name\": \"Path 1958\",\n d: \"M31.191,14.6l-12.9.039V1.989a1.989,1.989,0,0,0-3.979,0L14.347,14.6H1.989a1.989,1.989,0,1,0,0,3.979H14.328V31.191a1.989,1.989,0,0,0,3.979,0V18.58H31.191a1.99,1.99,0,0,0,0-3.979Z\",\n fill: \"#22aa43\",\n stroke: \"#3eaa22\",\n strokeWidth: 4\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnread);\nexport default __webpack_public_path__ + \"static/media/unread.a8c11baf43c4cd20c2719cfd95a5cbab.svg\";\nexport { ForwardRef as ReactComponent };","import fetchClient from '../../config/client';\n\nconst getList = async (q_params) => {\n let serviceRequests = await fetchClient\n .get('client/service_requests.json', { params: q_params })\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequests;\n};\nconst getServiceRequestEvents = async (q_params) => {\n let serviceRequest = await fetchClient\n .get(`client/service_request_events.json`, { params: q_params })\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequest;\n};\n\n// download the list of service request\nconst getListOfServiceRequest = async (q_params) => {\n let serviceRequests = await fetchClient\n .get('client/service_requests/download.json', { params: q_params })\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequests;\n};\n\n// for add Service Request\n\nconst addServiceRequest = async (data) => {\n let response = await fetchClient\n .post(\n '/client/service_requests',\n { service_request: data },\n { headers: { 'Content-Type': 'multipart/form-data' } }\n )\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nexport const ClientServiceRequestActions = {\n getList,\n getServiceRequestEvents,\n getListOfServiceRequest,\n addServiceRequest,\n};\n\nexport default ClientServiceRequestActions;\n","import fetchClient from '../config/client';\n\nconst getList = async (q_params) => {\n let customers = await fetchClient\n .get('/customers.json', { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return customers;\n};\n\nconst getProjectsCustomers = async () => {\n let customers = await fetchClient\n .get('/customers_projects.json')\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return customers;\n};\n\nconst getProjects = async (id) => {\n let projects = await fetchClient\n .get(`/customers/${id}/projects`)\n .then(function (response) {\n return response.data.projects;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return projects;\n};\n\nconst getCustomer = async (id) => {\n let customer = await fetchClient\n .get(`/customers/${id}.json`)\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return {};\n });\n return customer;\n};\n\nconst getCustomerWithProjects = async (id) => {\n let customers = await fetchClient\n .get(`/customers/customers_with_projects.json`)\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return {};\n });\n return customers;\n};\n\nconst deleteCustomer = async (id) => {\n fetchClient\n .delete(`customers/${id}`)\n .then(function (response) {\n return true;\n })\n .catch(function (error) {\n console.log(error);\n return false;\n });\n};\n\nconst updateCustomer = async (id, params) => {\n let customer = fetchClient\n .put(`customers/${id}`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return error;\n });\n return customer;\n};\n\nconst createCustomer = async (params) => {\n let customer = fetchClient\n .post(`customers`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n return error.response.data;\n });\n return customer;\n};\n\nexport const CustomerActions = {\n getList,\n getProjects,\n getProjectsCustomers,\n getCustomerWithProjects,\n getCustomer,\n deleteCustomer,\n updateCustomer,\n createCustomer,\n};\n\nexport default CustomerActions;\n","import fetchClient from \"../config/client\";\nimport ProjectActions from \"./projects\";\nconst createPatient = async (data) => {\n let response = await fetchClient\n .post(\"/coordinator/patients\", data,{headers: {'Content-Type': 'multipart/form-data'}}\n )\n .then(function (res) {\n return res;\n })\n return response;\n};\nconst updatePatient = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/patients/${id}`, data,{headers: {'Content-Type': 'multipart/form-data'}}\n )\n .then(function (res) {\n return res;\n })\n return response;\n};\n\nconst getList = async (q_params) => {\n let patients = await fetchClient\n .get(\"coordinator/patients.json\", { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return patients;\n};\nexport const PatientActions = {\n getList,\n createPatient,\n updatePatient\n};\n\nexport default PatientActions;\n","import fetchClient from \"../config/client\";\n\nconst getList = async (q_params) => {\n let projects = await fetchClient\n .get(\"/projects.json\", { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return projects;\n};\n\nconst getProject = async (id) => {\n let project = await fetchClient\n .get(`/projects/${id}.json`)\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return {};\n });\n return project;\n};\n\nconst deleteProject = async (id) => {\n fetchClient\n .delete(`projects/${id}`)\n .then(function (response) {\n return true;\n })\n .catch(function (error) {\n console.log(error);\n return false;\n });\n};\n\nconst deleteProjectStandards = async (id, params) => {\n fetchClient\n .delete(`project_standards/${id}`, { data: params })\n .then(function (response) {\n return true;\n })\n .catch(function (error) {\n console.log(error);\n return false;\n });\n};\n\nconst updateProjectStandards = async (id, params) => {\n let project = fetchClient\n .put(`project_standards/${id}`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return error;\n });\n return project;\n};\n\nconst deleteProjectServiceItems = async (id, params) => {\n fetchClient\n .delete(`project_service_items/${id}`, { data: params })\n .then(function (response) {\n return true;\n })\n .catch(function (error) {\n console.log(error);\n return false;\n });\n};\n\nconst updateProjectServiceItems = async (id, params) => {\n let project = fetchClient\n .put(`project_service_items/${id}`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return error;\n });\n return project;\n};\n\nconst updateProject = async (id, params) => {\n let project = fetchClient\n .put(`projects/${id}`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return error;\n });\n return project;\n};\n\nconst createProject = async (params) => {\n let project = fetchClient\n .post(`projects`, params)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n return error.response.data;\n });\n return project;\n};\nconst getStandards = async(project_id)=>{\n let standards = fetchClient\n .get(`projects/${project_id}/standards`)\n .then(function (response) {\n return response.data.standards;\n })\n .catch(function (error) {\n console.log(error);\n return error;\n });\n return standards;\n}\nexport const ProjectActions = {\n getList,\n getStandards,\n getProject,\n deleteProject,\n deleteProjectStandards,\n deleteProjectServiceItems,\n updateProject,\n updateProjectStandards,\n updateProjectServiceItems,\n createProject,\n};\n\nexport default ProjectActions;\n","import fetchClient from '../config/client';\n\nconst getServiceRequestItems = async (q_params) => {\n let serviceItems = await fetchClient\n .get('/coordinator/service_request_items.json', { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceItems;\n};\n\nconst getServiceRequestDocuments = async (q_params) => {\n let serviceRequestDocuments = await fetchClient\n .get('/coordinator/document_attachments.json', { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequestDocuments;\n};\n\nconst createServiceRequestDocmentReview = async (data) => {\n let response = await fetchClient\n .post('/coordinator/service_request_document_reviews', data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst deleteServiceRequestDocmentReview = async (q_params) => {\n let notes = await fetchClient\n .delete(`coordinator/service_request_document_reviews/${q_params}.json`)\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return notes;\n};\n\nconst getServiceRequestDocmentReview = async (q_params) => {\n let notes = await fetchClient\n .get(`coordinator/service_request_document_reviews/${q_params}.json`)\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return notes;\n};\n\nconst sendEmailForReview = async (data) => {\n let response = await fetchClient\n .post('/coordinator/emails', data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst sendPsqEmail = async (data) => {\n let response = await fetchClient\n .post('/coordinator/service_request_psqs', data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst updateServiceRequestDocmentReview = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/service_request_document_reviews/${id}`, data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst updateCaseNote = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/case_notes/${id}`, data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nexport const ServiceRequestDocumentActions = {\n getServiceRequestItems,\n getServiceRequestDocuments,\n createServiceRequestDocmentReview,\n deleteServiceRequestDocmentReview,\n getServiceRequestDocmentReview,\n sendEmailForReview,\n sendPsqEmail,\n updateServiceRequestDocmentReview,\n};\n\nexport default ServiceRequestDocumentActions;\n","import fetchClient from '../config/client';\n\nconst createFfdNote = async (data) => {\n let response = await fetchClient\n .post('/coordinator/service_request_ffds', data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst getFfdNoteByID = async (id) => {\n let response = await fetchClient\n .get(`/coordinator/service_request_ffds/${id}`, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n })\n .catch(function (error) {\n return error;\n });\n return response;\n};\n\nconst updateFfdNoteByID = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/service_request_ffds/${id}`, data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst updateServiceItemStatus = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/service_request_items/${id}`, data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst deleteFfdNote = async (id) => {\n let response = await fetchClient\n .delete(`coordinator/service_request_ffds/${id}`, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst getPatientBaseServiceRequestItems = async (id,q_params) => {\n let serviceItems = await fetchClient\n .get(`/coordinator/patients_history/${id}/patient_base_service_items/`, { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceItems;\n};\n\nconst getPatientBaseDocumentAttachments = async (q_params) => {\n let serviceItems = await fetchClient\n .get(`/coordinator/patients_history/patient_base_document_attachments/`, { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceItems;\n};\n\n\n\n\nexport { createFfdNote, updateServiceItemStatus, deleteFfdNote, getFfdNoteByID, updateFfdNoteByID, getPatientBaseServiceRequestItems, getPatientBaseDocumentAttachments};\n","import fetchClient from '../config/client'\n\nconst getList = async (q_params) => {\n let serviceItems = await fetchClient\n .get('/coordinator/service_request_items.json', { params: q_params })\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\n\nconst getPatientServiceItemsList = async (q_params) => {\n let serviceItems = await fetchClient\n .get(\"/coordinator/service_request_items/patient_service_items.json\", { params: q_params })\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\nconst updateServiceRequestItem = async (itemId, q_params) => {\n let serviceItems = await fetchClient\n .put(`/coordinator/service_request_items/${itemId}.json`, q_params)\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\n\nconst createList = async (q_params) => {\n let serviceItems = await fetchClient\n .post('/coordinator/admin_fees.json', q_params)\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\n\nconst updateItems = async (itemId, q_params) => {\n let serviceItems = await fetchClient\n .put(`/coordinator/admin_fees/${itemId}.json`, q_params)\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\n\nconst updateAllItemsStatus = async (data) => {\n let serviceItems = await fetchClient\n .post(`/coordinator/service_request_items/bulk_update`, data)\n .then(function (response) {\n return response.data\n })\n .catch(function (error) {\n console.log(error)\n return []\n })\n return serviceItems\n}\n\nexport const ServiceRequestItems = {\n getList,\n getPatientServiceItemsList,\n createList,\n updateItems,\n updateAllItemsStatus,\n updateServiceRequestItem\n}\n\nexport default ServiceRequestItems\n","import fetchClient from '../config/client';\nconst getList = async (q_params) => {\n let serviceRequests = await fetchClient\n .get('coordinator/service_requests.json', { params: q_params })\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequests;\n};\nconst getServiceRequest = async (id) => {\n let serviceRequest = await fetchClient\n .get(`coordinator/service_requests/${id}.json`)\n .then(function (response) {\n return response;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return serviceRequest;\n};\n\nconst updateServiceRequest = async (id, data) => {\n let response = await fetchClient\n .put(`/coordinator/service_requests/${id}`, data, {\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst addServiceRequest = async (data) => {\n let response = await fetchClient\n .post(\n '/coordinator/service_requests',\n { service_request: data },\n { headers: { 'Content-Type': 'multipart/form-data' } }\n )\n .then(function (res) {\n return res;\n });\n return response;\n};\nexport const ServiceRequestActions = {\n getList,\n getServiceRequest,\n addServiceRequest,\n updateServiceRequest,\n};\n\nexport default ServiceRequestActions;\n","const showErrors = (response) => {\n var elements = document.getElementsByClassName('form-errors');\n while (elements.length > 0) {\n elements[0].parentNode.removeChild(elements[0]);\n }\n var inputs = document.getElementsByClassName('wrong-input');\n while (inputs.length > 0) {\n inputs[0].classList.remove('wrong-input');\n }\n for (const property in response.data.errors) {\n let input = document.getElementById(`${property}`);\n if (input) {\n input.insertAdjacentHTML(\n 'afterend',\n `
${response.data.errors[property]}
`\n );\n input.classList.add('wrong-input');\n }\n }\n};\n\nconst customerNotes = (action, response) => {\n // Only Note Field exists in Customer Notes\n if (action === 'new') {\n return response.data.messages[0];\n }\n};\n\nexport const FormValidator = {\n showErrors,\n customerNotes,\n};\n\nexport default FormValidator;\n","import up from \"../../assets/images/sort-up.svg\";\nimport down from \"../../assets/images/sort-down.svg\";\nconst LinksHeader = ({label, column, orderField, handleSort, sort})=>{\n const ActiveSort = ({sortType,icon})=>{\n if(sortType == sort){\n return(\n \n {/* \"\"/ */}\n \n );\n }else{\n return(\n {handleSort(event, column, sortType )}}>\n \"\"/\n \n );\n }\n\n }\n if(orderField == column){\n return(\n
\n \n \n \n {label}\n
\n );\n }else{\n return(\n
\n \n {handleSort(event, column, 'desc' )}}>\n \"\"/\n \n {handleSort(event, column, 'asc' )}}>\n \"\"/\n \n {label}\n
\n );\n }\n}\nexport default LinksHeader;","import fetchClient from \"../../config/client\";\n\n// APi for client side\n\nconst createPatient = async (data) => {\n let response = await fetchClient\n .post(\"/client/patients\", data, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\nconst updatePatient = async (id, data) => {\n let response = await fetchClient\n .put(`/client/patients/${id}`, data, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n })\n .then(function (res) {\n return res;\n });\n return response;\n};\n\nconst getList = async (q_params) => {\n let patients = await fetchClient\n .get(\"client/patients.json\", { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return patients;\n};\nexport const ClientPatientActions = {\n getList,\n createPatient,\n updatePatient,\n};\n\nexport default ClientPatientActions;\n","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|2[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"8001\\\\d{5}|(?:[2-467]\\\\d|50)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[235]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"(?:(?:[189]|5\\\\d)\\\\d|2)\\\\d{7}|[1-68]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"(?:(?:1[03-689]|2\\\\d)\\\\d\\\\d|6)\\\\d{8}|1\\\\d{10}|[126]\\\\d{6}(?:\\\\d(?:\\\\d{2})?)?|86\\\\d{5,6}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{5,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]\",\"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"60\\\\d{8}|(?:1\\\\d|[39])\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6|90\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-35])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"00[1-9]\\\\d{9,14}|(?:[1-36]|8\\\\d{5})\\\\d{6}|00\\\\d{9}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\",[6,7,8,9,10,11]],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],[\"3[2-8]\\\\d{9,10}\",[11,12]],0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[0135-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|452|678|86\",\"[12]|452|6788|86\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"38\\\\d{6}|[78]\\\\d{9,13}|(?:20|9\\\\d)\\\\d{8}\",[8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"(?:[2489]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[689]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:3052(?:0[0-8]|[1-9]\\\\d)|5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"305209\\\\d{4}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11,12],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72|8\\\\d{4})\\\\d{4}|[89]\\\\d{5}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[47-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,[\"348[57]\\\\d{7}\",[11]],0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","const objectConstructor = {}.constructor;\r\n\r\nexport default function isObject(object) {\r\n return object !== undefined && object !== null && object.constructor === objectConstructor;\r\n}\r\n","import isObject from './helpers/isObject.js'\r\n\r\n// Extracts the following properties from function arguments:\r\n// * input `text`\r\n// * `options` object\r\n// * `metadata` JSON\r\nexport default function normalizeArguments(args) {\r\n\tconst [arg_1, arg_2, arg_3, arg_4] = Array.prototype.slice.call(args)\r\n\r\n\tlet text\r\n\tlet options\r\n\tlet metadata\r\n\r\n\t// If the phone number is passed as a string.\r\n\t// `parsePhoneNumber('88005553535', ...)`.\r\n\tif (typeof arg_1 === 'string') {\r\n\t\ttext = arg_1\r\n\t}\r\n\telse throw new TypeError('A text for parsing must be a string.')\r\n\r\n\t// If \"default country\" argument is being passed then move it to `options`.\r\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\r\n\tif (!arg_2 || typeof arg_2 === 'string')\r\n\t{\r\n\t\tif (arg_4) {\r\n\t\t\toptions = arg_3\r\n\t\t\tmetadata = arg_4\r\n\t\t} else {\r\n\t\t\toptions = undefined\r\n\t\t\tmetadata = arg_3\r\n\t\t}\r\n\r\n\t\tif (arg_2) {\r\n\t\t\toptions = { defaultCountry: arg_2, ...options }\r\n\t\t}\r\n\t}\r\n\t// `defaultCountry` is not passed.\r\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\r\n\telse if (isObject(arg_2))\r\n\t{\r\n\t\tif (arg_3) {\r\n\t\t\toptions = arg_2\r\n\t\t\tmetadata = arg_3\r\n\t\t} else {\r\n\t\t\tmetadata = arg_2\r\n\t\t}\r\n\t}\r\n\telse throw new Error(`Invalid second argument: ${arg_2}`)\r\n\r\n\treturn {\r\n\t\ttext,\r\n\t\toptions,\r\n\t\tmetadata\r\n\t}\r\n}","// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')","// https://stackoverflow.com/a/46971044/970769\r\n// \"Breaking changes in Typescript 2.1\"\r\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\r\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\r\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\nexport default class ParseError extends Error {\r\n constructor(code) {\r\n super(code)\r\n // Set the prototype explicitly.\r\n // Any subclass of FooError will have to manually set the prototype as well.\r\n Object.setPrototypeOf(this, ParseError.prototype)\r\n this.name = this.constructor.name\r\n }\r\n}","// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\n//\r\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\r\nexport default function(a, b) {\r\n a = a.split('-')\r\n b = b.split('-')\r\n var pa = a[0].split('.')\r\n var pb = b[0].split('.')\r\n for (var i = 0; i < 3; i++) {\r\n var na = Number(pa[i])\r\n var nb = Number(pb[i])\r\n if (na > nb) return 1\r\n if (nb > na) return -1\r\n if (!isNaN(na) && isNaN(nb)) return 1\r\n if (isNaN(na) && !isNaN(nb)) return -1\r\n }\r\n if (a[1] && b[1]) {\r\n return a[1] > b[1] ? 1 : (a[1] < b[1] ? -1 : 0)\r\n }\r\n return !a[1] && b[1] ? 1 : (a[1] && !b[1] ? -1 : 0)\r\n}","import compare from './tools/semver-compare.js'\r\nimport isObject from './helpers/isObject.js'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\nconst CALLING_CODE_REG_EXP = /^\\d+$/\r\n\r\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\t// The test case could be found by searching for \"nonGeographical\".\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\t// Supports just passing `callingCode` as the first argument.\r\n\t\tif (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\r\n\t\t\tcallingCode = countryCode\r\n\t\t\tcountryCode = null\r\n\t\t}\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\t// In that metadata, there was no concept of \"non-geographic\" metadata\r\n\t\t\t// so metadata for `001` country code was stored along with other countries.\r\n\t\t\t// The test case can be found by searching for:\r\n\t\t\t// \"should work around `nonGeographic` metadata not existing\".\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\treturn this.selectNumberingPlan(callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\t// Is always present.\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\t// Is only present when a country supports multiple IDD prefixes.\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\t// \"possible length\" data is always present in Google's metadata.\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\r\n\t\t\t// when `national_prefix_formatting_rule` is not present.\r\n\t\t\t// So, `true` or `false` are returned explicitly here, so that\r\n\t\t\t// `0` number isn't returned.\r\n\t\t\t? true\r\n\t\t\t: false\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!isObject(metadata) || !isObject(metadata.countries)) {\r\n\t\tthrow new Error(`[libphonenumber-js] \\`metadata\\` argument was passed but it's not a valid metadata. Must be an object having \\`.countries\\` child object property. Got ${isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst typeOf = _ => typeof _\r\n\r\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries.hasOwnProperty(country)\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tconst { version } = metadata\r\n\tif (typeof version === 'number') {\r\n\t\tthis.v1 = version === 1\r\n\t\tthis.v2 = version === 2\r\n\t\tthis.v3 = version === 3\r\n\t\tthis.v4 = version === 4\r\n\t} else {\r\n\t\tif (!version) {\r\n\t\t\tthis.v1 = true\r\n\t\t} else if (compare(version, V3) === -1) {\r\n\t\t\tthis.v2 = true\r\n\t\t} else if (compare(version, V4) === -1) {\r\n\t\t\tthis.v3 = true\r\n\t\t} else {\r\n\t\t\tthis.v4 = true\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }","import { VALID_DIGITS } from '../../constants.js'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\r\nconst getExtensionDigitsPattern = (maxLength) => `([${VALID_DIGITS}]{1,${maxLength}})`\r\n\r\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\r\nexport default function createExtensionPattern(purpose) {\r\n\t// We cap the maximum length of an extension based on the ambiguity of the way\r\n\t// the extension is prefixed. As per ITU, the officially allowed length for\r\n\t// extensions is actually 40, but we don't support this since we haven't seen real\r\n\t// examples and this introduces many false interpretations as the extension labels\r\n\t// are not standardized.\r\n\t/** @type {string} */\r\n\tvar extLimitAfterExplicitLabel = '20';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterLikelyLabel = '15';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterAmbiguousChar = '9';\r\n\t/** @type {string} */\r\n\tvar extLimitWhenNotSure = '6';\r\n\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\u00A0\\\\t,]*\";\r\n\t// Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\r\n\t/** @type {string} */\r\n\tvar possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*\";\r\n\t/** @type {string} */\r\n\tvar optionalExtnSuffix = \"#?\";\r\n\r\n\t// Here the extension is called out in more explicit way, i.e mentioning it obvious\r\n\t// patterns like \"ext.\".\r\n\t/** @type {string} */\r\n\tvar explicitExtLabels =\r\n\t \"(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\r\n\t// One-character symbols that can be used to indicate an extension, and less\r\n\t// commonly used or more ambiguous extension labels.\r\n\t/** @type {string} */\r\n\tvar ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\r\n\t// When extension is not separated clearly.\r\n\t/** @type {string} */\r\n\tvar ambiguousSeparator = \"[- ]+\";\r\n\t// This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\r\n\t// comma as extension label may have it.\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsNumberExtLabelNoComma = \"[ \\u00A0\\\\t]*\";\r\n\t// \",,\" is commonly used for auto dialling the extension when connected. First\r\n\t// comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\r\n\t// not repeat it here. Semi-colon works in Iphone and Android also to pop up a\r\n\t// button with the extension number following.\r\n\t/** @type {string} */\r\n\tvar autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\r\n\r\n\t/** @type {string} */\r\n\tvar rfcExtn = RFC3966_EXTN_PREFIX\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\r\n\t/** @type {string} */\r\n\tvar explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel)\r\n\t + optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t+ getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar americanStyleExtnWithSuffix = ambiguousSeparator\r\n\t+ getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\r\n\r\n\t/** @type {string} */\r\n\tvar autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterLikelyLabel)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + \"(?:,)+\" + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t + optionalExtnSuffix;\r\n\r\n\t// The first regular expression covers RFC 3966 format, where the extension is added\r\n\t// using \";ext=\". The second more generic where extension is mentioned with explicit\r\n\t// labels like \"ext:\". In both the above cases we allow more numbers in extension than\r\n\t// any other extension labels. The third one captures when single character extension\r\n\t// labels or less commonly used labels are used. In such cases we capture fewer\r\n\t// extension digits in order to reduce the chance of falsely interpreting two\r\n\t// numbers beside each other as a number + extension. The fourth one covers the\r\n\t// special case of American numbers where the extension is written with a hash\r\n\t// at the end, such as \"- 503#\". The fifth one is exclusively for extension\r\n\t// autodialling formats which are used when dialling and in this case we accept longer\r\n\t// extensions. The last one is more liberal on the number of commas that acts as\r\n\t// extension labels, so we have a strict cap on the number of digits in such extensions.\r\n\treturn rfcExtn + \"|\"\r\n\t + explicitExtn + \"|\"\r\n\t + ambiguousExtn + \"|\"\r\n\t + americanStyleExtnWithSuffix + \"|\"\r\n\t + autoDiallingExtn + \"|\"\r\n\t + onlyCommasExtn;\r\n}","import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from '../constants.js'\r\n\r\nimport createExtensionPattern from './extension/createExtensionPattern.js'\r\n\r\n// Regular expression of viable phone numbers. This is location independent.\r\n// Checks we have at least three leading digits, and only valid punctuation,\r\n// alpha characters and digits in the phone number. Does not include extension\r\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n// used as a placeholder for carrier codes, for example in Brazilian phone\r\n// numbers. We also allow multiple '+' characters at the start.\r\n//\r\n// Corresponds to the following:\r\n// [digits]{minLengthNsn}|\r\n// plus_sign*\r\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n// The second expression restricts the number of digits to three or more, but\r\n// then allows them to be in international form, and to have alpha-characters\r\n// and punctuation. We split up the two reg-exes here and combine them when\r\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n// with ^ and append $ to each branch.\r\n//\r\n// \"Note VALID_PUNCTUATION starts with a -,\r\n// so must be the first in the range\" (c) Google devs.\r\n// (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nexport const VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// This regular expression isn't present in Google's `libphonenumber`\r\n// and is only used to determine whether the phone number being input\r\n// is too short for it to even consider it a \"valid\" number.\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nconst VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){1,2}' +\r\n\t'$'\r\n, 'i')\r\n\r\nexport const VALID_PHONE_NUMBER_WITH_EXTENSION =\r\n\tVALID_PHONE_NUMBER +\r\n\t// Phone number extensions\r\n\t'(?:' + createExtensionPattern() + ')?'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER_WITH_EXTENSION +\r\n\t'$'\r\n, 'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}\r\n\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nexport function isViablePhoneNumberStart(number) {\r\n\treturn VALID_PHONE_NUMBER_START_REG_EXP.test(number)\r\n}","import createExtensionPattern from './createExtensionPattern.js'\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport default function extractExtension(number) {\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst numberWithoutExtension = number.slice(0, start)\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length) {\r\n\t\tif (matches[i]) {\r\n\t\t\treturn {\r\n\t\t\t\tnumber: numberWithoutExtension,\r\n\t\t\t\text: matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}","// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character) {\r\n\treturn DIGITS[character]\r\n}\r\n\r\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}","import { parseDigit } from './helpers/parseDigits.js'\r\n\r\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (prevParsedCharacters) {\r\n\t\t\t// `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\r\n\t\t\t// Any 3rd-party code that used to `import` and call this function before that\r\n\t\t\t// won't be passing any `emitEvent` argument.\r\n\t\t\t//\r\n\t\t\t// The addition of the `emitEvent` argument was to fix the slightly-weird behavior\r\n\t\t\t// of parsing an input string when the user inputs something like `\"2+7\"\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/437\r\n\t\t\t//\r\n\t\t\t// If the parser encounters an unexpected `+` in a string being parsed\r\n\t\t\t// then it simply discards that out-of-place `+` and any following characters.\r\n\t\t\t//\r\n\t\t\tif (typeof emitEvent === 'function') {\r\n\t\t\t\temitEvent('end')\r\n\t\t\t}\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}","import mergeArrays from './mergeArrays.js'\r\n\r\nexport default function checkNumberLength(nationalNumber, metadata) {\r\n\treturn checkNumberLengthForType(nationalNumber, undefined, metadata)\r\n}\r\n\r\n// Checks whether a number is possible for the country based on its length.\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"\" set for every type element.\r\n\t// This is declared in the XML schema.\r\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\r\n\t// has the same \"\" as the \"general description\", this is missing,\r\n\t// so we fall back to the \"general description\". Where no numbers of the type\r\n\t// exist at all, there is one possible length (-1) which is guaranteed\r\n\t// not to match the length of any real phone number.\r\n\tlet possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths()\r\n\t// let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\r\n\r\n\t// Metadata before version `1.0.18` didn't contain `possible_lengths`.\r\n\tif (!possible_lengths) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\r\n\t\t// No such country in metadata.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (!metadata.type('FIXED_LINE')) {\r\n\t\t\t// The rare case has been encountered where no fixedLine data is available\r\n\t\t\t// (true for some non-geographic entities), so we just check mobile.\r\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata)\r\n\t\t}\r\n\r\n\t\tconst mobile_type = metadata.type('MOBILE')\r\n\t\tif (mobile_type) {\r\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\r\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\r\n\t\t\t// Note that when adding the possible lengths from mobile, we have\r\n\t\t\t// to again check they aren't empty since if they are this indicates\r\n\t\t\t// they are the same as the general desc and should be obtained from there.\r\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths())\r\n\t\t\t// The current list is sorted; we need to merge in the new list and\r\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\r\n\t\t\t// the lists are very small.\r\n\r\n\t\t\t// if (local_lengths) {\r\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\r\n\t\t\t// } else {\r\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\r\n\telse if (type && !type_info) {\r\n\t\treturn 'INVALID_LENGTH'\r\n\t}\r\n\r\n\tconst actual_length = nationalNumber.length\r\n\r\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\r\n\t// // This is safe because there is never an overlap beween the possible lengths\r\n\t// // and the local-only lengths; this is checked at build time.\r\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\r\n\t// {\r\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\r\n\t// }\r\n\r\n\tconst minimum_length = possible_lengths[0]\r\n\r\n\tif (minimum_length === actual_length) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (minimum_length > actual_length) {\r\n\t\treturn 'TOO_SHORT'\r\n\t}\r\n\r\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\r\n\t\treturn 'TOO_LONG'\r\n\t}\r\n\r\n\t// We skip the first element since we've already checked it.\r\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH'\r\n}","/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\r\nexport default function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b) {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}","import Metadata from './metadata.js'\r\nimport checkNumberLength from './helpers/checkNumberLength.js'\r\n\r\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\t// Old metadata (< 1.0.18) had no \"possible length\" data.\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport default function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}","import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES = [\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returns an empty object — `{}` —\r\n\t// that means that the phone number is malformed,\r\n\t// so it can't possibly be valid.\r\n\tif (!input.country && !input.countryCallingCode) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\r\n\t\t// For example, for \"US\" country.\r\n\t\t// Old metadata (< `1.0.18`) had a specific \"types\" data structure\r\n\t\t// that happened to be `undefined` for `MOBILE` in that case.\r\n\t\t// Newer metadata (>= `1.0.18`) has another data structure that is\r\n\t\t// not `undefined` for `MOBILE` in that case (it's just an empty array).\r\n\t\t// So this `if` is just for backwards compatibility with old metadata.\r\n\t\tif (!metadata.type('MOBILE')) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const type of NON_FIXED_LINE_PHONE_TYPES) {\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\r\n\t\t\treturn type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\r\n\ttype = metadata.type(type)\r\n\tif (!type || !type.pattern()) {\r\n\t\treturn false\r\n\t}\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0) {\r\n\t\treturn false\r\n\t}\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}","import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\r\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\tlet possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn []\r\n\t}\r\n\treturn possibleCountries.filter((country) => {\r\n\t\treturn couldNationalNumberBelongToCountry(nationalNumber, country, metadata)\r\n\t})\r\n}\r\n\r\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\t_metadata.selectNumberingPlan(country)\r\n\tif (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\r\n\t\treturn true\r\n\t}\r\n\treturn false\r\n}","import { VALID_PUNCTUATION } from '../constants.js'\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\n// For some reason Google's metadata contains ``s with brackets and dashes.\r\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\r\n//\r\n// For example, Google's `` for USA is `+1 213-373-4253`.\r\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\r\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\r\n//\r\n// \"The country calling code for all countries participating in the NANP is 1.\r\n// In international format, an NANP number should be listed as +1 301 555 01 00,\r\n// where 301 is an area code (Maryland).\"\r\n//\r\n// I personally prefer the international format without any punctuation.\r\n// For example, brackets are remnants of the old age, meaning that the\r\n// phone number part in brackets (so called \"area code\") can be omitted\r\n// if dialing within the same \"area\".\r\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\r\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\r\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\r\n// He has a couple of seconds to memorize that number until it passes by.\r\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\r\n// but with hyphens instead of spaces the grouping is more explicit.\r\n// I personally think that hyphens introduce visual clutter,\r\n// so I prefer replacing them with spaces in international numbers.\r\n// In the modern age all output is done on displays where spaces are clearly distinguishable\r\n// so hyphens can be safely replaced with spaces without losing any legibility.\r\n//\r\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\r\n\treturn formattedNumber.replace(new RegExp(`[${VALID_PUNCTUATION}]+`, 'g'), ' ').trim()\r\n}","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly. Therefore, we use `\\d`, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport const FIRST_GROUP_PATTERN = /(\\$\\d)/\r\n\r\nexport default function formatNationalNumberUsingFormat(\r\n\tnumber,\r\n\tformat,\r\n\t{\r\n\t\tuseInternationalFormat,\r\n\t\twithNationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tmetadata\r\n\t}\r\n) {\r\n\tconst formattedNumber = number.replace(\r\n\t\tnew RegExp(format.pattern()),\r\n\t\tuseInternationalFormat\r\n\t\t\t? format.internationalFormat()\r\n\t\t\t: (\r\n\t\t\t\t// This library doesn't use `domestic_carrier_code_formatting_rule`,\r\n\t\t\t\t// because that one is only used when formatting phone numbers\r\n\t\t\t\t// for dialing from a mobile phone, and this is not a dialing library.\r\n\t\t\t\t// carrierCode && format.domesticCarrierCodeFormattingRule()\r\n\t\t\t\t// \t// First, replace the $CC in the formatting rule with the desired carrier code.\r\n\t\t\t\t// \t// Then, replace the $FG in the formatting rule with the first group\r\n\t\t\t\t// \t// and the carrier code combined in the appropriate way.\r\n\t\t\t\t// \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\r\n\t\t\t\t// \t: (\r\n\t\t\t\t// \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t// \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t// \t\t\t: format.format()\r\n\t\t\t\t// \t)\r\n\t\t\t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t\t: format.format()\r\n\t\t\t)\r\n\t)\r\n\tif (useInternationalFormat) {\r\n\t\treturn applyInternationalSeparatorStyle(formattedNumber)\r\n\t}\r\n\treturn formattedNumber\r\n}","import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\r\nconst SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/\r\n\r\n// For regions that have multiple IDD prefixes\r\n// a preferred IDD prefix is returned.\r\nexport default function getIddPrefix(country, callingCode, metadata) {\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tif (countryMetadata.defaultIDDPrefix()) {\r\n\t\treturn countryMetadata.defaultIDDPrefix()\r\n\t}\r\n\tif (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\r\n\t\treturn countryMetadata.IDDPrefix()\r\n\t}\r\n}\r\n","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'\r\nimport Metadata, { getCountryCallingCode } from './metadata.js'\r\nimport getIddPrefix from './helpers/getIddPrefix.js'\r\nimport { formatRFC3966 } from './helpers/RFC3966.js'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n\tformatExtension: (formattedNumber, extension, metadata) => `${formattedNumber}${metadata.ext()}${extension}`\r\n}\r\n\r\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\nexport default function formatNumber(input, format, options, metadata) {\r\n\t// Apply default options.\r\n\tif (options) {\r\n\t\toptions = { ...DEFAULT_OPTIONS, ...options }\r\n\t} else {\r\n\t\toptions = DEFAULT_OPTIONS\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (input.country && input.country !== '001') {\r\n\t\t// Validate `input.country`.\r\n\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t}\r\n\t\tmetadata.country(input.country)\r\n\t}\r\n\telse if (input.countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t}\r\n\telse return input.phone || ''\r\n\r\n\tconst countryCallingCode = metadata.countryCallingCode()\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// This variable should have been declared inside `case`s\r\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\r\n\tlet number\r\n\r\n\tswitch (format) {\r\n\t\tcase 'NATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options)\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'INTERNATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn `+${countryCallingCode}`\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options)\r\n\t\t\tnumber = `+${countryCallingCode} ${number}`\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'E.164':\r\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\r\n\t\t\treturn `+${countryCallingCode}${nationalNumber}`\r\n\r\n\t\tcase 'RFC3966':\r\n\t\t\treturn formatRFC3966({\r\n\t\t\t\tnumber: `+${countryCallingCode}${nationalNumber}`,\r\n\t\t\t\text: input.ext\r\n\t\t\t})\r\n\r\n\t\t// For reference, here's Google's IDD formatter:\r\n\t\t// https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\r\n\t\t// Not saying that this IDD formatter replicates it 1:1, but it seems to work.\r\n\t\t// Who would even need to format phone numbers in IDD format anyway?\r\n\t\tcase 'IDD':\r\n\t\t\tif (!options.fromCountry) {\r\n\t\t\t\treturn\r\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\r\n\t\t\t}\r\n\t\t\tconst formattedNumber = formatIDD(\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tinput.carrierCode,\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\toptions.fromCountry,\r\n\t\t\t\tmetadata\r\n\t\t\t)\r\n\t\t\treturn addExtension(formattedNumber, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unknown \"format\" argument passed to \"formatNumber()\": \"${format}\"`)\r\n\t}\r\n}\r\n\r\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\r\n\tconst format = chooseFormatForNumber(metadata.formats(), number)\r\n\tif (!format) {\r\n\t\treturn number\r\n\t}\r\n\treturn formatNationalNumberUsingFormat(\r\n\t\tnumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tuseInternationalFormat: formatAs === 'INTERNATIONAL',\r\n\t\t\twithNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && (options && options.nationalPrefix === false) ? false : true,\r\n\t\t\tcarrierCode,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n}\r\n\r\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\r\n\tfor (const format of availableFormats) {\r\n\t\t// Validate leading digits.\r\n\t\t// The test case for \"else path\" could be found by searching for\r\n\t\t// \"format.leadingDigitsPatterns().length === 0\".\r\n\t\tif (format.leadingDigitsPatterns().length > 0) {\r\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\tconst lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]\r\n\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\tif (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check that the national number matches the phone number format regular expression\r\n\t\tif (matchesEntirely(nationalNnumber, format.pattern())) {\r\n\t\t\treturn format\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\r\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber\r\n}\r\n\r\nfunction formatIDD(\r\n\tnationalNumber,\r\n\tcarrierCode,\r\n\tcountryCallingCode,\r\n\tfromCountry,\r\n\tmetadata\r\n) {\r\n\tconst fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata)\r\n\t// When calling within the same country calling code.\r\n\tif (fromCountryCallingCode === countryCallingCode) {\r\n\t\tconst formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata)\r\n\t\t// For NANPA regions, return the national format for these regions\r\n\t\t// but prefix it with the country calling code.\r\n\t\tif (countryCallingCode === '1') {\r\n\t\t\treturn countryCallingCode + ' ' + formattedNumber\r\n\t\t}\r\n\t\t// If regions share a country calling code, the country calling code need\r\n\t\t// not be dialled. This also applies when dialling within a region, so this\r\n\t\t// if clause covers both these cases. Technically this is the case for\r\n\t\t// dialling from La Reunion to other overseas departments of France (French\r\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\r\n\t\t// this edge case for now and for those cases return the version including\r\n\t\t// country calling code. Details here:\r\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\r\n\t\t//\r\n\t\treturn formattedNumber\r\n\t}\r\n\tconst iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata)\r\n\tif (iddPrefix) {\r\n\t\treturn `${iddPrefix} ${countryCallingCode} ${formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata)}`\r\n\t}\r\n}","import isViablePhoneNumber from './isViablePhoneNumber.js'\r\n\r\n// https://www.ietf.org/rfc/rfc3966.txt\r\n\r\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nexport function parseRFC3966(text) {\r\n\tlet number\r\n\tlet ext\r\n\r\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\r\n\ttext = text.replace(/^tel:/, 'tel=')\r\n\r\n\tfor (const part of text.split(';')) {\r\n\t\tconst [name, value] = part.split('=')\r\n\t\tswitch (name) {\r\n\t\t\tcase 'tel':\r\n\t\t\t\tnumber = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ext':\r\n\t\t\t\text = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'phone-context':\r\n\t\t\t\t// Only \"country contexts\" are supported.\r\n\t\t\t\t// \"Domain contexts\" are ignored.\r\n\t\t\t\tif (value[0] === '+') {\r\n\t\t\t\t\tnumber = value + number\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst result = { number }\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\r\nexport function formatRFC3966({ number, ext }) {\r\n\tif (!number) {\r\n\t\treturn ''\r\n\t}\r\n\tif (number[0] !== '+') {\r\n\t\tthrow new Error(`\"formatRFC3966()\" expects \"number\" to be in E.164 format.`)\r\n\t}\r\n\treturn `tel:${number}${ext ? ';ext=' + ext : ''}`\r\n}","import Metadata from './metadata.js'\r\nimport isPossibleNumber from './isPossible.js'\r\nimport isValidNumber from './isValid.js'\r\n// import checkNumberLength from './helpers/checkNumberLength.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js'\r\nimport formatNumber from './format.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class PhoneNumber {\r\n\t/**\r\n\t * @param {string} countryOrCountryCallingCode\r\n\t * @param {string} nationalNumber\r\n\t * @param {object} metadata — Metadata JSON\r\n\t * @return {PhoneNumber}\r\n\t */\r\n\tconstructor(countryOrCountryCallingCode, nationalNumber, metadata) {\r\n\t\tif (!countryOrCountryCallingCode) {\r\n\t\t\tthrow new TypeError('`country` or `countryCallingCode` not passed')\r\n\t\t}\r\n\t\tif (!nationalNumber) {\r\n\t\t\tthrow new TypeError('`nationalNumber` not passed')\r\n\t\t}\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new TypeError('`metadata` not passed')\r\n\t\t}\r\n\t\tconst { country, countryCallingCode } = getCountryAndCountryCallingCode(\r\n\t\t\tcountryOrCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tthis.country = country\r\n\t\tthis.countryCallingCode = countryCallingCode\r\n\t\tthis.nationalNumber = nationalNumber\r\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber\r\n\t\t// Exclude `metadata` property output from `PhoneNumber.toString()`\r\n\t\t// so that it doesn't clutter the console output of Node.js.\r\n\t\t// Previously, when Node.js did `console.log(new PhoneNumber(...))`,\r\n\t\t// it would output the whole internal structure of the `metadata` object.\r\n\t\tthis.getMetadata = () => metadata\r\n\t}\r\n\r\n\tsetExt(ext) {\r\n\t\tthis.ext = ext\r\n\t}\r\n\r\n\tgetPossibleCountries() {\r\n\t\tif (this.country) {\r\n\t\t\treturn [this.country]\r\n\t\t}\r\n\t\treturn getPossibleCountriesForNumber(\r\n\t\t\tthis.countryCallingCode,\r\n\t\t\tthis.nationalNumber,\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tisPossible() {\r\n\t\treturn isPossibleNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisValid() {\r\n\t\treturn isValidNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisNonGeographic() {\r\n\t\tconst metadata = new Metadata(this.getMetadata())\r\n\t\treturn metadata.isNonGeographicCallingCode(this.countryCallingCode)\r\n\t}\r\n\r\n\tisEqual(phoneNumber) {\r\n\t\treturn this.number === phoneNumber.number && this.ext === phoneNumber.ext\r\n\t}\r\n\r\n\t// This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\r\n\t// but later it was found out that it doesn't include the possible `TOO_SHORT` result\r\n\t// returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\r\n\t// so eventually I simply commented out this method from the `PhoneNumber` class\r\n\t// and just left the `validatePhoneNumberLength()` function, even though that one would require\r\n\t// and additional step to also validate the actual country / calling code of the phone number.\r\n\t// validateLength() {\r\n\t// \tconst metadata = new Metadata(this.getMetadata())\r\n\t// \tmetadata.selectNumberingPlan(this.countryCallingCode)\r\n\t// \tconst result = checkNumberLength(this.nationalNumber, metadata)\r\n\t// \tif (result !== 'IS_POSSIBLE') {\r\n\t// \t\treturn result\r\n\t// \t}\r\n\t// }\r\n\r\n\tgetType() {\r\n\t\treturn getNumberType(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tformat(format, options) {\r\n\t\treturn formatNumber(\r\n\t\t\tthis,\r\n\t\t\tformat,\r\n\t\t\toptions ? { ...options, v2: true } : { v2: true },\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tformatNational(options) {\r\n\t\treturn this.format('NATIONAL', options)\r\n\t}\r\n\r\n\tformatInternational(options) {\r\n\t\treturn this.format('INTERNATIONAL', options)\r\n\t}\r\n\r\n\tgetURI(options) {\r\n\t\treturn this.format('RFC3966', options)\r\n\t}\r\n}\r\n\r\nconst isCountryCode = (value) => /^[A-Z]{2}$/.test(value)\r\n\r\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\r\n\tlet country\r\n\tlet countryCallingCode\r\n\r\n\tconst metadata = new Metadata(metadataJson)\r\n\t// If country code is passed then derive `countryCallingCode` from it.\r\n\t// Also store the country code as `.country`.\r\n\tif (isCountryCode(countryOrCountryCallingCode)) {\r\n\t\tcountry = countryOrCountryCallingCode\r\n\t\tmetadata.selectNumberingPlan(country)\r\n\t\tcountryCallingCode = metadata.countryCallingCode()\r\n\t} else {\r\n\t\tcountryCallingCode = countryOrCountryCallingCode\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tif (metadata.isNonGeographicCallingCode(countryCallingCode)) {\r\n\t\t\t\tcountry = '001'\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode\r\n\t}\r\n}","import Metadata from './metadata.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\n\r\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\r\nexport default function isValidNumber(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\t// By default, countries only have type regexps when it's required for\r\n\t// distinguishing different countries having the same `countryCallingCode`.\r\n\tif (metadata.hasTypes()) {\r\n\t\treturn getNumberType(input, options, metadata.metadata) !== undefined\r\n\t}\r\n\r\n\t// If there are no type regexps for this country in metadata then use\r\n\t// `nationalNumberPattern` as a \"better than nothing\" replacement.\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\treturn matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n}","import Metadata from '../metadata.js'\r\nimport { VALID_DIGITS } from '../constants.js'\r\n\r\nconst CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')\r\n\r\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\t// Check if the number is IDD-prefixed.\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tconst IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix())\r\n\tif (number.search(IDDPrefixPattern) !== 0) {\r\n\t\treturn\r\n\t}\r\n\t// Strip IDD prefix.\r\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length)\r\n\t// If there're any digits after an IDD prefix,\r\n\t// then those digits are a country calling code.\r\n\t// Since no country code starts with a `0`,\r\n\t// the code below validates that the next digit (if present) is not `0`.\r\n\tconst matchedGroups = number.match(CAPTURING_DIGIT_PATTERN)\r\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\r\n\t\tif (matchedGroups[1] === '0') {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\r\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\r\n\tif (number && metadata.numberingPlan.nationalPrefixForParsing()) {\r\n\t\t// See METADATA.md for the description of\r\n\t\t// `national_prefix_for_parsing` and `national_prefix_transform_rule`.\r\n\t\t// Attempt to parse the first digits as a national prefix.\r\n\t\tconst prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')')\r\n\t\tconst prefixMatch = prefixPattern.exec(number)\r\n\t\tif (prefixMatch) {\r\n\t\t\tlet nationalNumber\r\n\t\t\tlet carrierCode\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\t\t// If a `national_prefix_for_parsing` has any \"capturing groups\"\r\n\t\t\t// then it means that the national (significant) number is equal to\r\n\t\t\t// those \"capturing groups\" transformed via `national_prefix_transform_rule`,\r\n\t\t\t// and nothing could be said about the actual national prefix:\r\n\t\t\t// what is it and was it even there.\r\n\t\t\t// If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\r\n\t\t\t// then everything it matches is a national prefix.\r\n\t\t\t// To determine whether `national_prefix_for_parsing` matched any\r\n\t\t\t// \"capturing groups\", the value of the result of calling `.exec()`\r\n\t\t\t// is looked at, and if it has non-undefined values where there're\r\n\t\t\t// \"capturing groups\" in the regular expression, then it means\r\n\t\t\t// that \"capturing groups\" have been matched.\r\n\t\t\t// It's not possible to tell whether there'll be any \"capturing gropus\"\r\n\t\t\t// before the matching process, because a `national_prefix_for_parsing`\r\n\t\t\t// could exhibit both behaviors.\r\n\t\t\tconst capturedGroupsCount = prefixMatch.length - 1\r\n\t\t\tconst hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount]\r\n\t\t\tif (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\r\n\t\t\t\tnationalNumber = number.replace(\r\n\t\t\t\t\tprefixPattern,\r\n\t\t\t\t\tmetadata.nationalPrefixTransformRule()\r\n\t\t\t\t)\r\n\t\t\t\t// If there's more than one captured group,\r\n\t\t\t\t// then carrier code is the second one.\r\n\t\t\t\tif (capturedGroupsCount > 1) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If there're no \"capturing groups\",\r\n\t\t\t// or if there're \"capturing groups\" but no\r\n\t\t\t// `national_prefix_transform_rule`,\r\n\t\t\t// then just strip the national prefix from the number,\r\n\t\t\t// and possibly a carrier code.\r\n\t\t\t// Seems like there could be more.\r\n\t\t\telse {\r\n\t\t\t\t// `prefixBeforeNationalNumber` is the whole substring matched by\r\n\t\t\t\t// the `national_prefix_for_parsing` regular expression.\r\n\t\t\t\t// There seem to be no guarantees that it's just a national prefix.\r\n\t\t\t\t// For example, if there's a carrier code, it's gonna be a\r\n\t\t\t\t// part of `prefixBeforeNationalNumber` too.\r\n\t\t\t\tconst prefixBeforeNationalNumber = prefixMatch[0]\r\n\t\t\t\tnationalNumber = number.slice(prefixBeforeNationalNumber.length)\r\n\t\t\t\t// If there's at least one captured group,\r\n\t\t\t\t// then carrier code is the first one.\r\n\t\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Tries to guess whether a national prefix was present in the input.\r\n\t\t\t// This is not something copy-pasted from Google's library:\r\n\t\t\t// they don't seem to have an equivalent for that.\r\n\t\t\t// So this isn't an \"officially approved\" way of doing something like that.\r\n\t\t\t// But since there seems no other existing method, this library uses it.\r\n\t\t\tlet nationalPrefix\r\n\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\tconst possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1])\r\n\t\t\t\tconst possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup)\r\n\t\t\t\t// Example: an Argentinian (AR) phone number `0111523456789`.\r\n\t\t\t\t// `prefixMatch[0]` is `01115`, and `$1` is `11`,\r\n\t\t\t\t// and the rest of the phone number is `23456789`.\r\n\t\t\t\t// The national number is transformed via `9$1` to `91123456789`.\r\n\t\t\t\t// National prefix `0` is detected being present at the start.\r\n\t\t\t\t// if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\r\n\t\t\t\tif (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\r\n\t\t\t\t\tnationalPrefix = metadata.numberingPlan.nationalPrefix()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnationalPrefix = prefixMatch[0]\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tnationalPrefix,\r\n\t\t\t\tcarrierCode\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n return {\r\n \tnationalNumber: number\r\n }\r\n}","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\n\r\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumber(number, metadata) {\r\n\t// Parsing national prefixes and carrier codes\r\n\t// is only required for local phone numbers\r\n\t// but some people don't understand that\r\n\t// and sometimes write international phone numbers\r\n\t// with national prefixes (or maybe even carrier codes).\r\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\r\n\t// Google's original library forgives such mistakes\r\n\t// and so does this library, because it has been requested:\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\r\n\tconst {\r\n\t\tcarrierCode,\r\n\t\tnationalNumber\r\n\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\tnumber,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (nationalNumber !== number) {\r\n\t\tif (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\r\n\t\t\t// Don't strip the national prefix.\r\n\t\t\treturn { nationalNumber: number }\r\n\t\t}\r\n\t\t// Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t\t// Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\r\n\t\tif (metadata.possibleLengths()) {\r\n\t\t\t// The number remaining after stripping the national prefix and carrier code\r\n\t\t\t// should be long enough to have a possible length for the country.\r\n\t\t\t// Otherwise, don't strip the national prefix and carrier code,\r\n\t\t\t// since the original number could be a valid number.\r\n\t\t\t// This check has been copy-pasted \"as is\" from Google's original library:\r\n\t\t\t// https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\r\n\t\t\t// It doesn't check for the \"possibility\" of the original `number`.\r\n\t\t\t// I guess it's fine not checking that one. It works as is anyway.\r\n\t\t\tif (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\r\n\t\t\t\t// Don't strip the national prefix.\r\n\t\t\t\treturn { nationalNumber: number }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { nationalNumber, carrierCode }\r\n}\r\n\r\n// In some countries, the same digit could be a national prefix\r\n// or a leading digit of a valid phone number.\r\n// For example, in Russia, national prefix is `8`,\r\n// and also `800 555 35 35` is a valid number\r\n// in which `8` is not a national prefix, but the first digit\r\n// of a national (significant) number.\r\n// Same's with Belarus:\r\n// `82004910060` is a valid national (significant) number,\r\n// but `2004910060` is not.\r\n// To support such cases (to prevent the code from always stripping\r\n// national prefix), a condition is imposed: a national prefix\r\n// is not extracted when the original number is \"viable\" and the\r\n// resultant number is not, a \"viable\" national number being the one\r\n// that matches `national_number_pattern`.\r\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\r\n\t// The equivalent in Google's code is:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\r\n\tif (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) &&\r\n\t\t!matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\r\n\t\treturn false\r\n\t}\r\n\t// This \"is possible\" national number (length) check has been commented out\r\n\t// because it's superceded by the (effectively) same check done in the\r\n\t// `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\r\n\t// In other words, why run the same check twice if it could only be run once.\r\n\t// // Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t// // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\r\n\t// // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\r\n\t// if (metadata.possibleLengths()) {\r\n\t// \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\r\n\t// \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\r\n\t// \t\treturn false\r\n\t// \t}\r\n\t// }\r\n\treturn true\r\n}\r\n\r\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'TOO_SHORT':\r\n\t\tcase 'INVALID_LENGTH':\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t\treturn false\r\n\t\tdefault:\r\n\t\t\treturn true\r\n\t}\r\n}","import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport extractNationalNumber from './extractNationalNumber.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\nimport getCountryCallingCode from '../getCountryCallingCode.js'\r\n\r\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\r\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tconst countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode\r\n\tif (number.indexOf(countryCallingCode) === 0) {\r\n\t\tmetadata = new Metadata(metadata)\r\n\t\tmetadata.selectNumberingPlan(country, callingCode)\r\n\t\tconst possibleShorterNumber = number.slice(countryCallingCode.length)\r\n\t\tconst {\r\n\t\t\tnationalNumber: possibleShorterNationalNumber,\r\n\t\t} = extractNationalNumber(\r\n\t\t\tpossibleShorterNumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tconst {\r\n\t\t\tnationalNumber\r\n\t\t} = extractNationalNumber(\r\n\t\t\tnumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\t// If the number was not valid before but is valid now,\r\n\t\t// or if it was too long before, we consider the number\r\n\t\t// with the country calling code stripped to be a better result\r\n\t\t// and keep that instead.\r\n\t\t// For example, in Germany (+49), `49` is a valid area code,\r\n\t\t// so if a number starts with `49`, it could be both a valid\r\n\t\t// national German number or an international number without\r\n\t\t// a leading `+`.\r\n\t\tif (\r\n\t\t\t(\r\n\t\t\t\t!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t\t&&\r\n\t\t\t\tmatchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t)\r\n\t\t\t||\r\n\t\t\tcheckNumberLength(nationalNumber, metadata) === 'TOO_LONG'\r\n\t\t) {\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: possibleShorterNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { number }\r\n}","import stripIddPrefix from './stripIddPrefix.js'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'\r\nimport Metadata from '../metadata.js'\r\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js'\r\n\r\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\r\nexport default function extractCountryCallingCode(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tlet isNumberWithIddPrefix\r\n\r\n\t// If this is not an international phone number,\r\n\t// then either extract an \"IDD\" prefix, or extract a\r\n\t// country calling code from a number by autocorrecting it\r\n\t// by prepending a leading `+` in cases when it starts\r\n\t// with the country calling code.\r\n\t// https://wikitravel.org/en/International_dialling_prefix\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\tif (number[0] !== '+') {\r\n\t\t// Convert an \"out-of-country\" dialing phone number\r\n\t\t// to a proper international phone number.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata)\r\n\t\t// If an IDD prefix was stripped then\r\n\t\t// convert the number to international one\r\n\t\t// for subsequent parsing.\r\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\r\n\t\t\tisNumberWithIddPrefix = true\r\n\t\t\tnumber = '+' + numberWithoutIDD\r\n\t\t} else {\r\n\t\t\t// Check to see if the number starts with the country calling code\r\n\t\t\t// for the default country. If so, we remove the country calling code,\r\n\t\t\t// and do some checks on the validity of the number before and after.\r\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\t\tnumber,\r\n\t\t\t\t\tcountry,\r\n\t\t\t\t\tcallingCode,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t)\r\n\t\t\t\tif (countryCallingCode) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tcountryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\r\n\t\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t// No need to set it to `UNSPECIFIED`. It can be just `undefined`.\r\n\t\t\t\t// countryCallingCodeSource: 'UNSPECIFIED',\r\n\t\t\t\tnumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[1] === '0') {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tlet i = 2\r\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tconst countryCallingCode = number.slice(1, i)\r\n\t\tif (metadata.hasCallingCode(countryCallingCode)) {\r\n\t\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: number.slice(i)\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\r\n\treturn {}\r\n}\r\n\r\n// The possible values for the returned `countryCallingCodeSource` are:\r\n//\r\n// Copy-pasted from:\r\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\r\n//\r\n// // The source from which the country_code is derived. This is not set in the\r\n// // general parsing method, but in the method that parses and keeps raw_input.\r\n// // New fields could be added upon request.\r\n// enum CountryCodeSource {\r\n// // Default value returned if this is not set, because the phone number was\r\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\r\n// // return false if this is the case.\r\n// UNSPECIFIED = 0;\r\n//\r\n// // The country_code is derived based on a phone number with a leading \"+\",\r\n// // e.g. the French number \"+33 1 42 68 53 00\".\r\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\r\n//\r\n// // The country_code is derived based on a phone number with a leading IDD,\r\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\r\n// FROM_NUMBER_WITH_IDD = 5;\r\n//\r\n// // The country_code is derived based on a phone number without a leading\r\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\r\n// // supplied as France.\r\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\r\n//\r\n// // The country_code is derived NOT based on the phone number itself, but\r\n// // from the defaultCountry parameter provided in the parsing function by the\r\n// // clients. This happens mostly for numbers written in the national format\r\n// // (without country code). For example, this would be set when parsing the\r\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\r\n// // France.\r\n// FROM_DEFAULT_COUNTRY = 20;\r\n// }","import Metadata from '../metadata.js'\r\nimport getNumberType from './getNumberType.js'\r\n\r\nexport default function getCountryByNationalNumber(nationalPhoneNumber, {\r\n\tcountries,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t// Re-create `metadata` because it will be selecting a `country`.\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// const matchingCountries = []\r\n\r\n\tfor (const country of countries) {\r\n\t\tmetadata.country(country)\r\n\t\t// \"Leading digits\" patterns are only defined for about 20% of all countries.\r\n\t\t// By definition, matching \"leading digits\" is a sufficient but not a necessary\r\n\t\t// condition for a phone number to belong to a country.\r\n\t\t// The point of \"leading digits\" check is that it's the fastest one to get a match.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t\t// I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\r\n\t\t// because of the intended use of that feature.\r\n\t\tif (metadata.leadingDigits()) {\r\n\t\t\tif (nationalPhoneNumber &&\r\n\t\t\t\tnationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Else perform full validation with all of those\r\n\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\telse if (getNumberType({ phone: nationalPhoneNumber, country }, undefined, metadata.metadata)) {\r\n\t\t\t// If both the `defaultCountry` and the \"main\" one match the phone number,\r\n\t\t\t// don't prefer the `defaultCountry` over the \"main\" one.\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/154\r\n\t\t\treturn country\r\n\t\t\t// // If the `defaultCountry` is among the `matchingCountries` then return it.\r\n\t\t\t// if (defaultCountry) {\r\n\t\t\t// \tif (country === defaultCountry) {\r\n\t\t\t// \t\treturn country\r\n\t\t\t// \t}\r\n\t\t\t// \tmatchingCountries.push(country)\r\n\t\t\t// } else {\r\n\t\t\t// \treturn country\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\r\n\t// // Return the first (\"main\") one of the `matchingCountries`.\r\n\t// if (matchingCountries.length > 0) {\r\n\t// \treturn matchingCountries[0]\r\n\t// }\r\n}","import getCountryByNationalNumber from './getCountryByNationalNumber.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default function getCountryByCallingCode(callingCode, {\r\n\tnationalNumber: nationalPhoneNumber,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t/* istanbul ignore if */\r\n\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\tif (metadata.isNonGeographicCallingCode(callingCode)) {\r\n\t\t\treturn '001'\r\n\t\t}\r\n\t}\r\n\tconst possibleCountries = metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn\r\n\t}\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possibleCountries.length === 1) {\r\n\t\treturn possibleCountries[0]\r\n\t}\r\n\treturn getCountryByNationalNumber(nationalPhoneNumber, {\r\n\t\tcountries: possibleCountries,\r\n\t\tdefaultCountry,\r\n\t\tmetadata: metadata.metadata\r\n\t})\r\n}","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\r\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\r\n// Example: `\"tel:12133734253;phone-context=+1\"`.\r\n// This function parses the full phone number from the local number and the `phone-context`\r\n// when the `phone-context` contains a `+` sign.\r\n\r\nimport {\r\n VALID_DIGITS,\r\n // PLUS_CHARS\r\n} from '../constants.js'\r\n\r\nexport const PLUS_SIGN = '+'\r\n\r\nconst RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?'\r\n\r\nconst RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')'\r\n\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_ =\r\n\t'^' +\r\n\t'\\\\' +\r\n\tPLUS_SIGN +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'[' + VALID_DIGITS + ']' +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'$'\r\n\r\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g')\r\n\r\n// In this port of Google's library, we don't accept alpha characters in phone numbers.\r\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\r\nconst ALPHANUM_ = VALID_DIGITS\r\n\r\nconst RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst VALID_ALPHA_ = 'a-zA-Z'\r\nconst RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$'\r\n\r\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g')\r\n\r\nexport const RFC3966_PREFIX_ = 'tel:'\r\nexport const RFC3966_PHONE_CONTEXT_ = ';phone-context='\r\nexport const RFC3966_ISDN_SUBADDRESS_ = ';isub='\r\n\r\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\r\nexport default function extractPhoneContext(numberToExtractFrom) {\r\n\tconst indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t// If no phone-context parameter is present\r\n\tif (indexOfPhoneContext < 0) {\r\n\t\treturn null\r\n\t}\r\n\r\n\tconst phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length\r\n\t// If phone-context parameter is empty\r\n\tif (phoneContextStart >= numberToExtractFrom.length) {\r\n\t\treturn ''\r\n\t}\r\n\r\n\tconst phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart)\r\n\t// If phone-context is not the last parameter\r\n\tif (phoneContextEnd >= 0) {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart, phoneContextEnd)\r\n\t} else {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart)\r\n\t}\r\n}\r\n\r\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\r\nexport function isPhoneContextValid(phoneContext) {\r\n\tif (phoneContext === null) {\r\n\t\treturn true\r\n\t}\r\n\r\n\tif (phoneContext.length === 0) {\r\n\t\treturn false\r\n\t}\r\n\r\n\t// Does phone-context value match pattern of global-number-digits or domainname.\r\n\treturn RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) ||\r\n\t\tRFC3966_DOMAINNAME_PATTERN_.test(phoneContext)\r\n}","import extractPhoneContext, {\r\n\tisPhoneContextValid,\r\n\tPLUS_SIGN,\r\n\tRFC3966_PREFIX_,\r\n\tRFC3966_PHONE_CONTEXT_,\r\n\tRFC3966_ISDN_SUBADDRESS_\r\n} from './extractPhoneContext.js'\r\n\r\nimport ParseError from '../ParseError.js'\r\n\r\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\r\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, {\r\n\textractFormattedPhoneNumber\r\n}) {\r\n\tconst phoneContext = extractPhoneContext(numberToParse)\r\n\tif (!isPhoneContextValid(phoneContext)) {\r\n\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t}\r\n\r\n\tlet phoneNumberString\r\n\r\n\tif (phoneContext === null) {\r\n\t\t// Extract a possible number from the string passed in.\r\n\t\t// (this strips leading characters that could not be the start of a phone number)\r\n\t\tphoneNumberString = extractFormattedPhoneNumber(numberToParse) || ''\r\n\t} else {\r\n\t\tphoneNumberString = ''\r\n\r\n\t\t// If the phone context contains a phone number prefix, we need to capture\r\n\t\t// it, whereas domains will be ignored.\r\n\t\tif (phoneContext.charAt(0) === PLUS_SIGN) {\r\n\t\t\tphoneNumberString += phoneContext\r\n\t\t}\r\n\r\n\t\t// Now append everything between the \"tel:\" prefix and the phone-context.\r\n\t\t// This should include the national number, an optional extension or\r\n\t\t// isdn-subaddress component. Note we also handle the case when \"tel:\" is\r\n\t\t// missing, as we have seen in some of the phone number inputs.\r\n\t\t// In that case, we append everything from the beginning.\r\n\t\tconst indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_)\r\n\t\tlet indexOfNationalNumber\r\n\t\t// RFC 3966 \"tel:\" prefix is preset at this stage because\r\n\t\t// `isPhoneContextValid()` requires it to be present.\r\n\t\t/* istanbul ignore else */\r\n\t\tif (indexOfRfc3966Prefix >= 0) {\r\n\t\t\tindexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length\r\n\t\t} else {\r\n\t\t\tindexOfNationalNumber = 0\r\n\t\t}\r\n\t\tconst indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t\tphoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext)\r\n\t}\r\n\r\n\t// Delete the isdn-subaddress and everything after it if it is present.\r\n\t// Note extension won't appear at the same time with isdn-subaddress\r\n\t// according to paragraph 5.3 of the RFC3966 spec.\r\n\tconst indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_)\r\n\tif (indexOfIsdn > 0) {\r\n\t\tphoneNumberString = phoneNumberString.substring(0, indexOfIsdn)\r\n\t}\r\n\t// If both phone context and isdn-subaddress are absent but other\r\n\t// parameters are present, the parameters are left in nationalNumber.\r\n\t// This is because we are concerned about deleting content from a potential\r\n\t// number string when there is no strong evidence that the number is\r\n\t// actually written in RFC3966.\r\n\r\n\tif (phoneNumberString !== '') {\r\n\t\treturn phoneNumberString\r\n\t}\r\n}","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tPLUS_CHARS,\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tMAX_LENGTH_FOR_NSN\r\n} from './constants.js'\r\n\r\nimport ParseError from './ParseError.js'\r\nimport Metadata from './metadata.js'\r\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js'\r\nimport extractExtension from './helpers/extension/extractExtension.js'\r\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js'\r\nimport getCountryCallingCode from './getCountryCallingCode.js'\r\nimport { isPossibleNumber } from './isPossible.js'\r\n// import { parseRFC3966 } from './helpers/RFC3966.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js'\r\nimport extractNationalNumber from './helpers/extractNationalNumber.js'\r\nimport stripIddPrefix from './helpers/stripIddPrefix.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nconst MAX_INPUT_STRING_LENGTH = 250\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nconst PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']')\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\r\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\r\nconst AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\n// Examples:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\n\r\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\r\nexport default function parse(text, options, metadata) {\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// Validate `defaultCountry`.\r\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\tthrow new Error(`Unknown country: ${options.defaultCountry}`)\r\n\t}\r\n\r\n\t// Parse the phone number.\r\n\tconst { number: formattedPhoneNumber, ext, error } = parseInput(text, options.v2, options.extract)\r\n\r\n\t// If the phone number is not viable then return nothing.\r\n\tif (!formattedPhoneNumber) {\r\n\t\tif (options.v2) {\r\n\t\t\tif (error === 'TOO_SHORT') {\r\n\t\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t\t}\r\n\t\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tnationalNumber,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tcarrierCode\r\n\t} = parsePhoneNumber(\r\n\t\tformattedPhoneNumber,\r\n\t\toptions.defaultCountry,\r\n\t\toptions.defaultCallingCode,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (!metadata.hasSelectedNumberingPlan()) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\tif (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\r\n\t\t// Won't throw here because the regexp already demands length > 1.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\tif (options.v2) {\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCallingCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tmetadata.metadata\r\n\t\t)\r\n\t\tif (country) {\r\n\t\t\tphoneNumber.country = country\r\n\t\t}\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\tif (ext) {\r\n\t\t\tphoneNumber.ext = ext\r\n\t\t}\r\n\t\tphoneNumber.__countryCallingCodeSource = countryCallingCodeSource\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t// Check if national phone number pattern matches the number.\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tconst valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ?\r\n\t\tmatchesEntirely(nationalNumber, metadata.nationalNumberPattern()) :\r\n\t\tfalse\r\n\r\n\tif (!options.extended) {\r\n\t\treturn valid ? result(country, nationalNumber, ext) : {}\r\n\t}\r\n\r\n\t// isInternational: countryCallingCode !== undefined\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode,\r\n\t\tvalid,\r\n\t\tpossible: valid ? true : (\r\n\t\t\toptions.extended === true &&\r\n\t\t\tmetadata.possibleLengths() &&\r\n\t\t\tisPossibleNumber(nationalNumber, metadata) ? true : false\r\n\t\t),\r\n\t\tphone: nationalNumber,\r\n\t\text\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\r\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\r\n\tif (!text) {\r\n\t\treturn\r\n\t}\r\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\tif (throwOnError) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\tif (extract === false) {\r\n\t\treturn text\r\n\t}\r\n\t// Attempt to extract a possible number from the string passed in\r\n\tconst startsAt = text.search(PHONE_NUMBER_START_PATTERN)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\treturn text\r\n\t\t// Trim everything to the left of the phone number\r\n\t\t.slice(startsAt)\r\n\t\t// Remove trailing non-numerical characters\r\n\t\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '')\r\n}\r\n\r\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nfunction parseInput(text, v2, extract) {\r\n\t// // Parse RFC 3966 phone number URI.\r\n\t// if (text && text.indexOf('tel:') === 0) {\r\n\t// \treturn parseRFC3966(text)\r\n\t// }\r\n\t// let number = extractFormattedPhoneNumber(text, extract, v2)\r\n\tlet number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\r\n\t\textractFormattedPhoneNumber: (text) => extractFormattedPhoneNumber(text, extract, v2)\r\n\t})\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\tif (isViablePhoneNumberStart(number)) {\r\n\t\t\treturn { error: 'TOO_SHORT' }\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\t// Attempt to parse extension first, since it doesn't require region-specific\r\n\t// data and we want to have the non-normalised number here.\r\n\tconst withExtensionStripped = extractExtension(number)\r\n\tif (withExtensionStripped.ext) {\r\n\t\treturn withExtensionStripped\r\n\t}\r\n\treturn { number }\r\n}\r\n\r\n/**\r\n * Creates `parse()` result object.\r\n */\r\nfunction result(country, nationalNumber, ext) {\r\n\tconst result = {\r\n\t\tcountry,\r\n\t\tphone: nationalNumber\r\n\t}\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\r\nfunction parsePhoneNumber(\r\n\tformattedPhoneNumber,\r\n\tdefaultCountry,\r\n\tdefaultCallingCode,\r\n\tmetadata\r\n) {\r\n\t// Extract calling code from phone number.\r\n\tlet { countryCallingCodeSource, countryCallingCode, number } = extractCountryCallingCode(\r\n\t\tparseIncompletePhoneNumber(formattedPhoneNumber),\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata.metadata\r\n\t)\r\n\r\n\t// Choose a country by `countryCallingCode`.\r\n\tlet country\r\n\tif (countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t}\r\n\t// If `formattedPhoneNumber` is passed in \"national\" format\r\n\t// then `number` is defined and `countryCallingCode` is `undefined`.\r\n\telse if (number && (defaultCountry || defaultCallingCode)) {\r\n\t\tmetadata.selectNumberingPlan(defaultCountry, defaultCallingCode)\r\n\t\tif (defaultCountry) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tcountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcountryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata)\r\n\t}\r\n\telse return {}\r\n\r\n\tif (!number) {\r\n\t\treturn {\r\n\t\t\tcountryCallingCodeSource,\r\n\t\t\tcountryCallingCode\r\n\t\t}\r\n\t}\r\n\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumber(\r\n\t\tparseIncompletePhoneNumber(number),\r\n\t\tmetadata\r\n\t)\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t// get their countries populated with the full set of\r\n\t// \"phone number type\" regular expressions.\r\n\t//\r\n\tconst exactCountry = getCountryByCallingCode(countryCallingCode, {\r\n\t\tnationalNumber,\r\n\t\tdefaultCountry,\r\n\t\tmetadata\r\n\t})\r\n\tif (exactCountry) {\r\n\t\tcountry = exactCountry\r\n\t\t/* istanbul ignore if */\r\n\t\tif (exactCountry === '001') {\r\n\t\t\t// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\r\n\t\t\t// If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\r\n\t\t\t// then remove the \"istanbul ignore if\".\r\n\t\t} else {\r\n\t\t\tmetadata.country(country)\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t}\r\n}","import parsePhoneNumberWithError from './parsePhoneNumberWithError_.js'\r\nimport ParseError from './ParseError.js'\r\nimport { isSupportedCountry } from './metadata.js'\r\n\r\nexport default function parsePhoneNumber(text, options, metadata) {\r\n\t// Validate `defaultCountry`.\r\n\tif (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\r\n\t\toptions = {\r\n\t\t\t...options,\r\n\t\t\tdefaultCountry: undefined\r\n\t\t}\r\n\t}\r\n\t// Parse phone number.\r\n\ttry {\r\n\t\treturn parsePhoneNumberWithError(text, options, metadata)\r\n\t} catch (error) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (error instanceof ParseError) {\r\n\t\t\t//\r\n\t\t} else {\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}\r\n}\r\n","import parse from './parse.js'\r\n\r\nexport default function parsePhoneNumberWithError(text, options, metadata) {\r\n\treturn parse(text, { ...options, v2: true }, metadata)\r\n}","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber from './parsePhoneNumber_.js'\r\n\r\nexport default function isValidPhoneNumber() {\r\n\tlet { text, options, metadata } = normalizeArguments(arguments)\r\n\toptions = {\r\n\t\t...options,\r\n\t\textract: false\r\n\t}\r\n\tconst phoneNumber = parsePhoneNumber(text, options, metadata)\r\n\treturn phoneNumber && phoneNumber.isValid() || false\r\n}","export default {\n \"ext\": \"ext.\",\n \"country\": \"Phone number country\",\n \"phone\": \"Phone\",\n \"AB\": \"Abkhazia\",\n \"AC\": \"Ascension Island\",\n \"AD\": \"Andorra\",\n \"AE\": \"United Arab Emirates\",\n \"AF\": \"Afghanistan\",\n \"AG\": \"Antigua and Barbuda\",\n \"AI\": \"Anguilla\",\n \"AL\": \"Albania\",\n \"AM\": \"Armenia\",\n \"AO\": \"Angola\",\n \"AQ\": \"Antarctica\",\n \"AR\": \"Argentina\",\n \"AS\": \"American Samoa\",\n \"AT\": \"Austria\",\n \"AU\": \"Australia\",\n \"AW\": \"Aruba\",\n \"AX\": \"Åland Islands\",\n \"AZ\": \"Azerbaijan\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BB\": \"Barbados\",\n \"BD\": \"Bangladesh\",\n \"BE\": \"Belgium\",\n \"BF\": \"Burkina Faso\",\n \"BG\": \"Bulgaria\",\n \"BH\": \"Bahrain\",\n \"BI\": \"Burundi\",\n \"BJ\": \"Benin\",\n \"BL\": \"Saint Barthélemy\",\n \"BM\": \"Bermuda\",\n \"BN\": \"Brunei Darussalam\",\n \"BO\": \"Bolivia\",\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"BR\": \"Brazil\",\n \"BS\": \"Bahamas\",\n \"BT\": \"Bhutan\",\n \"BV\": \"Bouvet Island\",\n \"BW\": \"Botswana\",\n \"BY\": \"Belarus\",\n \"BZ\": \"Belize\",\n \"CA\": \"Canada\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CD\": \"Congo, Democratic Republic of the\",\n \"CF\": \"Central African Republic\",\n \"CG\": \"Congo\",\n \"CH\": \"Switzerland\",\n \"CI\": \"Cote d'Ivoire\",\n \"CK\": \"Cook Islands\",\n \"CL\": \"Chile\",\n \"CM\": \"Cameroon\",\n \"CN\": \"China\",\n \"CO\": \"Colombia\",\n \"CR\": \"Costa Rica\",\n \"CU\": \"Cuba\",\n \"CV\": \"Cape Verde\",\n \"CW\": \"Curaçao\",\n \"CX\": \"Christmas Island\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DE\": \"Germany\",\n \"DJ\": \"Djibouti\",\n \"DK\": \"Denmark\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"DZ\": \"Algeria\",\n \"EC\": \"Ecuador\",\n \"EE\": \"Estonia\",\n \"EG\": \"Egypt\",\n \"EH\": \"Western Sahara\",\n \"ER\": \"Eritrea\",\n \"ES\": \"Spain\",\n \"ET\": \"Ethiopia\",\n \"FI\": \"Finland\",\n \"FJ\": \"Fiji\",\n \"FK\": \"Falkland Islands\",\n \"FM\": \"Federated States of Micronesia\",\n \"FO\": \"Faroe Islands\",\n \"FR\": \"France\",\n \"GA\": \"Gabon\",\n \"GB\": \"United Kingdom\",\n \"GD\": \"Grenada\",\n \"GE\": \"Georgia\",\n \"GF\": \"French Guiana\",\n \"GG\": \"Guernsey\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GL\": \"Greenland\",\n \"GM\": \"Gambia\",\n \"GN\": \"Guinea\",\n \"GP\": \"Guadeloupe\",\n \"GQ\": \"Equatorial Guinea\",\n \"GR\": \"Greece\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"GT\": \"Guatemala\",\n \"GU\": \"Guam\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HK\": \"Hong Kong\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"HN\": \"Honduras\",\n \"HR\": \"Croatia\",\n \"HT\": \"Haiti\",\n \"HU\": \"Hungary\",\n \"ID\": \"Indonesia\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IM\": \"Isle of Man\",\n \"IN\": \"India\",\n \"IO\": \"British Indian Ocean Territory\",\n \"IQ\": \"Iraq\",\n \"IR\": \"Iran\",\n \"IS\": \"Iceland\",\n \"IT\": \"Italy\",\n \"JE\": \"Jersey\",\n \"JM\": \"Jamaica\",\n \"JO\": \"Jordan\",\n \"JP\": \"Japan\",\n \"KE\": \"Kenya\",\n \"KG\": \"Kyrgyzstan\",\n \"KH\": \"Cambodia\",\n \"KI\": \"Kiribati\",\n \"KM\": \"Comoros\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"KP\": \"North Korea\",\n \"KR\": \"South Korea\",\n \"KW\": \"Kuwait\",\n \"KY\": \"Cayman Islands\",\n \"KZ\": \"Kazakhstan\",\n \"LA\": \"Laos\",\n \"LB\": \"Lebanon\",\n \"LC\": \"Saint Lucia\",\n \"LI\": \"Liechtenstein\",\n \"LK\": \"Sri Lanka\",\n \"LR\": \"Liberia\",\n \"LS\": \"Lesotho\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"LV\": \"Latvia\",\n \"LY\": \"Libya\",\n \"MA\": \"Morocco\",\n \"MC\": \"Monaco\",\n \"MD\": \"Moldova\",\n \"ME\": \"Montenegro\",\n \"MF\": \"Saint Martin (French Part)\",\n \"MG\": \"Madagascar\",\n \"MH\": \"Marshall Islands\",\n \"MK\": \"North Macedonia\",\n \"ML\": \"Mali\",\n \"MM\": \"Myanmar\",\n \"MN\": \"Mongolia\",\n \"MO\": \"Macao\",\n \"MP\": \"Northern Mariana Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MS\": \"Montserrat\",\n \"MT\": \"Malta\",\n \"MU\": \"Mauritius\",\n \"MV\": \"Maldives\",\n \"MW\": \"Malawi\",\n \"MX\": \"Mexico\",\n \"MY\": \"Malaysia\",\n \"MZ\": \"Mozambique\",\n \"NA\": \"Namibia\",\n \"NC\": \"New Caledonia\",\n \"NE\": \"Niger\",\n \"NF\": \"Norfolk Island\",\n \"NG\": \"Nigeria\",\n \"NI\": \"Nicaragua\",\n \"NL\": \"Netherlands\",\n \"NO\": \"Norway\",\n \"NP\": \"Nepal\",\n \"NR\": \"Nauru\",\n \"NU\": \"Niue\",\n \"NZ\": \"New Zealand\",\n \"OM\": \"Oman\",\n \"OS\": \"South Ossetia\",\n \"PA\": \"Panama\",\n \"PE\": \"Peru\",\n \"PF\": \"French Polynesia\",\n \"PG\": \"Papua New Guinea\",\n \"PH\": \"Philippines\",\n \"PK\": \"Pakistan\",\n \"PL\": \"Poland\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"PN\": \"Pitcairn\",\n \"PR\": \"Puerto Rico\",\n \"PS\": \"Palestine\",\n \"PT\": \"Portugal\",\n \"PW\": \"Palau\",\n \"PY\": \"Paraguay\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RS\": \"Serbia\",\n \"RU\": \"Russia\",\n \"RW\": \"Rwanda\",\n \"SA\": \"Saudi Arabia\",\n \"SB\": \"Solomon Islands\",\n \"SC\": \"Seychelles\",\n \"SD\": \"Sudan\",\n \"SE\": \"Sweden\",\n \"SG\": \"Singapore\",\n \"SH\": \"Saint Helena\",\n \"SI\": \"Slovenia\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SK\": \"Slovakia\",\n \"SL\": \"Sierra Leone\",\n \"SM\": \"San Marino\",\n \"SN\": \"Senegal\",\n \"SO\": \"Somalia\",\n \"SR\": \"Suriname\",\n \"SS\": \"South Sudan\",\n \"ST\": \"Sao Tome and Principe\",\n \"SV\": \"El Salvador\",\n \"SX\": \"Sint Maarten\",\n \"SY\": \"Syria\",\n \"SZ\": \"Swaziland\",\n \"TA\": \"Tristan da Cunha\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TD\": \"Chad\",\n \"TF\": \"French Southern Territories\",\n \"TG\": \"Togo\",\n \"TH\": \"Thailand\",\n \"TJ\": \"Tajikistan\",\n \"TK\": \"Tokelau\",\n \"TL\": \"Timor-Leste\",\n \"TM\": \"Turkmenistan\",\n \"TN\": \"Tunisia\",\n \"TO\": \"Tonga\",\n \"TR\": \"Turkey\",\n \"TT\": \"Trinidad and Tobago\",\n \"TV\": \"Tuvalu\",\n \"TW\": \"Taiwan\",\n \"TZ\": \"Tanzania\",\n \"UA\": \"Ukraine\",\n \"UG\": \"Uganda\",\n \"UM\": \"United States Minor Outlying Islands\",\n \"US\": \"United States\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"VE\": \"Venezuela\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"VN\": \"Vietnam\",\n \"VU\": \"Vanuatu\",\n \"WF\": \"Wallis and Futuna\",\n \"WS\": \"Samoa\",\n \"XK\": \"Kosovo\",\n \"YE\": \"Yemen\",\n \"YT\": \"Mayotte\",\n \"ZA\": \"South Africa\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"ZZ\": \"International\"\n}","import PropTypes from 'prop-types'\r\n\r\nexport const metadata = PropTypes.shape({\r\n\tcountry_calling_codes : PropTypes.object.isRequired,\r\n\tcountries : PropTypes.object.isRequired\r\n})\r\n\r\nexport const labels = PropTypes.objectOf(PropTypes.string)","// Counts all occurences of a symbol in a string\r\nexport function count_occurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes)\r\n\t// but template placeholder characters don't fall into that range\r\n\t// so skipping such miscellaneous \"exotic\" characters\r\n\t// won't matter here for just counting placeholder character occurrences.\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}","import { count_occurences } from './helpers.js'\r\nimport close_braces from './closeBraces.js'\r\n\r\n// Takes a `template` where character placeholders\r\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\r\n//\r\n// Returns a function which takes `value` characters\r\n// and returns the `template` filled with those characters.\r\n// If the `template` can only be partially filled\r\n// then it is cut off.\r\n//\r\n// If `should_close_braces` is `true`,\r\n// then it will also make sure all dangling braces are closed,\r\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\r\n//\r\nexport default function(template, placeholder = 'x', should_close_braces)\r\n{\r\n\tif (!template)\r\n\t{\r\n\t\treturn value => ({ text: value })\r\n\t}\r\n\r\n\tconst characters_in_template = count_occurences(placeholder, template)\r\n\r\n\treturn function(value)\r\n\t{\r\n\t\tif (!value)\r\n\t\t{\r\n\t\t\treturn { text: '', template }\r\n\t\t}\r\n\r\n\t\tlet value_character_index = 0\r\n\t\tlet filled_in_template = ''\r\n\r\n\t\t// Using `.split('')` here instead of normal `for ... of`\r\n\t\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t\t// (the ones consisting of four bytes)\r\n\t\t// but template placeholder characters don't fall into that range\r\n\t\t// and appending UTF-8 characters to a string in parts still works.\r\n\t\tfor (const character of template.split(''))\r\n\t\t{\r\n\t\t\tif (character !== placeholder)\r\n\t\t\t{\r\n\t\t\t\tfilled_in_template += character\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\r\n\t\t\tfilled_in_template += value[value_character_index]\r\n\t\t\tvalue_character_index++\r\n\r\n\t\t\t// If the last available value character has been filled in,\r\n\t\t\t// then return the filled in template\r\n\t\t\t// (either trim the right part or retain it,\r\n\t\t\t// if no more character placeholders in there)\r\n\t\t\tif (value_character_index === value.length)\r\n\t\t\t{\r\n\t\t\t\t// If there are more character placeholders\r\n\t\t\t\t// in the right part of the template\r\n\t\t\t\t// then simply trim it.\r\n\t\t\t\tif (value.length < characters_in_template)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (should_close_braces)\r\n\t\t{\r\n\t\t\tfilled_in_template = close_braces(filled_in_template, template)\r\n\t\t}\r\n\r\n\t\treturn { text: filled_in_template, template }\r\n\t}\r\n}","import { count_occurences } from './helpers.js'\r\n\r\nexport default function closeBraces(retained_template, template, placeholder = 'x', empty_placeholder = ' ')\r\n{\r\n\tlet cut_before = retained_template.length\r\n\r\n\tconst opening_braces = count_occurences('(', retained_template)\r\n\tconst closing_braces = count_occurences(')', retained_template)\r\n\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\r\n\twhile (dangling_braces > 0 && cut_before < template.length)\r\n\t{\r\n\t\tretained_template += template[cut_before].replace(placeholder, empty_placeholder)\r\n\r\n\t\tif (template[cut_before] === ')')\r\n\t\t{\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\r\n\t\tcut_before++\r\n\t}\r\n\r\n\treturn retained_template\r\n}\r\n","export function isReadOnly(element)\r\n{\r\n\treturn element.hasAttribute('readonly')\r\n}\r\n\r\n// Gets selection bounds\r\nexport function getSelection(element)\r\n{\r\n\t// If no selection, return nothing\r\n\tif (element.selectionStart === element.selectionEnd)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\treturn { start: element.selectionStart, end: element.selectionEnd }\r\n}\r\n\r\n// Key codes\r\nexport const Keys =\r\n{\r\n\tBackspace : 8,\r\n\tDelete : 46\r\n}\r\n\r\n// Finds out the operation to be intercepted and performed\r\n// based on the key down event `keyCode`.\r\nexport function getOperation(event)\r\n{\r\n\tswitch (event.keyCode)\r\n\t{\r\n\t\tcase Keys.Backspace:\r\n\t\t\treturn 'Backspace'\r\n\r\n\t\tcase Keys.Delete:\r\n\t\t\treturn 'Delete'\r\n\t}\r\n}\r\n\r\n// Gets caret position\r\nexport function getCaretPosition(element)\r\n{\r\n\treturn element.selectionStart\r\n}\r\n\r\n// Sets caret position\r\nexport function setCaretPosition(element, caret_position)\r\n{\r\n\t// Sanity check\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\t// Set caret position.\r\n\t// There has been an issue with caret positioning on Android devices.\r\n\t// https://github.com/catamphetamine/input-format/issues/2\r\n\t// I was revisiting this issue and looked for similar issues in other libraries.\r\n\t// For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\r\n\t// They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\r\n\t// The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\r\n\t// https://github.com/text-mask/text-mask/issues/300\r\n\t// They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\r\n\t// https://github.com/text-mask/text-mask/pull/400/files\r\n\t// I've implemented the same workaround here.\r\n\tif (isAndroid()) {\r\n setTimeout(() => element.setSelectionRange(caret_position, caret_position), 0)\r\n\t} else {\r\n\t\telement.setSelectionRange(caret_position, caret_position)\r\n\t}\r\n}\r\n\r\nfunction isAndroid() {\r\n\t// `navigator` is not defined when running mocha tests.\r\n\tif (typeof navigator !== 'undefined') {\r\n\t\treturn ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent)\r\n\t}\r\n}\r\n\r\nconst ANDROID_USER_AGENT_REG_EXP = /Android/i","import edit from './edit.js'\r\nimport parse from './parse.js'\r\nimport format from './format.js'\r\n\r\nimport\r\n{\r\n\tisReadOnly,\r\n\tgetOperation,\r\n\tgetSelection,\r\n\tgetCaretPosition,\r\n\tsetCaretPosition\r\n}\r\nfrom './dom.js'\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onCut(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// The actual cut hasn't happened just yet hence the timeout.\r\n\tsetTimeout(() => formatInputText(input, _parse, _format, undefined, on_change), 0)\r\n}\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onPaste(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst selection = getSelection(input)\r\n\r\n\t// If selection is made,\r\n\t// just erase the selected text\r\n\t// prior to pasting\r\n\tif (selection)\r\n\t{\r\n\t\teraseSelection(input, selection)\r\n\t}\r\n\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\nexport function onChange(event, input, _parse, _format, on_change)\r\n{\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\n// \"Delete\" and \"Backspace\" keys are special\r\n// in a way that they're not handled by the regular `onChange()` handler\r\n// and instead are intercepted and re-applied manually.\r\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\r\n// results in erasing a character, but that character might be any character,\r\n// while it would be a better \"user experience\" if it erased not just any character\r\n// but the closest \"meaningful\" character.\r\n// For example, if a template is `(xxx) xxx-xxxx`,\r\n// and the `` value is `(111) 222-3333`,\r\n// then, if a user begins erasing the `3333` part via \"Backspace\"\r\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\r\n// Nothing wrong with that, but it would be a better \"user experience\"\r\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\r\n// character, which would be the rightmost `2`.\r\n// So, what this `onKeyDown()` handler does is it intercepts\r\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\r\n// following the logic described above.\r\nexport function onKeyDown(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst operation = getOperation(event)\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Delete':\r\n\t\tcase 'Backspace':\r\n\t\t\t// Intercept this operation and perform it manually.\r\n\t\t\tevent.preventDefault()\r\n\r\n\t\t\tconst selection = getSelection(input)\r\n\r\n\t\t\t// If a selection is made, just erase the selected text.\r\n\t\t\tif (selection)\r\n\t\t\t{\r\n\t\t\t\teraseSelection(input, selection)\r\n\t\t\t\treturn formatInputText(input, _parse, _format, undefined, on_change)\r\n\t\t\t}\r\n\r\n\t\t\t// Else, perform the (character erasing) operation manually.\r\n\t\t\treturn formatInputText(input, _parse, _format, operation, on_change)\r\n\r\n\t\tdefault:\r\n\t\t\t// Will be handled normally as part of the `onChange` handler.\r\n\t}\r\n}\r\n\r\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\r\nfunction eraseSelection(input, selection)\r\n{\r\n\tlet text = input.value\r\n\ttext = text.slice(0, selection.start) + text.slice(selection.end)\r\n\r\n\tinput.value = text\r\n\tsetCaretPosition(input, selection.start)\r\n}\r\n\r\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\r\nfunction formatInputText(input, _parse, _format, operation, on_change)\r\n{\r\n\t// Parse `` textual value.\r\n\t// Get the `value` and `caret` position.\r\n\tlet { value, caret } = parse(input.value, getCaretPosition(input), _parse)\r\n\r\n\t// If a user performed an operation (\"Backspace\", \"Delete\")\r\n\t// then apply that operation and get the new `value` and `caret` position.\r\n\tif (operation)\r\n\t{\r\n\t\tconst newValueAndCaret = edit(value, caret, operation)\r\n\r\n\t\tvalue = newValueAndCaret.value\r\n\t\tcaret = newValueAndCaret.caret\r\n\t}\r\n\r\n\t// Format the `value`.\r\n\t// (and reposition the caret accordingly)\r\n\tconst formatted = format(value, caret, _format)\r\n\r\n\tconst text = formatted.text\r\n\tcaret = formatted.caret\r\n\r\n\t// Set `` textual value manually\r\n\t// to prevent React from resetting the caret position\r\n\t// later inside a subsequent `render()`.\r\n\t// Doesn't work for custom `inputComponent`s for some reason.\r\n\tinput.value = text\r\n\t// Position the caret properly.\r\n\tsetCaretPosition(input, caret)\r\n\r\n\t// If the `` textual value did change,\r\n\t// then the parsed `value` may have changed too.\r\n\ton_change(value)\r\n}","// Parses the `text`.\r\n//\r\n// Returns `{ value, caret }` where `caret` is\r\n// the caret position inside `value`\r\n// corresponding to the `caret_position` inside `text`.\r\n//\r\n// The `text` is parsed by feeding each character sequentially to\r\n// `parse_character(character, value, context)` function\r\n// and appending the result (if it's not `undefined`) to `value`.\r\n//\r\n// `context` argument is just a utility empty object that is shared within the bounds\r\n// of parsing a single input string. The `_parse()` function could use that object\r\n// to store any kind of \"flags\" in it in order to alter its behavior based when\r\n// parsing next characters within the same string. Or it could completely ignore it.\r\n//\r\n// Example:\r\n//\r\n// `text` is `8 (800) 555-35-35`,\r\n// `caret_position` is `4` (before the first `0`).\r\n// `parse_character` is `(character, value) =>\r\n// if (character >= '0' && character <= '9') { return character }`.\r\n//\r\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\r\n//\r\nexport default function parse(text, caret_position, parse_character)\r\n{\r\n\tconst context = {}\r\n\r\n\tlet value = ''\r\n\r\n\tlet focused_input_character_index = 0\r\n\r\n\tlet index = 0\r\n\twhile (index < text.length)\r\n\t{\r\n\t\tconst character = parse_character(text[index], value, context)\r\n\r\n\t\tif (character !== undefined)\r\n\t\t{\r\n\t\t\tvalue += character\r\n\r\n\t\t\tif (caret_position !== undefined)\r\n\t\t\t{\r\n\t\t\t\tif (caret_position === index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length - 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (caret_position > index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t}\r\n\r\n\t\tindex++\r\n\t}\r\n\r\n\t// If caret position wasn't specified\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\t// Then set caret position to \"after the last input character\"\r\n\t\tfocused_input_character_index = value.length\r\n\t}\r\n\r\n\tconst result =\r\n\t{\r\n\t\tvalue,\r\n\t\tcaret : focused_input_character_index\r\n\t}\r\n\r\n\treturn result\r\n}","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\r\n//\r\n// Example:\r\n//\r\n// value - '88005553535'\r\n// caret - 2 // starting from 0; is positioned before the first zero\r\n// operation - 'Backspace'\r\n//\r\n// Returns\r\n// {\r\n// \tvalue: '8005553535'\r\n// \tcaret: 1\r\n// }\r\n//\r\n// Currently supports just 'Delete' and 'Backspace' operations\r\n//\r\nexport default function edit(value, caret, operation)\r\n{\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Backspace':\r\n\t\t\t// If there exists the previous character,\r\n\t\t\t// then erase it and reposition the caret.\r\n\t\t\tif (caret > 0)\r\n\t\t\t{\r\n\t\t\t\t// Remove the previous character\r\n\t\t\t\tvalue = value.slice(0, caret - 1) + value.slice(caret)\r\n\t\t\t\t// Position the caret where the previous (erased) character was\r\n\t\t\t\tcaret--\r\n\t\t\t}\r\n\t\t\tbreak\r\n\r\n\t\tcase 'Delete':\r\n\t\t\t// Remove current digit (if any)\r\n\t\t\tvalue = value.slice(0, caret) + value.slice(caret + 1)\r\n\t\t\tbreak\r\n\t}\r\n\r\n\treturn { value, caret }\r\n}","import template_formatter from './templateFormatter.js'\r\n\r\n// Formats `value` value preserving `caret` at the same character.\r\n//\r\n// `{ value, caret }` attribute is the result of `parse()` function call.\r\n//\r\n// Returns `{ text, caret }` where the new `caret` is the caret position\r\n// inside `text` text corresponding to the original `caret` position inside `value`.\r\n//\r\n// `formatter(value)` is a function returning `{ text, template }`.\r\n//\r\n// `text` is the `value` value formatted using `template`.\r\n// It may either cut off the non-filled right part of the `template`\r\n// or it may fill the non-filled character placeholders\r\n// in the right part of the `template` with `spacer`\r\n// which is a space (' ') character by default.\r\n//\r\n// `template` is the template used to format the `value`.\r\n// It can be either a full-length template or a partial template.\r\n//\r\n// `formatter` can also be a string — a `template`\r\n// where character placeholders are denoted by 'x'es.\r\n// In this case `formatter` function is automatically created.\r\n//\r\n// Example:\r\n//\r\n// `value` is '880',\r\n// `caret` is `2` (before the first `0`)\r\n//\r\n// `formatter` is `'880' =>\r\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\r\n//\r\n// The result is `{ text: '8 (80 )', caret: 4 }`.\r\n//\r\nexport default function format(value, caret, formatter)\r\n{\r\n\tif (typeof formatter === 'string')\r\n\t{\r\n\t\tformatter = template_formatter(formatter)\r\n\t}\r\n\r\n\tlet { text, template } = formatter(value) || {}\r\n\r\n\tif (text === undefined)\r\n\t{\r\n\t\t text = value\r\n\t}\r\n\r\n\tif (template)\r\n\t{\r\n\t\tif (caret === undefined)\r\n\t\t{\r\n\t\t\tcaret = text.length\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet index = 0\r\n\t\t\tlet found = false\r\n\r\n\t\t\tlet possibly_last_input_character_index = -1\r\n\r\n\t\t\twhile (index < text.length && index < template.length)\r\n\t\t\t{\r\n\t\t\t\t// Character placeholder found\r\n\t\t\t\tif (text[index] !== template[index])\r\n\t\t\t\t{\r\n\t\t\t\t\tif (caret === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfound = true\r\n\t\t\t\t\t\tcaret = index\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tpossibly_last_input_character_index = index\r\n\r\n\t\t\t\t\tcaret--\r\n\t\t\t\t}\r\n\r\n\t\t\t\tindex++\r\n\t\t\t}\r\n\r\n\t\t\t// If the caret was positioned after last input character,\r\n\t\t\t// then the text caret index is just after the last input character.\r\n\t\t\tif (!found)\r\n\t\t\t{\r\n\t\t\t\tcaret = possibly_last_input_character_index + 1\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { text, caret }\r\n}","// This is just `./ReactInput.js` rewritten in Hooks.\r\n\r\nimport React, { useCallback, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport {\r\n\tonChange as onInputChange,\r\n\tonKeyDown as onInputKeyDown\r\n} from '../inputControl.js'\r\n\r\n// Usage:\r\n//\r\n// this.setState({ phone })}\r\n// \tparse={character => character}\r\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\r\n//\r\nfunction Input({\r\n\tvalue,\r\n\tparse,\r\n\tformat,\r\n\tinputComponent: InputComponent,\r\n\tonChange,\r\n\tonKeyDown,\r\n\t...rest\r\n}, ref) {\r\n\tconst internalRef = useRef();\r\n\tconst setRef = useCallback((instance) => {\r\n\t\tinternalRef.current = instance;\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}, [ref]);\r\n\tconst _onChange = useCallback((event) => {\r\n\t\treturn onInputChange(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange])\r\n\r\n\tconst _onKeyDown = useCallback((event) => {\r\n\t\tif (onKeyDown) {\r\n\t\t\tonKeyDown(event)\r\n\t\t}\r\n\t\t// If `onKeyDown()` handler above has called `event.preventDefault()`\r\n\t\t// then ignore this `keydown` event.\r\n\t\tif (event.defaultPrevented) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn onInputKeyDown(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange, onKeyDown])\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nInput = React.forwardRef(Input)\r\n\r\nInput.propTypes = {\r\n\t// Parses a single characher of `` text.\r\n\tparse: PropTypes.func.isRequired,\r\n\r\n\t// Formats `value` into `` text.\r\n\tformat: PropTypes.func.isRequired,\r\n\r\n\t// Renders `` by default.\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t// `` `type` attribute.\r\n\ttype: PropTypes.string.isRequired,\r\n\r\n\t// Is parsed from text.\r\n\tvalue: PropTypes.string,\r\n\r\n\t// This handler is called each time `` text is changed.\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// Passthrough\r\n\tonKeyDown: PropTypes.func,\r\n\tonCut: PropTypes.func,\r\n\tonPaste: PropTypes.func\r\n}\r\n\r\nInput.defaultProps = {\r\n\t// Renders `` by default.\r\n\tinputComponent: 'input',\r\n\r\n\t// `` `type` attribute.\r\n\ttype: 'text'\r\n}\r\n\r\nexport default Input\r\n\r\nfunction isEmptyValue(value) {\r\n\treturn value === undefined || value === null\r\n}","// This \"state\" object simply holds the state of the \"AsYouType\" parser:\r\n//\r\n// * `country?: string`\r\n// * `callingCode?: string`\r\n// * `digits: string`\r\n// * `international: boolean`\r\n// * `missingPlus: boolean`\r\n// * `IDDPrefix?: string`\r\n// * `carrierCode?: string`\r\n// * `nationalPrefix?: string`\r\n// * `nationalSignificantNumber?: string`\r\n// * `nationalSignificantNumberMatchesInput: boolean`\r\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\r\n//\r\n// `state.country` and `state.callingCode` aren't required to be in sync.\r\n// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\r\n// So `state.country` and `state.callingCode` are totally independent.\r\n//\r\nexport default class AsYouTypeState {\r\n\tconstructor({ onCountryChange, onCallingCodeChange }) {\r\n\t\tthis.onCountryChange = onCountryChange\r\n\t\tthis.onCallingCodeChange = onCallingCodeChange\r\n\t}\r\n\r\n\treset({ country, callingCode }) {\r\n\t\tthis.international = false\r\n\t\tthis.missingPlus = false\r\n\t\tthis.IDDPrefix = undefined\r\n\t\tthis.callingCode = undefined\r\n\t\tthis.digits = ''\r\n\t\tthis.resetNationalSignificantNumber()\r\n\t\tthis.initCountryAndCallingCode(country, callingCode)\r\n\t}\r\n\r\n\tresetNationalSignificantNumber() {\r\n\t\tthis.nationalSignificantNumber = this.getNationalDigits()\r\n\t\tthis.nationalSignificantNumberMatchesInput = true\r\n\t\tthis.nationalPrefix = undefined\r\n\t\tthis.carrierCode = undefined\r\n\t\tthis.complexPrefixBeforeNationalSignificantNumber = undefined\r\n\t}\r\n\r\n\tupdate(properties) {\r\n\t\tfor (const key of Object.keys(properties)) {\r\n\t\t\tthis[key] = properties[key]\r\n\t\t}\r\n\t}\r\n\r\n\tinitCountryAndCallingCode(country, callingCode) {\r\n\t\tthis.setCountry(country)\r\n\t\tthis.setCallingCode(callingCode)\r\n\t}\r\n\r\n\tsetCountry(country) {\r\n\t\tthis.country = country\r\n\t\tthis.onCountryChange(country)\r\n\t}\r\n\r\n\tsetCallingCode(callingCode) {\r\n\t\tthis.callingCode = callingCode\r\n\t\tthis.onCallingCodeChange(callingCode, this.country)\r\n\t}\r\n\r\n\tstartInternationalNumber(country, callingCode) {\r\n\t\t// Prepend the `+` to parsed input.\r\n\t\tthis.international = true\r\n\t\t// If a default country was set then reset it\r\n\t\t// because an explicitly international phone\r\n\t\t// number is being entered.\r\n\t\tthis.initCountryAndCallingCode(country, callingCode)\r\n\t}\r\n\r\n\tappendDigits(nextDigits) {\r\n\t\tthis.digits += nextDigits\r\n\t}\r\n\r\n\tappendNationalSignificantNumberDigits(nextDigits) {\r\n\t\tthis.nationalSignificantNumber += nextDigits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the part of `this.digits` that corresponds to the national number.\r\n\t * Basically, all digits that have been input by the user, except for the\r\n\t * international prefix and the country calling code part\r\n\t * (if the number is an international one).\r\n\t * @return {string}\r\n\t */\r\n\tgetNationalDigits() {\r\n\t\tif (this.international) {\r\n\t\t\treturn this.digits.slice(\r\n\t\t\t\t(this.IDDPrefix ? this.IDDPrefix.length : 0) +\r\n\t\t\t\t(this.callingCode ? this.callingCode.length : 0)\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n\r\n\tgetDigitsWithoutInternationalPrefix() {\r\n\t\tif (this.international) {\r\n\t\t\tif (this.IDDPrefix) {\r\n\t\t\t\treturn this.digits.slice(this.IDDPrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n}","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\r\nexport const DIGIT_PLACEHOLDER = 'x' // '\\u2008' (punctuation space)\r\nconst DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER)\r\n\r\n// Counts all occurences of a symbol in a string.\r\n// Unicode-unsafe (because using `.split()`).\r\nexport function countOccurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for counting brackets it is safe.\r\n\t// for (const character of string)\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}\r\n\r\n// Repeats a string (or a symbol) N times.\r\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\r\nexport function repeat(string, times) {\r\n\tif (times < 1) {\r\n\t\treturn ''\r\n\t}\r\n\tlet result = ''\r\n\twhile (times > 1) {\r\n\t\tif (times & 1) {\r\n\t\t\tresult += string\r\n\t\t}\r\n\t\ttimes >>= 1\r\n\t\tstring += string\r\n\t}\r\n\treturn result + string\r\n}\r\n\r\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\r\n\tif (string[cutBeforeIndex] === ')') {\r\n\t\tcutBeforeIndex++\r\n\t}\r\n\treturn stripNonPairedParens(string.slice(0, cutBeforeIndex))\r\n}\r\n\r\nexport function closeNonPairedParens(template, cut_before) {\r\n\tconst retained_template = template.slice(0, cut_before)\r\n\tconst opening_braces = countOccurences('(', retained_template)\r\n\tconst closing_braces = countOccurences(')', retained_template)\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\twhile (dangling_braces > 0 && cut_before < template.length) {\r\n\t\tif (template[cut_before] === ')') {\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\t\tcut_before++\r\n\t}\r\n\treturn template.slice(0, cut_before)\r\n}\r\n\r\nexport function stripNonPairedParens(string) {\r\n\tconst dangling_braces =[]\r\n\tlet i = 0\r\n\twhile (i < string.length) {\r\n\t\tif (string[i] === '(') {\r\n\t\t\tdangling_braces.push(i)\r\n\t\t}\r\n\t\telse if (string[i] === ')') {\r\n\t\t\tdangling_braces.pop()\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\tlet start = 0\r\n\tlet cleared_string = ''\r\n\tdangling_braces.push(string.length)\r\n\tfor (const index of dangling_braces) {\r\n\t\tcleared_string += string.slice(start, index)\r\n\t\tstart = index + 1\r\n\t}\r\n\treturn cleared_string\r\n}\r\n\r\nexport function populateTemplateWithDigits(template, position, digits) {\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for `digits` it is safe.\r\n\t// for (const digit of digits)\r\n\tfor (const digit of digits.split('')) {\r\n\t\t// If there is room for more digits in current `template`,\r\n\t\t// then set the next digit in the `template`,\r\n\t\t// and return the formatted digits so far.\r\n\t\t// If more digits are entered than the current format could handle.\r\n\t\tif (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tposition = template.search(DIGIT_PLACEHOLDER_MATCHER)\r\n\t\ttemplate = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit)\r\n\t}\r\n\treturn [template, position]\r\n}","import checkNumberLength from './helpers/checkNumberLength.js'\r\nimport parseDigits from './helpers/parseDigits.js'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'\r\n\r\nexport default function formatCompleteNumber(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tconst matcher = new RegExp(`^(?:${format.pattern()})$`)\r\n\tif (matcher.test(state.nationalSignificantNumber)) {\r\n\t\treturn formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(\r\n\t\t\tstate,\r\n\t\t\tformat,\r\n\t\t\t{\r\n\t\t\t\tmetadata,\r\n\t\t\t\tshouldTryNationalPrefixFormattingRule,\r\n\t\t\t\tgetSeparatorAfterNationalPrefix\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\r\n\treturn checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE'\r\n}\r\n\r\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\t// `format` has already been checked for `nationalPrefix` requirement.\r\n\r\n\tconst {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode\r\n\t} = state\r\n\r\n\t// Format the number with using `national_prefix_formatting_rule`.\r\n\t// If the resulting formatted number is a valid formatted number, then return it.\r\n\t//\r\n\t// Google's AsYouType formatter is different in a way that it doesn't try\r\n\t// to format using the \"national prefix formatting rule\", and instead it\r\n\t// simply prepends a national prefix followed by a \" \" character.\r\n\t// This code does that too, but as a fallback.\r\n\t// The reason is that \"national prefix formatting rule\" may use parentheses,\r\n\t// which wouldn't be included has it used the simpler Google's way.\r\n\t//\r\n\tif (shouldTryNationalPrefixFormattingRule(format)) {\r\n\t\tconst formattedNumber = formatNationalNumber(state, format, {\r\n\t\t\tuseNationalPrefixFormattingRule: true,\r\n\t\t\tgetSeparatorAfterNationalPrefix,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\tif (formattedNumber) {\r\n\t\t\treturn formattedNumber\r\n\t\t}\r\n\t}\r\n\r\n\t// Format the number without using `national_prefix_formatting_rule`.\r\n\treturn formatNationalNumber(state, format, {\r\n\t\tuseNationalPrefixFormattingRule: false,\r\n\t\tgetSeparatorAfterNationalPrefix,\r\n\t\tmetadata\r\n\t})\r\n}\r\n\r\nfunction formatNationalNumber(state, format, {\r\n\tmetadata,\r\n\tuseNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tlet formattedNationalNumber = formatNationalNumberUsingFormat(\r\n\t\tstate.nationalSignificantNumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tcarrierCode: state.carrierCode,\r\n\t\t\tuseInternationalFormat: state.international,\r\n\t\t\twithNationalPrefix: useNationalPrefixFormattingRule,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n\tif (!useNationalPrefixFormattingRule) {\r\n\t\tif (state.nationalPrefix) {\r\n\t\t\t// If a national prefix was extracted, then just prepend it,\r\n\t\t\t// followed by a \" \" character.\r\n\t\t\tformattedNationalNumber = state.nationalPrefix +\r\n\t\t\t\tgetSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t} else if (state.complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\tformattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber +\r\n\t\t\t\t' ' +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t}\r\n\t}\r\n\tif (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n}\r\n\r\n// Check that the formatted phone number contains exactly\r\n// the same digits that have been input by the user.\r\n// For example, when \"0111523456789\" is input for `AR` country,\r\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\r\n// which means that the national part of `this.digits` isn't simply equal to\r\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\r\n//\r\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\r\n// being formatted via `metadata[country].national_prefix_transform_rule`.\r\n// For example, for `VI` country, it prepends `340` to the national number,\r\n// and if this check hasn't been implemented, then there would be a bug\r\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n//\r\n// So, all these \"gotchas\" are filtered out.\r\n//\r\n// In the original Google's code, the comments say:\r\n// \"Check that we didn't remove nor add any extra digits when we matched\r\n// this formatting pattern. This usually happens after we entered the last\r\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\r\n// formatted but AYTF should retain all the number entered and not change\r\n// in order to match a format (of same leading digits and length) display\r\n// in that way.\"\r\n// \"If it's the same (i.e entered number and format is same), then it's\r\n// safe to return this in formatted number as nothing is lost / added.\"\r\n// Otherwise, don't use this format.\r\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\r\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\r\n//\r\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\r\n\treturn parseDigits(formattedNationalNumber) === state.getNationalDigits()\r\n}","export default class PatternParser {\r\n\tparse(pattern) {\r\n\t\tthis.context = [{\r\n\t\t\tor: true,\r\n\t\t\tinstructions: []\r\n\t\t}]\r\n\r\n\t\tthis.parsePattern(pattern)\r\n\r\n\t\tif (this.context.length !== 1) {\r\n\t\t\tthrow new Error('Non-finalized contexts left when pattern parse ended')\r\n\t\t}\r\n\r\n\t\tconst { branches, instructions } = this.context[0]\r\n\r\n\t\tif (branches) {\r\n\t\t\treturn {\r\n\t\t\t\top: '|',\r\n\t\t\t\targs: branches.concat([\r\n\t\t\t\t\texpandSingleElementArray(instructions)\r\n\t\t\t\t])\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* istanbul ignore if */\r\n\t\tif (instructions.length === 0) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\tif (instructions.length === 1) {\r\n\t\t\treturn instructions[0]\r\n\t\t}\r\n\r\n\t\treturn instructions\r\n\t}\r\n\r\n\tstartContext(context) {\r\n\t\tthis.context.push(context)\r\n\t}\r\n\r\n\tendContext() {\r\n\t\tthis.context.pop()\r\n\t}\r\n\r\n\tgetContext() {\r\n\t\treturn this.context[this.context.length - 1]\r\n\t}\r\n\r\n\tparsePattern(pattern) {\r\n\t\tif (!pattern) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\tconst match = pattern.match(OPERATOR)\r\n\t\tif (!match) {\r\n\t\t\tif (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\r\n\t\t\t\tthrow new Error(`Illegal characters found in a pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tthis.getContext().instructions = this.getContext().instructions.concat(\r\n\t\t\t\tpattern.split('')\r\n\t\t\t)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst operator = match[1]\r\n\t\tconst before = pattern.slice(0, match.index)\r\n\t\tconst rightPart = pattern.slice(match.index + operator.length)\r\n\r\n\t\tswitch (operator) {\r\n\t\t\tcase '(?:':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\tor: true,\r\n\t\t\t\t\tinstructions: [],\r\n\t\t\t\t\tbranches: []\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ')':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\")\" operator must be preceded by \"(?:\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tif (this.getContext().instructions.length === 0) {\r\n\t\t\t\t\tthrow new Error('No instructions found after \"|\" operator in an \"or\" group')\r\n\t\t\t\t}\r\n\t\t\t\tconst { branches } = this.getContext()\r\n\t\t\t\tbranches.push(\r\n\t\t\t\t\texpandSingleElementArray(\r\n\t\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '|',\r\n\t\t\t\t\targs: branches\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '|':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\"|\" operator can only be used inside \"or\" groups')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\t// The top-level is an implicit \"or\" group, if required.\r\n\t\t\t\tif (!this.getContext().branches) {\r\n\t\t\t\t\t// `branches` are not defined only for the root implicit \"or\" operator.\r\n\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\tif (this.context.length === 1) {\r\n\t\t\t\t\t\tthis.getContext().branches = []\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow new Error('\"branches\" not found in an \"or\" group context')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.getContext().branches.push(\r\n\t\t\t\t\texpandSingleElementArray(\r\n\t\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\tthis.getContext().instructions = []\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '[':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\toneOfSet: true\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ']':\r\n\t\t\t\tif (!this.getContext().oneOfSet) {\r\n\t\t\t\t\tthrow new Error('\"]\" operator must be preceded by \"[\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '[]',\r\n\t\t\t\t\targs: parseOneOfSet(before)\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Unknown operator: ${operator}`)\r\n\t\t}\r\n\r\n\t\tif (rightPart) {\r\n\t\t\tthis.parsePattern(rightPart)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction parseOneOfSet(pattern) {\r\n\tconst values = []\r\n\tlet i = 0\r\n\twhile (i < pattern.length) {\r\n\t\tif (pattern[i] === '-') {\r\n\t\t\tif (i === 0 || i === pattern.length - 1) {\r\n\t\t\t\tthrow new Error(`Couldn't parse a one-of set pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tconst prevValue = pattern[i - 1].charCodeAt(0) + 1\r\n\t\t\tconst nextValue = pattern[i + 1].charCodeAt(0) - 1\r\n\t\t\tlet value = prevValue\r\n\t\t\twhile (value <= nextValue) {\r\n\t\t\t\tvalues.push(String.fromCharCode(value))\r\n\t\t\t\tvalue++\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalues.push(pattern[i])\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn values\r\n}\r\n\r\nconst ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/\r\n\r\nconst OPERATOR = new RegExp(\r\n\t// any of:\r\n\t'(' +\r\n\t\t// or operator\r\n\t\t'\\\\|' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group start\r\n\t\t'\\\\(\\\\?\\\\:' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group end\r\n\t\t'\\\\)' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set start\r\n\t\t'\\\\[' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set end\r\n\t\t'\\\\]' +\r\n\t')'\r\n)\r\n\r\nfunction expandSingleElementArray(array) {\r\n\tif (array.length === 1) {\r\n\t\treturn array[0]\r\n\t}\r\n\treturn array\r\n}","import PatternParser from './AsYouTypeFormatter.PatternParser.js'\r\n\r\nexport default class PatternMatcher {\r\n\tconstructor(pattern) {\r\n\t\tthis.matchTree = new PatternParser().parse(pattern)\r\n\t}\r\n\r\n\tmatch(string, { allowOverflow } = {}) {\r\n\t\tif (!string) {\r\n\t\t\tthrow new Error('String is required')\r\n\t\t}\r\n\t\tconst result = match(string.split(''), this.matchTree, true)\r\n\t\tif (result && result.match) {\r\n\t\t\tdelete result.matchedChars\r\n\t\t}\r\n\t\tif (result && result.overflow) {\r\n\t\t\tif (!allowOverflow) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n}\r\n\r\n/**\r\n * Matches `characters` against a pattern compiled into a `tree`.\r\n * @param {string[]} characters\r\n * @param {Tree} tree — A pattern compiled into a `tree`. See the `*.d.ts` file for the description of the `tree` structure.\r\n * @param {boolean} last — Whether it's the last (rightmost) subtree on its level of the match tree.\r\n * @return {object} See the `*.d.ts` file for the description of the result object.\r\n */\r\nfunction match(characters, tree, last) {\r\n\t// If `tree` is a string, then `tree` is a single character.\r\n\t// That's because when a pattern is parsed, multi-character-string parts\r\n\t// of a pattern are compiled into arrays of single characters.\r\n\t// I still wrote this piece of code for a \"general\" hypothetical case\r\n\t// when `tree` could be a string of several characters, even though\r\n\t// such case is not possible with the current implementation.\r\n\tif (typeof tree === 'string') {\r\n\t\tconst characterString = characters.join('')\r\n\t\tif (tree.indexOf(characterString) === 0) {\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (characters.length === tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmatch: true,\r\n\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn {\r\n\t\t\t\tpartialMatch: true,\r\n\t\t\t\t// matchedChars: characters\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (characterString.indexOf(tree) === 0) {\r\n\t\t\tif (last) {\r\n\t\t\t\t// The `else` path is not possible because `tree` is always a single character.\r\n\t\t\t\t// The `else` case for `characters.length > tree.length` would be\r\n\t\t\t\t// `characters.length <= tree.length` which means `characters.length <= 1`.\r\n\t\t\t\t// `characters` array can't be empty, so that means `characters === [tree]`,\r\n\t\t\t\t// which would also mean `tree.indexOf(characterString) === 0` and that'd mean\r\n\t\t\t\t// that the `if (tree.indexOf(characterString) === 0)` condition before this\r\n\t\t\t\t// `if` condition would be entered, and returned from there, not reaching this code.\r\n\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\tif (characters.length > tree.length) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tmatch: true,\r\n\t\t\t\tmatchedChars: characters.slice(0, tree.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\r\n\tif (Array.isArray(tree)) {\r\n\t\tlet restCharacters = characters.slice()\r\n\t\tlet i = 0\r\n\t\twhile (i < tree.length) {\r\n\t\t\tconst subtree = tree[i]\r\n\t\t\tconst result = match(restCharacters, subtree, last && (i === tree.length - 1))\r\n\t\t\tif (!result) {\r\n\t\t\t\treturn\r\n\t\t\t} else if (result.overflow) {\r\n\t\t\t\treturn result\r\n\t\t\t} else if (result.match) {\r\n\t\t\t\t// Continue with the next subtree with the rest of the characters.\r\n\t\t\t\trestCharacters = restCharacters.slice(result.matchedChars.length)\r\n\t\t\t\tif (restCharacters.length === 0) {\r\n\t\t\t\t\tif (i === tree.length - 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ti++\r\n\t\t}\r\n\t\t// If `last` then overflow has already been checked\r\n\t\t// by the last element of the `tree` array.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (last) {\r\n\t\t\treturn {\r\n\t\t\t\toverflow: true\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tmatch: true,\r\n\t\t\tmatchedChars: characters.slice(0, characters.length - restCharacters.length)\r\n\t\t}\r\n\t}\r\n\r\n\tswitch (tree.op) {\r\n\t\tcase '|':\r\n\t\t\tlet partialMatch\r\n\t\t\tfor (const branch of tree.args) {\r\n\t\t\t\tconst result = match(characters, branch, last)\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tif (result.overflow) {\r\n\t\t\t\t\t\treturn result\r\n\t\t\t\t\t} else if (result.match) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: result.matchedChars\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\t\t\tpartialMatch = true\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (partialMatch) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t// matchedChars: ...\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Not even a partial match.\r\n\t\t\treturn\r\n\r\n\t\tcase '[]':\r\n\t\t\tfor (const char of tree.args) {\r\n\t\t\t\tif (characters[0] === char) {\r\n\t\t\t\t\tif (characters.length === 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (last) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\tmatchedChars: [char]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// No character matches.\r\n\t\t\treturn\r\n\r\n\t\t/* istanbul ignore next */\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unsupported instruction tree: ${tree}`)\r\n\t}\r\n}","import {\r\n\tDIGIT_PLACEHOLDER,\r\n\tcountOccurences,\r\n\trepeat,\r\n\tcutAndStripNonPairedParens,\r\n\tcloseNonPairedParens,\r\n\tstripNonPairedParens,\r\n\tpopulateTemplateWithDigits\r\n} from './AsYouTypeFormatter.util.js'\r\n\r\nimport formatCompleteNumber, {\r\n\tcanFormatCompleteNumber\r\n} from './AsYouTypeFormatter.complete.js'\r\n\r\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js'\r\n\r\nimport parseDigits from './helpers/parseDigits.js'\r\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js'\r\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js'\r\nimport { VALID_PUNCTUATION } from './constants.js'\r\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nconst DUMMY_DIGIT = '9'\r\n// I don't know why is it exactly `15`\r\nconst LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nconst LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH)\r\n\r\n// A set of characters that, if found in a national prefix formatting rules, are an indicator to\r\n// us that we should separate the national prefix from the number when formatting.\r\nconst NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/\r\n\r\n// Deprecated: Google has removed some formatting pattern related code from their repo.\r\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\r\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\r\n// Because this library supports generating custom metadata\r\n// some users may still be using old metadata so the relevant\r\n// code seems to stay until some next major version update.\r\nconst SUPPORT_LEGACY_FORMATTING_PATTERNS = true\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nconst CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\[([^\\[\\]])*\\]/g)\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nconst CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\d(?=[^,}][^,}])/g)\r\n\r\n// A regular expression that is used to determine if a `format` is\r\n// suitable to be used in the \"as you type formatter\".\r\n// A `format` is suitable when the resulting formatted number has\r\n// the same digits as the user has entered.\r\n//\r\n// In the simplest case, that would mean that the format\r\n// doesn't add any additional digits when formatting a number.\r\n// Google says that it also shouldn't add \"star\" (`*`) characters,\r\n// like it does in some Israeli formats.\r\n// Such basic format would only contain \"valid punctuation\"\r\n// and \"captured group\" identifiers ($1, $2, etc).\r\n//\r\n// An example of a format that adds additional digits:\r\n//\r\n// Country: `AR` (Argentina).\r\n// Format:\r\n// {\r\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n// \"leading_digits_patterns\": [\"91\"],\r\n// \"national_prefix_formatting_rule\": \"0$1\",\r\n// \"format\": \"$2 15-$3-$4\",\r\n// \"international_format\": \"$1 $2 $3-$4\"\r\n// }\r\n//\r\n// In the format above, the `format` adds `15` to the digits when formatting a number.\r\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\r\n// has previously removed `15` from a national number, so re-adding `15` in `format`\r\n// doesn't actually result in any extra digits added to user's input.\r\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\r\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\r\n//\r\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\r\n// `libphonenumber` code.\r\n//\r\nconst NON_ALTERING_FORMAT_REG_EXP = new RegExp(\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t// Google developers say:\r\n\t// \"We require that the first matching group is present in the\r\n\t// output pattern to ensure no data is lost while formatting.\"\r\n\t'\\\\$1' +\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t'(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' +\r\n\t'$'\r\n)\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nconst MIN_LEADING_DIGITS_LENGTH = 3\r\n\r\nexport default class AsYouTypeFormatter {\r\n\tconstructor({\r\n\t\tstate,\r\n\t\tmetadata\r\n\t}) {\r\n\t\tthis.metadata = metadata\r\n\t\tthis.resetFormat()\r\n\t}\r\n\r\n\tresetFormat() {\r\n\t\tthis.chosenFormat = undefined\r\n\t\tthis.template = undefined\r\n\t\tthis.nationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t}\r\n\r\n\treset(numberingPlan, state) {\r\n\t\tthis.resetFormat()\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.isNANP = numberingPlan.callingCode() === '1'\r\n\t\t\tthis.matchingFormats = numberingPlan.formats()\r\n\t\t\tif (state.nationalSignificantNumber) {\r\n\t\t\t\tthis.narrowDownMatchingFormats(state)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.isNANP = undefined\r\n\t\t\tthis.matchingFormats = []\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Formats an updated phone number.\r\n\t * @param {string} nextDigits — Additional phone number digits.\r\n\t * @param {object} state — `AsYouType` state.\r\n\t * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n\t */\r\n\tformat(nextDigits, state) {\r\n\t\t// See if the phone number digits can be formatted as a complete phone number.\r\n\t\t// If not, use the results from `formatNationalNumberWithNextDigits()`,\r\n\t\t// which formats based on the chosen formatting pattern.\r\n\t\t//\r\n\t\t// Attempting to format complete phone number first is how it's done\r\n\t\t// in Google's `libphonenumber`, so this library just follows it.\r\n\t\t// Google's `libphonenumber` code doesn't explain in detail why does it\r\n\t\t// attempt to format digits as a complete phone number\r\n\t\t// instead of just going with a previoulsy (or newly) chosen `format`:\r\n\t\t//\r\n\t\t// \"Checks to see if there is an exact pattern match for these digits.\r\n\t\t// If so, we should use this instead of any other formatting template\r\n\t\t// whose leadingDigitsPattern also matches the input.\"\r\n\t\t//\r\n\t\tif (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\r\n\t\t\tfor (const format of this.matchingFormats) {\r\n\t\t\t\tconst formattedCompleteNumber = formatCompleteNumber(\r\n\t\t\t\t\tstate,\r\n\t\t\t\t\tformat,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmetadata: this.metadata,\r\n\t\t\t\t\t\tshouldTryNationalPrefixFormattingRule: (format) => this.shouldTryNationalPrefixFormattingRule(format, {\r\n\t\t\t\t\t\t\tinternational: state.international,\r\n\t\t\t\t\t\t\tnationalPrefix: state.nationalPrefix\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tgetSeparatorAfterNationalPrefix: (format) => this.getSeparatorAfterNationalPrefix(format)\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\tif (formattedCompleteNumber) {\r\n\t\t\t\t\tthis.resetFormat()\r\n\t\t\t\t\tthis.chosenFormat = format\r\n\t\t\t\t\tthis.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state)\r\n\t\t\t\t\tthis.populatedNationalNumberTemplate = formattedCompleteNumber\r\n\t\t\t\t\t// With a new formatting template, the matched position\r\n\t\t\t\t\t// using the old template needs to be reset.\r\n\t\t\t\t\tthis.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER)\r\n\t\t\t\t\treturn formattedCompleteNumber\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Format the digits as a partial (incomplete) phone number\r\n\t\t// using the previously chosen formatting pattern (or a newly chosen one).\r\n\t\treturn this.formatNationalNumberWithNextDigits(nextDigits, state)\r\n\t}\r\n\r\n\t// Formats the next phone number digits.\r\n\tformatNationalNumberWithNextDigits(nextDigits, state) {\r\n\t\tconst previouslyChosenFormat = this.chosenFormat\r\n\r\n\t\t// Choose a format from the list of matching ones.\r\n\t\tconst newlyChosenFormat = this.chooseFormat(state)\r\n\r\n\t\tif (newlyChosenFormat) {\r\n\t\t\tif (newlyChosenFormat === previouslyChosenFormat) {\r\n\t\t\t\t// If it can format the next (current) digits\r\n\t\t\t\t// using the previously chosen phone number format\r\n\t\t\t\t// then return the updated formatted number.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(nextDigits)\r\n\t\t\t} else {\r\n\t\t\t\t// If a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these \"leading digits\",\r\n\t\t\t\t// then re-format the national phone number part\r\n\t\t\t\t// using the newly selected format.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(state.getNationalDigits())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tnarrowDownMatchingFormats({\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalPrefix,\r\n\t\tinternational\r\n\t}) {\r\n\t\tconst leadingDigits = nationalSignificantNumber\r\n\r\n\t\t// \"leading digits\" pattern list starts with a\r\n\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\r\n\t\t// So, after a user inputs 3 digits of a national (significant) phone number\r\n\t\t// this national (significant) number can already be formatted.\r\n\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\r\n\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\r\n\r\n\t\t// This implementation is different from Google's\r\n\t\t// in that it searches for a fitting format\r\n\t\t// even if the user has entered less than\r\n\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\r\n\t\t// Because some leading digit patterns already match for a single first digit.\r\n\t\tlet leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH\r\n\t\tif (leadingDigitsPatternIndex < 0) {\r\n\t\t\tleadingDigitsPatternIndex = 0\r\n\t\t}\r\n\r\n\t\tthis.matchingFormats = this.matchingFormats.filter(\r\n\t\t\tformat => this.formatSuits(format, international, nationalPrefix)\r\n\t\t\t\t&& this.formatMatches(format, leadingDigits, leadingDigitsPatternIndex)\r\n\t\t)\r\n\r\n\t\t// If there was a phone number format chosen\r\n\t\t// and it no longer holds given the new leading digits then reset it.\r\n\t\t// The test for this `if` condition is marked as:\r\n\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\r\n\t\t// To construct a valid test case for this one can find a country\r\n\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 ``\r\n\t\t// and yielding another format for 4 `` (Australia in this case).\r\n\t\tif (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t}\r\n\r\n\tformatSuits(format, international, nationalPrefix) {\r\n\t\t// When a prefix before a national (significant) number is\r\n\t\t// simply a national prefix, then it's parsed as `this.nationalPrefix`.\r\n\t\t// In more complex cases, a prefix before national (significant) number\r\n\t\t// could include a national prefix as well as some \"capturing groups\",\r\n\t\t// and in that case there's no info whether a national prefix has been parsed.\r\n\t\t// If national prefix is not used when formatting a phone number\r\n\t\t// using this format, but a national prefix has been entered by the user,\r\n\t\t// and was extracted, then discard such phone number format.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\r\n\t\tif (nationalPrefix &&\r\n\t\t\t!format.usesNationalPrefix() &&\r\n\t\t\t// !format.domesticCarrierCodeFormattingRule() &&\r\n\t\t\t!format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// If national prefix is mandatory for this phone number format\r\n\t\t// and there're no guarantees that a national prefix is present in user input\r\n\t\t// then discard this phone number format as not suitable.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\r\n\t\tif (!international &&\r\n\t\t\t!nationalPrefix &&\r\n\t\t\tformat.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\r\n\tformatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\r\n\t\tconst leadingDigitsPatternsCount = format.leadingDigitsPatterns().length\r\n\r\n\t\t// If this format is not restricted to a certain\r\n\t\t// leading digits pattern then it fits.\r\n\t\t// The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\r\n\t\tif (leadingDigitsPatternsCount === 0) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\t// Start narrowing down the list of possible formats based on the leading digits.\r\n\t\t// (only previously matched formats take part in the narrowing down process)\r\n\r\n\t\t// `leading_digits_patterns` start with 3 digits min\r\n\t\t// and then go up from there one digit at a time.\r\n\t\tleadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1)\r\n\t\tconst leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]\r\n\r\n\t\t// Google imposes a requirement on the leading digits\r\n\t\t// to be minimum 3 digits long in order to be eligible\r\n\t\t// for checking those with a leading digits pattern.\r\n\t\t//\r\n\t\t// Since `leading_digits_patterns` start with 3 digits min,\r\n\t\t// Google's original `libphonenumber` library only starts\r\n\t\t// excluding any non-matching formats only when the\r\n\t\t// national number entered so far is at least 3 digits long,\r\n\t\t// otherwise format matching would give false negatives.\r\n\t\t//\r\n\t\t// For example, when the digits entered so far are `2`\r\n\t\t// and the leading digits pattern is `21` –\r\n\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t//\r\n\t\t// Also, `leading_digits_patterns` doesn't always correspond to a single\r\n\t\t// digits count. For example, `60|8` pattern would already match `8`\r\n\t\t// but the `60` part would require having at least two leading digits,\r\n\t\t// so the whole pattern would require inputting two digits first in order to\r\n\t\t// decide on whether it matches the input, even when the input is \"80\".\r\n\t\t//\r\n\t\t// This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\r\n\t\t// even when there's only 1 or 2 digits of the national (significant) number.\r\n\t\t// To do that, it uses a non-strict pattern matcher written specifically for that.\r\n\t\t//\r\n\t\tif (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\r\n\t\t\t// Before leading digits < 3 matching was implemented:\r\n\t\t\t// return true\r\n\t\t\t//\r\n\t\t\t// After leading digits < 3 matching was implemented:\r\n\t\t\ttry {\r\n\t\t\t\treturn new PatternMatcher(leadingDigitsPattern).match(leadingDigits, { allowOverflow: true }) !== undefined\r\n\t\t\t} catch (error) /* istanbul ignore next */ {\r\n\t\t\t\t// There's a slight possibility that there could be some undiscovered bug\r\n\t\t\t\t// in the pattern matcher code. Since the \"leading digits < 3 matching\"\r\n\t\t\t\t// feature is not \"essential\" for operation, it can fall back to the old way\r\n\t\t\t\t// in case of any issues rather than halting the application's execution.\r\n\t\t\t\tconsole.error(error)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\r\n\t\t// available then use the usual regular expression matching.\r\n\t\t//\r\n\t\t// The whole pattern is wrapped in round brackets (`()`) because\r\n\t\t// the pattern can use \"or\" operator (`|`) at the top level of the pattern.\r\n\t\t//\r\n\t\treturn new RegExp(`^(${leadingDigitsPattern})`).test(leadingDigits)\r\n\t}\r\n\r\n\tgetFormatFormat(format, international) {\r\n\t\treturn international ? format.internationalFormat() : format.format()\r\n\t}\r\n\r\n\tchooseFormat(state) {\r\n\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t// format where a formatting template could be created.\r\n\t\t//\r\n\t\t// For some weird reason, `istanbul` says \"else path not taken\"\r\n\t\t// for the `for of` line below. Supposedly that means that\r\n\t\t// the loop doesn't ever go over the last element in the list.\r\n\t\t// That's true because there always is `this.chosenFormat`\r\n\t\t// when `this.matchingFormats` is non-empty.\r\n\t\t// And, for some weird reason, it doesn't think that the case\r\n\t\t// with empty `this.matchingFormats` qualifies for a valid \"else\" path.\r\n\t\t// So simply muting this `istanbul` warning.\r\n\t\t// It doesn't skip the contents of the `for of` loop,\r\n\t\t// it just skips the `for of` line.\r\n\t\t//\r\n\t\t/* istanbul ignore next */\r\n\t\tfor (const format of this.matchingFormats.slice()) {\r\n\t\t\t// If this format is currently being used\r\n\t\t\t// and is still suitable, then stick to it.\r\n\t\t\tif (this.chosenFormat === format) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\t// Sometimes, a formatting rule inserts additional digits in a phone number,\r\n\t\t\t// and \"as you type\" formatter can't do that: it should only use the digits\r\n\t\t\t// that the user has input.\r\n\t\t\t//\r\n\t\t\t// For example, in Argentina, there's a format for mobile phone numbers:\r\n\t\t\t//\r\n\t\t\t// {\r\n\t\t\t// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n\t\t\t// \"leading_digits_patterns\": [\"91\"],\r\n\t\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t\t// \"format\": \"$2 15-$3-$4\",\r\n\t\t\t// \"international_format\": \"$1 $2 $3-$4\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// In that format, `international_format` is used instead of `format`\r\n\t\t\t// because `format` inserts `15` in the formatted number,\r\n\t\t\t// and `AsYouType` formatter should only use the digits\r\n\t\t\t// the user has actually input, without adding any extra digits.\r\n\t\t\t// In this case, it wouldn't make a difference, because the `15`\r\n\t\t\t// is first stripped when applying `national_prefix_for_parsing`\r\n\t\t\t// and then re-added when using `format`, so in reality it doesn't\r\n\t\t\t// add any new digits to the number, but to detect that, the code\r\n\t\t\t// would have to be more complex: it would have to try formatting\r\n\t\t\t// the digits using the format and then see if any digits have\r\n\t\t\t// actually been added or removed, and then, every time a new digit\r\n\t\t\t// is input, it should re-check whether the chosen format doesn't\r\n\t\t\t// alter the digits.\r\n\t\t\t//\r\n\t\t\t// Google's code doesn't go that far, and so does this library:\r\n\t\t\t// it simply requires that a `format` doesn't add any additonal\r\n\t\t\t// digits to user's input.\r\n\t\t\t//\r\n\t\t\t// Also, people in general should move from inputting phone numbers\r\n\t\t\t// in national format (possibly with national prefixes)\r\n\t\t\t// and use international phone number format instead:\r\n\t\t\t// it's a logical thing in the modern age of mobile phones,\r\n\t\t\t// globalization and the internet.\r\n\t\t\t//\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (!NON_ALTERING_FORMAT_REG_EXP.test(this.getFormatFormat(format, state.international))) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tif (!this.createTemplateForFormat(format, state)) {\r\n\t\t\t\t// Remove the format if it can't generate a template.\r\n\t\t\t\tthis.matchingFormats = this.matchingFormats.filter(_ => _ !== format)\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tthis.chosenFormat = format\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tif (!this.chosenFormat) {\r\n\t\t\t// No format matches the national (significant) phone number.\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t\treturn this.chosenFormat\r\n\t}\r\n\r\n\tcreateTemplateForFormat(format, state) {\r\n\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\r\n\t\t// (20|3)\\d{4}. In those cases we quickly return.\r\n\t\t// (Though there's no such format in current metadata)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Get formatting template for this phone number format\r\n\t\tconst template = this.getTemplateForFormat(format, state)\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (template) {\r\n\t\t\tthis.setNationalNumberTemplate(template, state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tgetSeparatorAfterNationalPrefix(format) {\r\n\t\t// `US` metadata doesn't have a `national_prefix_formatting_rule`,\r\n\t\t// so the `if` condition below doesn't apply to `US`,\r\n\t\t// but in reality there shoudl be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\t// So `US` national prefix separator is a \"special\" \"hardcoded\" case.\r\n\t\tif (this.isNANP) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// If a `format` has a `national_prefix_formatting_rule`\r\n\t\t// and that rule has a separator after a national prefix,\r\n\t\t// then it means that there should be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\tif (format &&\r\n\t\t\tformat.nationalPrefixFormattingRule() &&\r\n\t\t\tNATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// At this point, there seems to be no clear evidence that\r\n\t\t// there should be a separator between a national prefix\r\n\t\t// and a national (significant) number. So don't insert one.\r\n\t\treturn ''\r\n\t}\r\n\r\n\tgetInternationalPrefixBeforeCountryCallingCode({ IDDPrefix, missingPlus }, options) {\r\n\t\tif (IDDPrefix) {\r\n\t\t\treturn options && options.spacing === false ? IDDPrefix : IDDPrefix + ' '\r\n\t\t}\r\n\t\tif (missingPlus) {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\r\n\tgetTemplate(state) {\r\n\t\tif (!this.template) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// `this.template` holds the template for a \"complete\" phone number.\r\n\t\t// The currently entered phone number is most likely not \"complete\",\r\n\t\t// so trim all non-populated digits.\r\n\t\tlet index = -1\r\n\t\tlet i = 0\r\n\t\tconst internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, { spacing: false }) : ''\r\n\t\twhile (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\r\n\t\t\tindex = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1)\r\n\t\t\ti++\r\n\t\t}\r\n\t\treturn cutAndStripNonPairedParens(this.template, index + 1)\r\n\t}\r\n\r\n\tsetNationalNumberTemplate(template, state) {\r\n\t\tthis.nationalNumberTemplate = template\r\n\t\tthis.populatedNationalNumberTemplate = template\r\n\t\t// With a new formatting template, the matched position\r\n\t\t// using the old template needs to be reset.\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t\t// For convenience, the public `.template` property\r\n\t\t// contains the whole international number\r\n\t\t// if the phone number being input is international:\r\n\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t// a spacebar and then the template for the formatted national number.\r\n\t\tif (state.international) {\r\n\t\t\tthis.template =\r\n\t\t\t\tthis.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) +\r\n\t\t\t\trepeat(DIGIT_PLACEHOLDER, state.callingCode.length) +\r\n\t\t\t\t' ' +\r\n\t\t\t\ttemplate\r\n\t\t} else {\r\n\t\t\tthis.template = template\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Generates formatting template for a national phone number,\r\n\t * optionally containing a national prefix, for a format.\r\n\t * @param {Format} format\r\n\t * @param {string} nationalPrefix\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplateForFormat(format, {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t}) {\r\n\t\tlet pattern = format.pattern()\r\n\r\n\t\t/* istanbul ignore else */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\r\n\t\t\tpattern = pattern\r\n\t\t\t\t// Replace anything in the form of [..] with \\d\r\n\t\t\t\t.replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d')\r\n\t\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\r\n\t\t\t\t.replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d')\r\n\t\t}\r\n\r\n\t\t// Generate a dummy national number (consisting of `9`s)\r\n\t\t// that fits this format's `pattern`.\r\n\t\t//\r\n\t\t// This match will always succeed,\r\n\t\t// because the \"longest dummy phone number\"\r\n\t\t// has enough length to accomodate any possible\r\n\t\t// national phone number format pattern.\r\n\t\t//\r\n\t\tlet digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]\r\n\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (nationalSignificantNumber.length > digits.length) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Get a formatting template which can be used to efficiently format\r\n\t\t// a partial number where digits are added one by one.\r\n\r\n\t\t// Below `strictPattern` is used for the\r\n\t\t// regular expression (with `^` and `$`).\r\n\t\t// This wasn't originally in Google's `libphonenumber`\r\n\t\t// and I guess they don't really need it\r\n\t\t// because they're not using \"templates\" to format phone numbers\r\n\t\t// but I added `strictPattern` after encountering\r\n\t\t// South Korean phone number formatting bug.\r\n\t\t//\r\n\t\t// Non-strict regular expression bug demonstration:\r\n\t\t//\r\n\t\t// this.nationalSignificantNumber : `111111111` (9 digits)\r\n\t\t//\r\n\t\t// pattern : (\\d{2})(\\d{3,4})(\\d{4})\r\n\t\t// format : `$1 $2 $3`\r\n\t\t// digits : `9999999999` (10 digits)\r\n\t\t//\r\n\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\r\n\t\t//\r\n\t\t// template : xx xxxx xxxx\r\n\t\t//\r\n\t\t// But the correct template in this case is `xx xxx xxxx`.\r\n\t\t// The template was generated incorrectly because of the\r\n\t\t// `{3,4}` variability in the `pattern`.\r\n\t\t//\r\n\t\t// The fix is, if `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then `this.nationalSignificantNumber`\r\n\t\t// is used instead of `digits`.\r\n\r\n\t\tconst strictPattern = new RegExp('^' + pattern + '$')\r\n\t\tconst nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT)\r\n\r\n\t\t// If `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then use it\r\n\t\t// instead of `digits`.\r\n\t\tif (strictPattern.test(nationalNumberDummyDigits)) {\r\n\t\t\tdigits = nationalNumberDummyDigits\r\n\t\t}\r\n\r\n\t\tlet numberFormat = this.getFormatFormat(format, international)\r\n\t\tlet nationalPrefixIncludedInTemplate\r\n\r\n\t\t// If a user did input a national prefix (and that's guaranteed),\r\n\t\t// and if a `format` does have a national prefix formatting rule,\r\n\t\t// then see if that national prefix formatting rule\r\n\t\t// prepends exactly the same national prefix the user has input.\r\n\t\t// If that's the case, then use the `format` with the national prefix formatting rule.\r\n\t\t// Otherwise, use the `format` without the national prefix formatting rule,\r\n\t\t// and prepend a national prefix manually to it.\r\n\t\tif (this.shouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix })) {\r\n\t\t\tconst numberFormatWithNationalPrefix = numberFormat.replace(\r\n\t\t\t\tFIRST_GROUP_PATTERN,\r\n\t\t\t\tformat.nationalPrefixFormattingRule()\r\n\t\t\t)\r\n\t\t\t// If `national_prefix_formatting_rule` of a `format` simply prepends\r\n\t\t\t// national prefix at the start of a national (significant) number,\r\n\t\t\t// then such formatting can be used with `AsYouType` formatter.\r\n\t\t\t// There seems to be no `else` case: everywhere in metadata,\r\n\t\t\t// national prefix formatting rule is national prefix + $1,\r\n\t\t\t// or `($1)`, in which case such format isn't even considered\r\n\t\t\t// when the user has input a national prefix.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\r\n\t\t\t\tnumberFormat = numberFormatWithNationalPrefix\r\n\t\t\t\tnationalPrefixIncludedInTemplate = true\r\n\t\t\t\t// Replace all digits of the national prefix in the formatting template\r\n\t\t\t\t// with `DIGIT_PLACEHOLDER`s.\r\n\t\t\t\tif (nationalPrefix) {\r\n\t\t\t\t\tlet i = nationalPrefix.length\r\n\t\t\t\t\twhile (i > 0) {\r\n\t\t\t\t\t\tnumberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER)\r\n\t\t\t\t\t\ti--\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Generate formatting template for this phone number format.\r\n\t\tlet template = digits\r\n\t\t\t// Format the dummy phone number according to the format.\r\n\t\t\t.replace(new RegExp(pattern), numberFormat)\r\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER.\r\n\t\t\t.replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER)\r\n\r\n\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t// as just a basic national prefix, then just prepend such prefix\r\n\t\t// before the national (significant) number, optionally spacing\r\n\t\t// the two with a whitespace.\r\n\t\tif (!nationalPrefixIncludedInTemplate) {\r\n\t\t\tif (complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\t\t// Prepend the prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) +\r\n\t\t\t\t\t' ' +\r\n\t\t\t\t\ttemplate\r\n\t\t\t} else if (nationalPrefix) {\r\n\t\t\t\t// Prepend national prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) +\r\n\t\t\t\t\tthis.getSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (international) {\r\n\t\t\ttemplate = applyInternationalSeparatorStyle(template)\r\n\t\t}\r\n\r\n\t\treturn template\r\n\t}\r\n\r\n\tformatNextNationalNumberDigits(digits) {\r\n\t\tconst result = populateTemplateWithDigits(\r\n\t\t\tthis.populatedNationalNumberTemplate,\r\n\t\t\tthis.populatedNationalNumberTemplatePosition,\r\n\t\t\tdigits\r\n\t\t)\r\n\r\n\t\tif (!result) {\r\n\t\t\t// Reset the format.\r\n\t\t\tthis.resetFormat()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.populatedNationalNumberTemplate = result[0]\r\n\t\tthis.populatedNationalNumberTemplatePosition = result[1]\r\n\r\n\t\t// Return the formatted phone number so far.\r\n\t\treturn cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\r\n\t\t// The old way which was good for `input-format` but is not so good\r\n\t\t// for `react-phone-number-input`'s default input (`InputBasic`).\r\n\t\t// return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\t\t// \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\r\n\t}\r\n\r\n\tshouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix }) {\r\n\t\tif (format.nationalPrefixFormattingRule()) {\r\n\t\t\t// In some countries, `national_prefix_formatting_rule` is `($1)`,\r\n\t\t\t// so it applies even if the user hasn't input a national prefix.\r\n\t\t\t// `format.usesNationalPrefix()` detects such cases.\r\n\t\t\tconst usesNationalPrefix = format.usesNationalPrefix()\r\n\t\t\tif ((usesNationalPrefix && nationalPrefix) ||\r\n\t\t\t\t(!usesNationalPrefix && !international)) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import extractCountryCallingCode from './helpers/extractCountryCallingCode.js'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'\r\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js'\r\nimport stripIddPrefix from './helpers/stripIddPrefix.js'\r\nimport parseDigits from './helpers/parseDigits.js'\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants.js'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART =\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i')\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART =\r\n\t'(?:' +\r\n\t\t'[' + PLUS_CHARS + ']' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']*' +\r\n\t\t'|' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']+' +\r\n\t')'\r\n\r\nconst AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp(\r\n\t'[^' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+' +\r\n\t'.*' +\r\n\t'$'\r\n)\r\n\r\n// Tests whether `national_prefix_for_parsing` could match\r\n// different national prefixes.\r\n// Matches anything that's not a digit or a square bracket.\r\nconst COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/\r\n\r\nexport default class AsYouTypeParser {\r\n\tconstructor({\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata,\r\n\t\tonNationalSignificantNumberChange\r\n\t}) {\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.metadata = metadata\r\n\t\tthis.onNationalSignificantNumberChange = onNationalSignificantNumberChange\r\n\t}\r\n\r\n\tinput(text, state) {\r\n\t\tconst [formattedDigits, hasPlus] = extractFormattedDigitsAndPlus(text)\r\n\t\tconst digits = parseDigits(formattedDigits)\r\n\t\t// Checks for a special case: just a leading `+` has been entered.\r\n\t\tlet justLeadingPlus\r\n\t\tif (hasPlus) {\r\n\t\t\tif (!state.digits) {\r\n\t\t\t\tstate.startInternationalNumber()\r\n\t\t\t\tif (!digits) {\r\n\t\t\t\t\tjustLeadingPlus = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (digits) {\r\n\t\t\tthis.inputDigits(digits, state)\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number digits.\r\n\t * @param {string} digits\r\n\t * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n\t */\r\n\tinputDigits(nextDigits, state) {\r\n\t\tconst { digits } = state\r\n\t\tconst hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3\r\n\r\n\t\t// Append phone number digits.\r\n\t\tstate.appendDigits(nextDigits)\r\n\r\n\t\t// Attempt to extract IDD prefix:\r\n\t\t// Some users input their phone number in international format,\r\n\t\t// but in an \"out-of-country\" dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers as soon as there're at least 3 digits.\r\n\t\t// Google's library attempts to extract IDD prefix at 3 digits,\r\n\t\t// so this library just copies that behavior.\r\n\t\t// I guess that's because the most commot IDD prefixes are\r\n\t\t// `00` (Europe) and `011` (US).\r\n\t\t// There exist really long IDD prefixes too:\r\n\t\t// for example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t// An IDD prefix is extracted here, and then every time when\r\n\t\t// there's a new digit and the number couldn't be formatted.\r\n\t\tif (hasReceivedThreeLeadingDigits) {\r\n\t\t\tthis.extractIddPrefix(state)\r\n\t\t}\r\n\r\n\t\tif (this.isWaitingForCountryCallingCode(state)) {\r\n\t\t\tif (!this.extractCountryCallingCode(state)) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tstate.appendNationalSignificantNumberDigits(nextDigits)\r\n\t\t}\r\n\r\n\t\t// If a phone number is being input in international format,\r\n\t\t// then it's not valid for it to have a national prefix.\r\n\t\t// Still, some people incorrectly input such numbers with a national prefix.\r\n\t\t// In such cases, only attempt to strip a national prefix if the number becomes too long.\r\n\t\t// (but that is done later, not here)\r\n\t\tif (!state.international) {\r\n\t\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\t\tthis.extractNationalSignificantNumber(\r\n\t\t\t\t\tstate.getNationalDigits(),\r\n\t\t\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisWaitingForCountryCallingCode({ international, callingCode }) {\r\n\t\treturn international && !callingCode\r\n\t}\r\n\r\n\t// Extracts a country calling code from a number\r\n\t// being entered in internatonal format.\r\n\textractCountryCallingCode(state) {\r\n\t\tconst { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\t\t'+' + state.getDigitsWithoutInternationalPrefix(),\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (countryCallingCode) {\r\n\t\t\tstate.setCallingCode(countryCallingCode)\r\n\t\t\tstate.update({\r\n\t\t\t\tnationalSignificantNumber: number\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\treset(numberingPlan) {\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.hasSelectedNumberingPlan = true\r\n\t\t\tconst nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing()\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing)\r\n\t\t} else {\r\n\t\t\tthis.hasSelectedNumberingPlan = undefined\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Extracts a national (significant) number from user input.\r\n\t * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n\t * and doesn't apply `national_prefix_transform_rule` after that.\r\n\t * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n\t * @return {boolean} [extracted]\r\n\t */\r\n\textractNationalSignificantNumber(nationalDigits, setState) {\r\n\t\tif (!this.hasSelectedNumberingPlan) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\tif (nationalNumber === nationalDigits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\t/**\r\n\t * In Google's code this function is called \"attempt to extract longer NDD\".\r\n\t * \"Some national prefixes are a substring of others\", they say.\r\n\t * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n\t */\r\n\textractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\r\n\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\treturn this.extractNationalSignificantNumber(nationalDigits, setState)\r\n\t\t}\r\n\t\tif (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\t// If a national prefix has been extracted previously,\r\n\t\t// then it's always extracted as additional digits are added.\r\n\t\t// That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\r\n\t\t// doesn't do anything different from what it currently does.\r\n\t\t// So, just in case, here's this check, though it doesn't occur.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (nationalNumber === prevNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\tonExtractedNationalNumber(\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalDigits,\r\n\t\tsetState\r\n\t) {\r\n\t\tlet complexPrefixBeforeNationalSignificantNumber\r\n\t\tlet nationalSignificantNumberMatchesInput\r\n\t\t// This check also works with empty `this.nationalSignificantNumber`.\r\n\t\tconst nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber)\r\n\t\t// If the extracted national (significant) number is the\r\n\t\t// last substring of the `digits`, then it means that it hasn't been altered:\r\n\t\t// no digits have been removed from the national (significant) number\r\n\t\t// while applying `national_prefix_transform_rule`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\tif (nationalSignificantNumberIndex >= 0 &&\r\n\t\t\tnationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\r\n\t\t\tnationalSignificantNumberMatchesInput = true\r\n\t\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t\t// as just a basic national prefix, then such prefix is stored in\r\n\t\t\t// `this.complexPrefixBeforeNationalSignificantNumber` property and will be\r\n\t\t\t// prepended \"as is\" to the national (significant) number to produce\r\n\t\t\t// a formatted result.\r\n\t\t\tconst prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex)\r\n\t\t\t// `prefixBeforeNationalNumber` is always non-empty,\r\n\t\t\t// because `onExtractedNationalNumber()` isn't called\r\n\t\t\t// when a national (significant) number hasn't been actually \"extracted\":\r\n\t\t\t// when a national (significant) number is equal to the national part of `digits`,\r\n\t\t\t// then `onExtractedNationalNumber()` doesn't get called.\r\n\t\t\tif (prefixBeforeNationalNumber !== nationalPrefix) {\r\n\t\t\t\tcomplexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetState({\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tnationalSignificantNumberMatchesInput,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t\t})\r\n\t\t// `onExtractedNationalNumber()` is only called when\r\n\t\t// the national (significant) number actually did change.\r\n\t\tthis.hasExtractedNationalSignificantNumber = true\r\n\t\tthis.onNationalSignificantNumberChange()\r\n\t}\r\n\r\n\treExtractNationalSignificantNumber(state) {\r\n\t\t// Attempt to extract a national prefix.\r\n\t\t//\r\n\t\t// Some people incorrectly input national prefix\r\n\t\t// in an international phone number.\r\n\t\t// For example, some people write British phone numbers as `+44(0)...`.\r\n\t\t//\r\n\t\t// Also, in some rare cases, it is valid for a national prefix\r\n\t\t// to be a part of an international phone number.\r\n\t\t// For example, mobile phone numbers in Mexico are supposed to be\r\n\t\t// dialled internationally using a `1` national prefix,\r\n\t\t// so the national prefix will be part of an international number.\r\n\t\t//\r\n\t\t// Quote from:\r\n\t\t// https://www.mexperience.com/dialing-cell-phones-in-mexico/\r\n\t\t//\r\n\t\t// \"Dialing a Mexican cell phone from abroad\r\n\t\t// When you are calling a cell phone number in Mexico from outside Mexico,\r\n\t\t// it’s necessary to dial an additional “1” after Mexico’s country code\r\n\t\t// (which is “52”) and before the area code.\r\n\t\t// You also ignore the 045, and simply dial the area code and the\r\n\t\t// cell phone’s number.\r\n\t\t//\r\n\t\t// If you don’t add the “1”, you’ll receive a recorded announcement\r\n\t\t// asking you to redial using it.\r\n\t\t//\r\n\t\t// For example, if you are calling from the USA to a cell phone\r\n\t\t// in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\r\n\t\t// (Note that this is different to calling a land line in Mexico City\r\n\t\t// from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\r\n\t\t//\r\n\t\t// Google's demo output:\r\n\t\t// https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\r\n\t\t//\r\n\t\tif (this.extractAnotherNationalSignificantNumber(\r\n\t\t\tstate.getNationalDigits(),\r\n\t\t\tstate.nationalSignificantNumber,\r\n\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// If no format matches the phone number, then it could be\r\n\t\t// \"a really long IDD\" (quote from a comment in Google's library).\r\n\t\t// An IDD prefix is first extracted when the user has entered at least 3 digits,\r\n\t\t// and then here — every time when there's a new digit and the number\r\n\t\t// couldn't be formatted.\r\n\t\t// For example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t//\r\n\t\t// Could also check `!hasReceivedThreeLeadingDigits` here\r\n\t\t// to filter out the case when this check duplicates the one\r\n\t\t// already performed when there're 3 leading digits,\r\n\t\t// but it's not a big deal, and in most cases there\r\n\t\t// will be a suitable `format` when there're 3 leading digits.\r\n\t\t//\r\n\t\tif (this.extractIddPrefix(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// Google's AsYouType formatter supports sort of an \"autocorrection\" feature\r\n\t\t// when it \"autocorrects\" numbers that have been input for a country\r\n\t\t// with that country's calling code.\r\n\t\t// Such \"autocorrection\" feature looks weird, but different people have been requesting it:\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tif (this.fixMissingPlus(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\textractIddPrefix(state) {\r\n\t\t// An IDD prefix can't be present in a number written with a `+`.\r\n\t\t// Also, don't re-extract an IDD prefix if has already been extracted.\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tIDDPrefix,\r\n\t\t\tdigits,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = state\r\n\t\tif (international || IDDPrefix) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Some users input their phone number in \"out-of-country\"\r\n\t\t// dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(\r\n\t\t\tdigits,\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\r\n\t\t\t// If an IDD prefix was stripped then convert the IDD-prefixed number\r\n\t\t\t// to international number for subsequent parsing.\r\n\t\t\tstate.update({\r\n\t\t\t\tIDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\r\n\t\t\t})\r\n\t\t\tthis.startInternationalNumber(state, {\r\n\t\t\t\tcountry: undefined,\r\n\t\t\t\tcallingCode: undefined\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tfixMissingPlus(state) {\r\n\t\tif (!state.international) {\r\n\t\t\tconst {\r\n\t\t\t\tcountryCallingCode: newCallingCode,\r\n\t\t\t\tnumber\r\n\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\tstate.digits,\r\n\t\t\t\tthis.defaultCountry,\r\n\t\t\t\tthis.defaultCallingCode,\r\n\t\t\t\tthis.metadata.metadata\r\n\t\t\t)\r\n\t\t\tif (newCallingCode) {\r\n\t\t\t\tstate.update({\r\n\t\t\t\t\tmissingPlus: true\r\n\t\t\t\t})\r\n\t\t\t\tthis.startInternationalNumber(state, {\r\n\t\t\t\t\tcountry: state.country,\r\n\t\t\t\t\tcallingCode: newCallingCode\r\n\t\t\t\t})\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstartInternationalNumber(state, { country, callingCode }) {\r\n\t\tstate.startInternationalNumber(country, callingCode)\r\n\t\t// If a national (significant) number has been extracted before, reset it.\r\n\t\tif (state.nationalSignificantNumber) {\r\n\t\t\tstate.resetNationalSignificantNumber()\r\n\t\t\tthis.onNationalSignificantNumberChange()\r\n\t\t\tthis.hasExtractedNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\textractCallingCodeAndNationalSignificantNumber(state) {\r\n\t\tif (this.extractCountryCallingCode(state)) {\r\n\t\t\t// `this.extractCallingCode()` is currently called when the number\r\n\t\t\t// couldn't be formatted during the standard procedure.\r\n\t\t\t// Normally, the national prefix would be re-extracted\r\n\t\t\t// for an international number if such number couldn't be formatted,\r\n\t\t\t// but since it's already not able to be formatted,\r\n\t\t\t// there won't be yet another retry, so also extract national prefix here.\r\n\t\t\tthis.extractNationalSignificantNumber(\r\n\t\t\t\tstate.getNationalDigits(),\r\n\t\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\r\nfunction extractFormattedPhoneNumber(text) {\r\n\t// Attempt to extract a possible number from the string passed in.\r\n\tconst startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\t// Trim everything to the left of the phone number.\r\n\ttext = text.slice(startsAt)\r\n\t// Trim the `+`.\r\n\tlet hasPlus\r\n\tif (text[0] === '+') {\r\n\t\thasPlus = true\r\n\t\ttext = text.slice('+'.length)\r\n\t}\r\n\t// Trim everything to the right of the phone number.\r\n\ttext = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, '')\r\n\t// Re-add the previously trimmed `+`.\r\n\tif (hasPlus) {\r\n\t\ttext = '+' + text\r\n\t}\r\n\treturn text\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nfunction _extractFormattedDigitsAndPlus(text) {\r\n\t// Extract a formatted phone number part from text.\r\n\tconst extractedNumber = extractFormattedPhoneNumber(text) || ''\r\n\t// Trim a `+`.\r\n\tif (extractedNumber[0] === '+') {\r\n\t\treturn [extractedNumber.slice('+'.length), true]\r\n\t}\r\n\treturn [extractedNumber]\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nexport function extractFormattedDigitsAndPlus(text) {\r\n\tlet [formattedDigits, hasPlus] = _extractFormattedDigitsAndPlus(text)\r\n\t// If the extracted phone number part\r\n\t// can possibly be a part of some valid phone number\r\n\t// then parse phone number characters from a formatted phone number.\r\n\tif (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\r\n\t\tformattedDigits = ''\r\n\t}\r\n\treturn [formattedDigits, hasPlus]\r\n}","import Metadata from './metadata.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport AsYouTypeState from './AsYouTypeState.js'\r\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js'\r\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js'\r\nimport isObject from './helpers/isObject.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\tconst [defaultCountry, defaultCallingCode] = this.getCountryAndCallingCode(optionsOrDefaultCountry)\r\n\t\t// `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\r\n\t\t// For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\r\n\t\t// So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\tgetCountryAndCallingCode(optionsOrDefaultCountry) {\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (isObject(optionsOrDefaultCountry)) {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tdefaultCountry = undefined\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tdefaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [defaultCountry, defaultCallingCode]\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t} = this.parser.input(text, this.state)\r\n\t\tif (justLeadingPlus) {\r\n\t\t\tthis.formattedOutput = '+'\r\n\t\t} else if (digits) {\r\n\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tif (this.state.nationalSignificantNumber) {\r\n\t\t\t\tthis.formatter.narrowDownMatchingFormats(this.state)\r\n\t\t\t}\r\n\t\t\tlet formattedNationalNumber\r\n\t\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\t\tformattedNationalNumber = this.formatter.format(digits, this.state)\r\n\t\t\t}\r\n\t\t\tif (formattedNationalNumber === undefined) {\r\n\t\t\t\t// See if another national (significant) number could be re-extracted.\r\n\t\t\t\tif (this.parser.reExtractNationalSignificantNumber(this.state)) {\r\n\t\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\t\t// If it could, then re-try formatting the new national (significant) number.\r\n\t\t\t\t\tconst nationalDigits = this.state.getNationalDigits()\r\n\t\t\t\t\tif (nationalDigits) {\r\n\t\t\t\t\t\tformattedNationalNumber = this.formatter.format(nationalDigits, this.state)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.formattedOutput = formattedNationalNumber\r\n\t\t\t\t? this.getFullNumber(formattedNationalNumber)\r\n\t\t\t\t: this.getNonFormattedNumber()\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.state = new AsYouTypeState({\r\n\t\t\tonCountryChange: (country) => {\r\n\t\t\t\t// Before version `1.6.0`, the official `AsYouType` formatter API\r\n\t\t\t\t// included the `.country` property of an `AsYouType` instance.\r\n\t\t\t\t// Since that property (along with the others) have been moved to\r\n\t\t\t\t// `this.state`, `this.country` property is emulated for compatibility\r\n\t\t\t\t// with the old versions.\r\n\t\t\t\tthis.country = country\r\n\t\t\t},\r\n\t\t\tonCallingCodeChange: (callingCode, country) => {\r\n\t\t\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t\tthis.parser.reset(this.metadata.numberingPlan)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.formatter = new AsYouTypeFormatter({\r\n\t\t\tstate: this.state,\r\n\t\t\tmetadata: this.metadata\r\n\t\t})\r\n\t\tthis.parser = new AsYouTypeParser({\r\n\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\tdefaultCallingCode: this.defaultCallingCode,\r\n\t\t\tmetadata: this.metadata,\r\n\t\t\tstate: this.state,\r\n\t\t\tonNationalSignificantNumberChange: () => {\r\n\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.state.reset({\r\n\t\t\tcountry: this.defaultCountry,\r\n\t\t\tcallingCode: this.defaultCallingCode\r\n\t\t})\r\n\t\tthis.formattedOutput = ''\r\n\t\treturn this\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is being input in international format.\r\n\t * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisInternational() {\r\n\t\treturn this.state.international\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the \"calling code\" part of the phone number when it's being input\r\n\t * in an international format.\r\n\t * If no valid calling code has been entered so far, returns `undefined`.\r\n\t * @return {string} [callingCode]\r\n\t */\r\n\tgetCallingCode() {\r\n\t\t // If the number is being input in national format and some \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then `this.state.callingCode`\r\n\t\t // is equal to that \"default calling code\".\r\n\t\t //\r\n\t\t // If the number is being input in national format and no \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then returns `undefined`,\r\n\t\t // even if a \"default country\" has been passed to `AsYouType` constructor.\r\n\t\t //\r\n\t\tif (this.isInternational()) {\r\n\t\t\treturn this.state.callingCode\r\n\t\t}\r\n\t}\r\n\r\n\t// A legacy alias.\r\n\tgetCountryCallingCode() {\r\n\t\treturn this.getCallingCode()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * Returns `undefined` if no phone number has been input yet.\r\n\t * @return {string} [country]\r\n\t */\r\n\tgetCountry() {\r\n\t\tconst { digits } = this.state\r\n\t\t// Return `undefined` if no digits have been input yet.\r\n\t\tif (digits) {\r\n\t\t\treturn this._getCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * @return {string} [country]\r\n\t */\r\n\t_getCountry() {\r\n\t\tconst { country } = this.state\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t// `AsYouType.getCountry()` returns `undefined`\r\n\t\t\t// for \"non-geographic\" phone numbering plans.\r\n\t\t\tif (country === '001') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn country\r\n\t}\r\n\r\n\tdetermineTheCountryIfNeeded() {\r\n\t\t// Suppose a user enters a phone number in international format,\r\n\t\t// and there're several countries corresponding to that country calling code,\r\n\t\t// and a country has been derived from the number, and then\r\n\t\t// a user enters one more digit and the number is no longer\r\n\t\t// valid for the derived country, so the country should be re-derived\r\n\t\t// on every new digit in those cases.\r\n\t\t//\r\n\t\t// If the phone number is being input in national format,\r\n\t\t// then it could be a case when `defaultCountry` wasn't specified\r\n\t\t// when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\r\n\t\t// and that \"calling code\" could correspond to a \"non-geographic entity\",\r\n\t\t// or there could be several countries corresponding to that country calling code.\r\n\t\t// In those cases, `this.country` is `undefined` and should be derived\r\n\t\t// from the number. Again, if country calling code is ambiguous, then\r\n\t\t// `this.country` should be re-derived with each new digit.\r\n\t\t//\r\n\t\tif (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\tthis.determineTheCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t// Prepends `+CountryCode ` in case of an international phone number\r\n\tgetFullNumber(formattedNationalNumber) {\r\n\t\tif (this.isInternational()) {\r\n\t\t\tconst prefix = (text) => this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {\r\n\t\t\t\tspacing: text ? true : false\r\n\t\t\t}) + text\r\n\t\t\tconst { callingCode } = this.state\r\n\t\t\tif (!callingCode) {\r\n\t\t\t\treturn prefix(`${this.state.getDigitsWithoutInternationalPrefix()}`)\r\n\t\t\t}\r\n\t\t\tif (!formattedNationalNumber) {\r\n\t\t\t\treturn prefix(callingCode)\r\n\t\t\t}\r\n\t\t\treturn prefix(`${callingCode} ${formattedNationalNumber}`)\r\n\t\t}\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n\r\n\tgetNonFormattedNationalNumberWithPrefix() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber,\r\n\t\t\tnationalPrefix\r\n\t\t} = this.state\r\n\t\tlet number = nationalSignificantNumber\r\n\t\tconst prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix\r\n\t\tif (prefix) {\r\n\t\t\tnumber = prefix + number\r\n\t\t}\r\n\t\treturn number\r\n\t}\r\n\r\n\tgetNonFormattedNumber() {\r\n\t\tconst { nationalSignificantNumberMatchesInput } = this.state\r\n\t\treturn this.getFullNumber(\r\n\t\t\tnationalSignificantNumberMatchesInput\r\n\t\t\t\t? this.getNonFormattedNationalNumberWithPrefix()\r\n\t\t\t\t: this.state.getNationalDigits()\r\n\t\t)\r\n\t}\r\n\r\n\tgetNonFormattedTemplate() {\r\n\t\tconst number = this.getNonFormattedNumber()\r\n\t\tif (number) {\r\n\t\t\treturn number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER)\r\n\t\t}\r\n\t}\r\n\r\n\tisCountryCallingCodeAmbiguous() {\r\n\t\tconst { callingCode } = this.state\r\n\t\tconst countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\treturn countryCodes && countryCodes.length > 1\r\n\t}\r\n\r\n\t// Determines the country of the phone number\r\n\t// entered so far based on the country phone code\r\n\t// and the national phone number.\r\n\tdetermineTheCountry() {\r\n\t\tthis.state.setCountry(getCountryByCallingCode(\r\n\t\t\tthis.isInternational() ? this.state.callingCode : this.defaultCallingCode,\r\n\t\t\t{\r\n\t\t\t\tnationalNumber: this.state.nationalSignificantNumber,\r\n\t\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\t\tmetadata: this.metadata\r\n\t\t\t}\r\n\t\t))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a E.164 phone number value for the user's input.\r\n\t *\r\n\t * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n\t * it will return `\"+12223334444\"`.\r\n\t *\r\n\t * For international phone number input, it will also auto-correct\r\n\t * some minor errors such as using a national prefix when writing\r\n\t * an international phone number. For example, if the user inputs\r\n\t * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n\t * `\"+447400000000\"` phone number value.\r\n\t *\r\n\t * Will return `undefined` if no digits have been input,\r\n\t * or when inputting a phone number in national format and no\r\n\t * default country or default \"country calling code\" have been set.\r\n\t *\r\n\t * @return {string} [value]\r\n\t */\r\n\tgetNumberValue() {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tcallingCode,\r\n\t\t\tcountry,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = this.state\r\n\r\n\t \t// Will return `undefined` if no digits have been input.\r\n\t\tif (!digits) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (callingCode) {\r\n\t\t\t\treturn '+' + callingCode + nationalSignificantNumber\r\n\t\t\t} else {\r\n\t\t\t\treturn '+' + digits\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst callingCode_ = country ? this.metadata.countryCallingCode() : callingCode\r\n\t\t\t\treturn '+' + callingCode_ + nationalSignificantNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an instance of `PhoneNumber` class.\r\n\t * Will return `undefined` if no national (significant) number\r\n\t * digits have been entered so far, or if no `defaultCountry` has been\r\n\t * set and the user enters a phone number not in international format.\r\n\t */\r\n\tgetNumber() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcarrierCode,\r\n\t\t\tcallingCode\r\n\t\t} = this.state\r\n\r\n\t\t// `this._getCountry()` is basically same as `this.state.country`\r\n\t\t// with the only change that it return `undefined` in case of a\r\n\t\t// \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\r\n\t\tlet country = this._getCountry()\r\n\r\n\t\tif (!nationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// `state.country` and `state.callingCode` aren't required to be in sync.\r\n\t\t// For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\r\n\t\t// So `country` and `callingCode` are totally independent.\r\n\r\n\t\tif (!country && !callingCode) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// By default, if `defaultCountry` parameter was passed when\r\n\t\t// creating `AsYouType` instance, `state.country` is gonna be\r\n\t\t// that `defaultCountry`, which doesn't entirely conform with\r\n\t\t// `parsePhoneNumber()`'s behavior where it attempts to determine\r\n\t\t// the country more precisely in cases when multiple countries\r\n\t\t// could correspond to the same `countryCallingCode`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\r\n\t\t//\r\n\t\t// Because `AsYouType.getNumber()` method is supposed to be a 1:1\r\n\t\t// equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\r\n\t\t// then it should also behave accordingly in cases of `country` ambiguity.\r\n\t\t// That's how users of this library would expect it to behave anyway.\r\n\t\t//\r\n\t\tif (country) {\r\n\t\t\tif (country === this.defaultCountry) {\r\n\t\t\t\t// `state.country` and `state.callingCode` aren't required to be in sync.\r\n\t\t\t\t// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\r\n\t\t\t\t// So `state.country` and `state.callingCode` are totally independent.\r\n\t\t\t\tconst metadata = new Metadata(this.metadata.metadata)\r\n\t\t\t\tmetadata.selectNumberingPlan(country)\r\n\t\t\t\tconst callingCode = metadata.numberingPlan.callingCode()\r\n\t\t\t\tconst ambiguousCountries = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\t\t\tif (ambiguousCountries.length > 1) {\r\n\t\t\t\t\tconst exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\r\n\t\t\t\t\t\tcountries: ambiguousCountries,\r\n\t\t\t\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\t\t\t\tmetadata: this.metadata.metadata\r\n\t\t\t\t\t})\r\n\t\t\t\t\tif (exactCountry) {\r\n\t\t\t\t\t\tcountry = exactCountry\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountry || callingCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"possible\".\r\n\t * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisPossible() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isPossible()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"valid\".\r\n\t * Is just a shortcut for `PhoneNumber.isValid()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisValid() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isValid()\r\n\t}\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t * This method is used in `react-phone-number-input/source/input-control.js`\r\n\t * in versions before `3.0.16`.\r\n\t */\r\n\tgetNationalNumber() {\r\n\t\treturn this.state.nationalSignificantNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the phone number characters entered by the user.\r\n\t * @return {string}\r\n\t */\r\n\tgetChars() {\r\n\t\treturn (this.state.international ? '+' : '') + this.state.digits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the template for the formatted phone number.\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplate() {\r\n\t\treturn this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ''\r\n\t}\r\n}","import { getCountryCallingCode } from 'libphonenumber-js/core'\r\n\r\nexport function getPrefixForFormattingValueAsPhoneNumber({\r\n\tinputFormat,\r\n\tcountry,\r\n\tmetadata\r\n}) {\r\n\treturn inputFormat === 'NATIONAL_PART_OF_INTERNATIONAL' ?\r\n\t\t`+${getCountryCallingCode(country, metadata)}` :\r\n\t\t''\r\n}\r\n\r\nexport function removePrefixFromFormattedPhoneNumber(value, prefix) {\r\n\tif (prefix) {\r\n\t\tvalue = value.slice(prefix.length)\r\n\t\tif (value[0] === ' ') {\r\n\t\t\tvalue = value.slice(1)\r\n\t\t}\r\n\t}\r\n\treturn value\r\n}","import { parsePhoneNumberCharacter } from 'libphonenumber-js/core'\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object?} context - An optional object that could be used by this function to set arbitrary \"flags\". The object should be shared within the parsing of the whole string.\r\n * @return {string?} The parsed character.\r\n */\r\nexport default function parsePhoneNumberCharacter_(character, prevParsedCharacters, context) {\r\n\t// `context` argument was added as a third argument of `parse()` function\r\n\t// in `input-format` package on Dec 26th, 2023. So it could potentially be\r\n\t// `undefined` here if a 3rd-party app somehow ends up with this newer version\r\n\t// of `react-phone-number-input` and an older version of `input-format`.\r\n\t// Dunno how, but just in case, it could be `undefined` here and it wouldn't break.\r\n\t// Maybe it's not required to handle `undefined` case here.\r\n\t//\r\n\t// The addition of the `context` argument was to fix the slightly-weird behavior\r\n\t// of parsing an input string when the user inputs something like `\"2+7\"\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/437\r\n\t//\r\n\t// If the parser encounters an unexpected `+` in a string being parsed\r\n\t// then it simply discards that out-of-place `+` and any following characters.\r\n\t//\r\n\tif (context && context.ignoreRest) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst emitEvent = (eventName) => {\r\n\t\tif (context) {\r\n\t\t\tswitch (eventName) {\r\n\t\t\t\tcase 'end':\r\n\t\t\t\t\tcontext.ignoreRest = true\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent)\r\n}","import { useCallback } from 'react'\r\n\r\n// Returns a custom `onKeyDown` handler that works around a Backspace keypress edge case:\r\n// * ``\r\n// * When placing the caret before the leading plus character and pressing Backspace,\r\n// it duplicates the country calling code in the ``.\r\n// https://github.com/catamphetamine/react-phone-number-input/issues/442\r\nexport default function useInputKeyDownHandler({\r\n\tonKeyDown,\r\n\tinputFormat\r\n}) {\r\n\treturn useCallback((event) => {\r\n\t\t// Usability:\r\n\t\t// Don't allow the user to erase a leading \"+\" character when \"international\" input mode is forced.\r\n\t\t// That indicates to the user that they can't possibly enter the phone number in a non-international format.\r\n\t\tif (event.keyCode === BACKSPACE_KEY_CODE && inputFormat === 'INTERNATIONAL') {\r\n\t\t\t// It checks `event.target` here for being an `` element\r\n\t\t\t// because \"keydown\" events may bubble from arbitrary child elements\r\n\t\t\t// so there's no guarantee that `event.target` represents an `` element.\r\n\t\t\t// Also, since `inputComponent` is not neceesarily an ``, this check is required too.\r\n\t\t\tif (event.target instanceof HTMLInputElement) {\r\n\t\t\t\tif (getCaretPosition(event.target) === LEADING_PLUS.length) {\r\n\t\t\t\t\tevent.preventDefault()\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (onKeyDown) {\r\n\t\t\tonKeyDown(event)\r\n\t\t}\r\n\t}, [\r\n\t\tonKeyDown,\r\n\t\tinputFormat\r\n\t])\r\n}\r\n\r\n// Gets the caret position in an `` field.\r\n// The caret position starts with `0` which means \"before the first character\".\r\nfunction getCaretPosition(element) {\r\n\treturn element.selectionStart\r\n}\r\n\r\nconst BACKSPACE_KEY_CODE = 8\r\n\r\nconst LEADING_PLUS = '+'","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Input from 'input-format/react'\r\nimport { AsYouType } from 'libphonenumber-js/core'\r\n\r\nimport { getPrefixForFormattingValueAsPhoneNumber, removePrefixFromFormattedPhoneNumber } from './helpers/inputValuePrefix.js'\r\nimport parsePhoneNumberCharacter from './helpers/parsePhoneNumberCharacter.js'\r\n\r\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js'\r\n\r\nexport function createInput(defaultMetadata)\r\n{\r\n\t/**\r\n\t * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's and maintains the caret's position in the process.\r\n\t * The caret positioning is maintained using `input-format` library.\r\n\t * Relies on being run in a DOM environment for calling caret positioning functions.\r\n\t */\r\n\tfunction InputSmart({\r\n\t\tonKeyDown,\r\n\t\tcountry,\r\n\t\tinputFormat,\r\n\t\tmetadata = defaultMetadata,\r\n\t\t//\r\n\t\t// The rest of the properties listed here are just to get the `rest` props\r\n\t\t// that will be passed to the DOM `` element.\r\n\t\t//\r\n\t\t// `international` property is deprecated and is not used.\r\n\t\tinternational,\r\n\t\t// `withCountryCallingCode` property is deprecated and is not used.\r\n\t\twithCountryCallingCode,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst format = useCallback((value) => {\r\n\t\t\t// \"As you type\" formatter.\r\n\t\t\tconst formatter = new AsYouType(country, metadata)\r\n\r\n\t\t\tconst prefix = getPrefixForFormattingValueAsPhoneNumber({\r\n\t\t\t\tinputFormat,\r\n\t\t\t\tcountry,\r\n\t\t\t\tmetadata\r\n\t\t\t})\r\n\r\n\t\t\t// Format the number.\r\n\t\t\tlet text = formatter.input(prefix + value)\r\n\t\t\tlet template = formatter.getTemplate()\r\n\r\n\t\t\tif (prefix) {\r\n\t\t\t\ttext = removePrefixFromFormattedPhoneNumber(text, prefix)\r\n\t\t\t\t// `AsYouType.getTemplate()` can be `undefined`.\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate = removePrefixFromFormattedPhoneNumber(template, prefix)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\ttext,\r\n\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}, [\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\tconst _onKeyDown = useInputKeyDownHandler({\r\n\t\t\tonKeyDown,\r\n\t\t\tinputFormat\r\n\t\t})\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputSmart = React.forwardRef(InputSmart)\r\n\r\n\tInputSmart.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `event: Event`.\r\n\t\t * Handles `keydown` events.\r\n\t\t */\r\n\t\tonKeyDown: PropTypes.func,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * This property should've been called `defaultCountry`\r\n\t\t * because it only applies when the user inputs a phone number in a national format\r\n\t\t * and is completely ignored when the user inputs a phone number in an international format.\r\n\t\t */\r\n\t\tcountry: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * The format that the input field value is being input/output in.\r\n\t\t */\r\n\t\tinputFormat : PropTypes.oneOf([\r\n\t\t\t'INTERNATIONAL',\r\n\t\t\t'NATIONAL_PART_OF_INTERNATIONAL',\r\n\t\t\t'NATIONAL',\r\n\t\t\t'INTERNATIONAL_OR_NATIONAL'\r\n\t\t]).isRequired,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object\r\n\t}\r\n\r\n\treturn InputSmart\r\n}\r\n\r\nexport default createInput()","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core'\r\n\r\nimport { getPrefixForFormattingValueAsPhoneNumber, removePrefixFromFormattedPhoneNumber } from './helpers/inputValuePrefix.js'\r\n\r\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\t/**\r\n\t * `InputBasic` is the most basic implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's input but doesn't control the caret in the process:\r\n\t * when erasing or inserting digits in the middle of a phone number\r\n\t * the caret usually jumps to the end (this is the expected behavior).\r\n\t * Why does `InputBasic` exist when there's `InputSmart`?\r\n\t * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n\t * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n\t * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n\t */\r\n\tfunction InputBasic({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tonKeyDown,\r\n\t\tcountry,\r\n\t\tinputFormat,\r\n\t\tmetadata = defaultMetadata,\r\n\t\tinputComponent: Input = 'input',\r\n\t\t//\r\n\t\t// The rest of the properties listed here are just to get the `rest` props\r\n\t\t// that will be passed to the DOM `` element.\r\n\t\t//\r\n\t\t// `international` property is deprecated and is not used.\r\n\t\tinternational,\r\n\t\t// `withCountryCallingCode` property is deprecated and is not used.\r\n\t\twithCountryCallingCode,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst prefix = getPrefixForFormattingValueAsPhoneNumber({\r\n\t\t\tinputFormat,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst _onChange = useCallback((event) => {\r\n\t\t\tlet newValue = parseIncompletePhoneNumber(event.target.value)\r\n\t\t\t// By default, if a value is something like `\"(123)\"`\r\n\t\t\t// then Backspace would only erase the rightmost brace\r\n\t\t\t// becoming something like `\"(123\"`\r\n\t\t\t// which would give the same `\"123\"` value\r\n\t\t\t// which would then be formatted back to `\"(123)\"`\r\n\t\t\t// and so a user wouldn't be able to erase the phone number.\r\n\t\t\t//\r\n\t\t\t// This issue is worked around with this simple hack:\r\n\t\t\t// when \"old\" and \"new\" parsed values are the same,\r\n\t\t\t// it checks if the \"new\" formatted value could be obtained\r\n\t\t\t// from the \"old\" formatted value by erasing some (or no) characters at the right side.\r\n\t\t\t// If it could then it's likely that the user has hit a Backspace key\r\n\t\t\t// and what they really intended was to erase a rightmost digit rather than\r\n\t\t\t// a rightmost punctuation character.\r\n\t\t\t//\r\n\t\t\tif (newValue === value) {\r\n\t\t\t\tconst newValueFormatted = format(prefix, newValue, country, metadata)\r\n\t\t\t\tif (newValueFormatted.indexOf(event.target.value) === 0) {\r\n\t\t\t\t\t// Trim the last digit (or plus sign).\r\n\t\t\t\t\tnewValue = newValue.slice(0, -1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tonChange(newValue)\r\n\t\t}, [\r\n\t\t\tprefix,\r\n\t\t\tvalue,\r\n\t\t\tonChange,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\tconst _onKeyDown = useInputKeyDownHandler({\r\n\t\t\tonKeyDown,\r\n\t\t\tinputFormat\r\n\t\t})\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputBasic = React.forwardRef(InputBasic)\r\n\r\n\tInputBasic.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `event: Event`.\r\n\t\t * Handles `keydown` events.\r\n\t\t */\r\n\t\tonKeyDown: PropTypes.func,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * This property should've been called `defaultCountry`\r\n\t\t * because it only applies when the user inputs a phone number in a national format\r\n\t\t * and is completely ignored when the user inputs a phone number in an international format.\r\n\t\t */\r\n\t\tcountry : PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * The format that the input field value is being input/output in.\r\n\t\t */\r\n\t\tinputFormat : PropTypes.oneOf([\r\n\t\t\t'INTERNATIONAL',\r\n\t\t\t'NATIONAL_PART_OF_INTERNATIONAL',\r\n\t\t\t'NATIONAL',\r\n\t\t\t'INTERNATIONAL_OR_NATIONAL'\r\n\t\t]).isRequired,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object,\r\n\r\n\t\t/**\r\n\t\t * The `` component.\r\n\t\t */\r\n\t\tinputComponent: PropTypes.elementType\r\n\t}\r\n\r\n\treturn InputBasic\r\n}\r\n\r\nexport default createInput()\r\n\r\nfunction format(prefix, value, country, metadata) {\r\n\treturn removePrefixFromFormattedPhoneNumber(\r\n\t\tformatIncompletePhoneNumber(\r\n\t\t\tprefix + value,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t),\r\n\t\tprefix\r\n\t)\r\n}","import AsYouType from './AsYouType.js'\r\n\r\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string|object} [optionsOrDefaultCountry] - A two-letter (\"ISO 3166-1 alpha-2\") country code, or an object of shape `{ defaultCountry?: string, defaultCallingCode?: string }`.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\r\nexport default function formatIncompletePhoneNumber(value, optionsOrDefaultCountry, metadata) {\r\n\tif (!metadata) {\r\n\t\tmetadata = optionsOrDefaultCountry\r\n\t\toptionsOrDefaultCountry = undefined\r\n\t}\r\n\treturn new AsYouType(optionsOrDefaultCountry, metadata).input(value)\r\n}","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\r\nexport default function getCountryFlag(country) {\r\n\treturn getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1])\r\n}\r\n\r\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\r\nfunction getRegionalIndicatorSymbol(letter) {\r\n\treturn String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0))\r\n}","import React, { useCallback, useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode'\r\n\r\nexport default function CountrySelect({\r\n\tvalue,\r\n\tonChange,\r\n\toptions,\r\n\tdisabled,\r\n\treadOnly,\r\n\t...rest\r\n}) {\r\n\tconst onChange_ = useCallback((event) => {\r\n\t\tconst value = event.target.value\r\n\t\tonChange(value === 'ZZ' ? undefined : value)\r\n\t}, [onChange])\r\n\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\t// \"ZZ\" means \"International\".\r\n\t// (HTML requires each `\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nCountrySelect.propTypes = {\r\n\t/**\r\n\t * A two-letter country code.\r\n\t * Example: \"US\", \"RU\", etc.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string`.\r\n\t * Updates the `value` property.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// ``.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/419#issuecomment-1764384480\r\n\t// https://www.delftstack.com/howto/html/html-select-readonly/\r\n\t// To work around that, if `readOnly: true` property is passed\r\n\t// to this component, it behaves analogous to `disabled: true`.\r\n\tdisabled: PropTypes.bool,\r\n\treadOnly: PropTypes.bool\r\n}\r\n\r\nconst DIVIDER_STYLE = {\r\n\tfontSize: '1px',\r\n\tbackgroundColor: 'currentColor',\r\n\tcolor: 'inherit'\r\n}\r\n\r\nexport function CountrySelectWithIcon({\r\n\tvalue,\r\n\toptions,\r\n\tclassName,\r\n\ticonComponent: Icon,\r\n\tgetIconAspectRatio,\r\n\tarrowComponent: Arrow = DefaultArrowComponent,\r\n\tunicodeFlags,\r\n\t...rest\r\n}) {\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\r\n\t\t\t{/* Either a Unicode flag icon or an SVG flag icon. */}\r\n\t\t\t{selectedOption && (\r\n\t\t\t\tunicodeFlags && value ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{getUnicodeFlagIcon(value)}\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nCountrySelectWithIcon.propTypes = {\r\n\t// Country flag component.\r\n\ticonComponent: PropTypes.elementType,\r\n\r\n\t// Select arrow component.\r\n\tarrowComponent: PropTypes.elementType,\r\n\r\n\t// Set to `true` to render Unicode flag icons instead of SVG images.\r\n\tunicodeFlags: PropTypes.bool\r\n}\r\n\r\nfunction DefaultArrowComponent() {\r\n\treturn
\r\n}\r\n\r\nfunction getSelectedOption(options, value) {\r\n\tfor (const option of options) {\r\n\t\tif (!option.divider) {\r\n\t\t\tif (isSameOptionValue(option.value, value)) {\r\n\t\t\t\treturn option\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction isSameOptionValue(value1, value2) {\r\n\t// `undefined` is identical to `null`: both mean \"no country selected\".\r\n\tif (value1 === undefined || value1 === null) {\r\n\t\treturn value2 === undefined || value2 === null\r\n\t}\r\n\treturn value1 === value2\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\n// Default country flag icon.\r\n// `` is wrapped in a `
` to prevent SVGs from exploding in size in IE 11.\r\n// https://github.com/catamphetamine/react-phone-number-input/issues/111\r\nexport default function FlagComponent({\r\n\tcountry,\r\n\tcountryName,\r\n\tflags,\r\n\tflagUrl,\r\n\t...rest\r\n}) {\r\n\tif (flags && flags[country]) {\r\n\t\treturn flags[country]({ title: countryName })\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nFlagComponent.propTypes = {\r\n\t// The country to be selected by default.\r\n\t// Two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tcountry: PropTypes.string.isRequired,\r\n\r\n\t// Will be HTML `title` attribute of the ``.\r\n\tcountryName: PropTypes.string.isRequired,\r\n\r\n\t// Country flag icon components.\r\n\t// By default flag icons are inserted as ``s\r\n\t// with their `src` pointed to `country-flag-icons` gitlab pages website.\r\n\t// There might be cases (e.g. an offline application)\r\n\t// where having a large (3 megabyte) `` flags\r\n\t// bundle is more appropriate.\r\n\t// `import flags from 'react-phone-number-input/flags'`.\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t// A URL for a country flag icon.\r\n\t// By default it points to `country-flag-icons` gitlab pages website.\r\n\tflagUrl: PropTypes.string.isRequired\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport default function InternationalIcon({ aspectRatio, ...rest }) {\r\n\tif (aspectRatio === 1) {\r\n\t\treturn \r\n\t} else {\r\n\t\treturn \r\n\t}\r\n}\r\n\r\nInternationalIcon.propTypes = {\r\n\ttitle: PropTypes.string.isRequired,\r\n\taspectRatio: PropTypes.number\r\n}\r\n\r\n// 3x2.\r\n// Using `` in `<svg/>`s:\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title\r\nfunction InternationalIcon3x2({ title, ...rest }) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\t{...rest}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\tviewBox=\"0 0 75 50\">\r\n\t\t\t<title>{title}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nInternationalIcon3x2.propTypes = {\r\n\ttitle: PropTypes.string.isRequired\r\n}\r\n\r\n// 1x1.\r\n// Using `` in `<svg/>`s:\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title\r\nfunction InternationalIcon1x1({ title, ...rest }) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\t{...rest}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\tviewBox=\"0 0 50 50\">\r\n\t\t\t<title>{title}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nInternationalIcon1x1.propTypes = {\r\n\ttitle: PropTypes.string.isRequired\r\n}\r\n","// Tells if `value: string` is an `E.164` phone number.\r\n//\r\n// Returns a boolean.\r\n//\r\n// It doesn't validate that the minimum national (significant) number length\r\n// is at least 2 characters.\r\n//\r\nexport default function isE164Number(value) {\r\n\tif (value.length < 2) {\r\n\t\treturn false\r\n\t}\r\n\tif (value[0] !== '+') {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 1\r\n\twhile (i < value.length) {\r\n\t\tconst character = value.charCodeAt(i)\r\n\t\tif (character >= 48 && character <= 57) {\r\n\t\t\t// Is a digit.\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\nexport function validateE164Number(value) {\r\n\tif (!isE164Number(value)) {\r\n\t\tconsole.error('[react-phone-number-input] Expected the initial `value` to be a E.164 phone number. Got', value)\r\n\t}\r\n}","// Ignores weird istanbul error: \"else path not taken\".\r\nimport { isSupportedCountry } from 'libphonenumber-js/core'\r\nexport { getCountries } from 'libphonenumber-js/core'\r\n\r\n/**\r\n * Sorts country `` options\r\n * to the top of the list, for example.\r\n * @param {object[]} countryOptions — Country `` options order. Example: `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`.\r\n * @return {object[]}\r\n */\r\nexport function sortCountryOptions(options, order) {\r\n\tif (!order) {\r\n\t\treturn options\r\n\t}\r\n\tconst optionsOnTop = []\r\n\tconst optionsOnBottom = []\r\n\tlet appendTo = optionsOnTop\r\n\tfor (const element of order) {\r\n\t\tif (element === '|') {\r\n\t\t\tappendTo.push({ divider: true })\r\n\t\t} else if (element === '...' || element === '…') {\r\n\t\t\tappendTo = optionsOnBottom\r\n\t\t} else {\r\n\t\t\tlet countryCode\r\n\t\t\tif (element === '🌐') {\r\n\t\t\t\tcountryCode = undefined\r\n\t\t\t} else {\r\n\t\t\t\tcountryCode = element\r\n\t\t\t}\r\n\t\t\t// Find the position of the option.\r\n\t\t\tconst index = options.indexOf(options.filter(option => option.value === countryCode)[0])\r\n\t\t\t// Get the option.\r\n\t\t\tconst option = options[index]\r\n\t\t\t// Remove the option from its default position.\r\n\t\t\toptions.splice(index, 1)\r\n\t\t\t// Add the option on top.\r\n\t\t\tappendTo.push(option)\r\n\t\t}\r\n\t}\r\n\treturn optionsOnTop.concat(options).concat(optionsOnBottom)\r\n}\r\n\r\nexport function getSupportedCountryOptions(countryOptions, metadata) {\r\n\tif (countryOptions) {\r\n\t\tcountryOptions = countryOptions.filter((option) => {\r\n\t\t\tswitch (option) {\r\n\t\t\t\tcase '🌐':\r\n\t\t\t\tcase '|':\r\n\t\t\t\tcase '...':\r\n\t\t\t\tcase '…':\r\n\t\t\t\t\treturn true\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn isCountrySupportedWithError(option, metadata)\r\n\t\t\t}\r\n\t\t})\r\n\t\tif (countryOptions.length > 0) {\r\n\t\t\treturn countryOptions\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isCountrySupportedWithError(country, metadata) {\r\n\tif (isSupportedCountry(country, metadata)) {\r\n\t\treturn true\r\n\t} else {\r\n\t\tconsole.error(`Country not found: ${country}`)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nexport function getSupportedCountries(countries, metadata) {\r\n\tif (countries) {\r\n\t\tcountries = countries.filter(country => isCountrySupportedWithError(country, metadata))\r\n\t\tif (countries.length === 0) {\r\n\t\t\tcountries = undefined\r\n\t\t}\r\n\t}\r\n\treturn countries\r\n}","import Metadata from './metadata.js'\r\n\r\nexport default function getCountries(metadata) {\r\n\treturn new Metadata(metadata).getCountries()\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport DefaultInternationalIcon from './InternationalIcon.js'\r\nimport Flag from './Flag.js'\r\n\r\nexport function createCountryIconComponent({\r\n\tflags,\r\n\tflagUrl,\r\n\tflagComponent: FlagComponent,\r\n\tinternationalIcon: InternationalIcon\r\n}) {\r\n\tfunction CountryIcon({\r\n\t\tcountry,\r\n\t\tlabel,\r\n\t\taspectRatio,\r\n\t\t...rest\r\n\t}) {\r\n\t\t// `aspectRatio` is currently a hack for the default \"International\" icon\r\n\t\t// to render it as a square when Unicode flag icons are used.\r\n\t\t// So `aspectRatio` property is only used with the default \"International\" icon.\r\n\t\tconst _aspectRatio = InternationalIcon === DefaultInternationalIcon ? aspectRatio : undefined\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\tcountry\r\n\t\t\t\t\t?\r\n\t\t\t\t\t\r\n\t\t\t\t\t:\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tCountryIcon.propTypes = {\r\n\t\tcountry: PropTypes.string,\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t\taspectRatio: PropTypes.number\r\n\t}\r\n\r\n\treturn CountryIcon\r\n}\r\n\r\nexport default createCountryIconComponent({\r\n\t// Must be equal to `defaultProps.flagUrl` in `./PhoneInputWithCountry.js`.\r\n\tflagUrl: 'https://purecatamphetamine.github.io/country-flag-icons/3x2/{XX}.svg',\r\n\tflagComponent: Flag,\r\n\tinternationalIcon: DefaultInternationalIcon\r\n})","import { useRef, useCallback } from 'react'\r\n\r\n/**\r\n * This hook creates an internal copy of a `ref`\r\n * and returns a new `ref`-alike setter function\r\n * that updates both `ref` and the internal copy of it.\r\n * That `ref`-alike setter function could then be passed\r\n * to child elements instead of the original `ref`.\r\n *\r\n * The internal copy of the `ref` can then be used to\r\n * call instance methods like `.focus()`, etc.\r\n *\r\n * One may ask: why create a copy of `ref` for \"internal\" use\r\n * when the code could use the original `ref` for that.\r\n * The answer is: the code would have to dance around the original `ref` anyway\r\n * to figure out whether it exists and to find out the internal implementation of it\r\n * in order to read its value correctly. This hook encapsulates all that \"boilerplate\" code.\r\n * The returned copy of the `ref` is guaranteed to exist and functions as a proper ref \"object\".\r\n * The returned `ref`-alike setter function must be used instead of the original `ref`\r\n * when passing it to child elements.\r\n *\r\n * @param {(object|function)} [externalRef] — The original `ref` that may have any internal implementation and might not even exist.\r\n * @return {any[]} Returns an array of two elements: a copy of the `ref` for \"internal\" use and a `ref`-alike setter function that should be used in-place of the original `ref` when passing it to child elements.\r\n */\r\nexport default function useExternalRef(externalRef) {\r\n // Create a copy of the original `ref` (which might not exist).\r\n // Both refs will point to the same value.\r\n const refCopy = useRef()\r\n\r\n // Updates both `ref`s with the same `value`.\r\n const refSetter = useCallback((value) => {\r\n setRefsValue([externalRef, refCopy], value)\r\n }, [\r\n externalRef,\r\n refCopy\r\n ])\r\n\r\n return [refCopy, refSetter]\r\n}\r\n\r\n// Sets the same `value` of all `ref`s.\r\n// Some of the `ref`s may not exist in which case they'll be skipped.\r\nexport function setRefsValue(refs, value) {\r\n for (const ref of refs) {\r\n if (ref) {\r\n setRefValue(ref, value)\r\n }\r\n }\r\n}\r\n\r\n// Sets the value of a `ref`.\r\n// Before React Hooks were introduced, `ref`s used to be functions.\r\n// After React Hooks were introduces, `ref`s became objects with `.current` property.\r\n// This function sets a `ref`'s value regardless of its internal implementation,\r\n// so it supports both types of `ref`s.\r\nfunction setRefValue(ref, value) {\r\n if (typeof ref === 'function') {\r\n ref(value)\r\n } else {\r\n ref.current = value\r\n }\r\n}","import {\r\n\tgetCountryCallingCode,\r\n\tMetadata\r\n} from 'libphonenumber-js/core'\r\n\r\nconst ONLY_DIGITS_REGEXP = /^\\d+$/\r\n\r\nexport default function getInternationalPhoneNumberPrefix(country, metadata) {\r\n\t// Standard international phone number prefix: \"+\" and \"country calling code\".\r\n\tlet prefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t// \"Leading digits\" can't be used to rule out any countries.\r\n\t// So the \"pre-fill with leading digits on country selection\" feature had to be reverted.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/10#note_1231042367\r\n\t// // Get \"leading digits\" for a phone number of the country.\r\n\t// // If there're \"leading digits\" then they can be part of the prefix too.\r\n\t// // https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/10\r\n\t// metadata = new Metadata(metadata)\r\n\t// metadata.selectNumberingPlan(country)\r\n\t// // \"Leading digits\" patterns are only defined for about 20% of all countries.\r\n\t// // By definition, matching \"leading digits\" is a sufficient but not a necessary\r\n\t// // condition for a phone number to belong to a country.\r\n\t// // The point of \"leading digits\" check is that it's the fastest one to get a match.\r\n\t// // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t// const leadingDigits = metadata.numberingPlan.leadingDigits()\r\n\t// if (leadingDigits && ONLY_DIGITS_REGEXP.test(leadingDigits)) {\r\n\t// \tprefix += leadingDigits\r\n\t// }\r\n\r\n\treturn prefix\r\n}","import parsePhoneNumber_, {\r\n\tgetCountryCallingCode,\r\n\tAsYouType,\r\n\tMetadata\r\n} from 'libphonenumber-js/core'\r\n\r\nimport getInternationalPhoneNumberPrefix from './getInternationalPhoneNumberPrefix.js'\r\n\r\n/**\r\n * Decides which country should be pre-selected\r\n * when the phone number input component is first mounted.\r\n * @param {object?} phoneNumber - An instance of `PhoneNumber` class.\r\n * @param {string?} country - Pre-defined country (two-letter code).\r\n * @param {string[]?} countries - A list of countries available.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {string?}\r\n */\r\nexport function getPreSelectedCountry({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tlet country\r\n\r\n\t// If can get country from E.164 phone number\r\n\t// then it overrides the `country` passed (or not passed).\r\n\tif (phoneNumber && phoneNumber.country) {\r\n\t\t// `country` will be left `undefined` in case of non-detection.\r\n\t\tcountry = phoneNumber.country\r\n\t} else if (defaultCountry) {\r\n\t\tif (!value || couldNumberBelongToCountry(value, defaultCountry, metadata)) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// Only pre-select a country if it's in the available `countries` list.\r\n\tif (countries && countries.indexOf(country) < 0) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// If there will be no \"International\" option\r\n\t// then some `country` must be selected.\r\n\t// It will still be the wrong country though.\r\n\t// But still country `` options.\r\n * @param {string[]} countries - A list of two-letter (\"ISO 3166-1 alpha-2\") country codes.\r\n * @param {object} labels - Custom country labels. E.g. `{ RU: 'Россия', US: 'США', ... }`.\r\n * @param {boolean} addInternationalOption - Whether should include \"International\" option at the top of the list.\r\n * @return {object[]} A list of objects having shape `{ value : string, label : string }`.\r\n */\r\nexport function getCountrySelectOptions({\r\n\tcountries,\r\n\tcountryNames,\r\n\taddInternationalOption,\r\n\t// `locales` are only used in country name comparator:\r\n\t// depending on locale, string sorting order could be different.\r\n\tcompareStringsLocales,\r\n\tcompareStrings: _compareStrings\r\n}) {\r\n\t// Default country name comparator uses `String.localeCompare()`.\r\n\tif (!_compareStrings) {\r\n\t\t_compareStrings = compareStrings\r\n\t}\r\n\r\n\t// Generates a `` `value` for the newly selected `country`.\r\n * @param {string?} phoneDigits - Phone number digits (and `+`) parsed from phone number `` (it's not the same as the `value` property).\r\n * @param {string?} prevCountry - Previously selected country.\r\n * @param {string?} newCountry - Newly selected country. Can't be same as previously selected country.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @param {boolean} useNationalFormat - whether should attempt to convert from international to national number for the new country.\r\n * @return {string?}\r\n */\r\nexport function getPhoneDigitsForNewCountry(phoneDigits, {\r\n\tprevCountry,\r\n\tnewCountry,\r\n\tmetadata,\r\n\tuseNationalFormat\r\n}) {\r\n\tif (prevCountry === newCountry) {\r\n\t\treturn phoneDigits\r\n\t}\r\n\r\n\t// If `parsed_input` is empty\r\n\t// then no need to migrate anything.\r\n\tif (!phoneDigits) {\r\n\t\tif (useNationalFormat) {\r\n\t\t\treturn ''\r\n\t\t} else {\r\n\t\t\tif (newCountry) {\r\n\t\t\t\t// If `phoneDigits` is empty then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t}\r\n\t\t\treturn ''\r\n\t\t}\r\n\t}\r\n\r\n\t// If switching to some country.\r\n\t// (from \"International\" or another country)\r\n\t// If switching from \"International\" then `phoneDigits` starts with a `+`.\r\n\t// Otherwise it may or may not start with a `+`.\r\n\tif (newCountry) {\r\n\t\t// If the phone number was entered in international format\r\n\t\t// then migrate it to the newly selected country.\r\n\t\t// The phone number may be incomplete.\r\n\t\t// The phone number entered not necessarily starts with\r\n\t\t// the previously selected country phone prefix.\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\t// If the international phone number is for the new country\r\n\t\t\t// then convert it to local if required.\r\n\t\t\tif (useNationalFormat) {\r\n\t\t\t\t// // If a phone number is being input in international form\r\n\t\t\t\t// // and the country can already be derived from it,\r\n\t\t\t\t// // and if it is the new country, then format as a national number.\r\n\t\t\t\t// const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(phoneDigits, metadata)\r\n\t\t\t\t// if (derived_country === newCountry) {\r\n\t\t\t\t// \treturn stripCountryCallingCode(phoneDigits, derived_country, metadata)\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// Actually, the two countries don't necessarily need to match:\r\n\t\t\t\t// the condition could be looser here, because several countries\r\n\t\t\t\t// might share the same international phone number format\r\n\t\t\t\t// (for example, \"NANPA\" countries like US, Canada, etc).\r\n\t\t\t\t// The looser condition would be just \"same nternational phone number format\"\r\n\t\t\t\t// which would mean \"same country calling code\" in the context of `libphonenumber-js`.\r\n\t\t\t\tif (phoneDigits.indexOf('+' + getCountryCallingCode(newCountry, metadata)) === 0) {\r\n\t\t\t\t\treturn stripCountryCallingCode(phoneDigits, newCountry, metadata)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Simply discard the previously entered international phone number,\r\n\t\t\t\t// because otherwise any \"smart\" transformation like getting the\r\n\t\t\t\t// \"national (significant) number\" part and then prepending the\r\n\t\t\t\t// newly selected country's \"country calling code\" to it\r\n\t\t\t\t// would just be confusing for a user without being actually useful.\r\n\t\t\t\treturn ''\r\n\r\n\t\t\t\t// // Simply strip the leading `+` character\r\n\t\t\t\t// // therefore simply converting all digits into a \"local\" phone number.\r\n\t\t\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/287\r\n\t\t\t\t// return phoneDigits.slice(1)\r\n\t\t\t}\r\n\r\n\t\t\tif (prevCountry) {\r\n\t\t\t\tconst newCountryPrefix = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(newCountryPrefix) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newCountryPrefix\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst defaultValue = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is the same\r\n\t\t\t\t// as for the new `country`, then leave `phoneDigits` as is.\r\n\t\t\t\tif (phoneDigits.indexOf(defaultValue) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t}\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is not the same\r\n\t\t\t\t// as for the new `country`, then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn defaultValue\r\n\t\t\t}\r\n\r\n\t\t\t// // If the international phone number already contains\r\n\t\t\t// // any country calling code then trim the country calling code part.\r\n\t\t\t// // (that could also be the newly selected country phone code prefix as well)\r\n\t\t\t// // `phoneDigits` doesn't neccessarily belong to `prevCountry`.\r\n\t\t\t// // (e.g. if a user enters an international number\r\n\t\t\t// // not belonging to any of the reduced `countries` list).\r\n\t\t\t// phoneDigits = stripCountryCallingCode(phoneDigits, prevCountry, metadata)\r\n\r\n\t\t\t// // Prepend country calling code prefix\r\n\t\t\t// // for the newly selected country.\r\n\t\t\t// return e164(phoneDigits, newCountry, metadata) || `+${getCountryCallingCode(newCountry, metadata)}`\r\n\t\t}\r\n\t}\r\n\t// If switching to \"International\" from a country.\r\n\telse {\r\n\t\t// If the phone number was entered in national format.\r\n\t\tif (phoneDigits[0] !== '+') {\r\n\t\t\t// Format the national phone number as an international one.\r\n\t\t\t// The phone number entered not necessarily even starts with\r\n\t\t\t// the previously selected country phone prefix.\r\n\t\t\t// Even if the phone number belongs to whole another country\r\n\t\t\t// it will still be parsed into some national phone number.\r\n\t\t\t//\r\n\t\t\t// Ignore the now-uncovered `|| ''` code branch:\r\n\t\t\t// previously `e164()` function could return an empty string\r\n\t\t\t// even when `phoneDigits` were not empty.\r\n\t\t\t// Now it always returns some `value` when there're any `phoneDigits`.\r\n\t\t\t// Still, didn't remove the `|| ''` code branch just in case\r\n\t\t\t// that logic changes somehow in some future, so there're no\r\n\t\t\t// possible bugs related to that.\r\n\t\t\t//\r\n\t\t\t// (ignore the `|| ''` code branch)\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn e164(phoneDigits, prevCountry, metadata) || ''\r\n\t\t}\r\n\t}\r\n\r\n\treturn phoneDigits\r\n}\r\n\r\n/**\r\n * Converts phone number digits to a (possibly incomplete) E.164 phone number.\r\n * @param {string?} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function e164(number, country, metadata) {\r\n\tif (!number) {\r\n\t\treturn\r\n\t}\r\n\t// If the phone number is being input in international format.\r\n\tif (number[0] === '+') {\r\n\t\t// If it's just the `+` sign then return nothing.\r\n\t\tif (number === '+') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Return a E.164 phone number.\r\n\t\t//\r\n\t\t// Could return `number` \"as is\" here, but there's a possibility\r\n\t\t// that some user might incorrectly input an international number\r\n\t\t// with a \"national prefix\". Such numbers aren't considered valid,\r\n\t\t// but `libphonenumber-js` is \"forgiving\" when it comes to parsing\r\n\t\t// user's input, and this input component follows that behavior.\r\n\t\t//\r\n\t\tconst asYouType = new AsYouType(country, metadata)\r\n\t\tasYouType.input(number)\r\n\t\t// This function would return `undefined` only when `number` is `\"+\"`,\r\n\t\t// but at this point it is known that `number` is not `\"+\"`.\r\n\t\treturn asYouType.getNumberValue()\r\n\t}\r\n\t// For non-international phone numbers\r\n\t// an accompanying country code is required.\r\n\t// The situation when `country` is `undefined`\r\n\t// and a non-international phone number is passed\r\n\t// to this function shouldn't happen.\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\tconst partial_national_significant_number = getNationalSignificantNumberDigits(number, country, metadata)\r\n\t//\r\n\t// Even if no \"national (significant) number\" digits have been input,\r\n\t// still return a non-`undefined` value.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/113\r\n\t//\r\n\t// For example, if the user has selected country `US` and entered `\"1\"`\r\n\t// then that `\"1\"` is just a \"national prefix\" and no \"national (significant) number\"\r\n\t// digits have been input yet. Still, return `\"+1\"` as `value` in such cases,\r\n\t// because otherwise the app would think that the input is empty and mark it as such\r\n\t// while in reality it isn't empty, which might be thought of as a \"bug\", or just\r\n\t// a \"weird\" behavior.\r\n\t//\r\n\t// if (partial_national_significant_number) {\r\n\t\treturn `+${getCountryCallingCode(country, metadata)}${partial_national_significant_number || ''}`\r\n\t// }\r\n}\r\n\r\n/**\r\n * Trims phone number digits if they exceed the maximum possible length\r\n * for a national (significant) number for the country.\r\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} Can be empty.\r\n */\r\nexport function trimNumber(number, country, metadata) {\r\n\tconst nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (nationalSignificantNumberPart) {\r\n\t\tconst overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country, metadata)\r\n\t\tif (overflowDigitsCount > 0) {\r\n\t\t\treturn number.slice(0, number.length - overflowDigitsCount)\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}\r\n\r\nfunction getMaxNumberLength(country, metadata) {\r\n\t// Get \"possible lengths\" for a phone number of the country.\r\n\tmetadata = new Metadata(metadata)\r\n\tmetadata.selectNumberingPlan(country)\r\n\t// Return the last \"possible length\".\r\n\treturn metadata.numberingPlan.possibleLengths()[metadata.numberingPlan.possibleLengths().length - 1]\r\n}\r\n\r\n// If the phone number being input is an international one\r\n// then tries to derive the country from the phone number.\r\n// (regardless of whether there's any country currently selected)\r\n/**\r\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {string?} defaultCountry — Default country.\r\n * @param {string?} latestCountrySelectedByUser — The latest country that has been manually selected by the user.\r\n * @param {boolean?} required — Whether \"International\" option could be selected, meaning \"no country is selected\".\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryForPartialE164Number(partialE164Number, {\r\n\tcountry,\r\n\tcountries,\r\n\tdefaultCountry,\r\n\tlatestCountrySelectedByUser,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\t// `partialE164Number` is supposed to be an E.164 phone number.\r\n\r\n\t// `partialE164Number` is supposed to be non-empty when calling this function\r\n\t// so it doesn't check for `if (!partialE164Number)`.\r\n\r\n\tif (partialE164Number === '+') {\r\n\t\t// Don't change the currently selected country yet.\r\n\t\treturn country\r\n\t}\r\n\r\n\tconst derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number, metadata)\r\n\r\n\t// If a phone number is being input in international form\r\n\t// and the country can already be derived from it,\r\n\t// then select that country.\r\n\tif (derived_country) {\r\n\t\tif (!countries || (countries.indexOf(derived_country) >= 0)) {\r\n\t\t\treturn derived_country\r\n\t\t} else {\r\n\t\t\treturn undefined\r\n\t\t}\r\n\t}\r\n\t// Otherwise, if the phone number doesn't correspond to any particular country.\r\n\t// If some country was previously selected.\r\n\telse if (country) {\r\n\t\t// If the international phone number entered could still correspond to the previously selected country\r\n\t\t// and also to some other country or countries corresponding to the same calling code\r\n\t\t// then it should reset the currently selected country to reflect the ambiguity.\r\n\t\tif (couldNumberBelongToCountry(partialE164Number, country, metadata)) {\r\n\t\t\t// Reset the country either to the latest one that was manually selected by the user\r\n\t\t\t// or to the default country or just reset the country selection.\r\n\t\t\tif (latestCountrySelectedByUser && couldNumberBelongToCountry(partialE164Number, latestCountrySelectedByUser, metadata)) {\r\n\t\t\t\treturn latestCountrySelectedByUser\r\n\t\t\t} else if (defaultCountry && couldNumberBelongToCountry(partialE164Number, defaultCountry, metadata)) {\r\n\t\t\t\treturn defaultCountry\r\n\t\t\t} else {\r\n\t\t\t\tif (!required) {\r\n\t\t\t\t\t// Just reset the currently selected country.\r\n\t\t\t\t\treturn undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// If \"International\" country option has not been disabled\r\n\t\t\t// and the international phone number entered doesn't necessarily correspond to\r\n\t\t\t// the currently selected country and it could not possibly correspond to it\r\n\t\t\t// then reset the currently selected country.\r\n\t\t\tif (!required) {\r\n\t\t\t\treturn undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Don't change the currently selected country.\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Parses `` value. Derives `country` from `input`. Derives an E.164 `value`.\r\n * @param {string?} phoneDigits — Parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} prevPhoneDigits — Previous parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string?} defaultCountry - Default country.\r\n * @param {string?} latestCountrySelectedByUser - The latest country that has been manually selected by the user.\r\n * @param {boolean} countryRequired - Is selecting some country required.\r\n * @param {function} getAnyCountry - Can be used to get any country when selecting some country required.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {boolean} international - Set to `true` to force international phone number format (leading `+`). Set to `false` to force \"national\" phone number format. Is `undefined` by default.\r\n * @param {boolean} limitMaxLength — Whether to enable limiting phone number max length.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {object} An object of shape `{ phoneDigits, country, value }`. `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`. The returned `phoneDigits` shouldn't be used anywhere except for passing it as `prevPhoneDigits` parameter to this same function on next input change event.\r\n */\r\nexport function onPhoneDigitsChange(phoneDigits, {\r\n\tprevPhoneDigits,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tlatestCountrySelectedByUser,\r\n\tcountryRequired,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\tinternational,\r\n\tlimitMaxLength,\r\n\tcountryCallingCodeEditable,\r\n\tmetadata\r\n}) {\r\n\t// When the input is in `international` and `countryCallingCodeEditable={false}` mode,\r\n\t// the `country` should not change. If the user attempted to overwrite the country callling code part,\r\n\t// the component should reset it back to the correct country calling code for the `country`.\r\n\tif (international && countryCallingCodeEditable === false) {\r\n\t\tif (country) {\r\n\t\t\t// For international phone numbers written with non-editable country calling code,\r\n\t\t\t// the `` value must always start with that non-editable country calling code.\r\n\t\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t\t// If the input value doesn't start with the non-editable country calling code,\r\n\t\t\t// it should be fixed.\r\n\t\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\t\tlet value\r\n\t\t\t\t// If a phone number input is declared as\r\n\t\t\t\t// `international: true` and `countryCallingCodeEditable: false`,\r\n\t\t\t\t// then the value of the `` is gonna be non-empty at all times,\r\n\t\t\t\t// even before the user has started to input any digits in the input field,\r\n\t\t\t\t// because the country calling code is always there by design.\r\n\t\t\t\t//\r\n\t\t\t\t// The fact that the input value is always non-empty results in a side effect:\r\n\t\t\t\t// whenever a user tabs into such input field, its value gets automatically selected.\r\n\t\t\t\t// If at that moment in time the user starts typing in the national digits of the phone number,\r\n\t\t\t\t// the selected `` value gets automatically replaced by those typed-in digits\r\n\t\t\t\t// so the value changes from `+xxx` to `y`, because inputting anything while having\r\n\t\t\t\t// the `` value selected results in erasing that `` value.\r\n\t\t\t\t//\r\n\t\t\t\t// This component handles such cases by restoring the `` value to what\r\n\t\t\t\t// it should be in such cases: `+xxxy`.\r\n\t\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\t\t//\r\n\t\t\t\tconst hasStartedTypingInNationalNumberDigitsHavingInputValueSelected = phoneDigits && phoneDigits[0] !== '+'\r\n\t\t\t\tif (hasStartedTypingInNationalNumberDigitsHavingInputValueSelected) {\r\n\t\t\t\t\t// Fix the input value to what it should be: `y` → `+xxxy`.\r\n\t\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// In other cases, simply reset the `` value, because there're only two\r\n\t\t\t\t\t// possible cases:\r\n\t\t\t\t\t// * The user has selected the `` value and then hit Delete/Backspace to erase it.\r\n\t\t\t\t\t// * The user has pasted an international phone number for another country calling code,\r\n\t\t\t\t\t// which is considered a non-valid value.\r\n\t\t\t\t\tphoneDigits = prefix\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tphoneDigits,\r\n\t\t\t\t\tvalue,\r\n\t\t\t\t\tcountry\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `international` property is `false`, then it means\r\n\t// \"enforce national-only format during input\",\r\n\t// so, if that's the case, then remove all `+` characters,\r\n\t// but only if some country is currently selected.\r\n\t// (not if \"International\" country is selected).\r\n\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// Trim the input to not exceed the maximum possible number length.\r\n\tif (phoneDigits && country && limitMaxLength) {\r\n\t\tphoneDigits = trimNumber(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// If this `onChange()` event was triggered\r\n\t// as a result of selecting \"International\" country,\r\n\t// then force-prepend a `+` sign if the phone number\r\n\t// `` value isn't in international format.\r\n\t// Also, force-prepend a `+` sign if international\r\n\t// phone number input format is set.\r\n\tif (phoneDigits && phoneDigits[0] !== '+' && (!country || international)) {\r\n\t\tphoneDigits = '+' + phoneDigits\r\n\t}\r\n\r\n\t// If the previously entered phone number\r\n\t// has been entered in international format\r\n\t// and the user decides to erase it,\r\n\t// then also reset the `country`\r\n\t// because it was most likely automatically selected\r\n\t// while the user was typing in the phone number\r\n\t// in international format.\r\n\t// This fixes the issue when a user is presented\r\n\t// with a phone number input with no country selected\r\n\t// and then types in their local phone number\r\n\t// then discovers that the input's messed up\r\n\t// (a `+` has been prepended at the start of their input\r\n\t// and a random country has been selected),\r\n\t// decides to undo it all by erasing everything\r\n\t// and then types in their local phone number again\r\n\t// resulting in a seemingly correct phone number\r\n\t// but in reality that phone number has incorrect country.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/273\r\n\tif (!phoneDigits && prevPhoneDigits && prevPhoneDigits[0] === '+') {\r\n\t\tif (international) {\r\n\t\t\tcountry = undefined\r\n\t\t} else {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\t// Also resets such \"randomly\" selected country\r\n\t// as soon as the user erases the number\r\n\t// digit-by-digit up to the leading `+` sign.\r\n\tif (phoneDigits === '+' && prevPhoneDigits && prevPhoneDigits[0] === '+' && prevPhoneDigits.length > '+'.length) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// Generate the new `value` property.\r\n\tlet value\r\n\tif (phoneDigits) {\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\tif (phoneDigits === '+') {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else if (country && getInternationalPhoneNumberPrefix(country, metadata).indexOf(phoneDigits) === 0) {\r\n\t\t\t\t// Selected a `country` and started inputting an\r\n\t\t\t\t// international phone number for this country\r\n\t\t\t\t// but hasn't input any \"national (significant) number\" digits yet.\r\n\t\t\t\t// In that case, assume `value` be `undefined`.\r\n\t\t\t\t//\r\n\t\t\t\t// For example, if selected `country` `\"US\"`\r\n\t\t\t\t// and started inputting phone number `\"+1\"`\r\n\t\t\t\t// then `value` `undefined` will be returned from this function.\r\n\t\t\t\t//\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else {\r\n\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// Derive the country from the phone number.\r\n\t// (regardless of whether there's any country currently selected,\r\n\t// because there could be several countries corresponding to one country calling code)\r\n\tif (value) {\r\n\t\tcountry = getCountryForPartialE164Number(value, {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tdefaultCountry,\r\n\t\t\tlatestCountrySelectedByUser,\r\n\t\t\t// `countryRequired` flag is not passed here.\r\n\t\t\t// Instead, it's explicitly checked a bit later in the code.\r\n\t\t\trequired: false,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\t// If `international` property is `false`, then it means\r\n\t\t// \"enforce national-only format during input\",\r\n\t\t// so, if that's the case, then remove all `+` characters,\r\n\t\t// but only if some country is currently selected.\r\n\t\t// (not if \"International\" country is selected).\r\n\t\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t\t\t// Re-calculate `value` because `phoneDigits` has changed.\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\tif (!country && countryRequired) {\r\n\t\tcountry = defaultCountry || getAnyCountry()\r\n\t}\r\n\r\n\treturn {\r\n\t\t// `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`.\r\n\t\t// The returned `phoneDigits` shouldn't be used anywhere except for passing it as\r\n\t\t// `prevPhoneDigits` parameter to this same function on next input change event.\r\n\t\tphoneDigits,\r\n\t\tcountry,\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\nfunction convertInternationalPhoneDigitsToNational(input, country, metadata) {\r\n\t// Handle the case when a user might have pasted\r\n\t// a phone number in international format.\r\n\tif (input.indexOf(getInternationalPhoneNumberPrefix(country, metadata)) === 0) {\r\n\t\t// Create \"as you type\" formatter.\r\n\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t// Input partial national phone number.\r\n\t\tformatter.input(input)\r\n\t\t// Return the parsed partial national phone number.\r\n\t\tconst phoneNumber = formatter.getNumber()\r\n\t\tif (phoneNumber) {\r\n\t\t\t// Transform the number to a national one,\r\n\t\t\t// and remove all non-digits.\r\n\t\t\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n\t\t} else {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t} else {\r\n\t\t// Just remove the `+` sign.\r\n\t\treturn input.replace(/\\D/g, '')\r\n\t}\r\n}\r\n\r\n/**\r\n * Determines the country for a given (possibly incomplete) E.164 phone number.\r\n * @param {string} number - A possibly incomplete E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryFromPossiblyIncompleteInternationalPhoneNumber(number, metadata) {\r\n\tconst formatter = new AsYouType(null, metadata)\r\n\tformatter.input(number)\r\n\t// // `001` is a special \"non-geograpical entity\" code\r\n\t// // in Google's `libphonenumber` library.\r\n\t// if (formatter.getCountry() === '001') {\r\n\t// \treturn\r\n\t// }\r\n\treturn formatter.getCountry()\r\n}\r\n\r\n/**\r\n * Compares two strings.\r\n * A helper for `Array.sort()`.\r\n * @param {string} a — First string.\r\n * @param {string} b — Second string.\r\n * @param {(string[]|string)} [locales] — The `locales` argument of `String.localeCompare`.\r\n */\r\nexport function compareStrings(a, b, locales) {\r\n // Use `String.localeCompare` if it's available.\r\n // https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\r\n // Which means everyone except IE <= 10 and Safari <= 10.\r\n // `localeCompare()` is available in latest Node.js versions.\r\n /* istanbul ignore else */\r\n if (String.prototype.localeCompare) {\r\n return a.localeCompare(b, locales);\r\n }\r\n /* istanbul ignore next */\r\n return a < b ? -1 : (a > b ? 1 : 0);\r\n}\r\n\r\n/**\r\n * Strips `+${countryCallingCode}` prefix from an E.164 phone number.\r\n * @param {string} number - (possibly incomplete) E.164 phone number.\r\n * @param {string?} country - A possible country for this phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string}\r\n */\r\nexport function stripCountryCallingCode(number, country, metadata) {\r\n\t// Just an optimization, so that it\r\n\t// doesn't have to iterate through all country calling codes.\r\n\tif (country) {\r\n\t\tconst countryCallingCodePrefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t\t// If `country` fits the actual `number`.\r\n\t\tif (number.length < countryCallingCodePrefix.length) {\r\n\t\t\tif (countryCallingCodePrefix.indexOf(number) === 0) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (number.indexOf(countryCallingCodePrefix) === 0) {\r\n\t\t\t\treturn number.slice(countryCallingCodePrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `country` doesn't fit the actual `number`.\r\n\t// Try all available country calling codes.\r\n\tfor (const country_calling_code of Object.keys(metadata.country_calling_codes)) {\r\n\t\tif (number.indexOf(country_calling_code) === '+'.length) {\r\n\t\t\treturn number.slice('+'.length + country_calling_code.length)\r\n\t\t}\r\n\t}\r\n\r\n\treturn ''\r\n}\r\n\r\n/**\r\n * Parses a partially entered national phone number digits\r\n * (or a partially entered E.164 international phone number)\r\n * and returns the national significant number part.\r\n * National significant number returned doesn't come with a national prefix.\r\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} [result]\r\n */\r\nexport function getNationalSignificantNumberDigits(number, country, metadata) {\r\n\t// Create \"as you type\" formatter.\r\n\tconst formatter = new AsYouType(country, metadata)\r\n\t// Input partial national phone number.\r\n\tformatter.input(number)\r\n\t// Return the parsed partial national phone number.\r\n\tconst phoneNumber = formatter.getNumber()\r\n\treturn phoneNumber && phoneNumber.nationalNumber\r\n}\r\n\r\n/**\r\n * Checks if a partially entered E.164 phone number could belong to a country.\r\n * @param {string} number\r\n * @param {string} country\r\n * @return {boolean}\r\n */\r\nexport function couldNumberBelongToCountry(number, country, metadata) {\r\n\tconst intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\tlet i = 0\r\n\twhile (i < number.length && i < intlPhoneNumberPrefix.length) {\r\n\t\tif (number[i] !== intlPhoneNumberPrefix[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/**\r\n * Gets initial \"phone digits\" (including `+`, if using international format).\r\n * @return {string} [phoneDigits] Returns `undefined` if there should be no initial \"phone digits\".\r\n */\r\nexport function getInitialPhoneDigits({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tinternational,\r\n\tuseNationalFormat,\r\n\tmetadata\r\n}) {\r\n\t// If the `value` (E.164 phone number)\r\n\t// belongs to the currently selected country\r\n\t// and `useNationalFormat` is `true`\r\n\t// then convert `value` (E.164 phone number)\r\n\t// to a local phone number digits.\r\n\t// E.g. '+78005553535' -> '88005553535'.\r\n\tif ((international === false || useNationalFormat) && phoneNumber && phoneNumber.country) {\r\n\t\treturn generateNationalNumberDigits(phoneNumber)\r\n\t}\r\n\t// If `international` property is `true`,\r\n\t// meaning \"enforce international phone number format\",\r\n\t// then always show country calling code in the input field.\r\n\tif (!value && international && defaultCountry) {\r\n\t\treturn getInternationalPhoneNumberPrefix(defaultCountry, metadata)\r\n\t}\r\n\treturn value\r\n}\r\n\r\n// function doesIncompletePhoneNumberCorrespondToASingleCountry(value, metadata) {\r\n// \t// Create \"as you type\" formatter.\r\n// \tconst formatter = new AsYouType(undefined, metadata)\r\n// \t// Input partial national phone number.\r\n// \tformatter.input(value)\r\n// \t// Return the parsed partial national phone number.\r\n// \tconst phoneNumber = formatter.getNumber()\r\n// \tif (phoneNumber) {\r\n// \t\treturn phoneNumber.getPossibleCountries().length === 1\r\n// \t} else {\r\n// \t\treturn false\r\n// \t}\r\n// }","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber_ from './parsePhoneNumber_.js'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n","import {\r\n\tgetInitialPhoneDigits,\r\n\tgetCountryForPartialE164Number,\r\n\tparsePhoneNumber,\r\n\tcouldNumberBelongToCountry\r\n} from './phoneInputHelpers.js'\r\n\r\nimport { validateE164Number } from './isE164Number.js'\r\n\r\nimport getInternationalPhoneNumberPrefix from './getInternationalPhoneNumberPrefix.js'\r\n\r\nimport {\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries\r\n} from './countries.js'\r\n\r\nexport default function getPhoneInputWithCountryStateUpdateFromNewProps(props, prevProps, state) {\r\n\tconst {\r\n\t\tmetadata,\r\n\t\tcountries,\r\n\t\tdefaultCountry: newDefaultCountry,\r\n\t\tvalue: newValue,\r\n\t\treset: newReset,\r\n\t\tinternational,\r\n\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t// superceded by `initialValueFormat` property.\r\n\t\tdisplayInitialValueAsLocalNumber,\r\n\t\tinitialValueFormat\r\n\t} = props\r\n\r\n\tconst {\r\n\t\tdefaultCountry: prevDefaultCountry,\r\n\t\tvalue: prevValue,\r\n\t\treset: prevReset\r\n\t} = prevProps\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tvalue,\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\t\thasUserSelectedACountry,\r\n\t\tlatestCountrySelectedByUser\r\n\t} = state\r\n\r\n\tconst _getInitialPhoneDigits = (parameters) => getInitialPhoneDigits({\r\n\t\t...parameters,\r\n\t\tinternational,\r\n\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\tmetadata\r\n\t})\r\n\r\n\t// Some users requested a way to reset the component\r\n\t// (both number `` and country ``\r\n\t// and country ``.\r\n\t// It's also not replaced with just resetting `country` on\r\n\t// external `value` reset, because a user could select a country\r\n\t// and then not input any `value`, and so the selected country\r\n\t// would be \"stuck\", if not using this `reset` property.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\tif (newReset !== prevReset) {\r\n\t\treturn {\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: undefined,\r\n\t\t\tcountry: newDefaultCountry,\r\n\t\t\tlatestCountrySelectedByUser: undefined,\r\n\t\t\thasUserSelectedACountry: undefined\r\n\t\t}\r\n\t}\r\n\r\n\t// `value` is the value currently shown in the component:\r\n\t// it's stored in the component's `state`, and it's not the `value` property.\r\n\t// `prevValue` is \"previous `value` property\".\r\n\t// `newValue` is \"new `value` property\".\r\n\r\n\t// If the default country changed\r\n\t// (e.g. in case of ajax GeoIP detection after page loaded)\r\n\t// then select it, but only if the user hasn't already manually\r\n\t// selected a country, and no phone number has been manually entered so far.\r\n\t// Because if the user has already started inputting a phone number\r\n\t// then they're okay with no country being selected at all (\"International\")\r\n\t// and they don't want to be disturbed, don't want their input to be screwed, etc.\r\n\tif (newDefaultCountry !== prevDefaultCountry) {\r\n\t\tconst isNewDefaultCountrySupported = !newDefaultCountry || isCountrySupportedWithError(newDefaultCountry, metadata)\r\n\t\tconst noValueHasBeenEnteredByTheUser = (\r\n\t\t\t// By default, \"no value has been entered\" means `value` is `undefined`.\r\n\t\t\t!value ||\r\n\t\t\t// When `international` is `true`, and some country has been pre-selected,\r\n\t\t\t// then the `` contains a pre-filled value of `+${countryCallingCode}${leadingDigits}`,\r\n\t\t\t// so in case of `international` being `true`, \"the user hasn't entered anything\" situation\r\n\t\t\t// doesn't just mean `value` is `undefined`, but could also mean `value` is `+${countryCallingCode}`.\r\n\t\t\t(international && value === _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: prevDefaultCountry\r\n\t\t\t}))\r\n\t\t)\r\n\t\t// Only update the `defaultCountry` property if no phone number\r\n\t\t// has been entered by the user or pre-set by the application.\r\n\t\tconst noValueHasBeenEntered = !newValue && noValueHasBeenEnteredByTheUser\r\n\t\tif (!hasUserSelectedACountry && isNewDefaultCountrySupported && noValueHasBeenEntered) {\r\n\t\t\treturn {\r\n\t\t\t\tcountry: newDefaultCountry,\r\n\t\t\t\t// If `phoneDigits` is empty, then automatically select the new `country`\r\n\t\t\t\t// and set `phoneDigits` to `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\t// The code assumes that \"no phone number has been entered by the user\",\r\n\t\t\t\t// and no `value` property has been passed, so the `phoneNumber` parameter\r\n\t\t\t\t// of `_getInitialPhoneDigits({ value, phoneNumber, ... })` is `undefined`.\r\n\t\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\t\tvalue: undefined,\r\n\t\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t\t}),\r\n\t\t\t\t// `value` is `undefined` and it stays so.\r\n\t\t\t\tvalue: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If a new `value` is set externally.\r\n\t// (e.g. as a result of an ajax API request\r\n\t// to get user's phone after page loaded)\r\n\t// The first part — `newValue !== prevValue` —\r\n\t// is basically `props.value !== prevProps.value`\r\n\t// so it means \"if value property was changed externally\".\r\n\t// The second part — `newValue !== value` —\r\n\t// is for ignoring the `getDerivedStateFromProps()` call\r\n\t// which happens in `this.onChange()` right after `this.setState()`.\r\n\t// If this `getDerivedStateFromProps()` call isn't ignored\r\n\t// then the country flag would reset on each input.\r\n\tif (!valuesAreEqual(newValue, prevValue) && !valuesAreEqual(newValue, value)) {\r\n\t\tlet phoneNumber\r\n\t\tlet parsedCountry\r\n\t\tif (newValue) {\r\n\t\t\t// Validate that the newly-supplied `value` is in `E.164` format.\r\n\t\t\t// Because sometimes people attempt to supply a `value` like \"+1 (879) 490-8676\".\r\n\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/231#note_2016334796\r\n\t\t\tif (newValue) {\r\n\t\t\t\tvalidateE164Number(newValue)\r\n\t\t\t}\r\n\t\t\tphoneNumber = parsePhoneNumber(newValue, metadata)\r\n\t\t\tconst supportedCountries = getSupportedCountries(countries, metadata)\r\n\t\t\tif (phoneNumber && phoneNumber.country) {\r\n\t\t\t\t// Ignore `else` because all countries are supported in metadata.\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tif (!supportedCountries || supportedCountries.indexOf(phoneNumber.country) >= 0) {\r\n\t\t\t\t\tparsedCountry = phoneNumber.country\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tparsedCountry = getCountryForPartialE164Number(newValue, {\r\n\t\t\t\t\tcountry: undefined,\r\n\t\t\t\t\tcountries: supportedCountries,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t})\r\n\r\n\t\t\t\t// In cases when multiple countries correspond to the same country calling code,\r\n\t\t\t\t// the phone number digits of `newValue` have to be matched against country-specific\r\n\t\t\t\t// regular expressions in order to determine the exact country.\r\n\t\t\t\t// Sometimes, that algorithm can't decide for sure which country does the phone number belong to,\r\n\t\t\t\t// for example when the digits of `newValue` don't match any of those regular expressions.\r\n\t\t\t\t// and the country of the phone number couldn't be determined.\r\n\t\t\t\t// In those cases, people prefer the component to show the flag of the `defaultCountry`\r\n\t\t\t\t// if the phone number could potentially belong to that `defaultCountry`.\r\n\t\t\t\t// At least that's how the component behaves when a user pastes an international\r\n\t\t\t\t// phone number into the input field: for example, when `defaultCountry` is `\"US\"`\r\n\t\t\t\t// and the user pastes value \"+1 555 555 5555\" into the input field, it keep showing \"US\" flag.\r\n\t\t\t\t// So when setting new `value` property externally, the component should behave the same way:\r\n\t\t\t\t// it should select the `defaultCountry` when the new `value` could potentially belong\r\n\t\t\t\t// to that country in cases when the exact country can't be determined.\r\n\t\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/413#issuecomment-1536219404\r\n\t\t\t\tif (!parsedCountry) {\r\n\t\t\t\t\tif (newDefaultCountry) {\r\n\t\t\t\t\t\tif (newValue.indexOf(getInternationalPhoneNumberPrefix(newDefaultCountry, metadata)) === 0) {\r\n\t\t\t\t\t\t\tparsedCountry = newDefaultCountry\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet userCountrySelectionHistoryStateUpdate\r\n\t\tif (newValue) {\r\n\t\t\t// If the latest country that has been manually selected by the user\r\n\t\t\t// no longer corresponds to the new value then reset it.\r\n\t\t\tif (latestCountrySelectedByUser) {\r\n\t\t\t\tconst couldNewValueCorrespondToLatestCountrySelectedByUser =\r\n\t\t\t\t\tparsedCountry\r\n\t\t\t\t\t\t? latestCountrySelectedByUser === parsedCountry\r\n\t\t\t\t\t\t: couldNumberBelongToCountry(newValue, latestCountrySelectedByUser, metadata)\r\n\r\n\t\t\t\tif (couldNewValueCorrespondToLatestCountrySelectedByUser) {\r\n\t\t\t\t\tif (!parsedCountry) {\r\n\t\t\t\t\t\tparsedCountry = latestCountrySelectedByUser\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuserCountrySelectionHistoryStateUpdate = {\r\n\t\t\t\t\t\tlatestCountrySelectedByUser: undefined\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// When the `value` property is being reset \"externally\",\r\n\t\t\t// reset any tracking of the country that the user has previously selected.\r\n\t\t\tuserCountrySelectionHistoryStateUpdate = {\r\n\t\t\t\tlatestCountrySelectedByUser: undefined,\r\n\t\t\t\thasUserSelectedACountry: undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\t...userCountrySelectionHistoryStateUpdate,\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tvalue: newValue,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: newValue,\r\n\t\t\tcountry: newValue ? parsedCountry : newDefaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// `defaultCountry` didn't change.\r\n\t// `value` didn't change.\r\n\t// `phoneDigits` didn't change, because `value` didn't change.\r\n\t//\r\n\t// So no need to update state.\r\n}\r\n\r\nexport function valuesAreEqual(value1, value2) {\r\n\t// If `value` has been set to `null` externally then convert it to `undefined`.\r\n\t//\r\n\t// For example, `react-hook-form` sets `value` to `null` when the user clears the input.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/164\r\n\t// In that case, without this conversion of `null` to `undefined`, it would reset\r\n\t// the selected country to `defaultCountry` because in that case `newValue !== value`\r\n\t// because `null !== undefined`.\r\n\t//\r\n\t// Historically, empty `value` is encoded as `undefined`.\r\n\t// Perhaps empty `value` would be better encoded as `null` instead.\r\n\t// But because that would be a potentially breaking change for some people,\r\n\t// it's left as is for the current \"major\" version of this library.\r\n\t//\r\n\tif (value1 === null) {\r\n\t\tvalue1 = undefined\r\n\t}\r\n\tif (value2 === null) {\r\n\t\tvalue2 = undefined\r\n\t}\r\n\treturn value1 === value2\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport InputSmart from './InputSmart.js'\r\nimport InputBasic from './InputBasic.js'\r\n\r\nimport { CountrySelectWithIcon as CountrySelect } from './CountrySelect.js'\r\n\r\nimport Flag from './Flag.js'\r\nimport InternationalIcon from './InternationalIcon.js'\r\n\r\nimport { validateE164Number } from './helpers/isE164Number.js'\r\n\r\nimport {\r\n\tsortCountryOptions,\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries,\r\n\tgetSupportedCountryOptions,\r\n\tgetCountries\r\n} from './helpers/countries.js'\r\n\r\nimport { createCountryIconComponent } from './CountryIcon.js'\r\n\r\nimport { setRefsValue } from './useExternalRef.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tcouldNumberBelongToCountry,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tgetPhoneDigitsForNewCountry,\r\n\tgetInitialPhoneDigits,\r\n\tonPhoneDigitsChange,\r\n\te164\r\n} from './helpers/phoneInputHelpers.js'\r\n\r\nimport getPhoneInputWithCountryStateUpdateFromNewProps from './helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js'\r\n\r\nclass PhoneNumberInput_ extends React.PureComponent {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\r\n\t\tthis.inputRef = React.createRef()\r\n\r\n\t\tconst {\r\n\t\t\tvalue,\r\n\t\t\tlabels,\r\n\t\t\tinternational,\r\n\t\t\taddInternationalOption,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tlet {\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries\r\n\t\t} = this.props\r\n\r\n\t\t// Validate `defaultCountry`.\r\n\t\tif (defaultCountry) {\r\n\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\tdefaultCountry = undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Validate that the initially-supplied `value` is in `E.164` format.\r\n\t\t// Because sometimes people attempt to supply a `value` like \"+1 (879) 490-8676\".\r\n\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/231#note_2016334796\r\n\t\tif (value) {\r\n\t\t\tvalidateE164Number(value)\r\n\t\t}\r\n\r\n\t\t// Validate `countries`.\r\n\t\tcountries = getSupportedCountries(countries, metadata)\r\n\r\n\t\tconst phoneNumber = parsePhoneNumber(value, metadata)\r\n\r\n\t\tthis.CountryIcon = createCountryIconComponent(this.props)\r\n\r\n\t\tconst preSelectedCountry = getPreSelectedCountry({\r\n\t\t\tvalue,\r\n\t\t\tphoneNumber,\r\n\t\t\tdefaultCountry,\r\n\t\t\trequired: !addInternationalOption,\r\n\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Workaround for `this.props` inside `getDerivedStateFromProps()`.\r\n\t\t\tprops: this.props,\r\n\r\n\t\t\t// The country selected.\r\n\t\t\tcountry: preSelectedCountry,\r\n\r\n\t\t\t// `countries` are stored in `this.state` because they're filtered.\r\n\t\t\t// For example, a developer might theoretically pass some unsupported\r\n\t\t\t// countries as part of the `countries` property, and because of that\r\n\t\t\t// the component uses `this.state.countries` (which are filtered)\r\n\t\t\t// instead of `this.props.countries`\r\n\t\t\t// (which could potentially contain unsupported countries).\r\n\t\t\tcountries,\r\n\r\n\t\t\t// `phoneDigits` state property holds non-formatted user's input.\r\n\t\t\t// The reason is that there's no way of finding out\r\n\t\t\t// in which form should `value` be displayed: international or national.\r\n\t\t\t// E.g. if `value` is `+78005553535` then it could be input\r\n\t\t\t// by a user both as `8 (800) 555-35-35` and `+7 800 555 35 35`.\r\n\t\t\t// Hence storing just `value` is not sufficient for correct formatting.\r\n\t\t\t// E.g. if a user entered `8 (800) 555-35-35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `88005553535`\r\n\t\t\t// and if a user entered `+7 800 555 35 35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `+78005553535`.\r\n\t\t\tphoneDigits: getInitialPhoneDigits({\r\n\t\t\t\tvalue,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tdefaultCountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\t\t\tmetadata\r\n\t\t\t}),\r\n\r\n\t\t\t// `value` property is duplicated in state.\r\n\t\t\t// The reason is that `getDerivedStateFromProps()`\r\n\t\t\t// needs this `value` to compare to the new `value` property\r\n\t\t\t// to find out if `phoneDigits` needs updating:\r\n\t\t\t// If the `value` property was changed externally\r\n\t\t\t// then it won't be equal to `state.value`\r\n\t\t\t// in which case `phoneDigits` and `country` should be updated.\r\n\t\t\tvalue\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tlet { defaultCountry } = this.props\r\n\t\tconst { country: selectedCountry } = this.state\r\n\t\tif (onCountryChange) {\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\t\tdefaultCountry = undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (selectedCountry !== defaultCountry) {\r\n\t\t\t\tonCountryChange(selectedCountry)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps, prevState) {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tconst { country } = this.state\r\n\t\t// Call `onCountryChange` when user selects another country.\r\n\t\tif (onCountryChange && country !== prevState.country) {\r\n\t\t\tonCountryChange(country)\r\n\t\t}\r\n\t}\r\n\r\n\t// This function mimicks `refSetter` function returned from `useExternalRef()` hook\r\n\t// because this class-like React component can't use the `useExternalRef()` hook.\r\n\tsetInputRef = (instance) => {\r\n\t\tsetRefsValue([this.props.inputRef, this.inputRef], instance)\r\n\t}\r\n\r\n\tgetCountrySelectOptions({ countries }) {\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tlocales,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\treturn this.useMemoCountrySelectOptions(() => {\r\n\t\t\treturn sortCountryOptions(\r\n\t\t\t\tgetCountrySelectOptions({\r\n\t\t\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\t\t\tcountryNames: labels,\r\n\t\t\t\t\taddInternationalOption: (international && countryCallingCodeEditable === false) ? false : addInternationalOption,\r\n\t\t\t\t\tcompareStringsLocales: locales,\r\n\t\t\t\t\t// compareStrings\r\n\t\t\t\t}),\r\n\t\t\t\tgetSupportedCountryOptions(countryOptionsOrder, metadata)\r\n\t\t\t)\r\n\t\t}, [\r\n\t\t\tcountries,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tmetadata\r\n\t\t])\r\n\t}\r\n\r\n\tuseMemoCountrySelectOptions(generator, dependencies) {\r\n\t\tif (\r\n\t\t\t!this.countrySelectOptionsMemoDependencies ||\r\n\t\t\t!areEqualArrays(dependencies, this.countrySelectOptionsMemoDependencies)\r\n\t\t) {\r\n\t\t\tthis.countrySelectOptionsMemo = generator()\r\n\t\t\tthis.countrySelectOptionsMemoDependencies = dependencies\r\n\t\t}\r\n\t\treturn this.countrySelectOptionsMemo\r\n\t}\r\n\r\n\tgetFirstSupportedCountry({ countries }) {\r\n\t\tconst countryOptions = this.getCountrySelectOptions({ countries })\r\n\t\treturn countryOptions[0].value\r\n\t}\r\n\r\n\t// A shorthand for not passing `metadata` as a second argument.\r\n\tisCountrySupportedWithError = (country) => {\r\n\t\tconst { metadata } = this.props\r\n\t\treturn isCountrySupportedWithError(country, metadata)\r\n\t}\r\n\r\n\t// Country `` holds any digits\r\n\t\t// then migrate those digits for the new `country`.\r\n\t\tconst newPhoneDigits = getPhoneDigitsForNewCountry(prevPhoneDigits, {\r\n\t\t\tprevCountry,\r\n\t\t\tnewCountry,\r\n\t\t\tmetadata,\r\n\t\t\t// Convert the phone number to \"national\" format\r\n\t\t\t// when the user changes the selected country by hand.\r\n\t\t\tuseNationalFormat: !international\r\n\t\t})\r\n\r\n\t\tconst newValue = e164(newPhoneDigits, newCountry, metadata)\r\n\r\n\t\t// Focus phone number `` upon country selection.\r\n\t\tif (focusInputOnCountrySelection) {\r\n\t\t\tthis.inputRef.current.focus()\r\n\t\t}\r\n\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\r\n\t\tthis.setState({\r\n\t\t\tcountry: newCountry,\r\n\t\t\tlatestCountrySelectedByUser: newCountry,\r\n\t\t\thasUserSelectedACountry: true,\r\n\t\t\tphoneDigits: newPhoneDigits,\r\n\t\t\tvalue: newValue\r\n\t\t},\r\n\t\t() => {\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\tonChange(newValue)\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * `` `onChange()` handler.\r\n\t * Updates `value` property accordingly (so that they are kept in sync).\r\n\t * @param {string?} input — Either a parsed phone number or an empty string. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t */\r\n\tonChange = (_phoneDigits) => {\r\n\t\tconst {\r\n\t\t\tdefaultCountry,\r\n\t\t\tonChange,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits: prevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tlatestCountrySelectedByUser\r\n\t\t} = this.state\r\n\r\n\t\tconst {\r\n\t\t\t// `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`.\r\n\t\t\t// The returned `phoneDigits` shouldn't be used anywhere except for passing it as\r\n\t\t\t// `prevPhoneDigits` parameter to the same `onPhoneDigitsChange()` function\r\n\t\t\t// on next input change event.\r\n\t\t\tphoneDigits,\r\n\t\t\tcountry,\r\n\t\t\tvalue\r\n\t\t} = onPhoneDigitsChange(_phoneDigits, {\r\n\t\t\tprevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tcountryRequired: !addInternationalOption,\r\n\t\t\tdefaultCountry,\r\n\t\t\tlatestCountrySelectedByUser,\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tcountries,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst stateUpdate = {\r\n\t\t\tphoneDigits,\r\n\t\t\tvalue,\r\n\t\t\tcountry\r\n\t\t}\r\n\r\n\t\t// Reset `latestCountrySelectedByUser` if it no longer fits the `value`.\r\n\t\tif (latestCountrySelectedByUser && value && !couldNumberBelongToCountry(value, latestCountrySelectedByUser, metadata)) {\r\n\t\t\tstateUpdate.latestCountrySelectedByUser = undefined\r\n\t\t}\r\n\r\n\t\tif (countryCallingCodeEditable === false) {\r\n\t\t\t// If it simply did `setState({ phoneDigits: intlPrefix })` here,\r\n\t\t\t// then it would have no effect when erasing an inital international prefix\r\n\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t// forcefully rerendered here.\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/367#issuecomment-721703501\r\n\t\t\tif (!value && phoneDigits === this.state.phoneDigits) {\r\n\t\t\t\t// Force a re-render of the `` in order to reset its value.\r\n\t\t\t\tstateUpdate.forceRerender = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\tstateUpdate,\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\t() => onChange(value)\r\n\t\t)\r\n\t}\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onFocus = () => this.setState({ isFocused: true })\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onBlur = () => this.setState({ isFocused: false })\r\n\r\n\tonFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\tconst { onFocus } = this.props\r\n\t\tif (onFocus) {\r\n\t\t\tonFocus(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonBlur = (event) => {\r\n\t\tconst { onBlur } = this.props\r\n\t\tthis._onBlur()\r\n\t\tif (onBlur) {\r\n\t\t\tonBlur(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\t// this.setState({ countrySelectFocused: true })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onFocus } = countrySelectProps\r\n\t\t\tif (onFocus) {\r\n\t\t\t\tonFocus(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryBlur = (event) => {\r\n\t\tthis._onBlur()\r\n\t\t// this.setState({ countrySelectFocused: false })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onBlur } = countrySelectProps\r\n\t\t\tif (onBlur) {\r\n\t\t\t\tonBlur(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// `state` holds previous props as `props`, and also:\r\n\t// * `country` — The currently selected country, e.g. `\"RU\"`.\r\n\t// * `value` — The currently entered phone number (E.164), e.g. `+78005553535`.\r\n\t// * `phoneDigits` — The parsed `` value, e.g. `8005553535`.\r\n\t// (and a couple of other less significant properties)\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\t// Emulate `prevProps` via `state.props`.\r\n\t\t\tprops,\r\n\t\t\t...getPhoneInputWithCountryStateUpdateFromNewProps(props, state.props, state)\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\t// Generic HTML attributes.\r\n\t\t\tname,\r\n\t\t\tdisabled,\r\n\t\t\treadOnly,\r\n\t\t\tautoComplete,\r\n\t\t\tstyle,\r\n\t\t\tclassName,\r\n\r\n\t\t\t// Number `` properties.\r\n\t\t\tinputRef,\r\n\t\t\tinputComponent,\r\n\t\t\tnumberInputProps,\r\n\t\t\tsmartCaret,\r\n\r\n\t\t\t// Country ``).\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries: countriesProperty,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\tlabels,\r\n\t\t\tflags,\r\n\t\t\tflagComponent,\r\n\t\t\tflagUrl,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternationalIcon,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tonCountryChange,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tfocusInputOnCountrySelection,\r\n\t\t\treset,\r\n\t\t\tmetadata,\r\n\t\t\tinternational,\r\n\t\t\tlocales,\r\n\t\t\t// compareStrings,\r\n\t\t\t...rest\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits,\r\n\t\t\tisFocused\r\n\t\t} = this.state\r\n\r\n\t\tconst InputComponent = smartCaret ? InputSmart : InputBasic\r\n\r\n\t\tconst countrySelectOptions = this.getCountrySelectOptions({ countries })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Country `` */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n// This wrapper is only to `.forwardRef()` to the ``.\r\nconst PhoneNumberInput = React.forwardRef((props, ref) => (\r\n\t\r\n))\r\n\r\nPhoneNumberInput.propTypes = {\r\n\t/**\r\n\t * Phone number in `E.164` format.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `\"+12223333333\"`\r\n\t *\r\n\t * Any \"falsy\" value like `undefined`, `null` or an empty string `\"\"` is treated like \"empty\".\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t *\r\n\t * Updates the `value` property as the user inputs a phone number.\r\n\t *\r\n\t * If the user erases the input value, the argument is `undefined`.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * Toggles the `--focus` CSS class.\r\n\t * @ignore\r\n\t */\r\n\tonFocus: PropTypes.func,\r\n\r\n\t/**\r\n\t * `onBlur` is usually passed by `redux-form`.\r\n\t * @ignore\r\n\t */\r\n\tonBlur: PropTypes.func,\r\n\r\n\t/**\r\n\t * Set to `true` to mark both the phone number ``\r\n\t * and the country ``\r\n\t * and the country ``.\r\n\t *\r\n\t * Web browser's \"autocomplete\" feature\r\n\t * remembers the phone number being input\r\n\t * and can also autofill the ``\r\n\t * with previously remembered phone numbers.\r\n\t *\r\n\t * https://developers.google.com\r\n\t * /web/updates/2015/06/checkout-faster-with-autofill\r\n\t *\r\n\t * For example, can be used to turn it off:\r\n\t *\r\n\t * \"So when should you use `autocomplete=\"off\"`?\r\n\t * One example is when you've implemented your own version\r\n\t * of autocomplete for search. Another example is any form field\r\n\t * where users will input and submit different kinds of information\r\n\t * where it would not be useful to have the browser remember\r\n\t * what was submitted previously\".\r\n\t */\r\n\t// (is `\"tel\"` by default)\r\n\tautoComplete: PropTypes.string,\r\n\r\n\t/**\r\n\t * Set to `\"national\"` to show the initial `value` in\r\n\t * \"national\" format rather than \"international\".\r\n\t *\r\n\t * For example, if `initialValueFormat` is `\"national\"`\r\n\t * and the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"(213) 373-4253\"`.\r\n\t *\r\n\t * By default, `initialValueFormat` is `undefined`,\r\n\t * meaning that if the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"+1 213 373 4253\"`.\r\n\t *\r\n\t * The reason for such default behaviour is that\r\n\t * the newer generation grows up when there are no stationary phones\r\n\t * and therefore everyone inputs phone numbers in international format\r\n\t * in their smartphones so people gradually get more accustomed to\r\n\t * writing phone numbers in international format rather than in local format.\r\n\t * Future people won't be using \"national\" format, only \"international\".\r\n\t */\r\n\t// (is `undefined` by default)\r\n\tinitialValueFormat: PropTypes.oneOf(['national']),\r\n\r\n\t// `displayInitialValueAsLocalNumber` property has been\r\n\t// superceded by `initialValueFormat` property.\r\n\tdisplayInitialValueAsLocalNumber: PropTypes.bool,\r\n\r\n\t/**\r\n\t * The country to be selected by default.\r\n\t * For example, can be set after a GeoIP lookup.\r\n\t *\r\n\t * Example: `\"US\"`.\r\n\t */\r\n\t// A two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If specified, only these countries will be available for selection.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"RU\", \"UA\", \"KZ\"]`\r\n\t */\r\n\tcountries: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * Custom country `` `aria-label`.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"ZZ\": \"Международный\", RU: \"Россия\", US: \"США\", ... }`\r\n\t *\r\n\t * See the `locales` directory for examples.\r\n\t */\r\n\tlabels: labelsPropType,\r\n\r\n\t/**\r\n\t * Country `` options sorting function.\r\n\t * The default one uses `a.localeCompare(b)`, and,\r\n\t * if that's not available, falls back to simple `a > b`/`a < b`.\r\n\t * There have been requests to add custom sorter for cases\r\n\t * like Chinese language and \"pinyin\" (non-default) sorting order.\r\n\t * https://stackoverflow.com/questions/22907288/chinese-sorting-by-pinyin-in-javascript-with-localecompare\r\n\tcompareStrings: PropTypes.func,\r\n\t */\r\n\r\n\t/**\r\n\t * A URL template of a country flag, where\r\n\t * \"{XX}\" is a two-letter country code in upper case,\r\n\t * or where \"{xx}\" is a two-letter country code in lower case.\r\n\t * By default it points to `country-flag-icons` gitlab pages website.\r\n\t * I imagine someone might want to download those country flag icons\r\n\t * and host them on their own servers instead\r\n\t * (all flags are available in the `country-flag-icons` library).\r\n\t * There's a catch though: new countries may be added in future,\r\n\t * so when hosting country flag icons on your own server\r\n\t * one should check the `CHANGELOG.md` every time before updating this library,\r\n\t * otherwise there's a possibility that some new country flag would be missing.\r\n\t */\r\n\tflagUrl: PropTypes.string,\r\n\r\n\t/**\r\n\t * Custom country flag icon components.\r\n\t * These flags will be used instead of the default ones.\r\n\t * The the \"Flags\" section of the readme for more info.\r\n\t *\r\n\t * The shape is an object where keys are country codes\r\n\t * and values are flag icon components.\r\n\t * Flag icon components receive the same properties\r\n\t * as `flagComponent` (see below).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"RU\": (props) => }`\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `import flags from 'country-flag-icons/react/3x2'`\r\n\t *\r\n\t * `import PhoneInput from 'react-phone-number-input'`\r\n\t *\r\n\t * ``\r\n\t */\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t/**\r\n\t * Country flag icon component.\r\n\t *\r\n\t * Takes properties:\r\n\t *\r\n\t * * `country: string` — The country code.\r\n\t * * `countryName: string` — The country name.\r\n\t * * `flagUrl: string` — The `flagUrl` property (see above).\r\n\t * * `flags: object` — The `flags` property (see above).\r\n\t */\r\n\tflagComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Set to `false` to remove the \"International\" option from country `` options.\r\n\t *\r\n\t * * `\"XX\"` — inserts an option for \"XX\" country.\r\n\t * * `\"🌐\"` — inserts \"International\" option.\r\n\t * * `\"|\"` — inserts a separator.\r\n\t * * `\"...\"` — inserts options for the rest of the countries (can be omitted, in which case it will be automatically added at the end).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`\r\n\t */\r\n\tcountryOptionsOrder: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * `` component CSS style object.\r\n\t */\r\n\tstyle: PropTypes.object,\r\n\r\n\t/**\r\n\t * `` component CSS class.\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * Country `` component props.\r\n\t * Along with the usual DOM properties such as `aria-label` and `tabIndex`,\r\n\t * some custom properties are supported, such as `arrowComponent` and `unicodeFlags`.\r\n\t */\r\n\tcountrySelectProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `value: string` — The formatted `value`.\r\n\t * * `onChange(event: Event)` — Updates the formatted `value` from `event.target.value`.\r\n\t * * `onFocus()` — Is used to toggle the `--focus` CSS class.\r\n\t * * `onBlur()` — Is used to toggle the `--focus` CSS class.\r\n\t * * Other properties like `type=\"tel\"` or `autoComplete=\"tel\"` that should be passed through to the DOM ``.\r\n\t *\r\n\t * Must also either use `React.forwardRef()` to \"forward\" `ref` to the `` or implement `.focus()` method.\r\n\t */\r\n\tinputComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Phone number `` component props.\r\n\t */\r\n\tnumberInputProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `style: object` — A component CSS style object.\r\n\t * * `className: string` — Classes to attach to the component, typically changes when component focuses or blurs.\r\n\t */\r\n\tcontainerComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Wrapping `
` component props.\r\n\t */\r\n\tcontainerComponentProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * When the user attempts to insert a digit somewhere in the middle of a phone number,\r\n\t * the caret position is moved right before the next available digit skipping\r\n\t * any punctuation in between. This is called \"smart\" caret positioning.\r\n\t * Another case would be the phone number format changing as a result of\r\n\t * the user inserting the digit somewhere in the middle, which would require\r\n\t * re-positioning the caret because all digit positions have changed.\r\n\t * This \"smart\" caret positioning feature can be turned off by passing\r\n\t * `smartCaret={false}` property: use it in case of any possible issues\r\n\t * with caret position during phone number input.\r\n\t */\r\n\t// Is `true` by default.\r\n\tsmartCaret: PropTypes.bool,\r\n\r\n\t/**\r\n\t * Set to `true` to force \"international\" phone number format.\r\n\t * Set to `false` to force \"national\" phone number format.\r\n\t * By default it's `undefined` meaning that it doesn't enforce any phone number format:\r\n\t * the user can input their phone number in either \"national\" or \"international\" format.\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `true`, the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: PropTypes.bool,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t *\r\n\t * Can be used to pass custom `libphonenumber-js` metadata\r\n\t * to reduce the overall bundle size for those who compile \"custom\" metadata.\r\n\t */\r\n\tmetadata: metadataPropType,\r\n\r\n\t/**\r\n\t * Is called every time the selected country changes:\r\n\t * either programmatically or when user selects it manually from the list.\r\n\t */\r\n\t// People have been asking for a way to get the selected country.\r\n\t// @see https://github.com/catamphetamine/react-phone-number-input/issues/128\r\n\t// For some it's just a \"business requirement\".\r\n\t// I guess it's about gathering as much info on the user as a website can\r\n\t// without introducing any addional fields that would complicate the form\r\n\t// therefore reducing \"conversion\" (that's a marketing term).\r\n\t// Assuming that the phone number's country is the user's country\r\n\t// is not 100% correct but in most cases I guess it's valid.\r\n\tonCountryChange: PropTypes.func,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: PropTypes.bool\r\n}\r\n\r\nconst defaultProps = {\r\n\t/**\r\n\t * Remember (and autofill) the value as a phone number.\r\n\t */\r\n\tautoComplete: 'tel',\r\n\r\n\t/**\r\n\t * Country `` option icon.\r\n\t */\r\n\tinternationalIcon: InternationalIcon,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t */\r\n\tinputComponent: 'input',\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t */\r\n\tcontainerComponent: 'div',\r\n\r\n\t/**\r\n\t * Some users requested a way to reset the component:\r\n\t * both number `` and country ``\r\n\t * and country ``.\r\n\t * It's also not replaced with just resetting `country` on\r\n\t * external `value` reset, because a user could select a country\r\n\t * and then not input any `value`, and so the selected country\r\n\t * would be \"stuck\", if not using this `reset` property.\r\n\t */\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\treset: PropTypes.any,\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\r\n\t/**\r\n\t * Set to `false` to use \"basic\" caret instead of the \"smart\" one.\r\n\t */\r\n\tsmartCaret: true,\r\n\r\n\t/**\r\n\t * Whether to add the \"International\" option\r\n\t * to the list of countries.\r\n\t */\r\n\taddInternationalOption: true,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: true,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: true\r\n}\r\n\r\nfunction withDefaultProps(props) {\r\n\tprops = { ...props }\r\n\r\n\tfor (const key in defaultProps) {\r\n\t\tif (props[key] === undefined) {\r\n\t\t\tprops[key] = defaultProps[key]\r\n\t\t}\r\n\t}\r\n\r\n\treturn props\r\n}\r\n\r\nexport default PhoneNumberInput\r\n\r\nfunction areEqualArrays(a, b) {\r\n\tif (a.length !== b.length) {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 0\r\n\twhile (i < a.length) {\r\n\t\tif (a[i] !== b[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport defaultLabels from '../locale/en.json.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport PhoneInput from './PhoneInputWithCountry.js'\r\n\r\nexport function createPhoneInput(defaultMetadata) {\r\n\tconst PhoneInputDefault = React.forwardRef(({\r\n\t\tmetadata = defaultMetadata,\r\n\t\tlabels = defaultLabels,\r\n\t\t...rest\r\n\t}, ref) => (\r\n\t\t\r\n\t))\r\n\r\n\tPhoneInputDefault.propTypes = {\r\n\t\tmetadata: metadataPropType,\r\n\t\tlabels: labelsPropType\r\n\t}\r\n\r\n\treturn PhoneInputDefault\r\n}\r\n\r\nexport default createPhoneInput()","import metadata from 'libphonenumber-js/min/metadata'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index.js'\r\n\r\nimport { createPhoneInput } from '../modules/PhoneInputWithCountryDefault.js'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createPhoneInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","import { useEffect, useState } from \"react\";\nimport PatientActions from \"../../../actions/patients\";\nimport FormValidator from \"../../common/form_validator\";\nimport ClientPatientActions from \"../../../actions/clientActions/patients\";\nimport \"react-phone-number-input/style.css\";\nimport PhoneInput,{isValidPhoneNumber} from \"react-phone-number-input\";\n\n// utils\nimport { disableFutureDate } from \"../../../utils/disabledFutureDate\";\n\nconst PatientNew = ({ showPatientNew, setShowPatientNew, fetchPatients }) => {\n let currentRole = localStorage.getItem('current_user_role');\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n const [patientEmail, setPatientEmail] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [newPatient, setNewPatient] = useState({\n first_name: \"\",\n last_name: \"\",\n middle_name: \"\",\n date_of_birth: \"\",\n patient_email: \"\",\n phone_number: \"\",\n sex: \"not_specified\",\n });\n\n const handleInputChange = (event) => {\n setNewPatient(prevPatient => ({\n ...prevPatient,\n [event.target.name]: event.target.value,\n }));\n };\n\n // const handleInputChange = (event) => {\n // let temp_new_patient = newPatient;\n // temp_new_patient[event.target.name] = event.target.value;\n // setNewPatient(temp_new_patient);\n // };\n const handleSubmit = async (event) => {\n event.preventDefault();\n let res;\n if (currentRole == 'client') {\n res = await ClientPatientActions.createPatient({ patient: newPatient });\n } else {\n res = await PatientActions.createPatient({ patient: newPatient });\n }\n if (res.status === 200) {\n setError('')\n setPhoneNumber('')\n setPatientEmail('')\n setNewPatient({\n first_name: '',\n last_name: '',\n middle_name: '',\n date_of_birth: '',\n patient_email: '',\n phone_number: '',\n sex: 'not_specified',\n });\n fetchPatients();\n setShowPatientNew(false);\n FormValidator.showErrors(res);\n } else if (res.status == 422) {\n FormValidator.showErrors(res);\n }\n };\n const handlePhoneChange = (value) => {\n setPhoneNumber(value);\n if (value && !isValidPhoneNumber(value)) {\n setError('Invalid phone number');\n } else {\n setError('');\n let temp_new_patient = newPatient;\n temp_new_patient[\"phone_number\"] = value;\n setNewPatient(temp_new_patient)\n }\n };\n const handleEmailChange = (event) => {\n const newEmail = event.target.value;\n setPatientEmail(newEmail);\n if (!validateEmail(newEmail)) {\n setEmailError('Invalid email address');\n } else {\n setEmailError('');\n let temp_new_patient = newPatient;\n temp_new_patient[event.target.name] = newEmail;\n setNewPatient(temp_new_patient)\n }\n };\n const validateEmail = (email) => {\n\n const emailRegex = /^\\w+@[a-zA-Z\\d.-]+\\.[a-zA-Z]{2,}$/;\n return emailRegex.test(email);\n };\n return (\n \n
\n
\n

New Patient

\n {\n setShowPatientNew(false);\n }}\n className='link-2'\n >\n \n \n
\n
\n
\n \n handleInputChange(event)}\n />\n \n handleInputChange(event)}\n />\n \n handleInputChange(event)}\n />\n \n {handleEmailChange(event)}}\n />\n {emailError &&
{emailError}
}\n \n \n {error &&

{error}

}\n \n handleInputChange(event)}\n />\n \n handleInputChange(event)}\n className='modal-input no-mb w-input'\n id='sex'\n >\n \n \n \n \n
\n
\n \n
\n {\n setShowPatientNew(false);\n }}\n href='#'\n className='modal-btn cancel w-button close'\n >\n Cancel\n \n { handleSubmit(event)}} href='#' className='modal-btn success w-button'>\n Save\n \n
\n
\n
\n
\n );\n};\nexport default PatientNew;\n","import { useEffect, useState } from \"react\";\nimport PatientActions from '../../../actions/patients';\nimport PhoneInput, {isValidPhoneNumber} from \"react-phone-number-input\";\nconst PatientEdit = ({setEditPatient, editPatient, setShowPatientEdit,showPatientEdit }) =>{\n let patient = editPatient;\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n const [patientEmail, setPatientEmail] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [updatedPatient, setUpdatedPatient] = useState({\n first_name: patient.first_name,\n middle_name: patient.middle_name,\n last_name: patient.last_name,\n phone_number: patient.phone_number,\n patient_email: patient.patient_email,\n sex: patient.sex,\n date_of_birth: patient.date_of_birth\n })\n const handleInputChange =(event)=>{\n let temp_patient = updatedPatient;\n temp_patient[event.target.name] = event.target.value;\n setUpdatedPatient(temp_patient);\n }\n const handleSubmit = async()=>{\n let res = await PatientActions.updatePatient(patient.id, updatedPatient)\n if(res.status === 200){\n setEditPatient(res.data.patient);\n setShowPatientEdit(false);\n }\n }\n const handlePhoneChange = (value) => {\n setPhoneNumber(value);\n if (value && !isValidPhoneNumber(value)) {\n setError('Invalid phone number');\n } else {\n setError('');\n let temp_new_patient = updatedPatient;\n temp_new_patient[\"phone_number\"] = value;\n setUpdatedPatient(temp_new_patient)\n }\n };\n const handleEmailChange = (event) => {\n const newEmail = event.target.value;\n setPatientEmail(newEmail);\n if (!validateEmail(newEmail)) {\n setEmailError('Invalid email address');\n } else {\n setEmailError('');\n let temp_new_patient = updatedPatient;\n temp_new_patient[event.target.name] = newEmail;\n setUpdatedPatient(temp_new_patient)\n }\n };\n const validateEmail = (email) => {\n const emailRegex = /^\\w+@[a-zA-Z\\d.-]+\\.[a-zA-Z]{2,}$/;\n return emailRegex.test(email);\n };\n return(\n
\n
\n \n
\n
\n \n handleInputChange(event)}\n className=\"modal-input w-input\"\n defaultValue={updatedPatient.first_name}\n />\n \n handleInputChange(event)}\n defaultValue={updatedPatient.middle_name}\n />\n \n handleInputChange(event)}\n defaultValue={updatedPatient.last_name}\n />\n \n {handleEmailChange(event)}}\n />\n {emailError &&
{emailError}
}\n \n \n {error &&

{error}

}\n \n handleInputChange(event)}\n defaultValue={updatedPatient.date_of_birth}\n />\n \n handleInputChange(event)}\n className=\"modal-input no-mb w-input\"\n defaultValue={updatedPatient.sex}\n >\n \n \n \n \n
\n
\n \n
\n
\n );\n}\nexport default PatientEdit;","import { useEffect, useState } from 'react';\nimport PatientActions from '../../../actions/patients';\nimport Pagination from '../../pagination/Pagination';\nimport PatientNew from './new';\nimport PatientEdit from \"./edit\";\nimport ClientPatientActions from '../../../actions/clientActions/patients';\n// use Update Effect\nimport useUpdateEffect from '../../../utils/useUpdateEffect';\n\nconst PatientIndex = ({\n patient,\n patientPicked,\n showPatientsList,\n setShowPatientsList,\n}) => {\n const [patients, setPatients] = useState([]);\n const [search, setSearch] = useState('');\n const [showPatientNew, setShowPatientNew] = useState(false);\n const [currentPatient, setCurrentPatient] = useState({\n first_name: patient.first_name,\n middle_name: patient.middle_name,\n last_name: patient.last_name,\n patient_email: patient.patient_email,\n phone_number: patient.phone_number,\n date_of_birth: patient.date_of_birth,\n sex: patient.sex,\n id: patient.id,\n });\n\n const [showPatientEdit,setShowPatientEdit] = useState(false);\n const [editPatient,setEditPatient] = useState({});\n // const [selectedPatient, setSelectedPatient] = useState({});\n const [pageCount, setPageCount] = useState(0);\n const [clickforcePage, setClickForce] = useState(null);\n const [currentPage, setCurrentPage] = useState(1);\n let currentRole = localStorage.getItem('current_user_role');\n // search current Page\n const [searchPage, setSearchPage] = useState(1);\n\n const fetchPatients = async () => {\n let res;\n if (currentRole == 'client') {\n res = await ClientPatientActions.getList({\n page: currentPage,\n });\n } else {\n res = await PatientActions.getList({\n page: currentPage,\n });\n }\n setPageCount(res.pages);\n setPatients(res.patients);\n };\n function handlePageClick({ selected: selectedPage }) {\n if (search !== '') {\n setSearchPage(selectedPage + 1);\n } else {\n setCurrentPage(selectedPage + 1);\n }\n setClickForce(selectedPage);\n }\n const fetchPatientsOnPage = async () => {\n let res;\n if (currentRole == 'client') {\n res = await ClientPatientActions.getList({\n page: searchPage,\n search: {\n m: 'or',\n id_eq: search,\n first_name_cont: search,\n middle_name_cont: search,\n last_name_cont: search,\n full_name_cont: search,\n patient_email_cont: search,\n phone_number_cont: search,\n },\n });\n } else {\n res = await PatientActions.getList({\n page: searchPage,\n search: {\n m: 'or',\n id_eq: search,\n first_name_cont: search,\n middle_name_cont: search,\n last_name_cont: search,\n full_name_cont: search,\n patient_email_cont: search,\n phone_number_cont: search,\n },\n });\n }\n setPatients(res.patients);\n };\n const handleSearchChange = async (event) => {\n let res;\n setSearch(event.target.value);\n if (currentRole == 'client') {\n res = await ClientPatientActions.getList({\n search: {\n m: 'or',\n id_eq: event.target.value,\n first_name_cont: event.target.value,\n middle_name_cont: event.target.value,\n last_name_cont: event.target.value,\n full_name_cont: event.target.value,\n patient_email_cont: search,\n phone_number_cont: search,\n },\n });\n } else {\n res = await PatientActions.getList({\n search: {\n m: 'or',\n id_eq: event.target.value,\n first_name_cont: event.target.value,\n middle_name_cont: event.target.value,\n last_name_cont: event.target.value,\n full_name_cont: event.target.value,\n patient_email_cont: search,\n phone_number_cont: search,\n },\n });\n }\n setPageCount(res.pages);\n setPatients(res.patients);\n };\n const handleInputChange = (event) => {\n let t_patient = patients.find((p) => p.id === parseInt(event.target.value));\n setCurrentPatient(t_patient);\n };\n const finalizePatient = () => {\n patientPicked(currentPatient);\n setShowPatientsList(false);\n };\n const patientEditModal = (event,patient) => {\n event.preventDefault();\n setShowPatientEdit(true)\n setEditPatient(patient)\n }\n useEffect(() => {\n // Set a flag to check if the component is still mounted\n let isMounted = true;\n const fetchData = async () => {\n try {\n await fetchPatients();\n // Check if the component is still mounted before updating state\n if (isMounted) {\n fetchPatients();\n // Here, res is accessible\n // Update the state or perform other actions if needed\n }\n } catch (error) {\n // Handle error\n }\n };\n fetchData();\n // Cleanup function to run when the component is unmounted\n return () => {\n isMounted = false;\n };\n }, [currentPage]);\n\n useUpdateEffect(() => {\n fetchPatientsOnPage();\n }, [searchPage]);\n return (\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n handleSearchChange(event)}\n />\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n {/*This code is not use because this is related to patient history (PH)*/}\n \n \n \n \n \n {/*This code is not use because this is related to patient history (PH)*/}\n \n \n \n \n {patients.map((p, ind) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n {/*This code is not use because this is related to patient history (PH)*/}\n \n \n );\n })}\n \n
Patient IdFirst NameMiddle NameLast NameEmailPhoneSexDate of BirthCustomerAction
\n handleInputChange(event)}\n value={p.id}\n type='radio'\n name='patient_id'\n />\n {p.id}{p.first_name}{p.middle_name}{p.last_name}{p.patient_email}{p.phone_number}{p.sex}{p.date_of_birth}{p.customer_name} patientEditModal(event,p)} className='btn-edit'>Edit
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n { showPatientEdit &&\n \n\n }\n\n
\n );\n};\nexport default PatientIndex;\n","import fetchClient from \"../../config/client\";\n\n\n\nconst getClientProjects = async (q_params) => {\n let projects = await fetchClient\n .get(\"/client/projects.json\", { params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return projects;\n};\nexport const ClientProjectsActions = {\n\tgetClientProjects,\n\n};\n\nexport default ClientProjectsActions;\n","import fetchClient from \"../../config/client\";\n\n\nconst getClientStandards = async (q_params) => {\n let standards = await fetchClient\n\t\t.get(\"client/standards.json\",{ params: q_params })\n .then(function (response) {\n return response.data;\n })\n .catch(function (error) {\n console.log(error);\n return [];\n });\n return standards;\n};\nexport const ClientStandardsActions = {\n\tgetClientStandards,\n\n};\n\nexport default ClientStandardsActions;\n","import React, { useEffect, useState } from 'react';\nimport CustomerActions from '../../../actions/customers';\nimport ProjectActions from '../../../actions/projects';\nimport ServiceRequestActions from '../../../actions/service_requests';\nimport PatientIndex from '../patients/index';\nimport PatientEdit from '../patients/edit';\nimport FormValidator from '../../common/form_validator';\n// for client actions\nimport ClientServiceRequestActions from '../../../actions/clientActions/service_requests';\nimport ClientProjectsActions from '../../../actions/clientActions/projects';\nimport ClientStandardsActions from '../../../actions/clientActions/standards';\n\nconst ServiceRequestForm = ({\n showFormModal,\n setShowFormModal,\n fetchServiceRequests,\n is_refresh,\n}) => {\n const [showPatientEdit, setShowPatientEdit] = useState(false);\n const [customers, setCustomers] = useState([]);\n const [projects, setProjects] = useState([]);\n const [standards, setStandards] = useState([]);\n const [showPatientsList, setShowPatientsList] = useState(false);\n const [patient, setPatient] = useState({});\n const [notes, setNotes] = useState('');\n let currentRole = localStorage.getItem('current_user_role');\n let currentUser = JSON.parse(localStorage.getItem('user'));\n let currentCustomerName = localStorage.getItem('customerName');\n\n const fetchCustomers = async () => {\n let temp_customers = await CustomerActions.getProjectsCustomers();\n setCustomers(temp_customers.data);\n };\n const fetchClientProjects = async () => {\n let temp_projects = await ClientProjectsActions.getClientProjects();\n setProjects(temp_projects.projects);\n };\n useEffect(() => {\n if (currentRole == 'client') {\n fetchClientProjects();\n } else {\n fetchCustomers();\n }\n }, []);\n const [service_request, setServiceRequest] = useState({ project_id: '' });\n\n const createServiceRequest = async () => {\n let res;\n let patient_attributes = { contact_email: patient.patient_email, contact_phone: patient.phone_number}\n let data = {...service_request,...patient_attributes}\n if (currentRole == 'client') {\n res = await ClientServiceRequestActions.addServiceRequest(\n // service_request\n data\n );\n } else {\n // res = await ServiceRequestActions.addServiceRequest(service_request);\n res = await ServiceRequestActions.addServiceRequest(data);\n }\n if (res.status == 200) {\n setShowFormModal(false);\n if (is_refresh) {\n window.location.reload();\n } else {\n fetchServiceRequests();\n setServiceRequest({});\n }\n } else if (res.status == 422) {\n FormValidator.showErrors(res);\n }\n };\n\n const getProjects = async (customer_id) => {\n let temp_projects;\n if (currentRole === 'client') {\n // temp_projects = await ClientCustomerActions.getProjects(customer_id);\n } else {\n temp_projects = await CustomerActions.getProjects(customer_id);\n }\n\n setProjects(temp_projects);\n };\n const getStandards = async (project_id) => {\n let temp_standards = await ProjectActions.getStandards(project_id);\n setStandards(temp_standards);\n };\n\n const getClientStandards = async (project_id) => {\n let temp_standards = await ClientStandardsActions.getClientStandards({\n search: {\n projects_id_eq: project_id,\n },\n });\n setStandards(temp_standards.standards);\n };\n\n const projectSelected = (e) => {\n if (currentRole == 'client') {\n getClientStandards(e.target.value);\n } else {\n getStandards(e.target.value);\n }\n\n handleInputChange(e);\n };\n\n const handleInputChange = (e) => {\n let t_sr = service_request;\n if (e.target.name == 'notes') {\n if (currentRole == 'client') {\n t_sr['customer_notes_attributes'] = [\n {\n note_attributes: {\n [e.target.name]: e.target.value,\n },\n },\n ];\n } else if (currentRole == 'coordinator') {\n t_sr['customer_notes_attributes'] = [\n {\n new_from_customer: false,\n note_attributes: {\n [e.target.name]: e.target.value,\n },\n },\n ];\n }\n } else {\n t_sr[e.target.name] = e.target.value;\n }\n setServiceRequest(t_sr);\n };\n const handleSubmit = (e) => {\n e.preventDefault();\n createServiceRequest();\n };\n const patientPicked = (p) => {\n let temp_service_request = service_request;\n temp_service_request['patient_id'] = p.id;\n setPatient(p);\n };\n const RenderPatientList = () => {\n if (showPatientsList) {\n return (\n \n );\n } else {\n return
;\n }\n };\n const ShowEditForm = () => {\n if (showPatientEdit) {\n return (\n \n );\n } else {\n return <>;\n }\n };\n const showEditPatient = () => {\n if (patient.constructor === Object && Object.keys(patient).length > 0) {\n setShowPatientEdit(true);\n }\n };\n const disablePastDate = () => {\n const today = new Date();\n const dd = String(today.getDate() + 1).padStart(2, '0');\n const mm = String(today.getMonth() + 1).padStart(2, '0');\n const yyyy = today.getFullYear();\n return yyyy + '-' + mm + '-' + dd;\n };\n\n return (\n
\n handleSubmit(event)}\n >\n \n
\n
\n

New Service Request

\n {\n event.preventDefault();\n setShowFormModal(false);\n }}\n className='link-2'\n >\n \n \n
\n
\n \n {currentRole == 'client' && (\n <>\n \n \n )}\n
\n
\n
Service Request
\n\n {currentRole == 'coordinator' && (\n <>\n \n getProjects(e.target.value)}\n id='customer'\n >\n \n Select Customer\n \n {customers.map((customer) => {\n return (\n \n );\n })}\n \n \n )}\n \n projectSelected(e)}\n id='project'\n >\n \n {projects.map((project) => {\n return (\n \n );\n })}\n \n \n handleInputChange(event)}\n data-name='Deadline'\n id='deadline'\n />\n
\n\n
\n Select a standard for this service request\n
\n \n handleInputChange(event)}\n id='standard'\n >\n \n {standards.map((standard) => {\n return (\n \n );\n })}\n \n \n handleInputChange(e)}\n />\n
\n
\n
Candidate Information
\n
\n \n
\n \n {\n event.preventDefault();\n showEditPatient();\n }}\n className='btn btn-copy'\n >\n View\n \n {\n event.preventDefault();\n setShowPatientsList(true);\n }}\n className='btn'\n >\n List\n \n
\n \n handleInputChange(event)}\n data-name='ContactAddress'\n id='contact_address'\n />\n \n handleInputChange(event)}\n data-name='ContactPhone'\n id='contact_phone'\n />\n \n Alternate Phone\n \n handleInputChange(event)}\n type='text'\n className='modal-input'\n />\n \n handleInputChange(event)}\n type='text'\n className='modal-input'\n />\n \n handleInputChange(event)}\n type='text'\n className='modal-input'\n id='contact_alternate_email'\n />\n \n handleInputChange(event)}\n type='text'\n className='modal-input'\n />\n \n handleInputChange(event)}\n type='text'\n className='modal-input'\n />\n
\n
\n
\n
\n
\n {\n event.preventDefault();\n setShowFormModal(false);\n }}\n className='modal-btn cancel w-button close'\n >\n Cancel\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n );\n};\n\nexport default ServiceRequestForm;\n\nServiceRequestForm.defaultProps = {\n is_refresh: false,\n};\n","import React from 'react';\nimport { useState, useEffect } from 'react';\nimport ServiceRequestForm from '../service_request/service_request_form';\nimport ServiceRequestActions from '../../../actions/service_requests';\nimport Pagination from '../../pagination/Pagination';\nimport ServiceRequestsTableList from '../../helpers/service_requests_table_list';\n// UseUpdateEffect util\nimport useUpdateEffect from '../../../utils/useUpdateEffect';\n\nconst ServiceRequestsList = ({ requestStatus }) => {\n const [service_requests, setServiceRequests] = useState([]);\n const [order_field, setOrderField] = useState('new_from_customer');\n const [sort, setSort] = useState('desc');\n const [showFormModal, setShowFormModal] = useState(false);\n const [current_page, setCurrentPage] = useState(1);\n const [page_count, setPageCount] = useState(1);\n const [clickforcePage, setClickForce] = useState(null);\n // \"Search field\"\n // for search field all states\n const [displayInputLabel, setDisplayInputLabel] = useState('');\n const [searchField, setSearchField] = useState('');\n // search current page\n const [searchPage, setSearchPage] = useState(1);\n // sorting\n const [searchSort, setSearchSort] = useState('desc');\n const [searchOrderField, setSearchOrderField] = useState('new_from_customer');\n const [inputEvent, setInputEvent] = useState(null);\n\n function handlePageClick({ selected: selectedPage }) {\n if (searchField !== '') {\n setSearchPage(selectedPage + 1);\n } else {\n setCurrentPage(selectedPage + 1);\n }\n setClickForce(selectedPage);\n }\n\n const searchServiceRequestOnPage = async () => {\n let response = await ServiceRequestActions.getList({\n page: searchPage,\n search: {\n g: {\n 0: {\n m: 'or',\n project_name_cont: searchField,\n customer_name_cont: searchField,\n patient_full_name_cont: searchField,\n standard_name_cont: searchField,\n },\n 1: {\n status_eq: requestStatus,\n },\n },\n },\n });\n setServiceRequests(response.data.service_requests);\n };\n\n const fetchServiceRequests = async () => {\n let response = await ServiceRequestActions.getList({\n page: current_page,\n search: {\n status_eq: requestStatus,\n s: `${order_field} ${sort}`,\n },\n });\n setServiceRequests(response.data.service_requests);\n setPageCount(response.data.pages);\n };\n\n const searchServiceRequestList = async (event) => {\n event.preventDefault();\n setInputEvent(event);\n\n setSearchField(event.target.value);\n let response = await ServiceRequestActions.getList({\n search: {\n g: {\n 0: {\n m: 'or',\n project_name_cont: event.target.value,\n customer_name_cont: event.target.value,\n patient_full_name_cont: event.target.value,\n standard_name_cont: event.target.value,\n },\n 1: {\n status_eq: requestStatus,\n },\n },\n s: `${searchOrderField} ${searchSort}`,\n },\n });\n setServiceRequests(response.data.service_requests);\n setPageCount(response.data.pages);\n };\n\n const resetSearch = () => {\n setSearchField('');\n setCurrentPage(1);\n fetchServiceRequests();\n setClickForce(0);\n };\n\n useEffect(() => {\n if (requestStatus == 'active') {\n fetchServiceRequests();\n }\n }, [requestStatus]);\n\n useUpdateEffect(() => {\n fetchServiceRequests();\n }, [sort, order_field, current_page]);\n\n useUpdateEffect(() => {\n searchServiceRequestOnPage();\n }, [searchPage]);\n\n useEffect(() => {\n inputEvent && searchServiceRequestList(inputEvent);\n }, [searchSort, searchOrderField, inputEvent]);\n\n const ShowForm = () => {\n if (showFormModal) {\n return (\n \n );\n }\n\n return <>;\n };\n\n const handleSort = (sort, order_field) => {\n if (searchField !== '') {\n setSearchOrderField(order_field);\n setSearchSort(sort);\n } else {\n setOrderField(order_field);\n setSort(sort);\n }\n };\n\n const updateNoteHandler = async (id, noteValue) => {\n let data = {\n service_request: {\n coordinator_note: noteValue,\n },\n };\n const response = await ServiceRequestActions.updateServiceRequest(id, data);\n if (response.status == 200) {\n }\n };\n\n return (\n <>\n {requestStatus === 'active' && (\n <>\n {/* */}\n {ShowForm()}\n
\n
\n
\n
\n
\n \n  \n \n
\n searchServiceRequestList(event)}\n onChange={searchServiceRequestList}\n />\n \n
\n
\n
\n
\n
\n {\n event.preventDefault();\n setShowFormModal(true);\n }}\n className='add-btn'\n >\n New\n \n
\n
\n
\n\n \n \n \n )}\n \n );\n};\nexport default ServiceRequestsList;\n","import { Link } from 'react-router-dom';\nimport React, { useEffect, useState, useCallback } from 'react';\nimport LinksHeader from '../common/link_header';\nimport Unread from '../../assets/images/unread.svg';\nimport Read from '../../assets/images/read.svg';\nimport Green from '../../assets/images/green.svg';\nimport Red from '../../assets/images/red.svg';\nimport Yellow from '../../assets/images/orange.svg';\nimport RecentReviewIcon from '../../assets/images/recent_review_icon.png';\nimport { dateFormat } from '../../utils/date_format';\nconst ServiceRequestsTableList = ({\n serviceRequests,\n change_handle_sort,\n updated_note,\n}) => {\n const [orderField, setOrderField] = useState('new_from_customer');\n const [sort, setSort] = useState('desc');\n const updateNoteFieldHandler = (event, id) => {\n event.preventDefault();\n updated_note(id, event.target.value);\n };\n\n const handleSort = async (event, column, n_sort) => {\n event.preventDefault();\n setOrderField(column);\n setSort(n_sort);\n };\n useEffect(() => {\n change_handle_sort(sort, orderField);\n }, [orderField, sort]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {/**/}\n \n \n \n \n \n \n {serviceRequests?.map((serviceRequest) => {\n return (\n \n \n \n \n \n \n \n \n \n {/**/}\n \n \n \n \n );\n })}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n */}\n {/* */}\n {/*\n \n \n Assigned Users\n
\n {serviceRequest.case_status == 'NewServiceRequest' ? (\n Read\n ) : (\n <>\n )}\n \n {serviceRequest.new_from_customer ? (\n Unread\n ) : (\n <>\n // Read\n )}\n \n {serviceRequest.case_status == 'Review' ? (\n \n ) : (\n ''\n )}\n \n <>\n {serviceRequest.last_ffd_status == 'green' ? (\n \n ) : serviceRequest.last_ffd_status == 'red' ? (\n \n ) : serviceRequest.last_ffd_status == 'yellow' ? (\n \n ) : (\n <>\n )}\n \n {serviceRequest.customer_name}{serviceRequest.project_name}{serviceRequest.standard_name}\n {serviceRequest.patient_full_name}\n {}\n {dateFormat(serviceRequest.deadline, 'mm/dd/yyyy')}\n updateNoteFieldHandler(event, serviceRequest.id)}\n className='table-notes'\n />\n {serviceRequest.assigned_users}\n \n Edit\n \n
\n \n );\n};\n\nexport default ServiceRequestsTableList;\n","import React from 'react';\nimport ReactPaginate from 'react-paginate';\n\nconst Pagination = ({ handlePageClick, pageCount, clickforcePage }) => {\n return (\n
\n \n
\n );\n};\n\nexport default Pagination;\n","import axios from 'axios';\nconst fetchClient = () => {\n const defaultOptions = {\n baseURL: process.env.REACT_APP_BASE_URL,\n };\n\n let instance = axios.create(defaultOptions);\n instance.interceptors.request.use(function (config) {\n const token = localStorage.getItem('token');\n config.headers = {\n Authorization: token ? `Bearer ${token}` : '',\n 'Content-Type': 'application/json',\n };\n return config;\n });\n\n instance.interceptors.response.use(\n function (successRes) {\n return successRes;\n },\n function (error) {\n if (error.response.status === 403) {\n alert('Session is expired please login again!');\n localStorage.removeItem('token');\n localStorage.removeItem('mfa_alert');\n window.location.replace('/login');\n } else if (error.response.status === 406) {\n alert('Please complete the process of Multi Factor Authentication');\n window.location.replace('/login/pin_verification');\n }else{\n return error.response;\n }\n }\n );\n return instance;\n};\n\nexport default fetchClient();\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = {\n loading: false,\n error: '',\n data: {},\n currently_selected: [],\n removed_service_items: [],\n current_admin_fees: {\n id: -1,\n service_request_id: -1,\n service_request_item_ids: [],\n new_service_items: [],\n service_request_event_id: -1,\n reviewed_service_items: [],\n },\n};\n\nexport const admin_fees_slice = createSlice({\n name: 'admin_fees',\n initialState,\n\n reducers: {\n setBase: (state, action) => {\n return {\n ...state,\n current_admin_fees: {\n ...state.current_admin_fees,\n id: action.payload.id,\n service_request_id: action.payload.service_request_id,\n service_request_event_id: action.payload.service_request_event_id,\n new_service_items: action.payload.new_service_items,\n reviewed_service_items: action.payload.reviewed_service_items,\n },\n };\n },\n updateItemStatus: (state, action) => {\n if (action.payload.new_status === 'Reviewed') {\n // Move items from \"New\" to \"Reviewed\"\n let reviewed_items_temp = [\n ...state.current_admin_fees.reviewed_service_items,\n ];\n let new_items_temp = [...state.current_admin_fees.new_service_items];\n let currently_selected_temp = [...state.currently_selected];\n\n state.current_admin_fees.new_service_items.forEach((single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n single_item.status = 'Reviewed';\n reviewed_items_temp.push(single_item);\n }\n });\n\n state.current_admin_fees.reviewed_service_items = reviewed_items_temp;\n\n // Now remove items from 'new_service_items'\n state.current_admin_fees.new_service_items = [];\n new_items_temp.forEach((single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n } else {\n state.current_admin_fees.new_service_items.push(single_item);\n }\n });\n state.current_admin_fees.new_service_items.filter(\n (single_item) => !currently_selected_temp.includes(single_item.id)\n );\n\n state.currently_selected = [];\n } else if (action.payload.new_status === 'New') {\n // Move items from \"Reviewed\" to \"New\"\n let reviewed_items_temp = [\n ...state.current_admin_fees.reviewed_service_items,\n ];\n let new_items_temp = [...state.current_admin_fees.new_service_items];\n let currently_selected_temp = [...state.currently_selected];\n let temp_removed_service_items = [...state.removed_service_items];\n\n state.current_admin_fees.reviewed_service_items.forEach(\n (single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n single_item.status = 'New';\n new_items_temp.push(single_item);\n temp_removed_service_items.push(single_item);\n }\n }\n );\n\n state.current_admin_fees.new_service_items = new_items_temp;\n state.removed_service_items = temp_removed_service_items;\n // Now remove items from 'reviewed_service_items'\n state.current_admin_fees.reviewed_service_items = [];\n reviewed_items_temp.forEach((single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n } else {\n state.current_admin_fees.reviewed_service_items.push(single_item);\n }\n });\n state.current_admin_fees.reviewed_service_items.filter(\n (single_item) => !currently_selected_temp.includes(single_item.id)\n );\n\n state.currently_selected = [];\n }\n\n return state;\n },\n resetAll: (state, action) => {\n state = initialState;\n return state;\n },\n addItem: (state, action) => {\n return {\n ...state,\n currently_selected: [...state.currently_selected, action.payload.id],\n };\n },\n removeItem: (state, action) => {\n let currently_selected_temp = [...state.currently_selected];\n currently_selected_temp = currently_selected_temp.filter(\n (item) => item !== action.payload.id\n );\n\n return {\n ...state,\n currently_selected: currently_selected_temp,\n };\n },\n resetClickedItems: (state, action) => {\n return {\n ...state,\n currently_selected: [],\n };\n },\n },\n});\n\nexport const { reducer, actions } = admin_fees_slice;\nexport default reducer;\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = {\n loading: false,\n error: '',\n data: {},\n currently_selected: [],\n removed_service_items: [],\n current_doc_collection: {\n id: -1,\n service_request_id: -1,\n service_request_item_ids: [],\n service_request_event_id: -1,\n new_service_items: [],\n results_collected_service_items: [],\n attachments: [],\n },\n};\n\nexport const document_collection_slice = createSlice({\n name: 'document_collection',\n initialState,\n\n reducers: {\n setBase: (state, action) => {\n return {\n ...state,\n current_doc_collection: {\n ...state.current_doc_collection,\n id: action.payload.id,\n service_request_id: action.payload.service_request_id,\n service_request_event_id: action.payload.service_request_event_id,\n new_service_items: action.payload.new_service_items,\n results_collected_service_items:\n action.payload.results_collected_service_items,\n attachments: action.payload.attachments || [],\n },\n };\n },\n\n resetAll: (state, action) => {\n state = initialState;\n return state;\n },\n\n updateAttachment: (state, action) => {\n state.current_doc_collection.attachments = [];\n\n action.payload.attachments.forEach((single_attachment) => {\n let prepare_file_obj = {\n id: single_attachment.id,\n file_name: single_attachment.file_name,\n file_url: single_attachment.file_url,\n object_key: single_attachment.object_key,\n in_active: single_attachment.in_active,\n name: single_attachment.name,\n receipt: single_attachment.receipt,\n notes: single_attachment.notes,\n };\n\n if ('_destroy' in single_attachment) {\n prepare_file_obj._destroy = single_attachment._destroy;\n }\n\n state.current_doc_collection.attachments.push(prepare_file_obj);\n });\n\n return state;\n },\n\n updateItemStatus: (state, action) => {\n if (action.payload.new_status === 'Results Collected') {\n // Move items from \"New\" to \"Results Collected\"\n let results_collected_items_temp = [\n ...state.current_doc_collection.results_collected_service_items,\n ];\n let new_items_temp = [\n ...state.current_doc_collection.new_service_items,\n ];\n let currently_selected_temp = [...state.currently_selected];\n\n state.current_doc_collection.new_service_items.forEach(\n (single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n single_item.status = 'Results Collected';\n results_collected_items_temp.push(single_item);\n }\n }\n );\n\n state.current_doc_collection.results_collected_service_items =\n results_collected_items_temp;\n\n // Now remove items from 'new_service_items'\n state.current_doc_collection.new_service_items = [];\n new_items_temp.forEach((single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n } else {\n state.current_doc_collection.new_service_items.push(single_item);\n }\n });\n state.current_doc_collection.new_service_items.filter(\n (single_item) => !currently_selected_temp.includes(single_item.id)\n );\n\n state.currently_selected = [];\n } else if (action.payload.new_status === 'New') {\n // Move items from \"Results Collected\" to \"New\"\n let results_collected_items_temp = [\n ...state.current_doc_collection.results_collected_service_items,\n ];\n let new_items_temp = [\n ...state.current_doc_collection.new_service_items,\n ];\n let currently_selected_temp = [...state.currently_selected];\n let temp_removed_service_items = [...state.removed_service_items];\n\n state.current_doc_collection.results_collected_service_items.forEach(\n (single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n single_item.status = 'New';\n new_items_temp.push(single_item);\n temp_removed_service_items.push(single_item);\n }\n }\n );\n\n state.current_doc_collection.new_service_items = new_items_temp;\n state.removed_service_items = temp_removed_service_items;\n\n // Now remove items from 'results_collected_service_items'\n state.current_doc_collection.results_collected_service_items = [];\n results_collected_items_temp.forEach((single_item) => {\n if (state.currently_selected.includes(single_item.id)) {\n } else {\n state.current_doc_collection.results_collected_service_items.push(\n single_item\n );\n }\n });\n state.current_doc_collection.results_collected_service_items.filter(\n (single_item) => !currently_selected_temp.includes(single_item.id)\n );\n\n state.currently_selected = [];\n }\n\n return state;\n },\n addItem: (state, action) => {\n return {\n ...state,\n currently_selected: [...state.currently_selected, action.payload.id],\n };\n },\n removeItem: (state, action) => {\n let currently_selected_temp = [...state.currently_selected];\n currently_selected_temp = currently_selected_temp.filter(\n (item) => item !== action.payload.id\n );\n\n return {\n ...state,\n currently_selected: currently_selected_temp,\n };\n },\n resetClickedItems: (state, action) => {\n return {\n ...state,\n currently_selected: [],\n };\n },\n },\n});\n\nexport const { reducer, actions } = document_collection_slice;\nexport default reducer;\n","import { createSlice } from '@reduxjs/toolkit';\n\nconst initialState = {\n loading: false,\n error: '',\n data: {\n id: '',\n name: '',\n subject: '',\n slug: '',\n bcc: '',\n cc: '',\n body: '',\n from_email: '',\n reply_to: '',\n to_email: '',\n attachments: [],\n },\n current_slug: '',\n};\n\nexport const email_template_slice = createSlice({\n name: 'email_template',\n initialState,\n\n reducers: {\n setBase: (state, action) => {\n state = initialState;\n return state;\n },\n setCurrentSlug: (state, action) => {\n state.current_slug = action.payload;\n return state;\n },\n updateTemplate: (state, action) => {\n state.data[Object.keys(action.payload)[0]] = action.payload[Object.keys(action.payload)[0]].value;\n return state;\n },\n setTemplate: (state, action) => {\n state.data = {\n ...state.data,\n id: action.payload.id,\n name: action.payload.name,\n subject: action.payload.subject,\n bcc: action.payload.bcc,\n cc: action.payload.cc,\n body: action.payload.body,\n from_email: action.payload.from_email,\n reply_to: action.payload.reply_to,\n to_email: action.payload.to_email,\n attachments: action.payload.attachments,\n };\n\n return state;\n },\n },\n});\n\nexport const { reducer, actions } = email_template_slice;\nexport default reducer;\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { createFfdNote, updateServiceItemStatus, getFfdNoteByID, updateFfdNoteByID } from '../../actions/service_request_ffd';\n\n// import { } from \"../../actions/service_request_ffd\";\n\nconst initialState = { loading: 'idle', error: '', data: null };\n\nexport const createFFD = createAsyncThunk('ffd/createFFD', async (data, thunkAPI) => {\n try {\n const response = await createFfdNote(data);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const getFfdById = createAsyncThunk('ffd/getFfdById', async (id, thunkAPI) => {\n try {\n const response = await getFfdNoteByID(id);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const updateFfd = createAsyncThunk('ffd/updateFfdById', async (data, thunkAPI) => {\n try {\n const response = await updateFfdNoteByID(data.service_request_ffd.ffd_id, data.service_request_ffd.data);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const updateTaskStatus = createAsyncThunk('ffd/updateTaskStatus', async (data, thunkAPI) => {\n try {\n const response = await updateServiceItemStatus(data.id, data.payload);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const ffd_Slice = createSlice({\n name: 'service_request_ffd',\n initialState,\n\n reducers: {},\n\n extraReducers: (builder) => {\n builder.addCase(createFFD.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(createFFD.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = 'loaded';\n });\n builder.addCase(createFFD.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n // get ffd by ID\n builder.addCase(getFfdById.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(getFfdById.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = 'loaded';\n });\n builder.addCase(getFfdById.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n // update task\n builder.addCase(updateTaskStatus.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(updateTaskStatus.fulfilled, (state, data) => {\n state.loading = 'loaded';\n });\n builder.addCase(updateTaskStatus.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n //update FFD\n builder.addCase(updateFfd.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(updateFfd.fulfilled, (state, data) => {\n state.loading = 'loaded';\n });\n builder.addCase(updateFfd.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n },\n});\n\nexport const {} = ffd_Slice.actions;\nexport default ffd_Slice.reducer;\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport { ServiceRequestActions } from '../../actions/service_requests'\n\nconst initialState = { loading: 'idle', error: '', data: null }\n\nexport const fetch_service_request = createAsyncThunk(\n 'service_request',\n async (id, thunkAPI) => {\n try {\n const response = await ServiceRequestActions.getServiceRequest(id)\n return response\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message })\n }\n }\n)\n\nexport const service_request_slice = createSlice({\n name: 'service_request',\n initialState,\n\n reducers: {},\n\n extraReducers: (builder) => {\n builder.addCase(fetch_service_request.pending, (state) => {\n state.data = []\n state.loading = 'loading'\n })\n builder.addCase(fetch_service_request.fulfilled, (state, data) => {\n state.data = data.payload\n state.loading = 'loaded'\n })\n builder.addCase(fetch_service_request.rejected, (state, action) => {\n state.loading = 'error'\n state.error = action.error.message\n })\n }\n})\n\nexport const {} = service_request_slice.actions\nexport default service_request_slice.reducer\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { ServiceRequestItems } from '../../actions/service_request_items';\n\nconst initialState = {\n loading: false,\n error: '',\n data: {},\n clicked_item: null || [],\n};\n\nexport const fetchServiceRequestItems = createAsyncThunk('service_request_items_list', async (params, thunkAPI) => {\n try {\n const data = {\n search: { service_request_id_eq: params.id },\n page: params.page_num,\n };\n\n const response = await ServiceRequestItems.getList(data);\n\n response.service_request_items.forEach((single_item, index) => {\n response.service_request_items[index].is_recently_updated = false;\n });\n\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const service_request_items_slice = createSlice({\n name: 'ServiceRequestItemsList',\n initialState,\n\n reducers: {\n clickedItem: (state, action) => {\n return {\n ...state,\n clicked_item: [...state.clicked_item, action.payload],\n };\n },\n updateItemStatus: (state, action) => {\n let indexOfItem = -1;\n for (let index = 0; index < state.data.service_request_items.length; index++) {\n if (state.data.service_request_items[index].id === action.payload.single_item.id) {\n indexOfItem = index;\n }\n }\n\n state.data.service_request_items[indexOfItem].is_recently_updated = action.payload.is_recently_updated;\n state.data.service_request_items[indexOfItem].status = action.payload.new_status;\n return state;\n },\n },\n\n extraReducers: (builder) => {\n builder.addCase(fetchServiceRequestItems.pending, (state) => {\n state.loading = true;\n });\n builder.addCase(fetchServiceRequestItems.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = false;\n });\n builder.addCase(fetchServiceRequestItems.rejected, (state, action) => {\n state.loading = false;\n state.error = action.error.message;\n });\n },\n});\n\nconst { actions, reducer } = service_request_items_slice;\nexport const { clickedItem, updateItemStatus } = actions;\n// export const { reducer, actions } = service_request_items_slice;\nexport default reducer;\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\nimport { ServiceRequestItems } from '../../actions/service_request_items';\n// service request items\nconst { getList, updateAllItemsStatus } = ServiceRequestItems;\n\nconst initialState = {\n loading: 'idle',\n error: '',\n data: null,\n clicked_item: null || [],\n};\n\nexport const fetch_task_list = createAsyncThunk('service_request/task_list', async (id, thunkAPI) => {\n try {\n const param = {\n search: {\n service_request_id_eq: id,\n },\n };\n const response = await getList(param);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const update_task_list_status = createAsyncThunk('service_request/update_task_list', async (data, thunkAPI) => {\n try {\n const response = await updateAllItemsStatus(data);\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const task_slice = createSlice({\n name: 'service_request_task_list',\n initialState,\n\n reducers: {\n clicked_item: (state, action) => {\n return {\n ...state,\n clicked_item: [...state.clicked_item, action.payload],\n };\n },\n\n remove_item: (state, action) => {\n const data = state.clicked_item.filter((item) => item.id !== action.payload.id);\n\n return {\n ...state,\n clicked_item: data,\n };\n },\n\n remove_all_items: (state) => {\n return {\n ...state,\n clicked_item: [],\n };\n },\n\n select_all_items: (state, { payload }) => {\n return {\n ...state,\n clicked_item: payload,\n };\n },\n\n deselect_all_items: (state, { payload }) => {\n return {\n ...state,\n clicked_item: payload,\n };\n },\n },\n\n extraReducers: (builder) => {\n builder.addCase(fetch_task_list.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(fetch_task_list.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = 'loaded';\n });\n builder.addCase(fetch_task_list.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n // ================\n // update_task_list\n // ================\n builder.addCase(update_task_list_status.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(update_task_list_status.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = 'loaded';\n });\n builder.addCase(update_task_list_status.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n },\n});\n\nexport const { clicked_item, remove_item, deselect_all_items, select_all_items, remove_all_items } = task_slice.actions;\n\nexport default task_slice.reducer;\n","export const disableFutureDate = () => {\n return new Date().toISOString().slice(0, 10);\n};\n","import { useEffect, useRef } from 'react';\n\nexport default function useUpdateEffect(callback, dependencies) {\n const firstRenderRef = useRef(true);\n\n useEffect(() => {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n return callback();\n }, dependencies);\n}\n","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// To preserve insertion order in all cases we then clear the set\n\t\t// And we let finalizeProperty know it needs to re-add non-draft children back to the target\n\t\tlet resultEach = result\n\t\tlet isSet = false\n\t\tif (state.type_ === ProxyType.Set) {\n\t\t\tresultEach = new Set(result)\n\t\t\tresult.clear()\n\t\t\tisSet = true\n\t\t}\n\t\teach(resultEach, (key, childValue) =>\n\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path, isSet)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath,\n\ttargetIsSet?: boolean\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t} else if (targetIsSet) {\n\t\ttargetObject.add(childValue)\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\t// we never freeze for a non-root scope; as it would prevent pruning for drafts inside wrapping objects\n\tif (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\t(state.copy_![prop] === value &&\n\t\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t\t(value !== undefined || prop in state.copy_)) ||\n\t\t\t// special case: NaN\n\t\t\t(Number.isNaN(value) && Number.isNaN(state.copy_![prop]))\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (base: any, recipe?: any): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\n\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\treturn result.then(nextState => [nextState, patches!, inversePatches!])\n\t\t}\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (!draft_.hasOwnProperty(i)) {\n\t\t\t\t\tassigned_[i] = true\n\t\t\t\t}\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\t// last descriptor can be not a trap, if the array was extended\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// if we miss a property, it has been deleted, so array probobaly changed\n\t\tfor (let i = 0; i < draft_.length; i++) {\n\t\t\tif (!draft_.hasOwnProperty(i)) return true\n\t\t}\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface DevToolsEnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you\r\n * were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`\r\n * functions.\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n /**\r\n * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).\r\n * - `false` - will handle also circular references.\r\n * - `true` - will handle also date, regex, undefined, error objects, symbols, maps, sets and functions.\r\n * - object, which contains `date`, `regex`, `undefined`, `error`, `symbol`, `map`, `set` and `function` keys.\r\n * For each of them you can indicate if to include (by setting as `true`).\r\n * For `function` key you can also specify a custom function which handles serialization.\r\n * See [`jsan`](https://github.com/kolodny/jsan) for more details.\r\n */\r\n options?:\r\n | undefined\r\n | boolean\r\n | {\r\n date?: true\r\n regex?: true\r\n undefined?: true\r\n error?: true\r\n symbol?: true\r\n map?: true\r\n set?: true\r\n function?: true | ((fn: (...args: any[]) => any) => string)\r\n }\r\n /**\r\n * [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.\r\n * In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)\r\n * key. So you can deserialize it back while importing or persisting data.\r\n * Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):\r\n */\r\n replacer?: (key: string, value: unknown) => any\r\n /**\r\n * [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)\r\n * used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)\r\n * as an example on how to serialize special data types and get them back.\r\n */\r\n reviver?: (key: string, value: unknown) => any\r\n /**\r\n * Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).\r\n * Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.\r\n * The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.\r\n */\r\n immutable?: any\r\n /**\r\n * ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...\r\n */\r\n refs?: any\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsDenylist instead.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsAllowlist instead.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsDenylist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsAllowlist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: DevToolsEnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: DevToolsEnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport { hasMatchFunction } from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (noArgument: void): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overridden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overridden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\n/**\r\n * Returns true if value is a plain object with a `type` property.\r\n */\r\nexport function isAction(action: unknown): action is Action {\r\n return isPlainObject(action) && 'type' in action\r\n}\r\n\r\n/**\r\n * Returns true if value is an RTK-like action creator, with a static type property and match method.\r\n */\r\nexport function isActionCreator(\r\n action: unknown\r\n): action is BaseActionCreator & Function {\r\n return (\r\n typeof action === 'function' &&\r\n 'type' in action &&\r\n // hasMatchFunction only wants Matchers but I don't see the point in rewriting it\r\n hasMatchFunction(action as any)\r\n )\r\n}\r\n\r\n/**\r\n * Returns true if value is an action with a string type and valid Flux Standard Action keys.\r\n */\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isAction(action) &&\r\n typeof action.type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware, StoreEnhancer } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms))\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class EnhancerArray<\r\n Enhancers extends StoreEnhancer[]\r\n> extends Array {\r\n constructor(...items: Enhancers)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, EnhancerArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return EnhancerArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalEnhancers\r\n ): EnhancerArray<[...Enhancers, ...AdditionalEnhancers]>\r\n\r\n concat>>(\r\n ...items: AdditionalEnhancers\r\n ): EnhancerArray<[...Enhancers, ...AdditionalEnhancers]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalEnhancers\r\n ): EnhancerArray<[...AdditionalEnhancers, ...Enhancers]>\r\n\r\n prepend>>(\r\n ...items: AdditionalEnhancers\r\n ): EnhancerArray<[...AdditionalEnhancers, ...Enhancers]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new EnhancerArray(...arr[0].concat(this))\r\n }\r\n return new EnhancerArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware'\r\nimport { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n actionCreatorCheck?: boolean | ActionCreatorInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n actionCreatorCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n actionCreatorCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n actionCreatorCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n if (actionCreatorCheck) {\r\n let actionCreatorOptions: ActionCreatorInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(actionCreatorCheck)) {\r\n actionCreatorOptions = actionCreatorCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createActionCreatorInvariantMiddleware(actionCreatorOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { DevToolsEnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type {\r\n NoInfer,\r\n ExtractDispatchExtensions,\r\n ExtractStoreExtensions,\r\n ExtractStateExtensions,\r\n} from './tsHelpers'\r\nimport { EnhancerArray } from './utils'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: EnhancerArray<[StoreEnhancer<{}, {}>]>\r\n) => E\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n *\r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /*\r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic parameter,\r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: E | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\ntype Enhancers = ReadonlyArray\r\n\r\nexport interface ToolkitStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport type EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> = ToolkitStore, A, M> &\r\n ExtractStoreExtensions\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param options The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor],\r\n E extends Enhancers = [StoreEnhancer]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer: StoreEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n const defaultEnhancers = new EnhancerArray(middlewareEnhancer)\r\n let storeEnhancers: Enhancers = defaultEnhancers\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(defaultEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as StoreEnhancer\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","import type { Action, AnyAction } from 'redux'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n} from './createReducer'\r\nimport type { TypeGuard } from './tsHelpers'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n\r\n /**\r\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\r\n * @remarks\r\n * If multiple matcher reducers match, all of them will be executed in the order\r\n * they were defined in - even if a case reducer already matched.\r\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\r\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates)\r\n * function\r\n * @param reducer - The actual case reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AsyncThunk,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\ntype GenericAsyncThunk = AsyncThunk;\r\n\r\ntype PendingAction = ReturnType;\r\ntype RejectedAction = ReturnType;\r\ntype FulfilledAction = ReturnType;\r\n\r\nconst initialState: Record = {};\r\nconst resetAction = createAction(\"reset-tracked-loading-state\");\r\n\r\nfunction isPendingAction(action: AnyAction): action is PendingAction {\r\n return action.type.endsWith(\"/pending\");\r\n}\r\n\r\nconst reducer = createReducer(initialState, (builder) => {\r\n builder\r\n .addCase(resetAction, () => initialState)\r\n // matcher can be defined outside as a type predicate function\r\n .addMatcher(isPendingAction, (state, action) => {\r\n state[action.meta.requestId] = \"pending\";\r\n })\r\n .addMatcher(\r\n // matcher can be defined inline as a type predicate function\r\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"rejected\";\r\n }\r\n )\r\n // matcher can just return boolean and the matcher can receive a generic argument\r\n .addMatcher(\r\n (action) => action.type.endsWith(\"/fulfilled\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"fulfilled\";\r\n }\r\n );\r\n});\r\n```\r\n */\r\n addMatcher(\r\n matcher: TypeGuard | ((action: any) => boolean),\r\n reducer: CaseReducer\r\n ): Omit, 'addCase'>\r\n\r\n /**\r\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n * @param reducer - The fallback \"default case\" reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport { createReducer } from '@reduxjs/toolkit'\r\nconst initialState = { otherActions: 0 }\r\nconst reducer = createReducer(initialState, builder => {\r\n builder\r\n // .addCase(...)\r\n // .addMatcher(...)\r\n .addDefaultCase((state, action) => {\r\n state.otherActions++\r\n })\r\n})\r\n```\r\n */\r\n addDefaultCase(reducer: CaseReducer): {}\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): [\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n CaseReducer | undefined\r\n] {\r\n const actionsMap: CaseReducers = {}\r\n const actionMatchers: ActionMatcherDescriptionCollection = []\r\n let defaultCaseReducer: CaseReducer | undefined\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n /*\r\n to keep the definition by the user in line with actual behavior,\r\n we enforce `addCase` to always be called before calling `addMatcher`\r\n as matching cases take precedence over matchers\r\n */\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addMatcher`'\r\n )\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (!type) {\r\n throw new Error(\r\n '`builder.addCase` cannot be called with an empty action type'\r\n )\r\n }\r\n if (type in actionsMap) {\r\n throw new Error(\r\n '`builder.addCase` cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n },\r\n addMatcher(\r\n matcher: TypeGuard,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n actionMatchers.push({ matcher, reducer })\r\n return builder\r\n },\r\n addDefaultCase(reducer: CaseReducer) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error('`builder.addDefaultCase` can only be called once')\r\n }\r\n }\r\n defaultCaseReducer = reducer\r\n return builder\r\n },\r\n }\r\n builderCallback(builder)\r\n return [actionsMap, actionMatchers, defaultCaseReducer]\r\n}\r\n","import type { AnyAction, Reducer } from 'redux'\r\nimport { createNextState } from '.'\r\nimport type {\r\n ActionCreatorWithoutPayload,\r\n PayloadAction,\r\n PayloadActionCreator,\r\n PrepareAction,\r\n _ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ReducerWithInitialState,\r\n} from './createReducer'\r\nimport { createReducer, NotFunction } from './createReducer'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * An action creator attached to a slice.\r\n *\r\n * @deprecated please use PayloadActionCreator directly\r\n *\r\n * @public\r\n */\r\nexport type SliceActionCreator

= PayloadActionCreator

\r\n\r\n/**\r\n * The return value of `createSlice`\r\n *\r\n * @public\r\n */\r\nexport interface Slice<\r\n State = any,\r\n CaseReducers extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice name.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The slice's reducer.\r\n */\r\n reducer: Reducer\r\n\r\n /**\r\n * Action creators for the types of actions that are handled by the slice\r\n * reducer.\r\n */\r\n actions: CaseReducerActions\r\n\r\n /**\r\n * The individual case reducer functions that were passed in the `reducers` parameter.\r\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\r\n */\r\n caseReducers: SliceDefinedCaseReducers\r\n\r\n /**\r\n * Provides access to the initial state value given to the slice.\r\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\r\n */\r\n getInitialState: () => State\r\n}\r\n\r\n/**\r\n * Options for `createSlice()`.\r\n *\r\n * @public\r\n */\r\nexport interface CreateSliceOptions<\r\n State = any,\r\n CR extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice's name. Used to namespace the generated action types.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n */\r\n initialState: State | (() => State)\r\n\r\n /**\r\n * A mapping from action types to action-type-specific *case reducer*\r\n * functions. For every action type, a matching action creator will be\r\n * generated using `createAction()`.\r\n */\r\n reducers: ValidateSliceCaseReducers\r\n\r\n /**\r\n * A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * \r\n * Alternatively, a mapping from action types to action-type-specific *case reducer*\r\n * functions. These reducers should have existing action types used\r\n * as the keys, and action creators will _not_ be generated.\r\n * \r\n * @example\r\n```ts\r\nimport { createAction, createSlice, Action, AnyAction } from '@reduxjs/toolkit'\r\nconst incrementBy = createAction('incrementBy')\r\nconst decrement = createAction('decrement')\r\n\r\ninterface RejectedAction extends Action {\r\n error: Error\r\n}\r\n\r\nfunction isRejectedAction(action: AnyAction): action is RejectedAction {\r\n return action.type.endsWith('rejected')\r\n}\r\n\r\ncreateSlice({\r\n name: 'counter',\r\n initialState: 0,\r\n reducers: {},\r\n extraReducers: builder => {\r\n builder\r\n .addCase(incrementBy, (state, action) => {\r\n // action is inferred correctly here if using TS\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {})\r\n // You can match a range of action types\r\n .addMatcher(\r\n isRejectedAction,\r\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\r\n (state, action) => {}\r\n )\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {})\r\n }\r\n})\r\n```\r\n */\r\n extraReducers?:\r\n | CaseReducers, any>\r\n | ((builder: ActionReducerMapBuilder>) => void)\r\n}\r\n\r\n/**\r\n * A CaseReducer with a `prepare` method.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerWithPrepare = {\r\n reducer: CaseReducer\r\n prepare: PrepareAction\r\n}\r\n\r\n/**\r\n * The type describing a slice's `reducers` option.\r\n *\r\n * @public\r\n */\r\nexport type SliceCaseReducers = {\r\n [K: string]:\r\n | CaseReducer>\r\n | CaseReducerWithPrepare>\r\n}\r\n\r\ntype SliceActionType<\r\n SliceName extends string,\r\n ActionName extends keyof any\r\n> = ActionName extends string | number ? `${SliceName}/${ActionName}` : string\r\n\r\n/**\r\n * Derives the slice's `actions` property from the `reducers` options\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerActions<\r\n CaseReducers extends SliceCaseReducers,\r\n SliceName extends string\r\n> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends { prepare: any }\r\n ? ActionCreatorForCaseReducerWithPrepare<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n : ActionCreatorForCaseReducer<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n}\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducerWithPrepare<\r\n CR extends { prepare: any },\r\n Type extends string\r\n> = _ActionCreatorWithPreparedPayload\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducer = CR extends (\r\n state: any,\r\n action: infer Action\r\n) => any\r\n ? Action extends { payload: infer P }\r\n ? PayloadActionCreator\r\n : ActionCreatorWithoutPayload\r\n : ActionCreatorWithoutPayload\r\n\r\n/**\r\n * Extracts the CaseReducers out of a `reducers` object, even if they are\r\n * tested into a `CaseReducerWithPrepare`.\r\n *\r\n * @internal\r\n */\r\ntype SliceDefinedCaseReducers> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends {\r\n reducer: infer Reducer\r\n }\r\n ? Reducer\r\n : CaseReducers[Type]\r\n}\r\n\r\n/**\r\n * Used on a SliceCaseReducers object.\r\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\r\n * the `reducer` and the `prepare` function use the same type of `payload`.\r\n *\r\n * Might do additional such checks in the future.\r\n *\r\n * This type is only ever useful if you want to write your own wrapper around\r\n * `createSlice`. Please don't use it otherwise!\r\n *\r\n * @public\r\n */\r\nexport type ValidateSliceCaseReducers<\r\n S,\r\n ACR extends SliceCaseReducers\r\n> = ACR &\r\n {\r\n [T in keyof ACR]: ACR[T] extends {\r\n reducer(s: S, action?: infer A): any\r\n }\r\n ? {\r\n prepare(...a: never[]): Omit\r\n }\r\n : {}\r\n }\r\n\r\nfunction getType(slice: string, actionKey: string): string {\r\n return `${slice}/${actionKey}`\r\n}\r\n\r\n/**\r\n * A function that accepts an initial state, an object full of reducer\r\n * functions, and a \"slice name\", and automatically generates\r\n * action creators and action types that correspond to the\r\n * reducers and state.\r\n *\r\n * The `reducer` argument is passed to `createReducer()`.\r\n *\r\n * @public\r\n */\r\nexport function createSlice<\r\n State,\r\n CaseReducers extends SliceCaseReducers,\r\n Name extends string = string\r\n>(\r\n options: CreateSliceOptions\r\n): Slice {\r\n const { name } = options\r\n if (!name) {\r\n throw new Error('`name` is a required option for createSlice')\r\n }\r\n\r\n if (\r\n typeof process !== 'undefined' &&\r\n process.env.NODE_ENV === 'development'\r\n ) {\r\n if (options.initialState === undefined) {\r\n console.error(\r\n 'You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`'\r\n )\r\n }\r\n }\r\n\r\n const initialState =\r\n typeof options.initialState == 'function'\r\n ? options.initialState\r\n : freezeDraftable(options.initialState)\r\n\r\n const reducers = options.reducers || {}\r\n\r\n const reducerNames = Object.keys(reducers)\r\n\r\n const sliceCaseReducersByName: Record = {}\r\n const sliceCaseReducersByType: Record = {}\r\n const actionCreators: Record = {}\r\n\r\n reducerNames.forEach((reducerName) => {\r\n const maybeReducerWithPrepare = reducers[reducerName]\r\n const type = getType(name, reducerName)\r\n\r\n let caseReducer: CaseReducer\r\n let prepareCallback: PrepareAction | undefined\r\n\r\n if ('reducer' in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer\r\n prepareCallback = maybeReducerWithPrepare.prepare\r\n } else {\r\n caseReducer = maybeReducerWithPrepare\r\n }\r\n\r\n sliceCaseReducersByName[reducerName] = caseReducer\r\n sliceCaseReducersByType[type] = caseReducer\r\n actionCreators[reducerName] = prepareCallback\r\n ? createAction(type, prepareCallback)\r\n : createAction(type)\r\n })\r\n\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof options.extraReducers === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\"\r\n )\r\n }\r\n }\r\n }\r\n const [\r\n extraReducers = {},\r\n actionMatchers = [],\r\n defaultCaseReducer = undefined,\r\n ] =\r\n typeof options.extraReducers === 'function'\r\n ? executeReducerBuilderCallback(options.extraReducers)\r\n : [options.extraReducers]\r\n\r\n const finalCaseReducers = { ...extraReducers, ...sliceCaseReducersByType }\r\n\r\n return createReducer(initialState, (builder) => {\r\n for (let key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key] as CaseReducer)\r\n }\r\n for (let m of actionMatchers) {\r\n builder.addMatcher(m.matcher, m.reducer)\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer)\r\n }\r\n })\r\n }\r\n\r\n let _reducer: ReducerWithInitialState\r\n\r\n return {\r\n name,\r\n reducer(state, action) {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer(state, action)\r\n },\r\n actions: actionCreators as any,\r\n caseReducers: sliceCaseReducersByName as any,\r\n getInitialState() {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer.getInitialState()\r\n },\r\n }\r\n}\r\n","import type { Draft } from 'immer'\r\nimport createNextState, { isDraft, isDraftable } from 'immer'\r\nimport type { AnyAction, Action, Reducer } from 'redux'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * @deprecated use `TypeGuard` instead\r\n */\r\nexport interface ActionMatcher {\r\n (action: AnyAction): action is A\r\n}\r\n\r\nexport type ActionMatcherDescription = {\r\n matcher: ActionMatcher\r\n reducer: CaseReducer>\r\n}\r\n\r\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray<\r\n ActionMatcherDescription\r\n>\r\n\r\nexport type ActionMatcherDescriptionCollection = Array<\r\n ActionMatcherDescription\r\n>\r\n\r\n/**\r\n * A *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => NoInfer | void | Draft>\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\nexport type NotFunction = T extends Function ? never : T\r\n\r\nfunction isStateFunction(x: unknown): x is () => S {\r\n return typeof x === 'function'\r\n}\r\n\r\nexport type ReducerWithInitialState> = Reducer & {\r\n getInitialState: () => S\r\n}\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * @remarks\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @overloadSummary\r\n * This overload accepts a callback function that receives a `builder` object as its argument.\r\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\r\n * called to define what actions this reducer will handle.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AnyAction,\r\n PayloadAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\nconst increment = createAction(\"increment\");\r\nconst decrement = createAction(\"decrement\");\r\n\r\nfunction isActionWithNumberPayload(\r\n action: AnyAction\r\n): action is PayloadAction {\r\n return typeof action.payload === \"number\";\r\n}\r\n\r\nconst reducer = createReducer(\r\n {\r\n counter: 0,\r\n sumOfNumberPayloads: 0,\r\n unhandledActions: 0,\r\n },\r\n (builder) => {\r\n builder\r\n .addCase(increment, (state, action) => {\r\n // action is inferred correctly here\r\n state.counter += action.payload;\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {\r\n state.counter -= action.payload;\r\n })\r\n // You can apply a \"matcher function\" to incoming actions\r\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {});\r\n }\r\n);\r\n```\r\n * @public\r\n */\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): ReducerWithInitialState\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * \r\n * @overloadSummary\r\n * This overload accepts an object where the keys are string action types, and the values\r\n * are case reducer functions to handle those action types.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param actionsMap - An object mapping from action types to _case reducers_, each of which handles one specific action type.\r\n * @param actionMatchers - An array of matcher definitions in the form `{matcher, reducer}`.\r\n * All matching reducers will be executed in order, independently if a case reducer matched or not.\r\n * @param defaultCaseReducer - A \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n *\r\n * @example\r\n```js\r\nconst counterReducer = createReducer(0, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n\r\n// Alternately, use a \"lazy initializer\" to provide the initial state\r\n// (works with either form of createReducer)\r\nconst initialState = () => 0\r\nconst counterReducer = createReducer(initialState, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n```\r\n \r\n * Action creators that were generated using [`createAction`](./createAction) may be used directly as the keys here, using computed property syntax:\r\n\r\n```js\r\nconst increment = createAction('increment')\r\nconst decrement = createAction('decrement')\r\n\r\nconst counterReducer = createReducer(0, {\r\n [increment]: (state, action) => state + action.payload,\r\n [decrement.type]: (state, action) => state - action.payload\r\n})\r\n```\r\n * @public\r\n */\r\nexport function createReducer<\r\n S extends NotFunction,\r\n CR extends CaseReducers = CaseReducers\r\n>(\r\n initialState: S | (() => S),\r\n actionsMap: CR,\r\n actionMatchers?: ActionMatcherDescriptionCollection,\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState\r\n\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void),\r\n actionMatchers: ReadonlyActionMatcherDescriptionCollection = [],\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof mapOrBuilderCallback === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\"\r\n )\r\n }\r\n }\r\n }\r\n\r\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer]\r\n\r\n // Ensure the initial state gets frozen either way (if draftable)\r\n let getInitialState: () => S\r\n if (isStateFunction(initialState)) {\r\n getInitialState = () => freezeDraftable(initialState())\r\n } else {\r\n const frozenInitialState = freezeDraftable(initialState)\r\n getInitialState = () => frozenInitialState\r\n }\r\n\r\n function reducer(state = getInitialState(), action: any): S {\r\n let caseReducers = [\r\n actionsMap[action.type],\r\n ...finalActionMatchers\r\n .filter(({ matcher }) => matcher(action))\r\n .map(({ reducer }) => reducer),\r\n ]\r\n if (caseReducers.filter((cr) => !!cr).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer]\r\n }\r\n\r\n return caseReducers.reduce((previousState, caseReducer): S => {\r\n if (caseReducer) {\r\n if (isDraft(previousState)) {\r\n // If it's already a draft, we must already be inside a `createNextState` call,\r\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\r\n // inside an existing draft. It's safe to just pass the draft to the mutator.\r\n const draft = previousState as Draft // We can assume this is already a draft\r\n const result = caseReducer(draft, action)\r\n\r\n if (result === undefined) {\r\n return previousState\r\n }\r\n\r\n return result as S\r\n } else if (!isDraftable(previousState)) {\r\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\r\n // return the caseReducer func and not wrap it with produce.\r\n const result = caseReducer(previousState as any, action)\r\n\r\n if (result === undefined) {\r\n if (previousState === null) {\r\n return previousState\r\n }\r\n throw Error(\r\n 'A case reducer on a non-draftable value must not return undefined'\r\n )\r\n }\r\n\r\n return result as S\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(previousState, (draft: Draft) => {\r\n return caseReducer(draft, action)\r\n })\r\n }\r\n }\r\n\r\n return previousState\r\n }, state)\r\n }\r\n\r\n reducer.getInitialState = getInitialState\r\n\r\n return reducer as ReducerWithInitialState\r\n}\r\n","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\r\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\r\n// optimize the gzip compression for this alphabet.\r\nlet urlAlphabet =\r\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\r\n\r\n/**\r\n *\r\n * @public\r\n */\r\nexport let nanoid = (size = 21) => {\r\n let id = ''\r\n // A compact alternative for `for (var i = 0; i < step; i++)`.\r\n let i = size\r\n while (i--) {\r\n // `| 0` is more compact and faster than `Math.floor()`.\r\n id += urlAlphabet[(Math.random() * 64) | 0]\r\n }\r\n return id\r\n}\r\n","import type { Dispatch, AnyAction } from 'redux'\r\nimport type {\r\n PayloadAction,\r\n ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport type { FallbackIfUnknown, Id, IsAny, IsUnknown } from './tsHelpers'\r\nimport { nanoid } from './nanoid'\r\n\r\n// @ts-ignore we need the import of these types due to a bundling issue.\r\ntype _Keep = PayloadAction | ActionCreatorWithPreparedPayload\r\n\r\nexport type BaseThunkAPI<\r\n S,\r\n E,\r\n D extends Dispatch = Dispatch,\r\n RejectedValue = unknown,\r\n RejectedMeta = unknown,\r\n FulfilledMeta = unknown\r\n> = {\r\n dispatch: D\r\n getState: () => S\r\n extra: E\r\n requestId: string\r\n signal: AbortSignal\r\n abort: (reason?: string) => void\r\n rejectWithValue: IsUnknown<\r\n RejectedMeta,\r\n (value: RejectedValue) => RejectWithValue,\r\n (\r\n value: RejectedValue,\r\n meta: RejectedMeta\r\n ) => RejectWithValue\r\n >\r\n fulfillWithValue: IsUnknown<\r\n FulfilledMeta,\r\n (value: FulfilledValue) => FulfilledValue,\r\n (\r\n value: FulfilledValue,\r\n meta: FulfilledMeta\r\n ) => FulfillWithMeta\r\n >\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SerializedError {\r\n name?: string\r\n message?: string\r\n stack?: string\r\n code?: string\r\n}\r\n\r\nconst commonProperties: Array = [\r\n 'name',\r\n 'message',\r\n 'stack',\r\n 'code',\r\n]\r\n\r\nclass RejectWithValue {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'RejectWithValue'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: RejectedMeta\r\n ) {}\r\n}\r\n\r\nclass FulfillWithMeta {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'FulfillWithMeta'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: FulfilledMeta\r\n ) {}\r\n}\r\n\r\n/**\r\n * Serializes an error into a plain object.\r\n * Reworked from https://github.com/sindresorhus/serialize-error\r\n *\r\n * @public\r\n */\r\nexport const miniSerializeError = (value: any): SerializedError => {\r\n if (typeof value === 'object' && value !== null) {\r\n const simpleError: SerializedError = {}\r\n for (const property of commonProperties) {\r\n if (typeof value[property] === 'string') {\r\n simpleError[property] = value[property]\r\n }\r\n }\r\n\r\n return simpleError\r\n }\r\n\r\n return { message: String(value) }\r\n}\r\n\r\ntype AsyncThunkConfig = {\r\n state?: unknown\r\n dispatch?: Dispatch\r\n extra?: unknown\r\n rejectValue?: unknown\r\n serializedErrorType?: unknown\r\n pendingMeta?: unknown\r\n fulfilledMeta?: unknown\r\n rejectedMeta?: unknown\r\n}\r\n\r\ntype GetState = ThunkApiConfig extends {\r\n state: infer State\r\n}\r\n ? State\r\n : unknown\r\ntype GetExtra = ThunkApiConfig extends { extra: infer Extra }\r\n ? Extra\r\n : unknown\r\ntype GetDispatch = ThunkApiConfig extends {\r\n dispatch: infer Dispatch\r\n}\r\n ? FallbackIfUnknown<\r\n Dispatch,\r\n ThunkDispatch<\r\n GetState,\r\n GetExtra,\r\n AnyAction\r\n >\r\n >\r\n : ThunkDispatch, GetExtra, AnyAction>\r\n\r\nexport type GetThunkAPI = BaseThunkAPI<\r\n GetState,\r\n GetExtra,\r\n GetDispatch,\r\n GetRejectValue,\r\n GetRejectedMeta,\r\n GetFulfilledMeta\r\n>\r\n\r\ntype GetRejectValue = ThunkApiConfig extends {\r\n rejectValue: infer RejectValue\r\n}\r\n ? RejectValue\r\n : unknown\r\n\r\ntype GetPendingMeta = ThunkApiConfig extends {\r\n pendingMeta: infer PendingMeta\r\n}\r\n ? PendingMeta\r\n : unknown\r\n\r\ntype GetFulfilledMeta = ThunkApiConfig extends {\r\n fulfilledMeta: infer FulfilledMeta\r\n}\r\n ? FulfilledMeta\r\n : unknown\r\n\r\ntype GetRejectedMeta = ThunkApiConfig extends {\r\n rejectedMeta: infer RejectedMeta\r\n}\r\n ? RejectedMeta\r\n : unknown\r\n\r\ntype GetSerializedErrorType = ThunkApiConfig extends {\r\n serializedErrorType: infer GetSerializedErrorType\r\n}\r\n ? GetSerializedErrorType\r\n : SerializedError\r\n\r\ntype MaybePromise = T | Promise | (T extends any ? Promise : never)\r\n\r\n/**\r\n * A type describing the return value of the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreatorReturnValue<\r\n Returned,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = MaybePromise<\r\n | IsUnknown<\r\n GetFulfilledMeta,\r\n Returned,\r\n FulfillWithMeta>\r\n >\r\n | RejectWithValue<\r\n GetRejectValue,\r\n GetRejectedMeta\r\n >\r\n>\r\n/**\r\n * A type describing the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = (\r\n arg: ThunkArg,\r\n thunkAPI: GetThunkAPI\r\n) => AsyncThunkPayloadCreatorReturnValue\r\n\r\n/**\r\n * A ThunkAction created by `createAsyncThunk`.\r\n * Dispatching it returns a Promise for either a\r\n * fulfilled or rejected action.\r\n * Also, the returned value contains an `abort()` method\r\n * that allows the asyncAction to be cancelled from the outside.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkAction<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = (\r\n dispatch: GetDispatch,\r\n getState: () => GetState,\r\n extra: GetExtra\r\n) => Promise<\r\n | ReturnType>\r\n | ReturnType>\r\n> & {\r\n abort: (reason?: string) => void\r\n requestId: string\r\n arg: ThunkArg\r\n unwrap: () => Promise\r\n}\r\n\r\ntype AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = IsAny<\r\n ThunkArg,\r\n // any handling\r\n (arg: ThunkArg) => AsyncThunkAction,\r\n // unknown handling\r\n unknown extends ThunkArg\r\n ? (arg: ThunkArg) => AsyncThunkAction // argument not specified or specified as void or undefined\r\n : [ThunkArg] extends [void] | [undefined]\r\n ? () => AsyncThunkAction // argument contains void\r\n : [void] extends [ThunkArg] // make optional\r\n ? (arg?: ThunkArg) => AsyncThunkAction // argument contains undefined\r\n : [undefined] extends [ThunkArg]\r\n ? WithStrictNullChecks<\r\n // with strict nullChecks: make optional\r\n (\r\n arg?: ThunkArg\r\n ) => AsyncThunkAction,\r\n // without strict null checks this will match everything, so don't make it optional\r\n (arg: ThunkArg) => AsyncThunkAction\r\n > // default case: normal argument\r\n : (arg: ThunkArg) => AsyncThunkAction\r\n>\r\n\r\n/**\r\n * Options object for `createAsyncThunk`.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkOptions<\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = {\r\n /**\r\n * A method to control whether the asyncThunk should be executed. Has access to the\r\n * `arg`, `api.getState()` and `api.extra` arguments.\r\n *\r\n * @returns `false` if it should be skipped\r\n */\r\n condition?(\r\n arg: ThunkArg,\r\n api: Pick, 'getState' | 'extra'>\r\n ): MaybePromise\r\n /**\r\n * If `condition` returns `false`, the asyncThunk will be skipped.\r\n * This option allows you to control whether a `rejected` action with `meta.condition == false`\r\n * will be dispatched or not.\r\n *\r\n * @default `false`\r\n */\r\n dispatchConditionRejection?: boolean\r\n\r\n serializeError?: (x: unknown) => GetSerializedErrorType\r\n\r\n /**\r\n * A function to use when generating the `requestId` for the request sequence.\r\n *\r\n * @default `nanoid`\r\n */\r\n idGenerator?: (arg: ThunkArg) => string\r\n} & IsUnknown<\r\n GetPendingMeta,\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n *\r\n * Using this optional overload will not modify the types correctly, this overload is only in place to support JavaScript users.\r\n * Please use the `ThunkApiConfig` parameter `pendingMeta` to get access to a correctly typed overload\r\n */\r\n getPendingMeta?(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n },\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n */\r\n getPendingMeta(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n }\r\n>\r\n\r\nexport type AsyncThunkPendingActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [string, ThunkArg, GetPendingMeta?],\r\n undefined,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'pending'\r\n } & GetPendingMeta\r\n>\r\n\r\nexport type AsyncThunkRejectedActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [\r\n Error | null,\r\n string,\r\n ThunkArg,\r\n GetRejectValue?,\r\n GetRejectedMeta?\r\n ],\r\n GetRejectValue | undefined,\r\n string,\r\n GetSerializedErrorType,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'rejected'\r\n aborted: boolean\r\n condition: boolean\r\n } & (\r\n | ({ rejectedWithValue: false } & {\r\n [K in keyof GetRejectedMeta]?: undefined\r\n })\r\n | ({ rejectedWithValue: true } & GetRejectedMeta)\r\n )\r\n>\r\n\r\nexport type AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [Returned, string, ThunkArg, GetFulfilledMeta?],\r\n Returned,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'fulfilled'\r\n } & GetFulfilledMeta\r\n>\r\n\r\n/**\r\n * A type describing the return value of `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = AsyncThunkActionCreator & {\r\n pending: AsyncThunkPendingActionCreator\r\n rejected: AsyncThunkRejectedActionCreator\r\n fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >\r\n typePrefix: string\r\n}\r\n\r\ntype OverrideThunkApiConfigs = Id<\r\n NewConfig & Omit\r\n>\r\n\r\ntype CreateAsyncThunk = {\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n // separate signature without `AsyncThunkConfig` for better inference\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n CurriedThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk\r\n\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >,\r\n options?: AsyncThunkOptions<\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n ): AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n\r\n withTypes(): CreateAsyncThunk<\r\n OverrideThunkApiConfigs\r\n >\r\n}\r\n\r\nexport const createAsyncThunk = (() => {\r\n function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n >(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk {\r\n type RejectedValue = GetRejectValue\r\n type PendingMeta = GetPendingMeta\r\n type FulfilledMeta = GetFulfilledMeta\r\n type RejectedMeta = GetRejectedMeta\r\n\r\n const fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n > = createAction(\r\n typePrefix + '/fulfilled',\r\n (\r\n payload: Returned,\r\n requestId: string,\r\n arg: ThunkArg,\r\n meta?: FulfilledMeta\r\n ) => ({\r\n payload,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'fulfilled' as const,\r\n },\r\n })\r\n )\r\n\r\n const pending: AsyncThunkPendingActionCreator =\r\n createAction(\r\n typePrefix + '/pending',\r\n (requestId: string, arg: ThunkArg, meta?: PendingMeta) => ({\r\n payload: undefined,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'pending' as const,\r\n },\r\n })\r\n )\r\n\r\n const rejected: AsyncThunkRejectedActionCreator =\r\n createAction(\r\n typePrefix + '/rejected',\r\n (\r\n error: Error | null,\r\n requestId: string,\r\n arg: ThunkArg,\r\n payload?: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => ({\r\n payload,\r\n error: ((options && options.serializeError) || miniSerializeError)(\r\n error || 'Rejected'\r\n ) as GetSerializedErrorType,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: 'rejected' as const,\r\n aborted: error?.name === 'AbortError',\r\n condition: error?.name === 'ConditionError',\r\n },\r\n })\r\n )\r\n\r\n let displayedWarning = false\r\n\r\n const AC =\r\n typeof AbortController !== 'undefined'\r\n ? AbortController\r\n : class implements AbortController {\r\n signal = {\r\n aborted: false,\r\n addEventListener() {},\r\n dispatchEvent() {\r\n return false\r\n },\r\n onabort() {},\r\n removeEventListener() {},\r\n reason: undefined,\r\n throwIfAborted() {},\r\n }\r\n abort() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!displayedWarning) {\r\n displayedWarning = true\r\n console.info(\r\n `This platform does not implement AbortController. \r\nIf you want to use the AbortController to react to \\`abort\\` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.`\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n function actionCreator(\r\n arg: ThunkArg\r\n ): AsyncThunkAction {\r\n return (dispatch, getState, extra) => {\r\n const requestId = options?.idGenerator\r\n ? options.idGenerator(arg)\r\n : nanoid()\r\n\r\n const abortController = new AC()\r\n let abortReason: string | undefined\r\n\r\n let started = false\r\n function abort(reason?: string) {\r\n abortReason = reason\r\n abortController.abort()\r\n }\r\n\r\n const promise = (async function () {\r\n let finalAction: ReturnType\r\n try {\r\n let conditionResult = options?.condition?.(arg, { getState, extra })\r\n if (isThenable(conditionResult)) {\r\n conditionResult = await conditionResult\r\n }\r\n\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw {\r\n name: 'ConditionError',\r\n message: 'Aborted due to condition callback returning false.',\r\n }\r\n }\r\n started = true\r\n\r\n const abortedPromise = new Promise((_, reject) =>\r\n abortController.signal.addEventListener('abort', () =>\r\n reject({\r\n name: 'AbortError',\r\n message: abortReason || 'Aborted',\r\n })\r\n )\r\n )\r\n dispatch(\r\n pending(\r\n requestId,\r\n arg,\r\n options?.getPendingMeta?.(\r\n { requestId, arg },\r\n { getState, extra }\r\n )\r\n )\r\n )\r\n finalAction = await Promise.race([\r\n abortedPromise,\r\n Promise.resolve(\r\n payloadCreator(arg, {\r\n dispatch,\r\n getState,\r\n extra,\r\n requestId,\r\n signal: abortController.signal,\r\n abort,\r\n rejectWithValue: ((\r\n value: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => {\r\n return new RejectWithValue(value, meta)\r\n }) as any,\r\n fulfillWithValue: ((value: unknown, meta?: FulfilledMeta) => {\r\n return new FulfillWithMeta(value, meta)\r\n }) as any,\r\n })\r\n ).then((result) => {\r\n if (result instanceof RejectWithValue) {\r\n throw result\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta)\r\n }\r\n return fulfilled(result as any, requestId, arg)\r\n }),\r\n ])\r\n } catch (err) {\r\n finalAction =\r\n err instanceof RejectWithValue\r\n ? rejected(null, requestId, arg, err.payload, err.meta)\r\n : rejected(err as any, requestId, arg)\r\n }\r\n // We dispatch the result action _after_ the catch, to avoid having any errors\r\n // here get swallowed by the try/catch block,\r\n // per https://twitter.com/dan_abramov/status/770914221638942720\r\n // and https://github.com/reduxjs/redux-toolkit/blob/e85eb17b39a2118d859f7b7746e0f3fee523e089/docs/tutorials/advanced-tutorial.md#async-error-handling-logic-in-thunks\r\n\r\n const skipDispatch =\r\n options &&\r\n !options.dispatchConditionRejection &&\r\n rejected.match(finalAction) &&\r\n (finalAction as any).meta.condition\r\n\r\n if (!skipDispatch) {\r\n dispatch(finalAction)\r\n }\r\n return finalAction\r\n })()\r\n return Object.assign(promise as Promise, {\r\n abort,\r\n requestId,\r\n arg,\r\n unwrap() {\r\n return promise.then(unwrapResult)\r\n },\r\n })\r\n }\r\n }\r\n\r\n return Object.assign(\r\n actionCreator as AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n {\r\n pending,\r\n rejected,\r\n fulfilled,\r\n typePrefix,\r\n }\r\n )\r\n }\r\n createAsyncThunk.withTypes = () => createAsyncThunk\r\n\r\n return createAsyncThunk as CreateAsyncThunk\r\n})()\r\n\r\ninterface UnwrappableAction {\r\n payload: any\r\n meta?: any\r\n error?: any\r\n}\r\n\r\ntype UnwrappedActionPayload = Exclude<\r\n T,\r\n { error: any }\r\n>['payload']\r\n\r\n/**\r\n * @public\r\n */\r\nexport function unwrapResult(\r\n action: R\r\n): UnwrappedActionPayload {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload\r\n }\r\n if (action.error) {\r\n throw action.error\r\n }\r\n return action.payload\r\n}\r\n\r\ntype WithStrictNullChecks = undefined extends boolean\r\n ? False\r\n : True\r\n\r\nfunction isThenable(value: any): value is PromiseLike {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n typeof value.then === 'function'\r\n )\r\n}\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction, isAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n ForkOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n raceWithSignal,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (\r\n parentAbortSignal: AbortSignalWithReason,\r\n parentBlockingPromises: Promise[]\r\n) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (\r\n taskExecutor: ForkedTaskExecutor,\r\n opts?: ForkOptions\r\n ): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n if (opts?.autoJoin) {\r\n parentBlockingPromises.push(result)\r\n }\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

>(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve, reject) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n let stopListening = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n unsubscribe = () => {\r\n stopListening()\r\n reject()\r\n }\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await raceWithSignal(signal, Promise.race(promises))\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n const autoJoinPromises: Promise[] = []\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal, autoJoinPromises),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n await Promise.allSettled(autoJoinPromises)\r\n\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (!isAction(action)) {\r\n // we only want to notify listeners for action objects\r\n return next(action)\r\n }\r\n\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import { TaskAbortError } from './exceptions'\r\nimport type { AbortSignalWithReason, TaskResult } from './types'\r\nimport { addAbortSignalListener, catchRejection, noop } from './utils'\r\n\r\n/**\r\n * Synchronously raises {@link TaskAbortError} if the task tied to the input `signal` has been cancelled.\r\n * @param signal\r\n * @param reason\r\n * @see {TaskAbortError}\r\n */\r\nexport const validateActive = (signal: AbortSignal): void => {\r\n if (signal.aborted) {\r\n throw new TaskAbortError((signal as AbortSignalWithReason).reason)\r\n }\r\n}\r\n\r\n/**\r\n * Generates a race between the promise(s) and the AbortSignal\r\n * This avoids `Promise.race()`-related memory leaks:\r\n * https://github.com/nodejs/node/issues/17469#issuecomment-349794909\r\n */\r\nexport function raceWithSignal(\r\n signal: AbortSignalWithReason,\r\n promise: Promise\r\n): Promise {\r\n let cleanup = noop\r\n return new Promise((resolve, reject) => {\r\n const notifyRejection = () => reject(new TaskAbortError(signal.reason))\r\n\r\n if (signal.aborted) {\r\n notifyRejection()\r\n return\r\n }\r\n\r\n cleanup = addAbortSignalListener(signal, notifyRejection)\r\n promise.finally(() => cleanup()).then(resolve, reject)\r\n }).finally(() => {\r\n // after this point, replace `cleanup` with a noop, so there is no reference to `signal` any more\r\n cleanup = noop\r\n })\r\n}\r\n\r\n/**\r\n * Runs a task and returns promise that resolves to {@link TaskResult}.\r\n * Second argument is an optional `cleanUp` function that always runs after task.\r\n *\r\n * **Note:** `runTask` runs the executor in the next microtask.\r\n * @returns\r\n */\r\nexport const runTask = async (\r\n task: () => Promise,\r\n cleanUp?: () => void\r\n): Promise> => {\r\n try {\r\n await Promise.resolve()\r\n const value = await task()\r\n return {\r\n status: 'ok',\r\n value,\r\n }\r\n } catch (error: any) {\r\n return {\r\n status: error instanceof TaskAbortError ? 'cancelled' : 'rejected',\r\n error,\r\n }\r\n } finally {\r\n cleanUp?.()\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and a promise returns another promise that resolves\r\n * as soon the input promise is provided or rejects as soon as\r\n * `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createPause = (signal: AbortSignal) => {\r\n return (promise: Promise): Promise => {\r\n return catchRejection(\r\n raceWithSignal(signal, promise).then((output) => {\r\n validateActive(signal)\r\n return output\r\n })\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and `timeoutMs` returns a promise that resolves\r\n * after `timeoutMs` or rejects as soon as `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createDelay = (signal: AbortSignal) => {\r\n const pause = createPause(signal)\r\n return (timeoutMs: number): Promise => {\r\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)))\r\n }\r\n}\r\n","import type { StoreEnhancer } from 'redux'\r\n\r\nexport const SHOULD_AUTOBATCH = 'RTK_autoBatch'\r\n\r\nexport const prepareAutoBatched =\r\n () =>\r\n (payload: T): { payload: T; meta: unknown } => ({\r\n payload,\r\n meta: { [SHOULD_AUTOBATCH]: true },\r\n })\r\n\r\n// TODO Remove this in 2.0\r\n// Copied from https://github.com/feross/queue-microtask\r\nlet promise: Promise\r\nconst queueMicrotaskShim =\r\n typeof queueMicrotask === 'function'\r\n ? queueMicrotask.bind(\r\n typeof window !== 'undefined'\r\n ? window\r\n : typeof global !== 'undefined'\r\n ? global\r\n : globalThis\r\n )\r\n : // reuse resolved promise, and allocate it lazily\r\n (cb: () => void) =>\r\n (promise || (promise = Promise.resolve())).then(cb).catch((err: any) =>\r\n setTimeout(() => {\r\n throw err\r\n }, 0)\r\n )\r\n\r\nconst createQueueWithTimer = (timeout: number) => {\r\n return (notify: () => void) => {\r\n setTimeout(notify, timeout)\r\n }\r\n}\r\n\r\n// requestAnimationFrame won't exist in SSR environments.\r\n// Fall back to a vague approximation just to keep from erroring.\r\nconst rAF =\r\n typeof window !== 'undefined' && window.requestAnimationFrame\r\n ? window.requestAnimationFrame\r\n : createQueueWithTimer(10)\r\n\r\nexport type AutoBatchOptions =\r\n | { type: 'tick' }\r\n | { type: 'timer'; timeout: number }\r\n | { type: 'raf' }\r\n | { type: 'callback'; queueNotification: (notify: () => void) => void }\r\n\r\n/**\r\n * A Redux store enhancer that watches for \"low-priority\" actions, and delays\r\n * notifying subscribers until either the queued callback executes or the\r\n * next \"standard-priority\" action is dispatched.\r\n *\r\n * This allows dispatching multiple \"low-priority\" actions in a row with only\r\n * a single subscriber notification to the UI after the sequence of actions\r\n * is finished, thus improving UI re-render performance.\r\n *\r\n * Watches for actions with the `action.meta[SHOULD_AUTOBATCH]` attribute.\r\n * This can be added to `action.meta` manually, or by using the\r\n * `prepareAutoBatched` helper.\r\n *\r\n * By default, it will queue a notification for the end of the event loop tick.\r\n * However, you can pass several other options to configure the behavior:\r\n * - `{type: 'tick'}: queues using `queueMicrotask` (default)\r\n * - `{type: 'timer, timeout: number}`: queues using `setTimeout`\r\n * - `{type: 'raf'}`: queues using `requestAnimationFrame`\r\n * - `{type: 'callback', queueNotification: (notify: () => void) => void}: lets you provide your own callback\r\n *\r\n *\r\n */\r\nexport const autoBatchEnhancer =\r\n (options: AutoBatchOptions = { type: 'raf' }): StoreEnhancer =>\r\n (next) =>\r\n (...args) => {\r\n const store = next(...args)\r\n\r\n let notifying = true\r\n let shouldNotifyAtEndOfTick = false\r\n let notificationQueued = false\r\n\r\n const listeners = new Set<() => void>()\r\n\r\n const queueCallback =\r\n options.type === 'tick'\r\n ? queueMicrotaskShim\r\n : options.type === 'raf'\r\n ? rAF\r\n : options.type === 'callback'\r\n ? options.queueNotification\r\n : createQueueWithTimer(options.timeout)\r\n\r\n const notifyListeners = () => {\r\n // We're running at the end of the event loop tick.\r\n // Run the real listener callbacks to actually update the UI.\r\n notificationQueued = false\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false\r\n listeners.forEach((l) => l())\r\n }\r\n }\r\n\r\n return Object.assign({}, store, {\r\n // Override the base `store.subscribe` method to keep original listeners\r\n // from running if we're delaying notifications\r\n subscribe(listener: () => void) {\r\n // Each wrapped listener will only call the real listener if\r\n // the `notifying` flag is currently active when it's called.\r\n // This lets the base store work as normal, while the actual UI\r\n // update becomes controlled by this enhancer.\r\n const wrappedListener: typeof listener = () => notifying && listener()\r\n const unsubscribe = store.subscribe(wrappedListener)\r\n listeners.add(listener)\r\n return () => {\r\n unsubscribe()\r\n listeners.delete(listener)\r\n }\r\n },\r\n // Override the base `store.dispatch` method so that we can check actions\r\n // for the `shouldAutoBatch` flag and determine if batching is active\r\n dispatch(action: any) {\r\n try {\r\n // If the action does _not_ have the `shouldAutoBatch` flag,\r\n // we resume/continue normal notify-after-each-dispatch behavior\r\n notifying = !action?.meta?.[SHOULD_AUTOBATCH]\r\n // If a `notifyListeners` microtask was queued, you can't cancel it.\r\n // Instead, we set a flag so that it's a no-op when it does run\r\n shouldNotifyAtEndOfTick = !notifying\r\n if (shouldNotifyAtEndOfTick) {\r\n // We've seen at least 1 action with `SHOULD_AUTOBATCH`. Try to queue\r\n // a microtask to notify listeners at the end of the event loop tick.\r\n // Make sure we only enqueue this _once_ per tick.\r\n if (!notificationQueued) {\r\n notificationQueued = true\r\n queueCallback(notifyListeners)\r\n }\r\n }\r\n // Go ahead and process the action as usual, including reducers.\r\n // If normal notification behavior is enabled, the store will notify\r\n // all of its own listeners, and the wrapper callbacks above will\r\n // see `notifying` is true and pass on to the real listener callbacks.\r\n // If we're \"batching\" behavior, then the wrapped callbacks will\r\n // bail out, causing the base store notification behavior to be no-ops.\r\n return store.dispatch(action)\r\n } finally {\r\n // Assume we're back to normal behavior after each action\r\n notifying = true\r\n }\r\n },\r\n })\r\n }\r\n","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch, ThunkMiddleware } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport type { DevToolsEnhancerOptions } from './devtoolsExtension'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n isAction,\r\n isActionCreator,\r\n isFSA as isFluxStandardAction,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware'\r\nexport { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray, EnhancerArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './listenerMiddleware/index'\r\nexport type { AnyListenerPredicate } from './listenerMiddleware/types'\r\n\r\nexport {\r\n createListenerMiddleware,\r\n addListener,\r\n removeListener,\r\n clearAllListeners,\r\n TaskAbortError,\r\n} from './listenerMiddleware/index'\r\n\r\nexport {\r\n SHOULD_AUTOBATCH,\r\n prepareAutoBatched,\r\n autoBatchEnhancer,\r\n} from './autoBatchEnhancer'\r\nexport type { AutoBatchOptions } from './autoBatchEnhancer'\r\n\r\nexport type { ExtractDispatchExtensions as TSHelpersExtractDispatchExtensions } from './tsHelpers'\r\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prefix || defaultDelimiter\n var pattern = capture || group\n var prevText = prefix || (typeof tokens[tokens.length - 1] === 'string' ? tokens[tokens.length - 1] : '')\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : restrictBacktrack(delimiter, prevText))\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\nfunction restrictBacktrack(delimiter, prevText) {\n if (!prevText || prevText.indexOf(delimiter) > -1) {\n return '[^' + escapeString(delimiter) + ']+?'\n }\n\n return escapeString(prevText) + '|(?:(?!' + escapeString(prevText) + ')[^' + escapeString(delimiter) + '])+?'\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e {\n let { pageClassName, pageLinkClassName } = props;\n const {\n page,\n selected,\n activeClassName,\n activeLinkClassName,\n getEventListener,\n pageSelectedHandler,\n href,\n extraAriaContext,\n pageLabelBuilder,\n } = props;\n\n let ariaLabel =\n props.ariaLabel ||\n 'Page ' + page + (extraAriaContext ? ' ' + extraAriaContext : '');\n let ariaCurrent = null;\n\n if (selected) {\n ariaCurrent = 'page';\n\n ariaLabel = props.ariaLabel || 'Page ' + page + ' is your current page';\n\n if (typeof pageClassName !== 'undefined') {\n pageClassName = pageClassName + ' ' + activeClassName;\n } else {\n pageClassName = activeClassName;\n }\n\n if (typeof pageLinkClassName !== 'undefined') {\n if (typeof activeLinkClassName !== 'undefined') {\n pageLinkClassName = pageLinkClassName + ' ' + activeLinkClassName;\n }\n } else {\n pageLinkClassName = activeLinkClassName;\n }\n }\n\n return (\n

  • \n \n {pageLabelBuilder(page)}\n \n
  • \n );\n};\n\nPageView.propTypes = {\n pageSelectedHandler: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n href: PropTypes.string,\n ariaLabel: PropTypes.string,\n page: PropTypes.number.isRequired,\n getEventListener: PropTypes.func.isRequired,\n pageLabelBuilder: PropTypes.func.isRequired,\n};\n\nexport default PageView;\n","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BreakView = (props) => {\n const {\n breakLabel,\n breakClassName,\n breakLinkClassName,\n breakHandler,\n getEventListener,\n } = props;\n const className = breakClassName || 'break';\n\n return (\n
  • \n \n {breakLabel}\n \n
  • \n );\n};\n\nBreakView.propTypes = {\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n breakHandler: PropTypes.func.isRequired,\n getEventListener: PropTypes.func.isRequired,\n};\n\nexport default BreakView;\n","'use strict';\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PageView from './PageView';\nimport BreakView from './BreakView';\n\nexport default class PaginationBoxView extends Component {\n static propTypes = {\n pageCount: PropTypes.number.isRequired,\n pageRangeDisplayed: PropTypes.number.isRequired,\n marginPagesDisplayed: PropTypes.number.isRequired,\n previousLabel: PropTypes.node,\n previousAriaLabel: PropTypes.string,\n prevRel: PropTypes.string,\n nextLabel: PropTypes.node,\n nextAriaLabel: PropTypes.string,\n nextRel: PropTypes.string,\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n hrefBuilder: PropTypes.func,\n onPageChange: PropTypes.func,\n onPageActive: PropTypes.func,\n initialPage: PropTypes.number,\n forcePage: PropTypes.number,\n disableInitialCallback: PropTypes.bool,\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n pageLabelBuilder: PropTypes.func,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n previousClassName: PropTypes.string,\n nextClassName: PropTypes.string,\n previousLinkClassName: PropTypes.string,\n nextLinkClassName: PropTypes.string,\n disabledClassName: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n ariaLabelBuilder: PropTypes.func,\n eventListener: PropTypes.string,\n renderOnZeroPageCount: PropTypes.func,\n };\n\n static defaultProps = {\n pageCount: 10,\n pageRangeDisplayed: 2,\n marginPagesDisplayed: 3,\n activeClassName: 'selected',\n previousLabel: 'Previous',\n previousClassName: 'previous',\n previousAriaLabel: 'Previous page',\n prevRel: 'prev',\n nextLabel: 'Next',\n nextClassName: 'next',\n nextAriaLabel: 'Next page',\n nextRel: 'next',\n breakLabel: '...',\n disabledClassName: 'disabled',\n disableInitialCallback: false,\n pageLabelBuilder: (page) => page,\n eventListener: 'onClick',\n renderOnZeroPageCount: undefined,\n };\n\n constructor(props) {\n super(props);\n\n if (props.initialPage !== undefined && props.forcePage !== undefined) {\n console.warn(\n `(react-paginate): Both initialPage (${props.initialPage}) and forcePage (${props.forcePage}) props are provided, which is discouraged.` +\n ' Use exclusively forcePage prop for a controlled component.\\nSee https://reactjs.org/docs/forms.html#controlled-components'\n );\n }\n\n let initialSelected;\n if (props.initialPage) {\n initialSelected = props.initialPage;\n } else if (props.forcePage) {\n initialSelected = props.forcePage;\n } else {\n initialSelected = 0;\n }\n\n this.state = {\n selected: initialSelected,\n };\n }\n\n componentDidMount() {\n const { initialPage, disableInitialCallback, extraAriaContext, pageCount } =\n this.props;\n // Call the callback with the initialPage item:\n if (typeof initialPage !== 'undefined' && !disableInitialCallback) {\n this.callCallback(initialPage);\n }\n\n if (extraAriaContext) {\n console.warn(\n 'DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead.'\n );\n }\n\n if (!Number.isInteger(pageCount)) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n typeof this.props.forcePage !== 'undefined' &&\n this.props.forcePage !== prevProps.forcePage\n ) {\n this.setState({ selected: this.props.forcePage });\n }\n\n if (\n Number.isInteger(prevProps.pageCount) &&\n !Number.isInteger(this.props.pageCount)\n ) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n handlePreviousPage = (evt) => {\n const { selected } = this.state;\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n if (selected > 0) {\n this.handlePageSelected(selected - 1, evt);\n }\n };\n\n handleNextPage = (evt) => {\n const { selected } = this.state;\n const { pageCount } = this.props;\n\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n if (selected < pageCount - 1) {\n this.handlePageSelected(selected + 1, evt);\n }\n };\n\n handlePageSelected = (selected, evt) => {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n\n if (this.state.selected === selected) {\n this.callActiveCallback(selected);\n return;\n }\n\n this.setState({ selected: selected });\n\n // Call the callback with the new selected item:\n this.callCallback(selected);\n };\n\n getEventListener = (handlerFunction) => {\n const { eventListener } = this.props;\n return {\n [eventListener]: handlerFunction,\n };\n };\n\n getForwardJump() {\n const { selected } = this.state;\n const { pageCount, pageRangeDisplayed } = this.props;\n\n const forwardJump = selected + pageRangeDisplayed;\n return forwardJump >= pageCount ? pageCount - 1 : forwardJump;\n }\n\n getBackwardJump() {\n const { selected } = this.state;\n const { pageRangeDisplayed } = this.props;\n\n const backwardJump = selected - pageRangeDisplayed;\n return backwardJump < 0 ? 0 : backwardJump;\n }\n\n handleBreakClick = (index, evt) => {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n\n const { selected } = this.state;\n\n this.handlePageSelected(\n selected < index ? this.getForwardJump() : this.getBackwardJump(),\n evt\n );\n };\n\n hrefBuilder(pageIndex) {\n const { hrefBuilder, pageCount } = this.props;\n if (\n hrefBuilder &&\n pageIndex !== this.state.selected &&\n pageIndex >= 0 &&\n pageIndex < pageCount\n ) {\n return hrefBuilder(pageIndex + 1);\n }\n }\n\n ariaLabelBuilder(pageIndex) {\n const selected = pageIndex === this.state.selected;\n if (\n this.props.ariaLabelBuilder &&\n pageIndex >= 0 &&\n pageIndex < this.props.pageCount\n ) {\n let label = this.props.ariaLabelBuilder(pageIndex + 1, selected);\n // DEPRECATED: The extraAriaContext prop was used to add additional context\n // to the aria-label. Users should now use the ariaLabelBuilder instead.\n if (this.props.extraAriaContext && !selected) {\n label = label + ' ' + this.props.extraAriaContext;\n }\n return label;\n }\n }\n\n callCallback = (selectedItem) => {\n if (\n typeof this.props.onPageChange !== 'undefined' &&\n typeof this.props.onPageChange === 'function'\n ) {\n this.props.onPageChange({ selected: selectedItem });\n }\n };\n\n callActiveCallback = (selectedItem) => {\n if (\n typeof this.props.onPageActive !== 'undefined' &&\n typeof this.props.onPageActive === 'function'\n ) {\n this.props.onPageActive({ selected: selectedItem });\n }\n };\n\n getPageElement(index) {\n const { selected } = this.state;\n const {\n pageClassName,\n pageLinkClassName,\n activeClassName,\n activeLinkClassName,\n extraAriaContext,\n pageLabelBuilder,\n } = this.props;\n\n return (\n \n );\n }\n\n pagination = () => {\n const items = [];\n const {\n pageRangeDisplayed,\n pageCount,\n marginPagesDisplayed,\n breakLabel,\n breakClassName,\n breakLinkClassName,\n } = this.props;\n\n const { selected } = this.state;\n\n if (pageCount <= pageRangeDisplayed) {\n for (let index = 0; index < pageCount; index++) {\n items.push(this.getPageElement(index));\n }\n } else {\n let leftSide = pageRangeDisplayed / 2;\n let rightSide = pageRangeDisplayed - leftSide;\n\n // If the selected page index is on the default right side of the pagination,\n // we consider that the new right side is made up of it (= only one break element).\n // If the selected page index is on the default left side of the pagination,\n // we consider that the new left side is made up of it (= only one break element).\n if (selected > pageCount - pageRangeDisplayed / 2) {\n rightSide = pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n } else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n\n let index;\n let page;\n let breakView;\n let createPageView = (index) => this.getPageElement(index);\n\n for (index = 0; index < pageCount; index++) {\n page = index + 1;\n\n // If the page index is lower than the margin defined,\n // the page has to be displayed on the left side of\n // the pagination.\n if (page <= marginPagesDisplayed) {\n items.push(createPageView(index));\n continue;\n }\n\n // If the page index is greater than the page count\n // minus the margin defined, the page has to be\n // displayed on the right side of the pagination.\n if (page > pageCount - marginPagesDisplayed) {\n items.push(createPageView(index));\n continue;\n }\n\n // If the page index is near the selected page index\n // and inside the defined range (pageRangeDisplayed)\n // we have to display it (it will create the center\n // part of the pagination).\n if (index >= selected - leftSide && index <= selected + rightSide) {\n items.push(createPageView(index));\n continue;\n }\n\n // If the page index doesn't meet any of the conditions above,\n // we check if the last item of the current \"items\" array\n // is a break element. If not, we add a break element, else,\n // we do nothing (because we don't want to display the page).\n if (breakLabel && items[items.length - 1] !== breakView) {\n breakView = (\n \n );\n items.push(breakView);\n }\n }\n }\n\n return items;\n };\n\n render() {\n const { renderOnZeroPageCount } = this.props;\n if (this.props.pageCount === 0 && renderOnZeroPageCount !== undefined) {\n return renderOnZeroPageCount\n ? renderOnZeroPageCount(this.props)\n : renderOnZeroPageCount;\n }\n const {\n disabledClassName,\n pageCount,\n className,\n containerClassName,\n previousLabel,\n previousClassName,\n previousLinkClassName,\n previousAriaLabel,\n prevRel,\n nextLabel,\n nextClassName,\n nextLinkClassName,\n nextAriaLabel,\n nextRel,\n } = this.props;\n\n const { selected } = this.state;\n\n const previousClasses =\n previousClassName + (selected === 0 ? ` ${disabledClassName}` : '');\n const nextClasses =\n nextClassName +\n (selected === pageCount - 1 ? ` ${disabledClassName}` : '');\n\n const previousAriaDisabled = selected === 0 ? 'true' : 'false';\n const nextAriaDisabled = selected === pageCount - 1 ? 'true' : 'false';\n\n return (\n
      \n
    • \n \n {previousLabel}\n \n
    • \n\n {this.pagination()}\n\n
    • \n \n {nextLabel}\n \n
    • \n
    \n );\n }\n}\n","import PaginationBoxView from './PaginationBoxView';\n\nexport default PaginationBoxView;\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
    {store.getState()}
    \r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
    {store.getState()}
    \r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
    \r\n * {value}\r\n * \r\n *
    \r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
    {counter}
    \r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nconst MAX_SIGNED_31_BIT_INT = 1073741823;\n\nconst commonjsGlobal =\n typeof globalThis !== \"undefined\" // 'global proper'\n ? // eslint-disable-next-line no-undef\n globalThis\n : typeof window !== \"undefined\"\n ? window // Browser\n : typeof global !== \"undefined\"\n ? global // node.js\n : {};\n\nfunction getUniqueId() {\n let key = \"__global_unique_id__\";\n return (commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1);\n}\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n let handlers = [];\n return {\n on(handler) {\n handlers.push(handler);\n },\n\n off(handler) {\n handlers = handlers.filter(h => h !== handler);\n },\n\n get() {\n return value;\n },\n\n set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(handler => handler(value, changedBits));\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nexport default function createReactContext(defaultValue, calculateChangedBits) {\n const contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n\n class Provider extends React.Component {\n emitter = createEventEmitter(this.props.value);\n\n static childContextTypes = {\n [contextProp]: PropTypes.object.isRequired\n };\n\n getChildContext() {\n return {\n [contextProp]: this.emitter\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n let oldValue = this.props.value;\n let newValue = nextProps.value;\n let changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits =\n typeof calculateChangedBits === \"function\"\n ? calculateChangedBits(oldValue, newValue)\n : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n warning(\n (changedBits & MAX_SIGNED_31_BIT_INT) === changedBits,\n \"calculateChangedBits: Expected the return value to be a \" +\n \"31-bit integer. Instead received: \" +\n changedBits\n );\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n }\n\n render() {\n return this.props.children;\n }\n }\n\n class Consumer extends React.Component {\n static contextTypes = {\n [contextProp]: PropTypes.object\n };\n\n observedBits;\n\n state = {\n value: this.getValue()\n };\n\n componentWillReceiveProps(nextProps) {\n let { observedBits } = nextProps;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n let { observedBits } = this.props;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n }\n\n getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n }\n\n onUpdate = (newValue, changedBits) => {\n const observedBits = this.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n this.setState({ value: this.getValue() });\n }\n };\n\n render() {\n return onlyChild(this.props.children)(this.state.value);\n }\n }\n\n return {\n Provider,\n Consumer\n };\n}\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport createReactContext from \"./miniCreateReactContext\";\n\nexport default React.createContext || createReactContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"./createContext\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\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\tid: moduleId,\n\t\tloaded: false,\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// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// 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};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"21\":\"40c4cc04\",\"33\":\"987a3bba\",\"112\":\"a6d6aed4\",\"145\":\"ef73fb91\",\"149\":\"e83da169\",\"152\":\"f80dd0aa\",\"156\":\"889b5225\",\"239\":\"33d3e51f\",\"250\":\"89bc7b8e\",\"281\":\"fb8b53c8\",\"289\":\"e62052e1\",\"318\":\"e42dd010\",\"319\":\"26475932\",\"328\":\"149865cc\",\"339\":\"7ae771cf\",\"371\":\"9a45019e\",\"377\":\"85177d6f\",\"380\":\"bf727edc\",\"385\":\"37ac69a6\",\"391\":\"364f1664\",\"394\":\"96d80bd9\",\"425\":\"39f5469a\",\"434\":\"982f17f8\",\"453\":\"c0a61314\",\"465\":\"d962587f\",\"533\":\"613a55f1\",\"540\":\"9371fbfd\",\"544\":\"f144fd5e\",\"602\":\"3e1bd316\",\"623\":\"be6bf7f0\",\"634\":\"16e06c17\",\"642\":\"da8693bb\",\"653\":\"bd5b0645\",\"663\":\"cc2a2d82\",\"702\":\"e1ada0f9\",\"719\":\"e9b57ffb\",\"747\":\"d1cbaa2b\",\"768\":\"5a55b561\",\"797\":\"506ccf61\",\"835\":\"6af30449\",\"885\":\"ed7ddeab\",\"892\":\"e0f60c53\",\"897\":\"6e23655f\",\"948\":\"c6dd5e4d\",\"978\":\"32e8029a\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"149\":\"5d2f114b\",\"281\":\"0cec2c0e\",\"328\":\"cbfaecdd\",\"533\":\"ca1b535b\",\"540\":\"5d2f114b\",\"602\":\"5d2f114b\",\"634\":\"5d2f114b\",\"663\":\"ca39dd16\",\"768\":\"0cec2c0e\",\"835\":\"5d2f114b\",\"948\":\"0cec2c0e\"}[chunkId] + \".chunk.css\";\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))","var inProgress = {};\nvar dataWebpackPrefix = \"medical-screening-ui:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"149\":1,\"281\":1,\"328\":1,\"533\":1,\"540\":1,\"602\":1,\"634\":1,\"663\":1,\"768\":1,\"835\":1,\"948\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmedical_screening_ui\"] = self[\"webpackChunkmedical_screening_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React from 'react';\nimport './assets/css/normalize.css';\nimport './assets/css/webflow.css';\nimport './assets/css/style.css';\nimport './assets/css/rmi-39faa7.webflow.css';\nimport './assets/css/custom.css';\nimport { Route, Switch } from 'react-router-dom';\nimport ServiceRequestsList from \"./components/coordinator/service_request/service_requests_list\";\n\n// dummy\n// import HomePage from \"./components/homepage/Homepage\";\nconst Homepage = React.lazy(() => import('./components/homepage/Homepage'));\nconst Customers = React.lazy(() => import('./components/customers/Customers'));\nconst EmailIndex = React.lazy(() => import('./components/admin/emails'));\nconst ServiceItems = React.lazy(() => import('./components/serviceItems/ServiceItems'));\nconst Standards = React.lazy(() => import('./components/standards/Standards'));\nconst Projects = React.lazy(() => import('./components/projects/Projects'));\nconst Users = React.lazy(() => import('./components/users/Users'));\nconst PinVerification = React.lazy(() => import('./components/login/PinVerification'));\nconst ForgotPassword = React.lazy(() => import('./components/password/ForgotPassword'));\nconst ResetPassword = React.lazy(() => import('./components/password/ResetPassword'));\nconst Login = React.lazy(() => import('./components/login/Login'));\nconst Layout = React.lazy(() => import('./layout/layout'));\nconst Notes = React.lazy(() => import('./components/admin/notes/case_notes'));\nconst EmailConfiguration = React.lazy(() => import('./components/admin/emails/configuration'));\nconst EmailTemplates = React.lazy(() => import('./components/admin/emails/templates/templates'));\nconst AdminTokens = React.lazy(() => import('./components/admin/emails/admin_tokens'));\nconst ServiceRequest = React.lazy(() => import('./components/coordinator/service_request/show'));\nconst ServiceRequestDocumentReviews = React.lazy(() =>\n import(\n './components/coordinator/service_request/service_request_document_reviews'\n )\n);\nconst ServiceRequestDocumentReviewsEdit = React.lazy(() =>\n import(\n './components/coordinator/service_request/service_request_document_reviews_edit'\n )\n);\nconst ServiceRequestAppointmentEdit = React.lazy(() =>\n import(\n './components/coordinator/service_request/service_request_appointment_edit'\n )\n);\nconst ServiceRequestPsq = React.lazy(() =>\n import('./components/coordinator/service_request/service_request_psq')\n);\nconst ServiceRequestFFD = React.lazy(() =>\n import('./components/coordinator/service_request/service_request_ffd')\n);\nconst ServiceRequestFFDEdit = React.lazy(() =>\n import('./components/coordinator/service_request/service_request_ffd_edit')\n);\nconst ServiceRequestAppointment = React.lazy(() =>\n import('./components/coordinator/service_request/service_request_appointment')\n);\n\nconst AccountReceivable = React.lazy(() =>\n import('./components/billing/accountReceivable')\n);\nconst ServiceRequestActivityLogs = React.lazy(() =>\n import('./components/billing/serviceRequestActivityLogs')\n);\nconst ServiceRequests = React.lazy(() => import('./components/admin/serviceRequests/service_requests'));\nconst BillingItems = React.lazy(() => import('./components/billing/billingItems'));\nconst CoordinatorBaseBillingItems = React.lazy(() => import('./components/billing/coordinatorBaseBillingItems'));\nconst PrivateRoute = React.lazy(() => import('./routes/private_route'));\n\nconst App = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\n\nimport { ServiceRequestDocumentActions } from '../../actions/service_request_document_reviews';\n\n// service request items\nconst { getServiceRequestDocuments } = ServiceRequestDocumentActions;\n\nconst initialState = {\n loading: 'idle',\n error: '',\n data: null,\n clicked_item: null,\n};\n\nexport const fetch_documents_list = createAsyncThunk('service_request/documents_list', async (id, thunkAPI) => {\n try {\n const response = await getServiceRequestDocuments({\n search: { service_request_id_eq: id },\n });\n return response;\n } catch (error) {\n return thunkAPI.rejectWithValue({ error: error.message });\n }\n});\n\nexport const document_list_Slice = createSlice({\n name: 'service_request_document_list',\n initialState,\n\n reducers: {\n clicked_item: (state, action) => {\n return {\n ...state,\n clicked_item: action.payload,\n };\n },\n removed_item: (state) => {\n return {\n ...state,\n clicked_item: null,\n };\n },\n },\n\n extraReducers: (builder) => {\n builder.addCase(fetch_documents_list.pending, (state) => {\n state.data = [];\n state.loading = 'loading';\n });\n builder.addCase(fetch_documents_list.fulfilled, (state, data) => {\n state.data = data.payload;\n state.loading = 'loaded';\n });\n builder.addCase(fetch_documents_list.rejected, (state, action) => {\n state.loading = 'error';\n state.error = action.error.message;\n });\n },\n});\n\nexport const { clicked_item, removed_item } = document_list_Slice.actions;\n\nexport default document_list_Slice.reducer;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport {\n createFfdNote,\n updateServiceItemStatus,\n getFfdNoteByID,\n updateFfdNoteByID,\n} from \"../../actions/service_request_ffd\";\n\nconst initialState = { loading: \"idle\", error: \"\", data: null };\n\n// export const createFFD = createAsyncThunk(\n// \"ffd/createFFD\",\n// async (data, thunkAPI) => {\n// try {\n// const response = await createFfdNote(data);\n// return response;\n// } catch (error) {\n// return thunkAPI.rejectWithValue({ error: error.message });\n// }\n// }\n// );\n\nexport const client_slice = createSlice({\n name: \"client\",\n initialState,\n\n reducers: {},\n\n extraReducers: (builder) => {\n // get ffd by ID\n // builder.addCase(getFfdById.pending, (state) => {\n // state.data = [];\n // state.loading = \"loading\";\n // });\n // builder.addCase(getFfdById.fulfilled, (state, data) => {\n // state.data = data.payload;\n // state.loading = \"loaded\";\n // });\n // builder.addCase(getFfdById.rejected, (state, action) => {\n // state.loading = \"error\";\n // state.error = action.error.message;\n // });\n },\n});\n\nexport const {} = client_slice.actions;\nexport default client_slice.reducer;\n","import { configureStore } from \"@reduxjs/toolkit\";\n\n// APP Reducers List\nimport ffd_reducer from \"./service_request/ffd\";\nimport document_reducer from \"./service_request/documents_collection_list\";\nimport task_list from \"./service_request/task_list\";\nimport service_request from \"./service_request/service_request\";\nimport service_request_items_slice from \"./service_request/service_request_items\";\nimport document_collection_slice from \"./service_request/document_collection\";\nimport admin_fees_slice from \"./service_request/admin_fees\";\nimport email_template_slice from \"./service_request/email_template\";\n// Client\nimport client_reducer from \"./client/client\";\n\nexport const store = configureStore({\n reducer: {\n service_request_ffd: ffd_reducer,\n service_request_document: document_reducer,\n service_request_task: task_list,\n service_request,\n service_request_items: service_request_items_slice,\n document_collection: document_collection_slice,\n admin_fees: admin_fees_slice,\n email_template: email_template_slice,\n },\n});\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\n// components\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport { store } from './redux/store';\n// loader\nimport Loader from './assets/images/file_uploader.gif';\n\nReactDOM.render(\n \n \n \n }>\n \n \n \n \n ,\n document.getElementById('root'),\n document.body.classList.add('body')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["getList","async","fetchClient","get","params","q_params","then","response","catch","error","console","log","getServiceRequestEvents","getListOfServiceRequest","addServiceRequest","post","service_request","data","headers","res","getProjects","id","projects","getProjectsCustomers","getCustomerWithProjects","getCustomer","deleteCustomer","delete","updateCustomer","put","createCustomer","createPatient","updatePatient","getStandards","project_id","standards","getProject","deleteProject","deleteProjectStandards","deleteProjectServiceItems","updateProject","updateProjectStandards","updateProjectServiceItems","createProject","ServiceRequestDocumentActions","getServiceRequestItems","getServiceRequestDocuments","createServiceRequestDocmentReview","deleteServiceRequestDocmentReview","getServiceRequestDocmentReview","sendEmailForReview","sendPsqEmail","updateServiceRequestDocmentReview","createFfdNote","getFfdNoteByID","updateFfdNoteByID","updateServiceItemStatus","deleteFfdNote","getPatientBaseServiceRequestItems","getPatientBaseDocumentAttachments","ServiceRequestItems","getPatientServiceItemsList","createList","updateItems","itemId","updateAllItemsStatus","updateServiceRequestItem","ServiceRequestActions","getServiceRequest","updateServiceRequest","showErrors","elements","document","getElementsByClassName","length","parentNode","removeChild","inputs","classList","remove","property","errors","input","getElementById","insertAdjacentHTML","add","customerNotes","action","messages","_ref","label","column","orderField","handleSort","sort","ActiveSort","_ref2","sortType","icon","_jsx","href","onClick","event","children","src","up","down","alt","_jsxs","className","objectConstructor","constructor","isObject","object","undefined","normalizeArguments","args","text","options","metadata","_Array$prototype$slic2","_slicedToArray","Array","prototype","slice","call","arg_1","arg_2","arg_3","arg_4","TypeError","Error","concat","_objectSpread","defaultCountry","VALID_DIGITS","VALID_PUNCTUATION","ParseError","code","_this","_classCallCheck","_super","Object","setPrototypeOf","_assertThisInitialized","name","a","b","split","pa","pb","i","na","Number","nb","isNaN","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","countries","keys","join","typeOf","validateMetadata","this","setVersion","filter","_","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","test","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","map","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","_typeof","getCountryCallingCode","countryCallingCode","isSupportedCountry","hasOwnProperty","version","v4","compare","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","possibleSeparatorsNumberExtLabelNoComma","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","RegExp","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseDigit","character","parseDigits","string","_step","result","_iterator","_createForOfIteratorHelperLoose","done","digit","value","parseIncompletePhoneNumber","parsePhoneNumberCharacter","prevParsedCharacters","emitEvent","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","element","indexOf","push","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","phone","isNumberTypeEqualTo","pattern","getPossibleCountriesForNumber","possibleCountries","_metadata","couldNationalNumberBelongToCountry","applyInternationalSeparatorStyle","formattedNumber","replace","trim","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","number","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","addExtension","formatNationalNumber","formatRFC3966","fromCountry","fromCountryCallingCode","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","search","chooseFormatForNumber","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","metadataJson","isCountryCode","getCountryAndCountryCallingCode","getMetadata","isNonGeographicCallingCode","isValidNumber","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","match","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumber","_extractNationalNumbe","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","_extractCountryCallin","shorterNumber","countryCallingCodeSource","_countryCallingCode","getCountryByNationalNumber","nationalPhoneNumber","getCountryByCallingCode","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","substring","extractPhoneContext","isPhoneContextValid","charAt","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","extract","throwOnError","startsAt","_extractFormattedPhoneNumber","isViablePhoneNumber","isViablePhoneNumberStart","withExtensionStripped","start","numberWithoutExtension","matches","extractExtension","parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","__countryCallingCodeSource","valid","extended","possible","parsePhoneNumberWithError","isValidPhoneNumber","_normalizeArguments","arguments","isValid","PropTypes","isRequired","labels","count_occurences","symbol","count","template","placeholder","should_close_braces","characters_in_template","value_character_index","filled_in_template","retained_template","empty_placeholder","cut_before","dangling_braces","close_braces","Keys","setCaretPosition","caret_position","navigator","ANDROID_USER_AGENT_REG_EXP","userAgent","isAndroid","setSelectionRange","setTimeout","onKeyDown","_parse","on_change","hasAttribute","operation","keyCode","getOperation","preventDefault","selection","selectionStart","selectionEnd","end","getSelection","eraseSelection","formatInputText","_parse2","parse_character","context","focused_input_character_index","index","caret","newValueAndCaret","edit","formatted","formatter","template_formatter","found","possibly_last_input_character_index","Input","ref","InputComponent","inputComponent","onChange","rest","_objectWithoutProperties","_excluded","internalRef","useRef","setRef","useCallback","instance","current","_onChange","_onKeyDown","defaultPrevented","onInputKeyDown","React","_extends","isEmptyValue","propTypes","onCut","onPaste","defaultProps","AsYouTypeState","onCountryChange","onCallingCodeChange","international","missingPlus","digits","resetNationalSignificantNumber","initCountryAndCallingCode","nationalSignificantNumber","getNationalDigits","nationalSignificantNumberMatchesInput","complexPrefixBeforeNationalSignificantNumber","properties","_i","_Object$keys","key","setCountry","setCallingCode","nextDigits","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","repeat","times","cutAndStripNonPairedParens","cutBeforeIndex","pop","cleared_string","_dangling_braces","stripNonPairedParens","formatCompleteNumber","state","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","useNationalPrefixFormattingRule","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","_ref3","formattedNationalNumber","isValidFormattedNationalNumber","PatternParser","or","instructions","parsePattern","_this$context$","branches","op","expandSingleElementArray","OPERATOR","operator","before","rightPart","startContext","getContext","endContext","oneOfSet","parseOneOfSet","ILLEGAL_CHARACTER_REGEXP","values","prevValue","charCodeAt","nextValue","String","fromCharCode","array","PatternMatcher","matchTree","allowOverflow","_match","matchedChars","overflow","characters","tree","last","characterString","partialMatch","isArray","restCharacters","JSON","stringify","_result","_step2","_iterator2","_char","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","AsYouTypeFormatter","resetFormat","chosenFormat","nationalNumberTemplate","populatedNationalNumberTemplate","populatedNationalNumberTemplatePosition","isNANP","matchingFormats","narrowDownMatchingFormats","canFormatCompleteNumber","formattedCompleteNumber","setNationalNumberTemplate","lastIndexOf","formatNationalNumberWithNextDigits","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","_this2","leadingDigitsPatternIndex","formatSuits","formatMatches","nationalPrefixIsMandatoryWhenFormattingInNationalFormat","leadingDigitsPatternsCount","Math","min","leadingDigitsPattern","_this3","_loop","getFormatFormat","createTemplateForFormat","_ret","getTemplateForFormat","spacing","internationalPrefix","getInternationalPrefixBeforeCountryCallingCode","getDigitsWithoutInternationalPrefix","_ref4","strictPattern","nationalNumberDummyDigits","nationalPrefixIncludedInTemplate","numberFormat","numberFormatWithNationalPrefix","position","populateTemplateWithDigits","_ref5","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","justLeadingPlus","_extractFormattedDigi","_extractFormattedDigi3","extractedNumber","hasPlus","_extractFormattedDigitsAndPlus","_extractFormattedDigi4","formattedDigits","extractFormattedDigitsAndPlus","_extractFormattedDigi2","startInternationalNumber","inputDigits","hasReceivedThreeLeadingDigits","appendDigits","extractIddPrefix","isWaitingForCountryCallingCode","appendNationalSignificantNumberDigits","hasExtractedNationalSignificantNumber","extractNationalSignificantNumber","stateUpdate","update","_extractCountryCallingCode","couldPossiblyExtractAnotherNationalSignificantNumber","nationalDigits","setState","onExtractedNationalNumber","prevNationalSignificantNumber","_extractNationalNumbe2","nationalSignificantNumberIndex","extractAnotherNationalSignificantNumber","fixMissingPlus","extractCallingCodeAndNationalSignificantNumber","_extractCountryCallin2","newCallingCode","AsYouType","optionsOrDefaultCountry","_this$getCountryAndCa2","getCountryAndCallingCode","reset","_this$parser$input","parser","formattedOutput","determineTheCountryIfNeeded","reExtractNationalSignificantNumber","getFullNumber","getNonFormattedNumber","isInternational","getCallingCode","_getCountry","isCountryCallingCodeAmbiguous","determineTheCountry","prefix","_this$state","getNonFormattedNationalNumberWithPrefix","_this$state2","_this$state3","_callingCode","ambiguousCountries","getNumber","isPossible","getTemplate","getNonFormattedTemplate","getPrefixForFormattingValueAsPhoneNumber","inputFormat","removePrefixFromFormattedPhoneNumber","parsePhoneNumberCharacter_","ignoreRest","eventName","useInputKeyDownHandler","BACKSPACE_KEY_CODE","target","HTMLInputElement","LEADING_PLUS","defaultMetadata","InputSmart","_ref$metadata","withCountryCallingCode","InputBasic","_ref$inputComponent","newValue","formatIncompletePhoneNumber","getRegionalIndicatorSymbol","letter","fromCodePoint","toUpperCase","CountrySelect","disabled","readOnly","onChange_","useMemo","getSelectedOption","divider","style","DIVIDER_STYLE","fontSize","backgroundColor","color","CountrySelectWithIcon","Icon","iconComponent","_ref3$arrowComponent","getIconAspectRatio","arrowComponent","Arrow","DefaultArrowComponent","unicodeFlags","_excluded2","selectedOption","classNames","aspectRatio","option","isSameOptionValue","value1","value2","FlagComponent","countryName","flags","flagUrl","title","role","toLowerCase","InternationalIcon","InternationalIcon1x1","InternationalIcon3x2","xmlns","viewBox","stroke","fill","strokeWidth","strokeMiterlimit","strokeLinecap","d","x1","y1","x2","y2","_excluded3","validateE164Number","isE164Number","isCountrySupportedWithError","getSupportedCountries","getCountries","createCountryIconComponent","flagComponent","internationalIcon","CountryIcon","_aspectRatio","DefaultInternationalIcon","Flag","setRefsValue","refs","setRefValue","getInternationalPhoneNumberPrefix","parsePhoneNumber_","getPhoneDigitsForNewCountry","phoneDigits","prevCountry","newCountry","useNationalFormat","countryCallingCodePrefix","country_calling_code","stripCountryCallingCode","newCountryPrefix","defaultValue","e164","asYouType","getNumberValue","partial_national_significant_number","getNationalSignificantNumberDigits","trimNumber","nationalSignificantNumberPart","overflowDigitsCount","getMaxNumberLength","getCountryForPartialE164Number","partialE164Number","latestCountrySelectedByUser","required","derived_country","getCountry","getCountryFromPossiblyIncompleteInternationalPhoneNumber","couldNumberBelongToCountry","convertInternationalPhoneDigitsToNational","formatNational","compareStrings","locales","localeCompare","intlPhoneNumberPrefix","getInitialPhoneDigits","_ref6","generateNationalNumberDigits","valuesAreEqual","PhoneNumberInput_","_React$PureComponent","props","_defineProperty","_callSuper","inputRef","_this$props","focusInputOnCountrySelection","newPhoneDigits","focus","hasUserSelectedACountry","_phoneDigits","_this$props2","addInternationalOption","limitMaxLength","countryCallingCodeEditable","prevPhoneDigits","currentlySelectedCountry","_onPhoneDigitsChange","countryRequired","getAnyCountry","_value","onPhoneDigitsChange","getFirstSupportedCountry","forceRerender","isFocused","_onFocus","onFocus","onBlur","_onBlur","countrySelectProps","_this$props3","_international","_addInternationalOption","displayInitialValueAsLocalNumber","initialValueFormat","_this$props4","_defaultCountry","_countries","preSelectedCountry","getPreSelectedCountry","_inherits","selectedCountry","prevProps","prevState","_this$props5","countryOptionsOrder","useMemoCountrySelectOptions","order","optionsOnTop","optionsOnBottom","appendTo","splice","sortCountryOptions","countryNames","compareStringsLocales","_compareStrings","countrySelectOptions","unshift","ZZ","_getCountrySelectOptions","countryOptions","getSupportedCountryOptions","generator","dependencies","countrySelectOptionsMemoDependencies","areEqualArrays","countrySelectOptionsMemo","getCountrySelectOptions","_this$props6","autoComplete","numberInputProps","smartCaret","CountrySelectComponent","countrySelectComponent","ContainerComponent","containerComponent","containerComponentProps","onCountryFocus","onCountryBlur","setInputRef","newDefaultCountry","newReset","prevDefaultCountry","prevReset","_getInitialPhoneDigits","parameters","isNewDefaultCountrySupported","noValueHasBeenEnteredByTheUser","parsedCountry","userCountrySelectionHistoryStateUpdate","supportedCountries","getPhoneInputWithCountryStateUpdateFromNewProps","PhoneNumberInput","withDefaultProps","labelsPropType","metadataPropType","createPhoneInput","PhoneInputDefault","_ref$labels","defaultLabels","PhoneInput","func","_arguments","apply","_isValidPhoneNumber","showPatientNew","setShowPatientNew","fetchPatients","currentRole","localStorage","getItem","setPhoneNumber","useState","patientEmail","setPatientEmail","emailError","setEmailError","setError","newPatient","setNewPatient","first_name","last_name","middle_name","date_of_birth","patient_email","phone_number","sex","handleInputChange","prevPatient","validateEmail","email","display","minWidth","overflowX","height","htmlFor","newEmail","temp_new_patient","handleEmailChange","max","disableFutureDate","marginBottom","marginLeft","ClientPatientActions","patient","PatientActions","status","FormValidator","handleSubmit","setEditPatient","editPatient","setShowPatientEdit","showPatientEdit","updatedPatient","setUpdatedPatient","temp_patient","patientPicked","showPatientsList","setShowPatientsList","patients","setPatients","setSearch","currentPatient","setCurrentPatient","pageCount","setPageCount","clickforcePage","setClickForce","currentPage","setCurrentPage","searchPage","setSearchPage","page","pages","useEffect","isMounted","fetchData","useUpdateEffect","m","id_eq","first_name_cont","middle_name_cont","last_name_cont","full_name_cont","patient_email_cont","phone_number_cont","fetchPatientsOnPage","handleSearchChange","width","paddingLeft","p","ind","checked","t_patient","find","parseInt","customer_name","patientEditModal","Pagination","handlePageClick","selected","selectedPage","PatientNew","PatientEdit","getClientProjects","getClientStandards","ServiceRequestForm","showFormModal","setShowFormModal","fetchServiceRequests","is_refresh","customers","setCustomers","setProjects","setStandards","setPatient","notes","setNotes","currentCustomerName","temp_projects","ClientProjectsActions","fetchClientProjects","temp_customers","CustomerActions","fetchCustomers","setServiceRequest","projectSelected","e","temp_standards","ClientStandardsActions","projects_id_eq","ProjectActions","t_sr","note_attributes","new_from_customer","patient_attributes","contact_email","contact_phone","ClientServiceRequestActions","window","location","reload","createServiceRequest","RenderPatientList","PatientIndex","ShowEditForm","_Fragment","onSubmit","textAlign","customer_id","customer","project","disablePastDate","today","Date","dd","getDate","padStart","mm","getMonth","getFullYear","margin","standard","full_name","requestStatus","service_requests","setServiceRequests","order_field","setOrderField","setSort","current_page","page_count","displayInputLabel","setDisplayInputLabel","searchField","setSearchField","searchSort","setSearchSort","searchOrderField","setSearchOrderField","inputEvent","setInputEvent","status_eq","s","searchServiceRequestList","g","project_name_cont","customer_name_cont","patient_full_name_cont","standard_name_cont","searchServiceRequestOnPage","resetSearch","ServiceRequestsTableList","serviceRequests","change_handle_sort","updated_note","noteValue","coordinator_note","n_sort","LinksHeader","serviceRequest","case_status","Read","Unread","last_ffd_status","Green","Red","Yellow","project_name","standard_name","patient_full_name","updateNoteFieldHandler","assigned_users","Link","to","ReactPaginate","onPageChange","pageClassName","previousClassName","nextClassName","breakLabel","forcePage","previousLabel","nextLabel","activeClassName","activeLinkClassName","disabledClassName","axios","baseURL","process","interceptors","request","use","config","token","Authorization","successRes","alert","removeItem","initialState","loading","currently_selected","removed_service_items","current_admin_fees","service_request_id","service_request_item_ids","new_service_items","service_request_event_id","reviewed_service_items","admin_fees_slice","createSlice","reducers","setBase","payload","updateItemStatus","new_status","reviewed_items_temp","new_items_temp","currently_selected_temp","forEach","single_item","includes","temp_removed_service_items","resetAll","addItem","item","resetClickedItems","reducer","actions","current_doc_collection","results_collected_service_items","attachments","document_collection_slice","updateAttachment","single_attachment","prepare_file_obj","file_name","file_url","object_key","in_active","receipt","_destroy","results_collected_items_temp","subject","slug","bcc","cc","body","from_email","reply_to","to_email","current_slug","email_template_slice","setCurrentSlug","updateTemplate","setTemplate","createFFD","createAsyncThunk","thunkAPI","rejectWithValue","message","getFfdById","updateFfd","service_request_ffd","ffd_id","updateTaskStatus","ffd_Slice","extraReducers","builder","addCase","pending","fulfilled","rejected","fetch_service_request","service_request_slice","fetchServiceRequestItems","service_request_id_eq","page_num","service_request_items","is_recently_updated","service_request_items_slice","clicked_item","clickedItem","indexOfItem","fetch_task_list","param","update_task_list_status","task_slice","remove_item","remove_all_items","select_all_items","deselect_all_items","toISOString","callback","firstRenderRef","n","r","t","Q","getPrototypeOf","Function","toString","Z","L","v","o","nn","u","has","f","set","c","X","Map","q","Set","l","rn","writable","configurable","enumerable","create","y","clear","h","freeze","isFrozen","tn","U","j","O","S","w","P","M","x","H","A","I","k","N","R","D","z","getOwnPropertyDescriptor","E","F","T","C","en","on","Proxy","revocable","revoke","proxy","J","K","from","defineProperty","G","W","Symbol","B","Reflect","for","iterator","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","getOwnPropertyDescriptors","deleteProperty","un","produce","Promise","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","$","an","fn","bind","formatProdErrorMessage","$$observable","observable","randomString","random","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","obj","proto","createStore","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","dispatch","listeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","next","unsubscribe","combineReducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","_key","previousStateForKey","nextStateForKey","compose","_len","funcs","arg","reduce","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","createAction","prepareAction","actionCreator","prepared","__spreadValues","meta","MiddlewareArray","__extends","species","arr","prepend","__spreadArray","EnhancerArray","freezeDraftable","val","isDraftable","createNextState","curryGetDefaultMiddleware","_c","middlewareArray","immutableCheck","serializableCheck","actionCreatorCheck","isBoolean","thunkMiddleware","getDefaultMiddleware","IS_PRODUCTION","configureStore","rootReducer","curriedGetDefaultMiddleware","_d","_e","_f","devTools","_g","_h","enhancers","finalMiddleware","some","middlewareEnhancer","finalCompose","compose2","trace","defaultEnhancers","storeEnhancers","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","typeOrActionCreator","addMatcher","matcher","addDefaultCase","_reducer","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","cr","previousState","caseReducer","isDraft2","isDraftable2","createNextState2","draft","createReducer","actionMatchers_1","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","nanoid","size","commonProperties","RejectWithValue","FulfillWithMeta","miniSerializeError","simpleError","commonProperties_1","createAsyncThunk2","typePrefix","payloadCreator","requestId","__spreadProps","serializeError","rejectedWithValue","aborted","condition","AC","AbortController","class_1","signal","addEventListener","dispatchEvent","onabort","removeEventListener","reason","throwIfAborted","abort","assign","extra","abortReason","idGenerator","abortController","promise2","__async","conditionResult","_a","sent","abortedPromise","reject","_b","getPendingMeta","race","resolve","fulfillWithValue","finalAction","err_1","dispatchConditionRejection","unwrap","unwrapResult","withTypes","alm","queueMicrotask","global","globalThis","promise","createQueueWithTimer","timeout","notify","requestAnimationFrame","enableES5","module","exports","utils","require","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","responseType","isFormData","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","btoa","fullPath","url","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","method","paramsSerializer","onreadystatechange","readyState","responseURL","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancelToken","cancel","send","Axios","mergeConfig","createInstance","defaultConfig","extend","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","__CANCEL__","executor","resolvePromise","throwIfRequested","source","InterceptorManager","dispatchRequest","validator","validators","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","responseInterceptorChain","shift","newConfig","onFulfilled","onRejected","getUri","handlers","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","prop","axiosKeys","otherKeys","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","rawValue","encoder","isString","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","encode","serializedParams","parts","isDate","hashmarkIndex","relativeURL","write","expires","domain","secure","cookie","isNumber","toGMTString","decodeURIComponent","now","originURL","msie","urlParsingNode","createElement","resolveURL","setAttribute","protocol","host","hash","hostname","port","pathname","requestURL","parsed","normalizedName","ignoreDuplicateOf","line","substr","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","opts","warn","schema","allowUnknown","isFunction","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","str","stripBOM","content","isAbsolute","spliceOne","list","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","valueOf","valueEqual","every","aValue","bValue","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","locationsAreEqual","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","invariant","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","entry","nextIndex","nextEntries","canGo","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","propIsEnumerable","propertyIsEnumerable","test1","test2","test3","err","shouldUseNative","symbols","toObject","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","offset","capture","group","modifier","asterisk","partial","optional","prevText","escapeGroup","restrictBacktrack","escapeString","encodeURIComponentPretty","encodeURI","pretty","segment","attachKeys","re","sensitive","strict","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","qa","ma","la","removeAttribute","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","construct","Qa","tag","_render","Ra","$$typeof","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","Children","db","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","ob","namespaceURI","innerHTML","firstChild","appendChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeOpacity","rb","sb","tb","setProperty","ub","menuitem","area","base","br","col","embed","hr","img","keygen","link","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","returnValue","isPropagationStopped","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","month","range","tel","time","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","anchorNode","defaultView","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","passive","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Component","Gg","Kg","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useContext","useImperativeHandle","useLayoutEffect","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Ci","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","createTextNode","V","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","WeakMap","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","sk","uk","kk","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","toStringTag","__esModule","default","pageLinkClassName","getEventListener","pageSelectedHandler","extraAriaContext","pageLabelBuilder","ariaLabel","tabIndex","onKeyPress","breakClassName","breakLinkClassName","breakHandler","handlePageSelected","callCallback","callActiveCallback","eventListener","getForwardJump","getBackwardJump","onPageActive","pageRangeDisplayed","marginPagesDisplayed","getPageElement","handleBreakClick","initialPage","disableInitialCallback","isInteger","hrefBuilder","ariaLabelBuilder","renderOnZeroPageCount","containerClassName","previousLinkClassName","previousAriaLabel","prevRel","nextLinkClassName","nextAriaLabel","nextRel","handlePreviousPage","rel","pagination","handleNextPage","ReactReduxContext","batch","getBatch","nullListeners","createSubscription","parentSub","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","first","prev","createListenerCollection","notifyNestedSubs","Boolean","tryUnsubscribe","getListeners","useIsomorphicLayoutEffect","contextValue","Context","Provider","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","createDispatchHook","useDefaultStore","useDispatch","refEquality","createSelectorHook","selector","equalityFn","_useReduxContext","selectedState","contextSub","forceRender","latestSubscriptionCallbackError","latestSelector","latestStoreState","latestSelectedState","storeState","newSelectedState","checkForUpdates","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","newBatch","useSelector","BrowserRouter","_React$Component","Router","resolveToLocation","normalizeToLocation","forwardRefShim","forwardRef","LinkAnchor","forwardedRef","innerRef","navigate","_onClick","_objectWithoutPropertiesLoose","ex","isModifiedEvent","_ref2$component","__RouterContext","Consumer","isDuplicateNavigation","forwardRefShim$1","forwardRef$1","ariaCurrent","_ref$ariaCurrent","_ref$activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","matchPath","classnames","joinClassnames","MAX_SIGNED_31_BIT_INT","commonjsGlobal","createContext","calculateChangedBits","contextProp","getUniqueId","emitter","handler","off","changedBits","createEventEmitter","nextProps","oldValue","_Provider$childContex","_React$Component2","onUpdate","_Consumer$contextType","createNamedContext","historyContext","_isMounted","_pendingLocation","staticContext","computeRootMatch","isExact","Lifecycle","onMount","onUnmount","cache","cacheLimit","cacheCount","generatePath","compilePath","Redirect","computedMatch","_ref$push","self","cache$1","cacheLimit$1","cacheCount$1","_options","_options$exact","_options$strict","_options$sensitive","matched","cacheKey","pathCache","regexp","compilePath$1","_compilePath","memo","Route","context$1","isEmptyChildren","createURL","staticHandler","methodName","noop","Switch","useHistory","useLocation","useParams","__self","__source","jsx","jsxs","forceUpdate","escape","_status","IsSomeRendererActing","toArray","only","PureComponent","cloneElement","_currentValue2","_threadCount","createFactory","createRef","isValidElement","lazy","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","hasOwn","classes","appendClass","parseValue","newClass","_inheritsLoose","_objectSpread2","defineProperties","_setPrototypeOf","__proto__","toPropertyKey","toPrimitive","isProduction","provided","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","amdO","getter","leafPrototypes","getProto","ns","def","definition","chunkId","miniCssF","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","onScriptComplete","onload","doneFns","head","nmd","paths","loadStylesheet","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","Homepage","Customers","EmailIndex","ServiceItems","Standards","Projects","Users","PinVerification","ForgotPassword","ResetPassword","Login","Layout","Notes","EmailConfiguration","EmailTemplates","AdminTokens","ServiceRequest","ServiceRequestDocumentReviews","ServiceRequestDocumentReviewsEdit","ServiceRequestAppointmentEdit","ServiceRequestPsq","ServiceRequestFFD","ServiceRequestFFDEdit","ServiceRequestAppointment","AccountReceivable","ServiceRequestActivityLogs","ServiceRequests","BillingItems","CoordinatorBaseBillingItems","PrivateRoute","App","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","fetch_documents_list","document_list_Slice","removed_item","client_slice","ffd_reducer","service_request_document","document_reducer","service_request_task","task_list","document_collection","admin_fees","email_template","ReactDOM","Loader","reportWebVitals"],"sourceRoot":""}