{"version":3,"sources":["webpack:///./node_modules/gatsby/node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/_bind.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./src/lib/getMessage.js","webpack:///./src/components/WithProviders/index.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./src/components/zopsmart-final-logo.svg","webpack:///./src/languages/en.js","webpack:///./node_modules/@loadable/component/dist/loadable.esm.js","webpack:///./src/components/layout.js","webpack:///./src/languages sync ^\\.\\/.*$","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.object.freeze.js","webpack:///./src/components/zopsmart-logo-svg.svg","webpack:///./node_modules/gatsby/node_modules/core-js/modules/_string-trim.js","webpack:///./src/lib/supportedLanguages.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/components/LanguageIcon.jsx","webpack:///./src/components/header.js","webpack:///./src/languages/ar.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/react-helmet/lib/Helmet.js","webpack:///./node_modules/react-is/index.js","webpack:///./ZopSmartWhitePaper.pdf","webpack:///./src/components/tick.webp","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./src/Providers/LanguageProvider/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/react-helmet/lib/HelmetConstants.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./.cache/public-page-renderer.js","webpack:///./zopsmart.svg","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.function.bind.js","webpack:///./src/components/zopsmart-logo.svg","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/react-helmet/lib/HelmetUtils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["module","exports","aFunction","isObject","invoke","arraySlice","slice","factories","construct","F","len","args","n","i","Function","join","bind","that","fn","this","partArgs","call","arguments","bound","concat","length","prototype","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","key","descriptor","e","Message","props","dictionary","useContext","LanguageContext","dictKey","className","dangerouslySetInnerHTML","__html","en","Input","placeholderKey","placeholder","Textarea","WithProviders","WrappedComponent","language","pageContext","Consumer","languageContextProps","React","Component","_interopDefault","ex","React__default","shallowEqual","_defineProperty","obj","value","enumerable","configurable","writable","canUseDOM","window","document","createElement","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","state","mountedInstances","emitChange","map","instance","SideEffect","_Component","subClass","superClass","apply","create","constructor","__proto__","peek","rewind","recordedState","undefined","_proto","shouldComponentUpdate","nextProps","componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","getDisplayName","messages","step1","step2","step3","products","services","proven","manageable","secure","modular","mukesh","raj","vikash","sanket","rohit","area83","submitting","submit","address","mobile","save","dismiss","ok","invariant","condition","message","error","framesToPop","Context","createContext","LOADABLE_SHARED","initialChunks","identity","v","createLoadable","_ref","_ref$defaultResolveCo","defaultResolveComponent","_render","onLoad","loadable","loadableConstructor","options","ctor","requireAsync","resolve","chunkName","resolveConstructor","cache","_getCacheKey","cacheKey","Loadable","resolveComponent","preload","LoadableWithChunkExtractor","cachedLoad","promise","status","then","console","fileName","InnerLoadable","_React$Component","_this","result","loading","__chunkExtractor","requireSync","ssr","loadSync","addChunk","isReady","componentDidMount","mounted","cachedPromise","getCache","setCache","loadAsync","prevProps","prevState","safeSetState","nextState","callback","setState","getCacheKey","triggerOnLoad","_this2","setTimeout","_this3","resolveAsync","loadedModule","_this$props","forwardedRef","_this$props2","propFallback","fallback","_this$state","suspense","ref","EnhancedInnerLoadable","extractor","assign","forwardRef","load","lazy","_createLoadable","__esModule","_createLoadable$1","current","children","loadable$1","lazy$1","loadable$2","lib","FooterForm","newWindow","open","location","href","WhitePaperPdf","showFooterForm","lang","isDirectionRTL","direction","title","link","rel","zopsmartFavicon","onClick","handleWhitePaperClick","to","target","src","logo","alt","Date","getFullYear","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","code","DateProto","$toString","getTime","NaN","meta","onFreeze","$freeze","it","$export","defined","fails","spaces","space","ltrim","RegExp","rtrim","exporter","KEY","exec","ALIAS","exp","FORCE","trim","P","string","TYPE","String","replace","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","hasOwnProperty","idx","valueA","valueB","_assertThisInitialized","self","ReferenceError","loader","enqueue","LanguageIcon","width","height","viewBox","version","stroke","stroke-width","fill","fill-rule","x","y","transform","d","Header","event","preventDefault","navigate","expanded","handleClick","toggle","hide","addEventListener","removeEventListener","body","style","overflow","toggleRef","contains","eazy","updateLanguage","image","zopsmartLogo","isRTL","node","dropdownRef","S","f","Helmet","_extends","source","_createClass","defineProperties","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","_reactSideEffect2","_reactFastCompare2","_HelmetUtils","_HelmetConstants","_objectWithoutProperties","_classCallCheck","TypeError","_possibleConstructorReturn","_class","_temp","HelmetSideEffects","handleClientStateChange","HelmetExport","HelmetWrapper","setPrototypeOf","_inherits","mapNestedChildrenToProps","child","nestedChildren","TAG_NAMES","SCRIPT","NOSCRIPT","innerHTML","STYLE","cssText","flattenArrayTypeChildren","_extends2","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_extends3","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","forEach","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","Children","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","_props","set","base","object","oneOfType","arrayOf","defaultTitle","defer","bool","encodeSpecialCharacters","noscript","onChangeClientState","func","script","titleTemplate","mappedState","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","renderStatic","global","has","cof","inheritIfRequired","toPrimitive","gOPN","gOPD","dP","$trim","$Number","Base","proto","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","charCodeAt","digits","l","parseInt","valueOf","split","j","isArray","Array","keyList","hasProp","hasElementType","Element","a","b","equal","arrA","arrB","dateA","dateB","regexpA","regexpB","toString","$$typeof","match","number","warn","RTLLanguage","LanguageProvider","useState","setLanguage","includes","useEffect","documentElement","dictionaryKeys","require","Provider","path","pathname","searchParams","search","pathComponents","supportedLang","updatedPath","default","_inheritsLoose","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","isRegExp","$flags","$RegExp","re1","re2","CORRECT_NEW","p","tiRE","piRE","fiU","proxy","get","m","Symbol","c","g","h","k","q","r","t","w","u","z","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","ProdPageRenderer","pageResources","InternalPageRenderer","json","_setPrototypeOf","requestAnimationFrame","_typeof","iterator","_objectAssign2","clock","str","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","now","currentTime","cafPolyfill","clearTimeout","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","styleSheet","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","initAttributes","_ref$title","_objectWithoutPropertiesLoose","excluded","sourceKeys"],"mappings":"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YAC5B,wCAAyC,cACzC,6CACE,0GACF,6CACE,wJACF,iDAAkD,uBAClD,sDACE,wGACF,sDACE,uGACF,0CAA2C,sBAC3C,+CACE,iFACF,+CACE,kHAEF,iCAAkC,mBAClC,4CACE,uCACF,0CAA2C,iCAC3C,0CAA2C,2BAC3C,0CAA2C,yBAC3C,0CAA2C,eAC3C,gDACE,iDACF,sDACE,4CACF,oDACE,6CACF,oDACE,8DACF,oDACE,qCACF,qDAAsD,qBACtD,yDACE,+IACF,iDAAkD,gBAClD,qDACE,oIAEF,0BAA2B,gCAC3B,8BACE,8GACF,2BAA4B,YAC5B,+BAAgC,gBAChC,+BAAgC,gBAChC,0BAA2B,UAC3B,6BAA8B,eAG9BC,SAAU,WACV,yCAA0C,kCAC1C,+CACE,wCACF,sCAAuC,+BACvC,0BAA2B,kBAC3B,0BAA2B,kBAG3B,+CACE,kCACF,8DACE,2HACF,8DACE,mJACF,8DACE,gHACF,qDAAsD,aACtD,qDAAsD,aACtD,qDAAsD,aAGtD,qDACE,wCACF,2EACE,0JACF,2EACE,0JACF,2EACE,oFACF,0DACE,4BACF,6DAA8D,gBAG9D,4CAA6C,+BAC7C,mDACE,+PACF,mDACE,qJACF,mDACE,6BACF,oDACE,4BAGF,gCAAiC,kBACjC,uCACE,wLACF,uCACE,qLACF,2CACE,uJAGF,gCAAiC,mBACjC,uCACE,iKACF,4CAA6C,4BAC7C,4CAA6C,4BAC7C,4CACE,2EACF,uCACE,gNACF,iDAAkD,sBAClD,sDACE,sDACF,sDACE,yCACF,sDACE,yBACF,sDACE,8DAGF,sBAAuB,sBACvB,yBACE,0DACF,gBAAiB,gBACjB,4BACE,4cAEF,uBAAwB,8BACxBC,OAAQ,SACR,qBACE,uLAEF,WAAY,WACZ,uBACE,gMACF,sBAAuB,sBACvB,kCACE,8IACF,sBAAuB,sBACvB,kCACE,8KACFC,WAAY,aACZ,yBACE,0LACFC,OAAQ,SACR,qBACE,uMACF,mBAAoB,mBACpB,+BACE,8KACF,oBAAqB,oBACrB,gCACE,iLACFC,QAAS,UACT,sBACE,iLAEF,iCAAkC,oCAGlC,uBACE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gCACvC,4DAA6D,gBAC7D,sDACE,qDACF,sDACE,iCACF,iDAAkD,qBAClD,2CACE,2CACF,2CACE,oEACF,iDAAkD,iBAClD,2CAA4C,4BAC5C,2CAA4C,uBAC5C,2CAA4C,wBAG5C,2BAA4B,YAC5B,wCAAyC,YACzC,6CACE,oGACF,6CACE,+JACF,iDAAkD,sBAClD,sDACE,oGACF,sDACE,4GACF,0CAA2C,mCAC3C,+CACE,wEACF,+CACE,iHAGF,iCAAkC,cAClC,4CACE,mCACF,0CAA2C,gCAC3C,0CAA2C,4BAC3C,0CAA2C,uBAC3C,0CAA2C,mBAC3C,gDACE,kCACF,sDACE,sCACF,oDACE,6DACF,oDACE,mDACF,oDACE,kCACF,qDAAsD,iBACtD,yDACE,2IACF,iDAAkD,YAClD,qDACE,8IAGF,0BAA2B,kCAC3B,8BACE,0FACF,2BAA4B,eAC5B,+BAAgC,qBAChC,+BAAgC,oBAChC,0BAA2B,QAC3B,6BAA8B,cAG9BC,SAAU,UACV,yCAA0C,sBAC1C,+CAAgD,4BAChD,sCAAuC,qBACvC,0BAA2B,iBAC3B,0BAA2B,gBAG3B,+CAAgD,uBAChD,8DACE,oFACF,8DACE,qHACF,8DACE,8EACF,qDAAsD,iBACtD,qDAAsD,iBACtD,qDAAsD,iBAGtD,qDACE,4BACF,2EACE,uIACF,2EACE,6IACF,2EACE,uEACF,0DACE,qBACF,6DACE,kBAGF,4CAA6C,qBAC7C,mDACE,+MACF,mDACE,2IACF,mDACE,+BACF,oDAAqD,sBAGrD,gCAAiC,eACjC,uCACE,mIACF,4CAA6C,iBAC7C,4CAA6C,kBAC7C,4CACE,yEACF,uCACE,wJACF,iDAAkD,eAClD,sDACE,8BACF,sDACE,gCACF,sDAAuD,eACvD,sDACE,mCAGF,oBACE,mPACF,oBACE,mGACF,kBAAmB,wBACnB,qBACE,4MACF,WAAY,eACZ,cACE,4UACF,cACE,gKACF,gBAAiB,oBACjB,mBAAoB,yDACpB,uBAAwB,QACxB,uBAAwB,oBACxB,uBAAwB,2BACxB,uCACE,wCACF,0CACE,+KACF,sBAAuB,yBACvB,yBACE,2FACF,6BACE,sDACF,6BACE,mFACF,6BAA8B,4CAC9B,yBACE,0IACF,6BACE,qGACF,yBACE,uHACF,8BAA+B,yBAC/B,iCACE,sLACF,iCACE,4SACF,iCACE,oGACF,6BAA8B,kCAC9B,gCACE,8LACF,gCACE,8LACF,mBAAoB,kBACpB,sBACE,sNACF,wCACE,sCACF,2CACE,4EACF,+CACE,0DACF,+CACE,yKACF,+CACE,yDACF,+CACE,kDACF,+CACE,sDACF,+CACE,uLACF,+CACE,qLACF,uCACE,uCACF,0CACE,uhBACF,kCAAmC,oCACnC,qCACE,4VACF,qCACE,kOACF,qCACE,2SACF,qCACE,gQACF,qCACE,wXACF,iBAAkB,+BAClB,oBACE,2SACF,mBAAoB,eACpB,sBACE,oMACF,oBAAqB,yBACrB,uBACE,+PACF,uBACE,mKACF,gBACE,mFACF,gBAAiB,yBACjB,aAAc,qBAEd,WAAY,kBACZ,eAAgB,WAChB,0BAA2B,6BAC3B,qBAAsB,UACtB,sBAAuB,iBACvB,mBAAoB,cACpB,oBAAqB,aACrB,yBAA0B,cAC1B,qBAAsB,YACtB,4BAA6B,cAC7B,iBAAkB,cAClB,eAAgB,SAChB,cAAe,UACf,iBAAkB,WAClB,0BAA2B,cAE3B,gBAAiB,+CACjB,gBACE,yFAEF,2BAA4B,sBAC5B,mCACE,ofAEF,8BAA+B,2BAC/B,iBAAkB,UAClB,oBAAqB,sBACrB,oBAAqB,aACrB,uBAAwB,gBACxB,gBAAiB,2DAEjB,aAAc,SACd,YAAa,kBACb,6BAA8B,6BAC9B,2BAA4B,+BAC5B,2BAA4B,gCAC5B,iBACE,kEACF,kBAAmB,4CACnB,4BACE,gEAEF,mCACE,4DACF,6BAA8B,qBAC9B,iBAAkB,SAClB,kBAAmB,SACnB,oBAAqB,WACrB,kBAAmB,WACnB,kBAAmB,SACnB,wBAAyB,iBACzB,uBAAwB,gBACxB,kBAAmB,SACnB,kBAAmB,WACnB,iBAAkB,QAClB,kBAAmB,mCACnB,gBAAiB,qBAGjB,sBAAuB,oBACvB,yBAA0B,0BAC1B,gBAAiB,aACjB,4BACE,6aAEF,uBAAwB,kBACxBC,O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","file":"879ade08ac8efdc40ca682f2536f9f2a0db37e06-7539590a19b9b5751c67.js","sourcesContent":["module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","'use strict';\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\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;\n\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;","import React, { useContext } from 'react'\nimport en from '../languages/en'\nimport { LanguageContext } from '../Providers/LanguageProvider'\n\nexport const Message = (props) => {\n const { dictionary } = useContext(LanguageContext)\n const { dictKey } = props\n return (\n \n )\n}\n\nexport const useMessage = () => {\n const { dictionary } = useContext(LanguageContext)\n return function (dictKey) {\n return dictionary?.[dictKey] || en?.[dictKey] || dictKey\n }\n}\n\nexport const Input = ({ placeholderKey, ...props }) => {\n const { dictionary } = useContext(LanguageContext)\n return (\n \n )\n}\n\nexport const Textarea = ({ placeholderKey, ...props }) => {\n const { dictionary } = useContext(LanguageContext)\n return (\n \n )\n}\n","import React from 'react'\nimport LanguageProvider, {\n LanguageContext,\n} from '../../Providers/LanguageProvider'\n\nexport default function WithProviders(WrappedComponent) {\n return class extends React.Component {\n render() {\n return (\n \n \n {(languageContextProps) => (\n \n )}\n \n \n )\n }\n }\n}\n","'use strict';\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nvar shallowEqual = _interopDefault(require('shallowequal'));\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_Component) {\n _inheritsLoose(SideEffect, _Component);\n\n function SideEffect() {\n return _Component.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n _proto.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","module.exports = __webpack_public_path__ + \"static/zopsmart-final-logo-b20801f896333a39e9cb517067416859.svg\";","const messages = {\n // steps\n step1: \"Step 1\",\n step2: \"Step 2\",\n step3: \"Step 3\",\n\n //HOME > nav bar\n \"nav.home\": \"HOME\",\n \"nav.products\": \"PRODUCTS\",\n \"products.website.mobile\": \"WEBSITE & MOBILE APPS\",\n \"products.marketing\": \"MARKETING\",\n \"products.operations\": \"OPERATIONS MANAGEMENT\",\n \"products.scan.go\": \"SCAN & GO\",\n \"products.logistic\": \"LOGISTICS\",\n \"products.click.collect\": \"CLICK & COLLECT\",\n \"products.analytics\": \"ANALYTICS\",\n \"products.customer.support\": \" CUSTOMER SUPPORT\",\n \"nav.technology\": \"TECHNOLOGY\",\n \"nav.about.us\": \"ABOUT US\",\n \"nav.careers\": \"CAREERS\",\n \"nav.contact.us\": \"CONTACT US\",\n \"select.language.heading\": \"Select Language\",\n //HOME > Banners\n \"banner.1.text\": \"Welcome to tomorrow's retail infrastructure\",\n \"banner.2.text\":\n \"Providing end to end coverage of your omni-channel needs with a modular solution that can build on what you have\",\n // HOME > Hero Section\n \"hero.zopsmart.technology\": \"ZopSmart Technology\",\n \"hero.zopsmart.technology.content\":\n \"Zopsmart helps offline businesses to go online by providing the required tools and techniques to set up their online store. Our goal is to create value and deliver mature, end to end products for digital savvy customer. We show businesses how they can better engage their customers, innovate within predictable budgets by going online with their products in the shortest possible time. By using human-centered design practices, we help customers re-imagine their business, consumer interaction, and proven analytics, with an accelerated time-to-market.\",\n //HOME > Industries we specialize in\n \"home.industries.specialised\": \"Industries We Specialize In\",\n \"industy.retail\": \"Retail\",\n \"industy.ecommerce\": \"E commerce\",\n \"industy.logistics\": \"Logistics\",\n \"industy.supply.chain\": \"Supply Chain\",\n \"brands.helped\": \"Brands we Helped Shaping their Business & Future\",\n // HOME > Our Expertise\n \"our.expert\": \"Our Expertise\",\n \"yr.of.exp\": \"Years of experience\",\n \"developing.refining.retail\": \"Developing & refining retail capabilities\",\n \"digital.products.created\": \"Digital products created for our clients\",\n \"engineers.engaged.retail\": \"Engineers engaged in retail projects\",\n \"strong.cleints\":\n \"Strong clientele that includes top global CPG and Retail giants\",\n \"dedicated.UI/UX\": \"Dedicated UI/UX team for design focus\",\n \"cloud.consulting.partners\":\n \"Cloud consulting partnerships with AWS, Google Cloud & Microsoft Azure\",\n //HOME > Footer\n \"footer.whitepaper.download.error\":\n \"Unable to open the document. Please check your browser settings.\",\n \"footer.download.whitepaper\": \"Download Whitepaper\",\n \"footer.company\": \"Company\",\n \"footer.about.us\": \"About Us\",\n \"footer.contact.us\": \"Contact Us\",\n \"footer.products\": \"Products\",\n \"footer.our.team\": \"Our Team\",\n \"footer.privacy.policy\": \"Privacy Policy\",\n \"footer.stay.in.touch\": \"Stay in touch\",\n \"footer.facebook\": \"facebook\",\n \"footer.linkedIn\": \"linkedIn\",\n \"footer.twitter\": \"twitter\",\n \"footer.raramuri\": \"Raramuri Technology Private Limited,\",\n \"footer.rights\": \" All rights reserved\",\n // product section\n products: \"PRODUCTS\",\n \"products.description\":\n \"World’s best E-commerce software for Brands and Retailers. Deliver within hours at lowest cost using your existing retail network\",\n \"products.eazy\": \"SMARTSTORE EAZY\",\n \"products.enterprise\": \"SMARTSTORE ENTERPRISE\",\n \"products.productfinder.heading1\": \"Large Store\",\n \"products.productfinder.heading2\": \"Smart Product-
locator\",\n \"products.productfinder.description\":\n \"Own a Large Grocery or Departmental Store? Help your customers navigate through your shop and find what they are looking for easily.\",\n \"products.zoppay.heading1\": \"Payment Gateway\",\n \"products.zoppay.heading2\": \"Smart Payment Gateway\",\n \"products.zoppay.description\":\n \"One step integration to accept online payments from gateways of your choice.\",\n \"products.intellipos.heading1\": \"Self Sustaining Store\",\n \"products.intellipos.heading2\": \"Smart Point-of-Sale\",\n \"products.intellipos.description\":\n \"An intelligent POS system that allows the user and the operator to simultaneously operate and use the system with complementary information on Dual Screens.\",\n \"products.groceryexpress.heading1\": \"IOT Device\",\n \"products.groceryexpress.heading2\": \"Grocery Express\",\n \"products.groceryexpress.description\":\n \"One of it's kind. multi-SKU ordering IOT device that connects to a ZopNow account and allows the user to order from a refrigerator door or any surface for that matter.\",\n // products website and mobile apps\n \"products.websiteandmobileapps.title\": \"Website & Mobile Apps\",\n \"products.websiteandmobileapps.websiteService.item1\":\n \"Our front end solution can be delivered across Desktops & Mobile (Android & iOS), in a matter of weeks, to provide customers with a unified experience.\",\n \"products.websiteandmobileapps.websiteService.item2\":\n \"With the “Cart on the Cloud”, all family members can add to the “family cart” from their own devices at any time\",\n \"products.websiteandmobileapps.languageservice.description\":\n \"Easily allow customers to toggle between languages (without disrupting your ERP). Ideal for retailers serving different communities (e.g. Local & ExPat).\",\n\n // products marketing\n \"products.marketing.title\": \"Marketing\",\n \"products.marketing.personalisation.heading\": \"Personalisation\",\n \"products.marketing.personalisation.item1\":\n \"Unique results, based on individual buying activity, are shown for both “search” and “substitutions”.\",\n \"products.marketing.personalisation.item2\":\n \"If a customer orders a product that has recently had fulfilment issues, our system pro-actively suggests personalised “substitutes” that are pre-confirmed as a preferred backup.\",\n \"products.marketing.recommendation.heading\": \"Recommendation\",\n \"products.marketing.recommendation.description\":\n \"Our proprietary algorithms leverage a range of variables including shopping history, frequency, recency etc. to subtly influence consumer behaviour based on thousand of similar consumers. Our algorithms have been developed by the same team that power Amazon’s personalisation and recommendation engines. These engines can be integrated with your existing front end solution.\",\n \"products.marketing.promotion.heading\": \"Promotion Campaigns\",\n \"products.marketing.promotion.description\":\n \"We segment the customer base in real time, based on multiple parameters that combine the actions & needs of the consumer with their location to identify the most promising coupons / offers.\",\n \"products.marketing.loyalty.heading\": \"Loyalty\",\n \"products.marketing.loyalty.description\":\n \"Which can be delivered across multiple venues as part of a loyalty program administered by ZopSmart or integrated with your existing administrator.\",\n // products opertation and management page\n \"products.operationsmanagement.title\": \"Operations Management\",\n \"products.operationsmanagement.heading\": \"Allocate and Track Orders\",\n \"products.operationsmanagement.item1\":\n \"Automatically allocate online orders to stores and individual staff members.\",\n \"products.operationsmanagement.item2\":\n \"Track the real-time status of all live orders.\",\n \"products.operationsmanagement.planning.heading\": \"Planning\",\n \"products.operationsmanagement.planning.description\":\n \"A mobile app shows the staff member the optimal route for picking items balancing time and packing requirements.\",\n \"products.operationsmanagement.picking.heading\": \"Pick and Scan In Real-Time\",\n \"products.operationsmanagement.picking.description\":\n \"Staff member picks and scans in real-time:\",\n \"products.operationsmanagement.picking.item1\":\n \"Picking errors immediately flagged and corrected.\",\n \"products.operationsmanagement.picking.item2\":\n \"Receipt built along the way, Staff member is guided on substitutions, removing need for customer calls.\",\n \"products.operationsmanagement.packing.heading\": \"Packing\",\n \"products.operationsmanagement.packing.description\":\n \"Staff member given clear instructions on how to pack (which items in which box) and where to store.\",\n \"products.operationsmanagement.selfupdatedesc.heading\":\n \"Real Time Shelf Updates\",\n \"products.operationsmanagement.selfupdatedesc.item1\":\n \"While staff pick from shelves, any out of stock items can be escalated in real time via their mobile app.\",\n \"products.operationsmanagement.selfupdatedesc.item2\":\n \"If inventory is in the back, shelves can be filled on a more timely basis.\",\n // products scan and go page\n \"products.scanandgo.title\": \"Scan and Go\",\n \"products.scanandgo.scansteps.heading\": \"Its Easy to use\",\n \"products.scanandgo.scansteps.step1\":\n \"Customer Launches App and (GPS enables ”Check In”)\",\n \"products.scanandgo.scansteps.step2\":\n \"Customer scans and bags items on their phone as they go.\",\n \"products.scanandgo.scansteps.step3\":\n \"Customer pays in-app and verifies the e-receipt.\",\n // products logistic page\n \"products.logistics.title\": \"Logistics\",\n \"products.logistics.booking.description\": \"Booking\",\n \"products.logistics.booking.item1\": \"Customer picks preferred slot.\",\n \"products.logistics.booking.item2\":\n \"Incentives offered to influence which time slots are chosen.\",\n \"products.logistics.booking.item3\":\n \"30 minute delivery window provided to customer.\",\n \"products.logistics.planning.description\": \"Planning\",\n \"products.logistics.planning.item1\": \"Dynamic clustering of orders.\",\n \"products.logistics.planning.item2\": \"Target 100% capacity utilisation.\",\n \"products.logistics.planning.item3\": \"Suggest route for shortest turnaround.\",\n \"products.logistics.delivery.description\": \"Delivery Optimisation\",\n \"products.logistics.delivery.item1\":\n \"Auto assigns vehicle and delivery driver.\",\n \"products.logistics.delivery.item2\": \"Integrated map shows route.\",\n \"products.logistics.delivery.item3\": \"On-the-spot product returns.\",\n \"products.logistics.delivery.item4\": \"Watertight accounting of returns.\",\n \"products.logistics.tracking.description\": \"Tracking\",\n \"products.logistics.tracking.item1\":\n \"Route Monitoring for both Customer and Manager.\",\n \"products.logistics.tracking.item2\": \"Pro-actively send alerts to customer.\",\n // products click and collect page\n \"products.collectandgo.title\": \"Click and Collect\",\n \"products.collectandgo.booking.description\": \"Booking\",\n \"products.collectandgo.booking.item1\": \"Customer places order.\",\n \"products.collectandgo.booking.item2\": \"Pick up time allocated.\",\n \"products.collectandgo.booking.item3\": \"Option to add order to Maps.\",\n \"products.collectandgo.trackingandnotification.description\":\n \"Tracking & Notification\",\n \"products.collectandgo.trackingandnotification.item1\":\n \"Customer can manage order and track status through an App.\",\n \"products.collectandgo.trackingandnotification.item2\":\n \"Notification received once order is ready.\",\n \"products.collectandgo.drivetostore.description\": \"Drive To Store\",\n \"products.collectandgo.drivetostore.item1\":\n \"Use Maps App to navigate to store.\",\n \"products.collectandgo.drivetostore.item2\":\n \"Share arrival time with store while travelling (updated in real time).\",\n \"products.collectandgo.collectgoods.description\": \"Collect Goods\",\n \"products.collectandgo.collectgoods.item1\": \"Confirm arrival via App.\",\n \"products.collectandgo.collectgoods.item2\": \"Confirm Pick Up Point.\",\n \"products.collectandgo.collectgoods.item3\": \"Customer receives delivery.\",\n // products analytics\n \"products.analytics.title\": \"Analytics\",\n \"products.analytics.newproduct.heading\": \"New product\",\n \"products.analytics.newproduct.description1\":\n \"Use data analytics to identify opportunities for increased sales through new products / product ranges.\",\n \"products.analytics.newproduct.description2\":\n \"E.g: If Sales of a specific product are low in a given store, explore if the community (near the store) is likely to resonate with a different brand.\",\n \"products.analytics.workforcemanagement.heading\": \"Workforce Management\",\n \"products.analytics.workforcemanagement.description1\":\n \"Role specific KPI tracking at both employee and store to inform training and incentive opportunities.\",\n \"products.analytics.workforcemanagement.description2\":\n \"E.g: Picking time for a given SKU; number of damaged products by delivery driver; wastage by store.\",\n \"products.analytics.skueconomics.heading\": \"SKU Level Economics\",\n \"products.analytics.skueconomics.description1\":\n \"Insights into all the cost drivers for a given SKU to inform pricing strategy.\",\n \"products.analytics.skueconomics.description2\":\n \"E.g: By understanding some products require more time for picking, may decide to increase the price to off-set.\",\n // products customerSupport\n \"products.customersupport.title\": \"Customer Support\",\n \"products.customersupport.selfhelp.heading\":\n \"Empowering customers to self-service\",\n \"products.customersupport.selfhelp.item1\": \"Change orders / delivery times\",\n \"products.customersupport.selfhelp.item2\": \"Report issues with order\",\n \"products.customersupport.selfhelp.item3\": \"Change contact details\",\n \"products.customersupport.selfhelp.item4\": \"Check status\",\n \"products.customersupport.supportstaff.heading\":\n \"Supplemented by robust tools for support staff\",\n \"products.customersupport.workflowmanagement.heading\":\n \"Workflow Management for call center staff\",\n \"products.customersupport.workflowmanagement.item1\":\n \"Auto-route calls / mails to specific teams\",\n \"products.customersupport.workflowmanagement.item2\":\n \"Reconnect customers to the same staff to provide continuity\",\n \"products.customersupport.workflowmanagement.item3\":\n \"Instant access to customer detail.\",\n \"products.customersupport.disputemanagement.heading\": \"Dispute Management\",\n \"products.customersupport.disputemanagement.description\":\n \"Rule based dispute management system, providing different resolution paths for different customer segments (e.g. Gold vs. Silver customers).\",\n \"products.customersupport.notifications.heading\": \"Notifications\",\n \"products.customersupport.notifications.description\":\n \"Ability to notify sub-groups of customers (e.g. “Deliveries delayed because of vehicle breakdown” sent to all impacted customers)\",\n // products footer\n \"products.footer.heading\": \"Do you need more information?\",\n \"products.footer.description\":\n \" Just leave your contact details below and our e-commerce expert will get in touch with you at the earliest\",\n \"products.footer.fullname\": \"Full Name\",\n \"products.footer.mobilenumber\": \"Mobile Number\",\n \"products.footer.emailaddress\": \"Email Address\",\n \"products.footer.message\": \"Message\",\n \"products.footer.tellmemore\": \"TELL ME MORE\",\n\n //services\n services: \"SERVICES\",\n \"services.acceleratingdevelopmentcycles\": \"ACCELERATING DEVELOPMENT CYCLES\",\n \"services.microservicesapplicationenvironment\":\n \"MICROSERVICES APPLICATION ENVIRONMENT\",\n \"services.deliverypartnerintegration\": \"DELIVERY PARTNER INTEGRATION\",\n \"services.processscaling\": \"PROCESS SCALING\",\n \"services.cloudmigration\": \"CLOUD MIGRATION\",\n\n //services accelrating development cycles\n \"services.acceleratingdevelopmentcycles.title\":\n \"Accelerating Development Cycles\",\n \"services.acceleratingdevelopmentcycles.devdesc.description1\":\n \"Each development team at our client was separately responsible for implementing core components in line with guidelines.\",\n \"services.acceleratingdevelopmentcycles.devdesc.description2\":\n \"Notable issues to arise were inconsistent adoption of the guidelines, and changes to the components needing to be replicated across all systems.\",\n \"services.acceleratingdevelopmentcycles.devdesc.description3\":\n \"Over the course of 6 – 8 weeks ZopSmart deployed a central framework and library which is called as required.\",\n \"services.acceleratingdevelopmentcycles.steps.step1\": \"Dev Team 1\",\n \"services.acceleratingdevelopmentcycles.steps.step2\": \"Dev Team 2\",\n \"services.acceleratingdevelopmentcycles.steps.step3\": \"Dev Team 3\",\n\n //services mcroservices application environment\n \"services.microservicesapplicationenvironment.title\":\n \"Microservices Application Environment\",\n \"services.microservicesapplicationenvironment.servicesegment.description1\":\n \"Our client wanted to simplify how code within existing systems could be re-used and also reduce the potential scale of risks arising from code changes.\",\n \"services.microservicesapplicationenvironment.servicesegment.description2\":\n \"Over the course of ~6 months ZopSmart restructured the legacy systems and converted monolithic legacy systems into a series of callable micro-services.\",\n \"services.microservicesapplicationenvironment.servicesegment.description3\":\n \"As a result, the client has seen reductions in new development times of up to 30%\",\n \"services.microservicesapplicationenvironment.monolithic\":\n \"Monolithic Legacy Systems\",\n \"services.microservicesapplicationenvironment.microservices\": \"Microservices\",\n\n // services delivery partner integration\n \"services.deliverypartnerintegration.title\": \"Delivery Partner Integration\",\n \"services.deliverypartnerintegration.description1\":\n \"Our client had been executing integrations with delivery partners (Instacart, Shipt etc) on a case by case basis, resulting in inefficient integration and inconsistent information flows (e.g. frequency of inventory / pricing updates varied by partner).\",\n \"services.deliverypartnerintegration.description2\":\n \"ZopSmart created a common “Partner Integration Layer” (delivered in less than 3 months) and migrated all existing partners into the new framework.\",\n \"services.deliverypartnerintegration.header.title\":\n \"Ad-Hoc Partner Integration\",\n \"services.deliverypartnerintegration.header.title2\":\n \"Partner Integration Layer\",\n\n // services process scaling\n \"services.processscaling.title\": \"Process Scaling\",\n \"services.processscaling.descripiton1\":\n \"Our client’s category managers / marketing department managed all offers through Excel based tools with forecasting & reporting requiring IT to run ad-hoc queries of the ERP system.\",\n \"services.processscaling.descripiton2\":\n \"Apart from being inefficient, the absence of flexible query tools meant there was a higher risk of offers being independently generated that sometimes conflicted with each other.\",\n \"services.processscaling.interface.header\":\n \" ZopSmart developed“Engines”spanning offer generation, forecasting and reporting which could be operated by. \",\n\n // services cloud migration\n \"services.cloudmigration.title\": \"Cloud Mirgration\",\n \"services.cloudmigration.description1\":\n \"Our client is on a multi-year journey to migrate all systems from on-premises to the cloud as they sought reduced costs and faster development cycles through:\",\n \"services.cloudmigration.description.item1\": \"Flexible storage capacity\",\n \"services.cloudmigration.description.item2\": \"Flexible compute capacity\",\n \"services.cloudmigration.description.item3\":\n \"Easy access to a wide range of Cloud Native development & security tools\",\n \"services.cloudmigration.description2\":\n \" With our deep understanding of both Cloud and retail technology systems, ZopSmart have been selected to partner with the in-house development team on both the planning and execution of migration projects.\",\n \"services.cloudmigration.trustedpartner.heading\": \"Trusted Partner for\",\n \"services.cloudmigration.trustedpartner.description1\":\n \"Determining and prioritising migration requirements\",\n \"services.cloudmigration.trustedpartner.description2\":\n \"Selecting the target cloud environment\",\n \"services.cloudmigration.trustedpartner.description3\":\n \"Planning the migration\",\n \"services.cloudmigration.trustedpartner.description4\":\n \"Executing the migration & maintaining the cloud environment\",\n\n // Technology\n \"zopSmart.technology\": \"ZopSmart Technology\",\n \"technology.Description\":\n \"Cutting-edge technology that is right for your business\",\n \"what.we.offer\": \"What we offer\",\n \"what.we.offer.description\":\n \"We are using one of the most advanced technology stack for an ecommerce platform. We have built the platform using ReactJS, NextJS, GoLang, NodeJS, Java, SQL and NoSQL Database, Redis Cluster for Cache, Solr Cluster for Search and Neo4j Graph Database for Personalization. We host our platform on Google, Amazon, and Azure cloud services that ensures more than 99.99% uptime and accessibility to the application from anywhere, anytime and any device.\",\n // Technology > Mainstays of our Technology\n \"mainstays.technology\": \"Mainstays of our Technology\",\n proven: \"Proven\",\n \"proven.description\":\n \"Our technology is in action from 7 years, handling thousands of transactions each day. Our clients include large retailers in Asia, including two of the largest e-grocers in India.\",\n\n \"low.cost\": \"Low Cost\",\n \"low.cost.description\":\n \"With us you get enterprise-class technology at an affordable price. You save substantial capital as well as variable costs with zero in-house server, application and personnel requirements.\",\n \"zero.time.to.market\": \"Zero Time-to-Market\",\n \"zero.time.to.market.description\":\n \"With us you get to market in almost zero time, as we already have almost all the e-commerce capabilities built and available off-the-shelf.\",\n \"flexible.&.scalable\": \"Flexible & Scalable\",\n \"flexible.&.scalable.description\":\n \"Our platform is ideal for businesses which have uncertain or fluctuating demand. If your needs increase we will automatically scale up your server capacity and vice-versa.\",\n manageable: \"Manageable\",\n \"manageable.description\":\n \"Our platform provides enhanced & simplified IT management & maintenance capabilities through central administration of resources, managed infrastructure & SLA backed support services.\",\n secure: \"Secure\",\n \"secure.description\":\n \"All your data is encrypted and stored in Google or Amazon cloud that have more than 99.99% uptime. You get complete data security even in extreme situations of power failures or natural disasters.\",\n \"manage.on.the.go\": \"Manage-on-the-go\",\n \"manage.on.the.go.description\":\n \"With our platform, if you’ve got a smartphone and an internet connection you can be at work. Our back-end interface can be conveniently accessed via browser on any device.\",\n \"automatic.updates\": \"Automatic Updates\",\n \"automatic.updates.description\":\n \"We take care of development and roll-out of regular software updates including security updates. Hence you don’t have to worry about maintaining your applications and servers\",\n modular: \"Modular\",\n \"modular.description\":\n \"Our software is truly modular. Hence if you have an existing e-commerce solution and you want to add only a few modules of our solution then also we fit your needs perfectly.\",\n\n \"building.blocks.our.technology\": \"Building blocks of our Technology\",\n\n // About Us\n \"about.us.description\":\n \"We envision to be the #1 retail technology platform of the world.\",\n \"our.experties.description\":\n \"in the retail domain is built on our team’s immense experience in the field of FMCG, retail, supply-chain and logistics. All our experience has been baked into business processes that are embedded in our products.\",\n \"our.solution\": \"Our Solution\",\n \"our.solution.description\":\n \"has been built over 7 years and is handling thousands of transactions every day. Our suite of products are one of the most advanced, stable and scalable solutions available in the world of retail technology.\",\n \"our.team\": \"Our Team\",\n \"our.team.description\":\n \"Consists of passionate retail professionals who hail from world’s most prestigious educational institutions such as IIT, IIM, MIT, ISB and Wharton.\",\n mukesh: \"Mukesh Singh\",\n \"mukesh.designation\": \"Founder\",\n \"mukesh.description\":\n \"has a B.Tech in Computer Science from IIT, Kanpur. After his UG he pursued his PhD at MIT, but dropped-out to do an animation startup - Zoesis in Boston. Later he worked for eGain, Amazon and MakeMyTrip before starting the development of SmartStore E-commerce platform.\",\n raj: \"Raj Pandey\",\n \"raj.designation\": \"CEO\",\n \"raj.description\":\n \"has a B.Tech from IIT Kanpur and an MBA from Wharton School of Business. After a decade of deal-making on Wall Street as investment banker, Raj has returned to India to take the SmartStore E-commerce platform to international markets.\",\n vikash: \"Vikash Kumar\",\n \"vikash.designation\": \"CTO\",\n \"vikash.description\":\n \"has a B.Tech from IIT Bombay and one of the very few who are equally good with the camera and poetry. In office we refer to him as bond.\",\n sanket: \"Sanket Mehta\",\n \"sanket.designation\": \"Operations Head\",\n \"sanket.description\":\n \"has a B.Tech from IIT Bombay. Ops King, most of the time you can see him running things calmly and silently.\",\n rohit: \"Rohit Saksena\",\n \"rohit.designation\": \"Head - Business Solutions\",\n \"rohit.description\":\n \"has an MBA from Indian School of Business, Hyderabad. He has worked in consulting, planning and analytics designations earlier with organizations including Dell, TVS Logistics and Wipro.\",\n\n // career\n \"work.with.us\": \"Work with us.\",\n \"work.with.us.description\":\n \"We are Bangalore based company. We are ready to hire new talents to join us.\",\n \"about.working.here\": \"About Working here\",\n \"about.working.here.description\": \"Stand out from the pack with your talent\",\n \"conducive.environment\": \"Conducive Environment\",\n \"conducive.environment.description\":\n \"Enjoy challenging work, and a satisfying job without any hierarchy\",\n \"best.gadgets\": \"Best Gadgets\",\n \"best.gadgets.description\":\n \"Pamper the tech savvy in you with gadgets and advanced technology\",\n \"medical.insurance\": \"Medical Insurance\",\n \"medical.insurance.description\":\n \"We have got you and your family covered literally, with best in class insurance\",\n \"snacks.drinks\": \"Healthy snacks and drinks\",\n \"snacks.drinks.description\": \"Food is in the house, so you feel like house\",\n \"gilly's\": \"@Gilly's Redefined\",\n \"@PLaY.Arena\": \"@PLaY Arena\",\n \"@Koramangala.Social\": \"@Koramangala Social\",\n \"@MACAW.By.Stories\": \"@MACAW By Stories\",\n \"team.lunch\": \"Team lunch\",\n \"team.outing\": \"Team outing\",\n area83: \"@Area 83\",\n \"mango.mist\": \"@MangoMist\",\n \"join.zopsmart\": \"Want to join the team ZopSmart\",\n \"join.zopsmart.description\":\n \"Great Technology. Amazing Colleagues. Discover the world of innovation, learning and growth with us\",\n \"no.jobs\": \"No job opening as of now\",\n apply: \"Apply\",\n\n // contact us\n \"contact.us.description\":\n \"Our retail technology experts are available 24 X 7\",\n \"write.us\": \"Write to us\",\n \"write.us.description\":\n \"Please get in touch if you need any help on our solutions or need to know anything else in the domain of retail technology.\",\n \"submit.form.error\":\n \"Oops! Form submission failed. Please email your queries to\",\n submitting: \"Submitting\",\n submit: \"Submit\",\n \"thank.you\": \"Thank you\",\n \"will.get.in.touch\": \"We will get in touch soon\",\n address: \"Address\",\n \"zs.address\":\n \"2078, 24th Main Rd, Vanganahalli, 1st Sector, HSR Layout, Bengaluru, Karnataka 560102.\",\n mobile: \"Mobile\",\n \"email.id\": \"Email ID\",\n\n name: \"Name\",\n \"upload.resume\": \"Upload Resume\",\n \"drag.upload.resume\": \"Drag or Upload your resume\",\n \"current.location\": \"Current Location\",\n \"notice.period\": \"Notice Period\",\n \"current.salary\": \"Current Salary\",\n \"in.lpa\": \"In LPA\",\n \"expected.salary\": \"Expected Salary\",\n \"additional.info\": \"Additional Information\",\n \"cance;\": \"Cancel\",\n save: \"Save\",\n \"enter.location\": \"Enter your current location\",\n \"enter.linkedin.profile\": \"Enter linkedIn path\",\n \"enter.notice.period\": \"Enter Notice Period \",\n \"enter.current.salary\": \"Enter Current Salary\",\n \"enter.expected.salary\": \"Enter Expected Salary\",\n \"enter.additional.info\": \"Enter Additional Information\",\n\n //Apply\n // Apply> errors\n\n \"err.must.not.empty\": \"* must be non empty\",\n \"err.must.be.email\": \"* must be of type email\",\n \"err.length.must.10\": \"* must be of length 10\",\n \"err.invalid.number\": \"* invalid number\",\n \"err.select.field\": \"* select field\",\n \"err.link.github.ptofile\": \"* link must be of type github profile\",\n \"err.linkedin.link.format\":\n \"* link must be of type https://www.linkedin.com/...\",\n \"err.greater.than.1900\": \"* year should be greater than 1900\",\n \"err.less.than.220\": \"* year should be less than 2200\",\n \"err.try.again.later\": \"Something went wrong please try again later\",\n \"err.upload.again\": \"Error in uploading resume please try again\",\n \"err.upload.doc.pdf\": \"Please Upload pdf or doc file\",\n \"thanks.on.error\":\n \"Thank you for your interest. We're experiencing technical issues. Please send your application to careers@zopsmart.com\",\n\n dismiss: \"Dismiss\",\n \"mail.now\": \"Mail Now\",\n ok: \"Ok\",\n \"click.to.career\": \" click here for CAREERS page\",\n \"thank.to.apply\": \"Thank you for apply\",\n\n // privacy policy\n\n \"privacy.policy.p1\":\n \"Your privacy is important to us. It is Zopsmart's policy to respect your privacy and comply with any applicable law and regulation regarding any personal information we may collect about you, including across our website, https://zopsmart.com, and other sites we own and operate.\",\n \"privacy.policy.p2\":\n \"This policy is effective as of 25 June 2021 and was last updated on 25 June 2021.\",\n \"info.we.collect\": \"Information We Collect\",\n \"info.we.collect.p1\":\n \"Information we collect includes both information you knowingly and actively provide us when using or participating in any of our services and promotions, and any information automatically sent by your devices in the course of accessing our products and services.\",\n \"log.data\": \"Log Data\",\n \"log.data.p1\":\n \"When you visit our website, our servers may automatically log the standard data provided by your web browser. It may include your device’s Internet Protocol (IP) address, your browser type and version, the pages you visit, the time and date of your visit, the time spent on each page, other details about your visit, and technical details that occur in conjunction with any errors you may encounter.\",\n \"log.data.p2\":\n \"Please be aware that while this information may not be personally identifying by itself, it may be possible to combine it with other data to personally identify individual persons.\",\n \"personal.info\": \"Personal Information\",\n \"personal.info.p1\":\n \"We may ask for personal information which may include one or more of the following:\",\n \"personal.info.p1.li1\": \"Name\",\n \"personal.info.p1.li2\": \"Email\",\n \"personal.info.p1.li3\": \"Social media profiles\",\n \"reasons.for.processing.personal.info\":\n \"Legitimate Reasons for Processing Your Personal Information\",\n \"reasons.for.processing.personal.info.p1\":\n \"We only collect and use your personal information when we have a legitimate reason for doing so. In which instance, we only collect personal information that is reasonably necessary to provide our services to you.\",\n \"collection.use.info\": \"Collection and Use of Information\",\n \"collection.use.info.p1\":\n \"We may collect personal information from you when you do any of the following on our website:\",\n \"collection.use.info.p1.li1\":\n \"Use a mobile device or web browser to access our content\",\n \"collection.use.info.p1.li2\":\n \"Contact us via email, social media, or on any similar technologies\",\n \"collection.use.info.p1.li3\": \"When you mention us on social media\",\n \"collection.use.info.p2\":\n \"We may collect, hold, use, and disclose information for the following purposes, and personal information will not be further processed in a manner that is incompatible with these purposes:\",\n \"collection.use.info.p2.li1\":\n \"to enable you to access and use our website, associated applications, and associated social media platforms\",\n \"collection.use.info.p3\":\n \"Please be aware that we may combine information we collect about you with general information or research data we receive from other trusted sources.\",\n \"security.your.personal.info\": \"Security of Your Personal Information\",\n \"security.your.personal.info.p1\":\n \"When we collect and process personal information, and while we retain this information, we will protect it within commercially acceptable means to prevent loss and theft, as well as unauthorized access, disclosure, copying, use, or modification.\",\n \"security.your.personal.info.p2\":\n \"Although we will do our best to protect the personal information you provide to us, we advise that no method of electronic transmission or storage is 100% secure, and no one can guarantee absolute data security. We will comply with laws applicable to us in respect of any data breach.\",\n \"security.your.personal.info.p3\":\n \"You are responsible for selecting any password and its overall security strength, ensuring the security of your own information within the bounds of our services.\",\n \"how.log.keep.personal.info\": \"How Long We Keep Your Personal Information\",\n \"how.log.keep.personal.info.p1\":\n \"We keep your personal information only for as long as we need to. This time period may depend on what we are using your information for, in accordance with this privacy policy. If your personal information is no longer required, we will delete it or make it anonymous by removing all details that identify you.\",\n \"how.log.keep.personal.info.p2\":\n \"However, if necessary, we may retain your personal information for our compliance with a legal, accounting, or reporting obligation or for archiving purposes in the public interest, scientific, or historical research purposes or statistical purposes.\",\n \"children.privacy\": \"Children’s Privacy\",\n \"children.privacy.p1\":\n \"We do not aim any of our products or services directly at children under the age of 13, and we do not knowingly collect personal information about children under 13.\",\n \"disclose.personal.info.to.third.party\":\n \"Disclosure of Personal Information to Third Parties\",\n \"disclose.personal.info.to.third.party.p1\":\n \"We may disclose personal information to:\",\n \"disclose.personal.info.to.third.party.p1.li1\":\n \"a parent, subsidiary, or affiliate of our company\",\n \"disclose.personal.info.to.third.party.p1.li2\":\n \"third party service providers for the purpose of enabling them to provide their services, for example, IT service providers, data storage, hosting and server providers, advertisers, or analytics platforms\",\n \"disclose.personal.info.to.third.party.p1.li3\":\n \"our employees, contractors, and/or related entities\",\n \"disclose.personal.info.to.third.party.p1.li4\":\n \"our existing or potential agents or business partners\",\n \"disclose.personal.info.to.third.party.p1.li5\":\n \"sponsors or promoters of any competition, sweepstakes, or promotion we run\",\n \"disclose.personal.info.to.third.party.p1.li6\":\n \"courts, tribunals, regulatory authorities, and law enforcement officers, as required by law, in connection with any actual or prospective legal proceedings, or in order to establish, exercise, or defend our legal rights\",\n \"disclose.personal.info.to.third.party.p1.li7\":\n \"third parties, including agents or sub-contractors, who assist us in providing information, products, services, or direct marketing to you third parties to collect and process data\",\n \"international.transfer.personal.info\":\n \"International Transfers of Personal Information\",\n \"international.transfer.personal.info.p1\":\n \"The personal information we collect is stored and/or processed where we or our partners, affiliates, and third-party providers maintain facilities. Please be aware that the locations to which we store, process, or transfer your personal information may not have the same data protection laws as the country in which you initially provided the information. If we transfer your personal information to third parties in other countries: (i) we will perform those transfers in accordance with the requirements of applicable law; and (ii) we will protect the transferred personal information in accordance with this privacy policy.\",\n \"right.controlling.personal.info\":\n \"Your Rights and Controlling Your Personal Information\",\n \"right.controlling.personal.info.p1\":\n \"You always retain the right to withhold personal information from us, with the understanding that your experience of our website may be affected. We will not discriminate against you for exercising any of your rights over your personal information. If you do provide us with personal information you understand that we will collect, hold, use and disclose it in accordance with this privacy policy. You retain the right to request details of any personal information we hold about you.\",\n \"right.controlling.personal.info.p2\":\n \"If we receive personal information about you from a third party, we will protect it as set out in this privacy policy. If you are a third party providing personal information about somebody else, you represent and warrant that you have such person’s consent to provide the personal information to us.\",\n \"right.controlling.personal.info.p3\":\n \"If you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time. We will provide you with the ability to unsubscribe from our email-database or opt out of communications. Please be aware we may need to request specific information from you to help us confirm your identity.\",\n \"right.controlling.personal.info.p4\":\n \"If you believe that any information we hold about you is inaccurate, out of date, incomplete, irrelevant, or misleading, please contact us using the details provided in this privacy policy. We will take reasonable steps to correct any information found to be inaccurate, incomplete, misleading, or out of date.\",\n \"right.controlling.personal.info.p5\":\n \"If you believe that we have breached a relevant data protection law and wish to make a complaint, please contact us using the details below and provide us with full details of the alleged breach. We will promptly investigate your complaint and respond to you, in writing, setting out the outcome of our investigation and the steps we will take to deal with your complaint. You also have the right to contact a regulatory body or data protection authority in relation to your complaint.\",\n \"use.of.cookies\": \"Use of Cookies\",\n \"use.of.cookies.p1\":\n \"We use “cookies” to collect information about you and your activity across our site. A cookie is a small piece of data that our website stores on your computer, and accesses each time you visit, so we can understand how you use our site. This helps us serve you content based on preferences you have specified.\",\n \"limits.of.policy\": \"Limits of Our Policy\",\n \"limits.of.policy.p1\":\n \"Our website may link to external sites that are not operated by us. Please be aware that we have no control over the content and policies of those sites, and cannot accept responsibility or liability for their respective privacy practices.\",\n \"changes.in.policy\": \"Changes to This Policy\",\n \"changes.in.policy.p1\":\n \"At our discretion, we may change our privacy policy to reflect updates to our business processes, current acceptable practices, or legislative or regulatory changes. If we decide to change this privacy policy, we will post the changes here at the same link by which you are accessing this privacy policy.\",\n \"changes.in.policy.p2\":\n \"If required by law, we will get your permission or give you the opportunity to opt in to or opt out of, as applicable, any new uses of your personal information.\",\n \"contact.us.p1\":\n \"For any questions or concerns regarding your privacy, you may contact us using the following details:\",\n \"zs.legal.team\": \"Zopsmart Legal Team\",\n \"legal.mail\": \"legal@zopsmart.com\",\n};\n\nexport default messages;\n","import \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.promise\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.object.freeze\";\nimport \"core-js/modules/es6.function.name\";\nimport React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { isValidElementType } from 'react-is';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n/* eslint-disable import/prefer-default-export */\n\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\n\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\n\nvar Context = /*#__PURE__*/React.createContext();\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\n\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\n\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\nvar LOADABLE_SHARED = {\n initialChunks: {}\n};\nvar STATUS_PENDING = 'PENDING';\nvar STATUS_RESOLVED = 'RESOLVED';\nvar STATUS_REJECTED = 'REJECTED';\n\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor,\n resolve: function resolve() {\n return undefined;\n },\n chunkName: function chunkName() {\n return undefined;\n }\n };\n }\n\n return ctor;\n}\n\nvar withChunkExtractor = function withChunkExtractor(Component) {\n var LoadableWithChunkExtractor = function LoadableWithChunkExtractor(props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n\n if (Component.displayName) {\n LoadableWithChunkExtractor.displayName = Component.displayName + \"WithChunkExtractor\";\n }\n\n return LoadableWithChunkExtractor;\n};\n\nvar identity = function identity(v) {\n return v;\n};\n\nfunction createLoadable(_ref) {\n var _ref$defaultResolveCo = _ref.defaultResolveComponent,\n defaultResolveComponent = _ref$defaultResolveCo === void 0 ? identity : _ref$defaultResolveCo,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n /**\n * Cachekey represents the component to be loaded\n * if key changes - component has to be reloaded\n * @param props\n * @returns {null|Component}\n */\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n\n return 'static';\n }\n /**\n * Resolves loaded `module` to a specific `Component\n * @param module\n * @param props\n * @param Loadable\n * @returns Component\n */\n\n\n function resolve(module, props, Loadable) {\n var Component = options.resolveComponent ? options.resolveComponent(module, props) : defaultResolveComponent(module);\n\n if (options.resolveComponent && !isValidElementType(Component)) {\n throw new Error(\"resolveComponent returned something that is not a React component!\");\n }\n\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n }\n\n var cachedLoad = function cachedLoad(props) {\n var cacheKey = _getCacheKey(props);\n\n var promise = cache[cacheKey];\n\n if (!promise || promise.status === STATUS_REJECTED) {\n promise = ctor.requireAsync(props);\n promise.status = STATUS_PENDING;\n cache[cacheKey] = promise;\n promise.then(function () {\n promise.status = STATUS_RESOLVED;\n }, function (error) {\n console.error('loadable-components: failed to asynchronously load component', {\n fileName: ctor.resolve(props),\n chunkName: ctor.chunkName(props),\n error: error ? error.message : error\n });\n promise.status = STATUS_REJECTED;\n });\n }\n\n return promise;\n };\n\n var InnerLoadable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n\n return _extends({}, state, {\n cacheKey: cacheKey,\n // change of a key triggers loading state automatically\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n\n function InnerLoadable(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n\n ctor.requireAsync(props)[\"catch\"](function () {\n return null;\n }); // So we can require now the module synchronously\n\n _this.loadSync();\n\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n\n if (options.ssr !== false && ( // is ready - was loaded in this session\n ctor.isReady && ctor.isReady(props) || // is ready - was loaded during SSR process\n ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {\n _this.loadSync();\n }\n\n return _this;\n }\n\n var _proto = InnerLoadable.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true; // retrieve loading promise from a global cache\n\n var cachedPromise = this.getCache(); // if promise exists, but rejected - clear cache\n\n if (cachedPromise && cachedPromise.status === STATUS_REJECTED) {\n this.setCache();\n } // component might be resolved synchronously in the constructor\n\n\n if (this.state.loading) {\n this.loadAsync();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component has to be reloaded on cacheKey change\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.loadAsync();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n }\n /**\n * returns a cache key for the current props\n * @returns {Component|string}\n */\n ;\n\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props);\n }\n /**\n * access the persistent cache\n */\n ;\n\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n }\n /**\n * sets the cache value. If called without value sets it as undefined\n */\n ;\n\n _proto.setCache = function setCache(value) {\n if (value === void 0) {\n value = undefined;\n }\n\n cache[this.getCacheKey()] = value;\n };\n\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n }\n /**\n * Synchronously loads component\n * target module is expected to already exists in the module cache\n * or be capable to resolve synchronously (webpack target=node)\n */\n ;\n\n _proto.loadSync = function loadSync() {\n // load sync is expecting component to be in the \"loading\" state already\n // sounds weird, but loading=true is the initial state of InnerLoadable\n if (!this.state.loading) return;\n\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, this.props, Loadable);\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n console.error('loadable-components: failed to synchronously load component, which expected to be available', {\n fileName: ctor.resolve(this.props),\n chunkName: ctor.chunkName(this.props),\n error: error ? error.message : error\n });\n this.state.error = error;\n }\n }\n /**\n * Asynchronously loads a component.\n */\n ;\n\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n\n var promise = this.resolveAsync();\n promise.then(function (loadedModule) {\n var result = resolve(loadedModule, _this3.props, Loadable);\n\n _this3.safeSetState({\n result: result,\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n return _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n return promise;\n }\n /**\n * Asynchronously resolves(not loads) a component.\n * Note - this function does not change the state\n */\n ;\n\n _proto.resolveAsync = function resolveAsync() {\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n\n return cachedLoad(props);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n\n if (options.suspense) {\n var cachedPromise = this.getCache() || this.loadAsync();\n\n if (cachedPromise.status === STATUS_PENDING) {\n throw this.loadAsync();\n }\n }\n\n if (error) {\n throw error;\n }\n\n var fallback = propFallback || options.fallback || null;\n\n if (loading) {\n return fallback;\n }\n\n return _render({\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n\n return InnerLoadable;\n }(React.Component);\n\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n });\n Loadable.displayName = 'Loadable'; // In future, preload could use ``\n\n Loadable.preload = function (props) {\n Loadable.load(props);\n };\n\n Loadable.load = function (props) {\n return cachedLoad(props);\n };\n\n return Loadable;\n }\n\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\n\nfunction defaultResolveComponent(loadedModule) {\n // eslint-disable-next-line no-underscore-dangle\n return loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n}\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\n\nvar _createLoadable = /*#__PURE__*/createLoadable({\n defaultResolveComponent: defaultResolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n}),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\n\nvar _createLoadable$1 = /*#__PURE__*/createLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n props = _ref.props;\n\n if (props.children) {\n return props.children(result);\n }\n\n return null;\n }\n}),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n/* eslint-disable no-underscore-dangle, camelcase */\n\n\nvar BROWSER = typeof window !== 'undefined';\n\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace,\n _ref$chunkLoadingGlob = _ref.chunkLoadingGlobal,\n chunkLoadingGlobal = _ref$chunkLoadingGlob === void 0 ? '__LOADABLE_LOADED_CHUNKS__' : _ref$chunkLoadingGlob;\n\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n\n var requiredChunks = null;\n\n if (BROWSER) {\n var id = getRequiredChunkKey(namespace);\n var dataElement = document.getElementById(id);\n\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n var extElement = document.getElementById(id + \"_ext\");\n\n if (extElement) {\n var _JSON$parse = JSON.parse(extElement.textContent),\n namedChunks = _JSON$parse.namedChunks;\n\n namedChunks.forEach(function (chunkName) {\n LOADABLE_SHARED.initialChunks[chunkName] = true;\n });\n } else {\n // version mismatch\n throw new Error('loadable-component: @loadable/server does not match @loadable/component');\n }\n }\n }\n\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n\n var resolved = false;\n return new Promise(function (resolve) {\n window[chunkLoadingGlobal] = window[chunkLoadingGlobal] || [];\n var loadedChunks = window[chunkLoadingGlobal];\n var originalPush = loadedChunks.push.bind(loadedChunks);\n\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n }\n }\n }\n\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n\n checkReadyState();\n }).then(done);\n}\n/* eslint-disable no-underscore-dangle */\n\n\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };","import React, { Component } from \"react\";\nimport Helmet from \"react-helmet\";\nimport Link from \"gatsby-link\";\nimport logo from \"./zopsmart-logo-svg.svg\";\nimport \"../pages/style.css\";\nimport zopsmartFavicon from \"../../zopsmart.svg\";\nimport loadable from \"@loadable/component\";\nimport WhitePaperPdf from \"../../ZopSmartWhitePaper.pdf\";\nimport { Message } from \"./../lib/getMessage\";\nconst FooterForm = loadable(() => import(\"../components/footer-form\"));\n\nexport default class extends Component {\n handleWhitePaperClick = () => {\n const newWindow = window.open();\n if (newWindow) {\n newWindow.location.href = WhitePaperPdf;\n } else {\n throw new Error(\n \"Unable to open the document. Please check your browser settings.\"\n );\n }\n };\n\n render() {\n const { showFooterForm, language, direction } = this.props;\n const lang = language ? `/${language}` : \"\";\n const isDirectionRTL = direction === \"rtl\";\n return (\n
\n \n \n {this.props.children}\n
\n
\n
\n {showFooterForm ? (\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 \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 \n \n
  • \n
\n
\n\n {/*
\n

Services

\n
    \n
  • \n \n Accelerating Development Cycles\n \n
  • \n
  • \n \n Microservices Application Environment\n \n
  • \n
  • \n \n Delivery Partner Integration\n \n
  • \n
  • \n Process Scaling\n
  • \n
  • \n Cloud Migration\n
  • \n
\n
*/}\n\n
\n

\n \n

\n
    \n
  • \n \n +91 80411 26521\n \n
  • \n
  • \n \n +44 23820 29871\n \n
  • \n
  • \n \n +1 858 207 6278\n \n
  • \n
  • \n \n info@zopsmart.com\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 {new Date().getFullYear()}\n . \n
\n
\n
\n
\n
\n );\n }\n}\n","var map = {\n\t\"./ar\": \"PbhN\",\n\t\"./ar.js\": \"PbhN\",\n\t\"./en\": \"BQl2\",\n\t\"./en.js\": \"BQl2\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"BtWV\";","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4OCIgaGVpZ2h0PSIxOSIgdmlld0JveD0iMCAwIDg4IDE5Ij4KICAgIDxnIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgb3BhY2l0eT0iLjUiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTMuODQgOS43MjVsLS4wMDUtLjQ3LTEuMjQzLjAxMWMtLjM2NC0uMDMxLS41NDMtLjI3My0uNTM1LS43MjctLjAxNC4wMzctLjAxNC0uNDg2IDAtMS41NjhsLS44OTYtLjQ5N2MtLjE4OC0uMDU2LS4wNzgtLjI1MyAwLS41LjA0Mi0uMTMzLjIwNy0uNTQ0LjQ5NC0xLjIzNmE0LjEyNiA0LjEyNiAwIDAgMS0uMDQtLjU3NEMxLjYxNSAxLjg2NCAzLjUyOSAwIDUuNzEyIDBjMi4xODMgMCA0LjE4MiAxLjg2MiA0LjE4MiA0LjE2MiAwIDEuMzQtLjY2OSAyLjU4OS0xLjY2IDMuMzk4bC4wMDcgMi4xNzYuNTQ2LjAwMmMuMDA3LTEuMjI5LjAxMi0xLjg0NS4wMTUtMS44NDguOTk3LS45MTMgMS42MS0yLjM4IDEuNjM2LTMuODRoLjQ5OXY5LjczNWMwIC45NTYtLjczNSAxLjcyOS0xLjcxOCAxLjczLTEuOTQ4LS40MTgtNS41ODgtLjM5Mi03LjUwMSAwLS44OC4wMDItMS43MTgtLjc3NC0xLjcxOC0xLjczVjQuMDUxbDEuMTM5LS4wMDFjLjAwNC4yMDIuMDE3LjQ3LjAyMy41NzZsLS42NDYgMS42NGMtLjEuMTg5LS4wNzkuMzA0LjA2Ni4zNDhsMS4wMzMuNTczLS4wMDEgMS43MzJjLjA2NC41MS4zMDYuNzgzLjcyNi44MTlsMS4zMzItLjAxNGguMTY4ek01LjM2Mi44NzljLS40MTUgMC0uMjM2LS4wMi0uNTQuMDM1YTEuMjA2IDEuMjA2IDAgMCAwLS44MzkgMS4yMDljLTEuMDk5LjEyLTEuMDM0IDEuODM1LS4wNzcgMS44MzVoMy44MjdjLjg3OSAwIDEuMDU3LTEuNzgxLS4yMjYtMS44MjIuMDctLjc0Ni0uODI3LTEuMjYyLTEuNDE2LS44MDMtLjIyMi0uMjkyLS4zOTctLjM1LS43My0uNDU0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4xMDQgMTQuMzA5djEuMjU3Yy0uNTU0LS4wOS0uOTIzLS4xMDUtMS42NjItLjEwNWgtNS4zMjdjLS44NTIgMC0xLjE2NS4wMTUtMS42Mi4wNDV2LTEuMDYzYy4yODUtLjI4NC41NTQtLjYxMyAxLjAzNy0xLjI3Mmw1LjM4NS03LjQzN2MuMTQyLS4xOC4zMTItLjM4OS41MjUtLjY0M2E5LjggOS44IDAgMCAxLS44NjYuMDQ1aC0zLjg5M2MtLjczOSAwLTEuMTUuMDMtMS42NDguMTA0VjMuOTgzYy40ODMuMDc1LjkxLjEwNSAxLjY0OC4xMDVoNC41ODljLjU4MiAwIDEuMDM3LS4wMTUgMS41OS0uMDQ1djEuMDMzYy0uMjk4LjI5OS0uNTY3LjY0My0xLjAyMiAxLjI3MmwtNS4yNDIgNy4yNDJjLS4xOTkuMjctLjM4NC40OTQtLjY4Mi44NTMuNDgzLS4wMy43NTMtLjAzIDEuMDk0LS4wM2g0LjQzMmMuNjY4IDAgMS4xMzctLjAzIDEuNjYyLS4xMDR6bTQuOTE2IDEuMzQ3Yy0yLjMzIDAtMy44MDgtMS42MzItMy44MDgtNC4yMiAwLTIuNTkgMS40NzgtNC4yMzUgMy43OTMtNC4yMzUgMi4zMTYgMCAzLjc4IDEuNjQ2IDMuNzggNC4yMiAwIDIuNTU5LTEuNDc4IDQuMjM1LTMuNzY1IDQuMjM1em0uMDE0LTcuNTEzYy0xLjY5IDAtMi43MjggMS4yNDItMi43MjggMy4yNjMgMCAyLjAzNSAxLjAzNyAzLjI3NyAyLjcgMy4yNzcgMS42NjIgMCAyLjY4NC0xLjI0MiAyLjY4NC0zLjI2MnMtMS4wMjItMy4yNzgtMi42NTYtMy4yNzh6bTYuNjYzIDEwLjQ2aC0xLjI1Yy4wNy0uNTgzLjA5OS0xLjA2Mi4wOTktMS42NzZ2LTcuODFjMC0uNzItLjAyOS0xLjE1My0uMS0xLjcyMmgxLjEzN3YuODUzYzAgLjE5NS0uMDE0LjM2LS4wNDMuNjE0LjY0LTEuMDYzIDEuNjM0LTEuNjE2IDIuODk4LTEuNjE2IDIuMTg4IDAgMy41MjMgMS41NyAzLjUyMyA0LjE3NSAwIDIuNTQ0LTEuMzYzIDQuMTc1LTMuNDk0IDQuMTc1LTEuMjUgMC0yLjI1OS0uNTU0LTIuOTI3LTEuNTg3LjA0My40Mi4wNTcuNjQ0LjA1NyAxLjA0OHYxLjg1NmMwIC43MDMuMDI5IDEuMTM3LjEgMS42OXptMi42Ny0zLjk4YzEuNTQ5IDAgMi40ODYtMS4yMTIgMi40ODYtMy4yMDIgMC0yLjAzNi0uOTA5LTMuMjAzLTIuNS0zLjIwMy0xLjYzNCAwLTIuNzQyIDEuMjg3LTIuNzQyIDMuMjE4IDAgLjk3Mi4yOTkgMS44Ny44MSAyLjM5NC40OTcuNTA5IDEuMjA4Ljc5MyAxLjk0Ni43OTN6TTQyLjAwMiAxMi4yNDRsMi4wNDYtLjIyNWMuMDU3LjY3NC4xNDIuOTczLjM5OCAxLjMxNy40MTEuNTY5IDEuMTUuODgzIDIuMDc0Ljg4MyAxLjQyIDAgMi4yNzMtLjY3MyAyLjI3My0xLjc5NiAwLS42MTMtLjI3LTEuMTIyLS43MS0xLjM3Ny0uNDI3LS4yMzktLjUxMi0uMjU0LTIuNDczLS43MzMtMS4wNjUtLjI1NC0xLjYzMy0uNDk0LTIuMTQ1LS45MTMtLjcyNC0uNTk4LTEuMDk0LTEuNDIxLTEuMDk0LTIuNDI0IDAtMi4wOCAxLjU5MS0zLjQyNyA0LjAzNS0zLjQyNyAxLjYyIDAgMi44NDEuNTI0IDMuNTM3IDEuNTEyLjM1NS40OTQuNTI2Ljk0Mi42OTYgMS43MzZsLTIuMDMxLjI1NGMtLjA4NS0uNTA5LS4xODUtLjc2My0uNDI2LTEuMDYyLS4zNy0uNDY0LS45OTUtLjcxOS0xLjc3Ni0uNzE5LTEuMjM2IDAtMi4wNzQuNjU5LTIuMDc0IDEuNjMxIDAgLjYyOS4zMTIgMS4wNjMuOTY2IDEuMzYyLjMxMi4xMzUuNDI2LjE2NSAyLjAwMy41MzkgMS4xMjIuMjU0IDEuODA0LjUzOSAyLjMxNi45MTMuODEuNjI4IDEuMTc5IDEuNDUxIDEuMTc5IDIuNTc0IDAgMS4wNjItLjMxMyAxLjkzLS44OTUgMi41NDMtLjc1My43NjQtMS44NzYgMS4xMzgtMy4zOTYgMS4xMzgtMS4xNjUgMC0yLjMwMS0uMy0yLjk4My0uNzc4LS41NjgtLjQwNC0uOTgtLjk3My0xLjI1LTEuNzA2LS4xMjgtLjM0NS0uMTg1LS42MjktLjI3LTEuMjQyem0xMi40MDIgMy40ODZoLTIuMDAzYy4wNzEtLjY0My4xLTEuMTM3LjEtMS45NDVWOS4wODZjMC0uOTQzLS4wMjktMS4zNzctLjEtMS45NDVoMS45MDR2Ljc2M2MwIC4wOSAwIC4zMTQtLjAxNS41NTQuNDEyLS45MTMgMS40NjQtMS40OTcgMi42NDMtMS40OTcuNzY3IDAgMS4zOTIuMjI1IDEuODMyLjY3NC4yNTYuMjM5LjM3LjQzNC41NC44OTcuNDgzLS42NzMuNzUzLS45NDIgMS4xOTMtMS4xODIuNDctLjI3Ljk1Mi0uMzg5IDEuNTkyLS4zODkuOTA5IDAgMS42NDcuMyAyLjEzLjg1My40Ny41MzkuNjY4IDEuMjEyLjY2OCAyLjI3NXYzLjY5NmMwIC44MzguMDI5IDEuMzMyLjExNCAxLjk0NWgtMi4wNzRjLjA4NS0uNjEzLjExMy0xLjA2Mi4xMTMtMS45NDV2LTMuMzUyYzAtMS4zMTctLjQ0LTEuOTE2LTEuMzkyLTEuOTE2LS40NjkgMC0uODI0LjEzNS0xLjE2NS40NS0uNDk3LjQ0OC0uNzI0LjkyNy0uODk1IDEuODU1djIuOTYzYzAgLjgyMy4wMjkgMS4zMzIuMSAxLjk0NWgtMi4wNDZjLjA4NS0uNjI4LjExNC0xLjA5Mi4xMTQtMS45NDV2LTMuMzUyYzAtMS4yNTctLjQ1NS0xLjg4Ni0xLjM3OC0xLjg4Ni0uNTk3IDAtMS4wOC4yNTUtMS40NjQuNzc5LS4zMTIuNDM0LS40NTQuNzc4LS42MSAxLjQ5NnYyLjk2M2MwIC44MDguMDI4IDEuMjU3LjA5OSAxLjk0NXptMTcuNzQzIDB2LS45NzJjLS41NjguNTY4LS45MjMuNzc4LTEuNTA1Ljk0Mi0uNDEyLjEyLS44NjcuMTgtMS4zMjIuMTgtMS43MzMgMC0yLjc4NC0uOTQzLTIuNzg0LTIuNTE0IDAtMS4wNDguNjI1LTEuOTkgMS42MDUtMi40MjQuOTI0LS40MDQgMS45NzUtLjU1NCA0LjAwNi0uNTk5VjkuNThjMC0uODY4LS41NTQtMS4zMTctMS42MzMtMS4zMTctLjU2OCAwLTEuMTUuMTY1LTEuNDc4LjQzNC0uMjcuMjEtLjM5Ny40Mi0uNTY4Ljk1OEw2Ni42NSA5LjMxYy4zMjYtLjg2OC41ODItMS4yNTcgMS4xMjItMS42NjEuNjk2LS41NCAxLjQ5Mi0uNzY0IDIuNzEzLS43NjQgMS4zNjQgMCAyLjE4OC4yNTUgMi43OTkuODgzLjQ4My40OC42NjggMS4wNDguNjY4IDIuMDY1djQuMDI2YzAgLjc5My4wMjggMS4xOTcuMTEzIDEuODdoLTEuOTE4em0wLTMuMzM3di0uNzQ4Yy0yLjcxMy4wNi0zLjc3OC41NTQtMy43NzggMS43MjEgMCAuNzAzLjQ5NyAxLjEzNyAxLjI5MiAxLjEzNy43NTMgMCAxLjQ5Mi0uMjk5IDEuOTc1LS43OTMuMzQxLS4zNTkuNTExLS43OTMuNTExLTEuMzE3em05LjU2MS01LjI1MmwtLjQ5NyAxLjg4NWMtLjU5Ny0uMTgtLjg5NS0uMjQtMS4yNjQtLjI0LS43MSAwLTEuMjUuMjQtMS42NDguNzM0LS4zNTUuNDM0LS40OTcuNzc4LS41ODMgMS40OTd2Mi43NjhjMCAuODA4LjAyOSAxLjI0Mi4xIDEuOTQ1aC0yLjAzMmMuMDcxLS43MzMuMS0xLjE2Ny4xLTEuOTQ1VjkuMDg2YzAtLjkxMy0uMDE1LTEuMzMyLS4xLTEuOTQ1aDEuOTMydjEuNDA2Yy41MTItMS4wNjIgMS4zOTItMS41NyAyLjY3MS0xLjU3LjM0MSAwIC42ODIuMDQ0IDEuMzIxLjE2NHptMS45OS0yLjMwNWgyLjAzYy0uMDU2LjUyNC0uMDk5IDEuMTY3LS4wOTkgMS44NHYuNDY1aC41OTdjLjY2NyAwIC45OC0uMDE1IDEuNDM1LS4wOXYxLjc2NmMtLjQ3LS4wNzUtLjc0LS4wOS0xLjM5My0uMDloLS42Mzl2NC42MzljMCAuNzMzLjI1NiAxLjAwMy45MzggMS4wMDMuMzcgMCAuNTk2LS4wNzUgMS4wMzctLjMzbC4yNTUgMS41ODdjLS42MS4yMzktMS4wMzcuMzE0LTEuNzc1LjMxNC0xLjYzNCAwLTIuMjg3LS42MTQtMi4yODctMi4xODVWOC43MjdoLS41NGMtLjUyNiAwLS43OTYuMDE1LTEuMjY1LjA5VjcuMDVjLjQxMi4wNzUuNjgyLjA5IDEuMjc5LjA5aC41MjZ2LS40NjRjMC0uNjQ0LS4wNDMtMS4zMDItLjEtMS44NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==\"","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","const supportedLanguages = ['en', 'ar']\n\nmodule.exports = supportedLanguages\n","require(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\n//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","import React from \"react\";\n\nconst LanguageIcon = () => {\n return (\n \n Language icon\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default LanguageIcon;\n","import React, { Component } from \"react\";\nimport Link from \"gatsby-link\";\nimport logo from \"./zopsmart-final-logo.svg\";\nimport zopsmartLogo from \"./zopsmart-logo.svg\";\nimport \"./header.css\";\nimport { navigate } from \"gatsby\";\nimport LanguageIcon from \"./LanguageIcon\";\nimport Tick from \"./tick.webp\";\nimport { Message } from \"../lib/getMessage\";\n\nexport default class Header extends Component {\n constructor(props) {\n super(props);\n this.state = {\n expanded: false,\n };\n this.handleClick = this.handleClick.bind(this);\n this.toggle = this.toggle.bind(this);\n this.hide = this.hide.bind(this);\n }\n componentDidMount() {\n window.addEventListener(\"click\", this.handleClick);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"click\", this.handleClick);\n }\n\n toggle() {\n this.setState(\n (prevState) => {\n return {\n expanded: !this.state.expanded,\n };\n },\n () => {\n document.body.style.overflow = this.state.expanded ? \"hidden\" : \"auto\";\n }\n );\n }\n\n hide() {\n this.setState({\n expanded: false,\n });\n document.body.style.overflow = \"auto\";\n }\n\n handleClickNavigate = (event, lang) => {\n event.preventDefault();\n navigate(`${lang}/about`); // Navigate to the desired path\n };\n\n handleClick(e) {\n if (this.toggleRef.contains(e.target)) {\n this.toggle();\n } else {\n this.hide();\n }\n }\n render() {\n let { current, eazy, language, updateLanguage } = this.props;\n const lang = language ? `/${language}` : \"\";\n const { expanded } = this.state;\n let image = eazy ? logo : zopsmartLogo;\n\n const allLanguages = [\n { code: \"en\", name: \"English\" },\n { code: \"ar\", name: \"عربي\" },\n ];\n const isRTL = language === \"ar\";\n return (\n
\n
\n
\n \n \n \n
\n {\n this.toggleRef = node;\n }}\n >\n \n \n \n
\n \n
\n
\n \n
\n );\n }\n}\n","const messages = {\n // steps\n step1: \"الخطوة 1\",\n step2: \"الخطوة 2\",\n step3: \"الخطوة 3\",\n\n // products website and mobile apps\n products: \"المنتجات\",\n \"products.description\":\n \"أفضل برمجيات التجارة الإلكترونية في العالم للعلامات التجارية والتجار. توصيل خلال ساعات بأقل تكلفة باستخدام شبكتك التجزئة الحالية\",\n \"products.eazy\": \"سمارتستور إيزي\",\n \"products.enterprise\": \"المتجر الذكي المؤسسي\",\n \"products.productfinder.heading1\": \"متجر كبير\",\n \"products.productfinder.heading2\": \"محدد المنتجات الذكي\",\n \"products.productfinder.description\":\n \"هل تمتلك متجر بقالة كبير أو متجر إداري؟ ساعد عملائك على التنقل في متجرك والعثور على ما يبحثون عنه بسهولة.\",\n \"products.zoppay.heading1\": \"بوابة الدفع\",\n \"products.zoppay.heading2\": \"بوابة الدفع الذكية\",\n \"products.zoppay.description\":\n \"دمج خطوة واحدة لقبول المدفوعات عبر الإنترنت من البوابات التي تختارها.\",\n \"products.intellipos.heading1\": \"متجر مستدام ذاتي الاستمرار\",\n \"products.intellipos.heading2\": \"نقطة البيع الذكية\",\n \"products.intellipos.description\":\n \"نظام نقاط البيع الذكي الذي يسمح للمستخدم والمشغل بالتشغيل واستخدام النظام بشكل متزامن مع معلومات مكملة على الشاشتين المزدوجتين.\",\n \"products.groceryexpress.heading1\": \"جهاز الإنترنت من الأشياء\",\n \"products.groceryexpress.heading2\": \"غروسري اكسبريس\",\n \"products.groceryexpress.description\":\n \"أحد أنواعه. جهاز طلب IOT متعدد الوحدات الذي يتصل بحساب ZopNow ويسمح للمستخدم بالطلب من باب الثلاجة أو أي سطح آخر على هذا النحو.\",\n\n // products website and mobile apps\n \"products.websiteandmobileapps.title\": \"موقع الويب والتطبيقات المحمولة\",\n \"products.websiteandmobileapps.websiteService.item1\":\n \"يمكن توصيل حلنا الأمامي عبر أجهزة الكمبيوتر الشخصية والهواتف المحمولة (Android و iOS)، في غضون أسابيع، لتوفير تجربة موحدة للعملاء.\",\n \"products.websiteandmobileapps.websiteService.item2\":\n 'مع \"سلة في السحابة\"، يمكن لجميع أفراد الأسرة إضافة إلى \"سلة الأسرة\" من أجهزتهم الخاصة في أي وقت،',\n \"products.websiteandmobileapps.languageservice.description\":\n \"السماح بسهولة للعملاء بالتبديل بين اللغات (دون التأثير على نظام ERP الخاص بك). مثالي للبائعين الذين يخدمون مجتمعات مختلفة (محلية وأجانب).\",\n\n // products marketing\n \"products.marketing.title\": \"التسويق\",\n \"products.marketing.personalisation.heading\": \"التخصيص\",\n \"products.marketing.personalisation.item1\":\n 'يتم عرض نتائج فريدة، استنادًا إلى نشاط الشراء الفردي، لكل من \"البحث\" و \"الاستبدال\".',\n \"products.marketing.personalisation.item2\":\n 'إذا طلب العميل منتجًا كان لديه مشاكل في التنفيذ مؤخرًا، فإن نظامنا يقترح بشكل نشط بدائل \"شخصية\" مؤكدة مسبقًا كبديل مفضل.',\n \"products.marketing.recommendation.heading\": \"التوصية\",\n \"products.marketing.recommendation.description\":\n \"تستفيد خوارزمياتنا الخاصة من مجموعة متنوعة من المتغيرات بما في ذلك تاريخ التسوق، والتكرار، والحدث الأخير وما إلى ذلك للتأثير بشكل متقن على سلوك المستهلكين استنادًا إلى آلاف المستهلكين المماثلين. تم تطوير خوارزمياتنا من قبل نفس الفريق الذي يدير محركات التخصيص والتوصية في أمازون. يمكن دمج هذه المحركات مع حل الأمامي الحالي الخاص بك.\",\n \"products.marketing.promotion.heading\": \"حملات الترويج\",\n \"products.marketing.promotion.description\":\n \"نقسم قاعدة العملاء في الوقت الحقيقي، استنادًا إلى عدة معلمات تجمع بين أفعال واحتياجات المستهلك مع موقعهم لتحديد القسائم / العروض الأكثر وعدًا.\",\n \"products.marketing.loyalty.heading\": \"الولاء\",\n \"products.marketing.loyalty.description\":\n \"يمكن توصيلها عبر أماكن متعددة كجزء من برنامج ولاء يديره ZopSmart أو دمجها مع المسؤول الحالي الخاص بك.\",\n\n // products opertation and management page\n \"products.operationsmanagement.title\": \" إدارة العمليات\",\n \"products.operationsmanagement.heading\": \"تخصيص وتتبع الطلبات\",\n \"products.operationsmanagement.item1\":\n \"تخصيص الطلبات عبر الإنترنت تلقائيًا للمتاجر وأفراد العمل الفردية.\",\n \"products.operationsmanagement.item2\":\n \"تتبع الحالة الحية لجميع الطلبات الفعالة في الوقت الحقيقي.\",\n \"products.operationsmanagement.planning.heading\": \"التخطيط\",\n \"products.operationsmanagement.planning.description\":\n \"تطبيق جوال يعرض لفرد الموظف الطريقة المثلى لاختيار العناصر مع موازنة الوقت ومتطلبات التعبئة.\",\n \"products.operationsmanagement.picking.heading\":\n \"الاختيار والمسح في الوقت الفعلي\",\n \"products.operationsmanagement.picking.description\":\n \"يقوم فرد الموظف بالاختيار والمسح في الوقت الفعلي:\",\n \"products.operationsmanagement.picking.item1\":\n \"تعلم من الأخطاء في الاختيار التي تُعلم ف\",\n \"products.operationsmanagement.picking.item2\":\n \"الإيصال يتم بناؤه أثناء الطريق، يتم توجيه فرد الموظف بالاستبدالات، مما يلغي الحاجة إلى مكالمات العملاء.\",\n \"products.operationsmanagement.packing.heading\": \"لتعبئة\",\n \"products.operationsmanagement.packing.description\":\n \"يتلقى فرد الموظف تعليمات واضحة حول كيفية التعبئة (أي العناصر في أي صندوق) ومكان التخزين.\",\n \"products.operationsmanagement.selfupdatedesc.heading\":\n \"تحديثات الرف في الوقت الفعلي\",\n \"products.operationsmanagement.selfupdatedesc.item1\":\n \"أثناء اختيار الموظفين من الرفوف، يمكن تصعيد أي عناصر نفاد المخزون في الوقت الفعلي عبر تطبيقهم المحمول.\",\n \"products.operationsmanagement.selfupdatedesc.item2\":\n \"إذا كان المخزون في الخلف، يمكن ملء الرفوف في وقت أكثر توازنًا.\",\n\n // products scan and go page\n \"products.scanandgo.title\": \"أمسح وأنطلق\",\n \"products.scanandgo.scansteps.heading\": \"سهل الاستخدام\",\n \"products.scanandgo.scansteps.step1\":\n \"يقوم العميل بتشغيل التطبيق و(التمكين من GPS ”التسجيل الداخلي“)،\",\n \"products.scanandgo.scansteps.step2\":\n \"العميل يمسح ويضع العناصر على هاتفه أثناء تنقله.\",\n \"products.scanandgo.scansteps.step3\":\n \"العميل يدفع داخل التطبيق ويتحقق من الإيصال الإلكتروني.\",\n\n // products logistic page\n \"products.logistics.title\": \"اللوجستيات\",\n \"products.logistics.booking.description\": \"الحجز\",\n \"products.logistics.booking.item1\": \"يختار العميل الفتحة المفضلة.\",\n \"products.logistics.booking.item2\":\n \"الحوافز المقدمة للتأثير على اختيار فترات الوقت.\",\n \"products.logistics.booking.item3\": \"توفير نافذة تسليم للعميل لمدة 30 دقيقة.\",\n \"products.logistics.planning.description\": \"التخطيط\",\n \"products.logistics.planning.item1\": \"تجميع ديناميكي للطلبات.\",\n \"products.logistics.planning.item2\": \"استهلاك 100% من الطاقة المتاحة كهدف.\",\n \"products.logistics.planning.item3\": \"اقتراح مسار لأقصر وقت للعودة.\",\n \"products.logistics.delivery.description\": \"تحسين التسليم\",\n \"products.logistics.delivery.item1\": \"تعيين تلقائي للمركبة وسائق التوصيل.\",\n \"products.logistics.delivery.item2\": \"يعرض الخريطة المتكاملة المسار.\",\n \"products.logistics.delivery.item3\": \"إرجاع المنتجات في المكان.\",\n \"products.logistics.delivery.item4\": \"حساب محكم للمرتجعات.\",\n \"products.logistics.tracking.description\": \"تتبع\",\n \"products.logistics.tracking.item1\":\n \"مراقبة المسار للعميل والمدير على حد سواء.\",\n \"products.logistics.tracking.item2\": \"إرسال تنبيهات للعميل بشكل نشط.\",\n\n // products click and collect page\n \"products.collectandgo.title\": \"أطلب و استلم \",\n \"products.collectandgo.booking.description\": \"الحجز\",\n \"products.collectandgo.booking.item1\": \"يقوم العميل بتقديم الطلب.\",\n \"products.collectandgo.booking.item2\": \"تحديد وقت الاستلام.\",\n \"products.collectandgo.booking.item3\": \"خيار إضافة الطلب إلى الخرائط.\",\n \"products.collectandgo.trackingandnotification.description\": \"تتبع وإشعارات\",\n \"products.collectandgo.trackingandnotification.item1\":\n \"يمكن للعميل إدارة الطلب وتتبع حالته من خلال تطبيق.\",\n \"products.collectandgo.trackingandnotification.item2\":\n \"تلقي إشعار بمجرد جاهزية الطلب.\",\n \"products.collectandgo.drivetostore.description\": \"القيادة إلى المتجر\",\n \"products.collectandgo.drivetostore.item1\":\n \"استخدام تطبيق الخرائط للتنقل إلى المتجر.\",\n \"products.collectandgo.drivetostore.item2\":\n \"مشاركة وقت الوصول مع المتجر أثناء السفر (تحديث في الوقت الحقيقي).\",\n \"products.collectandgo.collectgoods.description\": \"استلام البضائع\",\n \"products.collectandgo.collectgoods.item1\": \"تأكيد الوصول عبر التطبيق.\",\n \"products.collectandgo.collectgoods.item2\": \"تأكيد نقطة الاستلام.\",\n \"products.collectandgo.collectgoods.item3\": \"يتلقى العميل التسليم.\",\n\n // products analytics\n \"products.analytics.title\": \"التحليلات\",\n \"products.analytics.newproduct.heading\": \"منتج جديد\",\n \"products.analytics.newproduct.description1\":\n \"استخدم تحليلات البيانات لتحديد الفرص لزيادة المبيعات من خلال المنتجات الجديدة / مجموعات المنتجات.\",\n \"products.analytics.newproduct.description2\":\n \"على سبيل المثال: إذا كانت مبيعات منتج معين منخفضة في متجر معين، فاستكشاف ما إذا كانت المجتمعات (بالقرب من المتجر) على الارجح ستتفاعل مع علامة تجارية مختلفة.\",\n \"products.analytics.workforcemanagement.heading\": \"إدارة القوى العاملة\",\n \"products.analytics.workforcemanagement.description1\":\n \"تتبع مؤشرات الأداء الرئيسية الخاصة بالدور على مستوى الموظفين والمتجر لتقديم فرص التدريب والحوافز.\",\n \"products.analytics.workforcemanagement.description2\":\n \"على سبيل المثال: وقت اختيار معين لوحدة البيع; عدد المنتجات التالفة بواسطة سائق التوصيل; الفاقد في المتجر.\",\n \"products.analytics.skueconomics.heading\": \"اقتصاديات مستوى وحدة البيع (SKU)\",\n \"products.analytics.skueconomics.description1\":\n \"رؤى حول جميع عوامل التكلفة لوحدة بيع معينة لتحديد استراتيجية التسعير.\",\n \"products.analytics.skueconomics.description2\":\n \"على سبيل المثال: من خلال فهم بعض المنتجات التي تتطلب المزيد من الوقت للاختيار، قد نقرر زيادة السعر لتعويض ذلك.\",\n\n // products customerSupport\n \"products.customersupport.title\": \"دعم العملاء\",\n \"products.customersupport.selfhelp.heading\":\n \"تمكين العملاء من الخدمة الذاتية:\",\n \"products.customersupport.selfhelp.item1\": \"تغيير الطلبات / أوقات التسليم\",\n \"products.customersupport.selfhelp.item2\": \"الإبلاغ عن مشاكل مع الطلب\",\n \"products.customersupport.selfhelp.item3\": \"تغيير تفاصيل الاتصال\",\n \"products.customersupport.selfhelp.item4\": \"التحقق من الحالة\",\n \"products.customersupport.supportstaff.heading\":\n \"تدعمها أدوات قوية لموظفي الدعم:\",\n \"products.customersupport.workflowmanagement.heading\":\n \"إدارة سير العمل لموظفي مركز الاتصال\",\n \"products.customersupport.workflowmanagement.item1\":\n \"توجيه المكالمات / البريد الإلكتروني تلقائيًا إلى فرق محددة\",\n \"products.customersupport.workflowmanagement.item2\":\n \"إعادة ربط العملاء بنفس الموظف لتوفير الاستمرارية\",\n \"products.customersupport.workflowmanagement.item3\":\n \"الوصول الفوري إلى تفاصيل العميل\",\n \"products.customersupport.disputemanagement.heading\": \"إدارة النزاعات\",\n \"products.customersupport.disputemanagement.description\":\n \"نظام إدارة النزاعات القائم على القواعد، يوفر مسارات حلول مختلفة لفئات العملاء المختلفة (على سبيل المثال، عملاء الذهب مقابل عملاء الفضة).\",\n \"products.customersupport.notifications.heading\": \"الإشعارات\",\n \"products.customersupport.notifications.description\":\n 'القدرة على إخطار مجموعات فرعية من العملاء (على سبيل المثال، \"التأخير في التسليم بسبب تعطل السيارة\" يتم إرسالها إلى جميع العملاء المتأثرين).',\n\n // products footer\n \"products.footer.heading\": \"هل تحتاج إلى مزيد من المعلومات؟\",\n \"products.footer.description\":\n \"فقط اترك تفاصيل اتصالك أدناه وسيتصل بك خبير التجارة الإلكترونية لدينا في أقرب وقت ممكن.\",\n \"products.footer.fullname\": \"الاسم الكامل\",\n \"products.footer.mobilenumber\": \"رقم الهاتف المحمول\",\n \"products.footer.emailaddress\": \"البريد الإلكتروني\",\n \"products.footer.message\": \"رسالة\",\n \"products.footer.tellmemore\": \"أخبرني أكثر\",\n\n // services\n services: \"الخدمات\",\n \"services.acceleratingdevelopmentcycles\": \"تسريع دورات التطوير\",\n \"services.microservicesapplicationenvironment\": \"بيئة تطبيقات الميكروخدمات\",\n \"services.deliverypartnerintegration\": \"تكامل شريك التسليم\",\n \"services.processscaling\": \"توسيع العمليات\",\n \"services.cloudmigration\": \"ترحيل السحابة\",\n\n //services accelrating development cycles\n \"services.acceleratingdevelopmentcycles.title\": \"تسريع دورات التطوير:\",\n \"services.acceleratingdevelopmentcycles.devdesc.description1\":\n \"كان كل فريق تطوير لدى عملائنا مسؤولًا عن تنفيذ المكونات الأساسية وفقًا للإرشادات.\",\n \"services.acceleratingdevelopmentcycles.devdesc.description2\":\n \"المشكلات الملحوظة التي نشأت هي عدم تبني متسق للإرشادات، والتغييرات التي تحتاج إلى تكرار المكونات عبر جميع الأنظمة.\",\n \"services.acceleratingdevelopmentcycles.devdesc.description3\":\n \"على مدى 6 - 8 أسابيع، نفذت ZopSmart إطارًا مركزيًا ومكتبة تُدعى حسب الحاجة.\",\n \"services.acceleratingdevelopmentcycles.steps.step1\": \"فريق التطوير 1\",\n \"services.acceleratingdevelopmentcycles.steps.step2\": \"فريق التطوير 2\",\n \"services.acceleratingdevelopmentcycles.steps.step3\": \"فريق التطوير 3\",\n\n //services mcroservices application environment\n \"services.microservicesapplicationenvironment.title\":\n \"بيئة تطبيقات الميكروخدمات\",\n \"services.microservicesapplicationenvironment.servicesegment.description1\":\n \"أراد عميلنا تبسيط كيفية إعادة استخدام الكود داخل الأنظمة القائمة بالفعل وكذلك تقليل النطاق المحتمل للمخاطر الناشئة عن تغييرات الكود.\",\n \"services.microservicesapplicationenvironment.servicesegment.description2\":\n \"على مدى حوالي 6 أشهر، قامت ZopSmart بإعادة هيكلة الأنظمة التقليدية وتحويل الأنظمة التقليدية الضخمة إلى سلسلة من الخدمات الصغيرة المستدعاة.\",\n \"services.microservicesapplicationenvironment.servicesegment.description3\":\n \"نتيجة لذلك، رأى العميل تقليلًا في أوقات التطوير الجديدة تصل إلى 30٪.\",\n \"services.microservicesapplicationenvironment.monolithic\":\n \"أنظمة الإرث الضخمة\",\n \"services.microservicesapplicationenvironment.microservices\":\n \"الخدمات الصغيرة\",\n\n // services delivery partner integration\n \"services.deliverypartnerintegration.title\": \"تكامل شريك التسليم\",\n \"services.deliverypartnerintegration.description1\":\n \"كان لدى عميلنا تنفيذ التكاملات مع شركاء التسليم (إنستاكارت، شيبت إلخ) على حالة بحالة، مما أدى إلى تكامل غير فعال وتدفق معلومات غير متسق (على سبيل المثال، تكرار تحديثات المخزون / الأسعار تختلف حسب الشريك).\",\n \"services.deliverypartnerintegration.description2\":\n 'قامت ZopSmart بإنشاء \"طبقة التكامل الشريك\" المشتركة (تم توفيرها في أقل من 3 أشهر) وهاجرت جميع الشركاء القائمين بالفعل إلى الإطار الجديد.',\n \"services.deliverypartnerintegration.header.title\":\n \"التكامل مع الشريك حسب الحاجة\",\n \"services.deliverypartnerintegration.header.title2\": \"طبقة التكامل الشريك\",\n\n // services cloud migration\n \"services.cloudmigration.title\": \"تحول السحابة\",\n \"services.cloudmigration.description1\":\n \"عميلنا في رحلة متعددة السنوات لنقل جميع الأنظمة من المواقع إلى السحابة حيث يسعى إلى تقليل التكاليف وتسريع دورات التطوير من خلال:\",\n \"services.cloudmigration.description.item1\": \"سعة تخزين مرنة\",\n \"services.cloudmigration.description.item2\": \"سعة حسابية مرنة\",\n \"services.cloudmigration.description.item3\":\n \"الوصول السهل إلى مجموعة واسعة من أدوات التطوير والأمان الأصلية للسحابة\",\n \"services.cloudmigration.description2\":\n \"بفهمنا العميق لكل من التقنية السحابية وأنظمة التجزئة التكنولوجية، تم اختيار ZopSmart للشراكة مع فريق التطوير الداخلي في التخطيط وتنفيذ مشاريع الهجرة.\",\n \"services.cloudmigration.trustedpartner.heading\": \"شريك موثوق ل\",\n \"services.cloudmigration.trustedpartner.description1\":\n \"تحديد وترتيب متطلبات الهجرة\",\n \"services.cloudmigration.trustedpartner.description2\":\n \"اختيار بيئة السحابة المستهدفة\",\n \"services.cloudmigration.trustedpartner.description3\": \"تخطيط الهجرة\",\n \"services.cloudmigration.trustedpartner.description4\":\n \"تنفيذ الهجرة وصيانة بيئة السحابة\",\n\n // privacy policy\n \"privacy.policy.p1\":\n \"يعتبر احترام خصوصيتك أمرًا مهمًا بالنسبة لنا في Zopsmart، ويعد سياسة Zopsmart احترام خصوصيتك والامتثال لأي قانون أو تنظيم قابل للتطبيق فيما يتعلق بأي معلومات شخصية قد نجمعها عنك، بما في ذلك عبر موقعنا على الويب، ومواقع أخرى نمتلكها ونديرها.\",\n \"privacy.policy.p2\":\n \"تعتبر هذه السياسة سارية المفعول اعتبارًا من 25 يونيو 2021 وتم تحديثها لآخر مرة في 25 يونيو 2021.\",\n \"info.we.collect\": \"المعلومات التي نجمعها\",\n \"info.we.collect.p1\":\n \"المعلومات التي نجمعها تشمل المعلومات التي تقدمها بنفسك عن علم وبنشاط لنا عند استخدام أو المشاركة في أي من خدماتنا وعروضنا، وأي معلومات يتم إرسالها تلقائيًا من أجهزتك أثناء الوصول إلى منتجاتنا وخدماتنا.\",\n \"log.data\": \"بيانات السجل\",\n \"log.data.p1\":\n \"عند زيارتك لموقعنا على الويب، قد تسجل خوادمنا تلقائيًا البيانات القياسية التي تقدمها متصفح الويب الخاص بك. قد تشمل عنوان بروتوكول الإنترنت (IP) لجهازك، ونوع وإصدار متصفحك، والصفحات التي تزورها، وتاريخ ووقت زيارتك، والوقت الذي قضيته في كل صفحة، وتفاصيل أخرى حول زيارتك، والتفاصيل التقنية التي تحدث بالتزامن مع أي أخطاء قد تواجهها.\",\n \"log.data.p2\":\n \"يرجى أن تكون على علم بأنه في حين أن هذه المعلومات قد لا تكون معرفة بطريقة شخصية بمفردها، فقد يكون من الممكن دمجها مع بيانات أخرى لتحديد هوية الأشخاص الفردية.\",\n \"personal.info\": \"المعلومات الشخصية\",\n \"personal.info.p1\": \"قد نطلب معلومات شخصية قد تشمل واحدة أو أكثر من ما يلي:\",\n \"personal.info.p1.li1\": \"الاسم\",\n \"personal.info.p1.li2\": \"البريد الإلكتروني\",\n \"personal.info.p1.li3\": \"ملفات الوسائط الاجتماعية\",\n \"reasons.for.processing.personal.info\":\n \"أسباب مشروعة لمعالجة معلوماتك الشخصية\",\n \"reasons.for.processing.personal.info.p1\":\n \"نقوم بجمع واستخدام معلوماتك الشخصية فقط عندما نكون لدينا سبب مشروع للقيام بذلك. في هذه الحالة، نقوم بجمع معلومات شخصية لا تزيد على ما هو ضروري بشكل معقول لتقديم خدماتنا لك.\",\n \"collection.use.info\": \"جمع واستخدام المعلومات\",\n \"collection.use.info.p1\":\n \"قد نقوم بجمع معلومات شخصية منك عندما تقوم بأي من الإجراءات التالية على موقعنا على الويب:\",\n \"collection.use.info.p1.li1\":\n \"استخدام جهاز محمول أو متصفح ويب للوصول إلى محتوانا.\",\n \"collection.use.info.p1.li2\":\n \"الاتصال بنا عبر البريد الإلكتروني، وسائل التواصل الاجتماعي، أو أي تقنيات مماثلة.\",\n \"collection.use.info.p1.li3\": \"عندما تذكرنا على وسائل التواصل الاجتماعي.\",\n \"collection.use.info.p2\":\n \"نقوم بجمع واحتجاز واستخدام وكشف المعلومات لأغراض الاتصال التالية، ولن يتم معالجة المعلومات الشخصية بشكل أكبر من ذلك وفقًا لهذه الأغراض:\",\n \"collection.use.info.p2.li1\":\n \"لتمكينك من الوصول إلى موقعنا على الويب وتطبيقاته المرتبطة ومنصات وسائل التواصل الاجتماعي المرتبطة.\",\n \"collection.use.info.p3\":\n \"يرجى ملاحظة أنه قد نقوم بدمج المعلومات التي نجمعها عنك مع معلومات عامة أو بيانات بحثية نتلقاها من مصادر أخرى موثوقة.\",\n \"security.your.personal.info\": \"أمان معلوماتك الشخصية:\",\n \"security.your.personal.info.p1\":\n \"عند جمع ومعالجة المعلومات الشخصية، وأثناء الاحتفاظ بها، سنحميها بالوسائل المقبولة تجاريًا لمنع الفقدان والسرقة، وكذلك الوصول غير المصرح به، والكشف، والنسخ، والاستخدام، أو التعديل.\",\n \"security.your.personal.info.p2\":\n \"على الرغم من أننا سنبذل قصارى جهدنا لحماية المعلومات الشخصية التي تقدمها لنا، إلا أننا ننصح بأنه لا يمكن ضمان أمان البيانات بنسبة 100% عبر الإرسال الإلكتروني أو التخزين الإلكتروني، ولا يمكن لأحد أن يضمن الأمان الكامل للبيانات. سنلتزم بالقوانين القابلة للتطبيق علينا فيما يتعلق بأي انتهاك للبيانات.\",\n \"security.your.personal.info.p3\":\n \"أنت مسؤول عن اختيار أي كلمة مرور وقوة أمانها العامة، وضمان أمان معلوماتك الخاصة ضمن حدود خدماتنا.\",\n \"how.log.keep.personal.info\": \"مدة الاحتفاظ بمعلوماتك الشخصية:\",\n \"how.log.keep.personal.info.p1\":\n \"نحتفظ بمعلوماتك الشخصية فقط لما نحتاج إليه. قد تعتمد هذه الفترة على الأغراض التي نستخدم فيها معلوماتك، وفقًا لسياسة الخصوصية هذه. إذا لم تعد معلوماتك الشخصية مطلوبة، فسنقوم بحذفها أو جعله\",\n \"how.log.keep.personal.info.p2\":\n \"ومع ذلك، في حال الضرورة، قد نحتفظ بمعلوماتك الشخصية للامتثال لالتزام قانوني أو محاسبي أو تقريري، أو لأغراض الأرشفة في مصلحة عامة، أو لأغراض البحث العلمي أو التاريخي، أو لأغراض الإحصائيات.\",\n \"children.privacy\": \"خصوصية الأطفال:\",\n \"children.privacy.p1\":\n \"لا نستهدف أي من منتجاتنا أو خدماتنا مباشرة للأطفال دون سن الثالثة عشرة، ولا نقوم بجمع معلومات شخصية عن الأطفال دون سن الثالثة عشرة بشكل معرف، ونعمل على ضمان حماية خصوصية الأطفال بما يتوافق مع القوانين ذات الصلة.\",\n \"disclose.personal.info.to.third.party\":\n \"كشف المعلومات الشخصية لأطراف ثالثة:\",\n \"disclose.personal.info.to.third.party.p1\":\n \"قد نكشف المعلومات الشخصية للأطراف الثالثة، وذلك على سبيل المثال لا الحصر:\",\n \"disclose.personal.info.to.third.party.p1.li1\":\n \"الشركات الأم، والشركات التابعة، أو الشركات التابعة لنا.\",\n \"disclose.personal.info.to.third.party.p1.li2\":\n \"مقدمي الخدمات الطرفية لأغراض تمكينهم من تقديم خدماتهم، مثل مقدمي خدمات تكنولوجيا المعلومات، وتخزين البيانات، واستضافة المواقع وخوادمها، والمعلنين، أو منصات التحليلات.\",\n \"disclose.personal.info.to.third.party.p1.li3\":\n \"موظفينا، ومقاولينا، و/أو الجهات أو الكيانات ذات الصلة.\",\n \"disclose.personal.info.to.third.party.p1.li4\":\n \"وكلاءنا الحاليين أو المحتملين أو شركاء الأعمال.\",\n \"disclose.personal.info.to.third.party.p1.li5\":\n \"رعات أو مروجي أي مسابقة أو جائزة، أو ترويج نقوم به،\",\n \"disclose.personal.info.to.third.party.p1.li6\":\n \"المحاكم والمحاكم والسلطات التنظيمية وضباط إنفاذ القانون، حسب الاقتضاء من القانون، فيما يتعلق بأي إجراءات قانونية فعلية أو محتملة، أو لتأسيس أو ممارسة أو الدفاع عن حقوقنا القانونية،\",\n \"disclose.personal.info.to.third.party.p1.li7\":\n \"الأطراف الثالثة، بما في ذلك الوكلاء أو المقاولين الفرعيين، الذين يساعدوننا في تقديم المعلومات أو المنتجات أو الخدمات أو التسويق المباشر لك، الأطراف الثالثة لجمع ومعالجة البيانات،\",\n \"international.transfer.personal.info\":\n \"التحويلات الدولية للمعلومات الشخصية،\",\n \"international.transfer.personal.info.p1\":\n \"تُخزن المعلومات الشخصية التي نجمعها و/أو نعالجها في الأماكن التي نحن أو شركاؤنا أو شركاتنا التابعة ومقدمي الخدمات الطرف الثالث يحتفظون بها أو يعالجونها فيها. يرجى أن تكون على علم بأن المواقع التي نخزن أو نعالج أو ننقل فيها معلوماتك الشخصية قد لا تكون لديها نفس قوانين حماية البيانات مثل البلد الذي قدمت فيه المعلومات في البداية. إذا قمنا بنقل معلوماتك الشخصية إلى أطراف ثالثة في بلدان أخرى: (i) سنقوم بتنفيذ تلك التحويلات وفقًا لمتطلبات القانون المعمول به؛ و (ii) سنحمي المعلومات الشخصية المحولة وفقًا لهذه السياسة الخاصة بالخصوصية.\",\n \"right.controlling.personal.info\": \"حقوقك والتحكم في معلوماتك الشخصية\",\n \"right.controlling.personal.info.p1\":\n \"دائمًا ما تحتفظ بالحق في عدم تقديم المعلومات الشخصية لنا، مع فهمك أن تجربتك على موقعنا قد تتأثر. لن نميز ضدك لممارسة أي من حقوقك فيما يتعلق بمعلوماتك الشخصية. إذا قمت بتقديم معلومات شخصية لنا، فإنك تفهم أننا سوف نجمعها ونحتفظ بها ونستخدمها ونكشف عنها وفقًا لهذه السياسة الخاصة بالخصوصية. تحتفظ بالحق في طلب تفاصيل أي معلومات شخصية نحتفظ بها عنك.\",\n \"right.controlling.personal.info.p2\":\n \"إذا تلقينا معلومات شخصية عنك من طرف ثالث، سنحميها كما هو محدد في هذه السياسة الخاصة بالخصوصية. إذا كنت طرفًا ثالثًا تقدم معلومات شخصية عن شخص آخر، فإنك تمثل وتضمن أنك تحصلت على موافقة هذا الشخص لتقديم المعلومات الشخصية لنا.\",\n \"right.controlling.personal.info.p3\":\n \"إذا وافقت سابقًا على استخدام معلوماتك الشخصية لأغراض التسويق المباشر من قبلنا، يمكنك تغيير رأيك في أي وقت. سنوفر لك القدرة على إلغاء الاشتراك من قاعدة بيانات البريد الإلكتروني الخاصة بنا أو الانسحاب من التواصل. يرجى أن تكون على علم أنه قد نحتاج إلى طلب معلومات محددة منك لمساعدتنا في تأكيد هويتك.\",\n \"right.controlling.personal.info.p4\":\n \"إذا كنت تعتقد أن أي معلومات نحتفظ بها عنك غير دقيقة أو قديمة أو غير كاملة أو غير ذات صلة أو مضللة، يرجى الاتصال بنا باستخدام التفاصيل المقدمة في سياسة الخصوصية هذه. سنتخذ خطوات معقولة لتصحيح أي معلومات تبين أنها غير دقيقة أو غير كاملة أو مضللة أو قديمة.\",\n \"right.controlling.personal.info.p5\":\n \"إذا كنت تعتقد أننا قد خرقنا أحد قوانين حماية البيانات ذات الصلة وترغب في تقديم شكوى، يرجى الاتصال بنا باستخدام التفاصيل أدناه وتقديم لنا كافة التفاصيل حول الانتهاك المزعوم. سنقوم بالتحقيق في شكواك بسرعة ونرد عليك كتابيًا، موضحين نتائج تحقيقنا والخطوات التي سنتخذها للتعامل مع شكواك. لديك أيضًا الحق في الاتصال بهيئة تنظيمية أو سلطة حماية البيانات المعنية فيما يتعلق بشكواك.\",\n \"use.of.cookies\": \"استخدام ملفات تعريف الارتباط\",\n \"use.of.cookies.p1\":\n 'نحن نستخدم \"ملفات تعريف الارتباط\" لجمع معلومات حولك ونشاطك عبر موقعنا. ملف تعريف الارتباط هو قطعة صغيرة من البيانات التي يخزنها موقعنا على جهاز الكمبيوتر الخاص بك، ويصل إليها في كل مرة تزور فيها، حتى نتمكن من فهم كيفية استخدامك لموقعنا. يساعدنا ذلك في تقديم محتوى يستند إلى التفضيلات التي حددتها.',\n \"limits.of.policy\": \"حدود سياستنا\",\n \"limits.of.policy.p1\":\n \"موقعنا على الويب قد يحتوي على روابط لمواقع خارجية لا تديرها نحن. يرجى الإشارة إلى أننا لا نمتلك أي سيطرة على محتوى وسياسات تلك المواقع، ولا يمكننا قبول المسؤولية عن ممارسات الخصوصية الخاصة بها.\",\n \"changes.in.policy\": \"تغييرات في هذه السياسة\",\n \"changes.in.policy.p1\":\n \"بتقديرنا، قد نقوم بتغيير سياسة الخصوصية لتعكس التحديثات في عمليات أعمالنا، والممارسات المقبولة حاليًا، أو التغييرات التشريعية أو التنظيمية. إذا قررنا تغيير سياسة الخصوصية هذه، سنقوم بنشر التغييرات هنا على نفس الرابط الذي تستخدمه للوصول إلى هذه السياسة.\",\n \"changes.in.policy.p2\":\n \"إذا كانت هناك حاجة وفقًا للقانون، سنحصل على موافقتك أو نمنحك الفرصة للاختيار بالموافقة على أو عدم الموافقة على، حسب الاقتضاء، أي استخدام جديد لمعلوماتك الشخصية.\",\n \"contact.us.p1\":\n \"لأية أسئلة أو مخاوف بخصوص خصوصيتك، يمكنك التواصل معنا باستخدام التفاصيل التالية:\",\n \"zs.legal.team\": \"فريق Zopsmart القانوني\",\n \"legal.mail\": \"legal@zopsmart.com\",\n //HOME > nav bar\n \"nav.home\": \"الصفحة الرئيسية\",\n \"nav.products\": \"المنتجات\",\n \"products.website.mobile\": \"موقع الويب وتطبيقات الجوال\",\n \"products.marketing\": \"التسويق\",\n \"products.operations\": \"إدارة العمليات\",\n \"products.scan.go\": \"أمسح وأنطلق\",\n \"products.logistic\": \"اللوجستيات\",\n \"products.click.collect\": \"أطلب وأستلم\",\n \"products.analytics\": \"التحليلات\",\n \"products.customer.support\": \"دعم العملاء\",\n \"nav.technology\": \"التكنولوجيا\",\n \"nav.about.us\": \"من نحن\",\n \"nav.careers\": \"التوظيف\",\n \"nav.contact.us\": \"اتصل بنا\",\n \"select.language.heading\": \"اختار اللغة\",\n //HOME > Banners\n \"banner.1.text\": \"مرحبا بكم في البنية التحتية للتجزئة في الغد \",\n \"banner.2.text\":\n \"توفير تغطية شاملة لاحتياجاتك متعددة القنوات من خلال حل معياري يمكنه البناء على ما لديك\",\n // HOME > Hero Section\n \"hero.zopsmart.technology\": \"تكنولوجيا زوب سمارت\",\n \"hero.zopsmart.technology.content\":\n \"زوب سمارت يساعد الشركات غير المتصلة على الانتقال عبر الإنترنت عن طريق توفير الأدوات والتقنيات اللازمة لإنشاء متجرهم عبر الإنترنت. هدفنا هو خلق قيمة وتقديم منتجات من البداية إلى النهاية لعملائنا المتعددين القنوات. نعرض للشركات كيف يمكنها التفاعل بشكل أفضل مع عملائها، والابتكار ضمن ميزانيات متوقعة من خلال الذهاب عبر الإنترنت مع منتجاتها في أسرع وقت ممكن. باستخدام ممارسات التصميم التي تركز على الإنسان، نساعد العملاء على إعادة تصوير أعمالهم، وتفاعل المستهلك، والتحليلات المثبتة، مع زمن سريع للسوق.\",\n //HOME > Industries we specialize in\n \"home.industries.specialised\": \"الصناعات التي نتخصص فيها\",\n \"industy.retail\": \"التجزئة\",\n \"industy.ecommerce\": \"التجارة الإلكترونية\",\n \"industy.logistics\": \"اللوجستيات\",\n \"industy.supply.chain\": \"سلسلة التوريد\",\n \"brands.helped\": \"العلامات التجارية التي ساعدنا في تشكيل أعمالها ومستقبلها\",\n // HOME > Our Expertise\n \"our.expert\": \"خبرتنا\",\n \"yr.of.exp\": \"سنوات من الخبرة\",\n \"developing.refining.retail\": \"تطوير وتحسين قدرات التجزئة\",\n \"digital.products.created\": \"منتج رقمي تم إنشاؤه لعملائنا\",\n \"engineers.engaged.retail\": \"مهندس مشارك في مشاريع التجزئة\",\n \"strong.cleints\":\n \"زبائن قويين يتضمنون عمالقة التجزئة ومنتجات CPG العالمية الأعلى،\",\n \"dedicated.UI/UX\": \"فريق متخصص في التصميم للتركيز على التصميم\",\n \"cloud.consulting.partners\":\n \"شراكات استشارية سحابية مع AWS، Google Cloud، Microsoft وAzure\",\n //HOME > Footer\n \"footer.whitepaper.download.error\":\n \"غير قادر على فتح المستند. يرجى التحقق من إعدادات متصفحك.,\",\n \"footer.download.whitepaper\": \" حمل الملف التقني \",\n \"footer.company\": \"الشركة\",\n \"footer.about.us\": \"من نحن\",\n \"footer.contact.us\": \"اتصل بنا\",\n \"footer.products\": \"المنتجات\",\n \"footer.our.team\": \"فريقنا\",\n \"footer.privacy.policy\": \"سياسة الخصوصية\",\n \"footer.stay.in.touch\": \"ابق على اتصال\",\n \"footer.facebook\": \"فيسبوك\",\n \"footer.linkedIn\": \"لينكد إن\",\n \"footer.twitter\": \"تويتر\",\n \"footer.raramuri\": \"راراموري تكنولوجيز برايفت ليمتد،\",\n \"footer.rights\": \"جميع الحقوق محفوظة\",\n\n // Technology\n \"zopSmart.technology\": \"تقنية زوب سمارت \",\n \"technology.Description\": \"تقنية حديثة تناسب عملك،\",\n \"what.we.offer\": \"ما نقدمه \",\n \"what.we.offer.description\":\n \"نحن نستخدم إحدى أكثر تقنيات الويب المتقدمة لمنصة التجارة الإلكترونية. لقد بنينا المنصة باستخدام ReactJS و NextJS و GoLang و NodeJS و Java وقواعد بيانات SQL و NoSQL ومجموعة Redis Cluster للتخزين المؤقت ومجموعة Solr Cluster للبحث وقاعدة بيانات Neo4j Graph للتخصيص. نستضيف منصتنا على خدمات السحابة Google و Amazon و Azure التي تضمن أكثر من 99.99٪ من وقت التشغيل وإمكانية الوصول إلى التطبيق من أي مكان وفي أي وقت وعلى أي جهاز. \",\n // Technology > Mainstays of our Technology\n \"mainstays.technology\": \"محاور تقنيتنا \",\n proven: \"مجرب \",\n \"proven.description\":\n \"تقنيتنا في العمل منذ 7 سنوات، تتعامل مع آلاف المعاملات يوميًا. عملاؤنا يشملون كبار التجار في آسيا، بما في ذلك اثنين من أكبر متاجر البقالة الإلكترونية في الهند. \",\n\n \"low.cost\": \"تكلفة منخفضة \",\n \"low.cost.description\":\n \"معنا، تحصل على تقنية من الفئة الأولى بتكلفة معقولة. توفر الرأسمالية الكبيرة بالإضافة إلى التكاليف المتغيرة مع عدم وجود متطلبات للخادم، التطبيق والشخصية داخل المنزل. \",\n \"zero.time.to.market\": \"صفر وقت السوق \",\n \"zero.time.to.market.description\":\n \"معنا، يمكنك الوصول إلى السوق في وقت شبه صفري، حيث أن لدينا تقريبًا جميع قدرات التجارة الإلكترونية مبنية ومتوفرة جاهزة للاستخدام. \",\n \"flexible.&.scalable\": \"قابلة للتعديل والتوسعة \",\n \"flexible.&.scalable.description\":\n \"منصتنا مثالية للشركات التي تواجه طلبات غير متوقعة أو متقلبة. إذا زادت احتياجاتك، سنقوم تلقائيًا بتوسيع قدرة الخادم الخاص بك والعكس بالعكس. \",\n manageable: \"سهلة الإدارة \",\n \"manageable.description\":\n \"توفر منصتنا إمكانيات إدارة وصيانة تقنية المعلومات المحسنة والمبسطة من خلال الإدارة المركزية للموارد والبنية التحتية المُدارة وخدمات الدعم المضمونة بمستوى الخدمة. \",\n secure: \"آمنة \",\n \"secure.description\":\n \"تتم تشفير كل بياناتك وتخزينها في سحابة Google أو Amazon التي تتمتع بأكثر من 99.99٪ من وقت التشغيل. تحصل على أمان البيانات الكامل حتى في حالات الفشل الكهربائي الشديد أو الكوارث الطبيعية. \",\n \"manage.on.the.go\": \"إدارة أثناء التنقل \",\n \"manage.on.the.go.description\":\n \"مع منصتنا، إذا كان لديك هاتف ذكي واتصال بالإنترنت يمكنك العمل. يمكن الوصول بسهولة إلى واجهة الخلفية لدينا عبر المتصفح على أي جهاز. \",\n \"automatic.updates\": \"التحديثات التلقائية \",\n \"automatic.updates.description\":\n \"نحن نعتني بتطوير ونشر التحديثات البرمجية العادية بما في ذلك التحديثات الأمنية. لذلك لا داعي للقلق بشأن الحفاظ على تطبيقاتك وخوادمك. \",\n modular: \"مرنة \",\n \"modular.description\":\n \"برمجياتنا حقًا مرنة. لذا إذا كان لديك حل تجارة إلكترونية موجود بالفعل وترغب في إضافة بعض الوحدات فقط من حلنا فإننا نلبي احتياجاتك تمامًا. \",\n\n \"building.blocks.our.technology\": \"أركان تقنيتنا \",\n\n // About Us\n \"about.us.description\":\n \"نتصور أن نكون أول منصة تكنولوجيا تجزئة في العالم. \",\n \"our.experties.description\":\n \"في المجال التجاري يتم بناء تقنيتنا على تجربة فريقنا الهائلة في مجال سلع التجزئة والتجارة وسلسلة التوريد واللوجستيات. كل تجربتنا قد تم تطبيعها في عمليات الأعمال المدمجة في منتجاتنا. \",\n \"our.solution\": \"الحل لدينا \",\n \"our.solution.description\":\n \"تم بناء منتجنا على مدى 7 سنوات وهو يتعامل مع الآلاف من المعاملات كل يوم. تعتبر مجموعتنا من المنتجات واحدة من أكثر الحلول تقدمًا واستقرارًا وقابلية للتوسيع المتوفرة في عالم تقنيات التجزئة. \",\n \"our.team\": \"فريقنا\",\n \"our.team.description\":\n \"يتكون من متخصصي التجزئة المتحمسين الذين تخرجوا من أرقى المؤسسات التعليمية في العالم مثل IIT و IIM و MIT و ISB و Wharton. \",\n mukesh: \"موكيش سينغ\",\n \"mukesh.designation\": \"المؤسس\",\n \"mukesh.description\":\n \"حاصل على درجة البكالوريوس في علوم الحاسوب من جامعة IIT في كانبور. بعد تخرجه، سعى للحصول على درجة الدكتوراه في MIT، لكنه انسحب لبدء شركة تشغيل الرسوم المتحركة - Zoesis في بوسطن. في وقت لاحق عمل لدى eGain وAmazon وMakeMyTrip قبل أن يبدأ في تطوير منصة SmartStore للتجارة الإلكترونية. \",\n raj: \"راج باندي\",\n \"raj.designation\": \"الرئيس التنفيذي \",\n \"raj.description\":\n \"حاصل على درجة البكالوريوس في الهندسة من جامعة IIT في كانبور و MBA من كلية وارتون للأعمال. بعد عقد من التفاوض في وول ستريت كمصرف استثماري، عاد راج إلى الهند ليأخذ منصة SmartStore للتجارة الإلكترونية إلى الأسواق العالمية. \",\n vikash: \"فيكاش كومار\",\n \"vikash.designation\": \"المدير التقني الرئيسي \",\n \"vikash.description\":\n \"حاصل على درجة البكالوريوس في الهندسة من جامعة IIT في بومباي وهو واحد من القلائل الذين يتقنون التصوير والشعر على حد سواء. في المكتب نشير إليه بـ bond. \",\n sanket: \"سانكيت ميهتا\",\n \"sanket.designation\": \"رئيس العمليات \",\n \"sanket.description\":\n \"حاصل على درجة البكالوريوس في الهندسة من جامعة IIT في بومباي. ملك العمليات، يمكنك رؤيته في معظم الأوقات وهو يدير الأمور بهدوء وسكون. \",\n rohit: \"روهيت ساكسينا\",\n \"rohit.designation\": \"رئيس - حلول الأعمال \",\n \"rohit.description\":\n \"حاصل على MBA من مدرسة الأعمال الهندية في حيدر أباد. لقد عمل في مجال الاستشارات والتخطيط والتحليلات مع منظمات مثل ديل وتي في إس لوجيستيكس وويبرو. \",\n\n // career\n \"work.with.us\": \"اعمل معنا. \",\n \"work.with.us.description\":\n \"نحن شركة مقرها بنغالور. نحن جاهزون لتوظيف المواهب الجديدة للانضمام إلينا. \",\n \"about.working.here\": \"حول العمل هنا \",\n \"about.working.here.description\": \"تبرز من الحشد بموهبتك \",\n \"conducive.environment\": \"بيئة مواتية \",\n \"conducive.environment.description\":\n \"استمتع بالعمل التحدي والوظيفة الرضية دون أي تسلسل هرمي، \",\n \"best.gadgets\": \"أفضل الأجهزة \",\n \"best.gadgets.description\":\n \"استمتع بنفسك وأنت تدلل الخبير التقني بالأجهزة والتكنولوجيا المتقدمة، \",\n \"medical.insurance\": \"التأمين الطبي \",\n \"medical.insurance.description\":\n \"لدينا تأمين لك ولعائلتك حرفيًا، مع أفضل التغطية في فئتها، \",\n \"snacks.drinks\": \"الوجبات الخفيفة الصحية والمشروبات \",\n \"snacks.drinks.description\":\n \"الطعام متوفر في المنزل، حتى تشعر بأنك في منزلك،\",\n \"gilly's\": \"@ إعادة تعريف جيلي \",\n \"@PLaY.Arena\": \"@ بلاي أرينا\",\n \"@Koramangala.Social\": \"@كورامانجالا الاجتماعية\",\n \"@MACAW.By.Stories\": \"@الببغاء عن طريق القصص\",\n \"team.lunch\": \"غداء الفريق \",\n \"team.outing\": \"رحلة الفريق \",\n area83: \"@المنطقة 83 \",\n \"mango.mist\": \"@مانجوميست \",\n \"join.zopsmart\": \"ترغب في الانضمام إلى فريق ZopSmart \",\n \"join.zopsmart.description\":\n \"تكنولوجيا رائعة. زملاء مذهلين. اكتشف عالم الابتكار والتعلم والنمو معنا، \",\n \"no.jobs\": \"لا توجد فرص عمل في الوقت الحالي \",\n // apply: \"قدم الآن \",\n\n // contact us\n \"contact.us.description\":\n \"خبراء التكنولوجيا التجارية لدينا متوفرين على مدار الساعة، \",\n \"write.us\": \"اكتب لنا \",\n \"write.us.description\":\n \"يرجى التواصل إذا كنت بحاجة إلى أي مساعدة في حلولنا أو تحتاج إلى معرفة أي شيء آخر في مجال التكنولوجيا التجارية، \",\n \"submit.form.error\":\n \"عذرًا! فشل إرسال النموذج. يرجى إرسال استفساراتك عبر البريد الإلكتروني إلى، \",\n submitting: \"التقديم\",\n submit: \"إرسال \",\n \"thank.you\": \"شكرًا لك \",\n \"will.get.in.touch\": \"سنتواصل معك قريبًا \",\n address: \"العنوان \",\n \"zs.address\":\n \"2078، الطريق الرئيسي 24، فانغاناهالي، القطاع 1، تخطيط HSR، بنغالور، كارناتاكا 560102، \",\n mobile: \"الهاتف المحمول \",\n \"email.id\": \"البريد الإلكتروني \",\n\n // name: \"الاسم \",\n // \"upload.resume\": \"تحميل السيرة الذاتية \",\n // \"drag.upload.resume\": \"اسحب أو قم بتحميل سيرتك الذاتية \",\n // \"current.location\": \"الموقع الحالي \",\n // \"notice.period\": \"فترة الإشعار \",\n // \"current.salary\": \"الراتب الحالي \",\n // \"in.lpa\": \"بالسنوي \",\n // \"expected.salary\": \"الراتب المتوقع \",\n // \"additional.info\": \"معلومات إضافية \",\n // \"cance;\": \"إلغاء \",\n // save: \"حفظ \",\n // \"enter.location\": \"أدخل موقعك الحالي \",\n // \"enter.linkedin.profile\": \"أدخل مسار LinkedIn \",\n // \"enter.notice.period\": \"أدخل فترة الإشعار \",\n // \"enter.current.salary\": \"أدخل الراتب الحالي \",\n // \"enter.expected.salary\": \"أدخل الراتب المتوقع \",\n // \"enter.additional.info\": \"أدخل معلومات إضافية \",\n\n // //Apply\n // // Apply> errors\n\n // \"err.must.not.empty\": \"يجب أن لا يكون فارغًا \",\n // \"err.must.be.email\": \"يجب أن يكون من نوع بريد إلكتروني \",\n // \"err.length.must.10\": \"يجب أن يكون طوله 10 \",\n // \"err.invalid.number\": \"رقم غير صالح \",\n // \"err.select.field\": \"حقل اختياري \",\n // \"err.link.github.ptofile\": \"يجب أن يكون الرابط من نوع ملف جيثب \",\n // \"err.linkedin.link.format\":\n // \"يجب أن يكون الرابط من نوع https://www.linkedin.com/... \",\n // \"err.greater.than.1900\": \"يجب أن يكون السنة أكبر من 1900 \",\n // \"err.less.than.220\": \"يجب أن يكون السنة أقل من 2200 \",\n // \"err.try.again.later\": \"حدث خطأ ما. يرجى المحاولة مرة أخرى في وقت لاحق \",\n // \"err.upload.again\": \"خطأ في تحميل السيرة الذاتية. يرجى المحاولة مرة أخرى \",\n // \"err.upload.doc.pdf\": \"يرجى تحميل ملف pdf أو doc \",\n // \"thanks.on.error\":\n // \"شكرًا لاهتمامك. نواجه مشكلات تقنية. يرجى إرسال طلبك إلى careers@zopsmart.com \",\n\n // dismiss: \"رفض \",\n // \"mail.now\": \"ارسل الآن \",\n // ok: \"حسنًا\",\n // \"click.to.career\": \"انقر هنا لصفحة الوظائف \",\n // \"thank.to.apply\": \"شكرا للتقديم \",\n};\n\nexport default messages;\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.some\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nexports.__esModule = true;\nexports.Helmet = undefined;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactSideEffect = require(\"react-side-effect\");\n\nvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\nvar _reactFastCompare = require(\"react-fast-compare\");\n\nvar _reactFastCompare2 = _interopRequireDefault(_reactFastCompare);\n\nvar _HelmetUtils = require(\"./HelmetUtils.js\");\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _reactFastCompare2[\"default\"])(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2[\"default\"].Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2[\"default\"].createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2[\"default\"].Component), _class.propTypes = {\n base: _propTypes2[\"default\"].object,\n bodyAttributes: _propTypes2[\"default\"].object,\n children: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].node), _propTypes2[\"default\"].node]),\n defaultTitle: _propTypes2[\"default\"].string,\n defer: _propTypes2[\"default\"].bool,\n encodeSpecialCharacters: _propTypes2[\"default\"].bool,\n htmlAttributes: _propTypes2[\"default\"].object,\n link: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n meta: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n noscript: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n onChangeClientState: _propTypes2[\"default\"].func,\n script: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n style: _propTypes2[\"default\"].arrayOf(_propTypes2[\"default\"].object),\n title: _propTypes2[\"default\"].string,\n titleAttributes: _propTypes2[\"default\"].object,\n titleTemplate: _propTypes2[\"default\"].string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2[\"default\"])(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexports.Helmet = HelmetExport;\nexports[\"default\"] = HelmetExport;","'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}","module.exports = __webpack_public_path__ + \"static/ZopSmartWhitePaper-b3254bc9c6cc080d06d93cb03071c900.pdf\";","module.exports = \"data:image/webp;base64,UklGRkIBAABXRUJQVlA4WAoAAAAYAAAADAAACQAAVlA4TNEAAAAvDEACEEfBKJIkRbl79D5HJ/4cMbcNtY0kNfsGiEmpif578cegkSRFdfT8Gt7K+7dEwyYAwCTzDXd3q04YPiIQgM89AESB87zMW03//aliflbW6Ft8NkqHnxe4qDiyhISgMEqBQiRgjAopMQLBQIQQVPAwRzBReXlGv/WNkduWYYgy/2snY+vn0Zd/Gec/cX9gGEmyqfm2/fCt/FNUDBH9nwB+Hj4/76K3fmQi4TsWKTAbj1DkgC2mE5ahvAAiUe1OV2+8BnJstcnnrJqVn67HOwBFWElGSgAAAEV4aWYAAE1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAA2gAwAEAAAAAQAAAAoAAAAA\"","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n if (length !== keyList(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // start react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element && b instanceof Element) return a === b; // custom handling for React\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // end react-fast-compare\n // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i) || error.number === -2146828260) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import React, { useEffect, useState } from \"react\";\nimport supportedLang from \"../../lib/supportedLanguages\";\n\nconst RTLLanguage = [\"ar\"];\nconst LanguageContext = React.createContext({\n updateLanguage: () => {},\n language: \"en\",\n dictionary: {},\n direction: \"ltr\",\n});\n\nconst LanguageProvider = (props) => {\n const [language, setLanguage] = useState(props.language || \"\");\n const [direction, setDirection] = useState(\n RTLLanguage.includes(props.language) ? \"rtl\" : \"ltr\",\n );\n\n useEffect(() => {\n document.documentElement.lang = language;\n }, [language]);\n\n const updateLanguage = (lang) => {\n setLanguage(lang);\n const path = window.location.pathname;\n const searchParams = window.location.search;\n\n let pathComponents = path.split(\"/\");\n\n if (supportedLang.indexOf(pathComponents[1]) > -1) {\n // replace the old lang with newly selected lang\n pathComponents.splice(1, 1, lang);\n } else {\n // prefix the lang to the url\n pathComponents.splice(1, 0, lang);\n }\n\n const updatedPath = pathComponents.join(\"/\");\n // updated url with selected language\n window.location.href = updatedPath + searchParams;\n };\n const dictionaryKeys = require(`../../languages/${language || \"en\"}`);\n return (\n \n {props.children}\n \n );\n};\n\nexport default LanguageProvider;\n\nexport { LanguageContext };\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","require(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nexports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n \"class\": \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ4LjEgKDQ3MjUwKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5BcnRib2FyZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJBcnRib2FyZCI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTMiIGZpbGw9IiNEOEQ4RDgiIG9wYWNpdHk9IjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjc3NDI0MzYsMTkuNzM5OTU0NSBMMTIuNzY1NzAwNSwxOC44MzMxNjI5IEwxMC4yNDc5MTk1LDE4Ljg1NTEzMDkgQzkuNTEwNzY5OTEsMTguNzk1MzI5IDkuMTQ5NTE3NzcsMTguMzI5MTE4NSA5LjE2NTM4MzU4LDE3LjQ1NTI3ODkgQzkuMTM3MzEzMzEsMTcuNTI0ODQ0MyA5LjEzNzMxMzMxLDE2LjUxNzk3NiA5LjE2NTM4MzU4LDE0LjQzMzQ1MzYgTDcuMzUwNTc5NzcsMTMuNDc1NDAzMSBDNi45Njk4MDA1LDEzLjM2Njc4MzQgNy4xOTE5MjE3NCwxMi45ODcyMjQ2IDcuMzUwNTc5NzcsMTIuNTExMjUwNSBDNy40MzYwMTEwMiwxMi4yNTYxNzcyIDcuNzY5MTkyODksMTEuNDYyODg3IDguMzUxMzQ1ODMsMTAuMTMxMzggQzguMjk2OTkzMzIsOS43NjQ0OTE4NyA4LjI2OTY2MzE2LDkuMzk0MTA2OTQgOC4yNjk1NzU5Miw5LjAyMzIxNDY2IEM4LjI2OTU3NTkyLDQuNTkyOTk0MjEgMTIuMTQ0NDkzMiwxIDE2LjU2NDk1MDEsMSBDMjAuOTg1NDA3LDEgMjUuMDM0ODQ4Miw0LjU4ODExMjQzIDI1LjAzNDg0ODIsOS4wMTk1NTMzMiBDMjUuMDM0ODQ4MiwxMS42MDIwMTc5IDIzLjY3ODkzMjIsMTQuMDA4NzM4MiAyMS42NzM3Mzg4LDE1LjU2ODQ2ODcgTDIxLjY4NzE2MzcsMTkuNzYxOTIyNiBMMjIuNzkyODg4MSwxOS43NjQzNjM1IEMyMi44MDUwOTI2LDE3LjM5NjY5NzQgMjIuODE2MDc2NiwxNi4yMTA0MjM1IDIyLjgyMjE3ODgsMTYuMjA0MzIxMyBDMjQuODQwNzk3MiwxNC40NDY4Nzg1IDI2LjA4MDc3MDcsMTEuNjE3ODgzNyAyNi4xMzU2OTA4LDguODA0NzU0NzUgTDI3LjE0NSw4LjgwNDc1NDc1IEwyNy4xNDUsMjcuNTYzMDE2IEMyNy4xNDUsMjkuNDA1ODkwMSAyNS42NTYwNTU0LDMwLjg5NDgzNDcgMjMuNjY2NzI3NywzMC44OTk3MTY1IEMxOS43MjM0NjU0LDMwLjA5MTc4MDkgMTIuMzUxOTY5MSwzMC4xNDMwMzk3IDguNDc4MjcyMjUsMzAuODk5NzE2NSBDNi42OTY0MjA1LDMwLjkwMjE1NzMgNSwyOS40MDU4OTAxIDUsMjcuNTY0MjM2NCBMNSw4LjgwNTk3NTIgTDcuMzA2NjQzNyw4LjgwMzUzNDMxIEM3LjMxNTE4NjgzLDkuMTk0MDc3MTYgNy4zNDA4MTYyLDkuNzExNTQ2NDMgNy4zNTMwMjA2Nyw5LjkxNDE0MDUzIEw2LjA0NDcwMjEyLDEzLjA3NTA5NjcgQzUuODQwODg3NTcsMTMuNDM4Nzg5NyA1Ljg4NjA0NDA5LDEzLjY2MDkxMSA2LjE3ODk1MTIzLDEzLjc0NTEyMTggTDguMjcwNzk2MzYsMTQuODQ5NjI1OCBMOC4yNjgzNTU0NywxOC4xODc1NDY3IEM4LjM5ODk0MzI0LDE5LjE3MDAwNjEgOC44ODgzNDIyNCwxOS42OTYwMTg1IDkuNzM4OTkzMzksMTkuNzY0MzYzNSBMMTIuNDM2MTc5OSwxOS43Mzk5NTQ1IEwxMi43NzU0NjQsMTkuNzM5OTU0NSBMMTIuNzc0MjQzNiwxOS43Mzk5NTQ1IFogTTE1Ljg1NzA5MTIsMi42OTM5Nzk2MSBDMTUuMDE2MjAzNiwyLjY5Mzk3OTYxIDE1LjM3OTg5NjcsMi42NTM3MDQ4OCAxNC43NjIzNTA4LDIuNzYyMzI0NjEgQzEzLjY4MjI1NTcsMy4xMTUwMzM2MiAxMy4wMzQxOTg3LDQuMDA3MTc5OTQgMTMuMDY1OTMwMyw1LjA5MDkzNjM1IEMxMC44NDEwNTY1LDUuMzIyODIxMTYgMTAuOTcxNjQ0Myw4LjYyNjU2OTU4IDEyLjkwODQ5MjcsOC42MjY1Njk1OCBMMjAuNjU4MzI3NCw4LjYyNjU2OTU4IEMyMi40Mzc3MzgyLDguNjI2NTY5NTggMjIuNzk3NzY5OSw1LjE5NDY3NDI5IDIwLjIwMDY2LDUuMTE2NTY1NzIgQzIwLjM0MzQ1MjIsMy42Nzg4Nzk4NiAxOC41MjQ5ODcsMi42ODQyMTYwNCAxNy4zMzI2MTA5LDMuNTY5MDM5NjggQzE2Ljg4NDcwNzEsMy4wMDc2MzQzMyAxNi41MzA3Nzc2LDIuODk1MzUzMjcgMTUuODU1ODcwOCwyLjY5Mzk3OTYxIEwxNS44NTcwOTEyLDIuNjkzOTc5NjEgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjMDBCNkE0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTQiIGhlaWdodD0iMzgiIHZpZXdCb3g9IjAgMCAxNTQgMzgiPgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iYSIgd2lkdGg9IjEwMSUiIGhlaWdodD0iMTE3LjUlIiB4PSItLjUlIiB5PSItNi4yJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PSIyIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiIHN0ZERldmlhdGlvbj0iMiIvPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj0ic2hhZG93Qmx1ck91dGVyMSIgcmVzdWx0PSJzaGFkb3dNYXRyaXhPdXRlcjEiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4wODM0MTgyNTE4IDAiLz4KICAgICAgICAgICAgPGZlTWVyZ2U+CiAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSIvPgogICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+CiAgICAgICAgICAgIDwvZmVNZXJnZT4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsdGVyPSJ1cmwoI2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTMxIC0yMykiPgogICAgICAgIDxwYXRoIGZpbGw9IiMwMEI2QTQiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTE0MS4zNyA0MC4zNTVsLS4wMDctLjc0My0yLjA2My4wMThjLS42MDQtLjA0OS0uOS0uNDMxLS44ODctMS4xNDctLjAyMy4wNTctLjAyMy0uNzY4IDAtMi40NzZsLTEuNDg3LS43ODVjLS4zMTItLjA4OS0uMTMtLjQgMC0uNzkuMDctLjIwOS4zNDMtLjg1OS44Mi0xLjk1YTYuMjA2IDYuMjA2IDAgMCAxLS4wNjctLjkwOGMwLTMuNjMgMy4xNzUtNi41NzQgNi43OTctNi41NzRzNi45NCAyLjk0IDYuOTQgNi41NzFjMCAyLjExNi0xLjExMSA0LjA4OC0yLjc1NCA1LjM2NmwuMDExIDMuNDM2LjkwNi4wMDJjLjAxLTEuOTQuMDE5LTIuOTEyLjAyNC0yLjkxNyAxLjY1NC0xLjQ0IDIuNjctMy43NTggMi43MTUtNi4wNjNoLjgyN3YxNS4zN2MwIDEuNTEtMS4yMiAyLjczLTIuODUgMi43MzQtMy4yMzEtLjY2Mi05LjI3MS0uNjItMTIuNDQ1IDAtMS40Ni4wMDItMi44NS0xLjIyNC0yLjg1LTIuNzMzdi0xNS4zN2wxLjg5LS4wMDJjLjAwNy4zMi4wMjguNzQ0LjAzOC45MWwtMS4wNzIgMi41OWMtLjE2Ny4yOTgtLjEzLjQ4LjExLjU0OWwxLjcxNC45MDUtLjAwMiAyLjczNWMuMTA3LjgwNS41MDggMS4yMzYgMS4yMDUgMS4yOTJsMi4yMS0uMDJoLjI3OHptMi41MjYtMTMuOTY3Yy0uNjg5IDAtLjM5MS0uMDMzLS44OTcuMDU2LS44ODUuMjg5LTEuNDE2IDEuMDItMS4zOSAxLjkwOC0xLjgyMy4xOS0xLjcxNiAyLjg5Ny0uMTI5IDIuODk3aDYuMzVjMS40NTggMCAxLjc1My0yLjgxMi0uMzc1LTIuODc2LjExNy0xLjE3OC0xLjM3My0xLjk5My0yLjM1LTEuMjY4LS4zNjctLjQ2LS42NTctLjU1Mi0xLjIxLS43MTd6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE3My4zMzIgNDcuNTkzdjEuOTg0Yy0uOTE5LS4xNDEtMS41MzItLjE2NS0yLjc1Ny0uMTY1aC04LjgzOWMtMS40MTQgMC0xLjkzMy4wMjQtMi42ODcuMDd2LTEuNjc3Yy40NzItLjQ0OS45Mi0uOTY4IDEuNzItMi4wMDhsOC45MzQtMTEuNzQzYy4yMzUtLjI4NC41MTgtLjYxNC44NzItMS4wMTYtLjQ3Mi4wNDctMS4xMDguMDctMS40MzguMDdoLTYuNDU4Yy0xLjIyNiAwLTEuOTEuMDQ4LTIuNzM0LjE2NlYzMS4yOWMuODAxLjExOSAxLjUwOC4xNjYgMi43MzQuMTY2aDcuNjEzYy45NjYgMCAxLjcyLS4wMjQgMi42NC0uMDcxdjEuNjNjLS40OTUuNDczLS45NDMgMS4wMTYtMS42OTcgMi4wMDlsLTguNjk4IDExLjQzNmMtLjMzLjQyNS0uNjM2Ljc4LTEuMTMgMS4zNDYuOC0uMDQ3IDEuMjQ4LS4wNDcgMS44MTQtLjA0N2g3LjM1NGMxLjEwNyAwIDEuODg1LS4wNDcgMi43NTctLjE2NXptOC4xNTUgMi4xMjZjLTMuODY1IDAtNi4zMTYtMi41NzUtNi4zMTYtNi42NjNzMi40NS02LjY4NyA2LjI5My02LjY4N2MzLjg0MSAwIDYuMjY5IDIuNiA2LjI2OSA2LjY2NCAwIDQuMDQtMi40NTEgNi42ODYtNi4yNDYgNi42ODZ6bS4wMjQtMTEuODYxYy0yLjgwNSAwLTQuNTI2IDEuOTYxLTQuNTI2IDUuMTUgMCAzLjIxNCAxLjcyMSA1LjE3NSA0LjQ3OSA1LjE3NSAyLjc1NyAwIDQuNDU0LTEuOTYgNC40NTQtNS4xNSAwLTMuMTktMS42OTctNS4xNzUtNC40MDctNS4xNzV6bTExLjA1NCAxNi41MTZoLTIuMDc0Yy4xMTctLjkyMi4xNjUtMS42NzguMTY1LTIuNjQ2VjM5LjM5NGMwLTEuMTM0LS4wNDgtMS44Mi0uMTY1LTIuNzE3aDEuODg1djEuMzQ2YTcuOCA3LjggMCAwIDEtLjA3Ljk3YzEuMDYtMS42NzggMi43MS0yLjU1MyA0LjgwOC0yLjU1MyAzLjYzIDAgNS44NDUgMi40ODEgNS44NDUgNi41OTMgMCA0LjAxNi0yLjI2MyA2LjU5Mi01Ljc5OCA2LjU5Mi0yLjA3NCAwLTMuNzQ4LS44NzUtNC44NTYtMi41MDUuMDcxLjY2Mi4wOTUgMS4wMTYuMDk1IDEuNjU0djIuOTNjMCAxLjExLjA0NyAxLjc5Ni4xNjUgMi42N3ptNC40My02LjI4NWMyLjU3IDAgNC4xMjUtMS45MTQgNC4xMjUtNS4wNTYgMC0zLjIxNC0xLjUwOC01LjA1Ny00LjE0OC01LjA1Ny0yLjcxIDAtNC41NDkgMi4wMzItNC41NDkgNS4wOCAwIDEuNTM2LjQ5NSAyLjk1NCAxLjM0NCAzLjc4LjgyNS44MDQgMi4wMDMgMS4yNTMgMy4yMjkgMS4yNTN6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iIzAwQjZBNCIgZD0iTTIwNC42ODUgNDQuMzMybDMuMzk0LS4zNTRjLjA5NCAxLjA2My4yMzYgMS41MzUuNjYgMi4wNzkuNjg0Ljg5OCAxLjkxIDEuMzk0IDMuNDQxIDEuMzk0IDIuMzU3IDAgMy43NzEtMS4wNjMgMy43NzEtMi44MzUgMC0uOTctLjQ0Ny0xLjc3My0xLjE3OC0yLjE3NC0uNzA3LS4zNzgtLjg0OS0uNDAyLTQuMTAxLTEuMTU4LTEuNzY4LS40MDItMi43MS0uNzgtMy41Ni0xLjQ0MS0xLjIwMS0uOTQ1LTEuODE0LTIuMjQ1LTEuODE0LTMuODI4IDAtMy4yODQgMi42NC01LjQxIDYuNjk0LTUuNDEgMi42ODcgMCA0LjcxNC44MjYgNS44NjggMi4zODYuNTkuNzguODczIDEuNDg4IDEuMTU1IDIuNzRsLTMuMzcuNDAyYy0uMTQxLS44MDMtLjMwNi0xLjIwNS0uNzA3LTEuNjc3LS42MTMtLjczMy0xLjY1LTEuMTM1LTIuOTQ2LTEuMTM1LTIuMDUgMC0zLjQ0MSAxLjA0LTMuNDQxIDIuNTc2IDAgLjk5Mi41MTggMS42NzcgMS42MDIgMi4xNS41MTkuMjEzLjcwNy4yNiAzLjMyNC44NSAxLjg2Mi40MDIgMi45OTMuODUxIDMuODQxIDEuNDQyIDEuMzQ0Ljk5MiAxLjk1NyAyLjI5MiAxLjk1NyA0LjA2NCAwIDEuNjc4LS41MTkgMy4wNDgtMS40ODUgNC4wMTctMS4yNSAxLjIwNS0zLjExMSAxLjc5NS01LjYzMyAxLjc5NS0xLjkzMyAwLTMuODE5LS40NzItNC45NS0xLjIyOC0uOTQzLS42MzgtMS42MjYtMS41MzYtMi4wNzQtMi42OTQtLjIxMi0uNTQzLS4zMDYtLjk5Mi0uNDQ4LTEuOTYxem0yMC41NzYgNS41MDVoLTMuMzIzYy4xMTgtMS4wMTYuMTY1LTEuNzk1LjE2NS0zLjA3MXYtNy40MmMwLTEuNDg4LS4wNDctMi4xNzMtLjE2NS0zLjA3MWgzLjE1OHYxLjIwNWMwIC4xNDIgMCAuNDk2LS4wMjMuODc0LjY4My0xLjQ0MSAyLjQyNy0yLjM2MyA0LjM4NC0yLjM2MyAxLjI3MiAwIDIuMzEuMzU1IDMuMDQgMS4wNjQuNDI0LjM3OC42MTMuNjg1Ljg5NiAxLjQxNy44MDEtMS4wNjMgMS4yNDktMS40ODggMS45OC0xLjg2Ni43NzctLjQyNiAxLjU3OS0uNjE1IDIuNjQtLjYxNSAxLjUwOCAwIDIuNzMzLjQ3MyAzLjUzNSAxLjM0Ny43NzcuODUgMS4xMDcgMS45MTQgMS4xMDcgMy41OTJ2NS44MzZjMCAxLjMyMy4wNDcgMi4xMDMuMTg5IDMuMDcxaC0zLjQ0MWMuMTQxLS45NjguMTg4LTEuNjc3LjE4OC0zLjA3MXYtNS4yOTNjMC0yLjA4LS43My0zLjAyNC0yLjMxLTMuMDI0LS43NzcgMC0xLjM2Ni4yMTItMS45MzIuNzA5LS44MjUuNzA4LTEuMjAyIDEuNDY0LTEuNDg1IDIuOTN2NC42NzhjMCAxLjMuMDQ3IDIuMTAzLjE2NSAzLjA3MWgtMy4zOTRjLjE0MS0uOTkyLjE4OS0xLjcyNC4xODktMy4wNzF2LTUuMjkzYzAtMS45ODUtLjc1NS0yLjk3Ny0yLjI4Ny0yLjk3Ny0uOTkgMC0xLjc5LjQwMi0yLjQyNyAxLjIyOS0uNTE5LjY4NS0uNzU1IDEuMjI4LTEuMDE0IDIuMzYydjQuNjc5YzAgMS4yNzYuMDQ3IDEuOTg0LjE2NSAzLjA3MXptMjkuNDM4IDB2LTEuNTM1Yy0uOTQzLjg5Ny0xLjUzMiAxLjIyOC0yLjQ5OCAxLjQ4OGE4LjMyIDguMzIgMCAwIDEtMi4xOTIuMjg0Yy0yLjg3NiAwLTQuNjItMS40ODktNC42Mi0zLjk3IDAtMS42NTQgMS4wMzctMy4xNDIgMi42NjQtMy44MjggMS41MzItLjYzOCAzLjI3Ni0uODc0IDYuNjQ2LS45NDV2LTEuMjA1YzAtMS4zNy0uOTE5LTIuMDc5LTIuNzEtMi4wNzktLjk0MyAwLTEuOTEuMjYtMi40NTEuNjg1LS40NDguMzMxLS42Ni42NjItLjk0MyAxLjUxMmwtMy4wMTctLjU0M2MuNTQyLTEuMzcuOTY2LTEuOTg1IDEuODYyLTIuNjIzIDEuMTU1LS44NSAyLjQ3NS0xLjIwNSA0LjUwMi0xLjIwNSAyLjI2MiAwIDMuNjMuNDAyIDQuNjQzIDEuMzk0LjgwMS43NTYgMS4xMDggMS42NTQgMS4xMDggMy4yNnY2LjM1N2MwIDEuMjUyLjA0NyAxLjg5LjE4OCAyLjk1M0gyNTQuN3ptMC01LjI2OXYtMS4xODFjLTQuNTAyLjA5NC02LjI3Ljg3NC02LjI3IDIuNzE3IDAgMS4xMS44MjYgMS43OTYgMi4xNDYgMS43OTYgMS4yNDkgMCAyLjQ3NC0uNDczIDMuMjc2LTEuMjUyLjU2NS0uNTY3Ljg0OC0xLjI1My44NDgtMi4wOHptMTUuODYyLTguMjkzbC0uODI1IDIuOTc3Yy0uOTktLjI4NC0xLjQ4NC0uMzc4LTIuMDk3LS4zNzgtMS4xNzkgMC0yLjA3NC4zNzgtMi43MzQgMS4xNTgtLjU5LjY4NS0uODI1IDEuMjI4LS45NjcgMi4zNjN2NC4zN2MwIDEuMjc3LjA0OCAxLjk2Mi4xNjUgMy4wNzJoLTMuMzdhMjUuOTggMjUuOTggMCAwIDAgLjE2NS0zLjA3MXYtNy40MmMwLTEuNDQtLjAyNC0yLjEwMi0uMTY1LTMuMDcxaDMuMjA1djIuMjJjLjg0OS0xLjY3NyAyLjMxLTIuNDggNC40MzEtMi40OC41NjYgMCAxLjEzMi4wNyAyLjE5Mi4yNnptMy4zLTMuNjM5aDMuMzdhMjYuMTk4IDI2LjE5OCAwIDAgMC0uMTY1IDIuOTA2di43MzNoLjk5YzEuMTA4IDAgMS42MjctLjAyNCAyLjM4LS4xNDJ2Mi43ODhjLS43NzctLjExOC0xLjIyNS0uMTQyLTIuMzA5LS4xNDJoLTEuMDZ2Ny4zMjVjMCAxLjE1OC40MjQgMS41ODMgMS41NTUgMS41ODMuNjEzIDAgLjk5LS4xMTggMS43Mi0uNTJsLjQyNSAyLjUwNWMtMS4wMTQuMzc4LTEuNzIuNDk2LTIuOTQ2LjQ5Ni0yLjcxIDAtMy43OTUtLjk2OS0zLjc5NS0zLjQ1VjM4Ljc4aC0uODk2Yy0uODcyIDAtMS4zMi4wMjQtMi4wOTcuMTQydi0yLjc4OGMuNjgzLjExOCAxLjEzMS4xNDIgMi4xMjEuMTQyaC44NzJ2LS43MzNjMC0xLjAxNi0uMDctMi4wNTUtLjE2NS0yLjkwNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==\"","/** @license React v16.12.0\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';\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: !0\n});\nvar b = \"function\" === typeof Symbol && Symbol[\"for\"],\n c = b ? Symbol[\"for\"](\"react.element\") : 60103,\n d = b ? Symbol[\"for\"](\"react.portal\") : 60106,\n e = b ? Symbol[\"for\"](\"react.fragment\") : 60107,\n f = b ? Symbol[\"for\"](\"react.strict_mode\") : 60108,\n g = b ? Symbol[\"for\"](\"react.profiler\") : 60114,\n h = b ? Symbol[\"for\"](\"react.provider\") : 60109,\n k = b ? Symbol[\"for\"](\"react.context\") : 60110,\n l = b ? Symbol[\"for\"](\"react.async_mode\") : 60111,\n m = b ? Symbol[\"for\"](\"react.concurrent_mode\") : 60111,\n n = b ? Symbol[\"for\"](\"react.forward_ref\") : 60112,\n p = b ? Symbol[\"for\"](\"react.suspense\") : 60113,\n q = b ? Symbol[\"for\"](\"react.suspense_list\") : 60120,\n r = b ? Symbol[\"for\"](\"react.memo\") : 60115,\n t = b ? Symbol[\"for\"](\"react.lazy\") : 60116,\n v = b ? Symbol[\"for\"](\"react.fundamental\") : 60117,\n w = b ? Symbol[\"for\"](\"react.responder\") : 60118,\n x = b ? Symbol[\"for\"](\"react.scope\") : 60119;\n\nfunction y(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction z(a) {\n return y(a) === m;\n}\n\nexports.typeOf = y;\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === v || a.$$typeof === w || a.$$typeof === x);\n};\n\nexports.isAsyncMode = function (a) {\n return z(a) || y(a) === l;\n};\n\nexports.isConcurrentMode = z;\n\nexports.isContextConsumer = function (a) {\n return y(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return y(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return y(a) === n;\n};\n\nexports.isFragment = function (a) {\n return y(a) === e;\n};\n\nexports.isLazy = function (a) {\n return y(a) === t;\n};\n\nexports.isMemo = function (a) {\n return y(a) === r;\n};\n\nexports.isPortal = function (a) {\n return y(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return y(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return y(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return y(a) === p;\n};","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","require(\"core-js/modules/es6.array.some\");\n\nrequire(\"core-js/modules/es6.array.slice\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nrequire(\"core-js/modules/es6.date.now\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.array.filter\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nexports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2[\"default\"])({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [_react2[\"default\"].createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return _react2[\"default\"].createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"sourceRoot":""}