{"version":3,"sources":["assets/image/masked.png","assets/image/unmasked.png","assets/image/masked_error.png","assets/image/unmasked_error.png","assets/image/ad_andriod.jpg","assets/image/ad_iphone.jpg","assets/image/HSBC_Logo_White.svg","assets/image/ad_phone.png","assets/image/Android_sim.jpg","assets/image/Android_trd.jpg","assets/image/iphone_sim.svg","assets/image/iphone_trd.svg","assets/image/appsign_bg.png","assets/image/loader.svg","assets/image/dsp_background_tl.png","assets/image/dsp_background_tp.png","assets/image/dsp_background_dt.png","assets/image/dsp_background_mb.png","webpack:///./src/app.scss?1705","app.scss","reducers/sendCodeReducer.js","reducers/contactOptionsReducer.js","reducers/resetPasswordReducer.js","reducers/logonReducer.js","reducers/lockedAccountReducer.js","reducers/securityQuestionListReducer.js","reducers/registrationDetailsReducer.js","reducers/createUserNameReducer.js","env-config.js","reducers/languageReducer.js","reducers/lockedTypeReducer.js","reducers/currentOTPTypeReducer.js","reducers/index.js","store/configureStore.js","util/language/en-GB/index.js","util/language/en-GB/registrationConditions/T&C.js","util/language/en-GB/registrationConditions/PP.js","util/language/en-GB/registrationConditions/T&C_LUX.js","util/language/en-GB/registrationConditions/PP_LUX.js","util/language/en-GB/registrationConditions/T&C_CH.js","util/language/en-HK/registrationConditions/T&C.js","util/language/en-HK/index.js","util/language/en-US/registrationConditions/T&C.js","util/language/en-US/index.js","util/language/en-US/registrationConditions/PP.js","util/language/en-CI/registrationConditions/PP.js","util/language/en-CI/index.js","util/language/en-CI/registrationConditions/T&C.js","util/language/fr-LU/registrationConditions/T&C_LUX.js","util/language/fr-LU/index.js","util/language/fr-LU/registrationConditions/PP_LUX.js","util/language/zh-trd-HK/registrationConditions/T&C.js","util/messages.js","util/language/zh-sim-HK/index.js","util/language/zh-sim-HK/registrationConditions/T&C.js","util/language/zh-trd-HK/index.js","Intl.js","actions/languageAction.js","components/common/LanguageList.js","components/common/LanguageDropDown.js","util/color.js","components/common/AppHeader.js","util/history.js","components/common/AppFooter.js","util/service.js","components/LoginHelper/index.js","components/ModalPage/index.js","actions/lockedTypeAction.js","components/common/LogoMark.js","components/common/SecurityModal.js","components/OTPVerify/OptionsListPhone.js","components/OTPVerify/OptionsListEmail.js","components/OTPVerify/CountDown.js","actions/lockedAccountAction.js","components/OTPVerify/EnterOTP.js","actions/currentOTPTypeAction.js","emailOTP-config.js","components/OTPVerify/GenericOTP.js","components/common/SecurityTextInput.js","actions/resetPasswordAction.js","util/validator.js","components/common/WarningMsg.js","components/ResetPassword/StepCreatePassword.js","actions/logonAction.js","components/ResetPassword/ForgotPassword.js","components/ResetPassword/SecurityQuestion.js","components/common/Loading.js","actions/sendCodeAction.js","components/ResetPassword/index.js","actions/registrationDetailAction.js","components/Registration/EnterDetails.js","components/Logon/AcceptTerms.js","actions/createUserNameAction.js","components/Registration/CreateUsernamePassword.js","components/common/Dropdown.js","actions/createSecurityQuestionAction.js","components/Registration/CreateSecurityQuestions.js","components/Registration/MockSuccessfulRegistrated.js","components/Registration/index.js","components/common/NoticeMsg.js","components/Logon/InputCredential.js","components/Logon/CheckMobile.js","components/Logon/index.js","components/common/FullScreenContainer.js","components/Exceptions/RestrictedAccess.js","components/Exceptions/UnsupportedBrowser.js","components/Exceptions/ErrorCode.js","components/Exceptions/CommonLockedAccount.js","components/Exceptions/NoContactDetails.js","components/GvResult/GvResult.js","components/GvResult/GvError.js","components/GvResult/GvSSOError.js","components/GvResult/GvMessage.js","components/common/AppBackgroundKaleido.js","components/CCM/CookieNotice.js","components/common/LanguageSelectContainer.js","App.js","actions/contactOptionsAction.js","util/tealium.js","index.js"],"names":["module","exports","__webpack_require__","p","content","i","options","hmr","transform","insertInto","undefined","locals","urlEscape","___CSS_LOADER_URL___0___","___CSS_LOADER_URL___1___","___CSS_LOADER_URL___2___","___CSS_LOADER_URL___3___","___CSS_LOADER_URL___4___","___CSS_LOADER_URL___5___","___CSS_LOADER_URL___6___","___CSS_LOADER_URL___7___","___CSS_LOADER_URL___8___","___CSS_LOADER_URL___9___","___CSS_LOADER_URL___10___","___CSS_LOADER_URL___11___","___CSS_LOADER_URL___12___","___CSS_LOADER_URL___13___","___CSS_LOADER_URL___14___","___CSS_LOADER_URL___15___","___CSS_LOADER_URL___16___","___CSS_LOADER_URL___17___","___CSS_LOADER_URL___18___","___CSS_LOADER_URL___19___","___CSS_LOADER_URL___20___","___CSS_LOADER_URL___21___","___CSS_LOADER_URL___22___","___CSS_LOADER_URL___23___","___CSS_LOADER_URL___24___","___CSS_LOADER_URL___25___","___CSS_LOADER_URL___26___","___CSS_LOADER_URL___27___","___CSS_LOADER_URL___28___","___CSS_LOADER_URL___29___","___CSS_LOADER_URL___30___","___CSS_LOADER_URL___31___","___CSS_LOADER_URL___32___","___CSS_LOADER_URL___33___","___CSS_LOADER_URL___34___","___CSS_LOADER_URL___35___","___CSS_LOADER_URL___36___","___CSS_LOADER_URL___37___","___CSS_LOADER_URL___38___","___CSS_LOADER_URL___39___","___CSS_LOADER_URL___40___","___CSS_LOADER_URL___41___","___CSS_LOADER_URL___42___","___CSS_LOADER_URL___43___","___CSS_LOADER_URL___44___","___CSS_LOADER_URL___45___","___CSS_LOADER_URL___46___","___CSS_LOADER_URL___47___","___CSS_LOADER_URL___48___","___CSS_LOADER_URL___49___","___CSS_LOADER_URL___50___","___CSS_LOADER_URL___51___","___CSS_LOADER_URL___52___","___CSS_LOADER_URL___53___","___CSS_LOADER_URL___54___","___CSS_LOADER_URL___55___","___CSS_LOADER_URL___56___","___CSS_LOADER_URL___57___","___CSS_LOADER_URL___58___","___CSS_LOADER_URL___59___","___CSS_LOADER_URL___60___","___CSS_LOADER_URL___61___","___CSS_LOADER_URL___62___","___CSS_LOADER_URL___63___","___CSS_LOADER_URL___64___","___CSS_LOADER_URL___65___","___CSS_LOADER_URL___66___","___CSS_LOADER_URL___67___","___CSS_LOADER_URL___68___","___CSS_LOADER_URL___69___","___CSS_LOADER_URL___70___","___CSS_LOADER_URL___71___","___CSS_LOADER_URL___72___","___CSS_LOADER_URL___73___","___CSS_LOADER_URL___74___","___CSS_LOADER_URL___75___","___CSS_LOADER_URL___76___","___CSS_LOADER_URL___77___","___CSS_LOADER_URL___78___","___CSS_LOADER_URL___79___","___CSS_LOADER_URL___80___","___CSS_LOADER_URL___81___","___CSS_LOADER_URL___82___","___CSS_LOADER_URL___83___","___CSS_LOADER_URL___84___","___CSS_LOADER_URL___85___","___CSS_LOADER_URL___86___","___CSS_LOADER_URL___87___","___CSS_LOADER_URL___88___","___CSS_LOADER_URL___89___","___CSS_LOADER_URL___90___","___CSS_LOADER_URL___91___","___CSS_LOADER_URL___92___","___CSS_LOADER_URL___93___","___CSS_LOADER_URL___94___","___CSS_LOADER_URL___95___","___CSS_LOADER_URL___96___","___CSS_LOADER_URL___97___","___CSS_LOADER_URL___98___","___CSS_LOADER_URL___99___","___CSS_LOADER_URL___100___","___CSS_LOADER_URL___101___","___CSS_LOADER_URL___102___","___CSS_LOADER_URL___103___","___CSS_LOADER_URL___104___","___CSS_LOADER_URL___105___","___CSS_LOADER_URL___106___","___CSS_LOADER_URL___107___","___CSS_LOADER_URL___108___","___CSS_LOADER_URL___109___","___CSS_LOADER_URL___110___","___CSS_LOADER_URL___111___","___CSS_LOADER_URL___112___","___CSS_LOADER_URL___113___","___CSS_LOADER_URL___114___","___CSS_LOADER_URL___115___","___CSS_LOADER_URL___116___","___CSS_LOADER_URL___117___","___CSS_LOADER_URL___118___","___CSS_LOADER_URL___119___","___CSS_LOADER_URL___120___","___CSS_LOADER_URL___121___","___CSS_LOADER_URL___122___","___CSS_LOADER_URL___123___","___CSS_LOADER_URL___124___","___CSS_LOADER_URL___125___","___CSS_LOADER_URL___126___","___CSS_LOADER_URL___127___","___CSS_LOADER_URL___128___","___CSS_LOADER_URL___129___","___CSS_LOADER_URL___130___","___CSS_LOADER_URL___131___","___CSS_LOADER_URL___132___","___CSS_LOADER_URL___133___","___CSS_LOADER_URL___134___","___CSS_LOADER_URL___135___","___CSS_LOADER_URL___136___","___CSS_LOADER_URL___137___","___CSS_LOADER_URL___138___","___CSS_LOADER_URL___139___","___CSS_LOADER_URL___140___","___CSS_LOADER_URL___141___","___CSS_LOADER_URL___142___","___CSS_LOADER_URL___143___","___CSS_LOADER_URL___144___","___CSS_LOADER_URL___145___","___CSS_LOADER_URL___146___","___CSS_LOADER_URL___147___","___CSS_LOADER_URL___148___","___CSS_LOADER_URL___149___","___CSS_LOADER_URL___150___","___CSS_LOADER_URL___151___","___CSS_LOADER_URL___152___","___CSS_LOADER_URL___153___","___CSS_LOADER_URL___154___","___CSS_LOADER_URL___155___","___CSS_LOADER_URL___156___","___CSS_LOADER_URL___157___","___CSS_LOADER_URL___158___","___CSS_LOADER_URL___159___","___CSS_LOADER_URL___160___","___CSS_LOADER_URL___161___","___CSS_LOADER_URL___162___","___CSS_LOADER_URL___163___","___CSS_LOADER_URL___164___","___CSS_LOADER_URL___165___","___CSS_LOADER_URL___166___","___CSS_LOADER_URL___167___","___CSS_LOADER_URL___168___","___CSS_LOADER_URL___169___","___CSS_LOADER_URL___170___","___CSS_LOADER_URL___171___","___CSS_LOADER_URL___172___","___CSS_LOADER_URL___173___","___CSS_LOADER_URL___174___","___CSS_LOADER_URL___175___","___CSS_LOADER_URL___176___","___CSS_LOADER_URL___177___","___CSS_LOADER_URL___178___","___CSS_LOADER_URL___179___","___CSS_LOADER_URL___180___","___CSS_LOADER_URL___181___","___CSS_LOADER_URL___182___","___CSS_LOADER_URL___183___","___CSS_LOADER_URL___184___","___CSS_LOADER_URL___185___","___CSS_LOADER_URL___186___","___CSS_LOADER_URL___187___","___CSS_LOADER_URL___188___","___CSS_LOADER_URL___189___","___CSS_LOADER_URL___190___","___CSS_LOADER_URL___191___","___CSS_LOADER_URL___192___","___CSS_LOADER_URL___193___","___CSS_LOADER_URL___194___","___CSS_LOADER_URL___195___","___CSS_LOADER_URL___196___","___CSS_LOADER_URL___197___","___CSS_LOADER_URL___198___","___CSS_LOADER_URL___199___","___CSS_LOADER_URL___200___","___CSS_LOADER_URL___201___","___CSS_LOADER_URL___202___","___CSS_LOADER_URL___203___","___CSS_LOADER_URL___204___","___CSS_LOADER_URL___205___","___CSS_LOADER_URL___206___","___CSS_LOADER_URL___207___","___CSS_LOADER_URL___208___","___CSS_LOADER_URL___209___","___CSS_LOADER_URL___210___","___CSS_LOADER_URL___211___","___CSS_LOADER_URL___212___","___CSS_LOADER_URL___213___","___CSS_LOADER_URL___214___","___CSS_LOADER_URL___215___","___CSS_LOADER_URL___216___","___CSS_LOADER_URL___217___","___CSS_LOADER_URL___218___","___CSS_LOADER_URL___219___","___CSS_LOADER_URL___220___","___CSS_LOADER_URL___221___","___CSS_LOADER_URL___222___","___CSS_LOADER_URL___223___","___CSS_LOADER_URL___224___","___CSS_LOADER_URL___225___","___CSS_LOADER_URL___226___","___CSS_LOADER_URL___227___","___CSS_LOADER_URL___228___","___CSS_LOADER_URL___229___","___CSS_LOADER_URL___230___","___CSS_LOADER_URL___231___","___CSS_LOADER_URL___232___","___CSS_LOADER_URL___233___","___CSS_LOADER_URL___234___","___CSS_LOADER_URL___235___","___CSS_LOADER_URL___236___","___CSS_LOADER_URL___237___","___CSS_LOADER_URL___238___","___CSS_LOADER_URL___239___","___CSS_LOADER_URL___240___","push","initialState","data","refreshDigitCodeStatus","isLoading","error","otpSdkError","validationError","selectedOption","hasError","target","resolveInput","validateUsername","validateSecurityQuestion","securityQuestion","_authenticator","_authenticatorMethodConfig","question","userName","otpStatus","seqQsStatus","isRenderLastAttemptMsg","terms","termText","loggingIn","validationErrorUsername","validationErrorPassword","disableTermsBtn","gvMode","url","RBtoken","isMockLogin","pending","securityQuestionList","securityQuestionBtn","validateDetails","envConfig","environments","find","env","window","location","host","currentEnvironment","defaultCfgLang","languageSlectList","locale","hasSelectedLang","localStorage","getItem","selectedLangCode","selectedLang","WVLangMapSelected","cacheLangCodeByLang","language","code","setItem","languageReducer_selectedLang","hideLanguageSelect","isShowContianer","alreadyInitMLContainer","length","type","otpType","AppReducers","combineReducers","resetPassword","state","arguments","action","createPasswordSuc","payload","logon","encryptedpsw","isLastAttempt","contactOptions","emailOtpList","list","digitCode","lockedAccount","registrationDetails","createUsername","languageSession","isHideLanguageSelect","lockedType","currentOTPType","rootReducer","configureStore","initialStates","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","defaultSelectedLang","map","item","inedx","selected","labelTitle","en_GB","lang","registrationTerms","label","html","registrationTermsLUX","registrationTermsCH","en_HK","en_US","en_CI","fr_LU","messages","en-GB","enGB","en-HK","enHK","en-US","enUS","en-CI","enCI","zh-sim-HK","zh-trd-HK","fr-LU","frLU","en-LU","addLocaleData","en","zh","fr","connect","Component","constructor","props","super","render","children","this","React","createElement","IntlProvider","key","languageActions","hideSelectOption","updateLanguage","showMobileLanguageContainer","LanguageListContainer","styled","div","dispatch","selectLanguage","value","languageList","className","style","border","index","isSelected","tabIndex","data-testid","onClick","text","LanguageDropDownContainer","injectIntl","category","_","Button","color","HeaderContainer","attrs","Title","Logo","img","src","whiteLogo","version","startCounter","counterWarning","showDialog","setState","counterEndTime","Date","getTime","countdownTimerRef","startTimer","onCountdownDone","hideDialog","componentDidMount","changeToMobile","addEventListener","innerWidth","showLanguageList","realm","MLforLUDisplayToggle","languageEle","LanguageDropDown","LanguageList","isShowLanguage","currentUrlPathIsShowHeaderFooter","id","alt","intl","formatMessage","history","createHashHistory","Footer","handleClick","isCCM","FormattedMessage","href","getFullYear","isTextSelected","selecttxt","getSelection","document","selection","createRange","initializedTransmitSdkPromise","resetIdleTimeOut","promiseInitializedTransmitSdk","Promise","accept","reject","requirejs","xm","sdk","XmSdk","endpoint","transmitHost","appId","apiTokenId","apiToken","connectionSettings","com","ts","mobile","SDKConnectionSettings","create","setRealm","crypto","setCryptoMode","cryptoMode","setConnectionSettings","setLocale","transmitSDK","initialize","then","resetIdle","e","time","clearTimeout","setTimeout","idleTimeOutValid","sessionStorage","console","log","changeIdleTimeOutValid","bool","encryptPassword","password","publicKey","jse","JsEncrypt","setPublicKey","encrypt","guid","replace","c","msCrypto","arr2","Uint32Array","r","getRandomValues","Math","pow","toString","isLowerEnv","includes","LoginHelper","receiveMessage","event","source","top","postMessage","origin","componentDidUpdate","prevState","pagestate","pageStatus","status","fetchSimulate","AMSESSION","clientId","accountStatus","match","params","uuid","opts","method","headers","OIDCFilter","Content-Type","X-Requested-With","axios","protocol","iframeSrc","wvUri","catch","errorReason","response","message","errorCode","fetchSession","JSON","stringify","amSession","ariaErrorText","errorText","getElementById","focus","show","loadingTextAria","REALM","multiTenancy","cookie","LoadingContainer","toLowerCase","Loader","size","role","aria-label","onConfirmationClick","titleIconRight","title","ariaTitle","titleIcon","confirmationBtnDisabled","customizedFooter","confirmationBtnTitle","confirmationBtnStyle","dialogWidth","disabledButton","SecurityModalContainer","width","secondary","hidden","disabled","lockedTypeActions","resetState","updateLockedType","lockeTypeName","LogoMarkContainer","showLogo","selectChinese","indexOf","isLoginPage","onkeydown","activeElement","nodeName","keyCode","componentWillUnmount","removeEventListener","title2","hideButton","currentStep","customizedClass","titles","buttonEle","onKeyDown","isHideButton","hideBorderTop","LogoMark","ContactsContainer","invokePageEvent","prevProps","targets","Array","isArray","hash","tealiumHub","PT005","PT010","PT017","contactRadioes","valueIdentifier","_targetIdentifier","_channel","_description","SecurityModal","sendCodeToContact","Radio","Group","name","items","active","activeOption","handleChange","lastAttemptTip","prechooseTargetOrGoToNoContact","prechooseEmailOption","CountDown","requestNewCode","ET009","countdownButtonText","resentBtnHasBeenClicked","isRealmCH","clickFn","clearFn","showMsg","isTouched","duration","countDown","setInterval","clearInterval","caseButtonComp","countMsg","msgInFr","Object","assign","Fragment","Link","icon","alignment","compShownAfterResentClicked","shouldShowBtnAtTheBeginning","CountContent","defaultProps","startNow","updateLockedAccountInfo","ModalContent","showHeader","authenticateError","handleEnterHit","dataset","otpindex","Number","[object Object]","querySelector","select","otpFinished","every","caseKeyCode8","isAtTheOnePostion","isAtTheZeroPostion","isAtTheFirstInputBox","caseKeyNumber","caseArrowLeft","lastInputBox","caseArrowRight","nextInputBox","handleKeyDown","selectionStart","clearCode","0","1","2","3","4","5","failCallback","submitErrorFromTransmit","get","otpErrorCounter","pathname","parseInt","previousState","verificationCode","verificationCodelegal","validateAndSubmitOTP","forEach","submitOTP","resendOTPAndRestartCountdown","resentOTP","getExtraComponentAfterResentBtnClicked","clickEmailOTPEntryBtn","getErrorComp","errorContent","getCountdownComp","extraComponent","shouldShowHeader","getMainTextAndAriaLabel","isAriaLabel","finalText","description","des","str","split","char","isNaN","slice","handleMaskNumber","getIntlText","touched","inputType","isIe","storeThis","componentWillReceiveProps","nextProps","snapshot","ET010","inputBox","getElementsByTagName","getComputedStyle","webkitTextSecurity","PT006","PT011","PT018","errorComp","countDownComponent","takeUp","isDisable","aria-hidden","data-otpindex","onChange","autoComplete","onFocus","ET008","aria-live","aria-atomic","currentOTPTypeActions","updateCurrentOTPType","updateSelectedTarget","freeze","emailOTPcfg","updateUserLockedType","ET007","selectedTarget","input","TargetBasedAuthenticatorInput","createTargetSelectionRequest","resolveInputFromTransmit","InputOrControlResponse","createInputResponse","updateSelectedOption","ET006","phoneTargets","emailTargets","itemSelected","testPhoneTargets","digitCodeString","OtpInputOtpSubmission","createOtpSubmission","inputTargetBased","createAuthenticatorInput","btnSubmitIsLoading","formInput","FormInput","createFormInputSubmissionRequest","otpvalue","acceptFN","resend","OtpInputRequestResend","createOtpResendRequest","emailItem","promiseRecoveryForError","errorObject","validRecoveries","defaultRecovery","isRegistrationJourney","resolve","AuthenticationErrorRecovery","Fail","errorRecoveryMethod","SelectAuthenticator","startSession","endSession","setGeneratedOtp","format","promiseInput","rejectInputFromTransmit","promiseFormInput","setPromiseHandlers","setAvailableTargets","mixRawTargets","lastItem","pop","splice","rejectFN","concatName","OptionsListPhone","EnterCode","OptionsListEmail","SecurityTextInputContainer","customClassName","isErrorTip","emptyFunc","clearValue","getSelfFocused","nodeRef","current","validateFromParent","handleFocus","toggleMask","iconUrl","UnMaskedEye","toggleMaskPsw","MaskedEye","UnMaskedEyeError","MaskedEyeError","func","preventDefault","createRef","onRef","onUnload","onBlur","placeHolder","hideLabel","ariaDescribedby","isPswInput","eyeClass","htmlFor","Input","aria-invalid","aria-describedby","ref","placeholder","resetPasswordActions","validateUsernameIsLoading","storeUserName","firstPartText","middlePartText","afterPartText","middlePartLessText","defaultForLongThan","localestr","typeName","result","qestionLessThan3Lu","longerThan","unameNeddlessThan4Lu","defaultForLessThan","questionNeedUnder31","lessThan","unameMoreThan77Lu","usernameCommonValidate","typeStr","isResetPassword","test","isContainKeyOnlyLetterNumberSpecailChra","createPasswordValidate","errorMsg","securityQuestionCreateValidate","opt","customizeSpecifiedWords","toUpperCase","val","step","string","limit","err","lowerCaseVal","substr","n","m","reverse","join","isContainKeyboardSequence","tolerance","valLength","keys","some","eachCharacterCountToleranceCheck","times","sameCounter","isSameCharacterRepeted1","WarningMsgContainer","_ref","warningMsg","plain","Notification","warning","inline","CreatePasswordContainer","clearSavedStatus","currentProps","newFirstPasswordilegalMsg","firstPasswordilegalMsg","newSecondPasswordlegal","secondPasswordlegal","password1verified","password2verified","submit","ET044","validateFirstInput","validateSecondInput","save","firstPassword","encrypted","e2eState","e2ePublicKey","isSame","secondPassword","newfirstPassword","doubleValiadtePsw","firstPasswordComp","secondPasswordComp","jsonData","E2EE_State","globalHistory","onContinue","errorShowType","onError","PT019","firstErrorComp","WarningMsg","secondErrorComp","SecurityTextInput","comp","ET043","makeLogoutRequest","async","logout","logonActions","username","successCallback","getState","policyParams","clientContext","logonInit","authenticate","successfulAuth","isMockLoginOr","cookieVal","gvModel","hds","Headers","suc","callSecurityContext","logonFetchDataSuccess","caseError","logonHasErrored","logonFeachTerms","newTerms","switchToGVLogin","gvLinkProfile","encryptedPsw","isMockLogins","isLastAttempts","isPendingResponse","removeItem","timestamp","AMSession","Cache-Control","ref_data_url","issued_token","getData","getErrorCode","locked","getMessage","_errorCode","_message","ForgotPasswordContainer","DisplayLastAttamptContainer","isLastAttemptTime","validateInput","usernameWarningMsg","submitUsername","ET033","invokeResetPasswordPolicy","handleUserNameResetPassword","res","statusText","isValidUsername","reason","errorStatus","displayErrorMsg","PT015","urlParam","usernameErrorComp","ET034","submitErrorComp","retryComp","ET032","SecurityQuestionContainer","validateUsernameData","otpStatusResetPWD","securityQuestionStatusResetPWD","answerWarningMsg","jumpTo","accountLocked","answer","validationFailMsg","quesion1Obj","SecurityQuestionAndAnswer","createAnswerToQuestion","securityQuestionObj","SecurityQuestionAnswer","createWithText","inputResponse","SecurityQuestionInputResponse","createSecurityQuestionAnswersInputResponse","securityQuestionComp","submitAnswer","ET036","setInputStep","currentStepIndex","maxStep","getSecurityQuestions","PT016","ET037","answerErrorComp","lastAttemptComp","textId","_id","ET035","Loading","animationLoader","strokeDasharrayLength","strokeDashoffset","requestAnimationFrame","strokeDasharrayPercentage","Showbox","dialogHeight","viewBox","cx","cy","fill","strokeWidth","strokeMiterlimit","strokeDasharray","sendCodeIsLoading","mappingStepToComponent","component","ForgotPassword","loadedComponents","that","SecurityQuestion","afterLoad","GenericOTP","keyPath","StepCreatePassword","renderedComponent","mappedStepToComponent","zIndex","registrationActions","validateDetailsIsLoading","resetDetailsError","fieldValidationRegEx","UKLN","birthDay","birthMonth","birthYear","birthDateOrder","default","EnterDetailsContainer","disableContinue","reDuration","startCount","count","enableAcceptButton","registrationWarningMsg","verifyAttempts","setVerifyAttempts","ET016","validate","setRegistrationWarningMsg","errorType","autoFocus","nextIndex","dateBirthSort","nextInputComp","birthDateRefs","validateDateOfBirth","newState","allFieldArr","firstName","lastName","firstname","surname","dateofbirth","avaloqid","onFatal","firstNameValid","lastNameValid","UKLNValid","birthDayValid","birthMonthValid","birthYearValid","termsContentRef","PT009","birthdateComps","ET015","AcceptTermsContainer","isInUS","selectedCnLang","disabledTerms","isActive","activeExpandListIndex","handleClickMultiple","activeIndexList","without","concat","scrollDownDetect","o","offsetHeight","scrollTop","scrollHeight","tcVersion","date","ET014","PT008","componentWillMount","isInCH","Accordion","fluid","exclusive","Header","Content","dangerouslySetInnerHTML","__html","createUserNameActions","createUserNameIsLoading","CreateUsernamePasswordContainer","phoneindex","disableCreateUsernameBtn","ET024","firstPasswordlegalMsg","secondPasswordlegalMsg","usernameilegalMsg","usernamelegalMsg","userWarningMsg","validateUsernameInput","validateResult","usernameComp","newSecondPassword","secondMsg","submitUserName","alias","getWarningMsg","msg","ids","ET025","getElement","getUsernameCom","shouldShowPasswordPasrt","ET023","getFirstPasswordCom","getSecondPasswordCom","getWarningMsgCom","userWarningMsgErrorComp","setUsernameMsg","PT012","testShouldShowPasswordPasrt","DropdownContainer","toggleSelect","openListStause","toggleSelectCallBack","isShow","onOptionSelect","dropdownList","optionList","selectedId","entry","aria-selected","translated","_text","aria-expanded","securityQuestionListActions","getSecurityQuestionListSuccess","CreateSecurityQuestionsContainer","disableButton","questionsArray","validateAnswer1","answer1","answer1WarningMsg","systemWarningMsg","validateAnswer2","answer2","answer2WarningMsg","onQuestion1Select","ET028","securityQuestionList2","filter","String","question1","__questionList1Comp","onQuestion2Select","securityQuestionList1","question2","__questionList2Comp","ET030","qa","questionList1","questionList2","PT013","next","answer1ErrorComp","answer2ErrorComp","systemErrorComp","Dropdown","ET027","ET029","stepNumber","maxNumber","stepDescription","questionsList","a","RegistratedSuccessContainer","goAndroidPic","goIphonePic","switchImage","imageAndroidSrc","androidTrd","imageIphoneSrc","iPhoneTrd","androidSim","iPhoneSim","android","iPhone","PT014","ET031","showAppDownloadAd","cellphone","RegistrationContainer","AcceptTerms","EnterDetails","myRef","CreateUsernamePassword","CreateSecurityQuestions","MockSuccessfulRegistrated","processJsonData","actionContext","JsonDataProcessingResult","NoticeMessageContainer","NoticeMsg","msgText","contextual","danger","success","secrKey","InputCredentialContainer","registrationError","disableLogin","logonValidationErrorUsername","logonValidationErrorPassword","encryptedPswDone","isMockLoginJourney","nextState","changeInputType","pswType","switchError","reasonMsg","failReason","statusCode","failReasons","errorcode","subStep","wrongCredentialFromBackend","__usernameComp","createEscapeRequest","escapeOptions","checkApiStatusAndAction","countTime","timer","usn","fakeTest","ET002","aes","psw","dummy","register","cancelCurrentRunningControlFlow","PasswordInput","_escapeOptions","getEscapeOptions","getTip","colors","ET012","caseLink","caseCustomizedFooter","caseErrorComp","pswWarningMsg","pswErrorComp","caseComps","registeredErrorComp","testSubStep","__passwordComp","ET001","PT001","search","substring","componentWillUpdate","CheckMobileContanier","isMulLanguage","ErrorContent","confirmTrust","MobileApproveInputRequestPolling","createRequestPollingInput","inputs","countdownTimer","initSeconds","accsibilitySecondsCountdown","timerToZero","timeoutEle","confirmTryAgain","ET053","counter","showTryAgainScreen","descriptionEle","tryAnotherAuthonticator","ET054","cofirmTryAnother","PT023","PT024","waitForConfirm","timerP1","RetryAuthenticator","ChangeAuthenticator","selectAuthenticator","dispatchAction","AuthenticatorSelectionResult","createSelectionRequest","isAuthentication","PT022","appsignNote","tabindex","appSignBg","loader","b","setCreatedApprovalInfo","InputCredential","CheckMobile","ModalContainer","RestrictedAccessContainer","PT020","FullScreenContainer","UnsupportedBrowserContainer","UnsupportedBrowser","ErrorCode","region","contactMap","HK","copy","phone","email","SG","CommonLockedAccountContainer","lockedAccountError","renderDisplayMessage","phoneTxt","eMailTxt","HelpLineTxt","replaceHotLineTxt","replacePhoneTxt","modalTitle","modalAriaTitle","backToLogonText","unknownText","titleText","noConnectionBackToLogonText","ET004","PT003","ET005","PT004","ET046","ET003","PT002","isOtpTypeSMS","NoContactDetailsContainer","GvResultContainer","gvLogon","display","GvErrorContianer","go","GVSSOErrorContainer","close","GvMessageContianer","BackgroundKaleido","backgroundKaleidoDt","backgroundKaleidoTl","backgroundKaleidoTp","backgroundKaleidoMb","NoticeContent","scrollToAnchor","popUpModal","middleContent","longTableContent","scope","bottomTable","NoticeWrapper","anchorName","anchorEle","scrollIntoView","block","behavior","utag","gdpr","showConsentPreferences","settingModal","parentNode","removeChild","LanguageSelectBox","isshowcontianer","promiseUpdateLanguage","updateFunc","resolutionFunc","rejectionFunc","closeContainer","currentSessionId","pathForGenericLock","emailOtpLit","emailAddress","initRegistrationSdk","prepareSDK","clearAllData","caseBussinessUrl","caseTealiumUrl","caseNotBussnessUrl","caseParsedBody","parsedBody","lockedCheck","isLockedQuestion","error_code","isLockedOTP","caseUrl","caseResponseStatus","_this","caseRequestResponse","currentUrl","responseText","parse","setUiHandler","createFormSession","formId","currentJourney","RegistrationComp","registrationComponents","logonComponents","LogonComp","ResetPasswordComp","resetPasswordComponents","createMobileApproveAuthSession","instructions","createOtpAuthSession","stepName","_possibleTargets","_lastSelectedTarget","escapeoptions","raw_data","createSecurityQuestionAuthSession","createSecurityQuestions","existingSessions","caseRegistrationError","journeyRegistrationStart","components","invokeAnonymousPolicy","journeyLogonStart","caseResetPasswordErrorcode","_data","additional_data","caseResetPasswordError","toDisplayUserErrorMsg","appComp","journeyResetPasswordStart","createPasswordAuthSession","startActivityIndicator","endActivityIndicator","controlFlowStarting","controlFlowEnded","controlFlowCancelled","controlFlowActionStarting","controlFlowActionEnded","getInformationResponse","ConfirmationInput","getConfirmationResponse","handlePolicyRedirect","redirectType","policyId","userId","additionalParameters","RedirectInput","RedirectResponseType","RedirectToPolicy","handlePolicyRejection","buttonText","failureData","currentRegistrationStep","currentLogonStep","currentResetpasswordStep","switchselectedLangForDocTitle","ActiveXObject","innerHTML","unSupportedBrowsers","origOpen","XMLHttpRequest","prototype","open","readyState","apply","shouldIncludeDisabledAuthenticatorsInMenu","attempt","maskedEmailAddressWeb","defaultAuth","currentUrlPathIsNotLogon","showBackgroundImg","AppContainer","AppHeader","Router","ContentContainer","ParentContainer","AppBackgroundKaleido","Switch","Route","exact","path","Logon","ResetPassword","Registration","RestrictedAccess","CommonLockedAccount","NoContactDetails","ModalPage","GvResult","GvError","GvSSOError","GvMessage","CookieNotice","Redirect","from","to","AppFooter","LanguageSelectContainer","site_domain","country","tealiumCountry","subregion","buttonClick","textEntry","pswRest","hsbcPrivateBank","wealthView","findText","tealiumTrackView","tagAttribute","customer_id","TMS","trackView","warn","tealiumTrackEvent","trackEvent","event_category","event_action","event_content","buttonLabel","journeyName","funnel_name","funnel_step","funnel_step_name","errorMessage","notificationMessage","dropdownName","textBoxName","raw_datalayer","page_channel","site_region","site_subregion","site_country","site_entity","site_brand","page_business_line","page_customer_group","page_url","page_name","page_language","page_type","page_category","page_subcategory","site_section","page_security_level","store","tealiumConifg","tealiumEnv","enabledLoadUtagJs","utag_cfg_ovrd","noview","process","d","insertBefore","ReactDOM","Provider","Intlization","App"],"mappings":"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,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAqEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,0DAAyFC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,0DAAyFC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCAAsEC,GAAA,uCA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","file":"static/js/main.37ff7a0d.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/HSBC_Logo_White.43a62bb4.svg\";","module.exports = __webpack_public_path__ + \"static/media/ad_phone.d3400f2e.png\";","module.exports = __webpack_public_path__ + \"static/media/Android_sim.a00bf9f0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Android_trd.a3c99c64.jpg\";","module.exports = __webpack_public_path__ + \"static/media/iphone_sim.4641acc3.svg\";","module.exports = __webpack_public_path__ + \"static/media/iphone_trd.97118bcf.svg\";","module.exports = __webpack_public_path__ + \"static/media/appsign_bg.20b9cf01.png\";","module.exports = __webpack_public_path__ + \"static/media/loader.3a9024d2.svg\";","module.exports = __webpack_public_path__ + \"static/media/dsp_background_tl.139a1911.png\";","module.exports = __webpack_public_path__ + \"static/media/dsp_background_tp.e73b66ee.png\";","module.exports = __webpack_public_path__ + \"static/media/dsp_background_dt.e00727b8.png\";","module.exports = __webpack_public_path__ + \"static/media/dsp_background_mb.cb6aa5b1.png\";","\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/resolve-url-loader/index.js??ref--6-oneOf-3-2!../node_modules/sass-loader/dist/cjs.js??ref--6-oneOf-3-3!./app.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/resolve-url-loader/index.js??ref--6-oneOf-3-2!../node_modules/sass-loader/dist/cjs.js??ref--6-oneOf-3-3!./app.scss\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/resolve-url-loader/index.js??ref--6-oneOf-3-2!../node_modules/sass-loader/dist/cjs.js??ref--6-oneOf-3-3!./app.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Bd.eot\"));\nvar ___CSS_LOADER_URL___1___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Bd.woff\"));\nvar ___CSS_LOADER_URL___2___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Bd.ttf\"));\nvar ___CSS_LOADER_URL___3___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Md.eot\"));\nvar ___CSS_LOADER_URL___4___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Md.woff\"));\nvar ___CSS_LOADER_URL___5___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Md.ttf\"));\nvar ___CSS_LOADER_URL___6___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Lt.eot\"));\nvar ___CSS_LOADER_URL___7___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Lt.woff\"));\nvar ___CSS_LOADER_URL___8___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Lt.ttf\"));\nvar ___CSS_LOADER_URL___9___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Rg.eot\"));\nvar ___CSS_LOADER_URL___10___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Rg.woff\"));\nvar ___CSS_LOADER_URL___11___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Rg.ttf\"));\nvar ___CSS_LOADER_URL___12___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Th.eot\"));\nvar ___CSS_LOADER_URL___13___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Th.woff\"));\nvar ___CSS_LOADER_URL___14___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/UniversNext/UniversNextforHSBCW02-Th.ttf\"));\nvar ___CSS_LOADER_URL___15___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/logos/logo.svg\"));\nvar ___CSS_LOADER_URL___16___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/gallery/overview.png\"));\nvar ___CSS_LOADER_URL___17___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/gallery/overview_active.png\"));\nvar ___CSS_LOADER_URL___18___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/gallery/grid.png\"));\nvar ___CSS_LOADER_URL___19___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/gallery/grid_active.png\"));\nvar ___CSS_LOADER_URL___20___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/icons.eot\"));\nvar ___CSS_LOADER_URL___21___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/icons.woff2\"));\nvar ___CSS_LOADER_URL___22___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/icons.woff\"));\nvar ___CSS_LOADER_URL___23___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/icons.ttf\"));\nvar ___CSS_LOADER_URL___24___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/icons.svg\"));\nvar ___CSS_LOADER_URL___25___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/outline-icons.eot\"));\nvar ___CSS_LOADER_URL___26___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/outline-icons.woff2\"));\nvar ___CSS_LOADER_URL___27___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/outline-icons.woff\"));\nvar ___CSS_LOADER_URL___28___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/outline-icons.ttf\"));\nvar ___CSS_LOADER_URL___29___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/fonts/icons/outline-icons.svg\"));\nvar ___CSS_LOADER_URL___30___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/aed.png\"));\nvar ___CSS_LOADER_URL___31___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/afn.png\"));\nvar ___CSS_LOADER_URL___32___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/amd.png\"));\nvar ___CSS_LOADER_URL___33___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ang.png\"));\nvar ___CSS_LOADER_URL___34___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/aoa.png\"));\nvar ___CSS_LOADER_URL___35___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ars.png\"));\nvar ___CSS_LOADER_URL___36___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ats.png\"));\nvar ___CSS_LOADER_URL___37___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/aud.png\"));\nvar ___CSS_LOADER_URL___38___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/awg.png\"));\nvar ___CSS_LOADER_URL___39___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/azn.png\"));\nvar ___CSS_LOADER_URL___40___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bam.png\"));\nvar ___CSS_LOADER_URL___41___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bbd.png\"));\nvar ___CSS_LOADER_URL___42___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bdt.png\"));\nvar ___CSS_LOADER_URL___43___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bef.png\"));\nvar ___CSS_LOADER_URL___44___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bgn.png\"));\nvar ___CSS_LOADER_URL___45___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bhd.png\"));\nvar ___CSS_LOADER_URL___46___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bif.png\"));\nvar ___CSS_LOADER_URL___47___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bmd.png\"));\nvar ___CSS_LOADER_URL___48___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bnd.png\"));\nvar ___CSS_LOADER_URL___49___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bob.png\"));\nvar ___CSS_LOADER_URL___50___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bov.png\"));\nvar ___CSS_LOADER_URL___51___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/brl.png\"));\nvar ___CSS_LOADER_URL___52___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bsd.png\"));\nvar ___CSS_LOADER_URL___53___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/btn.png\"));\nvar ___CSS_LOADER_URL___54___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bwp.png\"));\nvar ___CSS_LOADER_URL___55___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/byn.png\"));\nvar ___CSS_LOADER_URL___56___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/bzd.png\"));\nvar ___CSS_LOADER_URL___57___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cad.png\"));\nvar ___CSS_LOADER_URL___58___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cdf.png\"));\nvar ___CSS_LOADER_URL___59___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/che.png\"));\nvar ___CSS_LOADER_URL___60___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/chf.png\"));\nvar ___CSS_LOADER_URL___61___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/chw.png\"));\nvar ___CSS_LOADER_URL___62___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/clf.png\"));\nvar ___CSS_LOADER_URL___63___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/clp.png\"));\nvar ___CSS_LOADER_URL___64___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cnh.png\"));\nvar ___CSS_LOADER_URL___65___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cnt.png\"));\nvar ___CSS_LOADER_URL___66___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cny.png\"));\nvar ___CSS_LOADER_URL___67___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cop.png\"));\nvar ___CSS_LOADER_URL___68___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cou.png\"));\nvar ___CSS_LOADER_URL___69___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/all.png\"));\nvar ___CSS_LOADER_URL___70___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/crc.png\"));\nvar ___CSS_LOADER_URL___71___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cuc.png\"));\nvar ___CSS_LOADER_URL___72___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cup.png\"));\nvar ___CSS_LOADER_URL___73___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cve.png\"));\nvar ___CSS_LOADER_URL___74___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/cyp.png\"));\nvar ___CSS_LOADER_URL___75___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/czk.png\"));\nvar ___CSS_LOADER_URL___76___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/dem.png\"));\nvar ___CSS_LOADER_URL___77___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/djf.png\"));\nvar ___CSS_LOADER_URL___78___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/dkk.png\"));\nvar ___CSS_LOADER_URL___79___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/dop.png\"));\nvar ___CSS_LOADER_URL___80___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/dzd.png\"));\nvar ___CSS_LOADER_URL___81___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ecs.png\"));\nvar ___CSS_LOADER_URL___82___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/eek.png\"));\nvar ___CSS_LOADER_URL___83___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/egp.png\"));\nvar ___CSS_LOADER_URL___84___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ern.png\"));\nvar ___CSS_LOADER_URL___85___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/esp.png\"));\nvar ___CSS_LOADER_URL___86___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/eur.png\"));\nvar ___CSS_LOADER_URL___87___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/fim.png\"));\nvar ___CSS_LOADER_URL___88___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/fjd.png\"));\nvar ___CSS_LOADER_URL___89___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/fkp.png\"));\nvar ___CSS_LOADER_URL___90___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/frf.png\"));\nvar ___CSS_LOADER_URL___91___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gbp.png\"));\nvar ___CSS_LOADER_URL___92___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gel.png\"));\nvar ___CSS_LOADER_URL___93___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ghc.png\"));\nvar ___CSS_LOADER_URL___94___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ghs.png\"));\nvar ___CSS_LOADER_URL___95___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gip.png\"));\nvar ___CSS_LOADER_URL___96___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gmd.png\"));\nvar ___CSS_LOADER_URL___97___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gnf.png\"));\nvar ___CSS_LOADER_URL___98___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/grd.png\"));\nvar ___CSS_LOADER_URL___99___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gtq.png\"));\nvar ___CSS_LOADER_URL___100___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/gyd.png\"));\nvar ___CSS_LOADER_URL___101___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/hkd.png\"));\nvar ___CSS_LOADER_URL___102___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/hnl.png\"));\nvar ___CSS_LOADER_URL___103___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/hrk.png\"));\nvar ___CSS_LOADER_URL___104___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/htg.png\"));\nvar ___CSS_LOADER_URL___105___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/huf.png\"));\nvar ___CSS_LOADER_URL___106___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/idr.png\"));\nvar ___CSS_LOADER_URL___107___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/iep.png\"));\nvar ___CSS_LOADER_URL___108___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ils.png\"));\nvar ___CSS_LOADER_URL___109___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/inr.png\"));\nvar ___CSS_LOADER_URL___110___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/iqd.png\"));\nvar ___CSS_LOADER_URL___111___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/irr.png\"));\nvar ___CSS_LOADER_URL___112___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/isk.png\"));\nvar ___CSS_LOADER_URL___113___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/itl.png\"));\nvar ___CSS_LOADER_URL___114___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/jmd.png\"));\nvar ___CSS_LOADER_URL___115___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/jod.png\"));\nvar ___CSS_LOADER_URL___116___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/jpy.png\"));\nvar ___CSS_LOADER_URL___117___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kes.png\"));\nvar ___CSS_LOADER_URL___118___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kgs.png\"));\nvar ___CSS_LOADER_URL___119___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/khr.png\"));\nvar ___CSS_LOADER_URL___120___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kpw.png\"));\nvar ___CSS_LOADER_URL___121___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/krw.png\"));\nvar ___CSS_LOADER_URL___122___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kwd.png\"));\nvar ___CSS_LOADER_URL___123___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kyd.png\"));\nvar ___CSS_LOADER_URL___124___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/kzt.png\"));\nvar ___CSS_LOADER_URL___125___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lak.png\"));\nvar ___CSS_LOADER_URL___126___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lbp.png\"));\nvar ___CSS_LOADER_URL___127___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lkr.png\"));\nvar ___CSS_LOADER_URL___128___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lrd.png\"));\nvar ___CSS_LOADER_URL___129___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lsl.png\"));\nvar ___CSS_LOADER_URL___130___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ltl.png\"));\nvar ___CSS_LOADER_URL___131___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/luf.png\"));\nvar ___CSS_LOADER_URL___132___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lvl.png\"));\nvar ___CSS_LOADER_URL___133___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/lyd.png\"));\nvar ___CSS_LOADER_URL___134___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mad.png\"));\nvar ___CSS_LOADER_URL___135___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mdl.png\"));\nvar ___CSS_LOADER_URL___136___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mga.png\"));\nvar ___CSS_LOADER_URL___137___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mgf.png\"));\nvar ___CSS_LOADER_URL___138___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mkd.png\"));\nvar ___CSS_LOADER_URL___139___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mmk.png\"));\nvar ___CSS_LOADER_URL___140___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mnt.png\"));\nvar ___CSS_LOADER_URL___141___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mop.png\"));\nvar ___CSS_LOADER_URL___142___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mro.png\"));\nvar ___CSS_LOADER_URL___143___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mru.png\"));\nvar ___CSS_LOADER_URL___144___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mtl.png\"));\nvar ___CSS_LOADER_URL___145___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mur.png\"));\nvar ___CSS_LOADER_URL___146___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mvr.png\"));\nvar ___CSS_LOADER_URL___147___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mwk.png\"));\nvar ___CSS_LOADER_URL___148___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mxn.png\"));\nvar ___CSS_LOADER_URL___149___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mxv.png\"));\nvar ___CSS_LOADER_URL___150___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/myr.png\"));\nvar ___CSS_LOADER_URL___151___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mzm.png\"));\nvar ___CSS_LOADER_URL___152___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/mzn.png\"));\nvar ___CSS_LOADER_URL___153___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nad.png\"));\nvar ___CSS_LOADER_URL___154___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ngn.png\"));\nvar ___CSS_LOADER_URL___155___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nio.png\"));\nvar ___CSS_LOADER_URL___156___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nis.png\"));\nvar ___CSS_LOADER_URL___157___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nlg.png\"));\nvar ___CSS_LOADER_URL___158___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nok.png\"));\nvar ___CSS_LOADER_URL___159___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/npr.png\"));\nvar ___CSS_LOADER_URL___160___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ntd.png\"));\nvar ___CSS_LOADER_URL___161___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/nzd.png\"));\nvar ___CSS_LOADER_URL___162___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/omr.png\"));\nvar ___CSS_LOADER_URL___163___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pab.png\"));\nvar ___CSS_LOADER_URL___164___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pen.png\"));\nvar ___CSS_LOADER_URL___165___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pgk.png\"));\nvar ___CSS_LOADER_URL___166___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/php.png\"));\nvar ___CSS_LOADER_URL___167___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pkr.png\"));\nvar ___CSS_LOADER_URL___168___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pln.png\"));\nvar ___CSS_LOADER_URL___169___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pte.png\"));\nvar ___CSS_LOADER_URL___170___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/pyg.png\"));\nvar ___CSS_LOADER_URL___171___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/qar.png\"));\nvar ___CSS_LOADER_URL___172___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/rmb.png\"));\nvar ___CSS_LOADER_URL___173___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ron.png\"));\nvar ___CSS_LOADER_URL___174___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/rsd.png\"));\nvar ___CSS_LOADER_URL___175___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/rub.png\"));\nvar ___CSS_LOADER_URL___176___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/rwf.png\"));\nvar ___CSS_LOADER_URL___177___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sar.png\"));\nvar ___CSS_LOADER_URL___178___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sbd.png\"));\nvar ___CSS_LOADER_URL___179___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/scr.png\"));\nvar ___CSS_LOADER_URL___180___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sdd.png\"));\nvar ___CSS_LOADER_URL___181___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sdg.png\"));\nvar ___CSS_LOADER_URL___182___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sek.png\"));\nvar ___CSS_LOADER_URL___183___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sgd.png\"));\nvar ___CSS_LOADER_URL___184___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/shp.png\"));\nvar ___CSS_LOADER_URL___185___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sit.png\"));\nvar ___CSS_LOADER_URL___186___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/skk.png\"));\nvar ___CSS_LOADER_URL___187___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sll.png\"));\nvar ___CSS_LOADER_URL___188___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/sos.png\"));\nvar ___CSS_LOADER_URL___189___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/srd.png\"));\nvar ___CSS_LOADER_URL___190___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/srg.png\"));\nvar ___CSS_LOADER_URL___191___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ssp.png\"));\nvar ___CSS_LOADER_URL___192___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/std.png\"));\nvar ___CSS_LOADER_URL___193___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/stn.png\"));\nvar ___CSS_LOADER_URL___194___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/svc.png\"));\nvar ___CSS_LOADER_URL___195___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/syp.png\"));\nvar ___CSS_LOADER_URL___196___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/szl.png\"));\nvar ___CSS_LOADER_URL___197___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/thb.png\"));\nvar ___CSS_LOADER_URL___198___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/tjs.png\"));\nvar ___CSS_LOADER_URL___199___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/tmt.png\"));\nvar ___CSS_LOADER_URL___200___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/tnd.png\"));\nvar ___CSS_LOADER_URL___201___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/top.png\"));\nvar ___CSS_LOADER_URL___202___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/try.png\"));\nvar ___CSS_LOADER_URL___203___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ttd.png\"));\nvar ___CSS_LOADER_URL___204___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/tvd.png\"));\nvar ___CSS_LOADER_URL___205___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/twd.png\"));\nvar ___CSS_LOADER_URL___206___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/tzs.png\"));\nvar ___CSS_LOADER_URL___207___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/uah.png\"));\nvar ___CSS_LOADER_URL___208___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ugx.png\"));\nvar ___CSS_LOADER_URL___209___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/usd.png\"));\nvar ___CSS_LOADER_URL___210___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/usn.png\"));\nvar ___CSS_LOADER_URL___211___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/uss.png\"));\nvar ___CSS_LOADER_URL___212___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/uyi.png\"));\nvar ___CSS_LOADER_URL___213___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/uyu.png\"));\nvar ___CSS_LOADER_URL___214___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/uzs.png\"));\nvar ___CSS_LOADER_URL___215___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/vef.png\"));\nvar ___CSS_LOADER_URL___216___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/ves.png\"));\nvar ___CSS_LOADER_URL___217___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/vnd.png\"));\nvar ___CSS_LOADER_URL___218___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/vuv.png\"));\nvar ___CSS_LOADER_URL___219___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/wst.png\"));\nvar ___CSS_LOADER_URL___220___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xaf.png\"));\nvar ___CSS_LOADER_URL___221___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xag.png\"));\nvar ___CSS_LOADER_URL___222___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xcd.png\"));\nvar ___CSS_LOADER_URL___223___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xau.png\"));\nvar ___CSS_LOADER_URL___224___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xeu.png\"));\nvar ___CSS_LOADER_URL___225___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xof.png\"));\nvar ___CSS_LOADER_URL___226___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xpt.png\"));\nvar ___CSS_LOADER_URL___227___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/xpf.png\"));\nvar ___CSS_LOADER_URL___228___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/yer.png\"));\nvar ___CSS_LOADER_URL___229___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/zar.png\"));\nvar ___CSS_LOADER_URL___230___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/zmk.png\"));\nvar ___CSS_LOADER_URL___231___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/zwd.png\"));\nvar ___CSS_LOADER_URL___232___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/flags/zwl.png\"));\nvar ___CSS_LOADER_URL___233___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/dt.png\"));\nvar ___CSS_LOADER_URL___234___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/pattern_DT.png\"));\nvar ___CSS_LOADER_URL___235___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/m.png\"));\nvar ___CSS_LOADER_URL___236___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/pattern_MB.png\"));\nvar ___CSS_LOADER_URL___237___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/tp.png\"));\nvar ___CSS_LOADER_URL___238___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/pattern_TP.png\"));\nvar ___CSS_LOADER_URL___239___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/tl.png\"));\nvar ___CSS_LOADER_URL___240___ = urlEscape(require(\"../node_modules/hsbc-pb-sdk/dist/images/hero/pattern_TL.png\"));\n\n// Module\nexports.push([module.id, \"html{box-sizing:border-box;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}html,body{height:100%;margin:0}body{color:#fff;background-color:#fff}body.modal--open{overflow-y:hidden}#root{height:100%}.skip--to-title{position:absolute;left:-99999px;top:0px}.icon{display:inline-block;vertical-align:middle;line-height:1;font-weight:normal;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon--accounts:before{content:\\\"\\\"}.icon--add:before{content:\\\"\\\"}.icon--agree:before{content:\\\"\\\"}.icon--alert:before{content:\\\"\\\"}.icon--anchor-down:before{content:\\\"\\\"}.icon--anchor-up:before{content:\\\"\\\"}.icon--articles:before{content:\\\"\\\"}.icon--assets:before{content:\\\"\\\"}.icon--attachment:before{content:\\\"\\\"}.icon--back:before{content:\\\"\\\"}.icon--banking:before{content:\\\"\\\"}.icon--barcode:before{content:\\\"\\\"}.icon--bin:before{content:\\\"\\\"}.icon--bookmark:before{content:\\\"\\\"}.icon--borrowing:before{content:\\\"\\\"}.icon--calendar:before{content:\\\"\\\"}.icon--camera:before{content:\\\"\\\"}.icon--chat:before{content:\\\"\\\"}.icon--chevron-double-left:before{content:\\\"\\\"}.icon--chevron-double-right:before{content:\\\"\\\"}.icon--chevron-down-small:before{content:\\\"\\\"}.icon--chevron-down:before{content:\\\"\\\"}.icon--chevron-left-small:before{content:\\\"\\\"}.icon--chevron-left:before{content:\\\"\\\"}.icon--chevron-right-small:before{content:\\\"\\\"}.icon--chevron-right:before{content:\\\"\\\"}.icon--chevron-up-small:before{content:\\\"\\\"}.icon--chevron-up:before{content:\\\"\\\"}.icon--circle-confirmation-solid:before{content:\\\"\\\"}.icon--circle-confirmation:before{content:\\\"\\\"}.icon--circle-delete-solid:before{content:\\\"\\\"}.icon--circle-delete:before{content:\\\"\\\"}.icon--circle-error-solid:before{content:\\\"\\\"}.icon--circle-error:before{content:\\\"\\\"}.icon--circle-fill-information:before{content:\\\"\\\"}.icon--circle-help-solid:before{content:\\\"\\\"}.icon--circle-help:before{content:\\\"\\\"}.icon--circle-info:before{content:\\\"\\\"}.icon--client-download:before{content:\\\"\\\"}.icon--client-upload:before{content:\\\"\\\"}.icon--clock:before{content:\\\"\\\"}.icon--collapse:before{content:\\\"\\\"}.icon--column-view:before{content:\\\"\\\"}.icon--complaints:before{content:\\\"\\\"}.icon--compose:before{content:\\\"\\\"}.icon--confidential:before{content:\\\"\\\"}.icon--contactless-payments-outline:before{content:\\\"\\\"}.icon--contactless-payments:before{content:\\\"\\\"}.icon--copy:before{content:\\\"\\\"}.icon--corporate:before{content:\\\"\\\"}.icon--dashboard:before{content:\\\"\\\"}.icon--delete-small:before{content:\\\"\\\"}.icon--delete:before{content:\\\"\\\"}.icon--desktop-computer:before{content:\\\"\\\"}.icon--devices:before{content:\\\"\\\"}.icon--dial:before{content:\\\"\\\"}.icon--dining-food:before{content:\\\"\\\"}.icon--do-not-view:before{content:\\\"\\\"}.icon--document:before{content:\\\"\\\"}.icon--dollar-bill:before{content:\\\"\\\"}.icon--download:before{content:\\\"\\\"}.icon--edit:before{content:\\\"\\\"}.icon--education:before{content:\\\"\\\"}.icon--error:before{content:\\\"\\\"}.icon--expand:before{content:\\\"\\\"}.icon--export:before{content:\\\"\\\"}.icon--facebook-solid:before{content:\\\"\\\"}.icon--facebook:before{content:\\\"\\\"}.icon--fast-track:before{content:\\\"\\\"}.icon--favourite-outline:before{content:\\\"\\\"}.icon--favourite:before{content:\\\"\\\"}.icon--filter:before{content:\\\"\\\"}.icon--global:before{content:\\\"\\\"}.icon--googleplus-solid:before{content:\\\"\\\"}.icon--googleplus:before{content:\\\"\\\"}.icon--grid-view:before{content:\\\"\\\"}.icon--health:before{content:\\\"\\\"}.icon--help:before{content:\\\"\\\"}.icon--home:before{content:\\\"\\\"}.icon--in-branch:before{content:\\\"\\\"}.icon--insight:before{content:\\\"\\\"}.icon--insurance:before{content:\\\"\\\"}.icon--intranet:before{content:\\\"\\\"}.icon--investment:before{content:\\\"\\\"}.icon--link:before{content:\\\"\\\"}.icon--linkedin-solid:before{content:\\\"\\\"}.icon--linkedin:before{content:\\\"\\\"}.icon--list:before{content:\\\"\\\"}.icon--location:before{content:\\\"\\\"}.icon--market:before{content:\\\"\\\"}.icon--memo:before{content:\\\"\\\"}.icon--menu:before{content:\\\"\\\"}.icon--message:before{content:\\\"\\\"}.icon--microphone:before{content:\\\"\\\"}.icon--minimize:before{content:\\\"\\\"}.icon--mobile:before{content:\\\"\\\"}.icon--more-vertical:before{content:\\\"\\\"}.icon--more:before{content:\\\"\\\"}.icon--multiple-accounts:before{content:\\\"\\\"}.icon--multiple-users:before{content:\\\"\\\"}.icon--new-window:before{content:\\\"\\\"}.icon--newspaper:before{content:\\\"\\\"}.icon--pay:before{content:\\\"\\\"}.icon--pdf:before{content:\\\"\\\"}.icon--phone:before{content:\\\"\\\"}.icon--pie-chart:before{content:\\\"\\\"}.icon--pin:before{content:\\\"\\\"}.icon--play:before{content:\\\"\\\"}.icon--pop-up-window:before{content:\\\"\\\"}.icon--portfolio:before{content:\\\"\\\"}.icon--presentation:before{content:\\\"\\\"}.icon--print:before{content:\\\"\\\"}.icon--products-services:before{content:\\\"\\\"}.icon--quote-close:before{content:\\\"\\\"}.icon--quote-open:before{content:\\\"\\\"}.icon--rates:before{content:\\\"\\\"}.icon--refresh:before{content:\\\"\\\"}.icon--renew:before{content:\\\"\\\"}.icon--reply:before{content:\\\"\\\"}.icon--report:before{content:\\\"\\\"}.icon--rewards:before{content:\\\"\\\"}.icon--save:before{content:\\\"\\\"}.icon--savings-goals:before{content:\\\"\\\"}.icon--savings:before{content:\\\"\\\"}.icon--script:before{content:\\\"\\\"}.icon--search:before{content:\\\"\\\"}.icon--secure-key-passcode:before{content:\\\"\\\"}.icon--security-lock:before{content:\\\"\\\"}.icon--settings:before{content:\\\"\\\"}.icon--share:before{content:\\\"\\\"}.icon--shopping-cart:before{content:\\\"\\\"}.icon--shortcuts:before{content:\\\"\\\"}.icon--signature:before{content:\\\"\\\"}.icon--sound:before{content:\\\"\\\"}.icon--stock-down:before{content:\\\"\\\"}.icon--stock-up:before{content:\\\"\\\"}.icon--survey:before{content:\\\"\\\"}.icon--switch:before{content:\\\"\\\"}.icon--tablet:before{content:\\\"\\\"}.icon--tasks:before{content:\\\"\\\"}.icon--thumbsup:before{content:\\\"\\\"}.icon--tools:before{content:\\\"\\\"}.icon--transfers:before{content:\\\"\\\"}.icon--travel:before{content:\\\"\\\"}.icon--triangle-error:before{content:\\\"\\\"}.icon--twitter-solid:before{content:\\\"\\\"}.icon--twitter:before{content:\\\"\\\"}.icon--upload:before{content:\\\"\\\"}.icon--user-personal:before{content:\\\"\\\"}.icon--video:before{content:\\\"\\\"}.icon--view-all:before{content:\\\"\\\"}.icon--view:before{content:\\\"\\\"}.icon--vimeo-solid:before{content:\\\"\\\"}.icon--vimeo:before{content:\\\"\\\"}.icon--weibo-solid:before{content:\\\"\\\"}.icon--weibo:before{content:\\\"\\\"}.icon--youtube-solid:before{content:\\\"\\\"}.icon--youtube:before{content:\\\"\\\"}@font-face{font-family:\\\"UniversNextForHSBC\\\";src:url(\" + ___CSS_LOADER_URL___0___ + \");src:url(\" + ___CSS_LOADER_URL___0___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___1___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___2___ + \") format(\\\"truetype\\\");font-weight:bold;font-style:normal}@font-face{font-family:\\\"UniversNextForHSBC\\\";src:url(\" + ___CSS_LOADER_URL___3___ + \");src:url(\" + ___CSS_LOADER_URL___3___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___4___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___5___ + \") format(\\\"truetype\\\");font-weight:500;font-style:normal}@font-face{font-family:\\\"UniversNextForHSBC\\\";src:url(\" + ___CSS_LOADER_URL___6___ + \");src:url(\" + ___CSS_LOADER_URL___6___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___7___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___8___ + \") format(\\\"truetype\\\");font-weight:300;font-style:normal}@font-face{font-family:\\\"UniversNextForHSBC\\\";src:url(\" + ___CSS_LOADER_URL___9___ + \");src:url(\" + ___CSS_LOADER_URL___9___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___10___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___11___ + \") format(\\\"truetype\\\");font-weight:normal;font-style:normal}@font-face{font-family:\\\"UniversNextForHSBC\\\";src:url(\" + ___CSS_LOADER_URL___12___ + \");src:url(\" + ___CSS_LOADER_URL___12___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___13___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___14___ + \") format(\\\"truetype\\\");font-weight:100;font-style:normal}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}input[type=text],input[type=email],input[type=search],input[type=password]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-size:1em}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline dotted;-webkit-text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html,body{height:100%}html{font-size:16px}body{margin:0px;padding:0px;overflow-x:hidden;min-width:320px;font-weight:300;background:#fff;font-family:\\\"UniversNextForHSBC\\\",\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;color:#333;-webkit-font-smoothing:antialiased}*{scrollbar-width:thin}*::-webkit-scrollbar-thumb{background-color:#bcbcbc}h1,h2,h3,h4,h5{font-weight:300;margin:0;padding:0em}h1{min-height:1rem;font-size:2.0625rem;line-height:40px}h2{font-size:1.75rem;line-height:36px}h3{font-size:1.4375rem;line-height:30px}h4{font-size:1.1875rem;line-height:27px}h5{font-size:1rem;line-height:24px}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0em}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0em}@media(min-width: 1024px){h1{min-height:1rem;line-height:50px;font-size:2.75rem}h2{font-size:2.1875rem;line-height:42px}h3{font-size:1.75rem;line-height:36px}h4{font-size:1.375rem;line-height:31px}}.hsbc-ui.icon.menu .item{height:auto;text-align:center;color:#333}.hsbc-ui.menu{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;border-bottom:.063em solid #d7d8d6;font-weight:normal;min-height:2.5rem;white-space:nowrap;position:relative;-ms-overflow-style:none}.hsbc-ui.menu ul{list-style:none;margin:0;padding:0;display:inherit}.hsbc-ui.menu.secondary .menu{width:calc(100% + 2px)}.hsbc-ui.menu a:hover{cursor:pointer}.hsbc-ui.menu a.item:hover{cursor:pointer}.hsbc-ui.menu button{border:none}.hsbc-ui.menu img{width:60px;height:auto}.hsbc-ui.menu .active.item{background:rgba(0,0,0,0) !important;font-weight:normal;box-shadow:none}.hsbc-ui.menu .active.item>i.icon{opacity:1}.hsbc-ui.menu .active.item::after{width:100%}.hsbc-ui.menu .item{position:relative;vertical-align:middle;line-height:1.2;text-align:left;align-self:center;text-decoration:none;user-select:none;background-color:rgba(0,0,0,0);padding:1rem 2.1875rem;font-size:1rem;height:100%;display:flex;text-transform:none;color:#333;font-weight:normal;transition:background .1s ease,box-shadow .1s ease,color .1s ease}.hsbc-ui.menu .item.icon{padding:1rem}.hsbc-ui.menu .item.icon::before{content:\\\"\\\"}.hsbc-ui.menu .item.logo{padding-left:0}.hsbc-ui.menu .item a{text-decoration:none;color:#333;font-weight:normal}.hsbc-ui.menu .item:only-child{padding-left:20px}.hsbc-ui.menu .item.notification::before{content:\\\"\\\";width:8px;height:8px;background:#ba1110;position:absolute;border-radius:500rem;top:24px;right:6px}.hsbc-ui.menu .item.item.disabled{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.menu .item.item.disabled:hover{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.menu .item>i.icon{opacity:.9;float:none;margin:0em .35714286em 0em 0rem}.hsbc-ui.menu .item>i.svg-icon{width:1em;height:1em;margin-right:.35714286em}.hsbc-ui.menu .item>.input{width:100%}.hsbc-ui.menu .item::after{content:\\\"\\\";display:block;position:absolute;bottom:0;left:0;width:0;height:.125rem;background:#ba1110;transition:width .5s}.hsbc-ui.menu .item::before{position:absolute;content:\\\"\\\";top:0%;right:0;height:100%;width:.063rem;background:rgba(0,0,0,0)}.hsbc-ui.menu:first-child,.hsbc-ui.menu:last-child{margin-top:0}.hsbc-ui.menu:not(.vertical) .item{align-items:center}.hsbc-ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-0.5em 0rem;padding-bottom:.78571429rem;padding-top:.78571429rem;font-size:1rem}.hsbc-ui.menu:not(.vertical) .item>.input{position:relative;top:0rem;margin:-0.5em 0rem}.hsbc-ui.menu:not(.vertical) .right.item,.hsbc-ui.menu:not(.vertical) .right.menu{margin-left:auto !important}.hsbc-ui.menu:not(.vertical) .right.item:first-child{padding-left:1.25rem}.hsbc-ui.menu:not(.vertical) .right.item::before{right:auto;left:0}.hsbc-ui.menu:not(.vertical) .right.menu>.item:first-child{padding-left:1.25rem}.hsbc-ui.menu:not(.vertical) .right.menu>.item::before{right:auto;left:0}.hsbc-ui.menu::after{content:\\\"\\\";display:block;height:0px;clear:both;visibility:hidden}.hsbc-ui.menu::-webkit-scrollbar{display:none;width:0 !important}.hsbc-ui.tabular.menu{border-radius:0;box-shadow:none !important;flex:1 0 auto;background:rgba(0,0,0,0);border:1px solid #f3f3f3;border-bottom:0;overflow-y:hidden}.hsbc-ui.tabular.menu .item{padding:.625rem;min-width:100px;display:flex;flex:1 0 auto;background:#f3f3f3;border-bottom:none;justify-content:center;color:#333}.hsbc-ui.tabular.menu .item:hover,.hsbc-ui.tabular.menu .item:focus{cursor:pointer;color:#333;background:#fff}.hsbc-ui.tabular.menu .item::before{display:none}.hsbc-ui.tabular.fluid.menu{width:calc(100% + 2px) !important}.hsbc-ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none}.hsbc-ui.attached.menu.tabular.menu{margin-left:0;margin-right:0;width:100%}.hsbc-ui.default.menu{top:0;border-radius:0;margin:0 -1px;max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none}.hsbc-ui.default.menu .item{text-align:center}.hsbc-ui.default.menu::after{content:none}.hsbc-ui.default.tabular.menu{margin-left:0;margin-right:0;width:100%}.hsbc-ui.secondary.menu{background:#f2f2f2}.hsbc-ui.secondary.menu .item.icon{border:none !important}@media(min-width: 320px)and (max-width: 480px){.hsbc-ui.default.menu .item{font-size:.688rem;padding:.688rem 1.25rem}}@media(max-width: 1023px){.hsbc-ui.default.menu{width:calc(100% + 2px);justify-content:center}.hsbc-ui.default.menu .item{padding:.688rem 1.25rem}.hsbc-ui.menu{width:100%;padding-left:1.25rem !important;padding-right:1.25rem !important;margin:0 auto;display:none}.hsbc-ui.menu.tabular{padding:0 !important}.hsbc-ui.secondary.menu{display:flex}.hsbc-ui.secondary.menu .menu{justify-content:center}.hsbc-ui.tabular.menu{display:flex}.hsbc-ui.attached.menu{display:flex}}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.menu{width:985px;margin-left:auto !important;margin-right:auto !important}}@media(min-width: 1366px){.hsbc-ui.menu{width:1240px;margin-left:auto !important;margin-right:auto !important}}.hsbc-ui.icon.header .item{height:auto;text-align:center;color:#333}.hsbc-ui.header{display:none;background:#fff;font-weight:normal;border-bottom:1px solid #f3f3f3;min-height:2.5em;white-space:nowrap;position:relative;-ms-overflow-style:none}.hsbc-ui.header a.item:hover{cursor:pointer}.hsbc-ui.header button{border:none}.hsbc-ui.header img{width:60px;height:auto}.hsbc-ui.header .item{position:relative;vertical-align:middle;line-height:1.5em;text-align:left;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:rgba(0,0,0,0);padding:1em;font-size:1em;text-transform:none;color:#333;font-weight:normal;-webkit-transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease,-webkit-box-shadow .1s ease}.hsbc-ui.header .item.item.disabled{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.header .item.item.disabled:hover{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.header .item>.container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit}.hsbc-ui.header .item>i.icon{opacity:.9;float:none;margin:0em .35714286em 0em 0em}.hsbc-ui.header .item>.input{width:100%}.hsbc-ui.header .item.icon{border-right:.063em solid #f3f3f3}.hsbc-ui.header:first-child,.hsbc-ui.header:last-child{margin-top:0}.hsbc-ui.header:not(.vertical) .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hsbc-ui.header:not(.vertical) .item>.button{position:relative;top:0;margin:-0.5em 0;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.hsbc-ui.header:not(.vertical) .item>.input{position:relative;top:0;margin:-0.5em 0em}.hsbc-ui.header:not(.vertical) .left.item{display:flex;margin-right:auto !important}.hsbc-ui.header:not(.vertical) .left.item.icon{border-right:.063em solid #f3f3f3}.hsbc-ui.header:not(.vertical) .left .item.icon{border-right:.063em solid #f3f3f3}.hsbc-ui.header:not(.vertical) .center.item{position:absolute;display:flex;transform:translate(-50%, -50%);left:50%;top:50%}.hsbc-ui.header:not(.vertical) .center.item.icon{border:none}.hsbc-ui.header:not(.vertical) .right.item,.hsbc-ui.header:not(.vertical) .right.header{display:flex;margin-left:auto !important}.hsbc-ui.header:not(.vertical) .right.item.icon,.hsbc-ui.header:not(.vertical) .right.header.icon{border-right:.063em solid #f3f3f3}.hsbc-ui.header:not(.vertical) .right.item.icon:first-child,.hsbc-ui.header:not(.vertical) .right.header.icon:first-child{border-right:0}.hsbc-ui.header:not(.vertical) .right .item.icon{border-left:.063em solid #f3f3f3}.hsbc-ui.header:not(.vertical) .right .item.icon:first-child{border-left:0}.hsbc-ui.header:not(.vertical) .right.item::before{right:auto;left:0}.hsbc-ui.header:not(.vertical) .right.header>.item::before{right:auto;left:0}.hsbc-ui.header::after{content:\\\"\\\";display:block;height:0;clear:both;visibility:hidden}.hsbc-ui.header::-webkit-scrollbar{display:none;width:0 !important}@media(max-width: 1023px){.hsbc-ui.header{display:-webkit-box;display:-ms-flexbox;display:flex}}.hsbc-ui.footer{font-weight:normal;box-shadow:0 -2px 2px 0 rgba(0,0,0,.15);min-height:80px;background-color:#d7d8d6;white-space:nowrap;position:relative;-ms-overflow-style:none;padding-bottom:1.25em}.hsbc-ui.footer .footer-container{display:flex;flex-wrap:wrap;margin-left:auto !important;margin-right:auto !important;width:100%}.hsbc-ui.footer a.item:hover{cursor:pointer}.hsbc-ui.footer .item{position:relative;vertical-align:middle;line-height:.938;text-align:left;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:rgba(0,0,0,0);padding:33px 20px 0;font-size:.75em;text-transform:none;color:#333;font-weight:normal;-webkit-transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease,-webkit-box-shadow .1s ease}.hsbc-ui.footer .item.item.disabled{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.footer .item.item.disabled:hover{cursor:default !important;background-color:rgba(0,0,0,0)}.hsbc-ui.footer .item>.footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit}.hsbc-ui.footer:first-child,.hsbc-ui.footer:last-child{margin-top:0rem}.hsbc-ui.footer:not(.vertical) .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hsbc-ui.footer:not(.vertical) .item>.button{position:relative;top:0em;margin:-0.5em 0em;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.hsbc-ui.footer:not(.vertical) .item>.input{position:relative;top:0em;margin:-0.5em 0em}.hsbc-ui.footer:not(.vertical) .left.item{display:flex;margin-right:auto !important}.hsbc-ui.footer:not(.vertical) .right.item,.hsbc-ui.footer:not(.vertical) .right.footer{display:flex;margin-left:auto !important}.hsbc-ui.footer:not(.vertical) .right.item::before{right:auto;left:0}.hsbc-ui.footer:not(.vertical) .right.footer>.item::before{right:auto;left:0}.hsbc-ui.footer::after{content:\\\"\\\";display:block;height:0px;clear:both;visibility:hidden}.hsbc-ui.footer::-webkit-scrollbar{display:none;width:0 !important}@media(min-width: 768px)and (max-width: 1023px){.hsbc-ui.footer .footer-container{margin-left:auto !important;margin-right:auto !important}}@media(min-width: 1024px){.hsbc-ui.footer .footer-container{width:984px;margin-left:auto !important;margin-right:auto !important}.hsbc-ui.footer:not(.vertical) .right.item,.hsbc-ui.footer:not(.vertical) .right.footer{margin-left:auto !important}.hsbc-ui.footer.seven:not(.vertical) .right.item,.hsbc-ui.footer.seven:not(.vertical) .right.footer,.hsbc-ui.footer.eight:not(.vertical) .right.item,.hsbc-ui.footer.eight:not(.vertical) .right.footer,.hsbc-ui.footer.nine:not(.vertical) .right.item,.hsbc-ui.footer.nine:not(.vertical) .right.footer{margin-left:initial !important}}@media(min-width: 1440px){.hsbc-ui.footer .footer-container{width:1240px;margin-left:auto !important;margin-right:auto !important}.hsbc-ui.footer.seven:not(.vertical) .right.item,.hsbc-ui.footer.seven:not(.vertical) .right.footer,.hsbc-ui.footer.eight:not(.vertical) .right.item,.hsbc-ui.footer.eight:not(.vertical) .right.footer,.hsbc-ui.footer.nine:not(.vertical) .right.item,.hsbc-ui.footer.nine:not(.vertical) .right.footer{margin-left:auto !important}}.hsbc-ui .small .right.footer{margin-left:0 !important}.hsbc-ui .medium .right.footer{margin-left:0 !important}.hsbc-ui.date-picker{width:100%}.hsbc-ui.date-picker .label{background-color:#767676;color:#fff;padding:1.25rem 1rem;font-size:.875rem;font-weight:300;letter-spacing:0;line-height:1;display:block}.hsbc-ui.date-picker .picker{width:100%;padding-top:1.25rem;padding-bottom:1.875rem}.hsbc-ui.date-picker .picker .react-datepicker-wrapper{width:100%}.hsbc-ui.date-picker .picker input{font-size:1rem;color:#333;width:100%;padding:1rem .75rem;border:1px solid #767676}.hsbc-ui.date-picker .picker .react-datepicker-popper{z-index:10}nav.hsbc-ui.nav{position:relative;width:100vw;min-width:320px;font-size:1rem;color:#333;padding-bottom:2px;background-color:#fff}nav.hsbc-ui.nav:not(.isTabbing) button:focus,nav.hsbc-ui.nav:not(.isTabbing) a:focus{outline:none}nav.hsbc-ui.nav *{box-sizing:border-box}@media only screen and (min-width: 1366px){nav.hsbc-ui.nav .hsbc-ui.safe-zone{width:1240px}}@media only screen and (min-width: 1024px)and (max-width: 1365.9px){nav.hsbc-ui.nav .hsbc-ui.safe-zone{width:984px}}@media only screen and (min-width: 321px)and (max-width: 1023.9px){nav.hsbc-ui.nav .hsbc-ui.safe-zone{width:100%;padding-left:1.25rem;padding-right:1.25rem}}@media only screen and (max-width: 320px){nav.hsbc-ui.nav .hsbc-ui.safe-zone{width:100%;padding-left:.75rem;padding-right:.75rem}}nav.hsbc-ui.nav button{border:0px solid rgba(0,0,0,0);appearance:none;background-color:rgba(0,0,0,0);color:#333}nav.hsbc-ui.nav button:hover{cursor:pointer}nav.hsbc-ui.nav ul{padding:0;list-style:none}nav.hsbc-ui.nav a{text-decoration:none;color:#333}nav.hsbc-ui.nav .hsbc-ui.show{visibility:visible}nav.hsbc-ui.nav .hsbc-ui.hide{visibility:hidden}nav.hsbc-ui.nav.fixed-nav{position:fixed;top:0;left:0;right:0;z-index:999}div.hsbc-ui.nav-placeholder{width:100vw;height:61px}div.hsbc-ui.nav-placeholder.sec-bar-showing{height:122px}@media(max-width: 768.9px){div.hsbc-ui.nav-placeholder{height:122px}div.hsbc-ui.nav-placeholder.sec-bar-showing{height:184px}div.hsbc-ui.nav-placeholder.empty-bar{height:61px}}@media(max-width: 414.9px){div.hsbc-ui.nav-placeholder{height:112px}div.hsbc-ui.nav-placeholder.sec-bar-showing{height:164px}div.hsbc-ui.nav-placeholder.empty-bar{height:61px}}div.hsbc-ui.non-desktop-nav-box{display:flex;flex-flow:row nowrap;align-items:center;height:61px;justify-content:space-between;border-bottom:1px solid #d7d8d6}div.hsbc-ui.non-desktop-nav-box.has-only-child{justify-content:center}@media screen and (min-width: 769px){div.hsbc-ui.non-desktop-nav-box{display:none}}div.hsbc-ui.non-desktop-nav-box .non-desktop-icons-box{flex:none;width:88px;height:60px}div.hsbc-ui.non-desktop-nav-box .non-desktop-icons-box.icons-box-left{margin-left:-12px}div.hsbc-ui.non-desktop-nav-box .non-desktop-icons-box.icons-box-right{display:flex;flex-flow:row nowrap;justify-content:flex-end;margin-right:-12px}div.hsbc-ui.non-desktop-nav-box .non-desktop-icons-box>span.nav-icons-box-item{flex:none;display:inline-block;width:44px;height:60px;line-height:60px;text-align:center}div.hsbc-ui.non-desktop-nav-box .non-desktop-icons-box>span.nav-icons-box-item:hover{cursor:pointer;background-color:#ededed}div.hsbc-ui.non-desktop-nav-box button.nav-single-logout{width:63px;height:27px;font-size:.75rem;border:1px solid #333;font-weight:400}div.hsbc-ui.non-desktop-nav-box button.non-desktop-logo{flex:none;width:40px;height:20px;border-width:0px;background-image:url(\" + ___CSS_LOADER_URL___15___ + \");background-repeat:no-repeat;padding:0px}div.hsbc-ui.non-desktop-nav-box button.non-desktop-logo span{display:none !important}div.hsbc-ui.nav-box{width:100%}div.hsbc-ui.nav-box.primary{box-shadow:0 2px 2px 0 rgba(0,0,0,.15);background-color:#fff}div.hsbc-ui.nav-box.primary.empty-bar{display:none}@media screen and (min-width: 769px){div.hsbc-ui.nav-box.primary.empty-bar{display:block}}@media screen and (min-width: 769px){div.hsbc-ui.nav-box.primary .hsbc-ui.nav-icons-special{border-left:0px solid rgba(0,0,0,0) !important}}div.hsbc-ui.nav-box.secondary{margin-top:2px;background-color:#ededed;font-size:.875rem;box-shadow:0 2px 2px 0 rgba(0,0,0,.15)}div.hsbc-ui.nav-box.secondary .hsbc-ui.safe-nav-box{position:relative}div.hsbc-ui.safe-nav-box{display:flex;flex-flow:row nowrap;height:60px;line-height:60px;align-items:center;margin:0 auto}@media screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box{height:50px;line-height:50px}}@media screen and (max-width: 768.9px){div.hsbc-ui.safe-nav-box.hsbc-ui.safe-zone{padding-left:0px;padding-right:0px}}div.hsbc-ui.safe-nav-box button.nav-desktop-logo{flex:none;width:90px;height:20px;margin-right:35px;border-width:0px;background-image:url(\" + ___CSS_LOADER_URL___15___ + \");background-repeat:no-repeat;padding:0px;text-align:right}div.hsbc-ui.safe-nav-box button.nav-desktop-logo span{display:inline-block;width:47px;font-size:1rem;text-align:left;font-weight:bold}@media(max-width: 768.9px){div.hsbc-ui.safe-nav-box button.nav-desktop-logo{display:none}div.hsbc-ui.safe-nav-box button.nav-desktop-logo.show{display:none !important}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar{flex:1 1 auto;height:100%;display:flex;flex-flow:row nowrap;align-items:center}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap{flex:1 1 auto;height:100%;padding:0;margin:0;list-style:none}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item{display:inline-block;height:100%;padding:0}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child{display:inline-block;padding:0 35px;height:100%;font-weight:400}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child:hover{background-color:#ededed}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child.secondary-child:hover{background-color:#f3f3f3}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a .item-child-icon{margin-right:8px;position:relative;top:-1px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a .item-child-icon-suffix{margin-right:0px;margin-left:8px;position:relative;top:-1px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child button{padding:10px 0px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a i.msg-indicator-counter,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child button i.msg-indicator-counter{position:relative;top:-8px;display:inline-block;min-width:16px;height:16px;line-height:16px;margin-left:4px;border-radius:8px;background-color:#ba1110;text-align:center;font-style:normal;color:#fff;font-size:10px;padding:0 5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a i.msg-indicator-red-dot,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child button i.msg-indicator-red-dot{position:relative;top:-9px;left:0px;display:inline-block;width:6px;height:6px;line-height:6px;border-radius:50%;margin-left:6px;background-color:#ba1110}@media(-webkit-min-device-pixel-ratio: 1.25){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child a i.msg-indicator-red-dot,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item .item-child button i.msg-indicator-red-dot{transform:scale(0.8)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item span.item-child{position:relative;height:100%}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item span.item-child::after{content:\\\"\\\";display:block;position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#ba1110;transition:width .5s}@media(-webkit-min-device-pixel-ratio: 1.25){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item span.item-child::after{transform:scaleY(0.8)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item span.item-child.active::after{width:100%}@media only screen and (min-width: 415px)and (max-width: 768.99px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.item-child{padding-left:20px;padding-right:20px;margin-right:15px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.more-sec>.item-child,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.more-primary>.item-child{padding-left:20px;padding-right:20px;margin-right:15px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.item-child{padding-left:20px;padding-right:20px;margin-left:15px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.more-sec>.item-child,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.more-primary>.item-child{padding-left:20px;padding-right:20px;margin-left:15px}}@media only screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item>.more-sec,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item>.more-primary{font-size:.75rem}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item>.more-sec>.item-child,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item>.more-primary>.item-child{padding-left:12.5px;padding-right:12.5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item>.item-child{font-size:.75rem;padding-left:12.5px;padding-right:12.5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.item-child{padding-left:12.5px;margin-left:7.5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.more-sec>.item-child,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:first-child>.more-primary>.item-child{padding-left:12.5px;margin-left:7.5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.item-child{padding-right:12.5px;margin-right:7.5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.more-sec>.item-child,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item:last-child>.more-primary>.item-child{padding-right:12.5px;margin-right:7.5px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item .more-primary,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item .more-sec{position:static}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item .more-sec>div.section-bg{position:fixed;top:122px;right:0;left:0;height:calc(100vh - 120px);z-index:666}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item .more-sec>div.section-bg{top:161px;height:calc(100vh - 61px - 50px - 50px)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button{padding:10px 0px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button i.svg-icon.nav-more-icon{box-sizing:content-box;position:relative;top:-2px;transition:transform .25s ease-in;margin:0 6px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button i.svg-icon.nav-more-icon.open{transform:rotate(180deg)}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item a,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button{padding:10px 0px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item a i.msg-indicator-counter,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button i.msg-indicator-counter{position:relative;top:-8px;display:inline-block;min-width:16px;height:16px;line-height:16px;margin-left:4px;border-radius:8px;background-color:#ba1110;text-align:center;font-style:normal;color:#fff;font-size:10px;padding:0 5px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item a i.msg-indicator-red-dot,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button i.msg-indicator-red-dot{position:relative;top:-9px;left:0px;display:inline-block;width:6px;height:6px;line-height:6px;border-radius:50%;margin-left:6px;background-color:#ba1110}@media(-webkit-min-device-pixel-ratio: 1.25){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item a i.msg-indicator-red-dot,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item button i.msg-indicator-red-dot{transform:scale(0.8)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section{position:absolute;top:61px;right:0;background-color:#ededed;padding:40px 20px 0px 20px;z-index:999}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended{left:0;width:100%}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended{padding:0px 0px 40px 0px;max-height:calc(100vh - 110px);min-height:calc(100vh - 110px);overflow:auto}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-bg{position:absolute;top:0;right:0;left:0;height:calc(100vh - 60px)}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-bg{height:calc(100vh - 110px)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper{position:relative;display:flex;flex-flow:row nowrap;align-items:flex-start;margin:0 auto;padding-bottom:40px}@media only screen and (max-width: 1024.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper{padding-left:0;padding-right:0}}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper{display:block}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper>button.more-section-close-btn{position:absolute;right:-8px;top:-25px;padding:0px}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper>button.more-section-close-btn{right:20px;top:15px}}@media only screen and (min-width: 768px)and (max-width: 1024.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended>div.section-content-wrapper>button.more-section-close-btn{right:0px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu{flex:1 1 364px;padding-left:20px;margin-top:-28px}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu{margin-top:0px;padding-left:0px}}@media only screen and (min-width: 768px)and (max-width: 1023.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu{margin-top:-20px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li{width:100%;height:70px;padding-top:8px;border-bottom:1px solid #d7d8d6}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li:hover{background-color:#f3f3f3}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li span{line-height:58px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li span.item-child:hover{background-color:rgba(0,0,0,0)}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>a .item-child-icon,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>button .item-child-icon{margin-right:8px;position:relative;top:-1px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>a .item-child-icon-suffix,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>button .item-child-icon-suffix{margin-right:0px;margin-left:8px;position:relative;top:-1px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>a i.msg-indicator-counter,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child>button i.msg-indicator-counter{top:-2px;left:2px}@media only screen and (min-width: 768px)and (max-width: 1023.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li{padding-top:0px;height:60px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li span{line-height:54px}}@media only screen and (min-width: 768px)and (max-width: 1024.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li span.item-child{padding-left:5%;padding-right:0px}}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li{padding-top:4px;height:60px;font-size:1rem}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-primary-menu li>span.item-child{padding-left:20px;padding-right:0px;line-height:52px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile{flex:1 .5 254px;padding-bottom:0px;margin-left:63px;border-left:1px solid #d7d8d6;font-size:.875rem}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile:nth-child(1){border-left:0px;max-width:33%}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li{height:40px;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;padding-left:42px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li:first-child{margin-top:-12px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li:hover{background-color:#f3f3f3}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li>span{line-height:2em;width:100%}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li:first-child{margin-top:0px}}@media only screen and (min-width: 769px)and (max-width: 1024.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile{margin-left:55px}}@media only screen and (min-width: 768px)and (max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile{margin-left:40px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile:nth-child(1){margin-left:0px;padding-top:0px}}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile{margin-left:0px;padding:0px;border-left:0px solid rgba(0,0,0,0)}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile:nth-child(1){max-width:100%}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li{height:60px;padding-top:2px;padding-left:20px;border-bottom:1px solid #d7d8d6}}@media only screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended ul.more-profile li{height:60px;padding-top:6px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout{flex:1 1.5 360px;padding-left:64px;padding-right:20px;padding-bottom:40px;border-left:1px solid #d7d8d6;height:auto;font-size:.75rem}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div{margin-top:-8px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div button{box-sizing:border-box;width:100px;height:44px;font-size:1rem;border:1px solid #333;margin-bottom:15px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div button:hover{background-color:#f3f3f3}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div p{margin-top:10px;margin-bottom:10px;line-height:1.2em}@media screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout{padding-right:0px;padding-left:20px;padding-top:20px;border-left:0px solid rgba(0,0,0,0)}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div{margin-top:0px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended div.more-logout div button{width:160px;height:42px;margin-bottom:0px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default{max-height:80vw;padding:0px 20px 60px 20px;box-shadow:0 2px 2px 0 rgba(0,0,0,.15);overflow-y:auto}@media only screen and (max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default{max-height:90vw}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default>div.section-content-wrapper{position:static;padding-bottom:40px;display:block}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default ul.more-primary-menu{display:block;padding:0px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default ul.more-primary-menu li{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;height:70px;padding:0 40px;border-bottom:1px solid #d7d8d6}@media only screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default ul.more-primary-menu li{height:60px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default ul.more-primary-menu li>span{flex:none;padding:0px;height:auto}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default ul.more-primary-menu li a{padding:10px 0px;line-height:1.5}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right{box-sizing:border-box;top:62px;right:2px;max-height:80vw;font-size:.75rem;background-color:#fff;padding:15px 0 20px 0;box-shadow:0 2px 8px 0 rgba(62,80,93,.15)}@media only screen and (max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right{max-height:90vw}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li{vertical-align:middle;padding-right:87px;padding-left:20px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li:hover{background-color:#ededed}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li .item-child.secondary-child:hover{background-color:#ededed}@media only screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li{padding-right:87px;height:36px;line-height:36px}}@media only screen and (min-width: 415px)and (max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li{padding-right:124px;height:40px;line-height:40px}}@media only screen and (min-width: 769px)and (max-width: 1365px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li{font-size:.875rem;padding-right:285px;height:45px;line-height:45px}}@media only screen and (min-width: 1366px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li{font-size:.875rem;padding-right:367px;height:45px;line-height:45px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right li span{padding:0px;height:auto}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right>button.more-section-close-btn{position:absolute;right:20px;top:20px;padding:0px}@media only screen and (max-width: 767.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right>button.more-section-close-btn{top:15px}}@media only screen and (max-width: 768px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default{top:121.5px}}@media only screen and (max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.extended,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.default{top:112px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar ul.overflow-wrap li.overflow-item.rest-item section.to-right{top:51.5px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout{flex:none;margin-left:25px;font-size:1.125rem;margin-right:0px}@media(max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout{margin-left:12.5px}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-single-logout{display:none;width:63px;height:27px;font-size:.75rem;border:1px solid #333;font-weight:400;margin-right:20px}@media(max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-single-logout{display:none}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-single-logout.show,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-single-logout.show,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-single-logout.show{display:none !important}}@media(min-width: 769px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-single-logout,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-single-logout{display:inline-block}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special{padding-left:10px;border-left:1px solid #d7d8d6;height:60px;line-height:60px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special>span.nav-icons-special-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special>span.nav-icons-special-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special>span.nav-icons-special-item{position:relative;display:inline-block;width:44px;height:60px;line-height:60px;text-align:center;vertical-align:middle;margin-top:-2px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special>span.nav-icons-special-item::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special>span.nav-icons-special-item::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special>span.nav-icons-special-item::after{content:\\\"\\\";display:block;position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#ba1110;transition:width .5s}@media(-webkit-min-device-pixel-ratio: 1.25){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special>span.nav-icons-special-item::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special>span.nav-icons-special-item::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special>span.nav-icons-special-item::after{transform:scaleY(0.8)}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special>span.nav-icons-special-item.active::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special>span.nav-icons-special-item.active::after,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special>span.nav-icons-special-item.active::after{width:100%}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special>span.nav-icons-special-item:hover,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special>span.nav-icons-special-item:hover,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special>span.nav-icons-special-item:hover{background-color:#f3f3f3}@media(max-width: 414.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special{height:50px;line-height:50px;margin-right:8px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special span.nav-icons-special-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special span.nav-icons-special-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special span.nav-icons-special-item{line-height:50px;height:50px}}@media(max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-special,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-special{margin-right:8px}}@media(max-width: 768.9px){div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-box,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-box,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-box{display:none}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box.nav-icons-box.show,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special.nav-icons-box.show,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout.nav-icons-box.show{display:none !important}}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box>span.nav-icons-box-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special>span.nav-icons-box-item,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout>span.nav-icons-box-item{display:inline-block;width:44px;height:60px;line-height:60px;text-align:center;vertical-align:middle;margin-top:-2px}div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-box>span.nav-icons-box-item:hover,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-icons-special>span.nav-icons-box-item:hover,div.hsbc-ui.safe-nav-box .hsbc-ui.nav-bar .nav-single-logout>span.nav-icons-box-item:hover{cursor:pointer;background-color:#ededed}.hsbc-ui.tab-wrap .tablist-wrap{border-bottom:1px solid #d7d8d6}.hsbc-ui.tab-wrap .tablist-wrap .tabular.menu .item{background-color:rgba(0,0,0,0)}.hsbc-ui.tab-wrap .tablist-wrap .tabular.menu .item:hover{background-color:#f3f3f3}.hsbc-ui.tab-wrap .tablist-wrap .tabular.menu .item.active::after{background-color:#ba1110}.hsbc-ui.tab{display:none}.hsbc-ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.hsbc-ui.tab.loading *{position:relative !important;left:-10000px !important}.hsbc-ui.tab.loading::before{position:absolute;content:\\\"\\\";top:100px;left:50%;margin:-1.25em 0em 0em -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.hsbc-ui.tab.loading::after{position:absolute;content:\\\"\\\";top:100px;left:50%;margin:-1.25em 0em 0em -1.25em;width:2.5em;height:2.5em;-webkit-animation:load 1.5s linear;animation:load 1.5s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:.2em;-webkit-box-shadow:0px 0px 0px 1px rgba(0,0,0,0);box-shadow:0px 0px 0px 1px rgba(0,0,0,0)}.hsbc-ui.tab.active,.hsbc-ui.tab.open{display:block}.hsbc-ui.accordion{width:100%}.hsbc-ui.accordion .header{width:100%}.hsbc-ui.accordion .header>.header-button{width:100%;display:flex;cursor:pointer;position:relative;align-self:center;align-items:center;vertical-align:middle;justify-content:space-between}.hsbc-ui.accordion .header .indicator-red-dot{position:absolute;top:6px;left:6px;display:inline-block;width:8px;height:8px;line-height:8px;border-radius:50%;background-color:#ba1110}.hsbc-ui.accordion .header .header-content{width:100%;display:flex;padding:1rem .75rem}.hsbc-ui.accordion .header .header-content .title-container{padding-left:10px}.hsbc-ui.accordion .header .header-content .caret .icon{margin:0;width:0}.hsbc-ui.accordion .header .header-content .icon{font-size:2rem;display:table-cell;vertical-align:middle}.hsbc-ui.accordion .header .caret .icon-space{padding:0 1rem}.hsbc-ui.accordion .header .caret .angle.icon{display:inline-block;float:none;opacity:1;padding:0;font-size:2rem;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;vertical-align:middle;-webkit-transform:none;transform:none}.hsbc-ui.accordion .header .caret .angle.svg-icon{width:1rem;height:1rem;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;-webkit-transform:none;transform:none}.hsbc-ui.accordion .header~.content{display:none;padding:1rem .75rem;border:.063em solid #d7d8d6}.hsbc-ui.accordion .header:not(.hsbc-ui)>.header-button{box-sizing:border-box;border:.063em solid #d7d8d6;background-color:#fff;font-size:1rem;line-height:1.5;color:#333;overflow:hidden}.hsbc-ui.accordion .header:not(.hsbc-ui)>.header-button:hover{background-color:#ededed}.hsbc-ui.accordion .header .title{font-size:1rem;line-height:1;font-weight:bold}.hsbc-ui.accordion .header .sub-title{font-size:.75em;font-weight:normal;line-height:1}.hsbc-ui.accordion .header .disabled{cursor:default}.hsbc-ui.accordion .header .disabled:hover{background:#fff !important}.hsbc-ui.accordion .header .disabled.content{display:none !important}.hsbc-ui.accordion .active.header>.header-button{border-bottom:.125em solid #ba1110}.hsbc-ui.accordion .active.header .angle.icon{transform:rotate(180deg)}.hsbc-ui.accordion .active.header .angle.svg-icon{transform:rotate(180deg)}.hsbc-ui.accordion .active.content{display:block}.hsbc-ui.accordion .accordion{max-width:100%;margin:1rem 0 0;padding:0}.hsbc-ui.accordion .accordion .header>.header-button{cursor:pointer}.hsbc-ui.accordion .accordion .header~.content{display:none;padding:1rem .75em;border:.063em solid #d7d8d6}.hsbc-ui.accordion .accordion .active.header>.header-button{border-bottom:.125em solid #db0011}.hsbc-ui.accordion .accordion .active.header .dropdown.icon{transform:rotate(180deg)}.hsbc-ui.accordion .accordion .active.header .dropdown.svg-icon{transform:rotate(180deg)}.hsbc-ui.accordion .accordion .active.content{display:block;border-bottom:.063em solid #db0011}.hsbc-ui.accordion .accordion .disabled{cursor:default}.hsbc-ui.accordion .accordion .disabled:hover{background:#fff !important}.hsbc-ui.accordion .accordion .disabled.content{display:none !important}.hsbc-ui.accordion.is-card .header:not(.hsbc-ui)>.header-button,.hsbc-ui.accordion.is-card-v2 .header:not(.hsbc-ui)>.header-button{border:none}.hsbc-ui.accordion.is-card .header~.content,.hsbc-ui.accordion.is-card-v2 .header~.content{border:none}.hsbc-ui.accordion.is-card .header.header-only-arrow-click>.header-button,.hsbc-ui.accordion.is-card-v2 .header.header-only-arrow-click>.header-button{align-items:normal;cursor:default}.hsbc-ui.accordion.is-card .header.header-only-arrow-click .caret,.hsbc-ui.accordion.is-card-v2 .header.header-only-arrow-click .caret{position:relative;cursor:pointer;align-self:auto;display:flex;justify-content:center;align-items:center}.hsbc-ui.accordion.is-card .header.header-only-arrow-click .caret::before,.hsbc-ui.accordion.is-card-v2 .header.header-only-arrow-click .caret::before{left:0}.hsbc-ui.accordion.is-card{background-color:#fff;border:.063em solid #d7d8d6}.hsbc-ui.accordion.is-card .header>.header-button{display:flex}.hsbc-ui.accordion.is-card .header .header-content{flex-grow:1;flex-basis:auto;padding:2.5rem 1.25rem}.hsbc-ui.accordion.is-card .header .caret{align-self:center}.hsbc-ui.accordion.is-card .header .caret .icon{margin:1rem;width:1.5rem}.hsbc-ui.accordion.is-card .header .caret::before{position:absolute;content:\\\"\\\";top:0;bottom:0;width:.063em;height:100%;background:#d7d8d6 !important}.hsbc-ui.accordion.is-card .header .title{font-size:1.375rem;font-weight:normal;color:#333;line-height:1}.hsbc-ui.accordion.is-card .header .title+.sub-title{margin-top:1rem}.hsbc-ui.accordion.is-card .header .sub-title{font-size:1rem;color:#333;line-height:1}.hsbc-ui.accordion.is-card .header .value{font-size:2.75rem;font-weight:normal;line-height:1}.hsbc-ui.accordion.is-card .header .currency{font-size:1.1875rem;font-weight:300;line-height:1}.hsbc-ui.accordion.is-card .header~.content{padding:2.1875rem 1.25em;background:#fff}.hsbc-ui.accordion.is-card .active.header>.header-button{background-color:#f3f3f3;border-bottom:1px solid #d7d8d6}.hsbc-ui.accordion.is-card-v2{background-color:#fff;border:.063em solid #d7d8d6}.hsbc-ui.accordion.is-card-v2 .header>.header-button{display:flex}.hsbc-ui.accordion.is-card-v2 .header .header-content{flex-grow:1;flex-basis:auto;padding:20px}.hsbc-ui.accordion.is-card-v2 .header .header-content .title-container{display:flex;flex-direction:column-reverse;padding-left:0}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value{font-size:44px;font-weight:normal;line-height:1}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value>.currency{font-size:19px;font-weight:300;line-height:1}.hsbc-ui.accordion.is-card-v2 .header .extra{order:-1;font-size:16px}.hsbc-ui.accordion.is-card-v2 .header .extra .value{font-weight:normal;line-height:1}.hsbc-ui.accordion.is-card-v2 .header .extra .value.positive{color:#00847f}.hsbc-ui.accordion.is-card-v2 .header .extra .value.negative{color:#a8000b}.hsbc-ui.accordion.is-card-v2 .header .extra .value>.remark{font-size:90%;font-weight:normal;line-height:1;color:#333}.hsbc-ui.accordion.is-card-v2 .header .caret{align-self:center}.hsbc-ui.accordion.is-card-v2 .header .caret .icon{margin:1rem;width:1.5rem}.hsbc-ui.accordion.is-card-v2 .header .caret .icon-space{padding:0 17px}.hsbc-ui.accordion.is-card-v2 .header .caret::before{position:absolute;content:\\\"\\\";top:0;bottom:0;width:.063em;height:100%;background:#d7d8d6 !important}.hsbc-ui.accordion.is-card-v2 .header .title{font-size:22px;font-weight:400;color:#333;line-height:1;margin:17px 0 15px 0}.hsbc-ui.accordion.is-card-v2 .header .title+.sub-title{font-size:14px;color:#333;line-height:1;margin-top:8px}.hsbc-ui.accordion.is-card-v2 .header~.content{padding:0;background:#fff}.hsbc-ui.accordion.is-card-v2 .active.header>.header-button{background-color:#f3f3f3;border-bottom:1px solid #d7d8d6}.hsbc-ui.accordion.fluid{width:100%}.hsbc-ui.accordion.fluid .accordion{width:100%}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.accordion{width:calc(50% - 1rem)}.hsbc-ui.accordion .accordion{width:calc(50% - 1rem)}}@media only screen and (min-width: 1024px){.hsbc-ui.accordion{width:calc(50% - 1.375rem)}.hsbc-ui.accordion .accordion{width:calc(50% - 1.375rem)}}@media only screen and (min-width: 1440px){.hsbc-ui.accordion{width:calc(50% - 1.25rem)}.hsbc-ui.accordion .accordion{width:calc(50% - 1.25rem)}.hsbc-ui.third.accordion{width:calc(33.33333% - 1.25rem)}.hsbc-ui.third.accordion .accordion{width:calc(33.33333% - 1.25rem)}}@media only screen and (max-width: 1023px){.hsbc-ui.is-card.accordion .header>.header-button{flex-direction:column}.hsbc-ui.is-card.accordion .header .caret::before{content:none !important}.hsbc-ui.is-card.accordion .header .title{font-size:1.1875rem}.hsbc-ui.is-card.accordion .header .value{font-size:2.0625rem}.hsbc-ui.is-card.accordion .header .currency{font-size:1rem}.hsbc-ui.is-card.accordion .header .header-content{width:100%;flex-direction:column;padding:1.875rem 1.25rem 1rem}.hsbc-ui.is-card.accordion .header .header-content .val{padding:0 1.25rem 1.875rem;border-bottom:1px solid #d7d8d6}.hsbc-ui.is-card.accordion .header .header-content:last-of-type{padding:0 1.25rem 1.875rem;border-bottom:1px solid #d7d8d6}}@media only screen and (max-width: 1023px){.hsbc-ui.accordion.is-card-v2 .header>.header-button{flex-direction:column}.hsbc-ui.accordion.is-card-v2 .header.header-only-arrow-click .caret::before{top:0}.hsbc-ui.accordion.is-card-v2 .header .caret{margin-top:24px}.hsbc-ui.accordion.is-card-v2 .header .caret::before{left:0;right:0;top:auto;bottom:auto;height:.063em;width:100%}.hsbc-ui.accordion.is-card-v2 .header .caret .icon-space{padding:13px 0}.hsbc-ui.accordion.is-card-v2 .header .title{font-size:19px;line-height:26px}.hsbc-ui.accordion.is-card-v2 .header .header-content{width:100%;flex-direction:column;padding:20px 20px 0 20px}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value{font-size:33px}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value>.label{font-size:16px}.hsbc-ui.accordion.is-card-v2 .header .header-content.val{padding:0 20px}.hsbc-ui.accordion.is-card-v2 .header .extra{font-size:16px;order:0;width:100%;padding:0 20px;margin-top:14px}.hsbc-ui.accordion.is-card-v2 .header .extra>.value>.remark{font-size:inherit}}@media only screen and (max-width: 768px){.hsbc-ui.accordion.is-card-v2 .header .title{font-size:19px;line-height:28px}.hsbc-ui.accordion.is-card-v2 .header .currency{font-size:19px}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value{font-size:33px}.hsbc-ui.accordion.is-card-v2 .header .header-content>.value>.currency{font-size:16px}}.hsbc-ui.radio-group .title{text-align:left;font-size:1rem;line-height:1}.hsbc-ui.radio-group .sub-title{text-align:left;font-size:.875em;line-height:1.25;font-weight:300}.hsbc-ui.radio-group fieldset{padding:0;margin:0;border:none}.hsbc-ui.radio-group legend{position:absolute;z-index:-100000;left:-999999px}.hsbc-ui.read-only.radio{cursor:default}.hsbc-ui.read-only.radio label{cursor:default}.hsbc-ui.orientation{display:flex}.hsbc-ui.orientation.vertical{flex-direction:column}.hsbc-ui .additional-content{height:100%;display:flex;flex-direction:column;margin-left:1.125rem;padding-left:1.375rem;border-left:#ededed solid 2px}.hsbc-ui .additional-content::before,.hsbc-ui .additional-content::after{content:\\\"\\\";padding-left:1.125rem}.hsbc-ui.toggle.checkbox{min-height:1.5rem}.hsbc-ui.toggle.checkbox.isKeyboardEvent input:focus+label:before{outline:1px solid #333}.hsbc-ui.toggle.checkbox input[type=checkbox]{z-index:-1}.hsbc-ui.toggle.checkbox input{height:1.5rem;width:3rem}.hsbc-ui.toggle.checkbox input:focus~.box,.hsbc-ui.toggle.checkbox input:focus~label{border:none}.hsbc-ui.toggle.checkbox input:checked~.box::before,.hsbc-ui.toggle.checkbox input:checked~label::before{background-color:#00847f !important}.hsbc-ui.toggle.checkbox input:checked~.box::after,.hsbc-ui.toggle.checkbox input:checked~label::after{background:#fff;left:35px}.hsbc-ui.toggle.checkbox input~.box:hover::before,.hsbc-ui.toggle.checkbox input~label:hover::before{background-color:#fff}.hsbc-ui.toggle.checkbox input~.box::before,.hsbc-ui.toggle.checkbox input~label::before{background-color:#f3f3f3}.hsbc-ui.toggle.checkbox input~.box::after,.hsbc-ui.toggle.checkbox input~label::after{left:5px}.hsbc-ui.toggle.checkbox label{padding-top:.15rem}.hsbc-ui.toggle.checkbox .box,.hsbc-ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem}.hsbc-ui.toggle.checkbox .box::before,.hsbc-ui.toggle.checkbox label::before{display:block;position:absolute;content:\\\"\\\";z-index:1;transform:none;top:5px;left:0;box-shadow:none;width:3.5rem;height:1.5rem;border-radius:500rem;border:1px solid #767676}.hsbc-ui.toggle.checkbox .box::after,.hsbc-ui.toggle.checkbox label::after{background:#767676;position:absolute;opacity:1 !important;content:\\\"\\\" !important;z-index:2;border:none;box-shadow:none;width:15px;height:15px;top:10px;left:0em;border-radius:500rem;transition:background .3s ease,left .3s ease}.hsbc-ui.pagnation .dropdown{width:97px}.hsbc-ui.pagnation .dropdown .pageNum{position:static;width:53px;padding:22px 10px}.hsbc-ui.pagnation .dropdown .textTip{display:none}.hsbc-ui.pagnation .pagation-warp{display:table;height:44px}.hsbc-ui.pagnation .message-warp{float:right;max-width:330px;margin-top:15px}.hsbc-ui.pagnation .pagnation-btn-content{display:table-cell;vertical-align:middle}.hsbc-ui.pagnation .pagnation-btn-content .component-warp{display:inline-block}.hsbc-ui.pagnation .pagnation-btn-content .component-warp .left-arrow{box-sizing:border-box;position:relative}.hsbc-ui.pagnation .pagnation-btn-content .component-warp .left-arrow:after{position:relative;left:3px;top:0;display:inline-block;content:\\\" \\\";height:10px;width:10px;border-width:0 1px 1px 0;border-color:#000;border-style:solid;transform:rotate(135deg);transform-origin:center}.hsbc-ui.pagnation .pagnation-btn-content .component-warp .right-arrow{box-sizing:border-box;position:relative}.hsbc-ui.pagnation .pagnation-btn-content .component-warp .right-arrow:after{position:relative;left:-3px;top:0;display:inline-block;content:\\\" \\\";height:10px;width:10px;border-width:0 1px 1px 0;border-color:#000;border-style:solid;transform:rotate(315deg);transform-origin:center}.hsbc-ui.pagnation .pagnation-btn-content .left-btn{margin:0 0 0 10px}.hsbc-ui.pagnation .pagnation-btn-content .left-btn .svg-icon{width:18px;height:18px}.hsbc-ui.pagnation .pagnation-btn-content .right-btn{margin:0 0 0 10px}.hsbc-ui.pagnation .pagnation-btn-content .right-btn .svg-icon{width:18px;height:18px}.hsbc-ui.pagnation .pagnation-btn-content .page-number{font-size:16px;color:#333;text-align:right}@media screen and (max-width: 375px){.hsbc-ui.pagnation .pagnation-btn-content{width:108px}.hsbc-ui.pagnation .pagnation-btn-content .component-warp{margin-top:8px}.hsbc-ui.pagnation .pagnation-btn-content .left-btn{margin-left:0}.hsbc-ui.pagnation .pagnation-btn-content .right-btn{margin-left:8px}}.hsbc-ui.pagnation .pagnation-btn-content.small{width:108px}.hsbc-ui.pagnation .pagnation-btn-content.small .component-warp{margin-top:8px}.hsbc-ui.pagnation .pagnation-btn-content.small .left-btn{margin-left:0}.hsbc-ui.pagnation .pagnation-btn-content.small .right-btn{margin-left:8px}.hsbc-ui.pagnation .pagnation-dropdown-content{display:table-cell;margin-left:32px;margin-left:10px}.hsbc-ui.pagnation .pagnation-dropdown-content .component-warp{display:table-cell}.hsbc-ui.pagnation .pagnation-dropdown-content .dropdown{margin-left:8px}.hsbc-ui.pagnation .pagnation-dropdown-content .dropdown .page-num{min-width:53px;padding-top:9px}.hsbc-ui.pagnation .pagnation-dropdown-content .dropdown-txt{display:table-cell;padding-right:10px;font-size:16px;color:#333;text-align:right;vertical-align:middle}.hsbc-ui.pagnation .pagnation-dropdown-content .text-tip{display:none}@media screen and (max-width: 375px){.hsbc-ui.pagnation .pagnation-dropdown-content .page-num{min-width:53px;padding-top:9px}.hsbc-ui.pagnation .pagnation-dropdown-content .component-warp{display:block;margin-top:8px}.hsbc-ui.pagnation .pagnation-dropdown-content .dropdown-txt{display:inline;padding-left:7px;padding-right:0}}.hsbc-ui.pagnation .pagnation-dropdown-content.small .page-num{min-width:53px;padding-top:9px}.hsbc-ui.pagnation .pagnation-dropdown-content.small .component-warp{display:block;margin-top:8px}.hsbc-ui.pagnation .pagnation-dropdown-content.small .dropdown-txt{display:inline;padding-left:7px;padding-right:0}.hsbc-ui.dropdown{position:relative;display:flex;border:1px solid #767676;cursor:pointer}.hsbc-ui.dropdown:hover{border-color:#2278ce}.hsbc-ui.dropdown:hover .actived{border-color:#2278ce;border-top-color:#767676}.hsbc-ui.dropdown.error{border-color:#a8000b;background-color:#f9f2f3}.hsbc-ui.dropdown.error .button{background-color:#f9f2f3}.hsbc-ui.dropdown .text-tip{position:absolute;top:2px;left:8px;height:12px;font-size:10px;z-index:2}.hsbc-ui.dropdown .page-num{display:flex;position:relative;min-width:170px;height:48px;padding:21px 9px 5px 7px;border:none;background-color:rgba(0,0,0,0);align-items:center;white-space:nowrap;flex:1}.hsbc-ui.dropdown .page-num>div{width:auto;color:#000;overflow:hidden}.hsbc-ui.dropdown .line{width:1px;margin:8px 0;background-color:#d7d8d6}.hsbc-ui.dropdown .button{position:relative;display:inline-block;height:44px;margin:0;border:none;font-size:16px;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1em;padding:16px 20px;text-align:center;text-decoration:none;text-shadow:none;user-select:none;vertical-align:baseline;background:#fff;border-radius:0;color:#333;cursor:pointer;flex:0 0 auto}.hsbc-ui.dropdown .button:after{position:absolute;right:15px;top:15px;display:inline-block;content:\\\" \\\";height:10px;width:10px;border-width:0 1px 1px 0;border-color:#333;border-style:solid;transform:rotate(45deg);transform-origin:center}.hsbc-ui.dropdown .button:hover{background-color:#f3f3f3;background-image:none}.hsbc-ui.dropdown .button.actived:after{top:20px;transform:rotate(-135deg)}.hsbc-ui.dropdown .list-content>div{position:absolute;width:-webkit-calc(100% + 2px);width:-moz-calc(100% + 2px);width:calc(100% + 2px);overflow-x:hidden;overflow-y:scroll;visibility:hidden;top:44px;left:-1px;border:1px solid #767676;z-index:3}.hsbc-ui.dropdown .list-content>div.actived{visibility:visible}.hsbc-ui.dropdown .list-content>div.hideScrollbar::-webkit-scrollbar{display:none}.hsbc-ui.dropdown .list-content>div::-webkit-scrollbar{width:10px}.hsbc-ui.dropdown .list-content>div::-webkit-scrollbar-track{background:#f1f1f1}.hsbc-ui.dropdown .list-content>div::-webkit-scrollbar-thumb{background:#888}.hsbc-ui.dropdown .list-content>div::-webkit-scrollbar-thumb:hover{background:#555}.hsbc-ui.dropdown .list-content>div .no-result{position:relative;top:0;left:0;width:100%;height:100%;z-index:1;text-align:center;background-color:#fff}.hsbc-ui.dropdown .list-content .list{width:100%;margin:0;padding:0;background-color:#fff}.hsbc-ui.dropdown .list-content .list .select-all{height:41px;cursor:default;text-align:right;padding:10px 5px 0 0;margin:0 18px 0 0}.hsbc-ui.dropdown .list-content .list .select-all:hover{background-color:#fff}.hsbc-ui.dropdown .list-content .list .select-all span{text-decoration:underline;font-weight:bold;cursor:pointer}.hsbc-ui.dropdown .list-content .list li:hover,.hsbc-ui.dropdown .list-content .list li:focus{background-color:#f3f3f3}.hsbc-ui.dropdown .list-content .list li:active{background-color:#ededed}.hsbc-ui.dropdown .list-content .list li .item{margin-left:12px;padding:8px 0 8px 3px;border-bottom:1px solid #ededed}.hsbc-ui.dropdown .list-content .list li .item .icon{height:22px;width:22px;margin-right:8px;border:1px solid #000;color:#00847f}.hsbc-ui.dropdown .list-content .list li .item .svg-icon{margin-right:8px;vertical-align:sub}.hsbc-ui.dropdown .list-content .list li .item .check::before{position:relative;top:4px}.hsbc-ui.dropdown .list-content .list li .item .square::before{content:\\\"\\\"}.hsbc-ui.dropdown .list-content .list li.selected rect{stroke:#000}.hsbc-ui.dropdown .list-content .list li.disabled{background-color:#fff;opacity:.5}.hsbc-ui.dropdown .list-content .list li.disabled :hover{cursor:not-allowed}.hsbc-ui.dropdown .list-content .list .category-name{padding:5px 0 0 13px;color:#333;font-size:20px}.hsbc-ui.dropdown .list-content .list .category-name:hover{background-color:rgba(0,0,0,0);cursor:default}.hsbc-ui.dropdown .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hsbc-ui.message{display:flex;color:#333;font-size:1em;font-weight:300;line-height:1.5}.hsbc-ui.message .warn{width:24px;height:24px;flex-shrink:0;flex-grow:0;margin-right:.313rem;line-height:1.5;color:#a8000b;vertical-align:middle;display:inline-block}.hsbc-ui.message p,.hsbc-ui.message span{margin:0}.hsbc-ui.banner{position:relative}.hsbc-ui.banner .banner-container{height:0;padding-left:1.25rem;padding-right:1.25rem;padding-bottom:33.3333333333%;background-color:rgba(0,0,0,0);align-items:center}.hsbc-ui.banner .image{background-size:cover;-moz-background-size:cover;background-position:center;background-repeat:no-repeat;height:100%;left:0;position:absolute;top:0;width:100%}.hsbc-ui.banner .banner-content{position:absolute;max-height:calc(100% - 2.5em);padding:1.25rem;width:50%;top:50%;align-items:center;background:#fff;color:#333;font-size:1rem;line-height:1.5;text-align:left;font-weight:normal;border-radius:0;box-shadow:none;transform:translate(20px, -50%)}.hsbc-ui.banner .banner-content>.title{font-size:2.063rem;line-height:3.625;font-weight:normal;text-align:left;color:#333}.hsbc-ui.banner .banner-content>.title+.sub-title{margin-top:1.25rem}.hsbc-ui.banner .banner-content>.sub-title+.meta{margin-top:1.25rem}.hsbc-ui.banner .banner-content>.sub-title,.hsbc-ui.banner .banner-content>.meta{font-weight:normal;line-height:1.5;text-align:left;color:#333}.hsbc-ui.banner .banner-content>.meta{margin-bottom:1.25rem}.hsbc-ui.banner .banner-content>.action{margin-top:1.25rem}.hsbc-ui.banner .banner-content>.action~.action{margin-top:.625rem}.hsbc-ui.banner .banner-content>.action .mock-button{position:absolute;margin:0;width:90px;height:90px;background:#fff;right:-90px;bottom:0;font-size:24px;border:0;color:#db0011}.hsbc-ui.banner .banner-content>.action .mock-button .svg-icon{width:24px;height:24px}.hsbc-ui.banner.bespoke .banner-content{display:flex;background:linear-gradient(-45deg, transparent 50%, #fff 0);top:0;left:0;height:100%;width:100%;max-height:none;transform:none;flex-direction:column;align-items:flex-start;justify-content:center}.hsbc-ui.banner.bespoke .banner-content .title{font-size:2.75rem;font-weight:normal;text-align:left}@media only screen and (max-width: 768px){.hsbc-ui.banner .banner-container{padding-bottom:100%}.hsbc-ui.banner .banner-content{padding:20px;width:calc(100% - 2.5em);top:auto;bottom:20px;left:20px;transform:none}.hsbc-ui.banner .banner-content>.title{line-height:2.688}.hsbc-ui.banner .banner-content>.action .mock-button{right:0;bottom:auto;top:-90px}}.hsbc-ui.firefox th{background-clip:padding-box !important}.hsbc-ui.firefox td{background-clip:padding-box !important}.hsbc-ui.table{width:100%;height:100%;color:#333;font-weight:300}.hsbc-ui.table.grouped table thead th{position:-webkit-sticky;position:sticky;z-index:1}.hsbc-ui.table.header-sticky table thead th{position:-webkit-sticky;position:sticky;z-index:1}.hsbc-ui.table table{border-collapse:collapse;border:0;border-spacing:0;width:100%;position:relative}.hsbc-ui.table table caption{position:absolute;left:-10000000px}.hsbc-ui.table table tbody{position:relative}.hsbc-ui.table table thead th{border:1px solid #d7d8d6;color:#333;font-weight:normal;background:#ededed;padding:1.25rem;font-size:1rem;text-align:left;line-height:1.125;overflow:hidden;text-overflow:ellipsis;min-width:8.5rem;position:relative}.hsbc-ui.table table td{border:1px solid #d7d8d6;color:#333;padding:1.25rem;font-size:1rem;text-align:left;line-height:1.125;overflow:hidden;text-overflow:ellipsis;min-width:8.5rem;position:relative;font-weight:300}.hsbc-ui.table table td>span{display:inline-block;width:100%}.hsbc-ui.table table td.priority{color:#333 !important}.hsbc-ui.table table td .focus-button{background:none;border:none;text-align:left;font-weight:inherit;color:inherit;padding:0;font-size:inherit;line-height:inherit;cursor:pointer}.hsbc-ui.table table tr{position:relative}.hsbc-ui.table table tr.clickable td{cursor:pointer}.hsbc-ui.table table tr.notification td:first-of-type::before{content:\\\"\\\";width:8px;height:8px;background:#ba1110;position:absolute;border-radius:500rem;left:8px;top:8px}.hsbc-ui.table table tr.hover-bg-highlight:hover td{background:#ededed}.hsbc-ui.table table tr.emphasis td{font-weight:500;color:#333 !important}.hsbc-ui.table table tr.cursor-not-allowed td{cursor:not-allowed}.hsbc-ui.table .heading{display:table-row}.hsbc-ui.table .heading+tr{margin-top:1.5rem}.hsbc-ui.table .heading th{border:none;color:#fff;font-size:1rem;font-weight:normal;line-height:1;padding:1.25rem;background:#767676;position:-webkit-sticky;position:sticky;z-index:10}.hsbc-ui.table .heading th:first-child{text-align:left}.hsbc-ui.table .heading th[class*=\\\"center aligned\\\"],.hsbc-ui.table .heading td[class*=\\\"center aligned\\\"]{text-align:center}.hsbc-ui.table .heading th[class*=\\\"left aligned\\\"],.hsbc-ui.table .heading td[class*=\\\"left aligned\\\"]{text-align:left}.hsbc-ui.table .heading th[class*=\\\"right aligned\\\"],.hsbc-ui.table .heading td[class*=\\\"right aligned\\\"]{text-align:right}.hsbc-ui.table .heading .border{border-right:1px solid #fff}.hsbc-ui.table .footer{padding:2.5rem;text-align:center;width:100%;color:#333;line-height:1.5;font-weight:300}.hsbc-ui.table .has-error.tr{margin-bottom:0 !important;border-bottom:1px solid #d7d8d6}.hsbc-ui.table .error td .warning{color:#a8000b;display:inline-block;vertical-align:top;width:1.25rem;font-size:1.25rem}.hsbc-ui.table .error td .message{margin:0 10px;font-size:.875rem;display:inline-block;vertical-align:middle;width:calc(100% - 58px)}.hsbc-ui.table .error:hover td{background:#fff;cursor:default}.hsbc-ui.table i{color:#252525;font-size:1.25rem;height:1.25rem;width:1.25rem}.hsbc-ui.table.medium .heading th .grouping-cell-wrapper,.hsbc-ui.table.small .heading th .grouping-cell-wrapper{display:flex;flex-wrap:wrap}.hsbc-ui.table.medium .heading th .grouping-cell-value,.hsbc-ui.table.small .heading th .grouping-cell-value{font-weight:200}.hsbc-ui.table.medium .heading th .grouping-cell-values{margin-left:auto}.hsbc-ui.table.medium .heading th .grouping-cell-value{margin-left:30px}.hsbc-ui.table.small .heading th .grouping-cell-values{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between}.hsbc-ui.table.small .heading th .grouping-cell-values :nth-of-type(2n){text-align:right}.hsbc-ui.table.small .heading th .grouping-cell-value{flex:1 0 50%;margin-top:8px}.hsbc-ui.table.small .heading th .grouping-cell-title{width:100%}.hsbc-ui.table[class*=\\\"left aligned\\\"]{text-align:left}.hsbc-ui.table[class*=\\\"center aligned\\\"]{text-align:center}.hsbc-ui.table[class*=\\\"right aligned\\\"]{text-align:right}.hsbc-ui.table [class*=\\\"center aligned\\\"]{text-align:center}.hsbc-ui.table [class*=\\\"left aligned\\\"]{text-align:left}.hsbc-ui.table [class*=\\\"right aligned\\\"]{text-align:right}.hsbc-ui.table[class*=\\\"top aligned\\\"]{vertical-align:top}.hsbc-ui.table[class*=\\\"middle aligned\\\"]{vertical-align:middle}.hsbc-ui.table[class*=\\\"bottom aligned\\\"]{vertical-align:bottom}.hsbc-ui.table [class*=\\\"top aligned\\\"]{vertical-align:top}.hsbc-ui.table [class*=\\\"middle aligned\\\"]{vertical-align:middle}.hsbc-ui.table [class*=\\\"bottom aligned\\\"]{vertical-align:bottom}.hsbc-ui.table .performance{display:flex;justify-content:flex-end}.hsbc-ui.table .performance .positive{position:relative}.hsbc-ui.table .performance .positive::after{content:\\\"\\\";width:0;height:0;border-left:10px solid rgba(0,0,0,0);border-right:10px solid rgba(0,0,0,0);border-bottom:10px solid #00847f;position:absolute;top:4px;right:4px}.hsbc-ui.table .performance .negative{position:relative}.hsbc-ui.table .performance .negative::after{content:\\\"\\\";width:0;height:0;border-left:10px solid rgba(0,0,0,0);border-right:10px solid rgba(0,0,0,0);border-top:10px solid #db0011;position:absolute;top:6px;right:4px}.hsbc-ui.table .currency,.hsbc-ui.table .percentage,.hsbc-ui.table .column-header{font-size:.75rem;line-height:1.125;color:#333}.hsbc-ui.table .column-header{display:none;font-weight:normal}@media only screen and (min-width: 1024px){.hsbc-ui.table table{border:1px solid #d7d8d6}.hsbc-ui.table table .sortable-header-cell{cursor:pointer}.hsbc-ui.table table .sortable-header-cell-wrapper{display:flex;justify-content:space-between;align-items:center}.hsbc-ui.table table .sortable-header-cell-wrapper .svg-icon{flex:0 0 1.25rem}.hsbc-ui.table table .sortable-header-cell-btn{padding:0;padding-right:4px;flex:1;cursor:inherit;background:none;border:none}.hsbc-ui.table table .sortable-header-cell-sort-icon svg{fill-opacity:.7}.hsbc-ui.table table .sortable-header-cell-sort-icon-active svg{fill-opacity:1}}@media only screen and (max-width: 1023px){.hsbc-ui.table table .sortable-header-cell{cursor:pointer}.hsbc-ui.table table .sortable-header-cell-wrapper{display:flex;justify-content:space-between;align-items:center}.hsbc-ui.table table .sortable-header-cell-wrapper .svg-icon{flex:0 0 1.25rem}.hsbc-ui.table table .sortable-header-cell-btn{padding:0;padding-right:4px;flex:1;cursor:inherit;background:none;border:none}.hsbc-ui.table table .sortable-header-cell-sort-icon svg{fill-opacity:.7}.hsbc-ui.table table .sortable-header-cell-sort-icon-active svg{fill-opacity:1}.hsbc-ui.table.grouped tr{margin:1.25rem !important}.hsbc-ui.table.grouped tr.heading{margin:1.25rem 0 !important}.hsbc-ui.table.type.default tr.none td:nth-last-child(-n+2){border-bottom:0}.hsbc-ui.table.type.default tr:not(.heading) td{width:50%}.hsbc-ui.table.type.default tr:not(.heading) td:first-of-type{background:#f3f3f3 !important;width:100%}.hsbc-ui.table.type.default tr:not(.heading) td:first-of-type .column-header{display:none}.hsbc-ui.table thead{border:none;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hsbc-ui.table tr{display:block;margin:1.25rem 0;box-shadow:0 -1px 30px 0 rgba(0,0,0,.15)}.hsbc-ui.table tr:hover td{background:none !important}.hsbc-ui.table tr.has-error{margin-bottom:0 !important;border-bottom:1px solid #d7d8d6}.hsbc-ui.table tr.error{margin-top:0 !important;box-shadow:0 15px 30px 0 rgba(0,0,0,.15)}.hsbc-ui.table tr.error:not(.heading) td:first-of-type{padding:1rem !important;background:#fff !important}.hsbc-ui.table tr.mobile-data-row:not(.heading){display:grid;grid-template-columns:repeat(2, 1fr)}.hsbc-ui.table tr.mobile-data-row:not(.heading).optimized{grid-template-columns:repeat(4, 1fr)}.hsbc-ui.table tr.mobile-data-row:not(.heading) td{width:100% !important;border:0;border-top:1px solid #d7d8d6}.hsbc-ui.table tr.mobile-data-row:not(.heading) td:first-of-type{grid-column:1/-1;border-top:0 !important;border-bottom:0 !important}.hsbc-ui.table tr.mobile-data-row:not(.heading).one td:last-of-type{grid-column:1/-1}.hsbc-ui.table tr.mobile-data-row:not(.heading).two td:last-of-type{grid-column:2/-1}.hsbc-ui.table tr.mobile-data-row:not(.heading).three td:last-of-type{grid-column:3/-1}.hsbc-ui.table tr:not(.heading) td{display:inline-block;background:#fff;text-align:left !important;border:0;font-size:.875rem;width:25%;word-wrap:break-word}.hsbc-ui.table tr:not(.heading) td.priority{font-size:1rem;font-weight:normal}.hsbc-ui.table tr:not(.heading) td:first-of-type{background:#f3f3f3 !important;width:100%;border-bottom:1px solid #d7d8d6 !important}.hsbc-ui.table tr:not(.heading) td:first-of-type .column-header{display:none}.hsbc-ui.table .column-header{display:block;padding-bottom:10px}.hsbc-ui.table .performance{justify-content:flex-start}}@media only screen and (max-width: 767px){.hsbc-ui.table thead{border:none;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hsbc-ui.table tr{display:block;margin:1.25rem;box-shadow:0 -1px 30px 0 rgba(0,0,0,.15)}.hsbc-ui.table tr.mobile-data-row:not(.heading){display:grid;grid-template-columns:repeat(2, 1fr)}.hsbc-ui.table tr.mobile-data-row:not(.heading).optimized{grid-template-columns:repeat(2, 1fr)}.hsbc-ui.table tr.mobile-data-row:not(.heading) td{width:100% !important;border-top:1px solid #d7d8d6 !important}.hsbc-ui.table tr.mobile-data-row:not(.heading) td:first-of-type{border-top:0 !important;border-bottom:0 !important}.hsbc-ui.table tr.mobile-data-row:not(.heading).one td:last-of-type{grid-column:1/-1}.hsbc-ui.table tr:not(.heading) td{display:inline-block;text-align:left !important;border-left:0 !important;border-right:0 !important;border-top:0 !important;font-size:.875rem;width:50%;word-wrap:break-word}.hsbc-ui.table tr:not(.heading) td:first-of-type{background:#f3f3f3 !important;width:100%;border-bottom:1px solid #d7d8d6 !important}.hsbc-ui.table tr:not(.heading) td:first-of-type .column-header{display:none}.hsbc-ui.table .performance{justify-content:flex-start}.hsbc-ui.table .column-header{display:block}}@media only screen and (max-width: 320px){.hsbc-ui.table.grouped tr{margin:1.25rem 0 !important}.hsbc-ui.table tr{margin:1.25rem 0 !important;position:relative}.hsbc-ui.table tr.heading+tr{margin:1.5rem 0 1.25rem 0 !important}}.hsbc-ui.gallery{position:relative;padding:2.375em 3.75em;width:100%;height:100vh;max-width:100vw;background:#d0d3d9;overflow:auto}.hsbc-ui.gallery.small.gallery,.hsbc-ui.gallery.medium.gallery{padding:2.375em 1.25em}.hsbc-ui.gallery.small.gallery .overview,.hsbc-ui.gallery.medium.gallery .overview{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin:auto}.hsbc-ui.gallery.small.gallery .overview .controls,.hsbc-ui.gallery.medium.gallery .overview .controls{position:relative;bottom:auto;right:auto}.hsbc-ui.gallery.small.gallery .close,.hsbc-ui.gallery.medium.gallery .close{right:20px}.hsbc-ui.gallery .grid{display:grid;grid-template-columns:auto auto auto;grid-gap:24px}.hsbc-ui.gallery .grid .image{width:100%;height:0;cursor:pointer;padding-bottom:56.25%}.hsbc-ui.gallery .close{position:absolute;top:20px;right:60px;color:#fff;cursor:pointer}.hsbc-ui.gallery .overview{position:relative}.hsbc-ui.gallery .overview .image.active{width:100%;height:0;padding-bottom:56.25%;border:5px solid #fff}.hsbc-ui.gallery .image{background-color:#5a5a5a;background-repeat:no-repeat;background-position:center;background-size:contain}.hsbc-ui.gallery .options{margin-bottom:20px}.hsbc-ui.gallery .options .option{display:inline-block;width:26px;height:26px;margin-right:20px;background-size:contain;background-repeat:no-repeat;cursor:pointer}.hsbc-ui.gallery .options .option.overview{background-image:url(\" + ___CSS_LOADER_URL___16___ + \")}.hsbc-ui.gallery .options .option.overview.active{background-image:url(\" + ___CSS_LOADER_URL___17___ + \")}.hsbc-ui.gallery .options .option.grid{background-image:url(\" + ___CSS_LOADER_URL___18___ + \")}.hsbc-ui.gallery .options .option.grid.active{background-image:url(\" + ___CSS_LOADER_URL___19___ + \")}.hsbc-ui.gallery .controls{padding-top:20px;display:flex;justify-content:flex-end}.hsbc-ui.gallery .controls .right{margin:0}.hsbc-ui.gallery .indicators{position:absolute;right:50%;transform:translate(50%, -50%);bottom:0}.hsbc-ui.gallery .indicators .indicator{box-sizing:border-box;height:3px;width:32px;background-color:#666;transform:scaleX(-1)}.hsbc-ui.gallery .indicators .indicator.is-selected{background-color:#d0021b}@media(max-width: 768px){.hsbc-ui.gallery{padding:2.375em 1.25em}.hsbc-ui.gallery .overview{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin:auto}.hsbc-ui.gallery .overview .controls{position:relative;bottom:auto;right:auto}.hsbc-ui.gallery .close{right:20px}}.hsbc-ui.carousel .carousel-container .img-container{position:relative}.hsbc-ui.carousel .carousel-container .slide-wrap{position:relative;height:100%;overflow:hidden}.hsbc-ui.carousel .carousel-container .slide-ul{position:relative;width:100%;height:100%}.hsbc-ui.carousel .carousel-container .slide-a{display:block;float:left;width:100%;height:100%}.hsbc-ui.carousel .carousel-container .slide-li{width:100%;height:100%;background-size:100% 100%;background-repeat:no-repeat;background-color:#d7d8d6}.hsbc-ui.carousel .carousel-container .dots-wrap{width:100%;height:18px;position:absolute;bottom:-31px;text-align:center;line-height:18px}.hsbc-ui.carousel .carousel-container .dots{display:inline-block;width:30px;height:1px;margin-left:8px;background-color:#767676;cursor:pointer}.hsbc-ui.carousel .carousel-container .dots:first-child{margin-left:0}.hsbc-ui.carousel .carousel-container .dots.active{height:2px;background-color:#ba1110}.hsbc-ui.carousel .carousel-container .btn-wrap{width:98px;position:absolute;display:flex;right:12px;bottom:-53px}.hsbc-ui.carousel .carousel-container .btn-wrap-mobilesize{width:98px;position:absolute;bottom:-96px;left:50%;margin-left:-49px}.hsbc-ui.carousel .carousel-container .carousel-left{margin-right:10px}.hsbc-ui.carousel .carousel-container .carousel-right{margin-right:0}.dimmable:not(body){position:relative}.dimmed.dimmable>.hsbc-ui.animating.dimmer,.dimmed.dimmable>.hsbc-ui.visible.dimmer{display:flex;opacity:1}.dimmed.dimmable:not(body){overflow:hidden}.hsbc-ui.active.dimmer{display:flex;opacity:1}.hsbc-ui.disabled.dimmer{height:0 !important;width:0 !important}.hsbc-ui.page.dimmer{perspective:2000px;position:fixed;transform-origin:center center}.hsbc-ui.dimmer{align-items:center;background-color:rgba(62,80,93,.85);display:none;flex-direction:column;height:100%;justify-content:center;left:0 !important;line-height:1;opacity:0;padding:0;position:absolute;text-align:center;top:0 !important;transition:background-color .5s linear;user-select:none;vertical-align:middle;width:100%;will-change:opacity;z-index:99999}.hsbc-ui.dimmer>.content{color:#333;user-select:none}.animating.dimmable:not(body){overflow:hidden}body.animating.in.dimmable{overflow:hidden}body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.hsbc-ui.loading.modal{display:flex;visibility:hidden;z-index:-1}.hsbc-ui.active.modal{display:flex}.hsbc-ui.modal{background:#fff;border-radius:4px;max-height:100vh !important;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);display:none;flex:0 0 auto;font-size:1rem;line-height:1.5;min-width:400px;min-height:250px;overflow:hidden;position:relative;text-align:left;transform-origin:50% 50%;user-select:text;width:auto;height:auto;will-change:top,left,margin,transform,opacity;flex-direction:column;z-index:1001}.hsbc-ui.modal .header-index{overflow:hidden;position:absolute;z-index:10000;background:#db0011;color:#fff;left:-1020px}.hsbc-ui.modal .close-icon{display:flex;color:#333;cursor:pointer;font-size:.938rem;height:15px;width:15px;opacity:.8;position:absolute;background:none;border:0;padding:0;margin:0;right:20px;top:20px;z-index:100}.hsbc-ui.modal .close-icon:hover{opacity:1;cursor:pointer}.hsbc-ui.modal .close-icon .svg-icon{height:15px;width:15px}.hsbc-ui.modal .back-icon{display:flex;color:#333;cursor:pointer;font-size:.938rem;height:15px;width:15px;opacity:.8;position:absolute;background:none;border:0;padding:0;margin:0;left:20px;top:20px;z-index:100}.hsbc-ui.modal .back-icon:hover{opacity:1;cursor:pointer}.hsbc-ui.modal .back-icon .svg-icon{height:15px;width:15px}.hsbc-ui.modal>.header{background:#fff;border:1px solid rgba(0,0,0,0);color:#333;display:block;margin-bottom:2px;padding:1rem;text-align:center;z-index:99}@media screen and (min-width: 768px){.hsbc-ui.modal>.header h2{outline:none;font-size:1.375rem;font-weight:normal;line-height:1}}@media screen and (max-width: 767px){.hsbc-ui.modal>.header h2{outline:none;font-size:1.1875rem;font-weight:normal;line-height:1}}.hsbc-ui.modal>.header:not(.hsbc-ui){font-size:1.375rem;font-weight:normal;line-height:1}.hsbc-ui.modal .description{display:block;font-size:1rem;line-height:24px;text-align:left;margin:1.5rem 1.25rem}.hsbc-ui.modal .actions{display:flex;flex-shrink:0;background:#fff;padding:.625rem 1.25rem 1.25rem;width:100%}.hsbc-ui.modal .actions button{flex:1}.hsbc-ui.modal .actions button:nth-child(2){margin:0}.hsbc-ui.modal .content{position:relative;padding-bottom:40px;overflow:auto;flex:auto;scrollbar-width:thin}.hsbc-ui.smallest .header h2{font-size:1.1875rem}.hsbc-ui.gradient.modal .content::after{content:\\\"\\\";box-shadow:0px -20px 20px #fff;position:absolute;width:100%;bottom:-20px;height:20px}@media(max-width: 767px){.hsbc-ui.modal{height:100%;width:100%;max-height:100%;min-width:auto;top:0}.hsbc-ui.modal .header:not(.hsbc-ui){font-size:1.1875rem;line-height:1}.hsbc-ui.smallest{width:400px;height:322px}}@media(max-width: 767px){.hsbc-ui.smallest{width:320px;height:322px}}@media(min-width: 768px)and (max-width: 1023px){.hsbc-ui.modal{max-width:650px;max-height:590px}.hsbc-ui.modal .header:not(.hsbc-ui){font-size:1.1875rem;line-height:1}.hsbc-ui.modal.smallest{width:400px;height:250px}.hsbc-ui.modal.small{height:436px;width:400px}.hsbc-ui.modal.medium{height:536px;width:500px}.hsbc-ui.modal.large{height:572px;width:650px}}@media(min-width: 1024px)and (max-width: 1365px){.hsbc-ui.modal{max-width:768px;max-height:675px}.hsbc-ui.modal .header:not(.hsbc-ui){font-size:1.375rem;line-height:1}.hsbc-ui.modal.smallest{width:400px;height:250px}.hsbc-ui.modal.small{height:490px;width:450px}.hsbc-ui.modal.medium{height:590px;width:550px}.hsbc-ui.modal.large{height:675px;width:768px}}@media(min-width: 1366px){.hsbc-ui.modal{max-width:1024px;max-height:900px}.hsbc-ui.modal .header:not(.hsbc-ui){font-size:1.375rem;line-height:1}.hsbc-ui.modal.smallest{width:400px;height:250px}.hsbc-ui.modal.small{height:600px;width:550px}.hsbc-ui.modal.medium{height:700px;width:768px}.hsbc-ui.modal.large{height:800px;width:1024px}}.hsbc-ui.error-page{position:absolute;display:flex;text-align:center;top:0;left:0;bottom:0;right:0;width:100%;height:100vh;z-index:1;overflow:hidden}.hsbc-ui.error-page .error-message-container{padding-top:120px}@media only screen and (max-height: 350px){.hsbc-ui.error-page .error-message-container{padding-top:10px}}.hsbc-ui.error-page.in-container{height:100%}.hsbc-ui.error-page.in-container .button{max-width:100% !important}.hsbc-ui.error-page.in-container .container{justify-content:space-between !important}.hsbc-ui.error-page .container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;background:#fff}.hsbc-ui.error-page .error-actions{position:relative;bottom:0;left:0;width:100%;padding:.625rem 1.25rem 1.25rem}.hsbc-ui.error-page .icon{color:#a8000b;display:inline-block;vertical-align:top;font-size:60px}.hsbc-ui.error-page .svg-icon{width:60px;height:60px}.hsbc-ui.error-page .error-message-title{padding-top:1.5rem;font-size:22px;line-height:22px;text-align:center;letter-spacing:0}.hsbc-ui.error-page p{color:#3a3a3a;font-size:1rem;letter-spacing:0;line-height:24px;text-align:center;margin:0;padding:1.5rem 0 4rem}.hsbc-ui.height-follow-cb{height:100%;bottom:auto}.hsbc-ui.height-follow-cb .error-message-container{padding-top:0px}@media only screen and (max-width: 767px){.hsbc-ui.error-page .icon{font-size:2.5rem}.hsbc-ui.error-page .svg-icon{width:2.5rem;height:2.5rem}.hsbc-ui.error-page .container{justify-content:space-between}.hsbc-ui.error-page p{padding:1.65rem 0}.hsbc-ui.error-page .error-actions{position:absolute;left:0;bottom:0}.hsbc-ui.height-follow-cb .container{justify-content:center}.hsbc-ui.height-follow-cb p{padding:1.65rem 0 4rem 0}}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.error-page .icon{font-size:2.5rem}.hsbc-ui.error-page .svg-icon{width:2.5rem;height:2.5rem}.hsbc-ui.error-page p{padding:1.65rem 0 2.5rem}}@media only screen and (min-width: 768px){.hsbc-ui.error-page .button{max-width:250px}}.hsbc-ui.proportional-chart{width:100%;overflow:hidden}.hsbc-ui.proportional-chart ul{width:100%;list-style:none;padding:0;margin:0;border:1px solid #d7d8d6}.hsbc-ui.proportional-chart ul li{width:100%;height:auto;display:flex;position:relative;text-align:right;overflow:hidden;border-bottom:1px solid #d7d8d6}.hsbc-ui.proportional-chart ul li:last-child{border-bottom:none}.hsbc-ui.proportional-chart ul li button{padding:1.25rem .625rem;width:100%;height:100%;background:none;justify-content:space-between;display:flex;position:relative;align-items:center;border:0;color:#333}.hsbc-ui.proportional-chart ul li.negative .bar{right:0;left:auto}.hsbc-ui.proportional-chart ul li:hover{background:#ededed;cursor:pointer}.hsbc-ui.proportional-chart .name{font-size:1rem;text-align:left;font-weight:normal;line-height:1.5}.hsbc-ui.proportional-chart .values{line-height:1.5;text-align:right}.hsbc-ui.proportional-chart .values .unit{font-size:.625rem;font-weight:300;margin-left:2px}.hsbc-ui.proportional-chart .values .value{font-size:.875rem;font-weight:normal}.hsbc-ui.proportional-chart .bar{background-color:#2d6980;bottom:0;left:0;position:absolute;height:5px}.hsbc-ui.proportional-chart.clickable ul li button{cursor:pointer}.hsbc-ui.file-picker .file-picker__input{display:none}.hsbc-ui.file-picker .file-picker__icon{height:1.25rem;margin:0 0 .5rem;pointer-events:none;width:1.25rem}.hsbc-ui.file-picker .file-picker__icon>svg{fill:#333}.hsbc-ui.file-picker .file-picker__caption{display:none}.hsbc-ui.file-picker .file-picker__caption,.hsbc-ui.file-picker .file-picker__caption--mobile{font-weight:bold;font-size:1rem;line-height:1rem;margin:.25rem 0;pointer-events:none;text-align:center;color:#333}.hsbc-ui.file-picker .file-picker__caption u,.hsbc-ui.file-picker .file-picker__caption--mobile u{text-decoration:currentColor solid underline}.hsbc-ui.file-picker .file-picker__drop-zone{align-items:center;background-color:#fff;border:1px dashed #767676;cursor:pointer;display:flex;flex-flow:column nowrap;height:20vh;justify-content:center;min-height:150px;overflow:hidden;position:relative;transition:border-width .1s ease-out}.hsbc-ui.file-picker .file-picker__drop-zone--hover{border-width:4px;opacity:.5}.hsbc-ui.file-picker.disabled .file-picker__icon>svg{fill:#333}.hsbc-ui.file-picker.disabled .file-picker__caption,.hsbc-ui.file-picker.disabled .file-picker__caption--mobile{color:#333}.hsbc-ui.file-picker.disabled .file-picker__drop-zone{border-color:#767676;cursor:no-drop;opacity:.3}.hsbc-ui.file-picker.error .file-picker__icon>svg{fill:#a8000b}.hsbc-ui.file-picker.error .file-picker__caption,.hsbc-ui.file-picker.error .file-picker__caption--mobile{color:#a8000b}.hsbc-ui.file-picker.error .file-picker__drop-zone{border-color:#a8000b}@media(pointer: fine){.hsbc-ui.file-picker .file-picker__caption{display:block}.hsbc-ui.file-picker .file-picker__caption--mobile{display:none}}.hsbc-ui.checkbox{position:relative;display:inline-block;backface-visibility:hidden;vertical-align:baseline;font-style:normal;min-height:2.75rem;font-size:1rem;line-height:2;min-width:2rem}.hsbc-ui.checkbox.checked .svg-icon rect,.hsbc-ui.checkbox.indeterminate .svg-icon rect{stroke:#000}.hsbc-ui.checkbox.checked:hover rect,.hsbc-ui.checkbox.indeterminate:hover rect{fill:#f3f3f3;stroke:#000}.hsbc-ui.checkbox:hover .svg-icon rect{stroke:#000}.hsbc-ui.checkbox.disabled.checkbox label{opacity:.5;cursor:default !important}.hsbc-ui.checkbox.orientation.horizontal .checkbox{padding-right:1.5rem}.hsbc-ui.checkbox.hidden{z-index:1}.hsbc-ui.checkbox.hidden+label{cursor:pointer;user-select:none}.hsbc-ui.checkbox:hover{cursor:pointer}.hsbc-ui.checkbox:hover label::before{background:#f3f3f3;border-color:#305a85}.hsbc-ui.checkbox.isKeyboardEvent input:focus+label .svg-icon{outline:1px solid #333}.hsbc-ui.checkbox .hint-text{padding:0;margin-top:0;margin-left:2.813rem;font-size:.875rem;line-height:1;font-weight:normal}.hsbc-ui.checkbox .conditional{display:none;line-height:1}.hsbc-ui.checkbox .conditional.active{display:block}.hsbc-ui.checkbox input[type=checkbox],.hsbc-ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0 !important;z-index:3;width:2em;height:2em}.hsbc-ui.checkbox input[disabled]~label,.hsbc-ui.checkbox input[disabled]~.hint-text,.hsbc-ui.checkbox input[disabled]~.conditional{opacity:.5;cursor:default !important}.hsbc-ui.checkbox label{cursor:auto;position:relative;display:block;outline:none;font-size:1em;line-height:2;text-align:left;color:#333;transition:color .1s ease;margin:.375em 0}.hsbc-ui.checkbox label:hover{cursor:pointer}.hsbc-ui.checkbox+label{color:#333;transition:color .1s ease;vertical-align:middle}@font-face{font-family:\\\"Icons\\\";src:url(\" + ___CSS_LOADER_URL___20___ + \");src:url(\" + ___CSS_LOADER_URL___20___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___21___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL___22___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___23___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL___24___ + \") format(\\\"svg\\\");font-style:normal;font-weight:normal;font-variant:normal;text-decoration:inherit;text-transform:none}@font-face{font-family:\\\"outline-icons\\\";src:url(\" + ___CSS_LOADER_URL___25___ + \");src:url(\" + ___CSS_LOADER_URL___25___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL___26___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL___27___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL___28___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL___29___ + \") format(\\\"svg\\\");font-style:normal;font-weight:normal;font-variant:normal;text-decoration:inherit;text-transform:none}i.emphasized.icon{opacity:1 !important}i.disabled.icon{opacity:.45 !important}i.icon{display:inline-block;opacity:1;font-family:\\\"Icons\\\",sans-serif;font-style:normal;font-weight:normal;text-decoration:inherit;text-align:center;speak:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon.loading{height:1em;line-height:1;-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-loading{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}i.icon.hover{opacity:1 !important}i.icon.active{opacity:1 !important}i.icon::before{background:none !important}i.icon.outline{font-family:\\\"outline-icons\\\",sans-serif}i.icon.linkedin.in::before{content:\\\"\\\"}i.icon.zoom.in::before{content:\\\"\\\"}i.icon.zoom.out::before{content:\\\"\\\"}i.icon.sign.in::before{content:\\\"\\\"}i.icon.in.cart::before{content:\\\"\\\"}i.icon.log.out::before{content:\\\"\\\"}i.icon.sign.out::before{content:\\\"\\\"}i.icon.logout::before{content:\\\"\\\"}i.icon.meanpath::before{content:\\\"\\\"}i.icon.money::before{content:\\\"\\\"}i.icon.move::before{content:\\\"\\\"}i.icon.pencil::before{content:\\\"\\\"}i.icon.protect::before{content:\\\"\\\"}i.icon.radio::before{content:\\\"\\\"}i.icon.remove.bookmark::before{content:\\\"\\\"}i.icon.resize.horizontal::before{content:\\\"\\\"}i.icon.resize.vertical::before{content:\\\"\\\"}i.icon.sign-in::before{content:\\\"\\\"}i.icon.sign-out::before{content:\\\"\\\"}i.icon.spoon::before{content:\\\"\\\"}i.icon.star.half.empty::before{content:\\\"\\\"}i.icon.star.half.full::before{content:\\\"\\\"}i.icon.ticket::before{content:\\\"\\\"}i.icon.times.rectangle::before{content:\\\"\\\"}i.icon.write::before{content:\\\"\\\"}i.icon.youtube.play::before{content:\\\"\\\"}i.icon.accessible.icon::before{content:\\\"\\\"}i.icon.accusoft::before{content:\\\"\\\"}i.icon.address.book::before{content:\\\"\\\"}i.icon.address.card::before{content:\\\"\\\"}i.icon.adjust::before{content:\\\"\\\"}i.icon.adn::before{content:\\\"\\\"}i.icon.adversal::before{content:\\\"\\\"}i.icon.affiliatetheme::before{content:\\\"\\\"}i.icon.algolia::before{content:\\\"\\\"}i.icon.align.center::before{content:\\\"\\\"}i.icon.align.justify::before{content:\\\"\\\"}i.icon.align.left::before{content:\\\"\\\"}i.icon.align.right::before{content:\\\"\\\"}i.icon.amazon::before{content:\\\"\\\"}i.icon.amazon.pay::before{content:\\\"\\\"}i.icon.ambulance::before{content:\\\"\\\"}i.icon.american.sign.language.interpreting::before{content:\\\"\\\"}i.icon.amilia::before{content:\\\"\\\"}i.icon.anchor::before{content:\\\"\\\"}i.icon.android::before{content:\\\"\\\"}i.icon.angellist::before{content:\\\"\\\"}i.icon.angle.down::before{content:\\\"\\\"}i.icon.angle.left::before{content:\\\"\\\"}i.icon.angle.right::before{content:\\\"\\\"}i.icon.angle.up::before{content:\\\"\\\"}i.icon.angle.double.left::before{content:\\\"\\\"}i.icon.angle.double.right::before{content:\\\"\\\"}i.icon.angle.double.up::before{content:\\\"\\\"}i.icon.angle.double.down::before{content:\\\"\\\"}i.icon.angrycreative::before{content:\\\"\\\"}i.icon.angular::before{content:\\\"\\\"}i.icon.app.store::before{content:\\\"\\\"}i.icon.app.store.ios::before{content:\\\"\\\"}i.icon.apper::before{content:\\\"\\\"}i.icon.apple::before{content:\\\"\\\"}i.icon.apple.pay::before{content:\\\"\\\"}i.icon.archive::before{content:\\\"\\\"}i.icon.arrow.alternate.circle.down::before{content:\\\"\\\"}i.icon.arrow.alternate.circle.left::before{content:\\\"\\\"}i.icon.arrow.alternate.circle.right::before{content:\\\"\\\"}i.icon.arrow.alternate.circle.up::before{content:\\\"\\\"}i.icon.arrow.circle.down::before{content:\\\"\\\"}i.icon.arrow.circle.left::before{content:\\\"\\\"}i.icon.arrow.circle.right::before{content:\\\"\\\"}i.icon.arrow.circle.up::before{content:\\\"\\\"}i.icon.arrow.down::before{content:\\\"\\\"}i.icon.arrow.left::before{content:\\\"\\\"}i.icon.arrow.right::before{content:\\\"\\\"}i.icon.arrow.up::before{content:\\\"\\\"}i.icon.arrows.alternate::before{content:\\\"\\\"}i.icon.arrows.alternate.horizontal::before{content:\\\"\\\"}i.icon.arrows.alternate.vertical::before{content:\\\"\\\"}i.icon.assistive.listening.systems::before{content:\\\"\\\"}i.icon.asterisk::before{content:\\\"\\\"}i.icon.asymmetrik::before{content:\\\"\\\"}i.icon.at::before{content:\\\"\\\"}i.icon.audible::before{content:\\\"\\\"}i.icon.audio.description::before{content:\\\"\\\"}i.icon.autoprefixer::before{content:\\\"\\\"}i.icon.avianex::before{content:\\\"\\\"}i.icon.aviato::before{content:\\\"\\\"}i.icon.aws::before{content:\\\"\\\"}i.icon.backward::before{content:\\\"\\\"}i.icon.balance.scale::before{content:\\\"\\\"}i.icon.ban::before{content:\\\"\\\"}i.icon.band.aid::before{content:\\\"\\\"}i.icon.bandcamp::before{content:\\\"\\\"}i.icon.barcode::before{content:\\\"\\\"}i.icon.bars::before{content:\\\"\\\"}i.icon.battery.empty::before{content:\\\"\\\"}i.icon.battery.full::before{content:\\\"\\\"}i.icon.battery.half::before{content:\\\"\\\"}i.icon.battery.quarter::before{content:\\\"\\\"}i.icon.battery.three.quarters::before{content:\\\"\\\"}i.icon.bed::before{content:\\\"\\\"}i.icon.beer::before{content:\\\"\\\"}i.icon.bell::before{content:\\\"\\\"}i.icon.bell.slash::before{content:\\\"\\\"}i.icon.bicycle::before{content:\\\"\\\"}i.icon.bimobject::before{content:\\\"\\\"}i.icon.binoculars::before{content:\\\"\\\"}i.icon.birthday.cake::before{content:\\\"\\\"}i.icon.bitcoin::before{content:\\\"\\\"}i.icon.bity::before{content:\\\"\\\"}i.icon.black.tie::before{content:\\\"\\\"}i.icon.blackberry::before{content:\\\"\\\"}i.icon.blind::before{content:\\\"\\\"}i.icon.blogger::before{content:\\\"\\\"}i.icon.blogger.b::before{content:\\\"\\\"}i.icon.bluetooth::before{content:\\\"\\\"}i.icon.bluetooth.b::before{content:\\\"\\\"}i.icon.bold::before{content:\\\"\\\"}i.icon.bolt::before{content:\\\"\\\"}i.icon.bomb::before{content:\\\"\\\"}i.icon.book::before{content:\\\"\\\"}i.icon.bookmark::before{content:\\\"\\\"}i.icon.bowling.ball::before{content:\\\"\\\"}i.icon.box::before{content:\\\"\\\"}i.icon.boxes::before{content:\\\"\\\"}i.icon.braille::before{content:\\\"\\\"}i.icon.briefcase::before{content:\\\"\\\"}i.icon.btc::before{content:\\\"\\\"}i.icon.bug::before{content:\\\"\\\"}i.icon.building::before{content:\\\"\\\"}i.icon.bullhorn::before{content:\\\"\\\"}i.icon.bullseye::before{content:\\\"\\\"}i.icon.buromobelexperte::before{content:\\\"\\\"}i.icon.bus::before{content:\\\"\\\"}i.icon.buysellads::before{content:\\\"\\\"}i.icon.calculator::before{content:\\\"\\\"}i.icon.calendar::before{content:\\\"\\\"}i.icon.calendar.alternate::before{content:\\\"\\\"}i.icon.calendar.check::before{content:\\\"\\\"}i.icon.calendar.minus::before{content:\\\"\\\"}i.icon.calendar.plus::before{content:\\\"\\\"}i.icon.calendar.times::before{content:\\\"\\\"}i.icon.user.cancel::before{content:\\\"\\\"}i.icon.user.close::before{content:\\\"\\\"}i.icon.user.delete::before{content:\\\"\\\"}i.icon.user.x::before{content:\\\"\\\"}i.icon.vcard::before{content:\\\"\\\"}i.icon.video.camera::before{content:\\\"\\\"}i.icon.video.play::before{content:\\\"\\\"}i.icon.visa.card::before{content:\\\"\\\"}i.icon.visa::before{content:\\\"\\\"}i.icon.volume.control.phone::before{content:\\\"\\\"}i.icon.wait::before{content:\\\"\\\"}i.icon.warning.sign::before{content:\\\"\\\"}i.icon.warning.circle::before{content:\\\"\\\"}i.icon.warning::before{content:\\\"\\\"}i.icon.wechat::before{content:\\\"\\\"}i.icon.wi-fi::before{content:\\\"\\\"}i.icon.wikipedia::before{content:\\\"\\\"}i.icon.winner::before{content:\\\"\\\"}i.icon.wizard::before{content:\\\"\\\"}i.icon.woman::before{content:\\\"\\\"}i.icon.won::before{content:\\\"\\\"}i.icon.wordpress.beginner::before{content:\\\"\\\"}i.icon.wordpress.forms::before{content:\\\"\\\"}i.icon.world::before{content:\\\"\\\"}i.icon.write.square::before{content:\\\"\\\"}i.icon.x::before{content:\\\"\\\"}i.icon.yc::before{content:\\\"\\\"}i.icon.ycombinator::before{content:\\\"\\\"}i.icon.yen::before{content:\\\"\\\"}i.icon.zip::before{content:\\\"\\\"}i.icon.zoom-in::before{content:\\\"\\\"}i.icon.zoom-out::before{content:\\\"\\\"}i.icon.zoom::before{content:\\\"\\\"}i.icon.bitbucket.square::before{content:\\\"\\\"}i.icon.checkmark.box::before{content:\\\"\\\"}i.icon.circle.thin::before{content:\\\"\\\"}i.icon.cloud.download::before{content:\\\"\\\"}i.icon.cloud.upload::before{content:\\\"\\\"}i.icon.compose::before{content:\\\"\\\"}i.icon.conversation::before{content:\\\"\\\"}i.icon.credit.card.alternative::before{content:\\\"\\\"}i.icon.currency::before{content:\\\"\\\"}i.icon.dashboard::before{content:\\\"\\\"}i.icon.diamond::before{content:\\\"\\\"}i.icon.disk::before{content:\\\"\\\"}i.icon.exchange::before{content:\\\"\\\"}i.icon.external.share::before{content:\\\"\\\"}i.icon.external.square::before{content:\\\"\\\"}i.icon.external::before{content:\\\"\\\"}i.icon.facebook.official::before{content:\\\"\\\"}i.icon.food::before{content:\\\"\\\"}i.icon.hourglass.zero::before{content:\\\"\\\"}i.icon.level.down::before{content:\\\"\\\"}i.icon.level.up::before{content:\\\"\\\"}i.icon.camera::before{content:\\\"\\\"}i.icon.camera.retro::before{content:\\\"\\\"}i.icon.car::before{content:\\\"\\\"}i.icon.caret.down::before{content:\\\"\\\"}i.icon.caret.left::before{content:\\\"\\\"}i.icon.caret.right::before{content:\\\"\\\"}i.icon.caret.square.down::before{content:\\\"\\\"}i.icon.caret.square.left::before{content:\\\"\\\"}i.icon.caret.square.right::before{content:\\\"\\\"}i.icon.caret.square.up::before{content:\\\"\\\"}i.icon.caret.up::before{content:\\\"\\\"}i.icon.cart.arrow.down::before{content:\\\"\\\"}i.icon.cart.plus::before{content:\\\"\\\"}i.icon.cc.amazon.pay::before{content:\\\"\\\"}i.icon.cc.amex::before{content:\\\"\\\"}i.icon.cc.apple.pay::before{content:\\\"\\\"}i.icon.cc.diners.club::before{content:\\\"\\\"}i.icon.cc.discover::before{content:\\\"\\\"}i.icon.cc.jcb::before{content:\\\"\\\"}i.icon.cc.mastercard::before{content:\\\"\\\"}i.icon.cc.paypal::before{content:\\\"\\\"}i.icon.cc.stripe::before{content:\\\"\\\"}i.icon.cc.visa::before{content:\\\"\\\"}i.icon.centercode::before{content:\\\"\\\"}i.icon.certificate::before{content:\\\"\\\"}i.icon.chart.area::before{content:\\\"\\\"}i.icon.chart.bar::before{content:\\\"\\\"}i.icon.chart.line::before{content:\\\"\\\"}i.icon.chart.pie::before{content:\\\"\\\"}i.icon.check::before{content:\\\"\\\"}i.icon.check.circle::before{content:\\\"\\\"}i.icon.check.square::before{content:\\\"\\\"}i.icon.chess::before{content:\\\"\\\"}i.icon.chess.bishop::before{content:\\\"\\\"}i.icon.chess.board::before{content:\\\"\\\"}i.icon.chess.king::before{content:\\\"\\\"}i.icon.chess.knight::before{content:\\\"\\\"}i.icon.chess.pawn::before{content:\\\"\\\"}i.icon.chess.queen::before{content:\\\"\\\"}i.icon.chess.rook::before{content:\\\"\\\"}i.icon.chevron.circle.down::before{content:\\\"\\\"}i.icon.chevron.circle.left::before{content:\\\"\\\"}i.icon.chevron.circle.right::before{content:\\\"\\\"}i.icon.chevron.circle.up::before{content:\\\"\\\"}i.icon.chevron.down::before{content:\\\"\\\"}i.icon.chevron.left::before{content:\\\"\\\"}i.icon.chevron.right::before{content:\\\"\\\"}i.icon.chevron.up::before{content:\\\"\\\"}i.icon.child::before{content:\\\"\\\"}i.icon.chrome::before{content:\\\"\\\"}i.icon.circle::before{content:\\\"\\\"}i.icon.circle.notch::before{content:\\\"\\\"}i.icon.clipboard::before{content:\\\"\\\"}i.icon.clipboard.check::before{content:\\\"\\\"}i.icon.clipboard.list::before{content:\\\"\\\"}i.icon.clock::before{content:\\\"\\\"}i.icon.clone::before{content:\\\"\\\"}i.icon.closed.captioning::before{content:\\\"\\\"}i.icon.cloud::before{content:\\\"\\\"}i.icon.cloudscale::before{content:\\\"\\\"}i.icon.cloudsmith::before{content:\\\"\\\"}i.icon.cloudversify::before{content:\\\"\\\"}i.icon.code::before{content:\\\"\\\"}i.icon.code.branch::before{content:\\\"\\\"}i.icon.codepen::before{content:\\\"\\\"}i.icon.codiepie::before{content:\\\"\\\"}i.icon.coffee::before{content:\\\"\\\"}i.icon.cog::before{content:\\\"\\\"}i.icon.cogs::before{content:\\\"\\\"}i.icon.columns::before{content:\\\"\\\"}i.icon.comment::before{content:\\\"\\\"}i.icon.comment.alternate::before{content:\\\"\\\"}i.icon.comments::before{content:\\\"\\\"}i.icon.compass::before{content:\\\"\\\"}i.icon.compress::before{content:\\\"\\\"}i.icon.connectdevelop::before{content:\\\"\\\"}i.icon.contao::before{content:\\\"\\\"}i.icon.copy::before{content:\\\"\\\"}i.icon.copyright::before{content:\\\"\\\"}i.icon.cpanel::before{content:\\\"\\\"}i.icon.creative.commons::before{content:\\\"\\\"}i.icon.credit.card::before{content:\\\"\\\"}i.icon.crop::before{content:\\\"\\\"}i.icon.crosshairs::before{content:\\\"\\\"}i.icon.css3::before{content:\\\"\\\"}i.icon.css3.alternate::before{content:\\\"\\\"}i.icon.cube::before{content:\\\"\\\"}i.icon.cubes::before{content:\\\"\\\"}i.icon.cut::before{content:\\\"\\\"}i.icon.cuttlefish::before{content:\\\"\\\"}i.icon.d.and.d::before{content:\\\"\\\"}i.icon.dashcube::before{content:\\\"\\\"}i.icon.database::before{content:\\\"\\\"}i.icon.deaf::before{content:\\\"\\\"}i.icon.delicious::before{content:\\\"\\\"}i.icon.deploydog::before{content:\\\"\\\"}i.icon.deskpro::before{content:\\\"\\\"}i.icon.desktop::before{content:\\\"\\\"}i.icon.deviantart::before{content:\\\"\\\"}i.icon.digg::before{content:\\\"\\\"}i.icon.digital.ocean::before{content:\\\"\\\"}i.icon.discord::before{content:\\\"\\\"}i.icon.discourse::before{content:\\\"\\\"}i.icon.dna::before{content:\\\"\\\"}i.icon.dochub::before{content:\\\"\\\"}i.icon.docker::before{content:\\\"\\\"}i.icon.tag::before{content:\\\"\\\"}i.icon.tags::before{content:\\\"\\\"}i.icon.tasks::before{content:\\\"\\\"}i.icon.taxi::before{content:\\\"\\\"}i.icon.telegram::before{content:\\\"\\\"}i.icon.telegram.plane::before{content:\\\"\\\"}i.icon.tencent.weibo::before{content:\\\"\\\"}i.icon.terminal::before{content:\\\"\\\"}i.icon.text.height::before{content:\\\"\\\"}i.icon.text.width::before{content:\\\"\\\"}i.icon.th::before{content:\\\"\\\"}i.icon.th.large::before{content:\\\"\\\"}i.icon.th.list::before{content:\\\"\\\"}i.icon.themeisle::before{content:\\\"\\\"}i.icon.thermometer::before{content:\\\"\\\";content:\\\"\\\"}i.icon.thermometer.empty::before{content:\\\"\\\"}i.icon.thermometer.full::before{content:\\\"\\\"}i.icon.thermometer.half::before{content:\\\"\\\"}i.icon.thermometer.quarter::before{content:\\\"\\\"}i.icon.thermometer.three.quarters::before{content:\\\"\\\"}i.icon.thumbs.down::before{content:\\\"\\\"}i.icon.thumbs.up::before{content:\\\"\\\"}i.icon.thumbtack::before{content:\\\"\\\"}i.icon.ticket.alternate::before{content:\\\"\\\"}i.icon.times::before{content:\\\"\\\"}i.icon.times.circle::before{content:\\\"\\\"}i.icon.tint::before{content:\\\"\\\"}i.icon.toggle.off::before{content:\\\"\\\"}i.icon.toggle.on::before{content:\\\"\\\"}i.icon.trademark::before{content:\\\"\\\"}i.icon.train::before{content:\\\"\\\"}i.icon.transgender::before{content:\\\"\\\"}i.icon.transgender.alternate::before{content:\\\"\\\"}i.icon.trash::before{content:\\\"\\\"}i.icon.trash.alternate::before{content:\\\"\\\"}i.icon.tree::before{content:\\\"\\\"}i.icon.trello::before{content:\\\"\\\"}i.icon.tripadvisor::before{content:\\\"\\\"}i.icon.trophy::before{content:\\\"\\\"}i.icon.truck::before{content:\\\"\\\"}i.icon.tty::before{content:\\\"\\\"}i.icon.tumblr::before{content:\\\"\\\"}i.icon.tumblr.square::before{content:\\\"\\\"}i.icon.tv::before{content:\\\"\\\"}i.icon.twitch::before{content:\\\"\\\"}i.icon.twitter::before{content:\\\"\\\"}i.icon.twitter.square::before{content:\\\"\\\"}i.icon.typo3::before{content:\\\"\\\"}i.icon.uber::before{content:\\\"\\\"}i.icon.uikit::before{content:\\\"\\\"}i.icon.umbrella::before{content:\\\"\\\"}i.icon.underline::before{content:\\\"\\\"}i.icon.undo::before{content:\\\"\\\"}i.icon.undo.alternate::before{content:\\\"\\\"}i.icon.uniregistry::before{content:\\\"\\\"}i.icon.universal.access::before{content:\\\"\\\"}i.icon.university::before{content:\\\"\\\"}i.icon.unlink::before{content:\\\"\\\"}i.icon.unlock::before{content:\\\"\\\"}i.icon.unlock.alternate::before{content:\\\"\\\"}i.icon.untappd::before{content:\\\"\\\"}i.icon.upload::before{content:\\\"\\\"}i.icon.usb::before{content:\\\"\\\"}i.icon.user::before{content:\\\"\\\"}i.icon.user.circle::before{content:\\\"\\\"}i.icon.user.md::before{content:\\\"\\\"}i.icon.user.plus::before{content:\\\"\\\"}i.icon.user.secret::before{content:\\\"\\\"}i.icon.user.times::before{content:\\\"\\\"}i.icon.users::before{content:\\\"\\\"}i.icon.ussunnah::before{content:\\\"\\\"}i.icon.utensil.spoon::before{content:\\\"\\\"}i.icon.utensils::before{content:\\\"\\\"}i.icon.vaadin::before{content:\\\"\\\"}i.icon.venus::before{content:\\\"\\\"}i.icon.venus.double::before{content:\\\"\\\"}i.icon.venus.mars::before{content:\\\"\\\"}i.icon.viacoin::before{content:\\\"\\\"}i.icon.viadeo::before{content:\\\"\\\"}i.icon.viadeo.square::before{content:\\\"\\\"}i.icon.viber::before{content:\\\"\\\"}i.icon.video::before{content:\\\"\\\"}i.icon.vimeo::before{content:\\\"\\\"}i.icon.vimeo.square::before{content:\\\"\\\"}i.icon.vimeo.v::before{content:\\\"\\\"}i.icon.vine::before{content:\\\"\\\"}i.icon.vk::before{content:\\\"\\\"}i.icon.vnv::before{content:\\\"\\\"}i.icon.volleyball.ball::before{content:\\\"\\\"}i.icon.volume.down::before{content:\\\"\\\"}i.icon.volume.off::before{content:\\\"\\\"}i.icon.volume.up::before{content:\\\"\\\"}i.icon.vuejs::before{content:\\\"\\\"}i.icon.warehouse::before{content:\\\"\\\"}i.icon.weibo::before{content:\\\"\\\"}i.icon.weight::before{content:\\\"\\\"}i.icon.weixin::before{content:\\\"\\\"}i.icon.whatsapp::before{content:\\\"\\\"}i.icon.whatsapp.square::before{content:\\\"\\\"}i.icon.wheelchair::before{content:\\\"\\\"}i.icon.whmcs::before{content:\\\"\\\"}i.icon.wifi::before{content:\\\"\\\"}i.icon.wikipedia.w::before{content:\\\"\\\"}i.icon.window.close::before{content:\\\"\\\"}i.icon.window.maximize::before{content:\\\"\\\"}i.icon.window.minimize::before{content:\\\"\\\"}i.icon.window.restore::before{content:\\\"\\\"}i.icon.windows::before{content:\\\"\\\"}i.icon.won.sign::before{content:\\\"\\\"}i.icon.wordpress::before{content:\\\"\\\"}i.icon.wordpress.simple::before{content:\\\"\\\"}i.icon.wpbeginner::before{content:\\\"\\\"}i.icon.wpexplorer::before{content:\\\"\\\"}i.icon.wpforms::before{content:\\\"\\\"}i.icon.wrench::before{content:\\\"\\\"}i.icon.xbox::before{content:\\\"\\\"}i.icon.xing::before{content:\\\"\\\"}i.icon.xing.square::before{content:\\\"\\\"}i.icon.y.combinator::before{content:\\\"\\\"}i.icon.yahoo::before{content:\\\"\\\"}i.icon.yandex::before{content:\\\"\\\"}i.icon.yandex.international::before{content:\\\"\\\"}i.icon.yelp::before{content:\\\"\\\"}i.icon.yen.sign::before{content:\\\"\\\"}i.icon.yoast::before{content:\\\"\\\"}i.icon.youtube::before{content:\\\"\\\"}i.icon.youtube.square::before{content:\\\"\\\"}i.icon.chess.rock::before{content:\\\"\\\"}i.icon.ordered.list::before{content:\\\"\\\"}i.icon.unordered.list::before{content:\\\"\\\"}i.icon.user.doctor::before{content:\\\"\\\"}i.icon.shield::before{content:\\\"\\\"}i.icon.puzzle::before{content:\\\"\\\"}i.icon.credit.card.amazon.pay::before{content:\\\"\\\"}i.icon.credit.card.american.express::before{content:\\\"\\\"}i.icon.credit.card.diners.club::before{content:\\\"\\\"}i.icon.credit.card.discover::before{content:\\\"\\\"}i.icon.credit.card.jcb::before{content:\\\"\\\"}i.icon.credit.card.mastercard::before{content:\\\"\\\"}i.icon.credit.card.paypal::before{content:\\\"\\\"}i.icon.credit.card.stripe::before{content:\\\"\\\"}i.icon.credit.card.visa::before{content:\\\"\\\"}i.icon.add.circle::before{content:\\\"\\\"}i.icon.add.square::before{content:\\\"\\\"}i.icon.add.to.calendar::before{content:\\\"\\\"}i.icon.add.to.cart::before{content:\\\"\\\"}i.icon.add.user::before{content:\\\"\\\"}i.icon.add::before{content:\\\"\\\"}i.icon.alarm.mute::before{content:\\\"\\\"}i.icon.alarm::before{content:\\\"\\\"}i.icon.ald::before{content:\\\"\\\"}i.icon.als::before{content:\\\"\\\"}i.icon.american.express.card::before{content:\\\"\\\"}i.icon.american.express::before{content:\\\"\\\"}i.icon.amex::before{content:\\\"\\\"}i.icon.announcement::before{content:\\\"\\\"}i.icon.area.chart::before{content:\\\"\\\"}i.icon.area.graph::before{content:\\\"\\\"}i.icon.arrow.down.cart::before{content:\\\"\\\"}i.icon.asexual::before{content:\\\"\\\"}i.icon.asl.interpreting::before{content:\\\"\\\"}i.icon.asl::before{content:\\\"\\\"}i.icon.assistive.listening.devices::before{content:\\\"\\\"}i.icon.attach::before{content:\\\"\\\"}i.icon.attention::before{content:\\\"\\\"}i.icon.balance::before{content:\\\"\\\"}i.icon.bar::before{content:\\\"\\\"}i.icon.bathtub::before{content:\\\"\\\"}i.icon.battery.four::before{content:\\\"\\\"}i.icon.battery.high::before{content:\\\"\\\"}i.icon.battery.low::before{content:\\\"\\\"}i.icon.battery.medium::before{content:\\\"\\\"}i.icon.battery.one::before{content:\\\"\\\"}i.icon.battery.three::before{content:\\\"\\\"}i.icon.battery.two::before{content:\\\"\\\"}i.icon.battery.zero::before{content:\\\"\\\"}i.icon.birthday::before{content:\\\"\\\"}i.icon.block.layout::before{content:\\\"\\\"}i.icon.bluetooth.alternative::before{content:\\\"\\\"}i.icon.broken.chain::before{content:\\\"\\\"}i.icon.browser::before{content:\\\"\\\"}i.icon.call.square::before{content:\\\"\\\"}i.icon.call::before{content:\\\"\\\"}i.icon.cancel::before{content:\\\"\\\"}i.icon.cart::before{content:\\\"\\\"}i.icon.cc::before{content:\\\"\\\"}i.icon.chain::before{content:\\\"\\\"}i.icon.chat::before{content:\\\"\\\"}i.icon.checked.calendar::before{content:\\\"\\\"}i.icon.checkmark::before{content:\\\"\\\"}i.icon.circle.notched::before{content:\\\"\\\"}i.icon.close::before{content:\\\"\\\"}i.icon.cny::before{content:\\\"\\\"}i.icon.cocktail::before{content:\\\"\\\"}i.icon.commenting::before{content:\\\"\\\"}i.icon.computer::before{content:\\\"\\\"}i.icon.configure::before{content:\\\"\\\"}i.icon.content::before{content:\\\"\\\"}i.icon.deafness::before{content:\\\"\\\"}i.icon.delete.calendar::before{content:\\\"\\\"}i.icon.delete::before{content:\\\"\\\"}i.icon.detective::before{content:\\\"\\\"}i.icon.diners.club.card::before{content:\\\"\\\"}i.icon.diners.club::before{content:\\\"\\\"}i.icon.discover.card::before{content:\\\"\\\"}i.icon.discover::before{content:\\\"\\\"}i.icon.discussions::before{content:\\\"\\\"}i.icon.doctor::before{content:\\\"\\\"}i.icon.dollar::before{content:\\\"\\\"}i.icon.dont::before{content:\\\"\\\"}i.icon.dribble::before{content:\\\"\\\"}i.icon.drivers.license::before{content:\\\"\\\"}i.icon.dropdown::before{content:\\\"\\\"}i.icon.eercast::before{content:\\\"\\\"}i.icon.emergency::before{content:\\\"\\\"}i.icon.envira.gallery::before{content:\\\"\\\"}i.icon.erase::before{content:\\\"\\\"}i.icon.eur::before{content:\\\"\\\"}i.icon.euro::before{content:\\\"\\\"}i.icon.eyedropper::before{content:\\\"\\\"}i.icon.fa::before{content:\\\"\\\"}i.icon.factory::before{content:\\\"\\\"}i.icon.favorite::before{content:\\\"\\\"}i.icon.feed::before{content:\\\"\\\"}i.icon.female.homosexual::before{content:\\\"\\\"}i.icon.file.text::before{content:\\\"\\\"}i.icon.find::before{content:\\\"\\\"}i.icon.first.aid::before{content:\\\"\\\";content:\\\"\\\"}i.icon.five.hundred.pixels::before{content:\\\"\\\"}i.icon.fork::before{content:\\\"\\\"}i.icon.game::before{content:\\\"\\\"}i.icon.gay::before{content:\\\"\\\"}i.icon.gbp::before{content:\\\"\\\"}i.icon.gittip::before{content:\\\"\\\"}i.icon.google.plus.circle::before{content:\\\"\\\"}i.icon.google.plus.official::before{content:\\\"\\\"}i.icon.grab::before{content:\\\"\\\"}i.icon.graduation::before{content:\\\"\\\"}i.icon.grid.layout::before{content:\\\"\\\"}i.icon.group::before{content:\\\"\\\"}i.icon.h::before{content:\\\"\\\"}i.icon.hand.victory::before{content:\\\"\\\"}i.icon.handicap::before{content:\\\"\\\"}i.icon.hard.of.hearing::before{content:\\\"\\\"}i.icon.header::before{content:\\\"\\\"}i.icon.help.circle::before{content:\\\"\\\"}i.icon.help::before{content:\\\"\\\"}i.icon.heterosexual::before{content:\\\"\\\"}i.icon.hide::before{content:\\\"\\\"}i.icon.hotel::before{content:\\\"\\\"}i.icon.hourglass.four::before{content:\\\"\\\"}i.icon.hourglass.full::before{content:\\\"\\\"}i.icon.hourglass.one::before{content:\\\"\\\"}i.icon.hourglass.three::before{content:\\\"\\\"}i.icon.hourglass.two::before{content:\\\"\\\"}i.icon.idea::before{content:\\\"\\\"}i.icon.ils::before{content:\\\"\\\"}i.icon.in-cart::before{content:\\\"\\\"}i.icon.inr::before{content:\\\"\\\"}i.icon.intergender::before{content:\\\"\\\"}i.icon.intersex::before{content:\\\"\\\"}i.icon.japan.credit.bureau.card::before{content:\\\"\\\"}i.icon.japan.credit.bureau::before{content:\\\"\\\"}i.icon.jcb::before{content:\\\"\\\"}i.icon.jpy::before{content:\\\"\\\"}i.icon.krw::before{content:\\\"\\\"}i.icon.lab::before{content:\\\"\\\"}i.icon.law::before{content:\\\"\\\"}i.icon.legal::before{content:\\\"\\\"}i.icon.lesbian::before{content:\\\"\\\"}i.icon.lightning::before{content:\\\"\\\"}i.icon.like::before{content:\\\"\\\"}i.icon.line.graph::before{content:\\\"\\\"}i.icon.linkedin.square::before{content:\\\"\\\"}i.icon.lira::before{content:\\\"\\\"}i.icon.list.layout::before{content:\\\"\\\"}i.icon.magnify::before{content:\\\"\\\"}i.icon.mail.forward::before{content:\\\"\\\"}i.icon.mail.square::before{content:\\\"\\\"}i.icon.mail::before{content:\\\"\\\"}i.icon.male.homosexual::before{content:\\\"\\\"}i.icon.man::before{content:\\\"\\\"}i.icon.marker::before{content:\\\"\\\"}i.icon.mars.alternat::before{content:\\\"\\\"}i.icon.mars.horizontal::before{content:\\\"\\\"}i.icon.mars.vertical::before{content:\\\"\\\"}i.icon.mastercard.card::before{content:\\\"\\\"}i.icon.mastercard::before{content:\\\"\\\"}i.icon.microsoft.edge::before{content:\\\"\\\"}i.icon.military::before{content:\\\"\\\"}i.icon.ms.edge::before{content:\\\"\\\"}i.icon.mute::before{content:\\\"\\\"}i.icon.new.pied.piper::before{content:\\\"\\\"}i.icon.non.binary.transgender::before{content:\\\"\\\"}i.icon.numbered.list::before{content:\\\"\\\"}i.icon.optinmonster::before{content:\\\"\\\"}i.icon.options::before{content:\\\"\\\"}i.icon.other.gender.horizontal::before{content:\\\"\\\"}i.icon.other.gender.vertical::before{content:\\\"\\\"}i.icon.other.gender::before{content:\\\"\\\"}i.icon.payment::before{content:\\\"\\\"}i.icon.paypal.card::before{content:\\\"\\\"}i.icon.pencil.square::before{content:\\\"\\\"}i.icon.photo::before{content:\\\"\\\"}i.icon.picture::before{content:\\\"\\\"}i.icon.pie.chart::before{content:\\\"\\\"}i.icon.pie.graph::before{content:\\\"\\\"}i.icon.pied.piper.hat::before{content:\\\"\\\"}i.icon.pin::before{content:\\\"\\\"}i.icon.plus.cart::before{content:\\\"\\\"}i.icon.pocket::before{content:\\\"\\\"}i.icon.point::before{content:\\\"\\\"}i.icon.pointing.down::before{content:\\\"\\\"}i.icon.pointing.left::before{content:\\\"\\\"}i.icon.pointing.righ::before{content:\\\"\\\"}i.icon.pointing.up::before{content:\\\"\\\"}i.icon.pound::before{content:\\\"\\\"}i.icon.power.cord::before{content:\\\"\\\"}i.icon.power::before{content:\\\"\\\"}i.icon.privacy::before{content:\\\"\\\"}i.icon.r.circle::before{content:\\\"\\\"}i.icon.rain::before{content:\\\"\\\"}i.icon.record::before{content:\\\"\\\"}i.icon.refresh::before{content:\\\"\\\"}i.icon.remove.circle::before{content:\\\"\\\"}i.icon.remove.from.calendar::before{content:\\\"\\\"}i.icon.remove.user::before{content:\\\"\\\"}i.icon.remove::before{content:\\\"\\\"}i.icon.repeat::before{content:\\\"\\\"}i.icon.rmb::before{content:\\\"\\\"}i.icon.rouble::before{content:\\\"\\\"}i.icon.rub::before{content:\\\"\\\"}i.icon.ruble::before{content:\\\"\\\"}i.icon.rupee::before{content:\\\"\\\"}i.icon.s15::before{content:\\\"\\\"}i.icon.selected.radio::before{content:\\\"\\\"}i.icon.send::before{content:\\\"\\\"}i.icon.setting::before{content:\\\"\\\"}i.icon.settings::before{content:\\\"\\\"}i.icon.shekel::before{content:\\\"\\\"}i.icon.sheqel::before{content:\\\"\\\"}i.icon.shipping::before{content:\\\"\\\"}i.icon.shop::before{content:\\\"\\\"}i.icon.shuffle::before{content:\\\"\\\"}i.icon.shutdown::before{content:\\\"\\\"}i.icon.sidebar::before{content:\\\"\\\"}i.icon.signing::before{content:\\\"\\\"}i.icon.signup::before{content:\\\"\\\"}i.icon.sliders::before{content:\\\"\\\"}i.icon.soccer::before{content:\\\"\\\"}i.icon.sort.alphabet.ascending::before{content:\\\"\\\"}i.icon.sort.alphabet.descending::before{content:\\\"\\\"}i.icon.sort.ascending::before{content:\\\"\\\"}i.icon.sort.content.ascending::before{content:\\\"\\\"}i.icon.sort.content.descending::before{content:\\\"\\\"}i.icon.sort.descending::before{content:\\\"\\\"}i.icon.sort.numeric.ascending::before{content:\\\"\\\"}i.icon.sort.numeric.descending::before{content:\\\"\\\"}i.icon.sound::before{content:\\\"\\\"}i.icon.spy::before{content:\\\"\\\"}i.icon.stripe.card::before{content:\\\"\\\"}i.icon.student::before{content:\\\"\\\"}i.icon.talk::before{content:\\\"\\\"}i.icon.target::before{content:\\\"\\\"}i.icon.teletype::before{content:\\\"\\\"}i.icon.television::before{content:\\\"\\\"}i.icon.text.cursor::before{content:\\\"\\\"}i.icon.text.telephone::before{content:\\\"\\\"}i.icon.theme.isle::before{content:\\\"\\\"}i.icon.theme::before{content:\\\"\\\"}i.icon.thumb.tack::before{content:\\\"\\\"}i.icon.time::before{content:\\\"\\\"}i.icon.tm::before{content:\\\"\\\"}i.icon.toggle.down::before{content:\\\"\\\"}i.icon.toggle.left::before{content:\\\"\\\"}i.icon.toggle.right::before{content:\\\"\\\"}i.icon.toggle.up::before{content:\\\"\\\"}i.icon.translate::before{content:\\\"\\\"}i.icon.travel::before{content:\\\"\\\"}i.icon.treatment::before{content:\\\"\\\"}i.icon.triangle.down::before{content:\\\"\\\"}i.icon.triangle.left::before{content:\\\"\\\"}i.icon.triangle.right::before{content:\\\"\\\"}i.icon.triangle.up::before{content:\\\"\\\"}i.icon.try::before{content:\\\"\\\"}i.icon.unhide::before{content:\\\"\\\"}i.icon.unlinkify::before{content:\\\"\\\"}i.icon.unmute::before{content:\\\"\\\"}i.icon.usd::before{content:\\\"\\\"}i.icon.i.cursor::before{content:\\\"\\\"}i.icon.id.badge::before{content:\\\"\\\"}i.icon.id.card::before{content:\\\"\\\"}i.icon.image::before{content:\\\"\\\"}i.icon.images::before{content:\\\"\\\"}i.icon.imdb::before{content:\\\"\\\"}i.icon.inbox::before{content:\\\"\\\"}i.icon.indent::before{content:\\\"\\\"}i.icon.industry::before{content:\\\"\\\"}i.icon.info::before{content:\\\"\\\"}i.icon.info.circle::before{content:\\\"\\\"}i.icon.instagram::before{content:\\\"\\\"}i.icon.internet.explorer::before{content:\\\"\\\"}i.icon.ioxhost::before{content:\\\"\\\"}i.icon.italic::before{content:\\\"\\\"}i.icon.itunes::before{content:\\\"\\\"}i.icon.itunes.note::before{content:\\\"\\\"}i.icon.jenkins::before{content:\\\"\\\"}i.icon.joget::before{content:\\\"\\\"}i.icon.joomla::before{content:\\\"\\\"}i.icon.js::before{content:\\\"\\\"}i.icon.js.square::before{content:\\\"\\\"}i.icon.jsfiddle::before{content:\\\"\\\"}i.icon.key::before{content:\\\"\\\"}i.icon.keyboard::before{content:\\\"\\\"}i.icon.keycdn::before{content:\\\"\\\"}i.icon.kickstarter::before{content:\\\"\\\"}i.icon.kickstarter.k::before{content:\\\"\\\"}i.icon.korvue::before{content:\\\"\\\"}i.icon.language::before{content:\\\"\\\"}i.icon.laptop::before{content:\\\"\\\"}i.icon.laravel::before{content:\\\"\\\"}i.icon.lastfm::before{content:\\\"\\\"}i.icon.lastfm.square::before{content:\\\"\\\"}i.icon.leaf::before{content:\\\"\\\"}i.icon.leanpub::before{content:\\\"\\\"}i.icon.lemon::before{content:\\\"\\\"}i.icon.less::before{content:\\\"\\\"}i.icon.level.down.alternate::before{content:\\\"\\\"}i.icon.level.up.alternate::before{content:\\\"\\\"}i.icon.life.ring::before{content:\\\"\\\"}i.icon.lightbulb::before{content:\\\"\\\"}i.icon.linechat::before{content:\\\"\\\"}i.icon.linkify::before{content:\\\"\\\"}i.icon.linkedin::before{content:\\\"\\\"}i.icon.linkedin.alt::before{content:\\\"\\\"}i.icon.linode::before{content:\\\"\\\"}i.icon.linux::before{content:\\\"\\\"}i.icon.lira.sign::before{content:\\\"\\\"}i.icon.list::before{content:\\\"\\\"}i.icon.list.alternate::before{content:\\\"\\\"}i.icon.list.ol::before{content:\\\"\\\"}i.icon.list.ul::before{content:\\\"\\\"}i.icon.location.arrow::before{content:\\\"\\\"}i.icon.lock::before{content:\\\"\\\"}i.icon.lock.open::before{content:\\\"\\\"}i.icon.long.arrow.alternate.down::before{content:\\\"\\\"}i.icon.long.arrow.alternate.left::before{content:\\\"\\\"}i.icon.long.arrow.alternate.right::before{content:\\\"\\\"}i.icon.long.arrow.alternate.up::before{content:\\\"\\\"}i.icon.low.vision::before{content:\\\"\\\"}i.icon.lyft::before{content:\\\"\\\"}i.icon.magento::before{content:\\\"\\\"}i.icon.magic::before{content:\\\"\\\"}i.icon.magnet::before{content:\\\"\\\"}i.icon.male::before{content:\\\"\\\"}i.icon.map::before{content:\\\"\\\"}i.icon.map.marker::before{content:\\\"\\\"}i.icon.map.marker.alternate::before{content:\\\"\\\"}i.icon.map.pin::before{content:\\\"\\\"}i.icon.map.signs::before{content:\\\"\\\"}i.icon.mars::before{content:\\\"\\\"}i.icon.mars.double::before{content:\\\"\\\"}i.icon.mars.stroke::before{content:\\\"\\\"}i.icon.mars.stroke.horizontal::before{content:\\\"\\\"}i.icon.mars.stroke.vertical::before{content:\\\"\\\"}i.icon.maxcdn::before{content:\\\"\\\"}i.icon.medapps::before{content:\\\"\\\"}i.icon.medium::before{content:\\\"\\\"}i.icon.medium.m::before{content:\\\"\\\"}i.icon.medkit::before{content:\\\"\\\"}i.icon.medrt::before{content:\\\"\\\"}i.icon.meetup::before{content:\\\"\\\"}i.icon.meh::before{content:\\\"\\\"}i.icon.mercury::before{content:\\\"\\\"}i.icon.microchip::before{content:\\\"\\\"}i.icon.microphone::before{content:\\\"\\\"}i.icon.microphone.slash::before{content:\\\"\\\"}i.icon.microsoft::before{content:\\\"\\\"}i.icon.minus::before{content:\\\"\\\"}i.icon.minus.circle::before{content:\\\"\\\"}i.icon.minus.square::before{content:\\\"\\\"}i.icon.mix::before{content:\\\"\\\"}i.icon.mixcloud::before{content:\\\"\\\"}i.icon.mizuni::before{content:\\\"\\\"}i.icon.mobile::before{content:\\\"\\\"}i.icon.mobile.alternate::before{content:\\\"\\\"}i.icon.modx::before{content:\\\"\\\"}i.icon.monero::before{content:\\\"\\\"}i.icon.money.bill.alternate::before{content:\\\"\\\"}i.icon.moon::before{content:\\\"\\\"}i.icon.motorcycle::before{content:\\\"\\\"}i.icon.mouse.pointer::before{content:\\\"\\\"}i.icon.music::before{content:\\\"\\\"}i.icon.napster::before{content:\\\"\\\"}i.icon.neuter::before{content:\\\"\\\"}i.icon.newspaper::before{content:\\\"\\\"}i.icon.nintendo.switch::before{content:\\\"\\\"}i.icon.node::before{content:\\\"\\\"}i.icon.node.js::before{content:\\\"\\\"}i.icon.npm::before{content:\\\"\\\"}i.icon.ns8::before{content:\\\"\\\"}i.icon.nutritionix::before{content:\\\"\\\"}i.icon.object.group::before{content:\\\"\\\"}i.icon.object.ungroup::before{content:\\\"\\\"}i.icon.odnoklassniki::before{content:\\\"\\\"}i.icon.odnoklassniki.square::before{content:\\\"\\\"}i.icon.opencart::before{content:\\\"\\\"}i.icon.openid::before{content:\\\"\\\"}i.icon.opera::before{content:\\\"\\\"}i.icon.optin.monster::before{content:\\\"\\\"}i.icon.osi::before{content:\\\"\\\"}i.icon.outdent::before{content:\\\"\\\"}i.icon.page4::before{content:\\\"\\\"}i.icon.pagelines::before{content:\\\"\\\"}i.icon.paint.brush::before{content:\\\"\\\"}i.icon.palfed::before{content:\\\"\\\"}i.icon.pallet::before{content:\\\"\\\"}i.icon.paper.plane::before{content:\\\"\\\"}i.icon.paperclip::before{content:\\\"\\\"}i.icon.paragraph::before{content:\\\"\\\"}i.icon.paste::before{content:\\\"\\\"}i.icon.patreon::before{content:\\\"\\\"}i.icon.pause::before{content:\\\"\\\"}i.icon.pause.circle::before{content:\\\"\\\"}i.icon.paw::before{content:\\\"\\\"}i.icon.paypal::before{content:\\\"\\\"}i.icon.pen.square::before{content:\\\"\\\"}i.icon.pencil.alternate::before{content:\\\"\\\"}i.icon.percent::before{content:\\\"\\\"}i.icon.periscope::before{content:\\\"\\\"}i.icon.phabricator::before{content:\\\"\\\"}i.icon.phoenix.framework::before{content:\\\"\\\"}i.icon.phone::before{content:\\\"\\\"}i.icon.phone.square::before{content:\\\"\\\"}i.icon.phone.volume::before{content:\\\"\\\"}i.icon.php::before{content:\\\"\\\"}i.icon.pied.piper::before{content:\\\"\\\"}i.icon.pied.piper.alternate::before{content:\\\"\\\"}i.icon.pied.piper.pp::before{content:\\\"\\\"}i.icon.pills::before{content:\\\"\\\"}i.icon.pinterest::before{content:\\\"\\\"}i.icon.pinterest.p::before{content:\\\"\\\"}i.icon.pinterest.square::before{content:\\\"\\\"}i.icon.plane::before{content:\\\"\\\"}i.icon.play::before{content:\\\"\\\"}i.icon.play.circle::before{content:\\\"\\\"}i.icon.playstation::before{content:\\\"\\\"}i.icon.plug::before{content:\\\"\\\"}i.icon.plus::before{content:\\\"\\\"}i.icon.plus.circle::before{content:\\\"\\\"}i.icon.plus.square::before{content:\\\"\\\"}i.icon.podcast::before{content:\\\"\\\"}i.icon.pound.sign::before{content:\\\"\\\"}i.icon.power.off::before{content:\\\"\\\"}i.icon.print::before{content:\\\"\\\"}i.icon.product.hunt::before{content:\\\"\\\"}i.icon.pushed::before{content:\\\"\\\"}i.icon.puzzle.piece::before{content:\\\"\\\"}i.icon.python::before{content:\\\"\\\"}i.icon.qq::before{content:\\\"\\\"}i.icon.qrcode::before{content:\\\"\\\"}i.icon.question::before{content:\\\"\\\"}i.icon.question.circle::before{content:\\\"\\\"}i.icon.quidditch::before{content:\\\"\\\"}i.icon.quinscape::before{content:\\\"\\\"}i.icon.quora::before{content:\\\"\\\"}i.icon.quote.left::before{content:\\\"\\\"}i.icon.quote.right::before{content:\\\"\\\"}i.icon.random::before{content:\\\"\\\"}i.icon.ravelry::before{content:\\\"\\\"}i.icon.react::before{content:\\\"\\\"}i.icon.rebel::before{content:\\\"\\\"}i.icon.recycle::before{content:\\\"\\\"}i.icon.redrive::before{content:\\\"\\\"}i.icon.reddit::before{content:\\\"\\\"}i.icon.reddit.alien::before{content:\\\"\\\"}i.icon.reddit.square::before{content:\\\"\\\"}i.icon.redo::before{content:\\\"\\\"}i.icon.redo.alternate::before{content:\\\"\\\"}i.icon.registered::before{content:\\\"\\\"}i.icon.rendact::before{content:\\\"\\\"}i.icon.renren::before{content:\\\"\\\"}i.icon.reply::before{content:\\\"\\\"}i.icon.reply.all::before{content:\\\"\\\"}i.icon.replyd::before{content:\\\"\\\"}i.icon.resolving::before{content:\\\"\\\"}i.icon.retweet::before{content:\\\"\\\"}i.icon.road::before{content:\\\"\\\"}i.icon.rocket::before{content:\\\"\\\"}i.icon.rocketchat::before{content:\\\"\\\"}i.icon.rockrms::before{content:\\\"\\\"}i.icon.rss::before{content:\\\"\\\"}i.icon.rss.square::before{content:\\\"\\\"}i.icon.ruble.sign::before{content:\\\"\\\"}i.icon.rupee.sign::before{content:\\\"\\\"}i.icon.safari::before{content:\\\"\\\"}i.icon.sass::before{content:\\\"\\\"}i.icon.save::before{content:\\\"\\\"}i.icon.schlix::before{content:\\\"\\\"}i.icon.scribd::before{content:\\\"\\\"}i.icon.search::before{content:\\\"\\\"}i.icon.search.minus::before{content:\\\"\\\"}i.icon.search.plus::before{content:\\\"\\\"}i.icon.searchengin::before{content:\\\"\\\"}i.icon.sellcast::before{content:\\\"\\\"}i.icon.sellsy::before{content:\\\"\\\"}i.icon.server::before{content:\\\"\\\"}i.icon.servicestack::before{content:\\\"\\\"}i.icon.share::before{content:\\\"\\\"}i.icon.share.alternate::before{content:\\\"\\\"}i.icon.share.alternate.square::before{content:\\\"\\\"}i.icon.share.square::before{content:\\\"\\\"}i.icon.shekel.sign::before{content:\\\"\\\"}i.icon.shield.alternate::before{content:\\\"\\\"}i.icon.ship::before{content:\\\"\\\"}i.icon.shipping.fast::before{content:\\\"\\\"}i.icon.shirtsinbulk::before{content:\\\"\\\"}i.icon.shopping.bag::before{content:\\\"\\\"}i.icon.shopping.basket::before{content:\\\"\\\"}i.icon.shopping.cart::before{content:\\\"\\\"}i.icon.shower::before{content:\\\"\\\"}i.icon.sign.language::before{content:\\\"\\\"}i.icon.signal::before{content:\\\"\\\"}i.icon.simplybuilt::before{content:\\\"\\\"}i.icon.sistrix::before{content:\\\"\\\"}i.icon.sitemap::before{content:\\\"\\\"}i.icon.skyatlas::before{content:\\\"\\\"}i.icon.skype::before{content:\\\"\\\"}i.icon.slack::before{content:\\\"\\\"}i.icon.slack.hash::before{content:\\\"\\\"}i.icon.sliders.horizontal::before{content:\\\"\\\"}i.icon.slideshare::before{content:\\\"\\\"}i.icon.smile::before{content:\\\"\\\"}i.icon.snapchat::before{content:\\\"\\\"}i.icon.snapchat.ghost::before{content:\\\"\\\"}i.icon.snapchat.square::before{content:\\\"\\\"}i.icon.snowflake::before{content:\\\"\\\"}i.icon.sort::before{content:\\\"\\\"}i.icon.sort.alphabet.down::before{content:\\\"\\\"}i.icon.sort.alphabet.up::before{content:\\\"\\\"}i.icon.sort.amount.down::before{content:\\\"\\\"}i.icon.sort.amount.up::before{content:\\\"\\\"}i.icon.sort.down::before{content:\\\"\\\"}i.icon.sort.numeric.down::before{content:\\\"\\\"}i.icon.sort.numeric.up::before{content:\\\"\\\"}i.icon.sort.up::before{content:\\\"\\\"}i.icon.soundcloud::before{content:\\\"\\\"}i.icon.space.shuttle::before{content:\\\"\\\"}i.icon.speakap::before{content:\\\"\\\"}i.icon.spinner::before{content:\\\"\\\"}i.icon.spotify::before{content:\\\"\\\"}i.icon.square::before{content:\\\"\\\"}i.icon.square.full::before{content:\\\"\\\"}i.icon.stack.exchange::before{content:\\\"\\\"}i.icon.stack.overflow::before{content:\\\"\\\"}i.icon.star::before{content:\\\"\\\"}i.icon.star.half::before{content:\\\"\\\"}i.icon.staylinked::before{content:\\\"\\\"}i.icon.steam::before{content:\\\"\\\"}i.icon.steam.square::before{content:\\\"\\\"}i.icon.steam.symbol::before{content:\\\"\\\"}i.icon.step.backward::before{content:\\\"\\\"}i.icon.step.forward::before{content:\\\"\\\"}i.icon.stethoscope::before{content:\\\"\\\"}i.icon.sticker.mule::before{content:\\\"\\\"}i.icon.sticky.note::before{content:\\\"\\\"}i.icon.stop::before{content:\\\"\\\"}i.icon.stop.circle::before{content:\\\"\\\"}i.icon.stopwatch::before{content:\\\"\\\"}i.icon.strava::before{content:\\\"\\\"}i.icon.street.view::before{content:\\\"\\\"}i.icon.strikethrough::before{content:\\\"\\\"}i.icon.stripe::before{content:\\\"\\\"}i.icon.stripe.s::before{content:\\\"\\\"}i.icon.studiovinari::before{content:\\\"\\\"}i.icon.stumbleupon::before{content:\\\"\\\"}i.icon.stumbleupon.circle::before{content:\\\"\\\"}i.icon.subscript::before{content:\\\"\\\"}i.icon.subway::before{content:\\\"\\\"}i.icon.suitcase::before{content:\\\"\\\"}i.icon.sun::before{content:\\\"\\\"}i.icon.superpowers::before{content:\\\"\\\"}i.icon.superscript::before{content:\\\"\\\"}i.icon.supple::before{content:\\\"\\\"}i.icon.sync::before{content:\\\"\\\"}i.icon.sync.alternate::before{content:\\\"\\\"}i.icon.syringe::before{content:\\\"\\\"}i.icon.table::before{content:\\\"\\\"}i.icon.table.tennis::before{content:\\\"\\\"}i.icon.tablet::before{content:\\\"\\\"}i.icon.tablet.alternate::before{content:\\\"\\\"}i.icon.tachometer.alternate::before{content:\\\"\\\"}i.icon.git::before{content:\\\"\\\"}i.icon.git.square::before{content:\\\"\\\"}i.icon.github::before{content:\\\"\\\"}i.icon.github.alternate::before{content:\\\"\\\"}i.icon.github.square::before{content:\\\"\\\"}i.icon.gitkraken::before{content:\\\"\\\"}i.icon.gitlab::before{content:\\\"\\\"}i.icon.gitter::before{content:\\\"\\\"}i.icon.glass.martini::before{content:\\\"\\\"}i.icon.glide::before{content:\\\"\\\"}i.icon.glide.g::before{content:\\\"\\\"}i.icon.globe::before{content:\\\"\\\"}i.icon.gofore::before{content:\\\"\\\"}i.icon.golf.ball::before{content:\\\"\\\"}i.icon.goodreads::before{content:\\\"\\\"}i.icon.goodreads.g::before{content:\\\"\\\"}i.icon.google::before{content:\\\"\\\"}i.icon.google.drive::before{content:\\\"\\\"}i.icon.google.play::before{content:\\\"\\\"}i.icon.google.plus::before{content:\\\"\\\"}i.icon.google.plus.g::before{content:\\\"\\\"}i.icon.google.plus.square::before{content:\\\"\\\"}i.icon.google.wallet::before{content:\\\"\\\"}i.icon.graduation.cap::before{content:\\\"\\\"}i.icon.gratipay::before{content:\\\"\\\"}i.icon.grav::before{content:\\\"\\\"}i.icon.gripfire::before{content:\\\"\\\"}i.icon.grunt::before{content:\\\"\\\"}i.icon.gulp::before{content:\\\"\\\"}i.icon.h.square::before{content:\\\"\\\"}i.icon.hacker.news::before{content:\\\"\\\"}i.icon.hacker.news.square::before{content:\\\"\\\"}i.icon.hand.lizard::before{content:\\\"\\\"}i.icon.hand.paper::before{content:\\\"\\\"}i.icon.hand.peace::before{content:\\\"\\\"}i.icon.hand.point.down::before{content:\\\"\\\"}i.icon.hand.point.left::before{content:\\\"\\\"}i.icon.hand.point.right::before{content:\\\"\\\"}i.icon.hand.point.up::before{content:\\\"\\\"}i.icon.hand.pointer::before{content:\\\"\\\"}i.icon.hand.rock::before{content:\\\"\\\"}i.icon.hand.scissors::before{content:\\\"\\\"}i.icon.hand.spock::before{content:\\\"\\\"}i.icon.handshake::before{content:\\\"\\\"}i.icon.hashtag::before{content:\\\"\\\"}i.icon.hdd::before{content:\\\"\\\"}i.icon.heading::before{content:\\\"\\\"}i.icon.headphones::before{content:\\\"\\\"}i.icon.heart::before{content:\\\"\\\"}i.icon.heartbeat::before{content:\\\"\\\"}i.icon.hips::before{content:\\\"\\\"}i.icon.hire.a.helper::before{content:\\\"\\\"}i.icon.history::before{content:\\\"\\\"}i.icon.hockey.puck::before{content:\\\"\\\"}i.icon.home::before{content:\\\"\\\"}i.icon.hooli::before{content:\\\"\\\"}i.icon.hospital::before{content:\\\"\\\"}i.icon.hospital.symbol::before{content:\\\"\\\"}i.icon.hotjar::before{content:\\\"\\\"}i.icon.hourglass::before{content:\\\"\\\"}i.icon.hourglass.end::before{content:\\\"\\\"}i.icon.hourglass.half::before{content:\\\"\\\"}i.icon.hourglass.start::before{content:\\\"\\\"}i.icon.houzz::before{content:\\\"\\\"}i.icon.html5::before{content:\\\"\\\"}i.icon.hubspot::before{content:\\\"\\\"}i.icon.dollar.sign::before{content:\\\"\\\"}i.icon.dolly::before{content:\\\"\\\"}i.icon.dolly.flatbed::before{content:\\\"\\\"}i.icon.dot.circle::before{content:\\\"\\\"}i.icon.download::before{content:\\\"\\\"}i.icon.draft2digital::before{content:\\\"\\\"}i.icon.dribbble::before{content:\\\"\\\"}i.icon.dribbble.square::before{content:\\\"\\\"}i.icon.dropbox::before{content:\\\"\\\"}i.icon.drupal::before{content:\\\"\\\"}i.icon.dyalog::before{content:\\\"\\\"}i.icon.earlybirds::before{content:\\\"\\\"}i.icon.edge::before{content:\\\"\\\"}i.icon.edit::before{content:\\\"\\\"}i.icon.eject::before{content:\\\"\\\"}i.icon.elementor::before{content:\\\"\\\"}i.icon.ellipsis.horizontal::before{content:\\\"\\\"}i.icon.ellipsis.vertical::before{content:\\\"\\\"}i.icon.ember::before{content:\\\"\\\"}i.icon.empire::before{content:\\\"\\\"}i.icon.envelope::before{content:\\\"\\\"}i.icon.envelope.open::before{content:\\\"\\\"}i.icon.envelope.square::before{content:\\\"\\\"}i.icon.envira::before{content:\\\"\\\"}i.icon.eraser::before{content:\\\"\\\"}i.icon.erlang::before{content:\\\"\\\"}i.icon.ethereum::before{content:\\\"\\\"}i.icon.etsy::before{content:\\\"\\\"}i.icon.euro.sign::before{content:\\\"\\\"}i.icon.exchange.alternate::before{content:\\\"\\\"}i.icon.exclamation::before{content:\\\"\\\"}i.icon.exclamation.circle::before{content:\\\"\\\"}i.icon.exclamation.triangle::before{content:\\\"\\\"}i.icon.expand::before{content:\\\"\\\"}i.icon.expand.arrows.alternate::before{content:\\\"\\\"}i.icon.expeditedssl::before{content:\\\"\\\"}i.icon.external.alternate::before{content:\\\"\\\"}i.icon.external.square.alternate::before{content:\\\"\\\"}i.icon.eye::before{content:\\\"\\\"}i.icon.eye.dropper::before{content:\\\"\\\"}i.icon.eye.slash::before{content:\\\"\\\"}i.icon.facebook::before{content:\\\"\\\"}i.icon.facebook.f::before{content:\\\"\\\"}i.icon.facebook.messenger::before{content:\\\"\\\"}i.icon.facebook.square::before{content:\\\"\\\"}i.icon.fast.backward::before{content:\\\"\\\"}i.icon.fast.forward::before{content:\\\"\\\"}i.icon.fax::before{content:\\\"\\\"}i.icon.female::before{content:\\\"\\\"}i.icon.fighter.jet::before{content:\\\"\\\"}i.icon.file::before{content:\\\"\\\"}i.icon.file.alternate::before{content:\\\"\\\"}i.icon.file.archive::before{content:\\\"\\\"}i.icon.file.audio::before{content:\\\"\\\"}i.icon.file.code::before{content:\\\"\\\"}i.icon.file.excel::before{content:\\\"\\\"}i.icon.file.image::before{content:\\\"\\\"}i.icon.file.pdf::before{content:\\\"\\\"}i.icon.file.powerpoint::before{content:\\\"\\\"}i.icon.file.video::before{content:\\\"\\\"}i.icon.file.word::before{content:\\\"\\\"}i.icon.film::before{content:\\\"\\\"}i.icon.filter::before{content:\\\"\\\"}i.icon.fire::before{content:\\\"\\\"}i.icon.fire.extinguisher::before{content:\\\"\\\"}i.icon.firefox::before{content:\\\"\\\"}i.icon.first.order::before{content:\\\"\\\"}i.icon.firstdraft::before{content:\\\"\\\"}i.icon.flag::before{content:\\\"\\\"}i.icon.flag.checkered::before{content:\\\"\\\"}i.icon.flask::before{content:\\\"\\\"}i.icon.flickr::before{content:\\\"\\\"}i.icon.flipboard::before{content:\\\"\\\"}i.icon.fly::before{content:\\\"\\\"}i.icon.folder::before{content:\\\"\\\"}i.icon.folder.open::before{content:\\\"\\\"}i.icon.font::before{content:\\\"\\\"}i.icon.font.awesome::before{content:\\\"\\\"}i.icon.font.awesome.alternate::before{content:\\\"\\\"}i.icon.font.awesome.flag::before{content:\\\"\\\"}i.icon.fonticons::before{content:\\\"\\\"}i.icon.fonticons.fi::before{content:\\\"\\\"}i.icon.football.ball::before{content:\\\"\\\"}i.icon.fort.awesome::before{content:\\\"\\\"}i.icon.fort.awesome.alternate::before{content:\\\"\\\"}i.icon.forumbee::before{content:\\\"\\\"}i.icon.forward::before{content:\\\"\\\"}i.icon.foursquare::before{content:\\\"\\\"}i.icon.free.code.camp::before{content:\\\"\\\"}i.icon.freebsd::before{content:\\\"\\\"}i.icon.frown::before{content:\\\"\\\"}i.icon.futbol::before{content:\\\"\\\"}i.icon.gamepad::before{content:\\\"\\\"}i.icon.gavel::before{content:\\\"\\\"}i.icon.gem::before{content:\\\"\\\"}i.icon.genderless::before{content:\\\"\\\"}i.icon.get.pocket::before{content:\\\"\\\"}i.icon.gg::before{content:\\\"\\\"}i.icon.gg.circle::before{content:\\\"\\\"}i.icon.gift::before{content:\\\"\\\"}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0em !important;-webkit-box-shadow:0em 0em 0em .1em rgba(0,0,0,.1) inset;box-shadow:0em 0em 0em .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.icon{color:#fff}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d !important;color:#fff !important}i.fitted.icon{width:auto;margin:0em !important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}i.link.icon:hover,i.link.icons:hover{opacity:1 !important}i.circular.icon{border-radius:500em !important;line-height:1 !important;padding:.5em 0em !important;-webkit-box-shadow:0em 0em 0em .1em rgba(0,0,0,.1) inset;box-shadow:0em 0em 0em .1em rgba(0,0,0,.1) inset;width:2em !important;height:2em !important}i.circular.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.flipped .icon{-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}i.horizontally.flipped.icon{-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}i.vertically.flipped.icon{-webkit-transform:scale(1, -1);transform:scale(1, -1)}i.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.right.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.clockwise.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.left.rotated.icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}i.counterclockwise.rotated.icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}i.address.book.outline::before{content:\\\"\\\"}i.address.card.outline::before{content:\\\"\\\"}i.arrow.alternate.circle.down.outline::before{content:\\\"\\\"}i.arrow.alternate.circle.up.outline::before{content:\\\"\\\"}i.arrow.alternate.circle.left.outline::before{content:\\\"\\\"}i.arrow.alternate.circle.right.outline::before{content:\\\"\\\"}i.bell.outline::before{content:\\\"\\\"}i.bell.slash.outline::before{content:\\\"\\\"}i.bookmark.outline::before{content:\\\"\\\"}i.building.outline::before{content:\\\"\\\"}i.calendar.outline::before{content:\\\"\\\"}i.calendar.alternate.outline::before{content:\\\"\\\"}i.calendar.check.outline::before{content:\\\"\\\"}i.calendar.minus.outline::before{content:\\\"\\\"}i.calendar.plus.outline::before{content:\\\"\\\"}i.calendar.times.outline::before{content:\\\"\\\"}i.caret.square.down.outline::before{content:\\\"\\\"}i.caret.square.left.outline::before{content:\\\"\\\"}i.caret.square.right.outline::before{content:\\\"\\\"}i.caret.square.up.outline::before{content:\\\"\\\"}i.chart.bar.outline::before{content:\\\"\\\"}i.check.circle.outline::before{content:\\\"\\\"}i.check.square.outline::before{content:\\\"\\\"}i.circle.outline::before{content:\\\"\\\"}i.clipboard.outline::before{content:\\\"\\\"}i.clock.outline::before{content:\\\"\\\"}i.clone.outline::before{content:\\\"\\\"}i.closed.captioning.outline::before{content:\\\"\\\"}i.comment.alternate.outline::before{content:\\\"\\\"}i.comment.outline::before{content:\\\"\\\"}i.comments.outline::before{content:\\\"\\\"}i.compass.outline::before{content:\\\"\\\"}i.copy.outline::before{content:\\\"\\\"}i.copyright.outline::before{content:\\\"\\\"}i.credit.card.outline::before{content:\\\"\\\"}i.dot.circle.outline::before{content:\\\"\\\"}i.edit.outline::before{content:\\\"\\\"}i.envelope.outline::before{content:\\\"\\\"}i.envelope.open.outline::before{content:\\\"\\\"}i.eye.slash.outline::before{content:\\\"\\\"}i.file.outline::before{content:\\\"\\\"}i.file.alternate.outline::before{content:\\\"\\\"}i.file.archive.outline::before{content:\\\"\\\"}i.file.audio.outline::before{content:\\\"\\\"}i.file.code.outline::before{content:\\\"\\\"}i.file.excel.outline::before{content:\\\"\\\"}i.file.image.outline::before{content:\\\"\\\"}i.file.pdf.outline::before{content:\\\"\\\"}i.file.powerpoint.outline::before{content:\\\"\\\"}i.file.video.outline::before{content:\\\"\\\"}i.file.word.outline::before{content:\\\"\\\"}i.flag.outline::before{content:\\\"\\\"}i.folder.open.outline::before{content:\\\"\\\"}i.folder.outline::before{content:\\\"\\\"}i.frown.outline::before{content:\\\"\\\"}i.futbol.outline::before{content:\\\"\\\"}i.gem.outline::before{content:\\\"\\\"}i.hand.lizard.outline::before{content:\\\"\\\"}i.hand.paper.outline::before{content:\\\"\\\"}i.hand.peace.outline::before{content:\\\"\\\"}i.hand.point.down.outline::before{content:\\\"\\\"}i.hand.point.left.outline::before{content:\\\"\\\"}i.hand.point.right.outline::before{content:\\\"\\\"}i.hand.point.outline::before{content:\\\"\\\"}i.hand.pointer.outline::before{content:\\\"\\\"}i.hand.rock.outline::before{content:\\\"\\\"}i.hand.scissors.outline::before{content:\\\"\\\"}i.hand.spock.outline::before{content:\\\"\\\"}i.handshake.outline::before{content:\\\"\\\"}i.hdd.outline::before{content:\\\"\\\"}i.heart.outline::before{content:\\\"\\\"}i.hospital.outline::before{content:\\\"\\\"}i.hourglass.outline::before{content:\\\"\\\"}i.id.badge.outline::before{content:\\\"\\\"}i.id.card.outline::before{content:\\\"\\\"}i.image.outline::before{content:\\\"\\\"}i.images.outline::before{content:\\\"\\\"}i.keyboard.outline::before{content:\\\"\\\"}i.lemon.outline::before{content:\\\"\\\"}i.life.ring.outline::before{content:\\\"\\\"}i.lightbulb.outline::before{content:\\\"\\\"}i.list.alternate.outline::before{content:\\\"\\\"}i.map.outline::before{content:\\\"\\\"}i.meh.outline::before{content:\\\"\\\"}i.minus.square.outline::before{content:\\\"\\\"}i.money.bill.alternate.outline::before{content:\\\"\\\"}i.moon.outline::before{content:\\\"\\\"}i.newspaper.outline::before{content:\\\"\\\"}i.object.group.outline::before{content:\\\"\\\"}i.object.ungroup.outline::before{content:\\\"\\\"}i.paper.plane.outline::before{content:\\\"\\\"}i.pause.circle.outline::before{content:\\\"\\\"}i.play.circle.outline::before{content:\\\"\\\"}i.plus.square.outline::before{content:\\\"\\\"}i.question.circle.outline::before{content:\\\"\\\"}i.registered.outline::before{content:\\\"\\\"}i.save.outline::before{content:\\\"\\\"}i.share.square.outline::before{content:\\\"\\\"}i.smile.outline::before{content:\\\"\\\"}i.snowflake.outline::before{content:\\\"\\\"}i.square.outline::before{content:\\\"\\\"}i.star.outline::before{content:\\\"\\\"}i.star.half.outline::before{content:\\\"\\\"}i.star.empty::before{content:\\\"\\\"}i.sticky.note.outline::before{content:\\\"\\\"}i.stop.circle.outline::before{content:\\\"\\\"}i.sun.outline::before{content:\\\"\\\"}i.thumbs.down.outline::before{content:\\\"\\\"}i.thumbs.up.outline::before{content:\\\"\\\"}i.times.circle.outline::before{content:\\\"\\\"}i.trash.alternate.outline::before{content:\\\"\\\"}i.user.outline::before{content:\\\"\\\"}i.user.circle.outline::before{content:\\\"\\\"}i.window.close.outline::before{content:\\\"\\\"}i.window.maximize.outline::before{content:\\\"\\\"}i.window.minimize.outline::before{content:\\\"\\\"}i.window.restore.outline::before{content:\\\"\\\"}i.disk.outline::before{content:\\\"\\\"}i.heart.empty,i.star.empty{font-family:\\\"outline-icons\\\",sans-serif}i.heart::before,i.empty::before{content:\\\"\\\"}.hsbc-ui.link{font-size:1em;align-self:center;line-height:1;font-weight:400;text-align:left;color:#000;text-decoration:none;display:inline-block;align-items:center}.hsbc-ui.link:active .text,.hsbc-ui.link:hover .text{cursor:pointer;text-decoration:underline}.hsbc-ui.link.disabled{cursor:default;pointer-events:none;opacity:.3}.hsbc-ui.link.disabled:hover .text{cursor:default;text-decoration:none}.hsbc-ui.link.hyperlink{color:#ba1110}.hsbc-ui.link.t1{font-size:1em;line-height:1.5}.hsbc-ui.link.t2{font-size:.875em;line-height:1.25em}.hsbc-ui.link.t3{font-size:.75em;line-height:1}.hsbc-ui.link .icon{font-size:1.125em}.hsbc-ui.link.right .icon{display:inline;margin-left:10px;white-space:nowrap;color:#ba1110}.hsbc-ui.link.right .svg-icon{margin-left:10px;color:#ba1110}.hsbc-ui.link.svg-icon-container{display:inline-flex;align-items:center}.hsbc-ui.link.svg-icon-container .svg-icon{width:1.125em;height:1.125em}@media only screen and (max-width: 1023px){.hsbc-ui.link.s1{font-size:2.063em;line-height:2.5}.hsbc-ui.link.s1 .icon{font-size:1.5em}.hsbc-ui.link.s1 .svg-icon{width:1.5em;height:1.5em}.hsbc-ui.link.s2{font-size:1.75em;line-height:2.25em}.hsbc-ui.link.s2 .icon{font-size:1.25em}.hsbc-ui.link.s2 .svg-icon{width:1.25em;height:1.25em}.hsbc-ui.link.s3{font-size:1.438em;line-height:1.875}.hsbc-ui.link.s4{font-size:1.188em;line-height:1.688}}@media only screen and (min-width: 1024px){.hsbc-ui.link.s1{font-size:2.75em;line-height:3.125}.hsbc-ui.link.s1 .icon{font-size:2em}.hsbc-ui.link.s1 .svg-icon{width:2em;height:2em}.hsbc-ui.link.s2{font-size:2.188em;line-height:2.625}.hsbc-ui.link.s2 .icon{font-size:1.563em}.hsbc-ui.link.s2 .svg-icon{width:1.563em;height:1.563em}.hsbc-ui.link.s3{font-size:1.75em;line-height:2.25}.hsbc-ui.link.s3 .icon{font-size:1.25em}.hsbc-ui.link.s3 .svg-icon{width:1.25em;height:1.25em}.hsbc-ui.link.s4{font-size:1.375em;line-height:2}}.hsbc-ui.list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%;color:#333}.hsbc-ui.list>li::before{content:\\\"​\\\";position:absolute}.hsbc-ui.list>.item{align-items:center;border-bottom:.063rem solid #d7d8d6;display:flex;height:auto;justify-content:space-between;width:100%}.hsbc-ui.list>.item button,.hsbc-ui.list>.item div[role=button],.hsbc-ui.list>.item a{background:none;padding:1rem;width:100%;height:100%;display:flex;justify-content:space-between;position:relative;align-items:center;text-decoration:none;color:inherit;border:0}.hsbc-ui.list>.item button:hover,.hsbc-ui.list>.item div[role=button]:hover,.hsbc-ui.list>.item a:hover{cursor:pointer}.hsbc-ui.list>.item .title{color:inherit;font-size:1rem;font-weight:500;line-height:1.5;position:relative;text-decoration:none;text-transform:none;vertical-align:middle;text-align:left}.hsbc-ui.list>.item .sub-title{font-size:.75rem;font-weight:normal;position:relative;text-decoration:none;text-transform:none;vertical-align:middle;text-align:left}.hsbc-ui.list>.item:only-child{border:0 !important}.hsbc-ui.list>.item:hover{background:#ededed;cursor:pointer}.hsbc-ui.circular.button{border-radius:10em}.hsbc-ui.icon.button>.icon{opacity:.9;margin:0 !important;vertical-align:top}.hsbc-ui.icon.button>.svg-icon{width:18px;height:18px}.hsbc-ui.half.button{width:50%;justify-content:center;align-items:center}.hsbc-ui.fluid.button{width:100%;justify-content:center;align-items:center}.hsbc-ui.button{background:rgba(0,0,0,0);border:1px solid #333;border-radius:0;color:#333;cursor:pointer;display:inline-block;font-size:1em;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1em;margin:0 1.25em 0 0;padding:1em 1.25em;text-align:center;text-decoration:none;text-shadow:none;transition:opacity .1s,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;user-select:none;vertical-align:baseline;position:relative}.hsbc-ui.button:only-of-type{margin:0}.hsbc-ui.button.dropdown{display:flex;padding:0;font-size:1rem;line-height:1;flex-direction:row;border:0 !important;background-color:rgba(0,0,0,0);color:#333}.hsbc-ui.button.dropdown .icon{right:-1.25rem;position:absolute;color:#db0011}.hsbc-ui.button.dropdown .svg-icon{right:-1.25rem;width:1rem;height:1rem;position:absolute;top:50%;transform:translateY(-50%)}.hsbc-ui.button.dropdown .label{font-style:inherit;font-weight:300}.hsbc-ui.button.dropdown .label::after{content:\\\" \\\";display:inline-block;padding-left:5px}.hsbc-ui.button.dropdown .value{font-weight:normal}.hsbc-ui.button.dropdown:hover{background-color:#f3f3f3}.hsbc-ui.button.dropdown:active{background-color:#d7d8d6}.hsbc-ui.button.alignment.vertical{display:flex;flex-direction:column-reverse}.hsbc-ui.button.alignment.vertical .icon{margin:0 auto;padding-top:4px}.hsbc-ui.button>.icon:not(.button),.hsbc-ui.button>.svg-icon:not(.button){transition:opacity .1s ease;opacity:1}.hsbc-ui.button.svg-icon-label>.svg-icon{margin-right:8px;width:18px;height:18px}.hsbc-ui.button.secondary{background:#ba1110;color:#fff;border:none}.hsbc-ui.button.secondary:hover{background-color:#e31e22}.hsbc-ui.button.secondary:active{background-color:#730014}.hsbc-ui.button.tertiary{background:#000;border:none;color:#fff}.hsbc-ui.button.tertiary:hover{background-color:#404040}.hsbc-ui.button.tertiary:active{background-color:#767676}.hsbc-ui.button:hover{background-color:#ededed;background-image:none}.hsbc-ui.button:active{background-color:#d7d8d6;background-image:none}.hsbc-ui.button.disabled{opacity:.3;cursor:default}.hsbc-ui.button.disabled:active{background-color:rgba(0,0,0,0)}.hsbc-ui.button.secondary:disabled,.hsbc-ui.button.tertiary:disabled{background-color:rgba(51,51,51,.15);border:none;color:rgba(51,51,51,.3);opacity:1}.hsbc-ui.button.secondary:disabled:hover,.hsbc-ui.button.tertiary:disabled:hover{background-color:rgba(51,51,51,.15);color:rgba(51,51,51,.3)}.hsbc-ui.button.secondary:disabled .svg-icon svg,.hsbc-ui.button.tertiary:disabled .svg-icon svg{fill:rgba(51,51,51,.3)}.hsbc-ui.button.icon{padding:.813em}.hsbc-ui.button.svg-icon{padding:.813em}.hsbc-ui.button.floated{box-shadow:0 10px 20px 0 rgba(0,0,0,.25)}i.flag:not(.icon){display:inline-block;width:42px;height:32px;line-height:32px;vertical-align:baseline;margin:0 1em 0 0;text-decoration:inherit;speak:none;-webkit-font-smoothing:antialiased;backface-visibility:hidden;border:1px solid #cdcdcd}i.flag:not(.icon)::before{display:inline-block;background-size:contain !important;content:\\\"\\\";width:40px;height:30px}i.flag.aed::before{background:url(\" + ___CSS_LOADER_URL___30___ + \")}i.flag.afn::before{background:url(\" + ___CSS_LOADER_URL___31___ + \")}i.flag.amd::before{background:url(\" + ___CSS_LOADER_URL___32___ + \")}i.flag.ang::before{background:url(\" + ___CSS_LOADER_URL___33___ + \")}i.flag.aoa::before{background:url(\" + ___CSS_LOADER_URL___34___ + \")}i.flag.ars::before{background:url(\" + ___CSS_LOADER_URL___35___ + \")}i.flag.ats::before{background:url(\" + ___CSS_LOADER_URL___36___ + \")}i.flag.aud::before{background:url(\" + ___CSS_LOADER_URL___37___ + \")}i.flag.awg::before{background:url(\" + ___CSS_LOADER_URL___38___ + \")}i.flag.azn::before{background:url(\" + ___CSS_LOADER_URL___39___ + \")}i.flag.bam::before{background:url(\" + ___CSS_LOADER_URL___40___ + \")}i.flag.bbd::before{background:url(\" + ___CSS_LOADER_URL___41___ + \")}i.flag.bdt::before{background:url(\" + ___CSS_LOADER_URL___42___ + \")}i.flag.bef::before{background:url(\" + ___CSS_LOADER_URL___43___ + \")}i.flag.bgn::before{background:url(\" + ___CSS_LOADER_URL___44___ + \")}i.flag.bhd::before{background:url(\" + ___CSS_LOADER_URL___45___ + \")}i.flag.bif::before{background:url(\" + ___CSS_LOADER_URL___46___ + \")}i.flag.bmd::before{background:url(\" + ___CSS_LOADER_URL___47___ + \")}i.flag.bnd::before{background:url(\" + ___CSS_LOADER_URL___48___ + \")}i.flag.bob::before{background:url(\" + ___CSS_LOADER_URL___49___ + \")}i.flag.bov::before{background:url(\" + ___CSS_LOADER_URL___50___ + \")}i.flag.brl::before{background:url(\" + ___CSS_LOADER_URL___51___ + \")}i.flag.bsd::before{background:url(\" + ___CSS_LOADER_URL___52___ + \")}i.flag.btn::before{background:url(\" + ___CSS_LOADER_URL___53___ + \")}i.flag.bwp::before{background:url(\" + ___CSS_LOADER_URL___54___ + \")}i.flag.byn::before{background:url(\" + ___CSS_LOADER_URL___55___ + \")}i.flag.bzd::before{background:url(\" + ___CSS_LOADER_URL___56___ + \")}i.flag.cad::before{background:url(\" + ___CSS_LOADER_URL___57___ + \")}i.flag.cdf::before{background:url(\" + ___CSS_LOADER_URL___58___ + \")}i.flag.che::before{background:url(\" + ___CSS_LOADER_URL___59___ + \")}i.flag.chf::before{background:url(\" + ___CSS_LOADER_URL___60___ + \")}i.flag.chw::before{background:url(\" + ___CSS_LOADER_URL___61___ + \")}i.flag.clf::before{background:url(\" + ___CSS_LOADER_URL___62___ + \")}i.flag.clp::before{background:url(\" + ___CSS_LOADER_URL___63___ + \")}i.flag.cnh::before{background:url(\" + ___CSS_LOADER_URL___64___ + \")}i.flag.cnt::before{background:url(\" + ___CSS_LOADER_URL___65___ + \")}i.flag.cny::before{background:url(\" + ___CSS_LOADER_URL___66___ + \")}i.flag.cop::before{background:url(\" + ___CSS_LOADER_URL___67___ + \")}i.flag.cou::before{background:url(\" + ___CSS_LOADER_URL___68___ + \")}i.flag.all::before{background:url(\" + ___CSS_LOADER_URL___69___ + \")}i.flag.crc::before{background:url(\" + ___CSS_LOADER_URL___70___ + \")}i.flag.cuc::before{background:url(\" + ___CSS_LOADER_URL___71___ + \")}i.flag.cup::before{background:url(\" + ___CSS_LOADER_URL___72___ + \")}i.flag.cve::before{background:url(\" + ___CSS_LOADER_URL___73___ + \")}i.flag.cyp::before{background:url(\" + ___CSS_LOADER_URL___74___ + \")}i.flag.czk::before{background:url(\" + ___CSS_LOADER_URL___75___ + \")}i.flag.dem::before{background:url(\" + ___CSS_LOADER_URL___76___ + \")}i.flag.djf::before{background:url(\" + ___CSS_LOADER_URL___77___ + \")}i.flag.dkk::before{background:url(\" + ___CSS_LOADER_URL___78___ + \")}i.flag.dop::before{background:url(\" + ___CSS_LOADER_URL___79___ + \")}i.flag.dzd::before{background:url(\" + ___CSS_LOADER_URL___80___ + \")}i.flag.ecs::before{background:url(\" + ___CSS_LOADER_URL___81___ + \")}i.flag.eek::before{background:url(\" + ___CSS_LOADER_URL___82___ + \")}i.flag.egp::before{background:url(\" + ___CSS_LOADER_URL___83___ + \")}i.flag.ern::before{background:url(\" + ___CSS_LOADER_URL___84___ + \")}i.flag.esp::before{background:url(\" + ___CSS_LOADER_URL___85___ + \")}i.flag.eur::before{background:url(\" + ___CSS_LOADER_URL___86___ + \")}i.flag.fim::before{background:url(\" + ___CSS_LOADER_URL___87___ + \")}i.flag.fjd::before{background:url(\" + ___CSS_LOADER_URL___88___ + \")}i.flag.fkp::before{background:url(\" + ___CSS_LOADER_URL___89___ + \")}i.flag.frf::before{background:url(\" + ___CSS_LOADER_URL___90___ + \")}i.flag.gbp::before{background:url(\" + ___CSS_LOADER_URL___91___ + \")}i.flag.gel::before{background:url(\" + ___CSS_LOADER_URL___92___ + \")}i.flag.ghc::before{background:url(\" + ___CSS_LOADER_URL___93___ + \")}i.flag.ghs::before{background:url(\" + ___CSS_LOADER_URL___94___ + \")}i.flag.gip::before{background:url(\" + ___CSS_LOADER_URL___95___ + \")}i.flag.gmd::before{background:url(\" + ___CSS_LOADER_URL___96___ + \")}i.flag.gnf::before{background:url(\" + ___CSS_LOADER_URL___97___ + \")}i.flag.grd::before{background:url(\" + ___CSS_LOADER_URL___98___ + \")}i.flag.gtq::before{background:url(\" + ___CSS_LOADER_URL___99___ + \")}i.flag.gyd::before{background:url(\" + ___CSS_LOADER_URL___100___ + \")}i.flag.hkd::before{background:url(\" + ___CSS_LOADER_URL___101___ + \")}i.flag.hnl::before{background:url(\" + ___CSS_LOADER_URL___102___ + \")}i.flag.hrk::before{background:url(\" + ___CSS_LOADER_URL___103___ + \")}i.flag.htg::before{background:url(\" + ___CSS_LOADER_URL___104___ + \")}i.flag.huf::before{background:url(\" + ___CSS_LOADER_URL___105___ + \")}i.flag.idr::before{background:url(\" + ___CSS_LOADER_URL___106___ + \")}i.flag.iep::before{background:url(\" + ___CSS_LOADER_URL___107___ + \")}i.flag.ils::before{background:url(\" + ___CSS_LOADER_URL___108___ + \")}i.flag.inr::before{background:url(\" + ___CSS_LOADER_URL___109___ + \")}i.flag.iqd::before{background:url(\" + ___CSS_LOADER_URL___110___ + \")}i.flag.irr::before{background:url(\" + ___CSS_LOADER_URL___111___ + \")}i.flag.isk::before{background:url(\" + ___CSS_LOADER_URL___112___ + \")}i.flag.itl::before{background:url(\" + ___CSS_LOADER_URL___113___ + \")}i.flag.jmd::before{background:url(\" + ___CSS_LOADER_URL___114___ + \")}i.flag.jod::before{background:url(\" + ___CSS_LOADER_URL___115___ + \")}i.flag.jpy::before{background:url(\" + ___CSS_LOADER_URL___116___ + \")}i.flag.kes::before{background:url(\" + ___CSS_LOADER_URL___117___ + \")}i.flag.kgs::before{background:url(\" + ___CSS_LOADER_URL___118___ + \")}i.flag.khr::before{background:url(\" + ___CSS_LOADER_URL___119___ + \")}i.flag.kpw::before{background:url(\" + ___CSS_LOADER_URL___120___ + \")}i.flag.krw::before{background:url(\" + ___CSS_LOADER_URL___121___ + \")}i.flag.kwd::before{background:url(\" + ___CSS_LOADER_URL___122___ + \")}i.flag.kyd::before{background:url(\" + ___CSS_LOADER_URL___123___ + \")}i.flag.kzt::before{background:url(\" + ___CSS_LOADER_URL___124___ + \")}i.flag.lak::before{background:url(\" + ___CSS_LOADER_URL___125___ + \")}i.flag.lbp::before{background:url(\" + ___CSS_LOADER_URL___126___ + \")}i.flag.lkr::before{background:url(\" + ___CSS_LOADER_URL___127___ + \")}i.flag.lrd::before{background:url(\" + ___CSS_LOADER_URL___128___ + \")}i.flag.lsl::before{background:url(\" + ___CSS_LOADER_URL___129___ + \")}i.flag.ltl::before{background:url(\" + ___CSS_LOADER_URL___130___ + \")}i.flag.luf::before{background:url(\" + ___CSS_LOADER_URL___131___ + \")}i.flag.lvl::before{background:url(\" + ___CSS_LOADER_URL___132___ + \")}i.flag.lyd::before{background:url(\" + ___CSS_LOADER_URL___133___ + \")}i.flag.mad::before{background:url(\" + ___CSS_LOADER_URL___134___ + \")}i.flag.mdl::before{background:url(\" + ___CSS_LOADER_URL___135___ + \")}i.flag.mga::before{background:url(\" + ___CSS_LOADER_URL___136___ + \")}i.flag.mgf::before{background:url(\" + ___CSS_LOADER_URL___137___ + \")}i.flag.mkd::before{background:url(\" + ___CSS_LOADER_URL___138___ + \")}i.flag.mmk::before{background:url(\" + ___CSS_LOADER_URL___139___ + \")}i.flag.mnt::before{background:url(\" + ___CSS_LOADER_URL___140___ + \")}i.flag.mop::before{background:url(\" + ___CSS_LOADER_URL___141___ + \")}i.flag.mro::before{background:url(\" + ___CSS_LOADER_URL___142___ + \")}i.flag.mru::before{background:url(\" + ___CSS_LOADER_URL___143___ + \")}i.flag.mtl::before{background:url(\" + ___CSS_LOADER_URL___144___ + \")}i.flag.mur::before{background:url(\" + ___CSS_LOADER_URL___145___ + \")}i.flag.mvr::before{background:url(\" + ___CSS_LOADER_URL___146___ + \")}i.flag.mwk::before{background:url(\" + ___CSS_LOADER_URL___147___ + \")}i.flag.mxn::before{background:url(\" + ___CSS_LOADER_URL___148___ + \")}i.flag.mxv::before{background:url(\" + ___CSS_LOADER_URL___149___ + \")}i.flag.myr::before,i.flag.myx::before{background:url(\" + ___CSS_LOADER_URL___150___ + \")}i.flag.mzm::before{background:url(\" + ___CSS_LOADER_URL___151___ + \")}i.flag.mzn::before{background:url(\" + ___CSS_LOADER_URL___152___ + \")}i.flag.nad::before{background:url(\" + ___CSS_LOADER_URL___153___ + \")}i.flag.ngn::before{background:url(\" + ___CSS_LOADER_URL___154___ + \")}i.flag.nio::before{background:url(\" + ___CSS_LOADER_URL___155___ + \")}i.flag.nis::before{background:url(\" + ___CSS_LOADER_URL___156___ + \")}i.flag.nlg::before{background:url(\" + ___CSS_LOADER_URL___157___ + \")}i.flag.nok::before{background:url(\" + ___CSS_LOADER_URL___158___ + \")}i.flag.npr::before{background:url(\" + ___CSS_LOADER_URL___159___ + \")}i.flag.ntd::before{background:url(\" + ___CSS_LOADER_URL___160___ + \")}i.flag.nzd::before{background:url(\" + ___CSS_LOADER_URL___161___ + \")}i.flag.omr::before{background:url(\" + ___CSS_LOADER_URL___162___ + \")}i.flag.pab::before{background:url(\" + ___CSS_LOADER_URL___163___ + \")}i.flag.pen::before{background:url(\" + ___CSS_LOADER_URL___164___ + \")}i.flag.pgk::before{background:url(\" + ___CSS_LOADER_URL___165___ + \")}i.flag.php::before,i.flag.phx::before{background:url(\" + ___CSS_LOADER_URL___166___ + \")}i.flag.pkr::before{background:url(\" + ___CSS_LOADER_URL___167___ + \")}i.flag.pln::before{background:url(\" + ___CSS_LOADER_URL___168___ + \")}i.flag.pte::before{background:url(\" + ___CSS_LOADER_URL___169___ + \")}i.flag.pyg::before{background:url(\" + ___CSS_LOADER_URL___170___ + \")}i.flag.qar::before{background:url(\" + ___CSS_LOADER_URL___171___ + \")}i.flag.rmb::before{background:url(\" + ___CSS_LOADER_URL___172___ + \")}i.flag.ron::before{background:url(\" + ___CSS_LOADER_URL___173___ + \")}i.flag.rsd::before{background:url(\" + ___CSS_LOADER_URL___174___ + \")}i.flag.rub::before{background:url(\" + ___CSS_LOADER_URL___175___ + \")}i.flag.rwf::before{background:url(\" + ___CSS_LOADER_URL___176___ + \")}i.flag.sar::before{background:url(\" + ___CSS_LOADER_URL___177___ + \")}i.flag.sbd::before{background:url(\" + ___CSS_LOADER_URL___178___ + \")}i.flag.scr::before{background:url(\" + ___CSS_LOADER_URL___179___ + \")}i.flag.sdd::before{background:url(\" + ___CSS_LOADER_URL___180___ + \")}i.flag.sdg::before{background:url(\" + ___CSS_LOADER_URL___181___ + \")}i.flag.sek::before{background:url(\" + ___CSS_LOADER_URL___182___ + \")}i.flag.sgd::before{background:url(\" + ___CSS_LOADER_URL___183___ + \")}i.flag.shp::before{background:url(\" + ___CSS_LOADER_URL___184___ + \")}i.flag.sit::before{background:url(\" + ___CSS_LOADER_URL___185___ + \")}i.flag.skk::before{background:url(\" + ___CSS_LOADER_URL___186___ + \")}i.flag.sll::before{background:url(\" + ___CSS_LOADER_URL___187___ + \")}i.flag.sos::before{background:url(\" + ___CSS_LOADER_URL___188___ + \")}i.flag.srd::before{background:url(\" + ___CSS_LOADER_URL___189___ + \")}i.flag.srg::before{background:url(\" + ___CSS_LOADER_URL___190___ + \")}i.flag.ssp::before{background:url(\" + ___CSS_LOADER_URL___191___ + \")}i.flag.std::before{background:url(\" + ___CSS_LOADER_URL___192___ + \")}i.flag.stn::before{background:url(\" + ___CSS_LOADER_URL___193___ + \")}i.flag.svc::before{background:url(\" + ___CSS_LOADER_URL___194___ + \")}i.flag.syp::before{background:url(\" + ___CSS_LOADER_URL___195___ + \")}i.flag.szl::before{background:url(\" + ___CSS_LOADER_URL___196___ + \")}i.flag.thb::before{background:url(\" + ___CSS_LOADER_URL___197___ + \")}i.flag.tjs::before{background:url(\" + ___CSS_LOADER_URL___198___ + \")}i.flag.tmt::before{background:url(\" + ___CSS_LOADER_URL___199___ + \")}i.flag.tnd::before{background:url(\" + ___CSS_LOADER_URL___200___ + \")}i.flag.top::before{background:url(\" + ___CSS_LOADER_URL___201___ + \")}i.flag.try::before{background:url(\" + ___CSS_LOADER_URL___202___ + \")}i.flag.ttd::before{background:url(\" + ___CSS_LOADER_URL___203___ + \")}i.flag.tvd::before{background:url(\" + ___CSS_LOADER_URL___204___ + \")}i.flag.twd::before{background:url(\" + ___CSS_LOADER_URL___205___ + \")}i.flag.tzs::before{background:url(\" + ___CSS_LOADER_URL___206___ + \")}i.flag.thx::before,i.flag.thb::before{background:url(\" + ___CSS_LOADER_URL___197___ + \")}i.flag.uah::before{background:url(\" + ___CSS_LOADER_URL___207___ + \")}i.flag.ugx::before{background:url(\" + ___CSS_LOADER_URL___208___ + \")}i.flag.usd::before{background:url(\" + ___CSS_LOADER_URL___209___ + \")}i.flag.usn::before{background:url(\" + ___CSS_LOADER_URL___210___ + \")}i.flag.uss::before{background:url(\" + ___CSS_LOADER_URL___211___ + \")}i.flag.uyi::before{background:url(\" + ___CSS_LOADER_URL___212___ + \")}i.flag.uyu::before{background:url(\" + ___CSS_LOADER_URL___213___ + \")}i.flag.uzs::before{background:url(\" + ___CSS_LOADER_URL___214___ + \")}i.flag.vef::before{background:url(\" + ___CSS_LOADER_URL___215___ + \")}i.flag.ves::before{background:url(\" + ___CSS_LOADER_URL___216___ + \")}i.flag.vnd::before{background:url(\" + ___CSS_LOADER_URL___217___ + \")}i.flag.vuv::before{background:url(\" + ___CSS_LOADER_URL___218___ + \")}i.flag.wst::before{background:url(\" + ___CSS_LOADER_URL___219___ + \")}i.flag.xaf::before{background:url(\" + ___CSS_LOADER_URL___220___ + \")}i.flag.xag::before{background:url(\" + ___CSS_LOADER_URL___221___ + \")}i.flag.xcd::before{background:url(\" + ___CSS_LOADER_URL___222___ + \")}i.flag.xau::before{background:url(\" + ___CSS_LOADER_URL___223___ + \")}i.flag.xeu::before{background:url(\" + ___CSS_LOADER_URL___224___ + \")}i.flag.xof::before{background:url(\" + ___CSS_LOADER_URL___225___ + \")}i.flag.xpt::before{background:url(\" + ___CSS_LOADER_URL___226___ + \")}i.flag.xpf::before{background:url(\" + ___CSS_LOADER_URL___227___ + \")}i.flag.yer::before{background:url(\" + ___CSS_LOADER_URL___228___ + \")}i.flag.zar::before{background:url(\" + ___CSS_LOADER_URL___229___ + \")}i.flag.zmk::before,i.flag.zmw::before{background:url(\" + ___CSS_LOADER_URL___230___ + \")}i.flag.zwd::before{background:url(\" + ___CSS_LOADER_URL___231___ + \")}i.flag.zwl::before{background:url(\" + ___CSS_LOADER_URL___232___ + \")}.hsbc-ui.container{display:block;width:100%;max-width:100% !important}@media only screen and (max-width: 320px){.hsbc-ui.container{width:100%;margin:0 auto}.hsbc-ui.container.fluid{margin:0 !important;padding:0 !important}}@media only screen and (min-width: 321px)and (max-width: 767px){.hsbc-ui.container{width:100%;padding-left:1.25rem !important;padding-right:1.25rem !important;margin:0 auto}.hsbc-ui.container.fluid{margin:0 !important;padding:0 !important}}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.container{width:100%;padding-left:1.25rem !important;padding-right:1.25rem !important;margin:0 auto}}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.container{width:985px;margin-left:auto !important;margin-right:auto !important}}@media(min-width: 1366px){.hsbc-ui.container{width:1240px;margin-left:auto !important;margin-right:auto !important}}.hsbc-ui.icon.input i.circular.icon,.hsbc-ui.icon.input i.circular.svg-icon,.hsbc-ui.svg-icon.input i.circular.icon,.hsbc-ui.svg-icon.input i.circular.svg-icon{top:.35rem;right:.5rem}.hsbc-ui.icon.input i.icon,.hsbc-ui.icon.input i.svg-icon,.hsbc-ui.svg-icon.input i.icon,.hsbc-ui.svg-icon.input i.svg-icon{cursor:default;line-height:1;text-align:center;width:1rem;height:1rem;font-size:1rem;opacity:.5;transition:opacity .3s ease;flex:0 0 auto}.hsbc-ui.icon.input i.icon:not(.link),.hsbc-ui.icon.input i.svg-icon:not(.link),.hsbc-ui.svg-icon.input i.icon:not(.link),.hsbc-ui.svg-icon.input i.svg-icon:not(.link){pointer-events:none}.hsbc-ui.icon.input i.icon::before,.hsbc-ui.icon.input i.icon::after,.hsbc-ui.icon.input i.svg-icon::before,.hsbc-ui.icon.input i.svg-icon::after,.hsbc-ui.svg-icon.input i.icon::before,.hsbc-ui.svg-icon.input i.icon::after,.hsbc-ui.svg-icon.input i.svg-icon::before,.hsbc-ui.svg-icon.input i.svg-icon::after{left:0;position:absolute;text-emphasis:center;top:50%;width:100%;margin-top:-0.5rem}.hsbc-ui.icon.input i.icon.input-clear-icon,.hsbc-ui.icon.input i.svg-icon.input-clear-icon,.hsbc-ui.svg-icon.input i.icon.input-clear-icon,.hsbc-ui.svg-icon.input i.svg-icon.input-clear-icon{cursor:pointer;pointer-events:auto;flex:0 0 auto}.hsbc-ui.icon.input i.link.icon,.hsbc-ui.icon.input i.link.svg-icon,.hsbc-ui.svg-icon.input i.link.icon,.hsbc-ui.svg-icon.input i.link.svg-icon{cursor:pointer}.hsbc-ui.icon.input input:focus~i.icon,.hsbc-ui.icon.input input:focus~i.svg-icon,.hsbc-ui.svg-icon.input input:focus~i.icon,.hsbc-ui.svg-icon.input input:focus~i.svg-icon{opacity:1}.hsbc-ui.fluid.input{display:flex;max-width:100%}.hsbc-ui.input{position:relative;font-weight:300;font-size:1.1875rem;font-style:normal;display:inline-flex;align-items:center;color:#333;background:#fff;width:100%;box-shadow:0 0 0 1px #767676;padding:0 10px;overflow:hidden}.hsbc-ui.input>input{margin:0;max-width:100%;min-width:0;flex:1 1 auto;text-align:left;line-height:24px;background:rgba(0,0,0,0);transition:box-shadow .1s ease,border-color .1s ease;box-shadow:none;border:none;padding:10px 2px;color:#333}.hsbc-ui.input>input:active{color:#333;box-shadow:none}.hsbc-ui.input>input:focus{outline:none}.hsbc-ui.input>input:focus::-webkit-input-placeholder,.hsbc-ui.input>input:focus::-moz-placeholder,.hsbc-ui.input>input:focus:-ms-input-placeholder{color:#999}.hsbc-ui.input>input::-webkit-input-placeholder,.hsbc-ui.input>input::-moz-placeholder,.hsbc-ui.input>input:-ms-input-placeholder{color:#999}.hsbc-ui.input:not(.disable) input[disabled]{opacity:.45}.hsbc-ui.input.error{box-shadow:0 0 0 1px #a8000b;background-color:#f9f2f3}.hsbc-ui.input.transparent{background:rgba(0,0,0,0)}.hsbc-ui.input.focus>input::-webkit-input-placeholder,.hsbc-ui.input.focus>input::-moz-placeholder,.hsbc-ui.input.focus>input:-ms-input-placeholder{color:#999}.hsbc-ui.input .input-prefix,.hsbc-ui.input .input-suffix{height:35px;display:flex;align-items:center;flex:0 0 auto}.hsbc-ui.input .input-prefix{margin-right:8px}.hsbc-ui.input .input-suffix{margin-left:8px}.hsbc-ui.input-currency .input-currency-suffix{height:100%;line-height:100%;padding-left:10px;border-left:1px solid #d7d8d6;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.hsbc-ui.disabled.input{opacity:.45}.hsbc-ui[class*=\\\"left icon\\\"].input>i.icon{border-radius:0}.hsbc-ui[class*=\\\"left icon\\\"].input>i.svg-icon{margin-right:10px;border-radius:0}.hsbc-ui[class*=\\\"left icon\\\"].input>i.input-clear-icon{margin-left:10px;margin-right:0}.hsbc-ui[class*=\\\"right icon\\\"].input>i.svg-icon{margin-left:10px;border-radius:0}.hsbc-ui[class*=\\\"right icon\\\"].input>i.input-clear-icon{margin-left:10px;margin-right:0}.hsbc-ui.hsbc-ui-input-focus{box-shadow:0 0 0 1px #000}.hsbc-ui.hsbc-ui-input-focus::after{content:\\\"\\\";position:absolute;left:0;bottom:0;width:100%;height:3px;border-bottom:3px solid #000}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.input{max-width:356px}}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.input{max-width:480px}}@media(min-width: 1366px){.hsbc-ui.input{max-width:610px}}div.svg-icon,a.svg-icon,i.svg-icon{box-sizing:content-box;width:18px;height:18px;display:inline-flex;justify-content:center;vertical-align:middle;align-items:center;opacity:1 !important}div.svg-icon.disabled,a.svg-icon.disabled,i.svg-icon.disabled{opacity:.45 !important}div .st0,a .st0,i .st0{opacity:.25}div .st1,a .st1,i .st1{fill:none}@media(min-width: 768px)and (max-width: 1023px){div.svg-icon,a.svg-icon,i.svg-icon{width:24px;height:24px}}@media(min-width: 1024px){div.svg-icon,a.svg-icon,i.svg-icon{width:36px;height:36px}}@media(min-width: 1440px){div.svg-icon,a.svg-icon,i.svg-icon{width:48px;height:48px}}.hsbc-ui.textarea{background:rgba(0,0,0,0);position:relative;width:100%}.hsbc-ui.textarea.error textarea{border:1px solid #a8000b;background-color:#f9f2f3}.hsbc-ui.textarea.fluid textarea{height:100%;width:100%}.hsbc-ui.textarea.focus textarea::placeholder{color:#999}.hsbc-ui.textarea.transparent textarea{background:rgba(0,0,0,0)}.hsbc-ui.textarea textarea{background:#fff;border:1px solid #767676;box-shadow:none;display:block;line-height:1;margin:0;padding:.875rem;text-align:left}.hsbc-ui.textarea textarea:active{border:1px solid #000;border-bottom-width:3px;color:#333}.hsbc-ui.textarea textarea:focus::placeholder{color:#999}.hsbc-ui.textarea textarea::placeholder{color:#999}.hsbc-ui.textarea:not(.disable) textarea[disabled]{opacity:.5}.hsbc-ui.textarea.disabled.textarea{opacity:.5;pointer-events:none}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.textarea:not(.fluid){max-width:356px}}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.textarea:not(.fluid){max-width:480px}}@media only screen and (min-width: 1366px){.hsbc-ui.textarea:not(.fluid){max-width:610px}}.hsbc-ui.slider{padding:0 20px;box-sizing:border-box;margin-top:23px}.hsbc-ui.slider .MuiSlider-markActive{display:none}.hsbc-ui.slider .MuiSlider-mark{display:none}.hsbc-ui.slider .MuiSlider-thumb{border-color:gray}.hsbc-ui.slider .MuiSlider-markLabel{top:30px;font-size:1rem;line-height:24px;margin-top:13px}.hsbc-ui.slider .MuiSlider-root{padding:18px 0 37px;margin-bottom:0}.hsbc-ui.slider .listContainer{display:flex;justify-content:space-between;margin-top:13px;padding:0}.hsbc-ui.slider .listContainer li{list-style:none;width:24px}.hsbc-ui.slider .listContainer li:first-child{color:rgba(0,0,0,.87);text-align:left}.hsbc-ui.slider .listContainer li:last-child{text-align:right}.hsbc-ui.slider .listContainer li:last-child.notActive{color:rgba(0,0,0,.56)}.hsbc-ui.slider .sliderContainer{width:100%;position:relative;height:24px}.hsbc-ui.slider .sliderContainer .sliderInput{-webkit-appearance:none;cursor:pointer;width:100%;height:48px;position:absolute;top:50%;transform:translate(0, -50%);opacity:0;z-index:4}.hsbc-ui.slider .sliderContainer .sliderInput::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;position:relative;z-index:3}.hsbc-ui.slider .sliderContainer .selector{width:24px;position:absolute;top:50%;z-index:2}.hsbc-ui.slider .sliderContainer .selectBtn{height:24px;width:24px;background-color:#fff;border:2px solid #ccc;border-radius:50%;position:absolute;top:50%;transform:translate(0, -50%)}.hsbc-ui.slider .sliderContainer .sliderInput:hover+.selector .selectBtn{box-shadow:0px 0px 0px 8px rgba(63,81,181,.16)}.hsbc-ui.slider .sliderContainer .activeSelectBtn{box-shadow:0px 0px 0px 8px rgba(63,81,181,.16)}.hsbc-ui.slider .sliderContainer .bar{width:100%;height:8px;border-radius:4px;background-color:#d7d8d6;position:absolute;left:0;top:50%;transform:translate(0, -50%)}.hsbc-ui.slider .sliderContainer .progressBar{height:8px;background:#000;border-radius:4px;position:absolute;left:0;top:50%;transform:translate(0, -50%)}.performance-chart-legend{display:flex;justify-content:space-between;padding:24px 0}.legend-item{display:flex;justify-content:center;align-items:center}.chart-title-content{padding-left:8px;line-height:10px;color:#3a3a3a;font-size:14px;letter-spacing:0}.chart-title-content.chart-title-content-font-size{line-height:16px;font-size:16px}.tooltip-container{padding:6px}.tooltip-title{color:#333;font-size:14px;letter-spacing:0;line-height:12px}.tooltip-body{display:flex;flex-direction:column}.tooltip-row{display:flex;justify-content:start;align-items:flex-end;color:#333;letter-spacing:0;line-height:12px;font-size:12px;font-weight:300;margin-top:12px}.dateLabelStyle{background-color:#000;width:36px;height:18px;transform:rotate(-90deg);display:flex;justify-content:center;align-items:center;color:#fff;font-size:12px;letter-spacing:0;line-height:10px}.highcharts-plot-line-label{overflow:visible !important}.hsbc-ui.type.grid.card{width:100%;padding:0;margin:0;display:flex;flex-direction:row;max-width:610px}.hsbc-ui.type.grid.card .label{font-size:.875rem}.hsbc-ui.type.grid.card .label+.value{margin-top:.875rem}.hsbc-ui.type.grid.card .h3{font-size:16px !important;line-height:1}.hsbc-ui.type.grid.card .value{font-size:1.375rem;line-height:1}.hsbc-ui.type.grid.card .content{padding:1.5rem 1.25rem}.hsbc-ui.type.grid.card .content>.label:not(.hsbc-ui){font-size:.875rem;line-height:1}.hsbc-ui.data.card{display:inline-flex;padding:0;width:calc(33% - 10px);margin:0 0 1.25rem}.hsbc-ui.data.card .content-group{align-items:baseline}.hsbc-ui.data.card .content-group:nth-child(2){border-top:1px solid #d7d8d6}.hsbc-ui.data.card:nth-child(3n-1){margin-right:1.25rem;margin-left:1.25rem}.hsbc-ui.data.card:nth-child(4n+3){margin-right:0}.hsbc-ui.data.card .content{min-width:50%;flex-grow:0;padding:1rem 1.25rem}.hsbc-ui.data.card .content .label:not(.hsbc-ui){font-weight:normal;font-size:.75rem;line-height:1}.hsbc-ui.data.card .content .label+.value{margin-top:.875rem;line-height:1.1}.hsbc-ui.data.card .content .h3{font-size:16px !important;line-height:1}.hsbc-ui.data.card .content .value{font-size:14px}.hsbc-ui.data.card .content .unit{line-height:1;font-weight:300;font-size:.875rem}.hsbc-ui.twoCol.card{width:calc(50% - 10px)}.hsbc-ui.twoCol.card:nth-child(2){margin-right:0}.hsbc-ui.hero.card{width:50%;border:none;box-shadow:none;background:rgba(0,0,0,0)}.hsbc-ui.hero.card *{color:#fff !important;font-weight:normal !important}.hsbc-ui.hero.card .label{margin:\\\"\\\";color:#fff;font-size:1.375rem;line-height:1}.hsbc-ui.hero.card .label+.value{margin-top:1.25rem}.hsbc-ui.hero.card .h3{font-size:16px !important;line-height:1}.hsbc-ui.hero.card .unit{font-size:1.375rem;font-weight:300;color:#fff !important;line-height:1;white-space:nowrap}.hsbc-ui.hero.card .value{font-size:2.75rem;color:#fff !important;line-height:1}.hsbc-ui.hero.card .value+.sub-label{margin-top:1.25rem}.hsbc-ui.hero.card .sub-label{font-size:1rem !important;line-height:1;color:#fff !important}.hsbc-ui.hero.card .sub-label+.sub-label{margin-top:1.25rem}.hsbc-ui.hero.card .content{width:100%;padding:.625rem 1.25rem}.hsbc-ui.hero.card .content::before{content:\\\"\\\";background-color:#fff;height:100%;padding:1px;position:absolute;top:0;left:0;display:block}.hsbc-ui.hero.card .content>.label:not(.hsbc-ui){font-size:1.375rem;line-height:1}.hsbc-ui.hero.card .content>.label .icon{margin-left:10px}.hsbc-ui.hero.card .content>.clickable{cursor:pointer}.hsbc-ui.fluid.card{width:100%}.hsbc-ui.performance.card .label+.value{margin-top:.875rem}.hsbc-ui.performance.card .h3{font-size:16px !important;line-height:1}.hsbc-ui.performance.card .value{font-size:1rem}.hsbc-ui.performance.card .value+.sub-label{margin-top:.875rem}.hsbc-ui.performance.card .unit{font-weight:300;font-size:.875rem}.hsbc-ui.performance.card .content{padding:1.25rem}.hsbc-ui.performance.card .content>.label:not(.hsbc-ui){font-size:.875rem;line-height:1}.hsbc-ui.transparent.card{background:none;background-color:rgba(0,0,0,0);box-shadow:none;border:0;color:#fff}.hsbc-ui.transparent.card .content::before{content:\\\"\\\";box-shadow:none;width:0;background:none}.hsbc-ui.card{width:calc(50% - .63em);max-width:100%;height:fit-content;position:relative;display:flex;flex-direction:column;min-height:0;background:#fff;color:#333;padding:0;margin:1rem 0;border:1px solid #d7d8d6;border-radius:0}.hsbc-ui.card.clickable{cursor:pointer}.hsbc-ui.card a{cursor:pointer}.hsbc-ui.card:first-child{margin-left:0}.hsbc-ui.card:last-child{margin-right:0}.hsbc-ui.card .dismiss{position:absolute;top:10px;right:10px}.hsbc-ui.card .label{margin:\\\"\\\";color:#333}.hsbc-ui.card .label+.value,.hsbc-ui.card .label+.sub-label{margin-top:1.25rem}.hsbc-ui.card .h3{font-size:16px !important;line-height:1}.hsbc-ui.card .value{display:-webkit-box;font-size:2.1875rem;color:#333;line-height:1;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.hsbc-ui.card .value.fluid{width:100%}.hsbc-ui.card .value.positive{color:#00847f}.hsbc-ui.card .value.negative{color:#a8000b}.hsbc-ui.card .value+.sub-label,.hsbc-ui.card .value+.label{margin-top:1.25rem}.hsbc-ui.card .sub-label{font-size:1rem !important;color:#333;line-height:1}.hsbc-ui.card .unit{color:#333;font-weight:300;font-size:1rem;line-height:1}.hsbc-ui.card .content-group{display:flex;justify-content:inherit}.hsbc-ui.card .content-group .content{flex-grow:1;border:none;background:none;padding:1.25rem;box-shadow:none;text-align:left;font-weight:normal;border-radius:0;word-break:break-word}.hsbc-ui.card .content{flex-grow:1;border:none;background:none;padding:2.5rem 1.25rem;box-shadow:none;text-align:left;font-weight:normal;position:relative;border-radius:0}.hsbc-ui.card .content>.label:not(.hsbc-ui){font-size:1rem;line-height:1}.hsbc-ui.card .content.positive::before,.hsbc-ui.card .content.negative::before{content:\\\"\\\";position:absolute;display:inline-block;right:2px;width:0;height:0;border-top:.75em solid rgba(0,0,0,0);border-bottom:.75em solid rgba(0,0,0,0)}.hsbc-ui.card .content.negative::before{content:\\\"\\\";bottom:-4px;border-left:.75em solid #a8000b;transform:rotate(45deg)}.hsbc-ui.card .content.positive::before{content:\\\"\\\";top:-4px;border-left:.75em solid #00847f;transform:rotate(-45deg)}.hsbc-ui.card .content.icon{display:flex}.hsbc-ui.card .content.extra{border-top:1px solid #d7d8d6;padding:1.25rem}.hsbc-ui.card .content.extra .label+.value{margin-top:.875rem}.hsbc-ui.card .content.extra .value{font-size:1.375rem}.hsbc-ui.card .content.extra .value+.sub-label{margin-top:.875rem}.hsbc-ui.card .content.extra>.label:not(.hsbc-ui){font-size:.875rem}.hsbc-ui.card .content.center{text-align:center}.hsbc-ui.card .content.left{text-align:left}.hsbc-ui.card .content.right{text-align:right}.hsbc-ui.card:not(.data):nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card:not(.data):nth-child(odd){margin-left:0;margin-right:1.25em}.hsbc-ui.card::after{display:block;content:\\\"\\\";height:0;clear:both;overflow:hidden;visibility:hidden}.hsbc-ui.card.v2{width:calc(50% - 10px);margin:0 0 20px 0}.hsbc-ui.card.v2:nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card.v2:nth-child(odd){margin-left:0;margin-right:20px}.hsbc-ui.card.v2 .content{display:flex;flex-direction:column;padding:20px}.hsbc-ui.card.v2 .content>.label{margin-top:12px;font-size:16px;font-weight:500;line-height:24px}.hsbc-ui.card.v2 .content>.label+.sub-label{order:-1;margin:0;font-size:14px !important}.hsbc-ui.card.v2 .content.extra{padding:20px;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.hsbc-ui.card.v2 .content.extra .fluid{margin-bottom:12px}.hsbc-ui.card.v2 .content.extra>.label{font-size:12px;margin-top:0;line-height:16px}.hsbc-ui.card.v2 .content.extra>.label+.value{margin-top:0}.hsbc-ui.card.v2 .content.extra>.value{font-size:16px}.hsbc-ui.card.v2 .content.extra>.value .unit{font-size:90%}.hsbc-ui.card.v2 .content.extra>.value .remark{color:#333}.hsbc-ui.cards{box-shadow:0 25px 25px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;border:1px solid #d7d8d6;width:100%;padding:0}.hsbc-ui.cards>.card{padding:0;box-shadow:none;border-bottom:0;border-left:0;border-right:0;margin:0 !important}.hsbc-ui.card-hide-shadow{box-shadow:none;display:flex;flex-direction:column;border:1px solid #d7d8d6;width:100%;padding:0}@media only screen and (max-width: 1365px){.hsbc-ui.data.card{width:calc(50% - 10px)}.hsbc-ui.data.card:nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.data.card:nth-child(odd){margin-left:0;margin-right:1.25em}}@media only screen and (max-width: 1023px){.hsbc-ui.hero.card{margin-left:0}.hsbc-ui.hero.card .content>.label:not(.hsbc-ui){font-size:1.1875rem}.hsbc-ui.hero.card .unit{font-size:1.1875rem}.hsbc-ui.hero.card .value{font-size:2.0625rem}.hsbc-ui.grid.card{max-width:480px}.hsbc-ui.grid.card .value{font-size:1.1875rem}.hsbc-ui.card .value{font-size:1.75rem}.hsbc-ui.card:not(.data):nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card:not(.data):nth-child(odd){margin-left:0;margin-right:1.25em}.hsbc-ui.performance.card .value{font-size:1.1875rem}.hsbc-ui.performance.card .content.extra .value{font-size:1.1875rem}}@media only screen and (max-width: 767px){.hsbc-ui.hero.card{width:100%}.hsbc-ui.hero.card .content{padding:.625rem 0 .625rem 1.25rem}.hsbc-ui.data.card{width:100%}.hsbc-ui.data.card:nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.data.card:nth-child(odd){margin-left:0;margin-right:0}.hsbc-ui.card{margin:0;padding:0;width:100%;margin-bottom:1.25rem}.hsbc-ui.card:last-child{margin-bottom:0}.hsbc-ui.card:not(.data):nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card:not(.data):nth-child(odd){margin-left:0;margin-right:0}.hsbc-ui.cards{padding:0;margin:0}}@media only screen and (max-width: 320px){.hsbc-ui.hero.card{width:100%}.hsbc-ui.hero.card .content{padding:.625rem 1.25rem}}@media only screen and (max-width: 1365px){.hsbc-ui.card.v2{width:calc(50% - 10px);margin:0 0 20px 0}.hsbc-ui.card.v2:nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card.v2:nth-child(odd){margin-left:0;margin-right:20px}}@media only screen and (max-width: 1023px){.hsbc-ui.card.v2{width:calc(50% - 10px);margin:0 0 20px 0}.hsbc-ui.card.v2:nth-child(even){margin-right:0;margin-left:0}.hsbc-ui.card.v2:nth-child(odd){margin-left:0;margin-right:20px}}@media only screen and (max-width: 768px){.hsbc-ui.card.v2{width:100%}.hsbc-ui.card.v2:nth-child(even),.hsbc-ui.card.v2:nth-child(odd){margin:0 0 20px 0}.hsbc-ui.card.v2 .content{padding:20px 12px}.hsbc-ui.card.v2 .content.extra{padding:20px 12px}}.hsbc-ui.loader{height:auto;width:auto;text-align:center;position:absolute;top:50%;left:50%;margin:0;z-index:1000;font-size:16px;font-weight:300;white-space:nowrap;color:#333;transform:translate(-50%, -50%)}.hsbc-ui.loader.button .spinner{width:24px !important;height:24px !important}.hsbc-ui.loader.button .svg-icon{width:12px !important;height:12px !important}.hsbc-ui.loader .loader-wrapper{position:relative}.hsbc-ui.loader .spinner{border:2px solid #000;border-right-color:rgba(0,0,0,0);border-radius:50%;display:inline-block;animation:load 1.5s infinite linear}.hsbc-ui.loader .icon,.hsbc-ui.loader .svg-icon{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);height:auto;z-index:999}.hsbc-ui.loader .children{margin-top:24px}.hsbc-ui.loader.large.loader .loader-wrapper{height:56px}.hsbc-ui.loader.large.loader .spinner{width:56px;height:56px}.hsbc-ui.loader.large.loader .svg-icon{width:28px;height:28px}.hsbc-ui.loader.medium.loader .loader-wrapper{height:44px}.hsbc-ui.loader.medium.loader .spinner{width:44px;height:44px}.hsbc-ui.loader.medium.loader .svg-icon{width:22px;height:22px}.hsbc-ui.loader.small.loader .loader-wrapper{height:32px}.hsbc-ui.loader.small.loader .spinner{width:32px;height:32px}.hsbc-ui.loader.small.loader .svg-icon{width:16px;height:16px}@media screen and (min-width: 1024px){.hsbc-ui.loader .loader-wrapper{height:56px}.hsbc-ui.loader .spinner{width:56px;height:56px}.hsbc-ui.loader .svg-icon{width:28px;height:28px}}@media screen and (max-width: 768px){.hsbc-ui.loader .loader-wrapper{height:32px}.hsbc-ui.loader .spinner{width:32px;height:32px}.hsbc-ui.loader .svg-icon{width:16px;height:16px}}@media screen and (min-width: 768px)and (max-width: 1024px){.hsbc-ui.loader .loader-wrapper{height:44px}.hsbc-ui.loader .spinner{width:44px;height:44px}.hsbc-ui.loader .svg-icon{width:22px;height:22px}}@-webkit-keyframes load{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes load{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.hsbc-ui.carousel-card{position:relative;box-sizing:border-box;border:1px solid #d7d8d6;background-color:#fff}.hsbc-ui.carousel-card.openTrunButton{padding-left:30px;padding-right:30px}.hsbc-ui.carousel-card .left-button,.hsbc-ui.carousel-card .right-button{position:absolute;top:calc(50% - 15px);width:30px;height:30px;border:none;padding:0;background:rgba(0,0,0,0);cursor:pointer}.hsbc-ui.carousel-card .left-button{left:0}.hsbc-ui.carousel-card .left-button.disable{opacity:50%;cursor:default}.hsbc-ui.carousel-card .right-button{right:0}.hsbc-ui.carousel-card .right-button.disable{opacity:50%;cursor:default}.hsbc-ui.carousel-card .carousel-card-viewport{overflow:hidden}.hsbc-ui.carousel-card .carousel-card-viewport.is-draggable{cursor:move;cursor:grab;cursor:grabbing}.hsbc-ui.carousel-card .carousel-card-container{display:flex;will-change:transform;margin-left:-1rem}.hsbc-ui.carousel-card .indicators{background:#fff;display:flex;list-style:none;justify-content:center;margin-bottom:.625rem;align-items:flex-end}.hsbc-ui.carousel-card .indicators .indicator{background-color:#767676;cursor:pointer;position:relative;padding:0;width:1.25rem;height:1px;margin-right:.188rem;margin-left:.188rem;border:0;display:flex;align-items:center}.hsbc-ui.carousel-card .indicators .indicator.is-selected{height:2px;background-color:#ba1110}.hsbc-ui.carousel-card .slide{flex:0 0 auto;width:100%;position:relative;padding-left:1rem}.hsbc-ui.carousel-card .slide .card{border:0;margin:0 !important;width:100% !important;box-shadow:none}.hsbc-ui.carousel-card .slide .card .content{padding:1.25rem}.hsbc-ui.carousel-card .slide .card .content .label:not(.hsbc-ui){font-weight:normal;font-size:.875rem;line-height:1}.hsbc-ui.carousel-card .slide .card .content .label+.card-value{margin-top:.875rem}.hsbc-ui.carousel-card .slide .card .content .value{font-weight:normal;font-size:1.375rem;line-height:1;margin-bottom:0}.hsbc-ui.carousel-card .slide .card .content .unit{font-size:.875rem;font-weight:300}.hsbc-ui.carousel-card .slide .card .content>.label:not(.hsbc-ui){font-weight:normal;font-size:.875rem;line-height:1}.hsbc-ui.carousel-card .slide__inner{background-color:#fff;position:relative;border-radius:0;padding-bottom:46%}@media only screen and (max-width: 1024px){.hsbc-ui .carousel-card .slide .card .value{font-size:1.1875rem}}.hsbc-ui.type.spotlight.promo-card{position:relative;border:0;height:371px;min-height:371px;padding:0;width:100%;cursor:pointer;margin:auto}.hsbc-ui.type.spotlight.promo-card>.image{height:100%;width:100%}.hsbc-ui.type.spotlight.promo-card>.image>.icon-position{display:none}.hsbc-ui.type.spotlight.promo-card>.content{background:#fff;bottom:32px;padding:2.5rem 1.25rem;position:absolute;left:32px;top:32px;width:578px}.hsbc-ui.type.spotlight.promo-card>.content .icon-position{position:absolute;bottom:0;right:0;transform:translateX(100%)}.hsbc-ui.type.spotlight.promo-card>.content .title:not(.hsbc-ui){font-size:2.5rem;line-height:1.2}.hsbc-ui.alignment.horizontal.promo-card{flex-direction:row;width:610px;height:auto;min-height:auto}.hsbc-ui.alignment.horizontal.promo-card.no-image-card{padding:1.25em;min-height:140px}.hsbc-ui.alignment.horizontal.promo-card.no-image-card .content{padding:0}.hsbc-ui.alignment.horizontal.promo-card>.image{height:160px;width:160px}.hsbc-ui.alignment.horizontal.promo-card>.content{padding:.375em 1.25rem}.hsbc-ui.promo-card{max-width:100%;position:relative;display:flex;flex-direction:column;min-height:522px;height:auto;width:610px;background:#fff;color:#333;padding:.625rem;border:1px solid #767676;border-radius:0}.hsbc-ui.promo-card.no-image-card{padding:1.25em;min-height:140px}.hsbc-ui.promo-card.no-image-card .content{padding:0}.hsbc-ui.promo-card>.icon-position{position:absolute;bottom:0px;right:0px}.hsbc-ui.promo-card>.image{display:block;flex:0 0 auto;height:332px;object-fit:cover;position:relative}.hsbc-ui.promo-card>.image:not(.hsbc-ui)>img{border:0}.hsbc-ui.promo-card>.image>.icon-position{position:absolute;bottom:0px;right:0px}.hsbc-ui.promo-card>.image img{object-fit:cover;border-radius:inherit;display:block;height:100%;width:100%}.hsbc-ui.promo-card>.content{background:none;border:0;border-radius:0;flex-grow:1;font-size:1rem;line-height:2.188;margin:0;padding:1rem .625rem;position:relative}.hsbc-ui.promo-card>.content>.title{color:#333;display:block}.hsbc-ui.promo-card>.content>.title:not(.hsbc-ui){font-size:1.75rem;font-weight:300;line-height:1.2;margin:0;overflow:hidden;text-shadow:none;white-space:normal}.hsbc-ui.promo-card>.content>.description{font-size:1rem;font-weight:300;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}.hsbc-ui.promo-card>.content>.meta{font-size:.75rem;font-weight:300;line-height:2.188;margin:0;overflow:hidden;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}.hsbc-ui.promo-card>.content::after{clear:both;content:\\\"\\\";display:block;height:0;overflow:hidden;visibility:hidden}.hsbc-ui.promo-card::after{clear:both;content:\\\"\\\";display:block;height:0;overflow:hidden;visibility:hidden}.hsbc-ui.promo-card a{cursor:pointer}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.type.spotlight.promo-card{height:284px;min-height:284px}.hsbc-ui.type.spotlight.promo-card>.content{background:#fff;bottom:20px;padding:2.5rem 1.25rem;left:20px;top:20px;width:460px}.hsbc-ui.type.spotlight.promo-card>.content .title:not(.hsbc-ui){font-size:1.75em;line-height:1.5}.hsbc-ui.alignment.horizontal.promo-card{width:480px;min-height:auto}.hsbc-ui.promo-card{min-height:447px;width:480px}.hsbc-ui.promo-card.no-image-card{min-height:auto}.hsbc-ui.promo-card.no-image-card .content{padding:0}.hsbc-ui.promo-card>.image{height:260px}}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.type.spotlight.promo-card{height:258px;min-height:258px}.hsbc-ui.type.spotlight.promo-card>.content{width:352px}.hsbc-ui.type.spotlight.promo-card>.content .title:not(.hsbc-ui){font-size:1.438em;line-height:1.5}.hsbc-ui.alignment.horizontal.promo-card{width:356px}.hsbc-ui.alignment.horizontal.promo-card.no-image-card{min-height:130px}.hsbc-ui.alignment.horizontal.promo-card.no-image-card .content{padding:0}.hsbc-ui.promo-card{min-height:391px;width:356px}.hsbc-ui.promo-card.no-image-card{min-height:130px}.hsbc-ui.promo-card.no-image-card .content{padding:0}.hsbc-ui.promo-card>.image{height:189px}.hsbc-ui.promo-card>.content .title:not(.hsbc-ui){font-size:1.438em;line-height:1.5}}@media only screen and (max-width: 767px){.hsbc-ui.type.spotlight.promo-card{height:371px;padding:.625rem;border:1px solid #767676}.hsbc-ui.type.spotlight.promo-card>.image{height:169px}.hsbc-ui.type.spotlight.promo-card>.image>.icon-position{display:block}.hsbc-ui.type.spotlight.promo-card>.content{width:100%;position:relative;top:0;left:0;bottom:0;padding:1rem .625rem}.hsbc-ui.type.spotlight.promo-card>.content>.icon-position{display:none}.hsbc-ui.alignment.horizontal.promo-card{flex-direction:column;min-height:371px;width:100%}.hsbc-ui.alignment.horizontal.promo-card.no-image-card{min-height:132px}.hsbc-ui.alignment.horizontal.promo-card.no-image-card .content{padding:0}.hsbc-ui.alignment.horizontal.promo-card>.image{height:169px;width:100%}.hsbc-ui.alignment.horizontal.promo-card>.content{padding:1rem .625rem}.hsbc-ui.promo-card{width:100%;min-height:371px}.hsbc-ui.promo-card.no-image-card{min-height:132px}.hsbc-ui.promo-card.no-image-card .content{padding:0}.hsbc-ui.promo-card>.image{height:169px}}.hsbc-ui.tag{border:1px solid rgba(0,0,0,0);border-radius:2px;padding:0 .625em;height:1.375em;width:fit-content;display:inline-flex;justify-content:center;align-items:center;background-color:#f3f3f3;font-weight:400;color:#333}.hsbc-ui.tag span{font-size:.75rem;letter-spacing:0;line-height:1}.hsbc-ui.hero{display:flex;position:relative}.hsbc-ui.hero .image{width:70%;height:100%;object-fit:cover;position:absolute;right:0;z-index:1}.hsbc-ui.hero .hero-banner{width:100%;min-height:400px;height:auto;display:flex;align-items:center;background:linear-gradient(51.51deg, #730014 0%, #ba1110 100%)}.hsbc-ui.hero .hero-banner .container{position:relative;display:flex;justify-content:space-between;z-index:3}.hsbc-ui.hero.size.default .hero-banner{min-height:400px}.hsbc-ui.hero.size.small .hero-banner{min-height:150px}.hsbc-ui.hero.kaleidoscope .hero-banner{background:rgba(0,0,0,0)}.hsbc-ui.hero.kaleidoscope .hero-banner::before{content:\\\"\\\";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background-repeat:no-repeat;background-image:url(\" + ___CSS_LOADER_URL___233___ + \");background-size:cover}.hsbc-ui.hero.text .hero-banner .container{justify-content:flex-start}.hsbc-ui.hero.text .hero-banner .container .card:only-child{padding-top:150px}.hsbc-ui.hero.text .hero-banner .container .card:only-child::after{content:none;border:none}.hsbc-ui.hero.is-pattern .hero-banner{width:100%;height:100%;background-image:url(\" + ___CSS_LOADER_URL___234___ + \");background-repeat:no-repeat;background-size:cover;background-position:top right}@media only screen and (max-width: 767px){.hsbc-ui.hero .image{width:100%;height:100%;top:0}.hsbc-ui.hero.kaleidoscope .hero-banner{background:rgba(0,0,0,0)}.hsbc-ui.hero.kaleidoscope .hero-banner .container .card:only-child{padding-top:150px}.hsbc-ui.hero.kaleidoscope .hero-banner::before{background-image:url(\" + ___CSS_LOADER_URL___235___ + \");background-size:cover}.hsbc-ui.hero.is-pattern .hero-banner{background-image:url(\" + ___CSS_LOADER_URL___236___ + \");background-size:cover}.hsbc-ui.hero.is-pattern .hero-banner .container .card:only-child{padding-top:150px}.hsbc-ui.hero .hero-banner .container{flex-direction:column}.hsbc-ui.hero.text .hero-banner .container .card:first-child::after{content:\\\"\\\";padding-top:1.125rem;visibility:inherit;border-bottom:1px solid #fff}.hsbc-ui.hero.text .hero-banner .container>div:last-child{padding-left:0}}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.hero.kaleidoscope .hero-banner{background:rgba(0,0,0,0)}.hsbc-ui.hero.kaleidoscope .hero-banner::before{background-image:url(\" + ___CSS_LOADER_URL___237___ + \")}.hsbc-ui.hero.is-pattern .hero-banner{background-image:url(\" + ___CSS_LOADER_URL___238___ + \")}.hsbc-ui.hero.text .hero-banner .container>div:last-child{padding-left:20px}}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.hero.kaleidoscope .hero-banner{background:rgba(0,0,0,0)}.hsbc-ui.hero.kaleidoscope .hero-banner::before{background-image:url(\" + ___CSS_LOADER_URL___239___ + \")}.hsbc-ui.hero.is-pattern .hero-banner{background-image:url(\" + ___CSS_LOADER_URL___240___ + \")}.hsbc-ui.hero.text .hero-banner .container>div:last-child{padding-left:20px}}@media only screen and (min-width: 1366px){.hsbc-ui.hero.text .hero-banner .container>div:last-child{padding-left:100px}}.hsbc-ui.visibile.visibile.visibile.visibile.notification{display:flex}.hsbc-ui.hidden.hidden.hidden.hidden.notification{display:none}.hsbc-ui.notification{position:relative;color:#fff;padding:.625rem 1rem;padding-right:35px;min-height:3.25rem;width:100%;display:flex;justify-content:space-between;align-items:center}.hsbc-ui.notification.auto-fade-in-out{opacity:0;transition:all .6s ease-out;transform:translate(0, -15px)}.hsbc-ui.notification.auto-fade-in-out.fade-in{opacity:1;transform:translate(0, 0)}.hsbc-ui.notification.auto-fade-in-out.fade-out{opacity:0}.hsbc-ui.notification .svg-icon{width:18px;height:18px;flex-shrink:0}.hsbc-ui.notification.inline{background:none !important;border:none !important}.hsbc-ui.notification.inline.error .notify{color:#a8000b}.hsbc-ui.notification.inline.info .notify{color:#305a85}.hsbc-ui.notification.inline.warning .notify{color:#fb3}.hsbc-ui.notification.inline.success .notify{color:#00847f}.hsbc-ui.notification.error{background-color:#a8000b}.hsbc-ui.notification.error.contextual{border:1px solid #e5b2b5;background-color:#f9f2f3}.hsbc-ui.notification.error.contextual .notify{color:#a8000b}.hsbc-ui.notification.info{background-color:#305a85}.hsbc-ui.notification.info.contextual{border:1px solid #acbdce;background-color:#ebeff4}.hsbc-ui.notification.info.contextual .notify{color:#305a85}.hsbc-ui.notification.warning{background-color:#fb3}.hsbc-ui.notification.warning.contextual{border:1px solid #ffcf70;background-color:#fff8ea}.hsbc-ui.notification.warning.contextual .notify{color:#fb3}.hsbc-ui.notification.success{background-color:#00847f}.hsbc-ui.notification.success.contextual{border:1px solid #99cecc;background-color:#e5f2f2}.hsbc-ui.notification.success.contextual .notify{color:#00847f}.hsbc-ui.notification.contextual .content p,.hsbc-ui.notification.inline .content p{color:#333}.hsbc-ui.notification.contextual i.close,.hsbc-ui.notification.inline i.close{color:#333}.hsbc-ui.notification .content{display:flex;align-items:center}.hsbc-ui.notification .content p{color:#fff;font-size:1rem;font-weight:normal;letter-spacing:.25px;line-height:1.25;margin:0 .75rem 0}.hsbc-ui.notification i{align-self:baseline}.hsbc-ui.notification i.close{color:#fff;width:50px;height:50px;font-size:1.125rem;position:absolute;right:0;top:0;z-index:1;cursor:pointer}.hsbc-ui.notification i.close svg{width:18px;height:18px}.hsbc-ui.modular-list{display:grid;grid-template-columns:1fr}.hsbc-ui.modular-list .modular-group{padding:20px 12px;border-bottom:1px solid #d7d8d6}.hsbc-ui.modular-list .modular-group>dl:last-of-type{margin-bottom:0}.hsbc-ui.modular-list .modular-item{display:flex;justify-content:space-between;margin-top:0;margin-bottom:12px}.hsbc-ui.modular-list .modular-item .modular-label{font-size:14px;font-weight:500;line-height:20px}.hsbc-ui.modular-list .modular-item .modular-value{font-size:14px;font-weight:500;line-height:20px}.hsbc-ui.modular-list .modular-item .modular-value.positive{color:#00847f}.hsbc-ui.modular-list .modular-item .modular-value.negative{color:#a8000b}@media only screen and (min-width: 1024px)and (max-width: 1365px){.hsbc-ui.modular-list{grid-template-columns:repeat(2, 1fr)}.hsbc-ui.modular-list>div:last-of-type{border-right:0}.hsbc-ui.modular-list .modular-group{padding:25px 20px;border-right:1px solid #d7d8d6}.hsbc-ui.modular-list .modular-item .modular-value{font-size:16px}.hsbc-ui.modular-list>div:nth-child(2n){border-right:0}.hsbc-ui.modular-list.odd-items>div:last-of-type{border-right:1px solid #d7d8d6}.hsbc-ui.modular-list.odd-items::after{content:\\\"\\\";display:block;border-bottom:1px solid #d7d8d6}.hsbc-ui.modular-list .modular-group{padding:20px}}@media only screen and (min-width: 768px)and (max-width: 1023px){.hsbc-ui.modular-list{grid-template-columns:repeat(2, 1fr)}.hsbc-ui.modular-list>div:last-of-type{border-right:0}.hsbc-ui.modular-list .modular-group{padding:25px 20px;border-right:1px solid #d7d8d6}.hsbc-ui.modular-list .modular-item .modular-value{font-size:16px}.hsbc-ui.modular-list>div:nth-child(2n){border-right:0}.hsbc-ui.modular-list.odd-items>div:last-of-type{border-right:1px solid #d7d8d6}.hsbc-ui.modular-list.odd-items::after{content:\\\"\\\";display:block;border-bottom:1px solid #d7d8d6}}@media(min-width: 1366px){.hsbc-ui.modular-list{grid-template-columns:repeat(3, 1fr)}.hsbc-ui.modular-list>div:nth-child(3n){border-right:0}.hsbc-ui.modular-list .modular-group{border-right:1px solid #d7d8d6}.hsbc-ui.modular-list .modular-item .modular-value{font-size:16px}.hsbc-ui.modular-list.remainder-items-1::after{content:\\\"\\\";display:block;border-bottom:1px solid #d7d8d6;grid-column:2/4}.hsbc-ui.modular-list.remainder-items-2::after{content:\\\"\\\";display:block;border-bottom:1px solid #d7d8d6;grid-column:3/4}}\", \"\"]);\n\n","export const initialState = {\n data: {},\n refreshDigitCodeStatus: {},\n isLoading: false,\n error: {},\n otpSdkError: null\n};\n\nexport function digitCode(state = initialState, action) {\n if (action.type === \"SEND_CODE_LOADING\") {\n return {\n ...state,\n error: {},\n isLoading: action.isLoading\n };\n } else {\n return state;\n }\n}\n","export const initialState = {\n validationError: false,\n selectedOption: undefined,\n hasError: false,\n target: null,\n resolveInput: null\n};\n\nexport function contactOptions(state = initialState, action) {\n if (action.type === \"EMAIL_OTP_LIST\") {\n return {\n emailOtpList: action.list\n };\n } else {\n return state;\n }\n}\n","export const initialState = {\n validateUsername: {},\n validateSecurityQuestion: {},\n isLoading: false,\n error: {},\n securityQuestion: [\n {\n _authenticator: {\n _authenticatorMethodConfig: {\n question: [\"\"]\n }\n }\n }\n ],\n userName: \"\",\n otpStatus: null,\n seqQsStatus: null,\n isRenderLastAttemptMsg: false\n};\n\nexport function resetPassword(state = initialState, action) {\n switch (action.type) {\n case \"VALIDATE_USERNAME_LOADING\":\n return {\n ...state,\n isLoading: action.isLoading,\n error: {}\n };\n case \"RESET_PASSWORD_CREATE_PASSWORD_SUC\":\n return {\n ...state,\n createPasswordSuc: true\n };\n case \"RESET_PASSWORD_CREATE_PASSWORD_STATUS_CLEAR\":\n return {\n ...state,\n createPasswordSuc: null,\n isLoading: false\n };\n case \"RESET_PASSWORD_SECURITY_QUESTION_RECEIVED\":\n return {\n ...state,\n securityQuestion: action.payload,\n isLoading: false\n };\n case \"RESET_PASSWORD_USERNAME\":\n return {\n ...state,\n userName: action.payload\n };\n default:\n return state;\n }\n}\n\nfunction processData(data) {\n return data;\n}\n","export const initialState = {\n terms: {\n termText: \"\"\n },\n data: {},\n error: {},\n loggingIn: false,\n validationErrorUsername: true,\n validationErrorPassword: true,\n disableTermsBtn: false,\n gvMode: null,\n url: \"\",\n RBtoken: \"\",\n isMockLogin: false,\n pending: false\n};\n\nexport function logon(state = initialState, action) {\n const { payload } = action;\n switch (action.type) {\n case \"LOGON_TERMS_FETCHED_SUC\":\n return {\n ...state,\n terms: payload\n };\n case \"LOGON_SESSION_SUCCESS\":\n return {\n ...state,\n error: {},\n logon: action.data\n };\n\n case \"LOGON_SESSION_ERROR\":\n return {\n ...state,\n error: action.error,\n logon: {}\n };\n case \"LOGON_INIT\":\n return {\n ...state,\n loggingIn: action.loggingIn\n };\n case \"LOGON_VALIDATION_USERNAME\":\n return {\n ...state,\n validationErrorUsername: action.validationErrorUsername\n };\n case \"LOGON_VALIDATION_PASSWORD\":\n return {\n ...state,\n validationErrorPassword: action.validationErrorPassword\n };\n case \"DISABLE_TERMS_BUTTON\":\n return {\n ...state,\n disableTermsBtn: action.disableTermsBtn\n };\n case \"GV_LOGON\":\n return {\n ...state,\n gvMode: payload\n };\n case \"GV_Linking_Profile\":\n return {\n ...state,\n url: action.url,\n RBtoken: action.RBtoken\n };\n case \"ENCRYTED_PSW\":\n return {\n ...state,\n encryptedpsw: action.encryptedpsw\n };\n case \"MOCK_LOGIN\":\n return {\n ...state,\n isMockLogin: action.isMockLogin\n };\n case \"IS_LAST_ATTEMPT\":\n return {\n ...state,\n isLastAttempt: action.isLastAttempt\n };\n case \"IS_PENDING_RESPONSE\":\n return {\n ...state,\n pending: action.pending\n };\n default:\n return state;\n }\n}\n","export const initialState = {\n error: {}\n};\n\nexport function lockedAccount(state = initialState, action) {\n switch (action.type) {\n case \"UPDATE_LOCKED_ACCOUNT_INFO\":\n return {\n ...state,\n error: action.error\n };\n default:\n return state;\n }\n}\n","export const initialState = {\n securityQuestionList: [],\n error: {},\n securityQuestionBtn: false\n};\n\nexport function securityQuestionList(state = initialState, action) {\n switch (action.type) {\n case \"SECURITY_QUESTION_LIST_SUCCESS\":\n return {\n ...state,\n error: {},\n securityQuestionList: action.data\n };\n case \"SECURITY_QUESTION_BTN\":\n return {\n ...state,\n securityQuestionBtn: action.data\n };\n default:\n return state;\n }\n}\n","export const initialState = {\n validateDetails: {},\n isLoading: false,\n error: {}\n};\n\nexport function registrationDetails(state = initialState, action) {\n switch (action.type) {\n case \"VALIDATE_DETAILS_SUCCESS\":\n return {\n ...state,\n validateDetails: action.validateDetails\n };\n case \"VALIDATE_DETAILS_LOADING\":\n return {\n ...state,\n isLoading: action.isLoading,\n error: {}\n };\n case \"RESET_DETAILS_ERROR\":\n return {\n ...state,\n error: {},\n validateDetails: {}\n };\n default:\n return state;\n }\n}\n","export const initialState = {\n data: {},\n isLoading: false,\n error: {}\n};\n\nexport function createUsername(state = initialState, action) {\n if (action.type === \"CREATE_USERNAME_LOADING\") {\n return {\n ...state,\n isLoading: action.isLoading,\n error: {}\n };\n } else {\n return state;\n }\n}\n","import environments from \"./environments\";\n\nexport const envConfig = environments.find(\n env => env.url === window.location.host\n);\n\nwindow.environments = environments;\nwindow.currentEnvironment = envConfig;\n","import { envConfig } from \"env-config\";\n\nconst defaultCfgLang =\n (envConfig &&\n envConfig.languageSlectList &&\n envConfig.languageSlectList[0].locale) ||\n \"en-GB\"; // en-HK etc.\nconst hasSelectedLang = localStorage.getItem(\"selectedLang\"); // zh-sim-HK/zh-trd-HK/en-HK/undefined\nconst selectedLangCode = localStorage.getItem(\"selectedLangCode\");\n//Read from WV\nconst WVLangMapSelected = () => {\n if (!selectedLangCode) {\n return undefined;\n }\n switch (selectedLangCode) {\n case \"zh-Hans\":\n return \"zh-sim-HK\";\n case \"en\":\n return \"en-HK\";\n case \"zh-Hant\":\n return \"zh-trd-HK\";\n case \"fr\":\n return \"fr-LU\";\n }\n return undefined;\n};\nconst selectedLang = WVLangMapSelected() || hasSelectedLang || defaultCfgLang;\n\nfunction cacheLangCodeByLang(language) {\n let code = null;\n switch (language) {\n case \"en-HK\":\n code = \"en\";\n break;\n case \"zh-sim-HK\":\n code = \"zh-Hans\";\n break;\n case \"zh-trd-HK\":\n code = \"zh-Hant\";\n break;\n case \"fr-LU\":\n case \"en-LU\":\n code = \"fr\";\n break;\n }\n localStorage.setItem(\"selectedLangCode\", code);\n}\n\n//Set to WV\nif (hasSelectedLang && !selectedLangCode) {\n cacheLangCodeByLang(hasSelectedLang);\n}\n\nexport const initialState = {\n selectedLang, // from cache > conf\n hideLanguageSelect: true,\n isShowContianer: \"false\",\n alreadyInitMLContainer:\n envConfig &&\n envConfig.languageSlectList &&\n envConfig.languageSlectList.length > 1\n};\n\nexport function languageSession(state = initialState, action) {\n switch (action.type) {\n case \"HIDE_LANGUAGE_SELECT_OPTION\":\n return {\n ...state,\n hideLanguageSelect: action.isHideLanguageSelect\n };\n case \"SHOW_LANGUAGE_CONTAINER\":\n return {\n ...state,\n isShowContianer: action.isShowContianer\n };\n case \"UPDATE_LANGUAGE_SESSION_SUCCESS\":\n localStorage.setItem(\"selectedLang\", action.data);\n cacheLangCodeByLang(action.data);\n return {\n ...state,\n selectedLang: action.data\n };\n default:\n return state;\n }\n}\n","const initialState = {\n type: \"\"\n};\n\nexport function lockedType(state = initialState, action) {\n switch (action.type) {\n case \"RESET_LOCKED_TYPE_STATE\":\n return {\n type: \"\"\n };\n case \"UPDATE_LOCKED_TYPE\":\n return {\n type: action.payload\n };\n default:\n return state;\n }\n}\n","export const initialState = {\n otpType: \"SMS\",\n target: null\n};\n\nexport function currentOTPType(state = initialState, action) {\n switch (action.type) {\n case \"CURRENT_OTP_TYPE_UPDATE\":\n return {\n ...state,\n otpType: action.payload\n };\n case \"CURRENT_TARGET_SELECTED\":\n return {\n ...state,\n target: action.payload\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from \"redux\";\nimport { digitCode } from \"reducers/sendCodeReducer\";\nimport { contactOptions } from \"reducers/contactOptionsReducer\";\nimport { resetPassword } from \"reducers/resetPasswordReducer\";\nimport { logon } from \"reducers/logonReducer\";\nimport { lockedAccount } from \"reducers/lockedAccountReducer\";\nimport { securityQuestionList } from \"reducers/securityQuestionListReducer\";\nimport { registrationDetails } from \"reducers/registrationDetailsReducer\";\nimport { createUsername } from \"reducers/createUserNameReducer\";\nimport { languageSession } from \"reducers/languageReducer\";\nimport { lockedType } from \"./lockedTypeReducer\";\nimport { currentOTPType } from \"./currentOTPTypeReducer\";\n\nconst AppReducers = combineReducers({\n resetPassword,\n logon,\n contactOptions,\n digitCode,\n lockedAccount,\n registrationDetails,\n createUsername,\n securityQuestionList,\n languageSession,\n lockedType,\n currentOTPType\n});\n\nconst rootReducer = (state, action) => {\n if (action.type === \"RESET_STATE\") {\n state = undefined;\n }\n\n return AppReducers(state, action);\n};\n\nexport default rootReducer;\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport rootReducer from \"reducers\";\nimport { envConfig } from \"env-config\";\n\nconst initialState = {};\n\nexport default function configureStore(initialStates) {\n const composeEnhancers =\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n return createStore(\n rootReducer,\n initialStates,\n composeEnhancers(applyMiddleware(thunk))\n );\n}\n\nconst store = configureStore(initialState);\n\nexport function locale() {\n let defaultSelectedLang = \"\";\n envConfig.languageSlectList.map((item, inedx) => {\n if (item.selected) {\n defaultSelectedLang = item.locale;\n }\n });\n const selectedLang =\n localStorage.getItem(\"selectedLang\") || defaultSelectedLang;\n return selectedLang || \"WARNING: Locale not set\";\n}\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport PrivacyPolicy from \"./registrationConditions/PP.js\";\nimport PrivacyPolicyLUX from \"./registrationConditions/PP_LUX.js\";\nimport TermsAndConditionLUX from \"./registrationConditions/T&C_LUX.js\";\nimport TermsAndConditionCH from \"./registrationConditions/T&C_CH.js\";\n\nimport lang from \"./lang.json\";\n\nconst labelTitle = \"Terms and Conditions\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: labelTitle,\n html: TermsAndCondition\n },\n {\n label: \"Privacy Policy\",\n html: PrivacyPolicy\n }\n ],\n registrationTermsLUX: [\n {\n label: labelTitle,\n html: TermsAndConditionLUX\n },\n {\n label: \"Privacy Policy\",\n html: PrivacyPolicyLUX\n }\n ],\n registrationTermsCH: [\n {\n label: labelTitle,\n html: TermsAndConditionCH\n }\n ]\n};\n","import { tc2 } from \"./T&C2\";\nimport { tc3 } from \"./T&C3\";\nexport default `\n\n\n\nWealth View TC's v6\n\n\n\n\n\n\n
\n\n

Before we begin

\n\n

This policy (Privacy Policy) applies to information held\nby members of the HSBC Group as data controllers, as described below. It\nexplains what information we collect about you, how we’ll use that information,\nwho we’ll share it with, the circumstances when we’ll share it and what steps\nwe’ll take to make sure it stays private and secure. It continues to apply even\nif your agreement for banking or other products and services with us ends. It\nshould also be read alongside your relevant product terms and conditions, as\nthese include sections relating to the use and disclosure of information.

\n\n

This Privacy Policy covers\nany private bank products or services you have with us in the UK, including\nsavings, loans, credit cards, mortgages, investments and insurance. Sometimes\nwe may need to provide you with separate or further information about specific\nproducts and services. This information will also apply. If you also have a\nrelationship with other parts of the HSBC Group (e.g. HSBC personal or business\nbanking, first direct, M&S Bank or HSBC in any other countries outside the\nUK), they’ll provide you with information separately where required.

\n\n

Some of the links on our websites lead to other\nHSBC or non HSBC websites with their own privacy policies, which may be\ndifferent to this policy. You’ll need to make sure you’re happy with their\nprivacy policies when using those other sites.

\n\n

Wherever we’ve said ‘you’\nor ‘your’, this means you, whether you are an individual or an entity, and any\nperson connected with you including, for example any guarantor, a director,\nofficer or employee of a company, partners or members of a partnership, any\nsubstantial owner, controlling person, or beneficial owner, trustee, settlor or\nprotector of a trust, account holder of a designated account, recipient of a\ndesignated payment, your attorney or representative (e.g. authorised\nsignatories), agent or nominee, any other persons or entities with whom you\nhave a relationship that’s relevant to your relationship with us.

\n\n

Parts of this Policy\nrelate only to individuals, and we have highlighted this where relevant. To be\nclear this includes individuals acting in a business or other non-personal\ncapacity (e.g. a sole trader, partner in a general partnership, trustee in a\nTrust).

\n\n

Where\nyou provide information to us about a connected person it is your\nresponsibility to draw their attention to this Policy and make sure they agree\nto us using their information as described in it. More details about this can\nbe found in our relevant banking or investment services terms and conditions.

\n\n

When we say ‘we’, we mean\nHSBC Group companies which act as a data controller in respect of your data.\nUnless otherwise stated below, the data controller for the purposes of this\npolicy is HSBC UK Bank plc.

\n\n

HSBC\nBank plc will also act as a data controller where it is providing products or\nservices to you.

\n\n

The address for the HSBC Group companies set out in this policy\nis 8 Canada Square, London E14 5HO. If you’d like to get in touch with us, you\ncan also find contact details below.

\n\n

What\ninformation we collect

\n\n

We’ll only collect your\ninformation in line with relevant regulations and law. We may collect it from a\nrange of sources and it may relate to any of our products or services you apply\nfor, currently hold or have held in the past. We may also collect information\nabout you when you interact with us, e.g. visit our websites or mobile\nchannels, call us, or ask about any of our products and services.

\n\n

Some of it will come directly from you, e.g. when you\nprovide ID to open an account. It can also come from your financial advisor,\nbroker or mortgage intermediary, other HSBC companies, or other sources you’ve\nasked us to obtain information from. We might also get some of it from publicly\navailable sources. The information we collect may include:

\n\n

Information\nthat you provide to us or provided to us on your behalf, e.g.:

\n\n

·     personal details, e.g. name, previous names, gender, date and place of\nbirth;

\n\n

·     contact\ndetails, e.g. address, email address, landline and mobile numbers;

\n\n

·     information\nconcerning your identity e.g. photo ID, passport information, National\nInsurance number, National ID card and nationality;

\n\n

·     market\nresearch, e.g. information and opinions expressed when participating in market\nresearch;

\n\n

·     user login and subscription data, e.g. login credentials for phone and\nonline banking and mobile banking apps;

\n\n

·     other information about you that you give us or which is given to us on\nyour behalf by filling in forms or by communicating with us whether\nface-to-face, by phone, email, online, or otherwise

\n\n

Information we collect or generate about you, e.g.:

\n\n

·     your\nfinancial information and information about your relationship with us, including\nthe products and services you hold, the channels you use and your ways of\ninteracting with us, your ability to get and manage your credit, your payment\nhistory, transactions records, market trades, payments into your account\nincluding salary details and information concerning complaints and disputes;

\n\n

·     information\nwe use to identify and authenticate you, e.g. your signature and your biometric\ninformation, such as your voice for voice ID, additional information that we\nreceive from external sources that

\n\n

·     we need for\ncompliance purposes;

\n\n

·     geographic\ninformation, e.g. about which branches or ATMs you use;

\n\n

·     information\nincluded in customer documentation, e.g. a record of advice that we may have\ngiven you;

\n\n

·     marketing and\nsales information,e.g. details of the\nservices you receive and your\npreferences;

\n\n

·     cookies and\nsimilar technologies we use to recognise you, remember your preferences and\ntailor the content we provide to you – our cookie policy contains more details\nabout how we use cookies and can be found at hsbcprivatebank.com/en/utilities/ cookie-policy;

\n\n

·     risk rating\ninformation, e.g. credit risk rating, transactional behaviour and underwriting\ninformation;

\n\n

·     investigations\ndata, e.g. due diligence checks, sanctions and anti-money laundering checks,\nexternal intelligence reports, content and metadata related to relevant\nexchanges of information between and among individuals, organisations,\nincluding emails, voicemail, live chat;

\n\n

·     records of\ncorrespondence and other communications between us, including email, live chat,\ninstant messages and social media communications;

\n\n

·     information\nthat we need to support our regulatory obligations, e.g. information about\ntransaction details, detection of any suspicious and unusual activity and\ninformation about parties connected to you or these activities

\n\n

Information\nwe collect from other sources, e.g.:

\n\n

·     information\nyou’ve asked us to collect for you, e.g. information about your accounts or\nholdings with other companies including transaction information;

\n\n

·     information from third party providers, e.g. information that helps us\nto combat fraud or that relates to your social interactions (including your communications\nvia social media, between individuals, organisations, prospects and other\nstakeholders acquired from companies that collect combined information)

\n\n

How we’ll use your information

\n\n

We’ll\nonly use your information where we have your consent or we have another lawful\nreason for using it. These reasons include where we:

\n\n

·     need to\npursue our legitimate interests;

\n\n

·     need to process the information to carry out an agreement we have with\nyou;

\n\n

·     need to\nprocess the information to comply with a legal obligation;

\n\n

·     believe the use of your information as described is in the public\ninterest, e.g. for the purpose of preventing or detecting crime

\n\n

The reasons we use your information include to:

\n\n

·     deliver our products and services;

\n\n

·     carry out\nyour instructions, e.g. to fulfil a payment request;

\n\n

·     manage our\nrelationship with you, including (unless you tell us otherwise) telling you\nabout products and services we think may be relevant for you;

\n\n

·     understand how you use your accounts and services;

\n\n

·     banking\noperations support;

\n\n

·     prevent or detect crime including fraud and financial crime, e.g.\nfinancing for terrorism and human trafficking;

\n\n

·     security and\nbusiness continuity;

\n\n

·     risk\nmanagement;

\n\n

·     online\nbanking, mobile apps and other online product platforms;

\n\n

·     product and\nservice improvement;

\n\n

·     data\nanalytics to better understand your circumstances and preferences so we can\nmake sure we can provide you with the best advice and offer you a tailored\nservice;

\n\n

·     protect our\nlegal rights and comply with our legal obligations;

\n\n

·     correspond\nwith solicitors, surveyors, valuers, other lenders, conveyancers and third\nparty intermediaries;

\n\n

·     system or\nproduct development and planning, insurance, audit and administrative purposes

\n\n

Further\ndetails of how we’ll use your information can be found in the Appendix below.

\n\n

How we make decisions\nabout you

\n\n

We may use automated systems\nto help us make decisions, e.g. for example about particular products and\nservices you may wish to access and to carry out fraud and money laundering\nchecks. We may use technology that helps us identify the level of risk involved\nin customer or account activity, e.g. for credit, fraud or financial crime\nreasons, or to identify if someone else is using your card without your\npermission.

\n\n

Individuals\nmay have a right to certain information about how we make these decisions. More\ndetails can be found in the ‘Rights of individuals’ section.

\n\n

Tracking\nor recording what you say or do

\n\n

To help keep you and your\nmoney safe, we may record details of your interactions with us. We may record\nand keep track of conversations you have with us including phone calls, face-to-face\nmeetings, letters, emails, live chats, video chats and any other kinds of\ncommunication. We may use these recordings to check your instructions to us,\nassess, analyse and improve our service, train our people, manage risk or to\nprevent and detect fraud and other crimes. We may also capture additional\ninformation about these interactions, e.g. telephone numbers that you call us\nfrom and information about the devices or software that you use. We use closed\ncircuit television (CCTV) in and around our sites and these may collect photos\nor videos of you, or record your voice.

\n\n

Compliance\nwith laws and regulatory compliance obligations

\n\n

We’ll use your information\nto meet our compliance obligations, to comply with other laws and regulations\nand to share with regulators and other authorities that HSBC Group companies\nare subject to. This may include using it to help detect or prevent crime\n(including terrorism financing, money laundering and other financial crimes).\nWe’ll only do this on the basis that it’s needed to comply with a legal\nobligation or it’s in our legitimate interests and that of others.

\n\n

Marketing and market\nresearch

\n\n

We may use your information to provide you with\ndetails about HSBC products and services, and also products and services from our\npartners and other relevant third parties. We may send you marketing messages\nby post, email, telephone, text or secure messages. You can change your mind on\nhow you receive marketing messages or choose to stop receiving them at any\ntime. To make that change, please contact us in the usual way.

\n\n

If you ask us not to send you marketing, it may\ntake us a short period of time to update our systems and records to reflect\nyour request, during which time you may continue to receive marketing messages.\nEven if you tell us not to send you marketing messages, we’ll continue to use\nyour contact details to provide you with important information, such as changes\nto your terms and conditions or if we need to tell you something to comply with\nour regulatory obligations.

\n\n

We may use your information\nfor market research and to identify trends. Market research agencies acting on\nour behalf may get in touch with you by post, telephone, email or other methods\nof communication to invite you to take part in research. We won’t invite you to\ntake part in research using a communication method if you’ve asked us not to\nget in touch that way. Any responses that you provide whilst participating in\nmarket research will be reported back to us anonymously unless you give us\npermission for your details to be shared.

\n\n

Who we might share your information with

\n\n

We\nmay share your information with others where lawful to do so including where we\nor they:

\n\n

·     need to in order to provide you with products or services you’ve\nrequested, e.g. fulfilling a payment request;

\n\n

·     have a public\nor legal duty to do so, e.g. to assist with detecting and preventing fraud, tax\nevasion and financial crime;

\n\n

·     need to in\nconnection with regulatory reporting, litigation or asserting or defending\nlegal rights and interests;

\n\n

·     have a legitimate business reason for doing so, e.g. to manage risk,\nverify your identity, enable another company to provide you with services\nyou’ve requested, or assess your suitability for products and services;

\n\n

·     have asked\nyou for your permission to share it, and you’ve agreed

\n\n

We\nmay share your information for these purposes with others including:

\n\n

·     other HSBC Group companies and any sub-contractors, agents or service\nproviders who work for us or provide services to us or other HSBC Group\ncompanies (including their employees, sub-contractors, service providers,\ndirectors and officers);

\n\n

·     any joint account holders, trustees, beneficiaries or executors;

\n\n

·     people who give guarantees or other security for any amounts you owe\nus;

\n\n

·     people you make payments to and receive payments from;

\n\n

·     your beneficiaries, intermediaries, correspondent and agent banks,

\n\n

·     clearing houses, clearing or settlement systems, market counterparties\nand any companies you hold securities in through us, e.g. stocks, bonds or\noptions;

\n\n

·     other financial institutions, lenders and holders of security over any\nproperty you charge to us, tax authorities, trade associations, credit\nreference agencies, payment service providers and debt recovery agents;

\n\n

·     any fund managers who provide asset management services to you and any\nbrokers who introduce you to us or deal with us for you;

\n\n

·     any entity that has an interest in the products or services that we\nprovide to you, including if they take on the risk related to them;

\n\n

·     any people or companies where

\n\n

·     required in connection with potential or actual corporate\nrestructuring, merger, acquisition or takeover,

\n\n

·     including any transfer or potential transfer of any of our rights or\nduties under our agreement with you;

\n\n

·     law enforcement, government, courts, dispute resolution bodies, our\nregulators, auditors and any party appointed or requested by our regulators to\ncarry out investigations or audits of our activities;

\n\n

·     other parties involved in any disputes, including disputed\ntransactions;

\n\n

·     fraud prevention agencies who’ll also use it to detect and prevent\nfraud and other financial crime and to verify your identity;

\n\n

·     anyone who provides instructions or operates any of your accounts on\nyour behalf, e.g. Power of Attorney, solicitors, intermediaries, etc;

\n\n

·     anybody else that we’ve been instructed to share your information with\nby either you, a joint account holder or anybody else who provides instructions\nor operates any of your accounts on your behalf;

\n\n

·     our card processing supplier(s) to carry out credit, fraud and risk\nchecks, process your payments, issue and manage your card;

\n\n

·     insurers so they can provide you with a quote or cover. For further details,\nplease refer to your policy documentation. You can also refer to hsbc.co.uk\nfor more information

\n\n

Sharing aggregated or anonymised information

\n\n

We may share aggregated or anonymised information within\nand outside of the HSBC Group with partners such as research groups,\nuniversities or advertisers. You won’t be able to be identified from this\ninformation, e.g. we may share information about general spending trends in the\nUK to assist in research.

\n\n

How long we’ll keep information

\n\n

We keep information in\nline with our data retention policy. For example, we’ll normally keep your core\nbanking data for a period of seven years from the end of our relationship with\nyou. This enables us to comply with legal and regulatory requirements or use

\n\n

it where we need to for our legitimate purposes\nsuch as managing your account and dealing with any disputes or concerns that\nmay arise.

\n\n

We may need to retain\ninformation for a longer period where we need the information to comply with\nregulatory or legal requirements or where we may need it for our legitimate\npurposes, e.g. to help us respond to queries or complaints, fighting fraud and\nfinancial crime, responding to requests from regulators, etc.

\n\n

If\nwe don’t need to retain information for this period of time, we may destroy,\ndelete or anonymise it more promptly

\n\n

Transferring information overseas

\n\n

Your information may be transferred to and stored in\nlocations outside the European Economic Area (EEA) or the United Kingdom (UK),\nincluding countries that may not have the same level of protection for personal\ninformation. When we do this, we’ll ensure it has an appropriate level of\nprotection and that the transfer is lawful. We may need to transfer your\ninformation in this way to carry out our contract with you, to fulfil a legal\nobligation, to protect the public interest and/or for our legitimate interests.\nIn some countries the law might compel us to share certain information, e.g.\nwith tax authorities. Even in these cases, we’ll only share your information\nwith people who have the right to see it. You can obtain more\ndetails of the protection given to your information when it’s transferred\noutside the EEA or UK by contacting us using the details in the ‘More details\nabout your information’ section below.

\n\n

Rights of individuals

\n\n

Individuals have a number of rights in relation to the information\nthat we hold about them. These rights include:

\n\n

·      \nthe\nright to access information we hold about them and to obtain information about\nhow we process it;

\n\n

·       in some circumstances, the right to withdraw their consent to our\nprocessing of their information, which they can do at any time. We may continue\nto process their information if we have another legitimate reason for doing so;

\n\n

·       in some circumstances, the right to receive certain information they\nhave provided to us in an electronic format and/or request that we transmit it\nto a third party;

\n\n

·      \nthe\nright to request that we rectify their information if it’s inaccurate or\nincomplete;

\n\n

·       in some circumstances, the right to request that we erase their\ninformation. We may continue to retain their information if we’re entitled or\nrequired to retain it;

\n\n

·       the right to object to, and to request that we restrict, our processing\nof their information in some circumstances. Again, there may be situations\nwhere they object to, or ask us to restrict, our processing of their\ninformation but we’re entitled to continue processing their information and/or\nto refuse that request

\n\n


\n
Individuals can exercise their rights by contacting us\nusing the details set out in the ‘More details about your information’ section\nbelow. Individuals also have a right to complain to the UK Information\nCommissioner’s Office by visiting ico.org.uk, or to the data protection regulator in the country where they live or\nwork.

\n\n` + pp2;\n","import { tc2 } from \"./T&C_LUX2\";\nexport default `\n\n\n\n\n\n\n\n\n\n\n\n
\n\n

Digital\nServices Terms and Conditions

\n\n

 

\n\n

The following terms and conditions, as amended from time to time, will govern all relations between HSBC Private Bank (Luxembourg) S.A. \n(the “Bank”) and the Client and/or any one or more agents or representatives (each, including the Client, are referred to as the “User”, as \nbetter defined in article 2.3 below) in connection with Digital Services.

\n\n

These terms and conditions should be read carefully by the User before applying to access and/or use, the Private \nBanking Digital Services website and/or app including the applications which the User can access via the website and/or app (collectively this website https://www.privatebanking.hsbc.lu/login/\nand the underlying applications which the User can access via the website and/or app shall be referred to as the “Digital Services”).

\n\n

By using these Digital Services, the User agrees to these\nterms and conditions and in case of use of these Digital Services on behalf of\nany other accountholder(s) (including, without limitation, any other\nindividual(s), a partnership, a company or any other legal entity), the Client\nconfirms that he has full authority\nto bind that person to these terms and conditions. If the User does not agree\nto these terms and conditions, he should not use the Digital Services.

\n\n

These terms and conditions will apply to the access or use\nof our Digital Services, together with

\n\n

-         \n The Bank’s General Terms and Conditions

\n\n

-         \n The Bank’s Privacy Policy

\n\n

-         \n\tThe Cookie Policy

\n\n

(collectively, the “Terms and Conditions”). In the event of any inconsistency between the terms of these terms and conditions for Digital \nServices and the terms of the General Terms and Conditions, these terms and conditions for Digital Services shall prevail.

\n\n

1.         Types of\navailable services

\n\n

The Digital Services shall include the following services:

\n\n

¨    Obtain account balances and consolidated information about the account as of the close of business on the preceding business day

\n\n

¨    Review transaction information for the last three months

\n\n

¨    For HSBC Prism Advisory clients, access \nto the Insights & Research Platform (please refer to the Supplement below applicable to Insights & Research).

\n\n

The Bank reserves the right to modify these services at any\ntime without prior notice.

\n\n

2.         Access to\nDigital Services

\n\n

2.1.      Technical Access

\n\n

To access Digital Services, the User will have to ensure a connection \nto the Internet with an Internet Service Provider (ISP) of the User’s choice. It\n is the User’s responsibility to procure the appropriate equipment, especially computer, telecommunications and security equipment to access the \n Digital Services, and to maintain that equipment.

\n\n

All the costs and expenses of equipment, communications, telecommunications and other expenses necessary for the connection and use of the \nDigital Services together with any relevant authorization required are to be borne by the User.

\n\n

Should it be necessary to download a communication software program to its computer, or an application \nto its connection device, the User undertakes to comply with the recommendations and the directions of the Bank.

\n\n

2.2.       Access and User ID

\n\n

The User requests the Bank to issue the necessary user identification details (hereinafter “User ID”) and instructions on how to register.

\n\n

Unless otherwise agreed, the Bank may only proceed to the transmission of the User ID by mail or e-mail address.

\n\n

2.3.       Users

\n\n

The Client expressly authorises the Bank to issue to the Client’s present or future duly authorised Users, on \nany one of its accounts, the User ID permitting their access to Digital Services \nupon their express written request. The User shall include any authorized signatories, holders of a power of attorney, power \nof administration or right of inspection.

\n\n

The Client acknowledges that if any of its accounts are joint accounts or have additional authorised signatories, each account holder, as well as \neach account holder’s authorised signatory, must have its own User ID.

\n\n

Only persons whose details have been provided to and who have been approved by the Bank in writing as Users may use the Digital Services. The \nuse of the Digital Services by any User will constitute the agreement by that User as well as the Client to be bound by the Terms and Conditions.

\n\n

2.4.       Access to the Digital\nServices

\n\n

Any access to the Digital Services by a User gained by\nusing a password or User ID belonging to that User shall be deemed to have been\nmade by that User in the name and on behalf of the Client.

\n\n

2.5.       Barring access

\n\n

The User may be barred from accessing the Digital Services if\nthe User enters the password incorrectly three times.

\n\n

2.6.       Misuse of the Digital\nServices by an authorized person and revocation of access to the Digital\nServices

\n\n

All account holders shall be jointly and severally liable\nfor any and all use, misuse or unauthorised use of Digital Services by any\naccount holder or attorney or holder of a right of inspection and the Client\nagrees that he will be bound by any message processed through the Digital\nServices whether or not the action, or the person carrying out the action, was\nduly authorised or not.

\n\n

It is hereby expressly agreed that the revocation of an account holder’s or proxy holder’s authority \nto sign or the revocation of a right of \ninspection does not automatically render the User ID or password invalid. Nor does the death or loss of the capacity to act \nof the account holder or the holder of a \npower of attorney or right of inspection automatically result in the User IDs or passwords being rendered invalid.

\n\n

3.         Security\nand confidentiality of the User ID

\n\n

3.1.      Security

\n\n

There are risks associated with the use of services\nprovided through the Internet, including, but not limited to, unauthorized\naccess, system outages, delays and disruption in telecommunications services\nand the Internet. Access to the Digital Services is designed to provide a\ncommercially reasonable level of security. However, the confidentiality of\ncommunications transmitted through the Internet is not absolute and cannot be\nguaranteed.

\n\n

The User shall use the Digital Services in accordance with\nthe technical requirements, security instructions and any other instructions\nthat may be provided by the Bank from time to time. Such instructions will be\ngiven through the agreed means of communication.

\n\n

The User shall take all necessary measures to ensure that\nthe technical characteristics of its personal computer, its software and its\nInternet connection allow him to access the Digital Services of the Bank in a\nsecured manner.

\n\n

The User is fully liable for the proper functioning of its\nown IT devices, modem and telephone or Internet access. The User shall ensure\nthat such devices do not have any apparent problems or viruses and provide\nsufficient security to prevent a risk of any third party gaining access to data\npertaining to the Digital Services. The User will use its best endeavours to\nmaintain such security. The User shall further ensure that there is no risk of\nany hostile programs or viruses invading and disrupting the Digital Services.\nIn particular, the User will ensure that the security of its personal computer\nis sufficient and will regularly update the antivirus and antispyware software\nas well as its personal firewall.

\n\n

The User shall bear all technical risks such as the\ndisruption of electric power transmission, non-availability of communication\nlines, improper functioning or overloading of the systems or networks.

\n\n

The Bank will not be held liable for the risks created by\nthe access to the Internet and by the transmission of data from or to the User,\nin particular in case of conflict between the User and the ISP in relation to\nthe personal and/or confidential nature of the User's data.

\n\n

The User shall be responsible for the performance and\nprotection of any browser used in connection with Digital Services, including\nthe prompt adoption of all security patches and other security measures issued\nor recommended from time to time by the suppliers of such browsers.

\n\n

3.2.       Confidentiality of\nthe User ID

\n\n

The User ID details shall under no circumstances be\ndivulged or shared with any third part. For the protection of each User, the User\nshould memorize his password and should not keep any notation of his password\nor any other User ID details on or with the device used to access the Digital\nServices.

\n\n

The User must log off when ceasing to use the Digital Services to prevent unauthorized access to it. The \nUser must inform the Bank immediately in writing \nif he believes that a third party may have seen or had access to the User ID details. The User agrees to accept all risks of unauthorized access, not \ndirectly caused by the Bank’s gross negligence. If \nthe User provides inaccurate information to the Bank or fails to update information provided to the Bank, the Bank has the right to suspend or \nterminate his access to the Digital Services.

\n\n

It is highly recommended that the User periodically changes\nits password. When the User changes its passwords, it shall ensure that its\npasswords do not consist of easily identifiable combinations (such as its\nidentifier, name or first name or date of birth or those of someone close\n(spouse, child, etc.) and more generally a word or combination of words of the\ndictionary, a word spelled backwards, a word followed by a digit or a year, a\npassword used for other purposes (including for personal e-mail, etc.). The User\nshall in particular choose to use a password of sufficient length and composed,\nwhenever possible, of a combination of letters, numbers and punctuation marks\nor special characters, as well as using uppercase and lowercase characters. The\nBank may, at its discretion, impose an expiry date for passwords after which\nthe User will not be able to access the Digital Services without a prior\nmodification of his password(s).

\n\n

The User confirms that he understands the functioning of\nthe Digital Services as described in these terms and conditions and, as the\ncase may be, in any other relevant document brought to the attention of the User\nin this context. The User may contact its Relationship Manager for any question\nrelating to the instructions and conditions for the use of the Digital Services.\n

\n\n

4.         Incident\nand suspension of service

\n\n

In case an incident, such as the loss or theft of the User ID, the disclosure to a third party (even if involuntary or merely suspected) of any of the \nUser ID, the misappropriation or any other unauthorised (actual or suspected) use of the Digital Services by a third party (the “Incident”), the User shall immediately \nnotify the Bank in writing (mail or email).

\n\n

The Bank reserves the right to block the Digital Services:

\n\n

¨   Where the security of the Digital Services is compromised, e.g. because of a problem or technical failure \nof the Digital Services itself or because of hacking attacks

\n\n

¨   Where the Bank has reason to suspect (for example where it has \nidentified suspicious activity) or has received notification that an Incident has occurred

\n\n

¨   Where the Bank is obliged by law to effect such blocking

\n\n

Should any one of the aforementioned scenarios occur, the\nBank shall inform the User thereof, where possible, before the Digital Services\nis blocked in accordance with the General Terms and Conditions of the Bank,\nunless the provision of such information is legally prohibited.

\n\n

5.         Official\nstatements

\n\n

The Bank shall take reasonable care to ensure that any\ninformation provided through Digital Services is an accurate reflection of the\ninformation contained in its computer systems. Any information provided on the Digital\nServices is however indicative only.

\n\n

The User therefore expressly agrees that only periodic\nstatements issued by the Bank will constitute the official record or statement\nof the relevant account(s).

\n\n

6.        System availability and limits on the Bank’s liability

\n\n

The User acknowledges that response times may vary due to\nmarket conditions, system performance, access device location or other factors,\nand that access to Digital Services may be limited or unavailable during\nperiods of peak demand, market volatility, system upgrades, maintenance, or for\nany other reason whatsoever.

\n\n

The User acknowledges (i) that interruption or malfunction of communications, failure of software or equipment, or malfunction of its or \nthe Bank’s computer system for any reason may result in the \nBank not receiving instructions or its not receiving the Bank’s communications, and (ii) that the Bank shall have no liability in respect of any \nsuch interruption or malfunction. The Bank shall only \nbe liable in its relations with the User in the event of gross misconduct on its part.

\n\n

The Bank shall not be liable for any damages or adverse consequences that may arise in relation with the User’s Internet connection, for \nwhich the User will bear the exclusive risk.

\n\n

The User undertakes to comply with the statutory and regulatory prescriptions in force in the country from which the Internet Digital Services \naccess is effected and releases the Bank from all liabilities which he may incur in that respect. More \nparticularly, the Bank shall not be liable and cannot be blamed in the event of a third party gaining access to the Client’s accounts or obtaining any information \nconcerning the relationship of the Client with the Bank through the Digital Services.

\n\n

Except to the extent that the Bank is expressly stated to be liable under these terms, the Client agrees, individually and severally, to indemnify \nthe Bank, their directors, managers, officers, employees, service providers and agents from all \nactions, loss, liability, claims, demands, damages, judgements, costs and expenses (including legal expenses) (the “Claim”) by or to anyone arising directly or \nindirectly out of or in any way connecting with Digital Services, related services, and any \nact or failure to act by any of them in connection therewith.

\n\n

Without in any way limiting the generality of the preceding provision, except as specifically provided otherwise in these terms and conditions \nfor Digital Services or where required by law, \nnone of the Bank, their directors, officers, employees, service providers or agents will be liable for any Claim resulting in whole or in part from any act or \nfailure to act of the Bank’s, the User’s, or any third party’s \nequipment or software, of any Internet browser provider, of any Internet access provider, or of an affiliate, agent or contractor of any of them.

\n\n

In no event will the Bank or its directors, officers,\nemployees, service providers or agents be responsible for any direct or\nindirect, special or consequential, economic or other damages to anyone arising\ndirectly or indirectly out of or in any way connected with the Digital Services,\nrelated services, or any act or failure to act by anyone in connection\ntherewith.

\n\n

7.         Monitoring\nand Recording

\n\n

The User expressly authorises the Bank to record, store and\narchive e-mail communications. The User further acknowledges and agrees that\nthe Bank will store and archive log-in to the Digital Services made using the User\nID and access time of the User to the Digital Services.

\n\n

The User specifically agrees that the record of log-in and\naccess time kept by the Bank shall constitute evidence of the existence, the\ncontents and the exact date and time of any such access or connection. 

\n\n

 

\n\n

The User shall treat the messages or information exchanged\nor received through Digital Services like private correspondence.

\n\n

8.         Location\nof communication

\n\n

Any access or connection to Digital Services by the User and all communications from User with the Bank \nthrough Digital Services are reputed to \nhave been effected directly at the offices of the Bank on the date and on the time indicated on the Bank’s Internet records.

\n\n

9.         Protection\nof intellectual property rights

\n\n

The copyright concerning the Digital Services belongs to\nthe Bank, its affiliates within the HSBC Group or its service providers. All\nrepresentation or reproduction of all or part of the site, brand names, logos\nor elements appearing on the site, in any form whatsoever, is forbidden without\nthe prior written authorization of the Bank. Software and programs and\napplications that are provided by the Bank are the property of the Bank or its\nlicensors.

\n\n

10.        Change\nin terms and conditions

\n\n

The Bank may amend these terms and conditions for Digital Services, at any time to take into account, in particular, changes \nin the law or regulations, local customs, the market situation or the Bank’s policies.

\n\n

The Bank reserves the right, at any time, to inform the Client\nby any means of the changes made to these terms and conditions for Digital\nServices.  Such amendments shall be deemed to have been approved if the Client\ndoes not provide the Bank with any objection in writing within 30 days of the\ndispatch of the notification.

\n\n

Should the Client give notice of its objection in\naccordance with this paragraph, the Client is entitled to terminate these terms\nand conditions for Digital Services.

\n\n

11.        Termination

\n\n

The Bank may terminate any User’s access to the Digital Services without notice if, it \ndetermines in its discretion that any of the \nTerms and Conditions have been breached or if there has been no Digital \nServices activity for a period of 3 (three) consecutive months. For any other reason, the Bank may terminate any User’s access to the \nDigital Services subject to a 30-day prior notice.

\n\n\n\n

 

\n\n

 

\n\n\n

Supplement to the Digital Services: HSBC\nInsights and Research (I&R)

\n\n

1.         Scope of\nthe Supplement

\n\n

These supplemental terms govern the access to and use the HSBC Private \nBank Insights and Research (hereinafter the “I&R Platform”), a \ndigital platform that enables Users to access HSBC and/or third party economic and financial reports and publications (hereinafter the “Publications”) \nincluding, but not limited to, (i) Global \nPrivate Bank macro commentary on financial markets, (ii) HSBC Global Research reports (“HSBC Research”) issued by Global Research, a division of \nHSBC Global Markets (“HSBC Global Research”) and/ or (iii) \nnon-HSBC third party publications. The Publications may discuss financial markets and investment products across several asset classes and may \ninclude financial research material covering specific financial instruments and issuers.

\n\n

The I&R Platform is\nmade available by the Bank for Clients who entered into a Prism Advisory\nagreement with the Bank and to Users.

\n\n

The types of Publications accessible to each category of\nUser will be determined by the Bank in its discretion.

\n\n

2.         Distribution\nchannels of Publications

\n\n

2.1.      I&R Platform

\n\n

The Bank will provide each User with a direct online access to the Publications via the I&R Platform through the Bank’s \nDigital Services channels.

\n\n

2.2.       Email Alerts

\n\n

In addition to the above, the Bank will provide each User with the ability to receive via email certain alerts \nrelated to the Publications, such \nas certain updates of the Publications. As part of the services rendered under this Agreement, each User may choose to receive email \nalerts generated by the I&R Platform (hereinafter the “Email Alerts”). Each \nUser will be requested to disclose and communicate his valid email address if and when requesting Email Alerts.

\n\n

Accessing the I&R Platform: In order to access the\nI&R Platform and the Publications, each User will be provided by the Bank\nwith User ID details (username and password) to access the Digital Services channels.\n

\n\n

Email Alerts: If a User elects to receive the Email Alerts,\nhe will be requested to communicate to the Bank his email address. The User\nundertakes to inform immediately the Bank of any change in its email address.

\n\n

In this context, each User should be aware that the communications sent to, and the use of, each User’s email \naddress is unsecured. Therefore, the transmission of any \ndocumentation, such as the Publications or the Email Alerts, may result in revealing to third parties the existence of the \nClient’s relationship with the Bank. In this context, the \nBank cannot guarantee that the confidentiality of the Client’s relationship with the Bank may be preserved and expressly disclaims \nany liability in this regard.

\n\n

3.         Monitoring\nof use by the Bank

\n\n

Each User’s access to, and use of, the Publications, including any Email Alerts, may be monitored by the \nBank and its subcontractors, and the resulting \ninformation may be collected and used by the Bank for internal business considerations (see below) or for any applicable \nregulatory requirement. By using the I&R Platform, each User \nconsents to the monitoring and collection of information regarding the access to, and use of, the Publications by each User.

\n\n

The internal business considerations for monitoring access to, and use of, the Publications by the Bank include, but \nare not limited to: (i) reviewing \nwhether each User is accessing the Publications, including any Email Alerts, most directly related to the Client’s portfolio holdings \nand trading patterns and (ii) ensuring \nthat the Bank, to all extent reasonably possible, is making the most appropriate recommendations, as the case may be, for portfolio \nallocation/trading in light of the Publications, including \nany Email Alerts, accessed by the User.

\n\n

4.         Language\nof Publications

\n\n

The Publications and the Email Alerts are provided to each\nUser exclusively in English language. By using the I&R Platform, the User confirms\nthat he possesses a sufficient level of proficiency in the English language to\nfully understand the content of the Publications and the Email Alerts, as well\nas any important disclaimer or risk warning which they may contain.

\n\n

5.         Financial\nKnowledge, Experience, and Literacy

\n\n

The Publications each User will access may cover different\nfinancial product categories including, but not limited to, Climate Change,\nAsset Allocation, Commodities, Convertibles, Credit High Grade, Credit High\nYield, Credit Strategy, Currencies, Economics, Equity Indexation, Equity\nStrategy, Fixed Income, Structured and Asset Backed Securities.

\n\n

The Publications make reference to market, economic and\nfinancial data, concepts and ratios, as well as other technical information or\nconcepts which require each User to possess a significant degree of financial\nknowledge, experience and literacy.

\n\n

By using the I&R Platform, the User confirms (i) that he\npossesses a sufficient level of financial knowledge, experience and literacy to\nread and understand the Publications and their limitations, in particular those\nmentioned in Sections 9.1 and 9.2 below, and (ii) that he will exercise\nindependent judgment in evaluating the Publications.

\n\n

Should any User experience any difficulty in understanding\nany of the Publications or Email Alerts, such User should contact the Relationship\nManager or the Investment Counsellor in charge of the Account to obtain further\nclarifications.

\n\n

The Client confirms that he is able to bear the financial\nrisk associated with trading in the relevant financial markets and financial\ninstruments covered in the Publications.

\n\n

6.         No\nContact with the issuer of the Publications

\n\n

No User shall try to contact the issuer of any Publication\ndirectly, including but not limited to any HSBC Global Research analyst or any\nother third party (including their representatives or employees).

\n\n

7.         \nRestricted Access

\n` + tc2;\n","export default `\n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

We know that you are concerned with how your personal and financial information\nis dealt with. This privacy statement sets out our current policies and\ndemonstrates our commitment to your financial privacy.

\n\n

 

\n\n

By accessing this website (the 'Site') and any of its pages, you are\nagreeing to the privacy statement set out below.

\n\n

 

\n\n

Before using this Site, you should read this privacy statement\ncarefully, as well as our terms and conditions and hyperlink policy. You should also read our cookie policy to find out more about how HSBC\nand our trusted partners use cookies, which is relevant to your experience on\nthis Site.

\n\n

 

\n\n

The information, material and content provided in the pages of the Site\nmay be changed at any time without notice, and consequently this privacy\nstatement may change at any time in the future. You agree to review this\nprivacy statement regularly and your continued access to or use of the Site will\nmean that you agree to any changes.

\n\n

 

\n\n

The HSBC Group provides financial products and services through its\naffiliated companies and branches located worldwide. Privacy and personal data\nprotection principles vary from one country to another. When you access or link\nto any other website, please read the privacy and data protection statements or\nagreements issued by such other website to determine the policies that apply to\ninformation or data maintained by that website.

\n\n

 

\n\n

Our business has been built on trust between us and our customers. To\npreserve the confidentiality of all information you provide to us, we have\nadopted the following privacy principles:

\n\n

¨      We will only collect information\nthat we believe to be relevant and required to understand your financial needs\nand to conduct our business

\n\n

¨      We use your information to\nprovide you with better customer services and products

\n\n

¨      We may pass your information to\nother HSBC Group companies or agents, as permitted by law

\n\n

¨      We will not disclose your\ninformation to any external organisation unless we have your consent or are\nrequired by law or have previously informed you

\n\n

¨      We may be required from time to\ntime to disclose your information to Governmental or judicial bodies or\nagencies or our regulators, but we will only do so under proper authority

\n\n

¨      We aim to keep your information\nup-to-date

\n\n

¨      We maintain strict security\nsystems designed to prevent unauthorised access to your information by anyone,\nincluding our staff

\n\n

¨      All HSBC Group companies, all our\nstaff and all third parties with permitted access to your information are\nspecifically required to observe our confidentiality obligations

\n\n

By maintaining our commitment to these principles, we will ensure that\nwe respect the inherent trust that you place in us.

\n\n

Cookie Policy

\n\n

Understanding how and why we\nuse cookies

\n\n

We use cookies on our website to create the most effective website\npossible for our users. Among other things, the cookies we use allow us to\nimprove your experience when using our website and to ensure the website performs\nas you expect it to.

\n\n

 

\n\n

This cookie policy explains what cookies are, how we use them on our\nwebsite and what benefits they bring.

\n\n

 

\n\n

Frequently asked questions about cookies

\n\n

 

\n\n

What are cookies?

\n\n

Cookies are small text files that\nare sent to and stored on your computer, smartphone or other device for\naccessing the Internet, whenever you visit a website. Cookies are useful\nbecause they allow a website to recognise a user's device.

\n\n

HSBC Group websites use cookies\nfor a variety of reasons, including determining preferences, letting users\nnavigate between pages efficiently, verifying users and carrying out other\nessential security checks. The cookie policy on each HSBC Group website will\nexplain how they use cookies.

\n\n

Some of the functions that\ncookies perform can also be achieved using similar technologies. This policy\nrefers to 'cookies' throughout; however it also covers\nthese alternate mechanisms.

\n\n

More information about cookies\ncan be found on allaboutcookies.org.

\n\n

How cookies make our website\nsafer and easier to use

\n\n

Cookies are used for a variety of\nreasons, such as to improve website functionality and performance and to\nsafeguard your privacy when you're browsing our website.

\n\n

We use 'analytics' cookies to\nhelp us make our website better for those who visit it regularly. They help us\nwork out what users like and don't like and how we can improve things for you.

\n\n

When we include links to other\nwebsites, please bear in mind they will have their own privacy and cookie\npolicies that will govern the use of any information you submit. We recommend\nyou read their policies as HSBC is not responsible or liable for their privacy practices.

\n\n

How we work with trusted third\nparties

\n\n

Third parties are trusted\nsuppliers to HSBC. They include partners who provide important functionality to\nour website, and partners who help us improve our website, such as Webtrends, who provide statistics about which pages are\nvisited most frequently.

\n\n

We will not share any personal\ninformation gathered through the cookies on this website with third parties.

\n\n

More about your\nprivacy

\n\n

To find out more about how HSBC\nprotects your privacy when using our website, please read our terms and conditions and privacy statement.

\n\n

 

\n\n

 

\n\n
\n\n\n\n
\n\n\n\n\n`;\n","import { tc2 } from \"./T&C_CH2\";\nexport default `\n\n\n\n\n\n\n\n\n
\n\n

Terms\nand Conditions for the Digital Services (the\n\"Terms and Conditions\")

\n\n

 

HSBC Private Bank (Suisse) SA

\n\n

 

\n\n

By accepting these\nTerms and Conditions you will benefit from the electronic services (comprised\nof the Basic Digital Services and the Additional Digital Services, jointly, the\n“Digital Services”) offered by HSBC Private Bank (Suisse) SA (the “Bank”).\nGenerally speaking, if there are several account holders in respect of an\naccount, all of them need to accept these Terms and Conditions before the\nDigital Services are made available.

\n\n

 

\n\n

 

\n\n

Table of contents

\n\n

 

\n\n

Part\nA: Introduction

\n\n

Part\nB: General provisions applicable to all Digital Services

\n\n

Part C: Privacy notice applicable to the Digital\nServices

\n\n

Part\nD: Information regarding the Additional Digital Services and additional terms\napplicable to the “E-signature” functionality

\n\n

 

\n\n

*\n* *

\n\n

Part A:         Introduction

\n\n

 

\n\n

These Terms and\nConditions govern the relationship between the Client and the User (both as\ndefined below), on the one hand, and the Bank, on the other hand, regarding the\nuse of the Digital Services.

\n\n

 

\n\n

The Digital Services\ncomprise of:

\n\n

 

\n\n

-       \nthe\npossibility to view electronically certain information pertaining to the\nClient’s account relationship(s) with the Bank such as account statements,\nstatements of assets, estimates, advices as well as banking communication and\ncorrespondence (the “Basic Digital Services”); and

\n\n

-       \ncertain\nadditional services (the “Additional Digital Services”), which are\nlisted in Part D and which are, or will become, available. The terms highlighted in grey only apply to the\nAdditional Digital Services.

\n\n

 

\n\n

A description of the\nfunctionalities offered in the context of the Digital Services is made\navailable on the website of the Bank.

\n\n

 

\n\n

These Terms and\nConditions apply as soon as a User (as defined below) uses the Digital\nServices. In the event of any conflict or inconsistency among the contractual\ndocumentation which governs the relationship between the Bank and the Client\n(and the User if different from the Client), the order of precedence shall be\nas follows: (i) the Bank’s General Terms and Conditions, (ii) these Terms and\nConditions for the Digital Services, (iii) the\nform “Access to the Additional Digital Services waiver”, (iv) the form “Transmission of Personal Data Consent\nForm” and (v) any other document related to the Digital Services.

\n\n

 

\n\n

The term “Client”\nrefers to the account holder(s) of the banking relationship(s) for which the\nBank makes the Digital Services available.

\n\n

 

\n\n

The term “User”\nrefers to the actual user of the Digital Services, as Client or as a user\nappointed by the Client (referred to as a “User” or as “Users”). The duties\nthat are incumbent upon the Client under these Terms and Conditions also apply\nto each User (if different from the Client and to the extent applicable). The\nClient shall be entirely responsible vis-à-vis the Bank for ensuring that each\nUser (different from the Client) fully complies with the obligations specified\nherein.

\n\n

 

\n\n

To the extent\npermitted by law, the User shall have no claim against the Bank (or any of the\nBank’s affiliates, directors, representatives, agents or employees) as a result\nof, or in connection with, the use of the Digital Services. The Client shall\nindemnify and hold the Bank (and any of the Bank’s affiliates, directors,\nrepresentatives, agents or employees) harmless from and against any and all\nlosses, damages, liabilities, obligations, claims, judgments, costs and\nexpenses (including reasonable attorney’s fees) incurred by the Bank (or any of\nthe Bank’s affiliates, directors, representatives, agents or employees) by\nreason of or resulting from any claim lodged by a third party or a User (if\ndifferent from the Client) against the Bank in connection with the Digital\nServices, including, but not limited to, the collection and processing, by the\nBank, of information pertaining to a third party if provided by the User, or to\na User (if different from the Client).

\n\n

 

\n\n

The term “User IT\nEquipment” refers to hardware and software (including mobile devices and\nother technical means) used, by the User, to access the Digital Services.

\n\n

 

\n\n

The Bank makes no\nwarranties or representations regarding:

\n\n

 

\n\n

-       \nthe\navailability of the Digital Services or that they will meet any requirement the\nUser might have, that access will be uninterrupted or that there will be no\ndelays, failures, errors or omissions of information available through the\nDigital Services;

\n\n

-       \nthe\nadequate protection and back up of data on the Digital Services, and each User\nacknowledges that the User has sole responsibility for adequate protection and\nback up of his/her own data and/or User IT Equipment and for undertaking\nreasonable and appropriate precautions to scan for computer viruses or other\ndestructive properties when accessing or using the Digital Services; or

\n\n

-       \nthe\naccuracy, functionality or performance of any third party software that may be\nused in connection with the Digital Services.

\n\n

 

\n\n

 

\n\n

Part B:         General\nprovisions applicable to all Digital Services

\n\n

 

\n\n

1.       Means\nof Authentication

\n\n

 

\n\n

Access to the Digital\nServices is granted once the User has authenticated himself/herself using the\nmeans of authentication (namely the username, the password and the verification\ncode communicated during the registration process, collectively the “Means of\nAuthentication”). The Bank may substitute or modify the Means of Authentication\nat any time in the Bank’s discretion. The Means of Authentication provided to\nthe User by the Bank may only be used in accordance with these Terms and\nConditions.

\n\n

 

\n\n

The Client bears the\nresponsibility for ensuring that each User fully complies with the obligations\nset forth herein and with any further instructions from the Bank.

\n\n

 

\n\n

2.       Due\ncare obligations of the User

\n\n

 

\n\n

For the use of the\nDigital Services, the Bank does not verify the identity of the User by means of\na signature or an ID verification. The verification of the User’s authorisation\nis established exclusively on the basis of the Means of Authentication (see\nSection 1).

\n\n

 

\n\n

Any person\nsuccessfully gaining access to the Digital Services using the Means of\nAuthentication shall be regarded by the Bank as a User and, therefore, as being\nauthorised to access and use the Digital Services. All instructions received by\nthe Bank through the Digital Services shall be deemed to have been issued by\nthe Client either directly (if the Client is the User) or through an authorized\nrepresentative of the Client (by accepting these Terms and Conditions, the\nClient authorizes the User to act on the Client’s behalf in the context of the\nDigital Services). The Bank shall be authorised to act upon instructions\nreceived from a User, which are binding upon the Client. This shall apply\nirrespective of whether the person accessing the Digital Services is actually a\nUser and/or has been authorised by the Client accordingly.

\n\n

 

\n\n

Any User may request\nthe blocking of such User’s access to the Digital Services. Any User may also\nblock his/her own access/ authorisation by entering the Means of Authentication\nincorrectly until the system shows it to be blocked. The User shall bear the\nrisk of the use of the Means of Authentication until the blocking takes effect.\nMeans of Authentication do not become invalid automatically, e.g., as a result\nof death or incapacity, cancellation of the authority to sign or deletion from\nan official register. Therefore, the Users or their legal successors must\nexplicitly request the Bank to block the Means of Authentication. In the case\nof non-use, the Bank reserves the right, on its own initiative, to block or\npermanently deactivate the access to the Digital Services.

\n\n

 

\n\n

3.       Security\nmeasures to be taken by the User

\n\n

 

\n\n

The User must\npromptly follow the instructions of the Bank regarding the use of the Digital\nServices, especially those regarding security measures. The Bank may provide\nthese instructions on the Bank’s website, in the Digital Services or through\nanother channel deemed suitable by the Bank.

\n\n

 

\n\n

The User undertakes\nto store the Means of Authentication carefully and separately from each other.\nMeans of Authentication (especially PIN/passwords) may not be passed on or\notherwise made available to other persons. PIN/passwords must be modified\nimmediately upon receipt and kept secret. PIN/passwords may not be noted down\nphysically and must be encrypted if stored electronically. PIN/ passwords must\nbe chosen in such a way that they are not easy to determine (e.g., no phone\nnumbers, dates of birth, simple numeric sequences).

\n\n

 

\n\n

If there are reasons\nto suspect that any other person has obtained knowledge of a Means of\nAuthentication, the User must ensure that they are changed immediately. The\nloss of a Means of Authentication must be reported to the Bank immediately. No\nreplies must be sent to emails, SMS or other messages allegedly sent by the\nBank and requesting disclosure of the Means of Authentication. The Bank must be\ninformed immediately if any such request has been received.

\n\n

 

\n\n

Unauthorised third\nparties may attempt to gain access to the User IT Equipment. The User\nundertakes to implement appropriate security measures in order to minimize the\nsecurity risks. In particular, the operating system and browser must be kept up\nto date and the User must install the security patches supplied and recommended\nby the respective providers. It is the responsibility of the User to obtain\ninformation about the required security precautions in respect of the User IT\nEquipment and to implement them.

\n\n

 

\n\n

4.      \nRisks

\n\n

 

\n\n

Subject to the\nlimitations set forth in applicable law, any risk which results from (i) a\nmanipulation of the User IT Equipment, (ii) the fraudulent utilization of Means\nof Authentication, (iii) breaches of duties of care by a User or a third party\nor (iv) interference by unauthorised third parties during data transmission are\nborne by the Client.

\n\n

 

\n\n

The User is aware of\nand, by using the Digital Services accepts, the risks of exchanging information\nand data over public and private networks. The risk of targeted manipulation of\nthe User IT Equipment falls within the area of responsibility of the User and\nmust accordingly be borne by the User and/or Client.

\n\n

 

\n\n

To the extent\npermitted by law the Bank therefore excludes all liability in respect of loss\nor damage suffered due to transmission errors, misrouting, technical faults or\ndefects, breakdowns or illegal/fraudulent intrusions into a User IT Equipment\n(including systems and transmission networks that are generally accessible to\nthe public) or the Digital Services.

\n\n

 

\n\n

5.       Information\nprovided through the Digital Services

\n\n

 

\n\n

The Digital Services\nprovide rates and a variety of information on financial products, currencies\nand companies. All rates and information displayed in the Digital Services\nreflect the rates and information of the prior business day.

\n\n

 

\n\n

The Bank receives the\nrates and information displayed in the Digital Services from third parties.\nAlthough the Bank carefully selects the data sources and technical systems,\nthere may be time delays and/or the rates and information may contain errors or\nbe incomplete. Actual prices when transacting in any relevant investment may\nvary and the value of financial instruments may fluctuate. It should be noted\nthat any stated performance figures are calculated on the basis of total return\nand include gross unrealised gains and losses. The Bank exercises the standards\nof care and diligence customary in the industry when displaying information via\nthe Digital Services. The Bank excludes any further guarantee and accepts no\nfurther liability for timeliness, accuracy and completeness of the information\nprovided via the Digital Services. The information and messages displayed shall\nbe regarded as purely indicative and shall not be legally binding unless\nexpressly stipulated otherwise. Other than the warranties and representations\nexpressly set out herein, all other warranties and representations, whether\nexpress, implied or statutory are, to the fullest extent permitted by\napplicable law, excluded.

\n\n

 

\n\n

For the avoidance of\ndoubt, the rates and information provided in the Digital Services as well as\nthe information supplied by the “Alerts and Notifications” tool (see Part D\nbelow) do not constitute an offer to sell or a solicitation, or offer to buy,\nany investment or advice or a recommendation in respect of any investment. The\ninformation on the Digital Services is not intended for distribution to, or use\nby, any person in any jurisdiction where such distribution would be contrary to\nlaw or regulation. Persons interested in acquiring (or disposing of) any\ninvestment should inform themselves as to: (i) the legal requirements within\nthe countries of their nationality, residence, ordinary residence or domicile\nfor such acquisition; (ii) any foreign exchange control requirement which they\nmight encounter on the acquisition or sale of investments and (iii) the income\ntax and other tax consequences which might be relevant to the acquisition,\nholding or disposal of any investment.

\n\n

 

\n\n

Information available\non the Digital Services about the Client’s holdings may be limited to\ninvestments and assets in the Client’s investment accounts maintained with the\nBank. This means that details of some investments held with or through the\nBank, such as (i) any amount blocked to cover a guarantee issued by the Bank,\n(ii) futures on indexes and equities, (iii) futures on commodities and (iv)\nlimits on credit facility, might not be displayed in the Digital Services.\nThese items will however be reflected on the periodic bank statements, which\nare also made available through the Digital Services.

\n\n

 

\n\n

Where information is\nprovided regarding the tax characteristics of particular investments, this will\nreflect the Bank’s understanding (on a best effort basis and without conducting\nany specific analysis or inquiry) of current tax laws and practices. However,\nthis information does not constitute tax advice and should not be relied upon\nas such. The tax treatment of an investment may vary depending upon individual\ncircumstances. There can be no guarantee that the nature, basis or incidence of\ntaxation will not change. The Client is reminded that it is his/her\nresponsibility to complete tax returns including all information required by\nthe tax authorities in the country or countries in which the Client is subject\nto tax in accordance with all applicable laws and tax rules in those countries.\nThe Client is solely responsible for understanding and complying with his/her\ntax obligations including identifying all the Client’s taxable income, gains\nand assets, as applicable. The information made available through the Digital\nServices has not been designed and should not be used for tax reporting\npurposes. The Bank does not provide legal or tax advice and if the User is in\nany doubt about the tax consequences of any investment and/or obligations with\nrespect to tax, the User should consult an independent tax and/or legal adviser.

\n\n

 

\n\n

6.      \nCosts and fees

\n\n

 

\n\n

The use of the\nDigital Services does not trigger any additional costs for the User.

\n\n

 

\n\n

The Bank reserves the\nright to change the financial conditions (e.g., costs, fees, discounts,\nperimeter of services) of the Digital Services at any time and with immediate\neffect. Modifications are communicated to the Client through a channel deemed\nsuitable by the Bank.

\n\n

 

\n\n

7.     \nElectronic tools\nprovided by the Bank and Third Party Application providers

\n\n

 

\n\n

To use the Digital Services,\nthe User may use the electronic tools provided by the Bank directly such as a\nmobile application or through a third party provider such as a chat application\nor an application for E-signature (Third Party Application(s)).

\n\n

 

\n\n

The Bank grants the\nUser the nonexclusive, non-transferable right to use the electronic tools\nprovided by the Bank at no additional charge for purposes of the Digital\nServices.

\n\n

 

\n\n

Provided the Bank\nexercises a level of care which is in line with industry standards, the Bank\noffers no guarantee for the provision of uninterrupted, fault-free access to\nits services and through its electronic tools or through the use of Third Party\nApplications. It will therefore accept no liability for any financial prejudice\nas a result of faults, interruptions (including system-related maintenance\nwork) or the overloading of the User IT Equipment.

\n\n

 

\n\n

By using the\nelectronic tools provided by the Bank and/or by a Third Party Application\nprovider, the User acknowledges that this use is at its own risk.

\n\n

 

\n\n

As far as is legally\npermissible, the Bank gives no guarantee that the electronic tools provided by\nthe Bank are provided entirely free of errors. Moreover, the Bank gives no\nguarantee that all elements of the electronic tools correspond to the User’s expectations\nor will function without error in relation to all applications and in\nconjunction with any other programs and device/network configurations selected\nby the User.

\n\n

 

\n\n

Third Party\nApplications are subject to the Third Party Application provider’s own separate\nterms and conditions, which may modify and / or adapt the functionalities of\nthe application at their discretion at any time or is free to suspend the use\nof the application temporarily or permanently. The User has no rights against\nthe Bank in respect of the proper functioning of Third Party Applications and\nthe Bank herewith excludes any and all liability in connection with the\nprovision of the Digital Services.

\n\n

 

\n\n

In the event that\ndefects or errors impair or hinder the functionality of the Digital Services,\nthe User must refrain from using the Digital Services and immediately notify\nthe Bank. The use of the electronic tools provided by the Bank on devices not\ncontrolled by the Bank, especially the use of Third Party Applications on a\nmobile device, may mean that third parties (e.g., device manufacturers,\nproviders of app distribution platforms or network providers) are able to\nconclude that there is a banking relationship with the Bank or to access bank\nclient information (e.g., when bank client information is saved on the devices\nor the device is lost).

\n\n

 

\n\n

8.      \nIntellectual\nproperty rights

\n\n

 

\n\n

All intellectual\nproperty rights (including, without limitation, copyright, database rights,\ndesign rights, patents and trademarks) in the Digital Services (including text\nand “look and feel” attributes) are owned by the Bank or licensed to the Bank\nby third party licensors.

\n\n

 

\n\n

The access to or use\nof the Digital Services does not grant the User any intellectual property\nrights in the Digital Services. The User may print, copy, download or\ntemporarily store extracts of material obtained through the Digital Services\nfor personal use or to help the User use the Bank’s products and services. The\nUser may not alter or otherwise make any changes to any material obtained\nthrough the Digital Services in any form, including, without limitation,\nremoving any proprietary information, identifying marks or legends from such\nmaterial. Any other use is prohibited unless the User first requests and\nobtains the Bank’s written permission. Without limiting the above, unless the\nUser first obtains the Bank’s written consent, the User may not reproduce,\nmodify, adapt, transmit, publish, broadcast, create derivative works of, store,\narchive or in any way exploit all or any part of the material obtained through\nthe Digital Services. All rights in such content are hereby reserved.

\n\n

 

\n\n

Content from a third\nparty provider available on or through the Digital Services may not be\nduplicated, distributed, published, transferred, transmitted, copied, altered,\nsold, used to create derivative works or otherwise misused. The User must\ncomply with all terms disclosed to the User as required from time to time by\nany third party supplier of data or services to the Digital Services, including\nbut not limited to, where necessary, entering into a direct agreement with such\nthird party in respect of the use of their data/information or complying with\nany terms and conditions such third party supplier of data or services may\nrequire the User to comply with.

\n\n

 

\n\n

HSBC and the hexagon\nlogo are trademarks of HSBC Group Management Services Limited and all rights in\nand to them vest in HSBC Group Management Services Limited. Other than as\nprovided above, the User may not use or reproduce the HSBC trademark, hexagon logo\nor brand name.

\n\n

 

\n\n

9.       Third\nparty websites

\n\n

 

\n\n

The Digital Services\nmay provide links to, or data from, third party websites for the User’s\nconvenience in locating related information and services. The Bank does not\nmaintain any of these other websites and has no control over the organisations\nthat maintain these websites or the information, products or services these\norganisations provide. The Bank cannot guarantee such websites’ accuracy,\ncompleteness or suitability for any purpose. Accordingly, the Bank expressly\ndisclaims any responsibility for the content of these other websites, the\naccuracy of the information on these websites and/or the quality of products or\nservices provided by the organisations that maintain them. The Bank does not\nrecommend or endorse these organisations or their products or services in any\nway and access to them is at the User’s own risk.

\n\n

 

\n\n

10.     Country-specific\nrestrictions

\n\n

 

\n\n

The\nrange of financial services offered to Users outside of Switzerland may be\nsubject to local legal/regulatory restrictions. If the Bank does not have the\nnecessary local approvals, the scope of the services available to Users from\nthe country concerned will be restricted. These restrictions are constantly\nchanging in line with legal/regulatory developments in the respective country.\nThe Bank shall be authorised to adjust or restrict, at any time, without prior\nnotice and at the Bank’s discretion, the range of functionalities available.\nThe Means of Authentication provided by the Bank may be subject to specific\nimport/export restrictions as well as restrictions of use. Furthermore,\nexport/import and the use of the Means of Authentication by the User in third\ncountries (i.e., in countries other than the country to which the Bank\noriginally delivered them) may be subject to additional country-specific laws.\nThe User shall be responsible for being aware of and complying with all\nrelevant restrictions and laws. The Bank accepts no liability whatsoever in\nthis regard and cannot and does not provide any advice in this respect.

\n\n

 

\n\n

11.     Amendments\n

\n\n

 

\n\n

The Bank shall be\nentitled to amend these Terms and Conditions at any time. The Bank shall\nannounce the amendments in advance in any manner it deems suitable. The\namendments shall be deemed to be approved, unless an objection is raised in\nwriting within one month of the announcement, but in any event, when using the\nDigital Services for the first time after the announcement.

\n\n

 

\n\n

12.     Termination

\n\n

 

\n\n

The Client and the\nBank may terminate the use of Digital Services or individual functionalities\noffered by Digital Services at any time and with immediate effect. Following\nthe complete termination of Digital Services, the User must render the physical\nMeans of Authentication (if any) unusable and return them at once to the Bank.\nNotwithstanding such termination, the Bank shall still be authorised to\nexecute, with legally binding effect for the Client, all transactions initiated\nbefore the Means of Authentication were returned.

\n\n

 

\n\n

 

\n\n

_Part_C:\">Part C:\n        Privacy notice\napplicable to the Digital Services

\n\n

 

\n\n

The purpose of this\nPart C is to describe the manner in which the personal data of the Users is\nprocessed by the Bank in the context of the Digital Services. For purposes of\nthis Part C and Part D below, the term “User” shall comprise, to the extent\nrelevant, the “Connected Persons” (as defined in the General Privacy Notice),\nfor example the beneficiary of a payment made through the Payments Services (as\ndefined in Part D below).

\n\n

 

\n\n

By accepting these\nTerms and Conditions, the User confirms having understood and is aware of, the\ncollection and processing of information pertaining to such User, as described\nherein (including this Part C).

\n\n

 

\n\n

The information below\nsupplements, but does not replace, the information contained in the Bank’s\nprivacy notice, which is available on the following link: https://www.privatebanking.hsbc.com/privacy-notice/privacy-notice-for-hsbc-private-bank-suisse-sa/ (the “General\nPrivacy Notice”).

\n\n

To the extent there\nis any conflict between these documents, the order of precedence is as follows:\n(i) the General Terms and Conditions of the Bank, (ii) the General Privacy\nPolicy and (iii) these Terms and Conditions.

\n\n

 

\n\n

1.        \nInformation the Bank\nmay collect about the User

\n\n

 

\n\n

The Bank may collect\ninformation in order to provide the User with access to the Digital Services\nand in order to verify the User is authorised to do so. The Bank may also\ncollect information during the visit of the Digital Services, including the\npages the User views, the links the User clicks and any other action taken in\nconnection with the Digital Services. The Bank also collects certain standard\ninformation that the User’s web browser sends to every operator of a website\nthe User visit, such as the User’s IP address, browser type, access times and\nreferring website addresses. The Bank has ensured that third parties with whom\nthe Bank contracts to assist the Bank in providing the Digital Services have\nagreed to maintain the confidentiality of the User’s data and process the\nUser’s information in line with the instructions that the Bank gives them. The\ncontractual relationships entered into with such third parties are structured in\naccordance with applicable data protection rules.

\n\n

 

\n\n

2.        \nPurposes for which the\nBank processes the User’s information in the context of the Digital Services

\n\n

 

\n\n

The Bank processes the User’s information\nfor the following purposes:

\n\n

-       \nto ensure that the User is authorised to access\nthe Digital Services;

\n\n

-       \nto ensure that the Digital Services are\npresented in the most effective manner for the User on the User IT Equipment,\nincluding by eliminating the need for the User to repeatedly enter the same\ninformation and by displaying content customised to the User’s interests and\npreferences;

\n\n

-       \nto perform research and analysis aimed at\nimproving the Digital Services and, more generally, the Bank’s services;

\n\n

-       \nto provide the User with products, services or\ninformation that the User requests from the Bank or to carry out the Bank’s\nobligations arising from any contracts entered into between the User and the\nBank;

\n\n

-       \nto provide the User with information on products\nand services that the Bank feel may interest the User (by post, telephone,\nemail or text message), where the User has consented to be contacted for such\npurposes;

\n\n

-       \nto allow the User to participate in any\ninteractive features of the Digital Services, when the User chooses to do so;

\n\n

-       \nto notify the User about changes to the Digital\nServices; and

\n\n

-       \nto detect and prevent malware and fraud

\n\n

 

\n\n

3.        \nThird Party Sites

\n\n

 

\n\n

The Digital Services may, from time to\ntime, contain links to and from the websites of the Bank’s partner networks,\nadvertisers and affiliates (the “Third Party Sites”). If the User follows a\nlink to any of these Third Party Sites, the User should note that these Third\nParty Sites have their own privacy policies and that the Bank’s does not accept\nany responsibility or liability for these policies. The User should check these\npolicies before the User submits the User’s information to these Third Party\nSites.

\n\n

 

\n\n

4.        \nProcessing of personal\ndata in the context of the authentication process

\n\n

 

\n\n

The Bank intends to achieve a high level of\nsecurity in the context of the Digital Services. For this purpose, the Bank has\nimplemented a multi-factor authentication process involving a username/password\nand a code transmitted via SMS (or another channel). The Bank cooperates with\nother HSBC Group entities and third party service providers and their\nsubcontractors (the “Recipients”) for purposes of this authentication process.\nThe Recipients will have access to the mobile number the User provides the Bank\nwith and will process this information for purposes of the authentication\nprocess. Therefore, the Recipients may infer the existence of a bank-client\nrelationship between the Client and the Bank. The Recipients are bound by\nconfidentiality obligations. The Recipients will store and access the User’s\nmobile number in and from Switzerland, UK and European Economic Area (EEA)\nMember States. Any data processing by telecom service aggregators commissioned\nby the Recipients, which relay to the Users’ telecom service operator the SMS\ncontaining the multi-factor authentication code, are carried out in accordance\nwith the applicable telecommunication and data protection legislations, whereby\nthe Client acknowledges that certain such Users’ telecom service provider/operators,\nmay be located in jurisdictions, which do not offer a level of data protection\nwhich is equivalent to the Swiss data protection legislation.

\n\n

In the context of the use of the Digital\nServices, the User accepts that any and all information made available by the\nBank through the Digital Services may be accessed by a User on the relevant\naccount from anywhere in the world and may, as a result, be transmitted outside\nof Switzerland over the internet to jurisdictions, which do not provide an\nadequate level of data protection from a Swiss data protection perspective. In\ncase of questions, the Users can contact the Bank using the contact details provided\nin the General Privacy Notice.

\n\n

 

\n\n

5.        \nFurther Information

\n\n

 

\n\n

If you would like further information on\nany of the items mentioned above, please address your questions to the Bank’s\nData Protection Officer via email at:

\n\n

dataprotection.ch@hsbcpb.com

\n\n

 

\n\n

 

\n\n

_Part_D:\">Part D:        Information\nregarding the Additional Digital Services (“Transmission of Personal Data”)

\n\n

 

\n\n

The purpose of this Part D is to\nprovide additional information in respect of the Additional Digital Services\n(which form a subset of the Digital Services):

\n\n

 

\n\n

Below you will find information\nregarding the services rendered and the processing of personal data in the\ncontext of the Additional Digital Services (each time (i) as of the date the\nrelevant Additional Digital Service is made available by the Bank and (ii) to\nthe extent the relevant Additional Digital Service is used by the User).

\n\n

 

\n\n

Please note that the information set\nout below may change. Modifications are communicated to the User through a\nchannel deemed suitable by the Bank.

\n\n

 

\n\n

In the context of the application to\nuse the Additional Digital Services, the Client is requested to consent\n(separately from these Terms and Conditions), on her/his behalf and on behalf\nof each User, to the transfer of the User’s personal data to jurisdictions\nwhich do not provide an adequate level of data protection from a Swiss data\nprotection perspective (a “non-adequate country”, i.e., those indicated in bold\nin the sections below). Such transfers occur if and to the extent the relevant\nAdditional Digital Services is used. Any such data transferred to a\nnon-adequate country is no longer covered by Swiss data protection legislation\nbut by non-Swiss rules, which provide for a reduced level of data protection\nand may require or permit disclosure to third parties or authorities. Upon\nproviding such consent, the Client confirms that she/he has also obtained the\nexpress consent of each User in respect of the data processing activities\nlisted below:
\n

\n\n

Additional Digital Services

\n\n

 

\n\n

1.    Payments Services

\n\n

 

\n\n

Description:\nThis functionality allows the User (to the extent authorised to do so by the\nClient) to instruct cash transfers to be made out of the relevant account.

\n\n

Upon\nproviding this functionality, the Bank also processes personal data to\nimplement certain operational procedures, for example a verification of\npayments which could not been effected for technical or other reasons.

\n` + tc2;\n","import { tc2 } from \"./T&C2\";\nexport default `\n\n\n\nT&C_en\n \n\n \n \n
\n
\n

\n The terms of the services available on our Internet Banking platform are set out below. Please read them carefully before you proceed to the next page:\n

\n
    \n
  1. \n

    \n \n A. \n \n \n Terms and Conditions for Internet Banking Services, which sets out terms and conditions for your access and use of the HSBC Global Private Banking internet banking platform;\n \n

    \n
  2. \n
  3. \n

    \n \n B. \n \n \n Terms and Conditions for HSBC Private Banking Insights & Research, which sets out additional terms and conditions for HSBC Private Banking Insights & Research which you may access and use through the HSBC Global Private Banking internet banking platform;\n \n

    \n
  4. \n
  5. \n

    \n \n C. \n \n \n Terms and Conditions for Push Notification Service, which sets out additional terms and conditions for our provision of Push Notification Services to you in respect of products and services you can access or use through the HSBC Global Private Banking internet banking platform; and\n \n

    \n
  6. \n
  7. \n

    \n \n D. \n \n \n Terms and Conditions for eSignature Service, which sets out additional terms and conditions application to any document executed using eSignature.\n \n

    \n
  8. \n
  9. \n

    \n \n E. \n \n \n Terms and Conditions for the Suspicious Proxy Alert Model \n which relates to alerts for potentially suspicious money transfers. \n \n

    \n
  10. \n
\n
\n
\n
\n
\n

A.\tTerms and Conditions for Internet Banking Services

\n
\n
\n
\n
\n

\n 1\n Definitions and Interpretation\n

\n

\n 1.1\n Unless otherwise defined here, expressions defined in our Standard Terms and Conditions (as found\n here, the \"Standard Terms\") as may be amended from time to time shall have the same meaning when used in these Terms and Conditions for Internet Banking Services (the \"Internet Banking Terms\"). If there are any inconsistencies between these Internet Banking Terms and the Standard Terms, these Internet Banking Terms shall prevail.\n \n

\n

\n 1.2\n \n In these Internet Banking Terms, the following capitalised terms shall have the following meanings unless the context requires otherwise:\n \n

\n
    \n
  1. \n

    \n \n \"Authorized Internet User\" means such person(s) designated by (and may include) you with authority to use the Internet Banking Services in respect of your Account(s).\n \n

    \n
  2. \n
  3. \n

    \n \n \"Information\" means financial, market or other information and data made available by us via any Internet Site, supplied by any Information Provider, including any such information contained in \"Publications\" as defined in Part B.\n \n

    \n
  4. \n
  5. \n

    \n \n \"Information Provider\" means any person or entity, including us and any Group Office who supplies Information and any other person or entity who supplies any information to an Information Provider.\n \n

    \n
  6. \n
  7. \n

    \n \n \"Internet Site\" means any Internet site or other platform established, operated and/or maintained by or on behalf of us for the provision of the Internet Banking Services and includes the Mobile Banking Application.\n \n

    \n
  8. \n
  9. \n

    \n \n \"Internet Banking Services\" means the services described in Clause 2 (Internet Banking Services) below, as may be amended from time to time and includes the I&R Services provided under Part B, Mobile Banking Application Services and eSignature provided under Part D.\n \n

    \n
  10. \n
  11. \n

    \n \n \"Internet Banking Terms\" means these Terms and Conditions for Internet Banking Services.\n \n

    \n
  12. \n
  13. \n

    \n \n \"Mobile Banking Application\" means the application made available by us and downloaded to your mobile device through which the Mobile Banking Application Services may be accessed.\n \n

    \n
  14. \n
  15. \n

    \n \n \"Mobile Banking Application Services\" means services made available to you to enable you to access Internet Banking Services using the Mobile Banking Application, including the Push Notification Service as defined in Part C.\n \n

    \n
  16. \n
  17. \n

    \n \n \"Password\" means the password used by the Authorized Internet User for the purposes of accessing the Internet Banking Services.\n \n

    \n
  18. \n
  19. \n

    \n \n \"Reports\" means any reports compiled from Information in any form, medium or means, including any \"Publications\" as defined in Part B.\n \n

    \n
  20. \n
  21. \n

    \n \n \"Security Code\" means any code provided by us and used for the purposes of accessing the Internet Banking Services.\n \n

    \n
  22. \n
  23. \n

    \n \n \"Standard Terms\" has the meaning ascribed to it in Clause 1 (Definitions and Interpretation) of these Internet Banking Terms.\n \n

    \n
  24. \n
  25. \n

    \n \n \"Us\", \"our\", \"we\" or words to that or a similar effect means the Bank.\n \n

    \n
  26. \n
  27. \n

    \n \n \"User ID\" means the Authorized Internet User’s user identification code accepted by us for the purposes of accessing the Internet Banking Services.\n \n

    \n
  28. \n
  29. \n

    \n \n \"You\", \"your\" or words to that or a similar effect means the Customer and, where the context permits, includes any person authorized by the Customer to give instructions or requests to us in connection with the use of the Internet Banking Services, including any Authorized Internet User.\n \n

    \n
  30. \n
\n
\n
\n

\n 2\n Internet Banking Services\n

\n

\n 2.1\n We may make available through any Internet Site online services from time to time to enable you to give Communication to us for the purposes of operating the Customer Account(s), conducting banking, investment, financial and other transactions and dealings of various nature and obtaining services, products, Information, Reports, benefits and privileges from us as shall be made available from time to time.\n

\n

\n 2.2\n \n We have the right to determine and vary from time to time the scope and type of the Internet Banking Services to be made available including, without limitation:\n \n

\n
    \n
  1. \n

    \n (A)\n expanding, modifying or reducing the Internet Banking Services at any time;\n

    \n
  2. \n
  3. \n

    \n (B)\n \n imposing and varying any restrictions on the use of the Internet Banking Services (or any part thereof) such as minimum and maximum daily limits with respect to the value of any transaction or dealing or type of transactions or dealings which you may conduct by using the Internet Banking Services; and\n \n

    \n
  4. \n
  5. \n

    \n (C)\n prescribing and changing the normal service hours during which the Internet Banking Services (or any part thereof) are available and any daily cut-off time for any type of Internet Banking Services, transactions or dealings. Any instruction of yours received after any applicable daily cut off time shall be deemed to be received on the next Business Day. We may specify Business Days and daily cut-off times by reference to the time of various markets operating in different time zones.\n \n

    \n
  6. \n
\n

\n 2.3\n We may, in our discretion, suspend or terminate the Internet Banking Services generally or in relation to any Customer Account or group of Customer Accounts provided that in any such instance, we shall provide you with as much notice as possible if you are affected provided that in circumstances where it is reasonably necessary to protect our legitimate interests or where required by any Laws or in relation to Financial Crime Management Activity (including but not limited to fraud prevention) when suspension or termination may be made without prior notice. In the event your access to the Internet Banking Services is suspended, restricted or terminated, we may close any accounts, products or services that are only available through the Internet Banking Services, you will no longer receive digital statements, and you should delete our Mobile Banking Application from your device (if applicable).\n \n

\n

\n 2.4\n We may require you to nominate or register specific Customer Account(s) for the purposes of the Internet Banking Services.\n \n

\n

\n 2.5\n You may terminate the use of the Internet Banking Services and/or the authority of any Authorized Internet User at any time by giving to us prior written notice.\n \n

\n

\n 2.6\n All provisions of these Internet Banking Terms which in order to give effect to their meaning need to survive the suspension or termination of the Internet Banking Services and/or your use of the Internet Banking Services shall remain in full force and effect after suspension or termination including, without limitation, Clauses 4 (General Disclaimers), 7 (User ID and Password & Security), 9 (Information and Information Providers), 11 (Liabilities of the Bank) and 12 (Liabilities of the Customer). Notwithstanding such suspension or termination, you shall continue to be bound by these Internet Banking Terms to the extent that they relate to any of your obligations or liabilities which remain to be performed or discharged.\n \n

\n
\n
\n

\n 3\n Governing Terms\n

\n

\n \n Any transactions and dealings effected by using the Internet Banking Services are subject to these Internet Banking Terms, the Standard Terms and all other Account Documentation governing the relevant Customer Account(s), transactions, dealings, services, products, Information, Reports, benefits or privileges.\n \n

\n
\n
\n

\n 4\n General Disclaimers\n

\n

\n 4.1\n All transactions that you may enter into through the Internet Banking Services (as made available from time to time) are conducted on an execution-only basis and based on your own judgment. We do not have any duty to assess or ensure suitability of the products or the transactions that you enter into through the Internet Banking Services. This clause 4.1 shall not apply where expressly excluded by the Bank in writing.\n \n

\n

\n 4.2\n A solicitation or recommendation we may have made to or for you for which applicable Laws require a suitability assessment be made is valid only as at the time it was made, and we cannot ensure on-going suitability of such product. By executing a transaction for a product through use of Internet Banking Services, you understand and accept that if the circumstances relating to you, such a product or its issuer or market conditions change, the product may no longer be suitable for you and you trade using the Internet Banking Services at your own risk.\n \n

\n

\n 4.3\n You are responsible for determining independently market prices and rates for trading purposes through your usual trading channels, verifying any Information and/or Report before relying or acting on it and seeking independent professional advice on legal, tax and other issues in connection with the use of the Internet Banking Services, the Information and the Reports and any transactions and dealings which may affect you under all applicable Laws.\n \n

\n

\n 4.4\n Any exchange rate, interest rate, dealing rate and other prices and Information quoted by us on the Internet Site(s) or otherwise in response to an online inquiry is for reference only and is not binding. Any rate, price and Information offered by us for the purpose of the relevant transaction shall be binding on you upon you confirming acceptance, irrespective of any different rate, price or Information quoted by us.\n \n

\n

\n 4.5\n You understand that there are risks associated with the use of services through the internet or through email, including but not limited to unauthorized access, system outages, delays and disruption in telecommunications services and the internet. Response times for Internet Banking Services may vary due to market conditions, system performance, access device location or other factors, and that access to Information may be limited or unavailable during periods of peak demand, market volatility, system upgrades, maintenance, or for any other reason. You acknowledge that interruption or malfunction of communications, failure of software equipment, malfunction of the your or our computer system for any reason, or failure to keep your device browser or operating system or the Mobile Banking Application up to date may prevent or restrict your ability to access the Internet Banking Services, and that we will have no liability in respect of any such interruption or malfunction where the interruption or malfunction is beyond our reasonable control.\n \n

\n

\n 4.6\n The Internet Banking Services are only available in selected jurisdictions. Information which is accessible using the Internet Banking Services is not intended for distribution to, or use by, any person in any jurisdiction where such distribution would be contrary to any law or regulation of that jurisdiction. We do not guarantee that the Internet Banking Services or the Information therein complies with the Laws of, or are appropriate for use in, other jurisdictions.\n \n

\n

\n 4.7\n You acknowledge that any products or services you may view on or through the Internet Banking Services may not be registered or authorized by any central bank, governmental or regulatory authority outside of any jurisdiction where we are licensed or authorized to provide such products or services or in your place of residence or location. Accordingly, you may not be protected by the securities laws, banking laws, insurance laws or other relevant Laws of any jurisdiction outside of where we are licensed or authorized to provide such products or services or your place of residence with respect to products or services you may view on or through Internet Banking Services.\n \n

\n

\n 4.8\n If you access and/or download our Mobile Banking Application through a mobile application store, you acknowledge that:\n \n

\n
    \n
  1. \n

    \n (A)\n we are responsible for the performance of our Mobile Banking Application and that you should contact us regarding any maintenance and support issues, content issues, malfunctions or other claims related to our Mobile Banking Application; and\n \n

    \n
  2. \n
  3. \n

    \n (B)\n when you use our Mobile Banking Application, such mobile application stores are considered as third party beneficiaries for the purposes of these Internet Banking Terms and they may rely on these Internet Banking Terms.\n \n

    \n
  4. \n
\n
\n
\n

\n 5\n Authorized Internet Users\n

\n

\n 5.1\n You shall:\n

\n
    \n
  1. \n

    \n (A)\n designate the persons authorized by you to use the Internet Banking Services in respect of the Customer Account(s) and the scope of the authority of each such person in such manner and form as we may prescribe from time to time;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n advise us of any change in the mailing address and/or email address of the Authorized Internet User(s); and\n \n

    \n
  4. \n
  5. \n

    \n (C)\n ensure that all Authorized Internet Users comply with these Internet Banking Terms and the Standard Terms.\n \n

    \n
  6. \n
\n

\n 5.2\n You and each Authorized Internet User shall provide such information as we may from time to time reasonably request for the provision of the Internet Banking Services.\n \n

\n

\n 5.3\n You are responsible for the use of the Internet Banking Services, for taking appropriate measures to monitor and control the use of the Internet Banking Services and the appointment and change of the Authorized Internet Users, and to adopt proper safeguards against the Internet Banking Services being used by unauthorized persons or for unauthorized purposes, including but not limited to those measures set out in Clause 7 (User ID and Password) of these Internet Banking Terms.\n \n

\n

\n 5.4\n Where you have appointed an Authorized Internet User to use any Internet Banking Service, such Authorized Internet User accepts and agrees to these Internet Banking Terms for and on your behalf, and you agree to be bound by such acceptance and/or agreement by the Authorized Internet User.\n \n

\n
\n
\n

\n 6\n Use of the Internet Banking Services\n

\n

\n 6.1\n The Internet Banking Services are for the sole and exclusive use of Customers subscribing for the Internet Banking Services.\n

\n

\n 6.2\n You shall neither do nor attempt to do any of the following:\n

\n
    \n
  1. \n

    \n (A)\n decompile, reverse engineer, translate, convert, adapt, alter, modify, enhance, add to, delete or in any way tamper with, or gain access to, any part of the Internet Banking Services or any Internet Site or any software comprised in them;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n use or knowingly allow any other person to use the Internet Banking Services, the Information and/or the Reports for or in connection with any illegal purpose or activity;\n \n

    \n
  4. \n
  5. \n

    \n (C)\n remove or attempt to remove any titles or trademarks, copyrights or restricted rights notices in the Internet Banking Services;\n \n

    \n
  6. \n
  7. \n

    \n (D)\n use any automated tools (i.e. bots) to access the Internet Banking Services or perform activities; and/or\n \n

    \n
  8. \n
  9. \n

    \n (E)\n permit the use of any security testing tools in order to provide, scan, or attempt to penetrate or assess the security of the Internet Banking Services,\n \n

    \n
  10. \n
\n

\n \n and shall notify us as soon as is practicable if you become aware of any such activity.\n

\n

\n 6.3\n You must not upload or distribute files that contain viruses or other malicious code to the Internet Banking Services or do anything else to disrupt or attempt to disrupt, the systems and networks used for the provision of the Internet Banking Services. On becoming aware of an actual or suspected introduction of a virus or other malicious code to the Internet Banking Services you must notify us promptly and cooperate with us in mitigating the effects of such virus or malicious code.\n \n

\n

\n 6.4 \n You acknowledge that there may be a time lag in transmission of Information or Communication via the Internet.\n \n

\n

\n 6.5\n You acknowledge that:\n

\n
    \n
  1. \n

    \n (A)\n any information provided by you in connection with your use of the Internet Banking Services may be disclosed to or made accessible within our business, any Group Office, and/or our authorized service providers who may be located in another jurisdiction; and\n \n

    \n
  2. \n
  3. \n

    \n (B)\n your use of the Internet Banking Services may be monitored by us, any Group Office and/or our authorized service providers and that any resulting information may be collected and used by us for our internal business considerations or for any applicable Law,\n \n

    \n
  4. \n
\n

\n \n all in accordance with the terms of the Standard Terms and Conditions and you consent to such disclosure, monitoring and/or use.\n \n

\n
\n
\n

\n 7\n User ID and Password & Security\n

\n

\n 7.1\n Each Authorized Internet User shall comply with such procedures for designating his/her User ID and Password as we may prescribe from time to time.\n \n

\n

\n 7.2\n Each Authorized Internet User may change the User ID and Password at any time but any change shall be effective only if accepted by us.\n \n

\n

\n 7.3\n We may, in our sole discretion, require you to use a Security Code to access the Internet Banking Services.\n \n

\n

\n 7.4\n Each Authorized Internet User shall act in good faith, exercise reasonable care and diligence and take all reasonable precautions in keeping safe and prevent fraudulent use of the User ID, the Password and the Security Code. At no time and under no circumstances shall any Authorized Internet User disclose the User ID, the Password and/or the Security Code to any other person.\n \n

\n

\n 7.5\n You are fully responsible for any accidental or unauthorized disclosure of the User ID, the Password and/or the Security Code of any Authorized Internet User to any other person and shall bear the risks of the User ID, the Password, the Security Code or mobile device of any Authorized Internet User being used by unauthorized persons or for unauthorized purposes.\n \n

\n

\n 7.6\n If you activate the feature that allows you to use your biometric credentials (such as fingerprint identity or face recognition) in the Mobile Banking Application and enables the use of such biometric credentials to log on to the Mobile Banking Application (or any other Internet Banking Services that we may support from time to time (for compatible devices only)), you must ensure that only your own biometric credentials are registered on the device. You acknowledge and agree that:\n \n

\n
    \n
  1. \n

    \n (A)\n we have no control over the technology, availability, capability, verification method, security and integrity of the mobile device and cannot be held responsible for any unauthorized access to the Internet Banking Services using biometric credentials; and\n \n

    \n
  2. \n
  3. \n

    \n (B)\n you must not take any action to disable any function provided by, or agree to any settings of, your device that would otherwise compromise the security of the use of your biometric credentials for authentication purposes (e.g. disabling \"attention-aware\" for facial recognition).\n \n

    \n
  4. \n
\n

\n 7.7\n Upon notice or suspicion of an Authorized Internet User’s User ID, the Password and/or the Security Code being disclosed to any unauthorized person or any unauthorized use of the Internet Banking Services being made, you or the relevant Authorized Internet User shall notify us in person as soon as practicable or by telephone at such telephone number(s) as we may from time to time prescribe. We may ask you or the relevant Authorized Internet User to confirm in writing any details given and until our actual receipt of such notification, you shall remain responsible for any and all use of the Internet Banking Services by unauthorized persons or for unauthorized purposes.\n \n

\n
\n
\n

\n 8\n Customer’s instructions\n

\n

\n 8.1\n Each Authorized Internet User shall enter his/her User ID, Password, the Security Code and any other identifiers as shall be prescribed by us from time to time to logon at the Internet Site to use the Internet Banking Services and give Communication on your behalf to us on-line. We are authorized to act on the Communication of each Authorized Internet User.\n \n

\n

\n 8.2\n Any Communication must be sent by the Authorized Internet Users to us at such website address and contact point as we may specify from time to time. Unless otherwise expressly agreed by us, Authorized Internet Users shall not send any Communication to our individual officers.\n \n

\n

\n 8.3\n A Communication shall not be considered to be received by us unless it is given in such manner as we may prescribe from time to time and until we have actually received it.\n \n

\n

\n 8.4\n Any Communication, once given, may not be rescinded or withdrawn without our consent. We shall be under no duty to verify the identity or authority of the person sending any Communication or the authenticity of any Communication apart from verifying the User ID, the Password, the Security Code and such other identifiers (if any) of the relevant Authorized Internet User.\n \n

\n

\n 8.5\n We will only act on a Communication insofar as it is in our opinion practicable and reasonable to do so and in accordance with our regular business practices and procedures. We have a right to delay acting or refuse to act on a Communication if we are aware of or suspect a breach of security or other suspicious circumstances relating to the use of Internet Banking Services.\n \n

\n

\n 8.6\n All transactions effected by us for you pursuant to a Communication shall be binding on you.\n \n

\n

\n 8.7\n Advice or Confirmation that a Communication has been received by us and/or a transaction or dealing has been effected may be provided by us on-line if you have so elected and agreed. You agree to check such advice or Confirmation to ensure its accuracy and completeness. You will enquire with us if you do not receive an advice or Confirmation or if you believe that any information in such advice or Confirmation is inaccurate or incomplete.\n \n

\n

\n 8.8\n Information relating to any account, transaction or dealing made available on the Internet Site(s) are for reference only. Our records of such account, transaction or dealing shall in absence of fraud or manifest error be evidence thereof.\n \n

\n
\n
\n

\n 9\n Information Providers\n

\n

\n 9.1\n An Information Provider may impose from time to time terms and conditions in relation to the availability of any Information supplied by it. Access to such Information by you on or after the effective date, subject to prior notification, of such terms and conditions shall constitute your acceptance thereof.\n \n

\n

\n 9.2\n The Information and the Reports are made available for reference only.\n

\n

\n 9.3\n Except to the extent required by applicable Laws or provided for in any Relevant Document, neither we nor any Information Provider warrants, represents or guarantees the sequence, accuracy, truth, reliability, adequacy, timeliness or completeness of any of the Information or the Reports or whether it is fit for any purpose. You agree to independently assess and verify such matters in any Information or Report and, except to the extent required by applicable Laws or provided for in any Relevant Document, neither we nor any Information Provider assumes any liability (whether in tort or contract or otherwise) for any reliance on the Information or the Reports by you or any other person. However, this clause does not preclude any responsibility that we or the Information Provider may have to you or any other person in relation to conduct, statements or representations that we or the Information Provider may have under applicable Laws.\n \n

\n

\n 9.4\n The Information will be made available as it is supplied by the Information Provider. We do not endorse or express any comment on any Information supplied by any other Information Provider nor assume any duty to check or verify any Information.\n \n

\n
\n
\n

\n 10\n Confidential Information\n

\n

\n 10.1\n Confidential Information are trade secrets and confidential and proprietary property of us and the respective Information Providers.\n \n

\n

\n 10.2\n Unless expressly permitted by these Internet Banking Terms or us, you shall neither do nor attempt to do any of the following:\n \n

\n
    \n
  1. \n

    \n (A)\n sell, transfer, disclose, assign, convey, lease, sub-license, share, loan, distribute, transmit, broadcast, cablecast, put in circulation, duplicate or otherwise provide or disseminate any Confidential Information in any form or by any means to any other person or commercially exploit any Confidential Information;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n download or reproduce any Confidential Information other than for your own personal reference and use; and/or\n \n

    \n
  4. \n
  5. \n

    \n (C)\n remove, obliterate, erase, relocate or modify in any way any proprietary marking on or appearing with the Confidential Information including, without limitation, any trademark or copyright notice.\n \n

    \n
  6. \n
\n

\n 10.3\n The restrictions on disclosure shall not apply to any Confidential Information:\n \n

\n
    \n
  1. \n

    \n (A)\n where its disclosure is compelled by law but only to the extent required by law and only after written notice of the requirement to disclose has been given by you to us; or\n \n

    \n
  2. \n
  3. \n

    \n (B)\n where we have expressly agreed in writing to its disclosure.\n

    \n
  4. \n
\n

\n 10.4\n All right, title and interest in and relating to the Confidential Information and any and all related copyright, patent, trademark, service mark, proprietary property, trade secrets and exclusive works are and shall remain the exclusive property of us and the respective Information Providers. No right, title or interest other than the right to access the Information and the Reports subject to these Internet Banking Terms is conveyed or transferred to you. You shall not make any representation or do any act which may be taken to indicate that you have any such right, title or interest.\n \n

\n
\n
\n

\n 11\n Liabilities of the Bank\n

\n

\n 11.1\n We will take reasonably practicable steps to ensure that our systems in connection with the Internet Banking Services are installed with adequate security designs and to control and manage the risks in operating the systems, taking into account any Laws, circulars, codes of conduct and prevailing market practices which may be applicable to us from time to time.\n \n

\n

\n 11.2\n None of us, any Group Office or any Information Provider warrants or represents that the Internet Banking Services, the Information and the Reports are free from viruses or other destructive features which may adversely affect your hardware, software or equipment.\n \n

\n

\n 11.3\n Unless Clause 12.2 below applies or due to our fraud, negligence or wilful default, or the fraud, negligence or wilful default of any Group Office or our/their respective officers or employees, , neither we nor any Group Office assumes any liability or responsibility to you or any other person for the consequences arising from or in connection with:\n \n

\n
    \n
  1. \n

    \n (A)\n the use of the Internet Banking Services and/or access to any Information as a result of such use by you or any other person whether or not authorized;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n any interruption, interception, suspension, delay, loss, unavailability, mutilation or other failure in providing the Internet Banking Services (including, without limitation, any interruption, interception, suspension, delay or failure to generate the Security Code), in transmitting Information or Communication relating to the Internet Banking Services or in connecting with the Internet Site(s) caused by any acts, omissions or circumstances beyond our reasonable control including, without limitation, failure of any communication network, act or omission of any third party service providers, mechanical failure, power failure, malfunction, breakdown, or inadequacy of equipment, installation or facilities, or any Law, codes, directions, regulatory guidelines or government order (whether or not having the force of law); and\n \n

    \n
  4. \n
  5. \n

    \n (C)\n transmission and/or storage of any information and/or data relating to you and/or the Internet Banking Services through or in any system, equipment or instrument of any communication network provider.\n \n

    \n
  6. \n
\n

\n 11.4\n Neither we, any Group Office or any Information Provider shall be liable to you or any other person for any incidental, indirect, special, consequential or exemplary damages including, without limitation, any loss of use, revenue, profits or savings. This clause does not apply in circumstances of our/their fraud, negligence or wilful default.\n \n

\n
\n
\n

\n 12\n Liabilities of the Customer\n

\n

\n 12.1\n Unless Clause 12.2 below applies or unless there is fraud, negligence or wilful default by us , you shall be fully liable and responsible for all consequences arising from or in connection with the use of the Internet Banking Services and/or access to any Information or Report or any other information as a result of such use by you or any other person whether or not authorized.\n \n

\n

\n 12.2\n Subject to your obligations under Clause 7 (User ID and Password) and if, in our reasonable opinion, there is no gross negligence or fraud on your part, you shall not be liable for loss or misplacement of funds caused by unauthorized transactions conducted through the use of the Internet Banking Services.\n \n

\n

\n 12.3\n You shall indemnify us, any Group Office, any Information Provider and their respective officers and employees against all liabilities, claims, demands, Losses, damages, costs, charges and expenses of any kind (including, without limitation, legal costs on a full indemnity basis) which may be reasonably and properly incurred by any of them and all actions or proceedings which may be brought by or against any of them in connection with the provision of the Internet Banking Services, the Information and/or the Reports or the exercise or preservation of our powers and rights under these Internet Banking Terms and the Standard Terms, unless due to our fraud, negligence or wilful default, or the fraud, negligence or wilful default of any Group Office, any Information Provider or our/their respective officers or employees or unless Clause 12.2 above applies.\n \n

\n
\n
\n

\n 13\n Amendments\n

\n

\n \n We may amend and/or add to, these Internet Banking Terms from time to time. Any revision and/or addition to the Internet Banking Terms shall become effective subject to us giving prior reasonable notice which may be given to you by posting it on the Internet Site(s) or by any other means as we think fit, and shall be binding on you if you continue to maintain or use the Internet Banking Services on or after the effective date of variation.\n \n

\n
\n
\n

\n 14\n Form of Notice and Communication\n

\n

\n 14.1\n We shall be entitled to prescribe, from time to time, the form of notice (whether written or any other form) and the mode of Communication with respect to each type of notice to be given pursuant to these Internet Banking Terms.\n \n

\n

\n 14.2\n Communication sent by e-mail shall be deemed to have been received by you immediately after transmitting to the e-mail address last notified in writing by you to us.\n \n

\n
\n
\n
\n
\n

B.\tTerms and Conditions for HSBC Private Banking Insights & Research

\n
\n
\n
\n
\n

\n 1\n Introduction to these Terms and Conditions\n

\n

\n 1.1\n Your use of the HSBC Private Banking Insights & Research Services (\"I&R Services\") made available by us is governed by:\n \n

\n
    \n
  1. \n

    \n (A)\n these Terms and Conditions for HSBC Private Banking Insights & Research (the \"I&R Terms\");\n \n

    \n
  2. \n
  3. \n

    \n (B)\n the Terms and Conditions for Internet Banking Services (the \"Internet Banking Terms\"); and\n \n

    \n
  4. \n
  5. \n

    \n (C)\n our Standard Terms and Conditions as found\n here,\n

    \n
  6. \n
\n

\n \n together the \"Terms\". To the extent of any conflict between these I&R Terms and the Internet Banking Terms or the Standard Terms and Conditions, they shall take priority in the order listed above (highest to lowest). We may amend the I&R Terms from time to time upon giving reasonable notice to you.\n \n

\n

\n 1.2\n Capitalised terms used but not otherwise defined in the I&R Terms have the same meanings ascribed to them in the Internet Banking Terms and Standard Terms and Conditions.\n \n

\n

\n 1.3\n For the avoidance of doubt, the terms \"Internet Banking Services\" and \"Internet Site\" as defined in the Internet Banking Terms will, respectively, include the I&R Services and the Insights & Research site (\"I&R\").\n \n

\n
\n
\n

\n 2\n Access and use of Publications\n

\n

\n 2.1\n We may provide you and/or your Authorized Internet User with access to I&R (each a \"User\"), a digital platform which enables the User (among other things) to access certain:\n \n

\n
    \n
  1. \n

    \n (A)\n Global Private Banking macro commentary on financial markets (\"GPB Macro Reports\");\n \n

    \n
  2. \n
  3. \n

    \n (B)\n HSBC Global Research reports (\"HSBC Research Reports\") by Global Research, a subdivision of our global markets division (\"HSBC Global Research\") and/or\n \n

    \n
  4. \n
  5. \n

    \n (C)\n non-HSBC third party publications (\"Third Party Publications\") \n \n

    \n
  6. \n
\n

\n \n \n (collectively referred to herein as \"Publications\"). \n \n

\n

\n 2.2\n The Publications may discuss financial markets and investment products across several asset classes and may include financial research material covering specific financial instruments and issuers. The types of Publications accessible to each category of User will be determined by us in our discretion.\n \n

\n

\n 2.3\n Only persons whose details have been provided to and who have been approved by us as Users may use the I&R Services. It is your responsibility to ensure that each User appointed by you has read and understood the Terms. \n \n

\n

\n 2.4\n We will provide each User with access to the Publications via I&R which can be accessed using our Internet Banking Services. Users may also receive Publications via email from their relationship managers or investment counsellors, or by using the subscription alert function on I&R.\n \n

\n

\n 2.5\n The Publications are provided to each User exclusively in the English language. By nominating any User, you confirm that each User is sufficiently proficient in English to fully understand the contents of the Publications and any important disclaimer or risk warning which they may contain. \n \n

\n

\n 2.6\n No User will try to contact the issuer of any Publication directly, including but not limited to any HSBC Global Research analyst or third party, or any of their representatives or employees.\n \n

\n
\n` + tc2;\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: \"Terms and Conditions\",\n html: TermsAndCondition\n }\n ]\n};\n","import { tc2 } from \"./T&C2\";\nexport default `\n\n\n\n\n\n\n\n\n\n\n\n
\n\n

ONLINE PRIVATE BANKING SERVICES TERMS AND\nCONDITIONS AND CONSENT TO ELECTRONIC DOCUMENTS

\n\n

PLEASE\nREAD THIS INFORMATION CAREFULLY.

\n\n

The\nfollowing Terms and Conditions and Consent To Electronic Documents, as amended\nfrom time to time, together with any applicable account agreements\n(collectively \"Online Terms and Conditions\"), govern the use of\nOnline Banking Services (\"Online Services\") for HSBC Private Banking,\na division of HSBC Bank USA, N.A. and HSBC Securities (USA) Inc., as\napplicable.

\n\n

 

\n\n

The\nwords \"you\"; \"your\" and \"yours\"; and\n\"account holder\" refer to each and every person or organization who\nholds the account. The words \"we\"; \"us\"; \"our\"\nand \"ours\"; and \"Private Banking\" and \"Private Banking's\"\nrefer to HSBC Bank USA, N.A., HSBC Securities (USA) Inc., and any other\ncorporation or entity owned or controlled directly or indirectly by, or under\ncommon control with HSBC Holdings plc, including without limitation any branch,\nsuccessor or assignor of any of the foregoing.

\n\n

1.     Online Services: Online Services includes the\nfollowing:

\n\n

a.     \nBalance Information:\nObtain account balances and Private Banking information as of the close of\nbusiness on the preceding Business Day. \"Business Day\" refers to a\nday which is a business day at the relevant Private Banking office.

\n\n

b.  \nTransaction Information: Review transaction information for the last eighteen (18) months.\nTransaction information is available on the Business Day after execution. Download\nand/or print transaction information by following the online instructions\naccessible from the transaction screen.

\n\n

2.     Eligible Accounts: Online Services are not\navailable for all accounts and availability may be changed from time to time at\nour discretion. For further information on which accounts are eligible for\nOnline Services, please contact your Relationship Manager. All eligible\nAccounts that are selected for Online Services will be linked and will appear\ntogether without regard to ownership of those Accounts. For example, if an\nAuthorized Representative or Authorized User (as defined below) accesses Online\nServices, that Person will be able to view and access at a single time the\nAccounts of any Organization for which that Person is an Authorized Representative\nor Authorized User; and any individual or other Account for which the Person is\na joint holder or an authorized signer under a power of attorney or other\nauthority.

\n\n

3.     Authorized Representatives: An account\nholder's designated Authorized Representative is authorized from time to time\nto agree to the terms and conditions in this Online Terms and Conditions, as\namended from time to time. An Authorized Representative can access each\neligible account and request linkage of such accounts in any manner and\notherwise act and receive information and Services as available through Online\nServices from time to time, whether now or at some time in the future, and we\nmay, but are not required to, act on such instructions. Any Authorized\nRepresentative certifies individually that s/he is authorized and empowered to\nso act.

\n\n

4.     Authorized User: You may request that online\naccess, including access to information about online statement availability, be\ngranted to one or more “Authorized Users”. If permitted to “View Details,” all\nAuthorized Users will be able to view account transaction details, including\npayee name and account number, which would otherwise be hidden.

\n\n

5.     You can change your Password at any time: For\nyour protection, you should memorize your password, username and Login\nCredentials; do not keep any notation of them on or with your computer. You\nagree not to give or make available your Login Credentials to anyone you do not\nauthorize to use Online Services. Protect your Login Credentials to avoid any\nunauthorized access to your Account(s). If any of your Accounts is a joint\naccount or has additional Authorized Representatives, each Account Holder may\nregister for separate Login Credentials.

\n\n

If\nyou choose to activate the feature that allows you to use your biometric data\n(for example, fingerprint or facial print) to log onto Online Services (for\nsupported devices only), you must not allow anyone else's biometric data to\naccess your mobile device. If you do allow anyone else's biometric data to be\nstored in your mobile device, those persons will have access to your Online\nServices and you will be responsible for any money withdrawn or transferred\nfrom your accounts when such person uses their stored biometric data.

\n\n

6.     Removal of Account Access: You may request\nremoval of online access to any Account by notifying us in writing.

\n\n

7.     Security: There are risks associated with the\nuse of Services through the Internet, including but not limited to unauthorized\naccess, system outages, delays and disruption in telecommunications services\nand the Internet. Additional information security risks may be posed by\nservices used to access the Internet, including but not limited to, public\ncellular telephone carriers, and public and private wireless (Wi-Fi) systems.\nSecure E-Mail and the other Services available under Online Services are\ndesigned to provide maximum security for your information. They require a\nusername and password; they use high levels of security through 128-Bit\nEncryption. However, the confidentiality of Secure E-Mail or other Internet\ntransmission is not absolute and cannot be guaranteed.

\n\n

8.     Hardware and Software Requirements: You agree\nthat in order to use Online Services you have or will have access at all times,\nat your cost, to a personal computer or mobile smartphone device (Android OS 7\nor higher and Apple iOS 12 or higher) installed, as appropriate, capable of\nsupporting high-level browser encryption, Internet access, and a valid e-mail\naddress. The Account Holder(s) agree that in order to use Online Services they\nwill maintain the specified or later version of one or more of the following\nbrowsers: Microsoft Internet Explorer 11; Google Chrome 67; Mozilla Firefox 60;\nSafari 10; Microsoft Edge; and that they have access to a printer, or the\nability to download information, in order to keep copies for records. The\nAccount Holder(s) must also have access to Adobe Reader 9.0 (or a later\nversion) (http://get.adobe.com/reader) to utilize PDF files.

\n\n

9.     Your Responsibilities: You confirm that you\nhave reviewed the security features for Online Services and determined that\nthese features, together with your own security measures, are adequate for your\nAccount(s). You agree that you are responsible for the performance and\nprotection of any browser used in connection with Online Services, including\nthe prompt adoption of all security patches and other security measures issued\nor recommended from time to time by the suppliers of such browsers. All Account\nHolders assume full responsibility individually and together for any and all\nuse, unauthorized use or misuse of Online Services by any Account Holder,\nAuthorized User or other person through their facilities or otherwise, and\nagree that they will be bound by any action, transaction, message or\ninstruction effected through the Security Details, whether or not the action or\ntransaction, or the person carrying out the action or transaction, was properly\nauthorized or not. You agree that you will be bound by any affirmance, assent\nor agreement transmitted to   Private Banking. You agree that by\nclicking on an \"I agree\", \"I consent\" or other similarly\nworded \"button\" or entry field with a mouse, keystroke or other\ncomputer device, the agreement or consent will be legally binding and\nenforceable and the legal equivalent of a handwritten signature by or for the\nAccount Holder(s), Authorized Signer(s) and/or other representative(s). It is\nyour sole responsibility to advise Private Banking immediately of any changes\nor updates to the designated e-mail address and/or Authorized Users. To update\nyour e-mail address, for questions about receiving disclosures, or for\ntechnical or other assistance, contact your Relationship Manager/Administrator.

\n\n

10.  System\nResponsiveness: You understand that Online Services\nsystem response times may vary due to market conditions, system performance,\naccess device location or other factors, and that access to Online Services may\nbe limited or unavailable during periods of peak demand, market volatility,\nsystems upgrades or maintenance, or for any other reason whatsoever. You\nacknowledge that interruption or malfunction of communications, failure of\nsoftware or equipment, or malfunction of your or our computer system for any\nreason may result in our not receiving instructions or you not receiving our\nelectronic acknowledgement, if applicable, and that   Private Banking\nshall have no liability in respect of any such interruption or malfunction. You\nare responsible for contacting us outside Online Services if you have not\nreceived our electronic acknowledgement, if applicable, for any transactions or\nother action completed or attempted online.

\n\n

11.  Reserved.

\n\n

12.  Not\nOfficial Documents: Account information, including\npricing information, received through Online Services that is not delivered\npursuant to the E-Alert Service with paper statement suppression, is provided\nfor your convenience only. It may not be complete, updated, current or accurate.\nYou agree that your periodic statement provided on paper, or, if applicable,\nunder the terms of the E-Alert Service, will constitute the official record or\nstatement of the relevant Account(s).

\n\n

13.  Equipment\nFailure: Private Banking, its directors, officers,\nemployees, service providers or agents shall not be liable for any Claims\nresulting in whole or in part from any act or failure to act caused by the\nequipment or software belonging to you, them or any third party; any Internet\nbrowser provider; any wireless phone provider; any Internet access provider;\nany online service provider; or any Affiliate, agent or contractor of any of\nthe above.

\n\n

14.  Recording: You \nauthorize us to record and copy all forms of electronic communication including but not limited to e-mail communications.

\n\n

15.  Online\nAccess and Privacy: You understand and agree that the\nuse of Online Services by you, any Account Holder, any Authorized\nRepresentative or Authorized User, to access, download and/or print Account\ninformation outside of the United States, may subject the information to the\nlaws of those non-U.S. jurisdictions, and that such laws may differ from U.S.\nlaws with respect to privacy and required disclosure of records and\ninformation.

\n\n

16.  Sharing\nInformation with Affiliates and Service Providers: You\nunderstand and agree that the Online Services (including server locations and\nwebsite hosting), may be provided by an Affiliate of Private Banking or other\nservice provider, which may be located in the United States or in a non-U.S.\njurisdiction. You specifically consent to the sharing of information of any\nkind about you with any Affiliate or service provider in connection with the\nprovision of Online Services.

\n\n

17.  Fees:  Private Banking \ndoes not charge fees for accessing our Online\nServices. However, you may be charged a monthly inactivity fee as set forth on\nthe related Fee Schedule for not logging into Online Services at least once\nwithin a twelve (12) month period. If electronic transaction fees later apply,\nyou will receive notice in advance of such changes to this Online Terms and\nConditions. You understand that accessing electronic statements and other\nfeatures through Online Services and receiving e-mail notices may result in\ncosts associated with e-mail, electronic access, downloading, online time and\nsubscription costs associated with Internet and telecommunications service\nproviders, paper and printing costs, and equipment or software upgrades if\nnecessary. You agree that you will pay all such costs and expenses in\nconnection with your use of the electronic statement Service or other Service\nunder Online Services.

\n\n

18.  Additional\nTerms: Use of Online Services may also be subject to\nthe terms or instructions appearing on the screen when using the service.

\n\n

19.  Indemnification: Except \nas specifically provided otherwise in these Online Private Banking\nTerms and Conditions (or where applicable law requires a different result which\nis not modifiable by contract), none of the Indemnified Parties will be liable\nfor any Claims resulting in whole or in part from any act or failure to act of\ntheir, your, or any third party's equipment or software, of any Internet\nbrowser provider, of any Internet access provider, of any online service\nprovider, or of any Affiliate, agent or contractor of any of them.

\n\n

20.  Termination: We \nmay cancel your Online Services access without prior notice if\nthere has been no Online Services activity for a period of three (3)\nconsecutive months or for any other reason. We may also cancel all or part of\nOnline Services or any Service thereunder for any reason.

\n\n

21.  Electronic\nDocuments:

\n\n

a.     \nConsent: By switching\nto paperless, you consent to receive electronic documents for all of those\naccounts, products, and services that are provided to you through HSBC Private\nBanking and their affiliates and that are accessible, either currently or in\nthe future, through Online Services (whether accessed through a personal\ncomputer or mobile device, sometimes referred to as \"Mobile Banking\"\nor other similar name), our websites, or other electronic means, including\ne-mail. This includes, but is not limited to, the following account, product,\nand service types: deposit accounts, credit and lending, credit cards, investment\naccounts, custody, insurance, and other services.

\n\n

b.    \nYour Legal Rights:\nCertain laws and regulations require us to provide specific information to you\nin writing, which means you have a right to receive that information on paper.\nWe may provide such information to you electronically if we first obtain your\nconsent to receive the information electronically. Your consent will also apply\nto any other Authorized User that you have designated to us in your account\ndocumentation, subject to applicable law. At times, we may still send you paper\ndocuments, and electronic documents may not be available for certain accounts.\nIn clause (d) below, we explain ways to obtain selected disclosures or other\ninformation on paper even after you have consented to electronic documents.

\n\n

c.     \nTypes of Electronic Documents You Will Receive: You understand and agree that we may provide to you in electronic\nformat only, by posting the information on the website where you access your\naccounts, products or services; through e-mail (if applicable and if you have\nprovided a valid e-mail address); or through other electronic means,\nagreements, disclosures, notices, and other information and communications\nregarding your accounts, services and products, the use of our websites or our\nother electronic services, your relationship with us, and/or other programs,\nproducts or services that are or may be in the future made available to you\n(collectively, \"Documents\"). Such Documents may include, but are not\nlimited to:

\n\n

i.       These Online Terms and Conditions including any updates or amendments,\nand any other service or user agreements for access to our websites or other\nelectronic services; all updates to these agreements, and all disclosures,\nnotices and other communications regarding transactions you make through our\nwebsites or our other electronic services;

\n\n

ii.      The account opening application, HSBC Private Banking Terms and\nConditions for Accounts and applicable Supplements and Rules for Consumer\nDeposit Accounts, in each case, as may be amended from time to time;

\n\n

iii.    Periodic, annual, monthly or other statements, disclosures and notices\nrelating to the maintenance or operation of an account, product or service\nincluding, but not limited to account information, account activity, account\ninactivity, payments made or due, or other statements, disclosures or notices\nthat may be required by applicable federal or state laws and regulations;

\n\n

iv.    Investment account disclosures, agreements, statements, trade\nconfirmations, tax reporting statements, shareholder notices, prospectuses,\nservice notices and performance reports regarding accounts, products and\nservices;

\n\n

v.     Any notice or disclosure regarding an account, product or service fee,\nsuch as a late fee, an overdraft fee, an over limit fee, a fee for a draft,\ncheck or electronic debit returned for any reason, such as insufficient funds\nfee or a fee as a result of a stop payment order;

\n\n

vi.    Any notice of the addition of new terms and conditions or the deletion\nor amendment of existing terms and conditions applicable to accounts, products\nor services you obtain from us;

\n\n

vii.   Our\nPrivacy Notice and other privacy statements (by posting such notices on our\nwebsite at https://www.us.hsbc.com/online-privacy-statement/; and

\n\n

viii.  Certain\ntax statements or notices that we are legally required to provide to you, such\nas the annual Internal Revenue Service (IRS) interest statements.

\n\n

d.    \nSetting Your Electronic Documents Preferences: When you provide your Consent to Electronic Documents, you will still\nbe able to set your preferences to receive certain categories of Documents in\neither electronic and paper format or electronic format only. You may not be\nable to set your Documents preferences for all products, accounts or services.\nIf you decide to receive some Documents in paper and some electronically, the\nDocuments that you receive electronically will be governed by this Consent to\nElectronic Documents.

\n\n

e.     \nTypes of Documents You Will Receive in Paper: This Consent does not apply to any Documents that we determine, in our\nsole discretion, that we are required to deliver in paper form under applicable\nlaw or that you should receive in paper rather than electronic form.

\n\n

f.      \nHardware and Software Requirements: You agree that in order to use Online Services you have or will have\naccess at all times, at your cost, to a personal computer or mobile smartphone\ndevice, as appropriate, capable of supporting high-level browser encryption,\nInternet access, and a valid e-mail address. The Account Holder(s) agree that\nin order to use Online Services they will maintain the specified or later\nversion of one or more of the following browsers: Internet Explorer 10.0 (or a\nlater version) for PC; Firefox 60 (or a later version) for PC; Safari 10 (or a\nlater version) for Mac; Firefox 60 (or a later version) for Mac; and that they\nhave access to a printer, or the ability to download information, in order to\nkeep copies for records. The Account Holder(s) must also have access to Adobe\nReader 9.0 (or a later version) (http://get.adobe.com/reader) to utilize PDF\nfiles.

\n\n

g.    \nIn certain circumstances, some Documents may be\nprovided by e-mail. You are responsible for providing us with a valid e-mail\naddress to accept delivery of Documents. At our option, we may also post the\nemailed Documents within our websites.

\n\n

h.    \nTo print or download Documents you must have a\nprinter connected to your device or sufficient hard-drive or other storage\nspace to store the Documents.

\n\n

i.      \nHow to Withdraw Your Consent to Electronic\nDocuments: Subject to applicable law, you may withdraw\nyour Consent to Electronic Documents by contacting our Relationship Manager. If\nyou no longer wish to have access to Online Services, please contact your\nRelationship Manager. You will not be charged a fee for withdrawal of your\nconsent. It may take up to 30 days for your withdrawal of consent to become\neffective. Your consent shall remain in force until withdrawn in the manner\nprovided in this section. Remember that you can always set your Documents\npreferences as described in Section 3 above without withdrawing your Consent to\nElectronic Documents. Your withdrawal of consent will also apply to any other\nAuthorized User identified in the Online Services Application, subject to\napplicable law.

\n\n

j.      \nConsent Coverage; Notices That You Are Required\nto Provide. Applicable law or contracts sometimes\nrequire you to give us \"written\" notices. You must still provide\nthese notices to us on paper. Your Consent to Electronic Documents does not impact\nnotices that are required to be provided by you, unless otherwise stated.

\n\n

k.     \nObtaining Copies of Electronic Documents: You may print or make a copy of Documents by using the\n\"Print\" menu feature from Acrobat Adobe application (or otherwise\nusing your printing functionality) or saving a copy. You may request a paper\ncopy of any electronic document that is available on Online Services provided\nwe receive your request within 12 months after the date the Communication was\nfirst made available to you electronically. Our standard fee currently in\neffect for delivery of paper copies of account documents will apply. For paper\ndocument requests, please contact your Relationship Manager.

\n\n

l.      \nUpdating Your Contact Information: It is your sole responsibility to advise us immediately of any changes\nor updates to the designated e-mail address. In the event that your e-mail\naddress or other contact information is changed, you must notify us of such\nchanges immediately by contacting your Relationship Manager to update your e-mail\naddress or other contact information. If you fail to update or change an\nincorrect or invalid e-mail address or other contact information, you\nunderstand and agree that any Documents shall nevertheless be deemed to have\nbeen provided to you if they were made available to you in electronic form on\nour websites, e-mailed to the e-mail address we have for you in our records, or\ndelivered through other electronic means.

\n\n

m.   \nRetain Copies for Your Records: We recommend that you print or download a copy of these Online Terms\nand Conditions, the applicable service agreement and all other Documents to\nretain for your permanent records. It is your sole responsibility to maintain\ncopies of Documents we send to you; we are not responsible for collecting\nDocuments in one place for you to access at a later date.

\n\n

n.    \nIf we determine that a change to the Electronic\nDocument Service concerning any future system or hardware enhancement creates a\nmaterial risk that you may not be able to access or retain a subsequent\nelectronic record, we will notify you of such change and allow you to withdraw\nconsent for this electronic document service, whereupon we may terminate this\nservice until you choose to enroll again and deliver a new consent to\nparticipate in this service by accepting our online consent form or otherwise\nconsenting.

\n\n

22.  Electronic\nDocuments: When you sign up for Online Services, your\npaper documents will be made available to you electronically at https://www.privatebanking.us.hsbc.com/login/#/logon.\nYou will continue to receive your paper documents under existing arrangements,\nunless you elect to suppress paper documents if that service is available for\nyour account(s). You will not receive an email alert when your electronic\ndocuments are ready to be viewed, except for certain mandatory documents as\ndescribed below in Section 24. Any correspondence that may be mailed to you\nseparately or that may be included in your statement package will not be\navailable electronically through Online Services. We reserve the right to continue\nto send correspondence to you by email, mail or personal delivery, consistent\nwith these or other terms and conditions governing your accounts. It is your\nsole responsibility to advise Private Banking immediately of any changes or\nupdates to the designated email address/or authorized person(s).

\n\n

23.  Email\nAlert Service - Electronics Documents with Paper Document Suppression: If this service is available for your account(s), you may elect to\nturn off Paper Document Delivery once you are logged onto Online Services by\nclicking on the paperless setting tab and turning off paperless. Your request\nfor Paper Suppression will not apply to certain mandatory documents as\ndescribed below in section 24. If you elect to turn off Paper Document\nDelivery, you are requesting the Email Alert Service for electronic documents\nfor your designated accounts and you agree as follows:

\n\n

a.     \nPrivate Banking is authorized to send an Email\nAlert notice to the email address that you have provided when the electronic\nversion of your document is available to view through Online Services. It is\nyour sole responsibility to inform us of any changes to the designated email\naddress. You will have access to the electronic documents for up to 18 months.\nThis service provides you with the flexibility to print and save documents that\nare made available online. If you choose this Email Alert with Paper Document\nSuppression service, the electronic document will be your official document.

\n\n

b.    \nThe selected paper documents for the designated\naccounts will no longer be mailed to you within a reasonable amount of time\nafter you enroll for the Email Alert Service, regardless of the frequency of\nsuch documents. Until the Email Alert Service is activated, you may receive\nboth a paper and an electronic document.

\n\n

c.     \nThe Email Alert will be the only notice sent to you\nadvising that your electronic document has been posted to Online Services. No\nother notice of any kind will be given. If you don't receive an Email Alert\nwithin 30 days of signing up for this service, please contact your Relationship\nManager to confirm your e-mail address on file is current. Any and all Email\nAlerts sent by Private Banking to the designated email addresses will\nconstitute sufficient and effective delivery of the information contained in\nyour electronic document. Even if the computer, the Email Alert, the Online\nServices website, or the particular document is never accessed or reviewed, the\ndocument shall be deemed to have been delivered personally, whether actually\nviewed or not. You agree to maintain access to Online Services in a manner\nthat gives you continuous ability to access, review and print your electronic\ndocuments and to receive and access all notices sent to you at the designated\nemail address.

\n\n

d.    \nEmail is not private or secure. The Email Alert\nsent to you is an unencrypted, automatic notice. Although the notice is not\nintended to contain personally identifiable confidential financial information,\nit may contain in its design part or all of your name or other identifier,\nwhich could be seen or intercepted by others if delivered to an address,\ncomputer or electronic device not exclusively under your control.

\n\n

e.     \nYou confirm that:

\n\n

i.       you have the available software and equipment required to view and\nprint your electronic documents;

\n\n

ii.      you have provided a valid email address to receive notifications that\nyour electronic document is available;

\n\n

iii.    you agree to receive electronically the documents which are made\navailable for various types of accounts from time to time, and you agree to be\nbound by the terms of this agreement; and

\n\n

iv.    you confirm that you are able to access and retain the electronic\ndisclosures and terms and conditions, as amended from time to time, that are\nmade available through Online Services or provided to you electronically\nthrough Secure Message.

\n\n

f.      \nYou should print a paper copy of all account\ndisclosures, statements, account terms and all other electronic documents that\nare important to you and retain a copy for your records.

\n\n

g.    \nYou may request a paper copy of any electronic\ndocument that is available on Online Services and our standard fee then in\neffect for delivery of paper copies of account documents will apply. For paper\ndocument requests, please contact your Relationship Manager. A request for a\npaper copy does not cause a termination of the Email Alert Service. A paper\ncopy of electronic documents can be obtained until the electronic document is\nno longer required to be made available or maintained under applicable law or\nregulation.

\n\n

h.    \nIf the method of electronic delivery of documents\nrequires additional software, upgrades, plug-ins or additional security\nfeatures in hardware or software system used by you, you may elect to terminate\nthe Email Alert Service. If you do not terminate the Email Alert Service, you\nhereby agree to upgrade your hardware or software system to the required\nstandards. You acknowledge and agree that failure to obtain any necessary\nsystem upgrades, as described above, may result in interruption of the Email\nAlert Service and/or access to Online Services. Any potential losses associated\nwith such interruption are solely for your own account and risk.

\n\n

i.      \nYou may revoke consent to the Email Alert Service,\nby providing a written revocation of consent that will become effective upon Private\nBanking’s receipt and reasonable opportunity to act thereon. Paper copies of\nrelevant documents will be sent to your permanent address of record within a\nreasonable time thereafter. Your revocation does not affect the validity or\nlegal effect of any prior electronic document deemed delivered as set out\nabove.

\n\n

j.      \nDO NOT respond to the Email Alert notices by return\nemail, or use the reply function to request information, service, paper copies\nor other items or to revoke consent. We will not act on requests made in that\nmanner.

\n\n

24.  Notwithstanding\nany provision to the contrary, Private Banking reserves the right, in its sole\ndiscretion, to send you paper copies and/or electronic copies of any documents\nthat Private Banking deems to be mandatory. For these mandatory documents, you\nwill automatically receive an Email Alert. You will not be able to turn off the\nEmail Alert Service for mandatory documents.

\n\n

25.  Insights\nand Research Terms and Conditions. The Insights and\nResearch (“I&R”) terms and conditions in this Section 25 of the Online\nTerms and Conditions herein (“I&R Terms and Conditions”) govern the use of\nand constitute your agreement with respect to the Publications, as defined\nbelow. Capitalized terms not otherwise defined in this Section 25 shall have\nthe meaning set forth in the Online Terms and Conditions.

\n\n

a.     \nAccess to Publications

\n\n

i.       I&R is a digital platform within Online Services that enables you\nto access select (i) Global Private Bank macro commentary on financial markets\n(“GPB Macro Reports”); (ii) HSBC Global Research reports (“HSBC Research”) by HSBC\nGlobal Research (“HSBC GB&M”), a division of HSBC Securities USA, Inc. (“HSI”)\nand/or (iii) third party publications (“3rd Party Publications”) (collectively\nreferred to herein as “Publications”). The Publications may discuss financial\nmarkets and investment products across several asset classes and may include\nfinancial research material covering specific financial instruments and\nissuers.

\n\n

ii.      You and your employees or other authorized persons will become the user\nof the services provided hereunder and each of you will be a “User” or “Users”.\nEach User, including you, agrees to be bound by the I&R Terms and\nConditions, the Online Terms and Conditions, the account opening agreements,\nthe HSI terms and conditions, and such other terms and conditions, disclosures\nand disclaimers that may be applicable to specific research accessed, including\nany amendments to the respective terms and conditions.

\n\n

iii.    This service enables your access to Publications through I&R for\nyour own information only. You agree that you will not distribute the\nPublications to any third party or related party.

\n\n

iv.    Each User’s access to the Publications is currently free of any fees or\nother charges, although we reserve the right to charge a fee in the future. You\nwould be notified prior to any such change. Your internet service provider and\nyour telephone company may charge fees.

\n\n

v.     While Private Banking will strive to provide the Users with\nuninterrupted access to the Publications, it does not guarantee that such\naccess will be free of any interruption, and disclaims all liability in this\nregard.

\n\n

vi.    Without prior notice, Private Banking may decide to suspend any User’s\naccess to the Publications for an indefinite period of time if, in its sole\ndiscretion, it finds that any of the above terms and conditions have been\nbreached, or for any other reason which, in Private Banking’s opinion, may\nrequire such suspension. In particular, and without limiting the generality of\nthe foregoing, the Private Banking may suspend any User’s access if such access\ncould contravene to any laws and regulations applicable to any User’s personal\nsituation or location. Private Banking may attempt to provide each User with a\nnotice prior to any suspension of any User’s access, but does not undertake any\nobligation whatsoever to do so.

\n\n

b.    \nEligibility: As a\nPrivate Banking client, you are eligible to receive access to certain\nPublications through I&R. However, you acknowledge that you may only have\nlimited I&R access and in some cases may only have access to (i) only GPB\nMacro Reports (“Level 1 Access”); (ii) only GPB Macro Reports and HSBC Global\nResearch Macro Reports (“Level 2 Access”) or (iii) GPB Macro Reports, HSBC\nGlobal Research Macro Reports and GPB Macro Reports, HSBC Global Research Macro\nReports, HSBC Global Research detailed asset class level reports for equities\nand fixed income as well as HSBC Global Research and third party research\nsingle line equity and fixed income reports at the company, security and issuer\nlevel (“Level 3 Access”). You understand and acknowledge that Private Banking\nwill apply its own commercial criteria based on the overall relationship in\ndetermining which of the Publications any particular Private Banking client may\nbe granted access to through I&R and this access level may be revised at\nany time at the Private Banking’s sole discretion.

\n\n

c.     \nDistribution Channels of Publications

\n\n

i.       The Private Banking will provide each User with access to the\nPublications via I&R or any other digital platform designed to that end.\nYou as Private Banking’s client, for and on your behalf and for and on behalf\nof each User, hereby confirm that you have read, understood, and agreed to be\nbound by the I&R Terms and Conditions and the Online Terms and Conditions.

\n\n` + tc2;\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport PrivacyPolicy from \"./registrationConditions/PP.js\";\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: \"Terms and Conditions\",\n html: TermsAndCondition\n },\n {\n label: \"Privacy Policy\",\n html: PrivacyPolicy\n }\n ]\n};\n","export default `\n\n\n\n\n\n\n\n\n\n\n
\n\n

Online\nPrivacy Statement

\n\n

HSBC is committed to protecting your privacy when you use HSBC\nDigital Services. This U.S. Online Privacy Statement ("Statement")\nexplains how we collect, use, share, and safeguard your information when you\nuse our Digital Services.

\n\n

HSBC = HSBC Bank USA, N.A., its banking and non-banking U.S.\naffiliates and subsidiaries and service providers (collectively, "HSBC\nUSA", "we", "our").

\n\n

You/Your = Customers and visitors (including their agents and\nrepresentatives).

\n\n

Digital Services = Our websites, mobile applications, channels,\npages, or accounts we operate on social media sites (e.g. Twitter), and any\nother online interactions you may have with us.

\n\n

Use of our Digital Services = Visiting any Digital Services\nowned and controlled by us, receiving our e-mails and viewing our ads on\nthird-party sites and other devices that link to this Statement; using our\nDigital Services to access your accounts, our Click-to-Chat service, conduct\nonline transactions, etc.

\n\n

When you visit our Digital Services, read our e-mails or\ninteract with us on third-party sites, you are consenting to the terms of this\nStatement, except where a different online and/or mobile statement is posted\nindicating that it is intended to take the place of this Statement.

\n\n

This policy is intended for residents of the United States and\nits territories. If you are not a resident of the United States or its\nterritories, your information may be transferred or processed outside of your\nhome country, including in the United States and its territories.

\n\n

What\ninformation we collect

\n\n

We may collect basic types of information from you through\nDigital Services as described below.

\n\n

·        \n"Personal information" refers to information that\nidentifies (whether directly or indirectly) a particular individual, such as\ninformation you provide on our forms, surveys, remote deposit capture off your\ndevice, applications or similar online fields. Examples may include your name,\npostal address, unique device identifier, email address, telephone number,\nSocial Security number, date of birth or account information.

\n\n

·        \n"Anonymous information" means information that\ncannot reasonably be used to identify a particular individual. Examples may\ninclude information about your Internet browser, IP address, information collected\nthrough tracking technologies, demographic information that you provide to us\n(e.g., your household income) and aggregated or de-identified data.

\n\n

·        \n"Location information" means information that may\nbe collected by certain mobile applications that identifies your physical\nlocation. This information may be collected from your mobile device's\nlocation-aware features when you request certain services that are dependent on\nyour physical location.

\n\n

·        \n"Biometric information" means information such as your fingerprint,\nvoiceprint, or facial features that you choose to provide to us for\nauthentication and fraud prevention purposes.  We will not collect your\nbiometric information without your permission.

\n\n

How\nwe use your information

\n\n

We may use your online information or combine with other\ninformation to:

\n\n

·        \npersonalize your Digital Services experience;

\n\n

·        \nrespond to your inquiries and fulfill your requests;

\n\n

·        \ndeliver marketing communications we believe may be of interest\nto you;

\n\n

·        \ninform you about important information regarding Digital\nServices, products or services, changes to terms, conditions, and policies\nand/or other administrative information;

\n\n

·        \nallow you to apply for products or services (e.g., to prequalify\nfor a mortgage, apply for a credit card, or to open a retirement account,\ninvestment account or other financial product), process transactions, and\nevaluate your eligibility for such products or services;

\n\n

·        \nverify your identity, authenticate you to use our Digital\nServices and verify your location

\n\n

·        \nallow you to participate in surveys and other forms of market\nresearch, sweepstakes, contests and similar promotions and to administer these\nactivities. Some of these activities have additional rules, which may contain\nadditional information about how Personal Information is used and shared;

\n\n

·        \nallow you to use Digital Services financial planning tools.\nInformation that you enter into one of these planning tools may be stored for\nfuture access and use. You have the option not to save the information by not\nusing these tools or by not accepting the site cookies through your browser\nwhich can limit the site functionality;

\n\n

·        \nperform activities such as data analysis, audits, usage trends\nto determine the effectiveness of our campaigns and as input into improving\nproducts and services and enhancing our Digital Services;

\n\n

·        \nimprove risk control for fraud detection and prevention, to\ncomply with laws and regulations, and to comply with other legal process and\nlaw enforcement requirements;

\n\n

·        \nallow you to utilize Digital Services features by granting us access\nto information from your device such as contact lists, or geo-location when you\nrequest certain services;

\n\n

·        \nuse it in other ways as required or permitted by law or with\nyour consent.

\n\n

How\nWe Share Your Information

\n\n

We may share your information with our affiliates and third\nparties. For example, we may share your information with:

\n\n

·        \nHSBC USA affiliated Digital Services and businesses in an effort\nto bring you improved service across our family of products and services, when\npermissible under relevant laws and regulations;

\n\n

·        \nHSBC USA third-party service providers who perform services for\nus and help us operate our business;

\n\n

·        \nother companies to bring you co-branded services, products or\nprograms;

\n\n

·        \nthird parties or affiliates in connection with a corporate\ntransaction, such as a sale, consolidation or merger of HSBC USA businesses;

\n\n

·        \nother third parties to comply with legal requirements such as\nthe demands of applicable subpoenas and court orders; to verify or enforce our\nterms of use, our other rights, or other applicable policies; to address fraud,\nsecurity or technical issues; to respond to an emergency; or otherwise to\nprotect the rights, property or security of our customers or third parties.
\n 

\n\n

For U.S. customers, we will use and share information that we\ncollect from or about you in accordance with the Customer Privacy Notice for\nyour account (see links on this page), which provides choices in the use and\nsharing of information.

\n\n

As a global company, we may share your personal information\namong HSBC USA affiliated Digital Services and businesses or service providers\nthat may be located outside your home country in order to provide you with the\nhighest quality products and services.

\n\n

We may share Anonymous or aggregated information with third\nparties to help deliver products, services, and content which is better\ntailored to the users of our Digital Services and for other purposes.

\n\n

HSBC\nMobile

\n\n

HSBC offers you the ability to access some of our Digital\nServices through our mobile app. When you use our mobile app we collect\ninformation, such as your unique device identifier, screen resolution and other\nsettings, your geo-location (with your permission), and other data used for\nanonymous analytical purposes. All HSBC mobile apps have their own terms of use\nand privacy policies for reference.

\n\n

Use\nof Aggregation Tools through HSBC Digital Services

\n\n

If you use any of our money management tools or other online\naggregation services, we collect information about the accounts and\nrelationships including registration information such as your name and e-mail\naddress. We also collect information about the accounts designated for the\nmoney management tools, such as account balances, transactions, transaction\nhistories, e-mail information, bills, payment history and other account activity.\nWe will not disclose any information about you we obtain solely through money\nmanagement tools to any non-affiliate, except as needed to provide our money\nmanagement tools, or as required or permitted by law. We may use this\ninformation to offer you other HSBC products and services that may be\nbeneficial to you. Refer to the money management tools section of the Personal Internet Banking Terms and Conditions for further details.

\n\n

Cookies\n& Other Technologies

\n\n

"Cookies" are bits of electronic information that can\ntransfer to your hard drive, mobile device, or other device to keep records of\nyour use or visit to our Digital Services. We may use cookies to improve your\nexperiences when visiting or using our Digital Services. We may use cookies to\nanonymously track interest in, and collect aggregate information when you use\nor visit Digital Services. We do not use cookies to store or transmit any\nPersonal information. Temporary "session" cookies are also used to\nfacilitate customer navigation within our Digital Services during their visit.\n"Session" cookies are deleted once you close your Internet browser.\nWe may also use "persistent" cookies that are retained on your\ncomputer after your visit ends so we can identity your preferences and enhance\nyour future visits to our Digital Services.

\n\n

"Log files" are files that anonymously log actions\nthat have occurred on a website. We may use log files to gather statistics\nabout your browsing habits and to assess overall digital activity, including\nhow many "hits" a particular web page is getting. Log files enable us\nto track interest in specific promotions, troubleshoot technical concerns, and\nprovide content that may be of interest. We also use the log file entries for\nour internal marketing and demographic studies, so we can improve the Digital\nService we provide to customers and visitors. Log files are used internally\nonly, are anonymous, and are not associated with any particular user, device,\ncomputer, or browser.

\n\n

"Web beacons" are small pieces of data that are\nembedded in images on the pages of our Digital Services. We also use these\ntechnical methods to analyze the traffic patterns on our websites, such as the\nfrequency with which consumers visit various parts of our websites. These\ntechnical methods may involve the transmission of information either directly\nto us or to another party authorized by us to collect information on our\nbehalf. We also use these technical methods in (HTML) emails that we send to\nyou to determine whether the recipients have opened those emails or clicked on\nlinks in those emails. The information from these technical methods may be\ncollected in a form that is personally identifiable.

\n\n

Behavioral\nAdvertising/Online Tracking

\n\n

Information about your online activities, combined with other\ninformation, may be used to select an advertisement for a product, service, or\noffer that matches your interests. This advertising practice is called online\nbehavioral advertising (OBA) or interest-based advertising. We allow you to\nexercise choice regarding the collection of information by third parties about\nyour online activities over time and across third-party websites or online\nservices for interest-based advertising purposes by going to these sites to\nopt-out: Network Advertising\nInitiative  or Digital Advertising Alliance\n . Opting out means you will still receive online advertising but\nthe advertising will not be tailored to your online behavior or usage.

\n\n

We do not respond to web browser 'do not track' signals at this\ntime. We await the result of work by the policy community and industry to\ndetermine when such a response is appropriate and what form it should take.

\n\n

In order to develop our other Digital Services you may use, in\nline with customer needs, we work with third parties to track usage within our\nDigital Services. These third parties provide us with statistics showing which\npages are visited most frequently, how long visitors spend on each page, and\nother and other anonymous Digital Services information. We use this information\nto help us plan how to improve these services.

\n\n

Third-Party\nLinks

\n\n

Clicking on certain links within our Digital Services may take\nyou to other websites, or may display information on your computer screen or\ndevice from other sites, which may not be maintained by HSBC. Such sites may\ncontain terms and conditions, privacy provisions, confidentiality provisions,\nor other provisions that differ from the terms and conditions applicable to our\nDigital Service. Links to other Internet services and websites are provided\nsolely for the convenience of users. A link to any service or site is not an\nendorsement of any kind of the service or site, its content, or its sponsoring\norganization.

\n\n

HSBC AND/OR HSBC GROUP MEMBERS ASSUME NO RESPONSIBILITY OR LIABILITY\nWHATSOEVER FOR THE CONTENT, ACCURACY, RELIABILITY OR OPINIONS EXPRESSED IN A\nWEBSITE, TO WHICH OUR DIGITAL SERVICES ARE LINKED (A "LINKED SITE")\nAND SUCH LINKED SITES ARE NOT MONITORED, INVESTIGATED, OR CHECKED FOR ACCURACY\nOR COMPLETENESS BY HSBC. IT IS THE RESPONSIBILITY OF THE USER TO EVALUATE THE\nACCURACY, RELIABILITY, TIMELINESS AND COMPLETENESS OF ANY INFORMATION AVAILABLE\nON A LINKED SITE. ALL PRODUCTS, SERVICES AND CONTENT OBTAINED FROM A LINKED\nSITE ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, SECURITY, OR\nACCURACY.

\n\n

Security

\n\n

We take our responsibility to protect your information very seriously.\nWe use physical, technical, and procedural safeguards that comply with\napplicable legal standards to secure your information from unauthorized access\nand use, alteration, and destruction. Refer to the Security footer link below.

\n\n

Social\nSecurity Number Protection Policy

\n\n

HSBC USA, in the normal course of business and as required by\nlaw, may collect Social Security numbers to help establish, maintain and\nservice customer accounts. We implement reasonable measures to protect and\nlimit access to these Social Security numbers, as well as prohibit their\nunlawful disclosure. Social Security numbers are classified as\n"Restricted" information under the HSBC North America Information\nSecurity Risk Policy and HSBC Information Classification Policy. As such, Social\nSecurity numbers may be accessed by and disclosed to HSBC USA team members and\nothers only with a legitimate business "need to know" in accordance\nwith applicable laws and regulations.

\n\n

Social\nMedia

\n\n

HSBC USA may provide an experience on social media platforms\nincluding, but not limited to, Facebook, Twitter, YouTube and LinkedIn that may\nenable online sharing and collaboration among users who have registered to use\nthem. Please note that when visiting any official HSBC USA social media site,\nyou are subject to this Online Privacy Statement as well as the social media\nplatform's own terms and conditions. Refer to the HSBC Social Media\nTerms and Conditions for more information.

\n\n

Children's\nOnline Privacy Protection Act

\n\n

Our Digital Services are not directed to children. We do not\nknowingly solicit or collect personal information from children under the age\n13, without parental consent.

\n\n

Updating\nYour Information

\n\n

Keeping your account information up-to-date is very important.\nIf you believe that your account information is incomplete or inaccurate,\nplease contact us through our Customer Service visit\nCustomer Service page. If you prefer, you may\ncall or write to us at the telephone numbers and addresses provided on your\naccount statements, or you may speak directly with a branch representative, or\nyour designated relationship manager.

\n\n

Changes\nto this Online Privacy Statement

\n\n

If we make updates to our U.S. online privacy practices, we will\nupdate this Statement with the changes and update the "last updated"\ndate posted at the bottom of the Statement. Any updates to the Statement become\neffective when we post the updates on this site. Your use of our Digital\nServices following any update to the Statement means that you accept the\nupdated Statement and consent to the use and sharing provisions identified in\nthe Statement.

\n\n

Governing\nLaw

\n\n

HSBC USA Digital Services are intended for customers and\nvisitors in the United States. When we process personal data and information\nand personally identifying information in the United States, we follow United\nStates data protection and privacy regulations.

\n\n

Click\nhere Opens pdf version of the Privacy Statement.

\n\n

\n†† view footnote\ncross to access a printable\nversion of the Online Privacy Statement.\n

\n\n

 Viewing PDF files require the use\nof Adobe Acrobat Reader. If you do not already have Adobe Acrobat Reader, you can download it online. After\ndownloading the software, follow the instructions for installing the program.\nIf you prefer, you can always download the files now and open them offline\nlater.

\n\n

To download the Reader to your computer, visit https://get.adobe.com/reader/\n.

\n\n

Privacy\nPolicies

\n\n

·        \nOnline Privacy Statement 

\n\n

·        \nCalifornia Privacy 

\n\n

·        \nPrivacy Notice 

\n\n

·        \nPrivate Banking Privacy\nNotice 

\n\n

  

\n\n

Security

\n\n

·        \nProtect You \n

\n\n

·        \nReport Fraud 

\n\n

·        \nProtect Your Business 

\n\n

·        \nProtecting Consumers 

\n\n

·        \nOther Security Resources 

\n\n

·        \nAlerts 

\n\n

·        \nHSBC Safeguard \n

\n\n

 

\n\n

 

\n\n

 

\n\n

Last updated: January 2020

\n\n

 

\n
\n\n\n\n\n\n\n`;\n","import { pp2 } from \"./PP2\";\nexport default `\n\n\n\n\n\n\n\n\n\n\n\n
\n\n

Before we begin

\n\n

This notice\n(Privacy Notice) applies to personal information held by members of the HSBC\nGroup as data controllers, as described below. It explains what information we\ncollect about you, how we'll use that information, who we'll share it with, the\ncircumstances when we'll share it and what steps we'll take to make sure it\nstays private and secure. It continues to apply even if your agreement for\nbanking or other products and services with us ends. It should also be read\nalongside the terms and conditions for any services provided by us, as these\nmay include sections relating to the use and disclosure of information.

\n\n

This\nPrivacy Notice covers any products or services you have with us, including\ninvestment services, custody and lending. Sometimes we may need to provide you\nwith separate or further information about specific products and services. This\nwill also apply if you have a relationship with other parts of the HSBC Group\n(e.g. HSBC business banking, first direct, M&S Bank or HSBC in any other\ncountries), who will provide you with information separately where required.

\n\n

Some of the\nlinks on our websites lead to other HSBC or non-HSBC websites with their own\nprivacy notices, which may be different to this notice. You'll need to make\nsure you're happy with their privacy notices when using those other sites.

\n\n

Wherever\nwe've said 'you' or 'your', this means you (as a present, former or even\nprospective client), any authorised person on your existing or proposed\naccount(s), anyone who does or will do your banking or deals or will deal with\nus for you (e.g. trustees or executors, attorneys under a Power of Attorney,\nemployees or representatives) and any other persons related or otherwise\nconnected to your existing or proposed account(s) (including authorised signatories,\npartners, members, trustees, settlors and beneficiaries (where applicable)).

\n\n

When we say\n'we', we mean HSBC Group companies which act as a data controller in respect of\nyour personal data. The primary data controller for the purposes of this notice\nwill be HSBC Private Bank (Suisse) SA, operating through its locally regulated\nbranch in Guernsey.

\n\n

HSBC\nPrivate Bank (Suisse) SA's registered office Quai des Bergues 9-17, 1201 Geneva\n(GE), Switzerland. Authorised and supervised by the Swiss Financial Market Supervisory\nAuthority FINMA. The address for HSBC Private Bank (Suisse) SA, Guernsey Branch\nis Arnold House, St Julian's Avenue, St Peter Port, Guernsey, GY1 3NF, Channel\nIslands. If you'd like to get in touch with us, you can also find contact\ndetails in the 'More details about your information' section below.

\n\n

What information we collect

\n\n

We'll only\ncollect your information in line with relevant regulations and law. We may\ncollect it from a range of sources and it may relate to any of our products or\nservices you apply for, currently hold or have held in the past. We may also\ncollect information about you when you interact with us, e.g. when (i) you\nvisit our websites or mobile channels, (ii) you call us or we call you, (iii)\nyou visit one of our branches or we visit you, or (iv) you ask about any of our\nproducts and services.

\n\n

Some of it\nwill come directly from you, e.g. when you provide personal information to open\nan account. It can also come from your financial advisor, broker or mortgage\nintermediary, other HSBC companies, or other sources you've asked us to obtain\ninformation from. We might also get some of it from publicly available sources.\nThe information we collect may include:

\n\n

Information that you provide to us, e.g.:

\n\n

·      \npersonal details, e.g. name,\nprevious names, gender, date and place of birth;

\n\n

·      \ncontact details, e.g. address,\nemail address, landline and mobile numbers;

\n\n

·      \ninformation concerning your\nidentity e.g. photo ID, passport information, National Insurance number (or the\nequivalent social security details applicable in the Channel Islands or Isle of\nMan), National ID card and nationality;

\n\n

·      \nmarket research, e.g. information\nand opinions expressed when participating in market research;

\n\n

·      \nuser login and subscription data,\ne.g. login credentials for phone and online banking and mobile banking apps;

\n\n

·      \nother information about you that\nyou give us by filling in forms or by communicating with us, whether\nface-to-face, by phone, email, online, or otherwise.

\n\n

Information we may collect or generate about you,\ne.g.:

\n\n

·      \nyour financial information and\ninformation about your relationship with us, including the products and\nservices you hold, the channels you use and your ways of interacting with us,\nyour ability to get and manage your credit, your payment history, transactions\nrecords, market trades, payments into your account including salary details and\ninformation concerning complaints and disputes;

\n\n

·      \ninformation we use to identify and\nauthenticate you, e.g. your signature and your biometric information (if\napplicable), such as your voice for voice ID, additional information that we\nreceive from external sources that we need for compliance purposes;

\n\n

·      \ngeographic information, e.g. about\nwhich branches or ATMs you use;

\n\n

·      \ninformation included in customer\ndocumentation, e.g. a record of advice that we may have given you; marketing\nand sales information, e.g. details of the services you receive and your\npreferences;

\n\n

·      \ncookies and similar technologies we\nuse to recognise you, remember your preferences and tailor the content we\nprovide to you – our cookie policy contains more details about how we use\ncookies and can be found at https://www.privatebanking.hsbc.com/cookie-policy;

\n\n

·      \nrisk rating information, e.g.\ncredit risk rating, transactional behaviour and underwriting information;

\n\n

·      \ninvestigations data, e.g. due\ndiligence checks, sanctions and anti-money laundering checks, external\nintelligence reports, content and metadata related to relevant exchanges of\ninformation between and among individuals, organisations, including emails,\nvoicemail, live chat;

\n\n

·      \nrecords of correspondence and other\ncommunications between us, including email, live chat, instant messages and\nsocial media communications;

\n\n

·      \ninformation that we need to support\nour regulatory obligations, e.g. information about transaction details,\ndetection of any suspicious and unusual activity and information about parties\nconnected to you or these activities.

\n\n

Information we collect from other sources, e.g.:

\n\n

·      \ninformation you've asked us to\ncollect for you, e.g. information about your accounts or holdings with other\ncompanies including transaction information;

\n\n

·      \ninformation from third party\nproviders, e.g. information that helps us to combat fraud or that relates to\nyour relevant social interactions (including your communications via social\nmedia, between individuals, organisations, prospects and other stakeholders\nacquired from companies that collect combined information).

\n\n

How we'll use your information

\n\n

We'll only\nuse your information where we have your consent or we have another lawful\nreason for using it. These reasons include where we:

\n\n

·      \nneed to pursue our legitimate\ninterests;

\n\n

·      \nneed to process the information to\ncarry out an agreement we have with you;

\n\n

·      \nneed to process the information to\ncomply with a legal obligation;

\n\n

·      \nbelieve the use of your information\nas described is in the public interest, e.g. for the purpose of preventing or\ndetecting crime.

\n\n

The reasons\nwe use your information include to:

\n\n

·      \ndeliver our products and services;

\n\n

·      \ncarry out your instructions, e.g.\nto fulfil a payment request;

\n\n

·      \nmanage our relationship with you,\nincluding (unless you tell us otherwise) telling you about products and\nservices we think may be relevant for you;

\n\n

·      \nunderstand how you use your\naccounts and services;

\n\n

·      \nbanking operations support;

\n\n

·      \nprevent or detect crime including\nfraud and financial crime, e.g. financing for terrorism and human trafficking;

\n\n

·      \nsecurity and business continuity;

\n\n

·      \nrisk management;

\n\n

·      \nonline banking, mobile apps and\nother online product platforms;

\n\n

·      \nproduct and service improvement;

\n\n

·      \ndata analytics to better understand\nyour circumstances and preferences so we can make sure we can provide you with\nthe best advice and offer you a tailored service;

\n\n

·      \nprotect our legal rights and comply\nwith our legal obligations;

\n\n

·      \ncorrespond with solicitors,\nsurveyors, valuers, other lenders, conveyancers and third party intermediaries;

\n\n

·      \nsystem or product development and\nplanning, insurance, audit and administrative purposes.

\n\n

Further details of how we'll use your information can be found in\nthe Appendix below.

\n\n

How we make decisions about you

\n\n

While we\ncurrently do not use any fully automated decision making processes, we may do\nso in future and we currently may use automated systems to help us make\ndecisions, e.g. when you apply for products and services, to make credit\ndecisions and to carry out fraud and anti-money laundering checks. We may use\ntechnology that helps us identify the level of risk involved in customer or\naccount activity, e.g. for credit, fraud or financial crime reasons, or to\nidentify if someone else is using your card without your permission.

\n\n

You may\nhave a right to certain information about how we make these decisions. You may\nalso have a right to request human intervention and to challenge the decision.\nMore details can be found in the 'Your rights' section below.

\n\n

Tracking or recording what you say or do

\n\n

To help\nkeep you and your assets safe, we may record details of your interactions with\nus. We may record and keep track of conversations you have with us including\nphone calls, face-to-face meetings, letters, emails, live chats, video chats\nand any other kinds of communication. We may use these recordings to check your\ninstructions to us, assess, analyse and improve our service, train our people,\nmanage risk or to prevent and detect fraud and other crimes. We may also\ncapture additional information about these interactions, e.g. telephone numbers\nthat you call us from and information about the devices or software that you\nuse.

\n\n

We use\nclosed circuit television (CCTV) in and around our sites and these may collect\nphotos or videos of you, or record your voice.

\n\n

Compliance with laws and regulatory compliance\nobligations

\n\n

We'll use\nyour information to meet our compliance obligations, to comply with other laws\nand regulations and to share with regulators and other authorities that HSBC\nGroup companies are subject to. This may include using it to help detect or\nprevent crime (including terrorism financing, money laundering and other financial\ncrimes). We'll only do this on the basis that it's needed to comply with a\nlegal obligation or it's in our legitimate interests and that of others.

\n\n

Marketing and market research

\n\n

We may use\nyour information to provide you with details about HSBC products and services,\nand also products and services from our partners and other relevant third\nparties. We may send you marketing messages by post, email, telephone, text or\nsecure messages. You can change your mind on how you receive marketing messages\nor choose to stop receiving them at any time. To make that change, please\ncontact us in the usual way.

\n\n

If you ask\nus not to send you marketing, it may take us a short period of time to update\nour systems and records to reflect your request, during which time you may\ncontinue to receive marketing messages. Even if you tell us not to send you\nmarketing messages, we'll continue to use your contact details to provide you\nwith important information, such as changes to your terms and conditions or if\nwe need to tell you something to comply with our regulatory obligations.

\n\n

We may use\nyour information for market research and to identify trends. Market research\nagencies acting on our behalf may get in touch with you by post, telephone,\nemail or other methods of communication to invite you to take part in research.\nWe won't invite you to take part in research using a communication method if\nyou've asked us not to get in touch that way. Any responses that you provide\nwhilst participating in market research will be reported back to us anonymously\nunless you give us permission for your details to be shared.

\n\n

Who we might share\nyour information with

\n\n

We may\nshare your information with others where lawful to do so including where we or\nthey:

\n\n

·      \nneed to in order to provide you with\nproducts or services you've requested, e.g. fulfilling a payment request;

\n\n

·      \nhave a public or legal duty to do\nso, e.g. to assist with detecting and preventing fraud, tax evasion and\nfinancial crime;

\n\n

·      \nneed to in connection with\nregulatory reporting, litigation or asserting or defending legal rights and\ninterests;

\n\n

·      \nhave a legitimate business reason\nfor doing so, e.g. to manage risk, verify your identity, enable another company\nto provide you with services you've requested, or assess your suitability for\nproducts and services;

\n\n

·      \nhave asked you for your permission\nto share it, and you've agreed.

\n\n

We may\nshare your information for these purposes with others including:

\n\n

·      \nother HSBC Group companies and any\nsub-contractors, agents or service providers who work for us or provide\nservices to us or other HSBC Group companies (including their employees,\nsub-contractors, service providers, directors and officers);

\n\n

·      \nany joint account holders,\ntrustees, beneficiaries, administrators or executors;

\n\n

·      \npeople who give guarantees or other\nsecurity for any amounts you owe us;

\n\n

·      \npeople you make payments to and\nreceive payments from;

\n\n

·      \nyour beneficiaries, intermediaries,\ncorrespondent and agent banks, clearing houses, clearing or settlement systems,\nmarket counterparties and any companies you hold securities in through us, e.g.\nstocks, bonds or options;

\n\n

·      \nother financial institutions,\nlenders and holders of security over any property you charge to us, tax\nauthorities, trade associations, credit reference agencies, payment service\nproviders and debt recovery agents;

\n\n

·      \nany fund managers who provide asset\nmanagement services to you and any brokers who introduce you to us or deal with\nus for you;

\n\n

·      \nany entity that has an interest in\nthe products or services that we provide to you, including if they take on the\nrisk related to them;

\n\n

·      \nany people or companies where\nrequired in connection with potential or actual corporate restructuring,\nmerger, acquisition or takeover, including any transfer or potential transfer\nof any of our rights or duties under our agreement with you;

\n\n

·      \nlaw enforcement, government,\ncourts, dispute resolution bodies, our regulators, auditors and any party\nappointed or requested by our regulators to carry out investigations or audits\nof our activities;

\n\n

·      \nother parties involved in any\ndisputes, including disputed transactions;

\n\n

·      \nfraud prevention agencies who'll\nalso use it to detect and prevent fraud and other financial crime and to verify\nyour identity;

\n\n

·      \nanyone who provides instructions or\noperates any of your accounts on your behalf, e.g. Power of Attorney,\nsolicitors, intermediaries, etc.;

\n\n

·      \nanybody else that we've been\ninstructed to share your information with by either you, a joint account holder\nor anybody else who provides instructions or operates any of your accounts on\nyour behalf;

\n\n

·      \nour card processing supplier(s) to\ncarry out credit, fraud and risk checks, process your payments, issue and\nmanage your card;

\n\n

·      \ninsurers so they can provide you\nwith a quote or cover. For further details please refer to your policy\ndocumentation.

\n\n

Sharing aggregated or \nanonymised\n\ninformation

\n\n\n` + pp2;\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport PrivacyPolicy from \"./registrationConditions/PP.js\";\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: \"Terms and Conditions\",\n html: TermsAndCondition\n },\n {\n label: \"Privacy Policy\",\n html: PrivacyPolicy\n }\n ]\n};\n","import { tc2 } from \"./T&C2\";\nexport default `\n\n\n\n\n\n\n\n\n
\n\n

Terms and Conditions

\n\n

Please read these\nterms and conditions carefully before applying to Access, nominating a user for\nand/or using, the website and/or app including the applications which you can\naccess via the website and/or app

\n\n

(Collectively this website \nhttps://www.privatebanking.expat.hsbc.com/online-investments/\n, the mobile app and the underlying applications which you can\naccess via the website and mobile app shall be referred to as the “Digital\nServices”).

\n\n

By using these\nDigital Services, you signify your agreement to these terms and conditions and\nif you are using these Digital Services on behalf of any other accountholder(s)\n(including, without limitation, any other individual(s), a partnership, a\ncompany or any other legal entity), you are confirming that you have full\nauthority to bind that person to these terms and conditions. If you do not\nagree to these terms and conditions, please do not use the Digital Services.

\n\n

·     \nReferences to ‘Terms and\nConditions’ are references to these terms and conditions, as amended from time\nto time;

\n\n

\n·      \nReferences to ‘you’, ‘your’ and ‘yours’ are references to the\nperson accessing the Digital Services or where that person is acting on behalf\nof any other accountholder(s), then to the person accessing the website and/or\nmobile app and to the relevant accountholder(s);

\n\n

\n·      \nReferences to “we”, “us” and “our” are references to HSBC Private\nBanking (C.I.);

\n\n

\n·      \nReferences to “HSBC” are references\nto HSBC Private Banking (C.I.), together with its affiliates and associated\nentities including other members of the HSBC Group;

\n\n\n

·      References to the “HSBC Group” are to HSBC Holdings plc and its\ndirect and indirect subsidiaries;

\n\n

·      References to your “Relationship Manager” are to the individual\nfrom time to time notified by us to you (or, where you are accessing the\nDigital Services on behalf of any other accountholder, notified by us to them)\nas your (or their) Relationship Manager.

\n\n

1. \nCompany information

\n\n

The Digital Services are owned by HSBC Private Banking (C.I.), the trading name of HSBC \nPrivate Bank (Suisse) SA, Guernsey Branch which is licensed by the Guernsey Financial Services Commission \nfor Banking, Credit, Insurance Intermediary and Investment Business. HSBC Private Bank (Suisse) \nSA is registered in Switzerland number UID CHE-101.727.921. Registered office Quai des Bergues 9-17, 1201 \nGeneva (GE), Switzerland. Authorised and supervised by the Swiss Financial Market Supervisory Authority FINMA.

\n\n

The information\ncontained on the Digital Services is for information purposes only. HSBC does\nnot hold itself out as providing legal, financial or other advice via the\nDigital Services.

\n\n

Please note that\nwe will use your personal information in accordance with our Privacy Policy.

\n\n

2. \nDigital services terms

\n\n

These Terms and\nConditions govern your access and use of the Digital Services and each time you\naccess or use the Digital Services you agree to be bound by them. If you do not\naccept these Terms and Conditions in full you should not access or use these\nDigital Services and should leave the Digital Services immediately. These Terms\nand Conditions refer to the following additional terms, which also apply to\nyour access or use of our Digital Services:

\n\n

·     \nour Privacy Policy, which sets out\nthe terms on which we process any personal information we collect from you, or\nthat you provide to us

\n\n

\n·      \nour Cookie Policy, which sets out information about the cookies on\nthe Digital Services

\n\n

3. \nAccessing the digital services

\n\n

\nThese Digital Services are made available free of charge.

\n\n

\nWe do not guarantee that the Digital Services, or any content on\nit, will always be available or be uninterrupted. Access to the Digital\nServices is permitted on a temporary basis. We may at any time suspend,\nwithdraw, or discontinue all or any part of the Digital Services including\nunder sections 15 (Suspension and Termination of Access) and 17 (Ending this\nAgreement).

\n\n

You are\nresponsible for making all arrangements necessary for you to have access to our\nDigital Services.

\n\n

You are also\nresponsible for ensuring that all persons who access the Digital Services\nthrough your Internet connection are aware of these Terms and Conditions and\nother applicable terms and conditions (including the Privacy Policy), and that\nthey comply with them.

\n\n

4. \nNo warranty

\n\n

This section 4 and\nsections 7 (Linked Websites/Frames/Use) and 12 (Limitation of Liability) below\nlimit or exclude our legal liability for the Digital Services and your use of\nthe Digital Services. You should read them carefully.

\n\n

Other than the\nwarranties and representations contained in these Terms and Conditions all\nother warranties and representations, whether express, implied or statutory\nare, to the fullest extent permitted by applicable law, excluded.

\n\n

Whilst we have\ntaken reasonable steps to ensure the accuracy, currency, availability,\ncorrectness and completeness of the information contained on the Digital Services\nthe information (including text, graphics, and functionality) is presented “As\nIs” and “As Available.”

\n\n

In particular,\nHSBC makes no warranties or representations regarding:

\n\n

·     \nthe accuracy, completeness or\ntimeliness of the content, information and material available on the Digital\nServices; or

\n\n

\n·      \nthe error-free use of the Digital Services; or

\n\n

\n·      \nthe availability of the Digital Services or that it will meet any\nrequirements you might have, that access will be uninterrupted or that there\nwill be no delays, failures, errors or omissions of information available\nthrough the Digital Services

\n\n

\n·      \nthe adequate protection and back up of data on the Digital\nServices, and you acknowledge that you have sole responsibility for adequate\nprotection and back up of your own data and/or equipment and for undertaking\nreasonable and appropriate precautions to scan for computer viruses or other\ndestructive properties when accessing or using the Digital Services; or

\n\n

\n·      \nthe accuracy, functionality or\nperformance of any third party software that may be used in connection with the\nDigital Services

\n\n

We accept no\nliability for the accuracy, functionality or performance of any links or data\nthat may be supplied from another HSBC entity or member of the HSBC Group\nwithin the Digital Services.

\n\n

Please see section\n16 (Important Information) for further information concerning the content of\nthe Digital Services and certain limitations which may be applicable to it

\n\n

5. \nIntellectual property rights

\n\n

All intellectual\nproperty rights (including, without limitation, copyright, database rights,\ndesign rights, patents and trade-marks) in these Digital Services (including\ntext and “look and feel” attributes) are owned by HSBC or licensed to HSBC by\nthird party licensors unless otherwise stated. Your access to or use of the\nDigital Services does not grant you any intellectual property rights in the Digital\nServices. You may print, copy, download or temporarily store extracts from the\nDigital Services for your personal use or to help you use our products and\nservices. You may not alter or otherwise make any changes to any material\nobtained from the Digital Services in any form, including, without limitation,\nremoving any proprietary information, identifying marks or legends from such\nmaterial. Any other use is prohibited unless you first request and obtain our\nwritten permission. Without limiting the above, unless you first obtain our\nwritten consent, you may not reproduce, modify, adapt, transmit, publish,\nbroadcast, create derivative works of, store, archive or in any way exploit all\nor any part of these Digital Services. All rights in such content are hereby\nreserved.

\n\n

Content from a\nthird party provider available on or through the Digital Services may not be\nduplicated, distributed, published, transferred, transmitted, copied, altered,\nsold, used to create derivative works or otherwise misused. You must comply\nwith all terms disclosed to you as required from time to time by any third\nparty supplier of data or services to the Digital Services, including but not\nlimited to, where necessary, entering into a direct agreement with such third\nparty in respect of your use of their data or complying with any terms and\nconditions such third party supplier of data or services may require you to\ncomply with.

\n\n

HSBC and the\nhexagon logo are trade-marks of HSBC Group Management Services Limited and all\nrights in and to them vest in HSBC Group Management Services Limited. Other\nthan as provided above you may not use or reproduce the HSBC trade mark,\nhexagon logo or brand name.

\n\n

6. \nViruses

\n\n

Because of the\nmarked increase in the fabrication and proliferation of computer viruses\naffecting the Internet, HSBC wants to warn you about infections or viral\ncontamination on your system. It is your responsibility to undertake reasonable\nand appropriate precautions to scan any and all downloaded materials received\nfrom the Internet or submitted to you via the Digital Services.

\n\n

7. \nLinked websites/frames/use

\n\n

These Digital\nServices may provide links to or data from third party websites for your\nconvenience in locating related information and services. HSBC does not\nmaintain any of these other websites and has no control over the organisations\nthat maintain these websites or the information, products, or services these\norganisations provide.

\n\n

HSBC cannot\nguarantee such websites' accuracy, completeness or suitability for any purpose.\nAccordingly, HSBC expressly disclaims any responsibility for the content of\nthese other websites, the accuracy of the information on these websites and/or\nthe quality of products or services provided by the organisations that maintain\nthem.

\n\n

HSBC does not\nrecommend or endorse these organisations or their products or services in any\nway and access to them is at the user’s own risk.

\n\n

You are prohibited\nfrom linking to these Digital Services from any other website; from framing any\nof the materials on these Digital Services; and/or from suggesting any\naffiliation or endorsement between us, without our prior written authorisation.

\n\n

You may print\ncopies of the material contained in these Digital Services solely for your\ninternal use in connection with the services provided to you by HSBC and solely\nin accordance with these Terms and Conditions.

\n\n

You are expressly\nprohibited from selling; distributing; copying, amending; modifying; posting;\ntransmitting; uploading; or similar action regarding the material in these\nDigital Services including: graphics; text; content; logos or the like.\nFurther, you are prohibited from using these Digital Services unlawfully and\nwill be responsible for any and all of your unlawful use of these Digital\nServices.

\n\n

8. \nResponsibility for use and control of security details and your information

\n\n

The method by\nwhich you access HSBC Private Banking Digital Investment Services may vary over\ntime and you will be fully informed as these changes occur.

\n\n

With your Security\nDetails, you will have access to the Digital Services and the tools and\ninformation available through the Digital Services and we hereby grant you a\nlimited right to use the Digital Services and such tools and information, which\nright we may revoke at any time.

\n\n

Your Security\nDetails and any other non-public personal information and other financial\ninformation which you may provide to HSBC about yourself in connection with the\nuse of the Digital Services, will be stored and used in accordance with our\nPrivacy Policy and, where relevant, our Investment Services Terms and\nConditions. If you require a further copy of our Investment Services Terms and\nConditions please contact your Relationship Manager.

\n\n

You hereby declare\nthat you have all required permission to provide HSBC with this information and\nwill be solely liable to pay any costs reasonably incurred by HSBC for any\nclaims that you did not have such authority.

\n\n

You further\nacknowledge that you are fully responsible for the use of your Security\nDetails, whether authorised by or known by you or not, and the protection of\nyour Security Details and subject to any obligations we may have under\napplicable law or regulation you shall pay any costs reasonably incurred by\nHSBC in respect of any claims related to any unauthorised access or use of the\nDigital Services or other HSBC systems, resulting from negligence on your part.\n

\n\n

You agree to\nimmediately notify us if you become aware of any of the following: (a) loss or\ntheft of your Security Details; (b) unauthorised use of your Security Details\nor any unauthorised use of these Digital Services; and (c) any other information\nwhich you believe compromises the security of your information available\nthrough these Digital Services.

\n\n

Where applicable\nyou consent to the provision of these Terms and Conditions through the Digital\nServices.

\n\n

For the purposes\nof this agreement, Security Details, means your user name, temporary password,\nany password selected thereafter, a mobile PIN that will consist of a six digit\npin and/or biometric, where relevant.

\n\n

9. \nOnline fraud advisory

\n\n

HSBC will never\nsend emails that require customers to send your information to it via email,\nwebsite link or pop-up windows. Any unsolicited request for HSBC account\ninformation you receive through emails, websites, or pop-up windows should be\nconsidered fraudulent. Online fraud occurs when someone poses as a legitimate\ncompany to obtain sensitive personal data and then illegally conducts\ntransactions on your existing accounts. Often called \"phishing\" or\n\"spoofing,\" the most pervasive methods of online fraud are emails,\ncounterfeit websites and pop-up windows, or any combination of these.

\n\n

Fraudulent emails\noften:

\n\n

\n·      \nappear to be from a legitimate,\ntrusted source. You should not rely on the name or address in the\n\"From\" field, as this can be easily altered;

\n\n

\n·      \nask you for personal information. These emails often claim that\nyour information has been compromised or frozen, or ask you to confirm your\nidentity;

\n\n

\n·      \nlink to counterfeit websites. These sites may\nappear legitimate, but actually collect personal information for illegal use.\nThey may also include a link to the real website in an attempt to make the link\nseem legitimate; and

\n\n

\n·      \ncontain fraudulent phone numbers. These telephone numbers are\nusually tied directly to the fraud perpetrators. Never call a number featured\non an email you suspect is fraudulent, and be sure to double-check any numbers\nyou do call. In addition, a legitimate number may be included in an attempt to\nauthenticate the email.

\n\n

To help protect\nyourself from these fraudulent emails and websites:

\n\n

·     \nnever provide sensitive account or\npersonal information in response to an email;

\n\n

\n·      \ndelete suspicious emails without opening them. If you do open a\nsuspicious email, do not open any attachments or click on any links it may\ncontain;

\n\n

\n·      \nbookmark any sites that house personal account information and use\nthose bookmarks to navigate directly to those sites;

\n\n

\n·      \ninstall and regularly update virus protection software; and

\n\n

\n·      \nkeep your computer operating system and Web browser current.

\n\n

10.  \nChanges

\n\n

HSBC may change\nthe Digital Services or update information, material or content at any time\nwithout notice. While we shall make reasonable efforts to keep the Digital\nServices information accurate, HSBC is not obligated to update or correct\ninformation within any specified time period. HSBC is not responsible for\ninformation provided by third parties, whether the information is part of these\nDigital Services, is in any linked website, or is information about us that is\nprovided on any website other than this one.

\n\n

We reserve the\nright, to change these Terms and Conditions at any time where we reasonably\nbelieve the change is to your advantage or is needed for any one or more of the\nfollowing reasons:

\n\n

·     \nto respond proportionately to\nchanges in general law or decisions of the Financial Ombudsman Service;

\n\n

\n·      \nto meet our regulatory requirements;

\n\n

\n·      \nto reflect new industry guidance and codes of practice;

\n\n

\n·      \nto respond to the making of a relevant recommendation, requirement\nor decision of any court, ombudsman, regulator or similar organisation; or

\n\n

\n·      \nto allow us to make changes to the way in which we manage the\nDigital Services or the service available through it as a result of changes to\ntechnology or the systems we use including introducing new services or\nfacilities or replacing an existing service or facility with a new one.

\n\n

We have the right\nto make changes to these Terms and Conditions for reasons not stated above as\nlong as we give you prior notice and you are able to end this service before\nthe change takes effect without charge. We need this flexibility because we\nneed to be able to manage how we provide our services over a long period of\ntime and it is very difficult for us to anticipate all the circumstances when\nwe may need to make a change to how the service delivered to you via the\nDigital Services works. If you do not like any change we make you can exercise\nyour right to end this service and these Terms and Conditions between us.

\n\n

Where you are an\naccountholder, we will provide at least 30 days’ notice of any change to these\nTerms and Conditions to you.

\n\n

Where you are a\nuser of the Digital Services on behalf of an account holder we may notify you\nof changes to these Terms and Conditions via the Digital Services including by\nrequesting your agreement to the amended Terms and Conditions when you access\nthe Digital Services.

\n\n

The current\nversion of these Terms and Conditions from time to time in force will be\navailable via the Digital Services. Where these Terms and Conditions have been\nchanged and you need a further copy of any prior version which is not available\non the Digital Services, please ask your Relationship Manager for a hard copy.

\n\n

11.  \nPrivacy

\n\n

We are committed\nto protecting your privacy. All information gathered from you in connection\nwith your use of the Digital Services will be maintained in accordance with our\nPrivacy Policy.

\n\n

These Digital\nServices also use cookies in accordance with the applicable cookie policies\ndisclosed for the Digital Services.

\n\n

 12.  \nLimitation of liability

\n\n

\nWe will not be responsible for any loss of or damage to your data,\nsoftware, computer, telecommunications or other equipment caused by you using\nthe Digital Services unless such loss or damage is directly and solely caused\nby our negligence or deliberate default.

\n\n

Subject to the foregoing, and to the extent permitted by law, neither we\nnor any member of the HSBC Group shall be liable for any damage, loss or\nliability (whether arising in contract, tort, including negligence, or\notherwise) arising out of or in connection with (a) your use of these Digital\nServices ; (b) your reliance on any information or materials on the Digital\nServices or your inability to use or access the information or materials on the\nDigital Services; and/or (c) any failure in performance, error, omission,\ninterruption, defect, delay in operation or transmission, computer virus or\nline or system failure to these Digital Services or your use or attempted use\nof it.

\n\n

The above\nexclusions of liability apply to any damage, loss or liability which is direct,\nindirect, special, incidental or consequential or consists of loss of profits,\nbusiness, goodwill, opportunity or data. All of the above exclusions apply even\nif you have advised us or any other member of the HSBC Group of the possibility\nof the above types of damage, loss or liability.

\n\n

Nothing in these\nterms shall exclude or limit our liability in relation to

\n\n

·     \nfraud, fraudulent\nmisrepresentation, personal injury or death.

\n\n

13.  \nComplaints and disputes

\n\n

If at any time you\nare not satisfied with the service you have received through the Digital\nServices and wish to make a complaint, you should write,\nwith full details to:

\n\n

Chief\nExecutive Officer 

\n\n

HSBC\nPrivate Banking (C.I.)  

\n\n

Arnold\nHouse St. Julian’s Avenue 

\n\n

St.\nPeter Port  

\n\n

Guernsey\nGY1 3NF 

\n\n

Channel\nIslands 

\n\n

Telephone\nnumber: +44 (0)1481 759000 

\n\n

For further\ndetails about how we handle complaints, you can ask for a copy of our\ncomplaints handling procedure at any time.

\n\n

If you are still not satisfied with any of our responses to your\ncomplaint, or if after you first raised the matter with us three months have\npassed without any final response, you can refer your complaint to the Channel\nIslands Financial Ombudsman (“CIFO”).  If we have sent you a final\nresponse you must contact CIFO within six (6) months of the date on that\nletter, or CIFO may not be able to review your complaint.  In any event\nyou must contact CIFO within six (6) years of the event complained about or (if\nlater) two (2) years of when you could reasonably have been expected to become\naware that you had a reason to complain.  You can contact CIFO at: 

\n\n

Channel Islands Financial Ombudsman (CIFO) 

\n\n

PO Box 114 

\n\n

Jersey, Channel Islands 

\n\n

JE4 9QG 

\n\n

Tel:  01534 748610 (Jersey office) 

\n\n

Tel:  01481 722218 (Guernsey office) 

\n\n

Email:  enquiries@ci-fo.org\n 

\n\n

Website:  www.ci-fo.org\n 

\n\n

If your complaint concerns any activities relating to investment\nservices and you are not satisfied with responses to your complaint three\nmonths or more after first complaining, you may contact the Guernsey Financial\nServices Commission (“GFSC”) directly about the complaint at: 

\n\n

Guernsey Financial Services Commission 

\n\n

Glategny Court 

\n\n

Glategny Esplanade 

\n\n

St. Peter Port  

\n\n

Guernsey 

\n\n

GY1 3HQ 

\n\n

Tel: 01481 712706 

\n\n

Email: info@gfsc.gg  Website: www.gfsc.gg 

\n\n` + tc2;\n","import { tc2 } from \"./T&C_LUX2\";\n\nexport default `\n\n\n\n\n\n\n\n\n
\n\n

Conditions\ngénérales des Services digitaux

\n\n

 

\n\n

Les\nconditions générales suivantes, et leurs modifications ultérieures, régiront\ntoutes les relations entre HSBC Private Bank (Luxembourg) S.A. (la « Banque »)\net le Client et/ou un ou plusieurs agents ou représentants (chacun, y compris\nle Client, étant dénommé « l’Utilisateur », tel que défini à\nl’article 2.3 ci-dessous) en relation avec les Services Digitaux (tels que\ndéfinis ci-dessous).

\n\n

Les\nprésentes conditions générales doivent être lues attentivement par\nl’Utilisateur avant de demander l’accès et/ou l’utilisation du site internet\net/ou de l’application des Services Digitaux de la banque privée, y compris les\nfonctionnalités auxquelles l’Utilisateur peut accéder via le site internet\net/ou l’application. Ledit site internet (accessible via l’URL : https://www.privatebanking.hsbc.lu/login/), l’application et les fonctionnalités sous-jacentes\nauxquelles l’Utilisateur peut accéder via le site internet et/ou l’application\nServices Digitaux de la banque privée sont désignés les « Services Digitaux »).

\n\n

En\nutilisant les Services Digitaux, l’Utilisateur accepte les présentes conditions\ngénérales et en cas d’utilisation des Services Digitaux au nom de tout autre\ntitulaire de compte (y compris, sans s’y limiter, tout autre individu,\nassociation, société ou personne morale), le Client confirme qu’il a tous\npouvoirs pour lier cette personne aux présentes conditions générales. Pour\npouvoir utiliser les Services Digitaux, l’Utilisateur doit accepter les\nprésentes conditions générales.

\n\n

Les\nprésentes conditions générales s’appliqueront aussi bien à l’accès qu’à\nl’utilisation des Services Digitaux, de même que :

\n\n

-         \nles conditions générales de la Banque ;

\n\n

-         \nla politique de confidentialité de la\nBanque ;

\n\n

-         \nla politique relative aux cookies ;

\n\n

(désignés\nensemble les « Conditions Générales »). En cas de\ncontradiction entre les termes des présentes conditions générales des Services Digitaux\net les termes des Conditions Générales, les présentes conditions générales des\nServices Digitaux prévaudront.

\n\n

1.         Types\nde services disponibles

\n\n

Les\nServices Digitaux comprendront les services suivants :

\n\n

¨     \nobtention des soldes des comptes et des\ninformations consolidées sur le compte à la fermeture des bureaux le jour\nouvrable précédant ;

\n\n

¨     \nrevue des informations sur les transactions des\ntrois derniers mois ;

\n\n

¨     \npour les clients HSBC Prism Advisory, accès à\nla Plateforme Insights & Research (veuillez vous référer au complément\nci-dessous applicable à Insights & Research).

\n\n

La\nBanque se réserve le droit de modifier ces services à tout moment et sans\npréavis.

\n\n

2.\n        Accès aux Services Digitaux

\n\n

2.1.      Accès\ntechnique

\n\n

Pour\naccéder aux Services Digitaux, l’Utilisateur devra s’assurer d’une connexion à internet\nauprès d’un Fournisseur d’Accès Internet (ci-après le « FAI »)\nde son choix. Il appartient à l’Utilisateur de se procurer les équipements\nappropriés, notamment informatiques, de télécommunication et de sécurité pour\naccéder aux Services Digitaux, et d’entretenir ces équipements.

\n\n

Tous\nles coûts et dépenses d’équipement, de communication, de télécommunication et\nautres dépenses nécessaires à la connexion et à l’utilisation des Services Digitaux,\nainsi que toute autorisation pertinente requise sont à la charge de\nl’Utilisateur.

\n\n

Dans\nle cas où il s’avérerait nécessaire de télécharger un logiciel de communication\nsur son ordinateur, ou une application sur son dispositif de connexion,\nl’Utilisateur s’engage à se conformer aux recommandations et directives de la\nBanque.

\n\n
\n
\n\n

 

\n\n

2.2.      Accès\net identifiant

\n\n

L’Utilisateur\ndemande à la Banque de lui fournir les informations d’identification\nutilisateur nécessaires (ci-après « l’Identifiant ») et les\ninstructions pour s’inscrire aux Services Digitaux.

\n\n

Sauf\naccord contraire, la Banque ne peut procéder à la transmission de l’Identifiant\nque par courrier ou e-mail.

\n\n

2.3.      Utilisateurs

\n\n

Le\nClient autorise expressément la Banque à délivrer aux Utilisateurs présents ou\nfuturs du Client dûment habilités, sur n’importe lequel\nde ses comptes, l’Identifiant permettant leur accès aux Services Digitaux\nsur leur demande expresse et écrite. Le terme Utilisateur comprend tous les\nsignataires autorisés, titulaires d’une procuration, d’un pouvoir\nd’administration ou d’un droit de regard.

\n\n

Le\nClient reconnaît que si l’un de ses comptes est un compte joint ou comporte des\nsignataires autorisés supplémentaires, chaque titulaire de compte, ainsi que le\nsignataire autorisé de chaque titulaire de compte, doit avoir son propre Identifiant.\n

\n\n

Seules\nles personnes dont les coordonnées ont été fournies et qui ont été approuvées\npar écrit par la Banque en tant qu’Utilisateurs peuvent utiliser les Services Digitaux.\nL’utilisation des Services digitaux par tout Utilisateur vaudra acceptation par\ncet Utilisateur des Conditions Générales.

\n\n

2.4.      Accès\naux Services Digitaux

\n\n

Tout\naccès aux Services Digitaux par un Utilisateur grâce à un mot de passe ou un\nidentifiant appartenant à cet Utilisateur sera réputé avoir été effectué par\ncet Utilisateur au nom et pour le compte du Client.

\n\n

2.5.      Refus\nd’accès

\n\n

L’Utilisateur\npeut se voir refuser l’accès aux Services Digitaux s’il saisit un mot de passe\ntrois fois de manière incorrecte.

\n\n

2.6.      Utilisation\nabusive des Services Digitaux par une personne habilitée et révocation de\nl’accès aux Services Digitaux

\n\n

Tous\nles titulaires de compte seront conjointement et solidairement responsables de\ntoute utilisation, utilisation abusive ou utilisation non autorisée des\nServices Digitaux par tout titulaire de compte ou mandataire ou titulaire d’un\ndroit de regard, et le Client accepte d’être lié par tout message traité via\nles Services Digitaux, que l’action ou la personne réalisant l’action ait été\nou non dûment autorisée.

\n\n

Il\nest expressément convenu que la révocation du droit de signature d’un titulaire\nde compte ou d’un mandataire ou la révocation d’un droit de regard ne rend pas\nautomatiquement invalide l’identifiant ou le mot de passe. Le décès ou la perte\nde la capacité d’agir du titulaire du compte ou du titulaire d’une procuration\nou d’un droit de regard n’entraîne pas non plus automatiquement l’invalidation\ndes identifiants ou des mots de passe.

\n\n

3.         Sécurité\net confidentialité de l’identifiant

\n\n

3.1.      Sécurité

\n\n

Il\nexiste des risques associés à l’utilisation des services fournis via internet,\ny compris, mais sans s’y limiter, l’accès non autorisé, les pannes de système,\nles retards et les interruptions des services de télécommunication et d’internet.\nL’accès aux Services Digitaux vise à fournir un niveau de sécurité\ncommercialement raisonnable. Cependant, la confidentialité des communications\ntransmises par internet n’est pas absolue et ne peut être garantie.

\n\n

L’Utilisateur\nutilisera les Services Digitaux conformément aux exigences techniques, aux\ninstructions de sécurité et à toutes autres instructions qui pourraient être\nfournies par la Banque ultérieurement. Ces instructions seront transmises par\nles moyens de communication convenus.

\n\n

L’Utilisateur\ndoit prendre toutes les mesures nécessaires pour s’assurer que les\ncaractéristiques techniques de son ordinateur personnel, de ses logiciels et de\nsa connexion internet lui permettent d’accéder aux Services Digitaux de la\nBanque de manière sécurisée.

\n\n

L’Utilisateur\nest entièrement responsable du bon fonctionnement de ses propres équipements\ninformatiques, modem et téléphone ou accès internet. L’Utilisateur doit\ns’assurer que ces appareils ne présentent pas de problèmes ou de virus\napparents et offrent une sécurité suffisante pour éviter qu’un tiers n’accède\naux données relatives aux Services Digitaux. L’Utilisateur s’efforcera de\nmaintenir cette sécurité. L’Utilisateur doit en outre s’assurer qu’il n’y a\naucun risque que des programmes ou virus hostiles envahissent et perturbent les\nServices Digitaux. En particulier, l’Utilisateur veillera à ce que la sécurité\nde son ordinateur personnel soit suffisante et mettra régulièrement à jour les\nlogiciels antivirus et anti-espion ainsi que son pare-feu personnel.

\n\n

L’Utilisateur\nsupportera tous les risques techniques tels que la perturbation du transport\nd’énergie électrique, l’indisponibilité des lignes de communication, le mauvais\nfonctionnement ou la surcharge des systèmes ou des réseaux.

\n\n

La\nBanque ne saurait être tenue pour responsable des risques créés par l’accès à internet\net par la transmission de données depuis ou vers l’Utilisateur, notamment en\ncas de conflit entre l’Utilisateur et le FAI portant sur des données\npersonnelles et/ou confidentielles de l’Utilisateur.

\n\n

L’utilisateur\nest responsable des performances et de la protection de tout navigateur utilisé\ndans le cadre des Services Digitaux, y compris l’adoption rapide de tous les\ncorrectifs de sécurité et autres mesures de sécurité émis ou recommandés\nultérieurement par les fournisseurs de ces navigateurs.

\n\n

3.2.      Confidentialité\nde l’identifiant

\n\n

Les\ndétails de l’identifiant ne seront en aucun cas divulgués ou partagés avec un\ntiers. Pour la protection de chaque Utilisateur, l’Utilisateur doit mémoriser\nson mot de passe et ne doit conserver aucune trace de son mot de passe ou de\ntout autre détail d’identifiant sur ou près de l’appareil utilisé pour accéder\naux Services Digitaux.

\n\n

L’Utilisateur\ndoit se déconnecter lorsqu’il cesse d’utiliser les Services Digitaux afin\nd’empêcher tout accès non autorisé à ceux-ci. L’Utilisateur doit informer\nimmédiatement la Banque par écrit s’il estime qu’un tiers a pu voir ou avoir eu\naccès aux données de l’Identifiant. L’Utilisateur s’engage à accepter tous les\nrisques d’accès non autorisé, non directement causés par une faute lourde de la\nBanque. Si l’Utilisateur fournit des informations inexactes à la Banque ou omet\nde mettre à jour les informations fournies à la Banque, la Banque a le droit de\nsuspendre ou de résilier son accès aux Services Digitaux.

\n\n

Il\nest fortement recommandé à l’Utilisateur de modifier régulièrement son mot de\npasse. Lorsque l’Utilisateur modifie ses mots de passe, il veille à ce que\nceux-ci ne soient pas constitués de combinaisons facilement identifiables\n(telles que son identifiant, nom, prénom, date de naissance ou ceux d’un proche\n(conjoint, enfant, etc.)) et plus généralement un mot ou une combinaison de\nmots du dictionnaire, un mot épelé à l’envers, un mot suivi d’un chiffre ou\nd’une année, un mot de passe utilisé à d’autres fins (y compris pour une\nmessagerie personnelle, etc.). L’Utilisateur devra notamment choisir d’utiliser\nun mot de passe de longueur suffisante et composé, dans la mesure du possible,\nd’une combinaison de lettres, de chiffres et de signes de ponctuation ou de\ncaractères spéciaux, ainsi que de lettres majuscules et minuscules. La Banque\npeut, à sa discrétion, imposer une date d’expiration des mots de passe au-delà\nde laquelle l’Utilisateur ne pourra plus accéder aux Services Digitaux sans une\nmodification préalable de son ou ses mot(s) de passe.

\n\n

L’Utilisateur\nconfirme qu’il comprend le fonctionnement des Services Digitaux tel que décrit\ndans les présentes conditions générales et, le cas échéant, dans tout autre\ndocument pertinent porté à la connaissance de l’Utilisateur dans ce cadre.\nL’Utilisateur peut contacter son chargé de clientèle pour toute question\nrelative aux instructions et conditions d’utilisation des Services Digitaux.

\n\n

4.         Incident\net suspension du service

\n\n

En\ncas d’incident, tel que la perte ou le vol de l’Identifiant, la divulgation à\nun tiers (même involontaire ou simplement suspecté) de l’un des identifiants,\nle détournement ou toute autre utilisation non autorisée (réelle ou suspectée)\ndes Services Digitaux par un tiers (ci-après l’« Incident »),\nl’Utilisateur en informera immédiatement la Banque par écrit (courrier ou\ne-mail).

\n\n

La\nBanque se réserve le droit de bloquer les Services Digitaux :

\n\n

¨     \nlorsque la sécurité des Services Digitaux est\ncompromise, par exemple en raison d’un problème ou d’une défaillance technique\ndes Services Digitaux eux-mêmes ou en raison d’attaques de piratage ;

\n\n

¨     \nlorsque la Banque a des raisons de suspecter\n(par exemple lorsqu’elle a identifié une activité suspecte) ou a reçu une\nnotification qu’un Incident s’est produit ;

\n\n

¨     \nlorsque la Banque est obligée par la loi de\nprocéder à un tel blocage.

\n\n

Si\nl’un des cas susmentionnés se produit, la Banque en informera l’Utilisateur,\ndans la mesure du possible, avant le blocage des Services Digitaux conformément\naux Conditions Générales de la Banque, à moins que la fourniture de telles\ninformations ne soit légalement interdite.

\n\n

5.         Déclarations\nofficielles

\n\n

La\nBanque veillera, dans la mesure du raisonnable, à ce que toute information\nfournie par le biais des Services Digitaux reflète fidèlement les informations\ncontenues dans ses systèmes informatiques. Toute information fournie sur les\nServices Digitaux n’est toutefois qu’indicative.

\n\n

L’Utilisateur\naccepte donc expressément que seuls les relevés périodiques émis par la Banque\nconstitueront le registre ou le relevé officiel du ou des comptes concernés.

\n\n

6.         Disponibilité\ndu système et limites de responsabilité de la Banque

\n\n

L’Utilisateur\nreconnaît que les temps de réponse peuvent varier en fonction des conditions du\nmarché, des performances du système, de l’emplacement du dispositif d’accès ou\nd’autres facteurs, et que l’accès aux Services Digitaux peut être limité ou\nindisponible pendant les périodes de pic de demande ou d’activité, de\nvolatilité du marché, de mises à niveau du système, de maintenance ou pour\ntoute autre raison que ce soit.

\n\n

L’Utilisateur\nreconnaît (i) qu’une interruption ou un dysfonctionnement des communications,\nune défaillance du logiciel ou de l’équipement, ou un dysfonctionnement de son\nsystème informatique ou de celui de la Banque pour quelque raison que ce soit,\npeut faire que la Banque ne reçoive pas ses instructions ou que lui-même ne\nreçoive pas les communications de la Banque, et (ii) que la Banque n’assumera\naucune responsabilité en cas d’interruption ou de dysfonctionnement. La Banque\nn’est responsable dans ses relations avec l’Utilisateur qu’en cas de faute\nlourde de sa part.

\n\n

La\nBanque ne pourra être tenue responsable des dommages ou conséquences négatives\npouvant survenir en relation avec la connexion internet de l’Utilisateur, dont\nl’Utilisateur supportera le risque exclusif.

\n\n

L’Utilisateur\ns’engage à respecter les prescriptions légales et réglementaires en vigueur\ndans le pays à partir duquel s’effectue l’accès aux Services Digitaux via internet\net renonce expressément et définitivement à engager la responsabilité de la\nBanque au titre de tout préjudice qu’il pourrait subir à ce titre. Plus\nparticulièrement, la Banque ne saurait être tenue pour responsable et ne\nsaurait être mise en cause en cas d’accès d’un tiers aux comptes du Client ou\nd’obtention d’informations concernant les relations du Client avec la Banque\npar le biais des Services Digitaux.

\n\n

Sauf\ndans la mesure où la Banque est expressément déclarée responsable en vertu des\nprésentes conditions, le Client accepte, individuellement et solidairement,\nd’indemniser la Banque, ses administrateurs, dirigeants, cadres, employés,\nprestataires de services et agents de tout préjudice résultant de toutes\nactions, pertes, responsabilités, réclamations, demandes, dommages, jugements,\ncoûts et dépenses (y compris les frais juridiques) (ci-après la « Réclamation »)\nlié directement ou indirectement aux Services Digitaux, aux services connexes,\net à tout acte ou manquement de l’un d’entre eux en relation avec ceux-ci.

\n\n

Sans\nlimiter de quelque manière que ce soit la généralité de la disposition\nprécédente, sauf disposition contraire expresse dans les présentes conditions\ngénérales des Services Digitaux ou lorsque la loi l’exige, ni la Banque, ni ses\nadministrateurs, dirigeants, employés, fournisseurs de services ou agents ne\nseront responsables de toute Réclamation résultant en tout ou en partie d’un\nacte ou d’un défaut d’action de l’équipement ou du logiciel de la Banque, de\nl’Utilisateur ou d’un tiers, de tout fournisseur de navigateur Internet, de\ntout FAI ou d’une société affiliée, d’un agent ou d’un contractuel de l’un\nd’eux.

\n\n

En\naucun cas, la Banque ou ses administrateurs, dirigeants, employés, fournisseurs\nde services ou agents ne seront responsables de tout dommage direct ou\nindirect, spécial ou consécutif, économique ou autre à quiconque découlant\ndirectement ou indirectement des Services Digitaux, des services connexes ou de\ntout acte ou défaut d’acte de quiconque en relation avec ceux-ci.

\n\n

7.         Surveillance\net enregistrement

\n\n

L’Utilisateur\nautorise expressément la Banque à enregistrer, stocker et archiver les\ncommunications par e-mail. L’Utilisateur reconnaît et accepte en outre que la\nBanque stocke et archive les connexions aux Services Digitaux effectuées à\nl’aide de l’Identifiant ainsi que l’heure d’accès de l’Utilisateur aux Services\nDigitaux.

\n\n

L’Utilisateur\naccepte notamment que l’enregistrement des identifiants et des heures d’accès\nconservé par la Banque constitue la preuve de l’existence, du contenu et de la\ndate et de l’heure exactes d’un tel accès ou connexion.

\n\n

L’Utilisateur\ntraitera les messages ou informations échangés ou reçus via les Services Digitaux\ncomme une correspondance privée.

\n\n

8.         Lieu\nde communication

\n\n

Tout\naccès ou connexion aux Services Digitaux par l’Utilisateur et toutes les\ncommunications de l’Utilisateur avec la Banque par le biais des Services Digitaux\nsont réputés avoir été effectués directement dans les bureaux de la Banque à la\ndate et à l’heure indiquées sur les archives internet de la Banque.

\n\n

9.         Protection\ndes droits de propriété intellectuelle

\n\n

Le\ncopyright concernant les Services Digitaux appartient à la Banque, à ses\nfiliales au sein du groupe HSBC ou à ses prestataires. Toute représentation ou\nreproduction de tout ou partie du site, marques, logos ou éléments figurant sur\nle site, sous quelque forme que ce soit, est interdite, sauf autorisation\nécrite préalable de la Banque. Les logiciels, programmes et applications\nfournis par la Banque sont la propriété de la Banque ou de ses concédants de\nlicence.

\n\n

10.       Modification\ndes présentes conditions générales

\n\n

La\nBanque peut modifier à tout moment les présentes conditions générales des\nServices Digitaux pour tenir compte notamment de l’évolution de la législation\nou de la réglementation, des usages locaux, de la situation du marché ou de la\npolitique de la Banque.

\n\n

La\nBanque se réserve le droit, à tout moment, d’informer le Client, par tout moyen,\ndes modifications apportées aux présentes conditions générales des Services Digitaux.\nCes modifications seront réputées approuvées par le Client si celui-ci ne\nformule aucune objection par écrit à la Banque dans les 30 jours suivant\nl’envoi de la notification.

\n\n

Si\nle Client notifie son objection conformément au présent paragraphe, le Client\nest en droit de résilier les présentes conditions générales des Services Digitaux.

\n\n

11.       Résiliation

\n\n

La Banque peut résilier\nl’accès de tout Utilisateur aux Services Digitaux sans préavis si elle\ndétermine à sa discrétion que l’une des dispositions des Conditions Générales a\nété enfreinte ou si les Services Digitaux n’ont pas été utilisés pendant une\npériode de 3 (trois) mois consécutifs. Pour toute autre raison, la Banque\npourra résilier l’accès de tout Utilisateur aux Services Digitaux moyennant un\npréavis de 30 jours.

\n\n

 

\n\n

Complément aux Services Digitaux : HSBC Insights and\nResearch (I&R)

\n\n

1.         Portée\ndu complément

\n\n

Les présentes conditions\ncomplémentaires régissent l’accès et l’utilisation de HSBC Private Bank\nInsights and Research (ci-après la « Plateforme I&R »),\nune plateforme digitale qui permet aux Utilisateurs d’accéder aux rapports et\npublications économiques et financiers de HSBC et/ou de tiers (ci-après les\n« Publications »), y compris, mais sans s’y limiter, (i) les\ncommentaires macroéconomiques de Global Private Bank sur les marchés\nfinanciers, (ii) les rapports de HSBC Global Research (ci-après « HSBC\nResearch ») publiés par Global Research, une division de HSBC Global\nMarkets (ci-après « HSBC Global Research ») et/ou (iii) des\npublications de tiers hors HSBC. Les Publications peuvent traiter des marchés\nfinanciers et des produits d’investissement dans plusieurs catégories d’actifs\net peuvent inclure des documents de recherche financière couvrant des\ninstruments financiers et des émetteurs spécifiques.

\n\n

La Plateforme I&R est mise\nà disposition par la Banque (i) aux Clients ayant conclu un contrat Prism\nAdvisory avec la Banque et (ii) aux Utilisateurs.

\n\n

Les\ntypes de Publications accessibles à chaque catégorie d’Utilisateur seront\ndéterminés par la Banque à sa discrétion.

\n\n

2.         Canaux\nde distribution des Publications

\n\n

2.1.      Plateforme\nI&R

\n\n

La\nBanque fournira à chaque Utilisateur un accès en ligne direct aux Publications par\nla Plateforme I&R via les canaux des Services Digitaux de la Banque.

\n\n

2.2.      Alertes\ne-mail

\n\n

En\nplus de ce qui précède, la Banque offrira à chaque Utilisateur la possibilité\nde recevoir par e-mail certaines alertes liées aux Publications, telles que\ncertaines de leurs mises à jour. Parmi les services rendus dans le cadre du\nprésent contrat, chaque Utilisateur peut choisir de recevoir des alertes par\ne-mail générées par la Plateforme I&R (ci-après les « Alertes E-mail »).\nChaque Utilisateur sera invité à divulguer et à communiquer son adresse e-mail\nvalide si et lors de la demande d’Alertes e-mail.

\n\n

Accéder\nà la plateforme I&R : Afin d’accéder à la Plateforme I&R et aux\nPublications, chaque Utilisateur se verra fournir par la Banque des\ninformations d’identification (nom d’utilisateur et mot de passe) pour accéder\naux canaux des Services Digitaux.

\n\n

Alertes\nE-mail : Si un Utilisateur choisit de recevoir les Alertes E-mail, il lui\nsera demandé de communiquer à la Banque son adresse e-mail. L’Utilisateur\ns’engage à informer immédiatement la Banque de tout changement de son adresse\ne-mail.

\n\n

Dans\nce contexte, chaque Utilisateur doit être conscient que les communications\nenvoyées et l’utilisation de l’adresse e-mail de chaque Utilisateur ne sont pas\nsécurisées. Dès lors, la transmission de toute documentation, telle que les\nPublications ou les Alertes E-mail, peut avoir pour effet de révéler à des\ntiers l’existence de la relation du Client avec la Banque. Dans ce cadre, la\nBanque ne peut garantir que la confidentialité de la relation du Client avec\ncelle-ci pourra être préservée et décline expressément toute responsabilité à\ncet égard.

\n\n

3.         Suivi\nde l’utilisation par la Banque

\n\n

L’accès\net l’utilisation des Publications par chaque Utilisateur, y compris les Alertes\nE-mail, peuvent être surveillés par la Banque et ses sous-traitants, et les\ninformations qui en résultent peuvent être collectées et utilisées par la\nBanque pour des considérations commerciales internes (voir ci-dessous) ou pour\ntout exigence réglementaire applicable. En utilisant la Plateforme I&R,\nchaque Utilisateur consent à la surveillance et à la collecte d’informations\nconcernant son accès et son utilisation des Publications.

\n\n

Les\nconsidérations commerciales internes pour le contrôle de l’accès aux\nPublications et de leur utilisation par la Banque comprennent, sans s’y\nlimiter : (i) vérifier si chaque Utilisateur accède aux Publications, y\ncompris les Alertes E-mail, et plus particulièrement celles liées aux positions\ndu portefeuille du Client et aux modèles de trading et (ii) s’assurer que la\nBanque, dans toute la mesure du possible, fait les recommandations les plus\nappropriées, le cas échéant, pour l’allocation/le trading de portefeuille à la\nlumière des Publications, y compris les Alertes E-mail, auxquelles\nl’Utilisateur a accès.

\n\n

4.         Langue\ndes publications

\n\n

Les\nPublications et Alertes E-mail sont fournies à chaque Utilisateur exclusivement\nen langue anglaise. En utilisant la Plateforme I&R, l’utilisateur confirme\nqu’il possède un niveau de compétence suffisant en anglais pour comprendre\npleinement le contenu des Publications et des Alertes E-mail, ainsi que toute\nclause de non-responsabilité ou avertissement de risque important qu’elles\npeuvent contenir.

\n\n

5.         Connaissances,\nexpérience et documentation financières

\n\n

Les\nPublications auxquelles chaque Utilisateur accédera peuvent couvrir différentes\ncatégories de produits financiers, y compris, mais sans s’y limiter, le changement\nclimatique, l’allocation d’actifs, les matières premières, les convertibles, le\ncrédit de grande qualité, le crédit à haut rendement, la stratégie de crédit,\nles devises, l’économie, l’indexation sur les actions, la stratégie actions,\nles obligations, les titres structurés et adossés à des actifs.

\n\n

Les\nPublications font référence à des données, concepts et ratios de marché,\néconomiques et financiers, ainsi qu’à d’autres informations ou concepts\ntechniques qui nécessitent que chaque Utilisateur possède un degré significatif\nde connaissances, d’expérience et de compétences financières.

\n\n

En\nutilisant la Plateforme I&R, l’Utilisateur confirme (i) qu’il possède un\nniveau suffisant de connaissances, d’expérience et de compétences financières\npour lire et comprendre les Publications et leurs limites, en particulier\ncelles mentionnées aux sections 9.1 et 9.2 ci-dessous, et (ii) qu’il exercera\nun jugement indépendant dans l’évaluation des Publications.

\n\n

Si\nun Utilisateur éprouve des difficultés à comprendre l’une des Publications ou\ndes Alertes E-mail, celui-ci doit contacter le chargé de clientèle ou le conseiller\nen placement en charge du compte pour obtenir des éclaircissements supplémentaires.

\n\n

Le\nClient confirme qu’il est capable de supporter le risque financier associé à la\nnégociation sur les marchés financiers concernés et les instruments financiers\ncouverts dans les Publications.

\n\n

6.         Pas\nde contact avec l’émetteur des Publications

\n\n

Aucun\nUtilisateur ne tentera de contacter directement l’émetteur de toute\nPublication, y compris, mais sans s’y limiter, tout analyste de HSBC Global\nResearch ou tout autre tiers (y compris leurs représentants ou employés).

\n\n

7.         \nAccès restreint

\n\n` + tc2;\n","import PrivacyPolicyLUX from \"./registrationConditions/PP_LUX.js\";\nimport TermsAndConditionLUX from \"./registrationConditions/T&C_LUX.js\";\n\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTermsLUX: [\n {\n label: \"Conditions générales\",\n html: TermsAndConditionLUX\n },\n {\n label: \"Politique de confidentialité\",\n html: PrivacyPolicyLUX\n }\n ]\n};\n","export default `\n\n\n\n\n\n\n\n\n\n
\n\n

Confidentialité

\n\n

Nous savons que la manière dont vos\ninformations personnelles et financières sont traitées est importante pour\nvous. La présente déclaration de confidentialité énonce nos politiques\nactuelles et témoigne de notre engagement envers votre vie privée financière.

\n\n

 

\n\n

En accédant à ce site internet (ci-après le\n« Site ») et à l’une de ses pages, vous acceptez la\ndéclaration de confidentialité décrite ci-dessous.

\n\n

 

\n\n

Avant d’utiliser le Site, vous devez lire\nattentivement cette déclaration de confidentialité, ainsi que nos conditions\ngénérales et notre politique\nen matière de liens hypertextes. Vous devez également lire notre politique\nen matière de cookies pour en savoir plus sur la façon dont HSBC et\nnos partenaires de confiance utilisent des cookies, qui concernent votre\nexpérience sur le Site.

\n\n

 

\n\n

Les informations, les supports et le contenu\nfigurant dans les pages du Site peuvent être modifiés à tout moment sans\npréavis. Par conséquent, cette déclaration de confidentialité peut également\nêtre modifiée. Vous acceptez de consulter régulièrement cette déclaration de\nconfidentialité, et votre accès ou votre utilisation continu(e) du Site\nsignifiera que vous acceptez toute modification.

\n\n

 

\n\n

Le groupe HSBC fournit des produits et des\nservices financiers par l’intermédiaire de ses sociétés affiliées et\nsuccursales dans le monde entier. Les principes de confidentialité et de\nprotection des données à caractère personnel sont différents selon les pays.\nLorsque vous accédez à un autre site Web ou que vous êtes renvoyés vers un\nautre site Web, veuillez lire les déclarations de confidentialité et de\nprotection des données ou les accords émis par cet autre site internet afin de\ndéterminer les politiques qui s’appliquent aux informations ou aux données\nconservées par ce site internet.

\n\n

 

\n\n

Notre activité s’est construite sur une\nrelation de confiance entre nous et nos clients. Afin de préserver la\nconfidentialité de toutes les informations que vous nous fournissez, nous avons\nadopté les principes de confidentialité suivants :

\n\n

¨    \nNous ne collecterons que les informations que nous\nestimons pertinentes et nécessaires à la compréhension de vos besoins\nfinanciers et à l’exercice de nos activités

\n\n

¨    \nNous utiliserons vos informations pour vous fournir\nde meilleurs services et produits

\n\n

¨    \nNous pourrons communiquer vos informations à\nd’autres sociétés ou mandataires du groupe HSBC, conformément à la loi

\n\n

¨    \nNous ne divulguerons pas vos informations à toute\norganisation extérieure, sauf si nous obtenons votre consentement, si la loi\nl’exige ou si nous vous en avons informé au préalable

\n\n

¨    \nNous pouvons être contraints, parfois, de\ncommuniquer vos informations aux autorités gouvernementales ou judiciaires ou\naux autorités de tutelle, mais nous ne le ferons que dans les limites de nos\nobligations

\n\n

¨    \nNous ferons en sorte de tenir à jour vos\ninformations

\n\n

¨    \nNous possédons des systèmes de sécurité stricts\ndestinés à éviter tout accès non autorisé à vos informations, y compris par\nnotre personnel

\n\n

¨    \nToutes les sociétés du groupe HSBC, tout notre\npersonnel, et tous les tiers bénéficiant d’un accès autorisé à vos informations\nsont expressément tenus de respecter nos obligations de confidentialité

\n\n

En nous engageant à respecter ces principes,\nnous entendons respecter la confiance que vous nous accordez.

\n\n

Politique en matière\nde cookies

\n\n

Comprendre\ncomment et pourquoi nous utilisons des cookies

\n\n

Nous utilisons des cookies sur notre site internet\npour créer le site le plus efficace possible pour nos utilisateurs. Les cookies\nque nous utilisons nous permettent, entre autres, d’améliorer votre expérience\nlors de l’utilisation de notre site internet et de s’assurer que le site internet\nfonctionne comme prévu.

\n\n

 

\n\n

Cette politique en matière de cookies explique\nce que sont les cookies, comment nous les utilisons sur notre site internet et\nquels sont leurs avantages.

\n\n

 

\n\n

Questions\nfréquemment posées concernant les cookies

\n\n

 

\n\n

Que\nsont les cookies ?

\n\n

Les cookies sont de petits\nfichiers texte qui sont placés et stockés sur votre ordinateur, votre\nsmartphone ou tout autre appareil optimisé pour internet lorsque vous visitez\nun site internet. Les cookies sont utiles parce qu’ils permettent au site internet\nde reconnaître l’appareil de l’utilisateur.

\n\n

Les sites internet du groupe\nHSBC utilisent des cookies à plusieurs fins : déterminer les préférences\nd’utilisation, permettre aux utilisateurs de naviguer de manière efficace d’une\npage à l’autre, vérifier leur identité et effectuer d’autres contrôles de\nsécurité indispensables. La politique en matière de cookies sur chaque site internet\ndu groupe HSBC explique la manière dont les cookies sont utilisés.

\n\n

Certaines des fonctions\nqu’offrent les cookies sont également disponibles via l’utilisation de\ntechnologies similaires. Bien que la présente politique utilise exclusivement\nle terme « cookies », elle couvre également les technologies\nsusmentionnées.

\n\n

Pour en savoir plus sur les cookies, consultez \nle site http://www.allaboutcookies.org/fr/

\n\n

Comment\nles cookies rendent-ils le site internet plus sûr et plus facile à\nutiliser ?

\n\n

Les cookies sont utilisés pour\ndiverses raisons, par exemple pour améliorer la fonctionnalité et les\nperformances du site internet et pour protéger votre vie privée lorsque vous\nvisitez notre site internet.

\n\n

Nous utilisons des cookies\n« analytiques » pour nous aider à améliorer la navigation des\nvisiteurs fréquents sur notre site internet. Ils nous aident à déterminer ce\nque les utilisateurs aiment et n’aiment pas et la manière dont nous pouvons\nl’améliorer pour vous.

\n\n

Si nous incluons des liens vers\nd’autres sites internet, nous vous rappelons que ces sites appliquent leurs\npropres politiques en matière de confidentialité et de cookies, qui régissent\nl’utilisation des informations que vous pourriez être amenés à leur\ntransmettre. Nous vous recommandons de lire leurs politiques car HSBC n’est pas\nresponsable de leurs pratiques en matière de confidentialité.

\n\n

Comment travaillons-nous avec\ndes tiers de confiance ?

\n\n

Ces tiers sont des fournisseurs\nde confiance de HSBC. Il s’agit notamment de partenaires qui fournissent des\nfonctionnalités importantes à notre site internet et de partenaires qui nous\naident à améliorer notre site internet, tels que Webtrends, qui fournit des\nstatistiques sur les pages les plus consultées sur notre site.

\n\n

Nous ne partagerons aucune\ninformation personnelle recueillie par le biais des cookies sur le Site avec\ndes tiers.

\n\n

Plus\nd’informations sur votre vie privée

\n\n

Pour en savoir plus sur la\nmanière dont HSBC protège votre vie privée lors de l’utilisation de notre site internet,\nveuillez lire nos conditions générales et notre déclaration\nde confidentialité.

\n\n

 

\n\n

 

\n\n
\n\n\n\n\n\n`;\n","import { tc2 } from \"./T&C2\";\n\nexport default `\n\n\n\nT&C_tc\n \n\n \n
\n
\n

\n 本行網上理財平台所提供服務的條款載列如下。在前往下一頁之前,請仔細閱讀有關條款:\n

\n
    \n
  1. \n

    \n \n A.\n \n \n 網上理財服務的條款及細則,當中載列閣下存取及使用滙豐環球私人銀行網上理財平台的條款及細則;\n \n

    \n
  2. \n
  3. \n

    \n \n B.\n \n \n 滙豐私人銀行視野及研究的條款及細則,當中載列閣下可透過滙豐環球私人銀行網上理財平台存取及使用的滙豐私人銀行視野及研究的額外條款及細則;\n \n

    \n
  4. \n
  5. \n

    \n \n C.\n \n \n 推播通知服務的條款及細則,當中載列本行向閣下提供並且與閣下可透過滙豐環球私人銀行網上理財平台存取或使用的產品及服務有關的推播通知服務的額外條款及細則;及\n \n

    \n
  6. \n
  7. \n

    \n \n D.\n \n \n 電子簽署服務的條款及細則,當中載列任何使用電子簽署簽立的文件適用的額外條款及細則。\n \n

    \n
  8. \n
  9. \n

    \n \n E.\n \n \n 可疑委託警示模式的條款及細則,此乃與潛在可疑轉賬交易的警示有關。\n \n

    \n
  10. \n
\n
\n
\n
\n
\n

A. 網上理財服務的條款及細則

\n
\n
\n
\n
\n

\n 1\n 釋義及詮釋\n

\n

\n 1.1\n \n 除本文另有界定外,本行的標準章則(可經不時修訂)(按查閱,「標準章則」)中界定的表述於本網上理財服務的條款及細則(「網上理財條款」)中使用時具有相同涵義。如本網上理財條款與標準章則之間有任何分歧,概以本網上理財條款為準。\n \n

\n

\n 1.2\n \n 於本網上理財條款中,除文義另有所指外,以下詞彙具有以下涵義:\n \n

\n
    \n
  1. \n

    \n \n 「指定網上用戶」指獲閣下授權使用閣下戶口之網上理財服務之指定人士(包括閣下)。\n \n

    \n
  2. \n
  3. \n

    \n \n 「資料」指本行透過任何互聯網網站提供由任何資料供應商供應之金融、市場或其他資料及數據,包括B部中界定的「刊物」所包含的任何有關資料。\n \n

    \n
  4. \n
  5. \n

    \n \n 「資料供應商」指供應資料之任何人士或實體,包括提供資料之本行及任何集團辦事處,以及供應任何資料予資料供應商之任何其他人士或實體。\n \n

    \n
  6. \n
  7. \n

    \n \n 「互聯網網站」指由本行或任何其他人士代表本行建立、運作及╱或維持以提供網上理財服務之互聯網網站或其他平台,包括流動理財應用程式。\n \n

    \n
  8. \n
  9. \n

    \n \n 「網上理財服務」指下文經不時修訂之第2條(網上理財服務)所載述之服務,包括根據B部提供的視野及研究服務、流動理財應用程式服務及根據D部提供的電子簽署。\n \n

    \n
  10. \n
  11. \n

    \n \n 「網上理財條款」指網上理財服務的條款及細則。\n \n

    \n
  12. \n
  13. \n

    \n \n 「流動理財應用程式」指本行提供的應用程式,下載至閣下的流動裝置即可藉其使用流動理財應用程式服務。\n \n

    \n
  14. \n
  15. \n

    \n \n 「流動理財應用程式服務」指向閣下提供的服務,藉以讓閣下透過流動理財應用程式使用網上理財服務,包括C部中界定的推播通知服務。\n \n

    \n
  16. \n
  17. \n

    \n \n 「密碼」指指定網上用戶就網上理財服務而使用之密碼。\n \n

    \n
  18. \n
  19. \n

    \n \n 「報告」指以任何形式、媒介或途徑利用資料編製之任何報告,包括B部中界定的任何「刊物」。\n \n

    \n
  20. \n
  21. \n

    \n \n 「保安編碼」指由本行提供並用作使用網上理財服務的任何編碼。\n \n

    \n
  22. \n
  23. \n

    \n \n 「標準章則」具有本網上理財條款第1條(釋義及詮釋)所賦予的涵義。\n \n

    \n
  24. \n
  25. \n

    \n \n 「本行」或具有該或類似涵義之詞語指本行。\n \n

    \n
  26. \n
  27. \n

    \n \n 「使用者名稱」指本行接納之指定網上用戶使用者識別代碼,以便使用網上理財服務。\n \n

    \n
  28. \n
  29. \n

    \n \n 「閣下」或具有該或類似涵義之詞語指客戶,如文義許可,包括經客戶授權就使用網上理財服務向本行發出指示或要求的任何人士,包括任何指定網上用戶。\n \n

    \n
  30. \n
\n
\n
\n

\n 2\n 網上理財服務\n

\n

\n 2.1\n \n 本行可不時透過任何互聯網網站提供網上服務以便閣下向本行發出通訊,從而操作客戶戶口、進行銀行事務、投資、理財及任何性質之買賣及交易,以及獲取本行不時提供之服務、產品、資料、報告、利益及優惠。\n \n

\n

\n 2.2\n \n 本行有權不時決定並修訂所提供之網上理財服務範圍及類別,包括但不限於:\n \n

\n
    \n
  1. \n

    \n (A)\n 隨時增加、修改或削減網上理財服務;\n

    \n
  2. \n
  3. \n

    \n (B)\n \n 制訂或更改使用網上理財服務(或該服務之任何部分)之限制,例如限制閣下使用網上理財服務每日進行任何買賣或交易之類別或任何買賣或交易之最高或最低交易額;及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n \n 指定及更改網上理財服務(或該服務之任何部分)之正常服務時間,以及任何類別之網上理財服務、買賣或交易之每日截數時間。本行於適用之每日截數時間後接獲閣下之任何指示,將被視為於下一營業日收到。本行可根據不同時區之市場運作時間,指定網上理財服務的營業日及每日截數時間。\n \n

    \n
  6. \n
\n

\n 2.3\n 本行可酌情全面或就任何客戶戶口或一組客戶戶口暫停或終止網上理財服務,但在任何有關情況下,如閣下受到影響,本行須盡可能通知閣下,但在有合理必要保障本行合法權益的情況下,或根據任何法律或為了金融罪案管理活動(包括但不限於為防止詐騙之目的),則可毋須事先通知而暫停或終止。如閣下就網上理財服務的使用遭暫停、限制或終止,本行可結束任何只能透過網上理財服務使用的戶口、產品或服務,閣下將不再收到電子結單,閣下亦應從閣下的裝置刪除本行的流動理財應用程式(如適用)。\n \n

\n

\n 2.4\n \n 本行可要求閣下就使用網上理財服務而指定或登記專用客戶戶口。\n \n

\n

\n 2.5\n \n 閣下可向本行發出事先書面通知而隨時終止使用網上理財服務及╱或終止對任何指定網上用戶之授權。\n \n

\n

\n 2.6\n \n 為使其涵義得以施行,本網上理財條款中所有需要在網上理財服務暫停或終止及/或閣下暫停或終止使用網上理財服務後維持有效的條文(包括但不限於第4條(一般免責聲明)、第7條(使用者名稱及密碼與安全)、第9條(資料及資料供應商)、第11條(本行之責任)及第12條(客戶之責任))於暫停或終止後仍具有十足效力及作用。儘管有此等暫停或終止,只要該等條文與閣下仍未履行或解除之任何義務或法律責任有關,閣下仍須繼續受本網上理財條款約束。\n \n

\n
\n
\n

\n 3\n 適用條款\n

\n

\n \n \n 使用網上理財服務進行任何買賣及交易,須受制於本網上理財條款、標準章則及所有其他管限有關客戶戶口、交易、買賣、服務、產品、資料、報告、利益或優惠之戶口文件。\n \n

\n
\n
\n

\n 4\n 一般免責聲明\n

\n

\n 4.1\n \n 所有閣下可透過網上理財服務進行的交易(不時提供者)純屬執行性質並根據閣下本身的判斷進行。本行並無責任評估或確保閣下透過網上理財服務買賣的產品或進行的交易是否合適。如本行以書面形式明示將本第4.1條摒除於適用範圍之外,則本第4.1條並不適用。\n \n

\n

\n 4.2\n \n 倘適用法律要求為其作出合適程度評估,則本行可能已向或為閣下作出之招攬或推薦僅於作出時有效,且本行無法確保有關產品是否持續合適。透過使用網上理財服務就產品執行交易,即表示閣下明白並接納,倘若與閣下、該產品或其發行人或市況相關之情況有變,則該產品可能不再適合閣下,而閣下使用網上理財服務進行交易之風險概由閣下承擔。\n \n

\n

\n 4.3\n \n 閣下有責任自行透過閣下慣常之買賣渠道,獨立決定買賣之市價及利率;並有責任在依賴任何資料及╱或報告或據此行事前,自行予以核證。閣下亦有責任就使用網上理財服務、資料及報告以及進行之任何買賣及交易在所有適用法律下對閣下可能產生之影響,尋求法律、稅務及其他方面之獨立專業意見。\n \n

\n

\n 4.4\n \n 本行透過互聯網網站或為回覆網上查詢而提供之任何匯率、利率、買賣報價及其他價格及資料乃僅供參考之用,而不具任何約束力。儘管本行曾提供不同之利率、報價或資料,閣下一經確認接納本行就有關交易而提供之任何利率、報價及資料,即對閣下有約束力。\n \n

\n

\n 4.5\n \n 閣下明白透過互聯網或電子郵件使用服務有相關風險,包括但不限於未經授權使用、系統故障、電訊服務及互聯網延誤及中斷。網上理財服務的反應時間可能會因市場狀況、系統性能、存取設備位置或其他因素而有所不同,而資料亦可能在需求高峰、市場波動、系統升級、維護期間或因任何其他原因而遭限制或無法存取。閣下確認,通訊中斷或故障、軟件設備故障、閣下或本行的電腦系統因任何原因發生故障,或未有更新閣下的裝置瀏覽器或作業系統或流動理財應用程式均可能會妨礙或限制閣下使用網上理財服務的能力,如中斷或故障超出本行的合理控制範圍,本行不會對任何有關中斷或故障承擔任何責任。\n \n

\n

\n 4.6\n \n 網上理財服務只在選定的司法管轄區提供。可使用網上理財服務存取的資料不擬在任何司法管轄區分發給有關分發將違反該司法管轄區的任何法例或規例的任何人士或供其使用。本行並不保證網上理財服務或其中的資料符合其他司法管轄區的法律或適合在其他司法管轄區使用。\n \n

\n

\n 4.7\n \n 閣下確認,閣下可在或透過網上理財服務檢視的任何產品或服務可能未經本行獲發牌或授權提供有關產品或服務的任何司法管轄區以外或閣下的居住或所在地的任何中央銀行、政府或監管機構註冊或授權。因此,就閣下可在或透過網上理財服務檢視的產品或服務而言,閣下可能不受本行獲發牌或授權提供有關產品或服務的任何司法管轄區以外或閣下的居住地的證券法、銀行法、保險法或其他相關法律保障。\n \n

\n

\n 4.8\n \n 如閣下透過流動應用程式商店存取及/或下載本行的流動理財應用程式,閣下確認:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 本行對流動理財應用程式的效能負責,閣下應就與本行的流動理財應用程式相關的任何維護及支援事宜、內容事宜、故障或其他申索與本行聯絡;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 當閣下使用本行的流動理財應用程式時,就本網上理財條款而言,有關流動應用程式商店被視為第三方受益人,其可依賴本網上理財條款。\n \n

    \n
  4. \n
\n
\n
\n

\n 5\n 指定網上用戶\n

\n

\n 5.1\n 閣下須:\n

\n
    \n
  1. \n

    \n (A)\n \n 指定閣下授權之人士就客戶戶口使用網上理財服務,並按本行不時指定之方式及形式限制各有關人士所獲授權範圍;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 就指定網上用戶之郵寄地址及╱或電郵地址的任何更改知會本行;及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n \n 確保所有指定網上用戶遵守本網上理財條款及標準章則。\n \n

    \n
  6. \n
\n

\n 5.2\n \n 閣下及各指定網上用戶須提供本行為提供網上理財服務而不時合理要求的資料。\n \n

\n

\n 5.3\n \n 閣下須就使用網上理財服務負責,有責任採取適當措施以監控網上理財服務之使用情況,並負責指定和更換指定網上用戶,亦須採取恰當之保安措施,以免網上理財服務被未經授權人士使用或被用作未經授權用途,包括但不限於本網上理財條款第7條(使用者名稱及密碼)所載措施。\n \n

\n

\n 5.4\n \n 如閣下已委任指定網上用戶使用任何網上理財服務,該指定網上用戶為及代表閣下接受並同意本網上理財條款,而閣下亦同意受指定網上用戶的有關接受及/或同意約束。\n \n

\n
\n
\n

\n 6\n 使用網上理財服務\n

\n

\n 6.1\n 網上理財服務只供網上理財服務訂用客戶使用。\n

\n

\n 6.2\n 閣下不得進行或試圖進行以下任何活動:\n

\n
    \n
  1. \n

    \n (A)\n \n 反編譯、反向工程、翻譯、轉換、改編、改變、修改、提昇、增添、刪除或以任何方式干擾或進入網上理財服務之任何部分或任何互聯網網站或當中組成之任何軟件;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 使用或在知情下容許任何其他人士使用網上理財服務、資料及╱或報告作任何非法目的或活動;\n \n

    \n
  4. \n
  5. \n

    \n (C)\n \n 移除或試圖移除網上理財服務中的任何標題或商標、版權或限制權利通知;\n \n

    \n
  6. \n
  7. \n

    \n (D)\n \n 使用任何自動化工具(即機械人)存取網上理財服務或執行活動;及/或\n \n

    \n
  8. \n
  9. \n

    \n (E)\n \n 允許使用任何安全測試工具以提供、掃描或試圖滲透或評估網上理財服務的安全性,\n \n

    \n
  10. \n
\n

\n \n 閣下如察覺任何有關活動,須盡快通知本行。\n

\n

\n 6.3\n \n 閣下不得上傳或散佈包含病毒或其他惡意程式碼的檔案到網上理財服務,也不得作出任何其他行為破壞或試圖破壞用於提供網上理財服務的系統及網絡。一旦發現網上理財服務實際或懷疑遭病毒或其他惡意程式碼入侵,閣下必須立即通知本行並與本行合作以減低有關病毒或惡意程式碼的影響。\n \n

\n

\n 6.4 \n \n 閣下確認經由互聯網傳送之資料或通訊,可能會出現時差。\n \n

\n

\n 6.5\n 閣下確認:\n

\n
    \n
  1. \n

    \n (A)\n \n 閣下就使用網上理財服務提供的任何資料可能會向本行的業務部門、任何集團辦事處及/或可能位於其他司法管轄區的授權服務供應商披露或供其存取;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 閣下使用網上理財服務可能會受到本行、任何集團辦事處及/或授權服務供應商監控,而本行可能出於內部業務考慮或任何適用法律而收集及使用由此產生的任何資料,\n \n

    \n
  4. \n
\n

\n \n \n 一切均按照標準章則的條款進行,閣下並且同意有關披露、監控及/或使用。\n \n

\n
\n
\n

\n 7\n 使用者名稱及密碼與安全\n

\n

\n 7.1\n \n 各指定網上用戶須按照本行不時訂明之程序指定其使用者名稱及密碼。\n \n

\n

\n 7.2\n \n 各指定網上用戶可隨時更改使用者名稱及密碼,惟任何更改須於本行接納後方為有效。\n \n

\n

\n 7.3\n \n 本行可行使絕對酌情權要求閣下使用保安編碼,以便使用網上理財服務。\n \n

\n

\n 7.4\n \n 各指定網上用戶須以真誠行事,在合理謹慎盡責的原則下採取一切合理措施,將使用者名稱、密碼及保安編碼保密以防盜用情況發生。無論任何時間或情況,指定網上用戶均不得向任何其他人士披露使用者名稱、密碼及╱或保安編碼。\n \n

\n

\n 7.5\n \n 倘若指定網上用戶之使用者名稱、密碼及╱或保安編碼不慎或在未經授權之情況下被洩露予其他人士知悉,閣下須負全責,並須承擔指定網上用戶之使用者名稱、密碼、保安編碼或流動裝置被未經授權人士使用或被用作未經授權用途之風險。\n \n

\n

\n 7.6\n \n 閣下如在流動理財應用程式上啟動生物識別憑據使用功能(譬如指紋認證或人臉識別),並允許使用有關生物識別憑據登入流動理財應用程式或本行可能不時支援之任何其他網上理財服務(僅為兼容裝置而設),便須確保只在裝置上登記閣下自身之生物識別憑據。閣下確認並同意:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 本行無法控制流動裝置的技術、供應情況、性能、驗證方式、安全性及可靠性,因此概不就任何未經授權人士透過生物識別憑據登入網上理財服務之情況承擔責任;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 閣下不得採取任何行動以停用閣下裝置提供的任何功能或同意裝置的任何設定,從而危及使用生物識別憑據進行驗證的安全性(例如停用人臉識別的「螢幕注視感知功能」)。\n \n

    \n
  4. \n
\n

\n 7.7\n \n 閣下或有關指定網上用戶如發現或懷疑使用者名稱、密碼及╱或保安編碼被披露予未經授權人士,或網上理財服務被未經授權使用,須盡快親身通知本行,或根據本行不時指定之電話號碼致電通知本行。本行可要求閣下或有關指定網上用戶以書面形式確認所提供之資料。在本行實際收到該等通知前,閣下須就任何及所有因未經授權人士使用網上理財服務或網上理財服務被用作未經授權用途負責。\n \n

\n
\n
\n

\n 8\n 客戶指示\n

\n

\n 8.1\n 各指定網上用戶須先鍵入其使用者名稱、密碼、保安編碼及本行不時規定之任何其他識別字符,方可登入互聯網網站使用網上理財服務及代表閣下於網上向本行發出通訊。本行獲授權按各指定網上用戶之通訊行事。\n \n

\n

\n 8.2\n \n 指定網上用戶須於本行不時指定之網址及聯絡點向本行發出通訊。除非本行另行明確同意,否則指定網上用戶不得向本行之個別主管人員發出任何通訊。\n \n

\n

\n 8.3\n \n 通訊須按本行不時指定之方式發出及於本行實際收到後,始視為經由本行收妥。\n \n

\n

\n 8.4\n \n 任何通訊一經發出,如未得本行同意,概不得廢除或撤回。除核對有關指定網上用戶之使用者名稱、密碼、保安編碼及其他有關識別字符(如有)外,本行並無責任核證作出任何通訊之人士之身分或授權,或此等通訊之真確性。\n \n

\n

\n 8.5\n \n 本行只會執行本行認為合理可行之通訊,並將遵照正常業務慣例及程序行事。如本行得悉或懷疑存在與使用網上理財服務相關的安全漏洞或其他可疑情況,本行有權延遲或拒絕按通訊行事。\n \n

\n

\n 8.6\n \n 所有經由本行按照通訊代閣下辦理之交易均對閣下具有約束力。\n \n

\n

\n 8.7\n \n 若閣下選擇並同意,本行可在網上向閣下發出已收訖通訊及╱或已執行交易或買賣之通知或確認。閣下同意查核有關通知或確認以確保其準確及完整。倘閣下未有收到通知或確認,或閣下相信有關通知或確認中的任何資料為不準確或不完整,閣下將向本行查詢。\n \n

\n

\n 8.8\n \n 於互聯網網站提供有關任何戶口、交易或買賣之資料均僅供參考之用。本行對該等戶口、交易或買賣之紀錄,如無欺詐或明顯錯誤之情況,均為該等紀錄之證據。\n \n

\n
\n
\n

\n 9\n 資料供應商\n

\n

\n 9.1\n \n 資料供應商可就其提供之任何資料不時制訂有關之條款及細則,並將事先通知該等條款及細則之生效日期。閣下於該等條款及細則生效當日或之後使用該等資料,即表示閣下接納該等條款及細則。\n \n

\n

\n 9.2\n 資料及報告只供參考之用。\n

\n

\n 9.3\n \n 除在適用法律規定或任何有關文件訂明的範圍內,本行及任何資料供應商對任何資料或報告之次序、準確性、真確性、可靠性、充裕程度、時間性或完整性,或其是否適宜作任何用途,概不作出保證、聲明或擔保。閣下同意獨立評估及核實任何資料或報告中的有關事宜,除在適用法律規定或任何有關文件訂明的範圍內,本行及任何資料供應商不會就閣下或任何其他人士因依賴資料或報告而承擔任何法律責任(不論是侵權或合約或其他責任)。然而,本條款並不排除本行或資料供應商根據適用法律就行為、聲明或陳述對閣下或任何其他人士可能承擔的任何責任。\n \n

\n

\n 9.4\n \n 資料將按其由資料供應商所提供之形式提供。本行不會就任何其他資料供應商提供之資料作出批註或表示任何意見,亦無責任對有關資料進行檢查或核證。\n \n

\n
\n
\n

\n 10\n 保密資料\n

\n

\n 10.1\n 保密資料屬本行及有關資料供應商之商業秘密、機密及專有財產。\n \n

\n

\n 10.2\n \n 除本網上理財條款或本行明文許可外,閣下不得進行或試圖進行以下任何活動:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 將任何保密資料向任何其他人士出售、轉移、披露、出讓、轉達、出租、分授許可權、分享、借出、分派、傳輸、廣播、電纜廣播、傳閱、複印,或以其他方式以任何形式或任何手段提供或散佈,或將任何保密資料作商業用途;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 下載或複製任何保密資料作閣下私人參考及使用以外之其他用途;及/或\n \n

    \n
  4. \n
  5. \n

    \n (C)\n \n 將保密資料上顯示之任何所有權標記(包括但不限於任何商標或版權通告)以任何方式移除、塗掉、擦去、遷移或更改。\n \n

    \n
  6. \n
\n

\n 10.3\n \n 在下列情況下,對披露之限制並不適用於下列任何保密資料:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 法律強制規定作出披露,惟只限於法律規定之範圍,及只在閣下已經向本行發出書面通知,說明要求披露之保密資料;或\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 本行已書面明確同意披露之保密資料。\n

    \n
  4. \n
\n

\n 10.4\n \n 有關保密資料之一切權利、所有權及權益,以及任何及所有有關版權、專利權、商標、服務標記、專有財產、商業秘密及專用作品,均屬本行及╱或有關資料供應商之獨家財產。此等權利、所有權或權益(除根據本網上理財條款有權使用資料及報告外)均未有轉移或轉讓予閣下。閣下不得作出顯示閣下擁有任何此等權利、所有權或權益之任何聲明或作為。\n \n

\n
\n
\n

\n 11\n 本行之責任\n

\n

\n 11.1\n \n 本行將根據不時適用於本行之任何法律、通告、行為守則及現行市場慣例,採取合理可行之步驟,以確保與網上理財服務有關之系統已裝置足夠之保安設施,並於系統運作時,對有關風險予以監控。\n \n

\n

\n 11.2\n \n 本行、任何集團辦事處或任何資料供應商,概不保證或聲明網上理財服務、資料及報告不含有任何對閣下硬件、軟件或設備造成不利影響之病毒或其他破壞性程式。\n \n

\n

\n 11.3\n \n 除非引用下文第12.2條,或由於本行、任何集團辦事處或本行╱其各自之主管人員或僱員之欺詐、疏忽或故意失責所引致,本行或任何集團辦事處概不就以下事項所引致或與之有關之後果,而向閣下或任何其他人士承擔任何責任:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 由於閣下或任何其他不論是否獲授權之人士使用網上理財服務及╱或取得任何資料;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 由於在提供網上理財服務、傳送與網上理財服務有關之資料或通訊或與互聯網網站連線時因任何本行之作為、不作為或本行所能合理控制範圍以外之情況,包括但不限於通訊網絡失靈、提供服務之第三者之作為或不作為、機械故障、電力故障、失靈、操作故障,或設備、裝置或設施不足,或因任何法律、守則、指令、監管指引或政府命令(不論是否具法律效力)而出現任何干擾、截取、中斷、延誤、損失、無法提供資料、毀壞或其他故障(包括但不限於任何干擾、截取、中斷、延誤或無法顯示保安編碼);及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n \n 透過或在任何通訊網絡供應商之系統、設備或儀器傳送及╱或儲存任何與閣下及╱或網上理財服務有關之資料及╱或數據。\n \n

    \n
  6. \n
\n

\n 11.4\n \n 本行、任何集團辦事處或任何資料供應商,概毋須對閣下或任何其他人士就任何偶發性、間接、特殊、相應或懲罰性損害賠償負責,包括但不限於有關使用、收入、利潤或儲蓄方面之任何損失責任。本條款不適用於本行/彼等欺詐、疏忽或故意失責的情況。\n \n

\n
\n
\n

\n 12\n 客戶之責任\n

\n

\n 12.1\n 除非引用下文第12.2條或除非本行存在欺詐、疏忽或故意失責的行為,否則因閣下或任何其他人士(不論是否獲得授權)使用網上理財服務及/或因使用網上理財服務取得任何資料或報告或任何其他資料而引致或與之有關之後果,概由閣下全部承擔。\n \n

\n

\n 12.2\n 根據第7條(使用者名稱及密碼)下閣下責任之限制,及倘本行合理地認為閣下並無嚴重疏忽或欺詐,則閣下毋須就使用網上理財服務進行未經授權交易而產生之損失或資金錯置負責。\n \n

\n

\n 12.3\n \n 除非引用上文第12.2條,或由於本行、任何集團辦事處、任何資料供應商或本行╱其各自之主管人員或僱員之欺詐、疏忽或故意失責所引致,否則閣下須彌償本行、任何集團辦事處、任何資料供應商及其各自之主管人員及僱員因提供網上理財服務、資料及╱或報告或行使或保存本行在本網上理財條款及標準章則賦予之權力及權利或因提起或招致之任何法律行動或訴訟所合理及適當地招致之一切法律責任、索償、申索、損失、損害賠償、訟費、任何形式之費用及開支(包括但不限於按全數賠償基準支付之法律費用)。\n \n

\n
\n
\n

\n 13\n 修訂\n

\n

\n \n \n 本行可不時對本網上理財條款進行修訂及/或增補。網上理財條款之任何修訂及╱或增補在本行透過於互聯網網站刊登或按照本行認為合適之其他方式向閣下發出事先合理通知後,即告生效。倘閣下在修訂生效當日或之後繼續維持或使用網上理財服務,則有關修訂將對閣下具有約束力。\n \n

\n
\n
\n

\n 14\n 通知及通訊形式\n

\n

\n 14.1\n \n 本行可不時根據本網上理財條款就各類通知訂明其通知形式(不論書面通知或其他形式)及通訊模式。\n \n

\n

\n 14.2\n \n 以電郵發出之通訊在傳送至閣下最近期以書面形式通知本行之電郵郵址後,即視作閣下經已收悉。\n \n

\n
\n
\n
\n
\n

B. 滙豐私人銀行視野及研究的條款及細則

\n
\n
\n
\n
\n

\n 1\n 本條款及細則的簡介\n

\n

\n 1.1\n \n 閣下使用由本行提供的滙豐私人銀行視野及研究服務(「視野及研究服務」)受以下條款規限:\n \n

\n
    \n
  1. \n

    \n (A)\n \n 本滙豐私人銀行視野及研究的條款及細則(「視野及研究條款」);\n \n

    \n
  2. \n
  3. \n

    \n (B)\n \n 網上理財服務的條款及細則(「網上理財條款」);及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 本行的標準章則(按查閱),\n \n

    \n
  6. \n
\n

\n \n \n 以上條款統稱為「條款」。如本視野及研究條款與網上理財條款或標準章則有任何衝突,則須按以上次序決定優先順序(從高到低)。本行可在向閣下發出合理通知後不時修訂視野及研究條款。\n \n

\n

\n 1.2\n \n 視野及研究條款中使用但未有另行界定的詞彙與網上理財條款及標準章則所賦予的涵義相同。\n \n

\n

\n 1.3\n \n 為免生疑問,網上理財條款中界定的「網上理財服務」及「互聯網網站」將分別包括視野及研究服務及視野及研究網站(「視野及研究」)。\n \n

\n
\n` + tc2;\n","import enGB from \"./language/en-GB\";\nimport enHK from \"./language/en-HK\";\nimport enUS from \"./language/en-US\";\nimport enCI from \"./language/en-CI\";\nimport frLU from \"./language/fr-LU\";\nimport zhSimHK from \"./language/zh-sim-HK\";\nimport zhTrdHK from \"./language/zh-trd-HK\";\n\nexport default {\n \"en-GB\": enGB,\n \"en-HK\": enHK,\n \"en-US\": enUS,\n \"en-CI\": enCI,\n \"zh-sim-HK\": zhSimHK,\n \"zh-trd-HK\": zhTrdHK,\n \"fr-LU\": frLU,\n \"en-LU\": frLU\n};\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: \"条款及细则\",\n html: TermsAndCondition\n }\n ]\n};\n","import { tc2 } from \"./T&C2\";\n\nexport default `\n\n\nT&C_sc\n \n\n \n \n
\n
\n

本行网上银行平台所提供服务的条款载列如下。在前往下一页之前,请仔细阅读有关条款:\n

\n
    \n
  1. \n

    \n \n A.\n \n \n 网上银行服务的条款及细则,当中载列阁下存取及使用汇丰环球私人银行网上银行平台的条款及细则\n \n

    \n
  2. \n
  3. \n

    \n \n B.\n \n \n 汇丰私人银行视野及研究的条款及细则,当中载列阁下可通过汇丰环球私人银行网上银行平台存取及使用的汇丰私人银行视野及研究的额外条款及细则\n \n

    \n
  4. \n
  5. \n

    \n \n C.\n \n \n 推播通知服务的条款及细则,当中载列本行向阁下提供并且与阁下可通过汇丰环球私人银行网上银行平台存取或使用的产品及服务有关的推播通知服务的额外条款及细则及\n \n

    \n
  6. \n
  7. \n

    \n \n D.\n \n \n 电子签署服务的条款及细则,当中载列任何使用电子签署签立的文件适用的额外条款及细则。\n \n

    \n
  8. \n
  9. \n

    \n \n E.\n \n \n 可疑委托警示模式的条款及细则,此乃与潜在可疑转账交易的警示有关。\n \n

    \n
  10. \n
\n
\n
\n
\n
\n

A.\t网上银行服务的条款及细则

\n
\n
\n
\n
\n

\n 1\n 定义及解释\n

\n

\n 1.1\n 除本文另有界定外,本行的标准条款与条件(可经不时修订)(按查阅,“标准条款与条件”)中界定的表述于本网上银行服务的条款及细则(“网上银行条款”)中使用时具有相同涵义。如本网上银行条款与标准条款与条件之间有任何分歧,概以本网上银行条款为准。\n \n

\n

\n 1.2\n \n 于本网上银行条款中,除文义另有所指外,以下词汇具有以下涵义:\n \n

\n
    \n
  1. \n

    \n \n “指定网上用户”指获阁下授权使用阁下账户的网上银行服务的指定人士(包括阁下)。\n \n

    \n
  2. \n
  3. \n

    \n \n “信息”指本行通过任何互联网网站提供由任何信息提供商提供的金融、市场或其他信息及数据,包括B部中界定的“刊物”所包含的任何有关信息。\n \n

    \n
  4. \n
  5. \n

    \n 信息提供商”指提供信息的任何人士或实体,包括提供信息的本行及任何集团办事处,以及提供任何信息给信息提供商的任何其他人士或实体。\n \n

    \n
  6. \n
  7. \n

    \n 互联网网站”指由本行或任何其他人士代表本行建立、运作及╱或维护以提供网上银行服务的互联网网站或其他平台,包括移动银行应用程序。\n \n

    \n
  8. \n
  9. \n

    \n 网上银行服务”指经不时修订的下文第2条(网上银行服务)所介绍的服务,包括根据B部提供的视野及研究服务、移动银行应用程序服务及根据D部提供的电子签署。\n \n

    \n
  10. \n
  11. \n

    \n 网上银行条款”指网上银行服务的条款及细则。\n \n

    \n
  12. \n
  13. \n

    \n 移动银行应用程序”指本行提供的应用程序,下载至阁下的移动装置即可通过该程序使用移动银行应用程序服务。\n \n

    \n
  14. \n
  15. \n

    \n 移动银行应用程序服务”指向阁下提供的服务,藉以让阁下通过移动银行应用程序使用网上银行服务,包括C部中界定的推播通知服务。\n \n

    \n
  16. \n
  17. \n

    \n 密码”指指定网上用户使用的密码,以便使用网上银行服务。\n \n

    \n
  18. \n
  19. \n

    \n 报告”指以任何形式、媒介或途径利用信息编制的任何报告,包括B部中界定的任何“刊物”。\n \n

    \n
  20. \n
  21. \n

    \n 安全码”指由本行提供并用作使用网上银行服务的任何代码。\n \n

    \n
  22. \n
  23. \n

    \n 标准条款与条件”具有本网上银行条款第1条(定义及解释)所赋予的涵义。\n \n

    \n
  24. \n
  25. \n

    \n 本行”或具有该或类似涵义的词语指本行。\n \n

    \n
  26. \n
  27. \n

    \n 用户名”指本行接受的指定网上用户的用户识别代码,以便使用网上银行服务。\n \n

    \n
  28. \n
  29. \n

    \n 阁下”或具有该或类似涵义的词语指客户,如文义许可,包括经客户授权就使用网上银行服务向本行发出指示或要求的任何人士,包括任何指定网上用户。\n \n

    \n
  30. \n
\n
\n
\n

\n 2\n 网上银行服务\n

\n

\n 2.1\n 本行可不时通过任何互联网网站提供网上服务以便阁下向本行发出通信,从而操作客户账户、进行银行事务、投资、理财及任何性质的买卖及交易,以及获取本行不时提供的服务、产品、信息、报告、利益及优惠。\n \n

\n

\n 2.2\n 本行有权不时决定并修订所提供的网上银行服务范围及类别,包括但不限于:\n \n

\n
    \n
  1. \n

    \n (A)\n 随时增加、修改或减少网上银行服务;\n

    \n
  2. \n
  3. \n

    \n (B)\n 制订或更改使用网上银行服务(或该服务任何部分)的限制,例如限制阁下使用网上银行服务每日进行任何买卖或交易的类别或任何买卖或交易的最高或最低交易额;及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 指定及更改网上银行服务(或该服务任何部分)的正常服务时间,以及任何类别的网上银行服务、买卖或交易的每日截止时间。本行在适用的每日截止时间后收到阁下的任何指示,将被视为在下一营业日收到。本行可根据不同时区的市场运作时间,指定网上银行服务的营业日及每日截止时间。\n \n

    \n
  6. \n
\n

\n 2.3\n 本行可酌情全面或就任何客户账户或一组客户账户暂停或终止网上银行服务,但在任何有关情况下,如阁下受到影响,本行须尽可能通知阁下,但在有合理必要保障本行合法权益的情况下,或根据任何法律或为了金融犯罪管理活动(包括但不限于为防止诈骗之目的),则可无须事先通知而暂停或终止。如阁下就网上银行服务的使用遭暂停、限制或终止,本行可结束任何只能通过网上银行服务使用的账户、产品或服务,阁下将不再收到电子账单,阁下也应从阁下的装置删除本行的移动银行应用程序(如适用)。\n

\n

\n 2.4\n 本行可要求阁下就使用网上银行服务而指定或登记特定客户账户。\n \n

\n

\n 2.5\n 阁下可向本行发出事先书面通知而随时终止使用网上银行服务及╱或终止对任何指定网上用户的授权。\n \n

\n

\n 2.6\n 为使其涵义得以施行,本网上银行条款中所有需要在网上银行服务暂停或终止及/或阁下暂停或终止使用网上银行服务后维持有效的条文(包括但不限于第4条(一般免责声明)、第7条(用户名及密码与安全)、第9条(信息及信息提供商)、第11条(本行的责任)及第12条(客户的责任))于暂停或终止后仍具有十足效力及作用。尽管有此等暂停或终止,只要该等条文与阁下仍未履行或解除的任何义务或法律责任有关,阁下仍须继续受本网上银行条款约束。\n \n

\n
\n
\n

\n 3\n 适用条款\n

\n

\n \n 使用网上银行服务进行任何买卖及交易,须受制于本网上银行条款、标准条款与条件及所有其他管辖有关客户账户、交易、买卖、服务、产品、信息、报告、利益或优惠的账户文件。\n \n

\n
\n
\n

\n 4\n 一般免责声明\n

\n

\n 4.1\n 所有阁下可通过网上银行服务进行的交易(不时提供者)纯属执行性质并根据阁下自身的判断进行。本行并无责任评估或确保阁下通过网上银行服务买卖的产品或进行的交易是否合适。如本行以书面形式明示将本第4.1条摒除于适用范围之外,则本第4.1条并不适用。\n \n

\n

\n 4.2\n 如果适用法律要求为其作出合适程度评估,则本行可能已向或为阁下作出的招揽或推荐仅在作出时有效,且本行无法确保有关产品是否持续合适。通过使用网上银行服务执行某个产品的交易,即表示阁下明白并接受,如果与阁下、该产品或其发行人或市况相关的情况有变,则该产品可能不再适合阁下,而阁下使用网上银行服务进行交易的风险概由阁下承担。\n \n

\n

\n 4.3\n 阁下有责任自行通过阁下惯常的买卖渠道,独立决定买卖的市价及利率;并有责任在依赖任何信息及╱或报告或据此行事前,自行予以核证。阁下也有责任就使用网上银行服务、信息及报告以及进行的任何买卖及交易在所有适用法律下对阁下可能产生的影响,寻求法律、税务及其他方面的独立专业意见。\n \n

\n

\n 4.4\n 本行通过互联网网站或为回复网上查询而提供的任何汇率、利率、买卖报价及其他价格和信息仅供参考,而不具任何约束力。尽管本行曾提供不同的利率、报价或信息,阁下一经确认接受本行就有关交易而提供的任何利率、报价及信息,即对阁下有约束力。\n \n

\n

\n 4.5\n 阁下明白通过互联网或电子邮件使用服务有相关风险,包括但不限于未经授权使用、系统故障、电信服务及互联网延误及中断。网上银行服务的反应时间可能会因市场状况、系统性能、存取设备位置或其他因素而有所不同,而信息也可能在需求高峰、市场波动、系统升级、维护期间或因任何其他原因而遭限制或无法存取。阁下确认,通信中断或故障、软件设备故障、阁下或本行的计算机系统因任何原因发生故障,或未有更新阁下的装置浏览器或作业系统或移动银行应用程序均可能会妨碍或限制阁下使用网上银行服务的能力,如中断或故障超出本行的合理控制范围,本行不会对任何有关中断或故障承担任何责任。\n \n

\n

\n 4.6\n 网上银行服务只在选定的司法管辖区提供。可使用网上银行服务存取的信息不拟在任何司法管辖区分发给有关分发将违反该司法管辖区的任何法例或规例的任何人士或供其使用。本行并不保证网上银行服务或其中的信息符合其他司法管辖区的法律或适合在其他司法管辖区使用。\n \n

\n

\n 4.7\n 阁下确认,阁下可在或通过网上银行服务检视的任何产品或服务可能未经本行获发牌或授权提供有关产品或服务的任何司法管辖区以外或阁下的居住或所在地的任何中央银行、政府或监管机构注册或授权。因此,就阁下可在或通过网上银行服务检视的产品或服务而言,阁下可能不受本行获发牌或授权提供有关产品或服务的任何司法管辖区以外或阁下的居住地的证券法、银行法、保险法或其他相关法律保障。\n \n

\n

\n 4.8\n 如阁下通过移动应用程序商店存取及/或下载本行的移动银行应用程序,阁下确认:\n \n

\n
    \n
  1. \n

    \n (A)\n 本行对移动银行应用程序的效能负责,阁下应就与本行的移动银行应用程序相关的任何维护及支持事宜、内容事宜、故障或其他申索与本行联系;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 当阁下使用本行的移动银行应用程序时,就本网上银行条款而言,有关移动应用程序商店被视为第三方受益人,其可依赖本网上银行条款。\n \n

    \n
  4. \n
\n
\n
\n

\n 5\n 指定网上用户\n

\n

\n 5.1\n 阁下须:\n

\n
    \n
  1. \n

    \n (A)\n 指定阁下授权的人士就客户账户使用网上银行服务,并按本行不时指定的方式及形式限制各有关人士所获授权范围;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 就指定网上用户的邮寄地址及╱或电邮地址的任何更改知会本行;及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 确保所有指定网上用户遵守本网上银行条款及标准条款与条件。\n \n

    \n
  6. \n
\n

\n 5.2\n 阁下及各指定网上用户须提供本行为提供网上银行服务而不时合理要求的信息。\n \n

\n

\n 5.3\n 阁下须就使用网上银行服务负责,有责任采取适当措施以监控网上银行服务的使用情况,并负责指定和更换指定网上用户,也须采取恰当的安全措施,以免网上银行服务被未经授权人士使用或被用作未经授权用途,包括但不限于本网上银行条款第7条(用户名及密码)中载明的措施。\n \n

\n

\n 5.4\n 阁下明白,如阁下已委任指定网上用户使用任何网上银行服务,该指定网上用户为及代表阁下接受并同意本网上银行条款,而阁下也同意受指定网上用户的有关接受及/或同意约束。\n \n

\n
\n
\n

\n 6\n 使用网上银行服务\n

\n

\n 6.1\n 网上银行服务只供网上银行服务订用客户使用。\n

\n

\n 6.2\n 阁下不得进行或试图进行以下任何活动:\n

\n
    \n
  1. \n

    \n (A)\n 反编译、反向工程、翻译、转换、改编、改变、修改、提升、增添、删除或以任何方式干扰或进入网上银行服务的任何部分或任何互联网网站或其中组成的任何软件;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 使用或在知情下容许任何其他人士使用网上银行服务、信息及╱或报告作任何非法目的或活动;\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 移除或试图移除网上银行服务中的任何标题或商标、版权或限制权利通知;\n \n

    \n
  6. \n
  7. \n

    \n (D)\n 使用任何自动化工具(即机器人)存取网上银行服务或执行活动;及/或\n \n

    \n
  8. \n
  9. \n

    \n (E)\n 允许使用任何安全测试工具以提供、扫描或试图渗透或评估网上银行服务的安全性,\n \n

    \n
  10. \n
\n

\n \n 阁下如察觉任何有关活动,须尽快通知本行。\n

\n

\n 6.3\n 阁下不得上传或散布包含病毒或其他恶意程式码的档案到网上银行服务,也不得作出任何其他行为破坏或试图破坏用于提供网上银行服务的系统及网络。一旦发现网上银行服务实际或怀疑遭病毒或其他恶意程式码入侵,阁下必须立即通知本行并与本行合作以减低有关病毒或恶意程式码的影响。\n \n

\n

\n 6.4 \n 阁下确认经由互联网传送的信息或通信,可能会出现时间延迟。\n \n

\n

\n 6.5\n 阁下确认:\n

\n
    \n
  1. \n

    \n (A)\n 阁下就使用网上银行服务提供的任何信息可能会向本行的业务部门、任何集团办事处及/或可能位于其他司法管辖区的授权服务提供商披露或供其存取;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 阁下使用网上银行服务可能会受到本行、任何集团办事处及/或授权服务提供商监控,而本行可能出于内部业务考虑或任何适用法律而收集及使用由此产生的任何信息,\n \n

    \n
  4. \n
\n

\n \n \n 一切均按照标准条款与条件的条款进行,阁下并且同意有关披露、监控及/或使用。\n \n

\n
\n
\n

\n 7\n 用户名及密码和安全\n

\n

\n 7.1\n 各指定网上用户须按照本行不时规定的程序指定其用户名及密码。\n \n

\n

\n 7.2\n 各指定网上用户可随时更改用户名及密码,但任何更改须在本行接受后方为有效。\n \n

\n

\n 7.3\n 本行可行使绝对酌情权要求阁下使用安全码,以便使用网上银行服务。\n \n

\n

\n 7.4\n 各指定网上用户须真诚行事,在合理谨慎尽责的原则下采取一切合理措施,将用户名、密码及安全码保密以防盗用情况发生。无论任何时间或情况,指定网上用户均不得向任何其他人士披露用户名、密码及╱或安全码。\n \n

\n

\n 7.5\n 如果指定网上用户的用户名、密码及╱或安全码不慎或在未经授权的情况下被泄露予其他人士知悉,阁下须负全责,并须承担指定网上用户的用户名、密码、安全码或移动装置被未经授权人士使用或被用作未经授权用途的风险。\n \n

\n

\n 7.6\n \n 阁下如在移动银行应用程序中激活生物识别凭据使用功能(例如指纹认证或人脸识别),并允许使用有关生物识别凭据登录移动银行应用程序或本行可能不时支持的任何其他网上银行服务(只面向兼容装置),便须确保只在装置上登记阁下自己的生物识别凭据。阁下确认并同意:\n \n

\n
    \n
  1. \n

    \n (A)\n 本行无法控制移动装置的技术、可用性、性能、验证方法、安全性及可靠性,因此概不就任何未经授权人士通过生物识别凭据登录网上银行服务的情况承担责任;及\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 阁下不得采取任何行动以停用阁下装置提供的任何功能或同意装置的任何设置,从而危及使用生物识别凭据进行验证的安全性(例如停用人脸识别的“注视感知功能”)。\n \n

    \n
  4. \n
\n

\n 7.7\n 阁下或有关指定网上用户如发现或怀疑用户名、密码及╱或安全码被披露给未经授权人士,或网上银行服务被未经授权使用,须尽快亲身通知本行,或根据本行不时指定的电话号码致电通知本行。本行可要求阁下或有关指定网上用户以书面形式确认所提供的信息。在本行实际收到该等通知前,阁下须就任何及所有因未经授权人士使用网上银行服务或网上银行服务被用作未经授权用途负责。\n \n

\n
\n
\n

\n 8\n 客户指示\n

\n

\n 8.1\n 各指定网上用户须先输入其用户名、密码、安全码及本行不时规定的任何其他标识符,方可登录互联网网站使用网上银行服务及代表阁下在网上向本行发出通信。本行获授权按各指定网上用户的通信行事。\n \n

\n

\n 8.2\n 指定网上用户须在本行不时指定的网址及联系点向本行发出通信。除非本行另行明确同意,否则指定网上用户不得向本行的个别主管人员发出任何通信。\n \n

\n

\n 8.3\n 通信须按本行不时指定的方式发出及在本行实际收到后,始视为经由本行收妥。\n \n

\n

\n 8.4\n 任何通信一经发出,如未得本行同意,概不得废除或撤回。除核对有关指定网上用户的用户名、密码、安全码及其他有关标识符(如有)外,本行并无责任核证作出任何通信人士的身分或授权,或此等通信的真实性。\n \n

\n

\n 8.5\n 本行只会执行本行认为合理可行的通信,并将遵照正常业务惯例及程序行事。如本行得悉或怀疑存在与使用网上银行服务相关的安全漏洞或其他可疑情况,本行有权延迟或拒绝按通信行事。\n \n

\n

\n 8.6\n 所有经由本行按照通信代阁下办理的交易均对阁下具有约束力。\n \n

\n

\n 8.7\n 若阁下选择并同意,本行可在网上向阁下发出已收讫通信及╱或已执行交易或买卖的通知或确认。阁下同意查核有关通知或确认以确保其准确及完整。如果阁下未有收到通知或确认,或阁下相信有关通知或确认中的任何信息为不准确或不完整,阁下将向本行查询。\n \n

\n

\n 8.8\n 互联网网站上提供有关任何账户、交易或买卖的信息均仅供参考。本行对该等账户、交易或买卖纪录,如无欺诈或明显错误情况,均为该等纪录的证据。\n \n

\n
\n
\n

\n 9\n 信息提供商\n

\n

\n 9.1\n 信息提供商可就其提供的任何信息不时制订有关的条款及细则,并将事先通知该等条款及细则的生效日期。阁下在该等条款及细则生效当日或之后使用该等信息,即表示阁下接纳该等条款及细则。\n \n

\n

\n 9.2\n 信息及报告只供参考。\n

\n

\n 9.3\n 除在适用法律规定或任何有关文件订明的范围内,本行及任何信息提供商对任何信息或报告的次序、准确性、真实性、可靠性、充足性、及时性或完整性,或其是否适宜作任何用途,概不作出保证、声明或担保。阁下同意独立评估及核实任何信息或报告中的有关事宜,除在适用法律规定或任何有关文件订明的范围内,本行及任何信息提供商不会就阁下或任何其他人士因依赖信息或报告而承担任何法律责任(不论是侵权或合约或其他责任)。然而,本条款并不排除本行或信息提供商根据适用法律就行为、声明或陈述对阁下或任何其他人士可能承担的任何责任。\n \n

\n

\n 9.4\n 信息将按其由信息提供商所提供的形式提供。本行不会就任何其他信息提供商提供的信息作出批注或表示任何意见,也无责任对有关信息进行检查或核证。\n \n

\n
\n
\n

\n 10\n 保密信息\n

\n

\n 10.1\n 保密信息属本行及有关信息提供商的商业秘密、机密及专有财产。\n \n

\n

\n 10.2\n 除本网上银行条款或本行明文许可外,阁下不得进行或试图进行以下任何活动:\n \n

\n
    \n
  1. \n

    \n (A)\n 将任何保密信息向任何其他人士出售、转移、披露、出让、转达、出租、再授权、分享、借出、分派、传输、广播、电缆广播、传阅、复印,或以其他方式以任何形式或任何手段提供或散布,或将任何保密信息作商业用途;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 下载或复制任何保密信息作阁下个人参考及使用以外的其他用途;及/或\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 将保密信息上显示的任何所有权标记(包括但不限于任何商标或版权通告)以任何方式移除、涂掉、擦去、迁移或更改。\n \n

    \n
  6. \n
\n

\n 10.3\n 在下列情况下,披露限制并不适用于下列任何保密信息:\n \n

\n
    \n
  1. \n

    \n (A)\n 法律强制规定作出披露,但只限于法律规定的范围,及只在阁下已经向本行发出书面通知,说明要求披露的保密信息;或\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 本行已书面明确同意披露的保密信息。\n

    \n
  4. \n
\n

\n 10.4\n 有关保密信息的一切权利、所有权及权益,以及任何及所有有关版权、专利权、商标、服务标记、专有财产、商业秘密及专用作品,均属本行及╱或有关信息提供商的独家财产。此等权利、所有权或权益(除根据本网上银行条款有权使用信息及报告外)均没有转移或转让予阁下。阁下不得作出显示阁下拥有任何此等权利、所有权或权益的任何声明或作为。\n \n

\n
\n
\n

\n 11\n 本行的责任\n

\n

\n 11.1\n 本行将根据不时适用于本行的任何法律、通告、行为守则及现行市场惯例,采取合理可行的步骤,以确保与网上银行服务有关的系统已装置足够的安全设施,并在系统运作时,对有关风险予以监控。\n \n

\n

\n 11.2\n 本行、任何集团办事处或任何信息提供商,概不保证或声明网上银行服务、信息及报告不含有任何对阁下硬件、软件或设备造成不利影响的病毒或其他破坏性程序。\n \n

\n

\n 11.3\n 除非引用下文第12.2条,或由于本行、任何集团办事处或本行╱其各自的主管人员或雇员的欺诈、疏忽或故意失责所引致,本行或任何集团办事处概不就以下事项所引起或与之有关的后果,而向阁下或任何其他人士承担任何责任:\n \n

\n
    \n
  1. \n

    \n (A)\n 由于阁下或任何其他不论是否获授权的人士使用网上银行服务及╱或取得任何信息;\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 由于在提供网上银行服务、传送与网上银行服务有关的信息或通信或与互联网网站连线时因任何本行的作为、不作为或本行所能合理控制范围以外的情况,包括但不限于通信网络失灵、提供服务的第三方的作为或不作为、机械故障、电力故障、失灵、操作故障,或设备、装置或设施不足,或因任何法律、守则、指令、监管指引或政府命令(不论是否具法律效力)而出现任何干扰、截取、中断、延误、损失、无法提供信息、毁坏或其他故障(包括但不限于任何干扰、截取、中断、延误或无法显示安全码);及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 通过或在任何通信网络提供商的系统、设备或仪器传送及╱或储存任何与阁下及╱或网上银行服务有关的信息及╱或数据。\n \n

    \n
  6. \n
\n

\n 11.4\n 本行、任何集团办事处或任何信息提供商,概无需对阁下或任何其他人士就任何偶发性、间接、特殊、相应或惩罚性损害赔偿负责,包括但不限于有关使用、收入、利润或储蓄方面的任何损失责任。本条款不适用于本行/彼等欺诈、疏忽或故意失责的情况。\n \n

\n
\n
\n

\n 12\n 客户的责任\n

\n

\n 12.1\n 除非引用下文第12.2条或除非本行存在欺诈、疏忽或故意失责的行为,否则因阁下或任何其他人士(不论是否获得授权)使用网上银行服务及/或因使用网上银行服务取得任何信息或报告或任何其他信息而引起或与之有关的后果,概由阁下全部承担。\n \n

\n

\n 12.2\n 根据第7条(用户名及密码)下阁下责任的限制,及如果本行合理地认为阁下并无严重疏忽或欺诈,则阁下无需就使用网上银行服务进行未经授权交易而产生的损失或资金错置负责。\n \n

\n

\n 12.3\n 除非引用上文第12.2条,或由于本行、任何集团办事处、任何信息提供商或本行╱其各自的主管人员或雇员的欺诈、疏忽或故意失责所致,否则阁下须弥偿本行、任何集团办事处、任何信息提供商及其各自的主管人员及雇员因提供网上银行服务、信息及╱或报告或行使或保存本行在本网上银行条款及标准条款与条件赋予的权力及权利或因提起或招致的任何法律行动或诉讼所合理及适当地招致的一切法律责任、索偿、申索、损失、损害赔偿、讼费、任何形式的费用及开支(包括但不限于按全数赔偿原则支付法律费用)。\n \n

\n
\n
\n

\n 13\n 修订\n

\n

\n \n 本行可不时对本网上银行条款进行修订及/或增补。网上银行条款的任何修订及╱或增补在本行通过互联网网站刊登或按照本行认为合适的其他方式向阁下发出事先合理通知后,即告生效。如果阁下在修订生效当日或之后继续维持或使用网上银行服务,则有关修订将对阁下具有约束力。\n \n

\n
\n
\n

\n 14\n 通知及通信形式\n

\n

\n 14.1\n 本行可不时根据本网上银行条款就各类通知订明其通知形式(不论书面通知或其他形式)及通信模式。\n \n

\n

\n 14.2\n 以电邮发出的通信在传送至阁下最近以书面形式通知本行的电邮邮址后,即视作阁下已收悉。\n \n

\n
\n
\n
\n
\n

B.\t汇丰私人银行视野及研究的条款及细则

\n
\n
\n
\n
\n

\n 1\n 本条款及细则的简介\n

\n

\n 1.1\n 阁下使用由本行提供的汇丰私人银行视野及研究服务(“视野及研究服务”)受以下条款规限:\n \n

\n
    \n
  1. \n

    \n (A)\n 本汇丰私人银行视野及研究的条款及细则(“视野及研究条款”);\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 网上银行服务的条款及细则(“网上银行条款”);及\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 本行的标准条款与条件(按查阅),\n \n

    \n
  6. \n
\n

\n \n 以上条款统称为“条款”。如本视野及研究条款与网上银行条款或标准条款与条件有任何冲突,则须按以上次序决定优先顺序(从高到低)。本行可在向阁下发出合理通知后不时修订视野及研究条款。\n \n

\n

\n 1.2\n 视野及研究条款中使用但未有另行界定的词汇与网上银行条款及标准条款与条件所赋予的涵义相同。\n \n

\n

\n 1.3\n 为免生疑问,网上银行条款中界定的“网上银行服务”及“互联网网站”将分别包括视野及研究服务及视野及研究网站(“视野及研究”)。\n \n

\n
\n
\n

\n 2\n 存取及使用刊物\n

\n

\n 2.1\n 本行可向阁下及/或阁下的指定网上用户提供视野及研究的存取权限(各自称为“用户”),这是让用户(其中包括)存取以下若干事项的电子平台:\n \n

\n
    \n
  1. \n

    \n (A)\n 环球私人银行宏观金融市场评论(“环球私银宏观报告”);\n \n

    \n
  2. \n
  3. \n

    \n (B)\n 由本行的环球市场部门下属的环球研究部(“汇丰环球研究”)提供的汇丰环球研究报告(“汇丰研究报告”)及/或\n \n

    \n
  4. \n
  5. \n

    \n (C)\n 非汇丰的第三方刊物(“第三方刊物”)\n \n

    \n
  6. \n
\n

\n \n (本文统称为“刊物”)。\n \n

\n

\n 2.2\n 刊物可能会讨论多个资产类别的金融市场及投资产品,并可能包括涵盖特定金融工具及发行人的金融研究材料。各类用户可存取的刊物种类将由本行酌情决定。\n \n

\n

\n 2.3\n 只有已向本行提供详细信息并已获本行批准为用户的人士方可使用视野及研究服务。阁下有责任确保阁下指定的各用户均已阅读并明白条款。\n \n

\n

\n 2.4\n 本行将让各用户通过网上银行服务经由视野及研究存取刊物。用户也可通过电邮从其客户关系经理或投资顾问收取刊物,或使用视野及研究的订阅提示功能。\n \n

\n

\n 2.5\n 刊物只提供英文版本予各用户。阁下提名任何用户,即确认各用户均具备充分的英语水平,能够完全明白刊物的内容及当中可能包含的任何重要免责声明或风险警告。\n \n

\n

\n 2.6\n 用户不得尝试直接联系任何刊物的发行人,包括但不限于任何汇丰环球研究分析师或第三方,或其任何代表或雇员。\n \n

\n
\n
\n

\n 3\n 金融知识、经验及阅读能力\n

\n

\n \n 刊物可能涵盖不同的主题及产品类别,包括但不限于气候变化、商品、可转换证券、高等级信用、高收益信用、信用策略、货币、经济、股票策略、固定收益、利率、结构性及资产抵押证券、股权及结构性产品。刊物会涉及市场、经济及财务数据、概念及比率,以及其他技术信息或概念,各用户需要具备相当程度的金融知识、经验及阅读能力。阁下提名任何用户,即确认各用户均具备足分的金融知识、经验及阅读能力以阅读及明白刊物及其限制,特别是下文第6.1及6.2条所述者,并将在评估通过视野及研究定期提供的材料时行使独立判断。在理解任何刊物时遇到困难的用户应联系负责客户账户的客户关系经理或投资顾问。\n \n

\n
\n
\n

\n 4\n 限制存取、安全性及系统可用性\n

\n

\n \n 刊物并非给予也不拟分发予任何身为有关分发、出版、提供或使用会违反法例或规例的任何司法管辖区的公民或居民或位于有关司法管辖区的人士或实体的用户或供其使用。本行将根据各用户居住记录的司法管辖区以及本行对各有关司法管辖区适用的法例及监管规定的评估,向各用户提供刊物的存取权。各用户确认其并非任何存取刊物可能会违反当地法例或规例的国家的居民。各用户均有责任在其改变居籍的司法管辖区时立即通知本行。\n \n

\n
\n
\n

\n 5\n 知识产权\n

\n

\n \n 刊物只供各用户个人专用。刊物仍属本行、本行的部门(不包括私人银行部门)、任何集团办事处的其他成员(例如汇丰环球研究)或制作及出版刊物的第三方的财产,未经本行明确书面同意,用户并无获得任何权利以任何方式或形式复制或分发全部或部分刊物或其内容,并且只有在明确承诺确保作允许用途时充分注明来源的情况下方可复制或分发刊物。\n \n

\n
\n\n` + tc2;\n","import TermsAndCondition from \"./registrationConditions/T&C.js\";\nimport lang from \"./lang.json\";\n\nexport default {\n lang,\n registrationTerms: [\n {\n label: \"條款及細則\",\n html: TermsAndCondition\n }\n ]\n};\n","import React, { Component } from \"react\";\nimport { addLocaleData, IntlProvider } from \"react-intl\";\nimport { connect } from \"react-redux\";\nimport en from \"react-intl/locale-data/en\";\nimport zh from \"react-intl/locale-data/zh\";\nimport fr from \"react-intl/locale-data/fr\";\n\nimport messages from \"util/messages\";\n\naddLocaleData([...en, ...zh, ...fr]);\n\nconst mapStateToProps = state => {\n return {\n selectedLang: state.languageSession.selectedLang\n };\n};\n\nclass Intlization extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const { selectedLang, children } = this.props;\n return (\n \n {children}\n \n );\n }\n}\n\nexport default connect(mapStateToProps)(Intlization);\n","export const languageActions = {\n hideSelectOption,\n updateLanguage,\n showMobileLanguageContainer\n};\n\nfunction updateLanguage(data) {\n return {\n type: \"UPDATE_LANGUAGE_SESSION_SUCCESS\",\n data\n };\n}\n\nfunction hideSelectOption(isHideLanguageSelect) {\n return {\n type: \"HIDE_LANGUAGE_SELECT_OPTION\",\n isHideLanguageSelect\n };\n}\n\nfunction showMobileLanguageContainer(isShowContianer) {\n return {\n type: \"SHOW_LANGUAGE_CONTAINER\",\n isShowContianer\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { connect } from \"react-redux\";\n\nimport { envConfig } from \"env-config\";\nimport { languageActions } from \"actions/languageAction\";\n\nconst mapStateToProps = state => {\n return {\n selectedLang: state.languageSession.selectedLang\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateLanguage: lang => dispatch(languageActions.updateLanguage(lang))\n };\n};\n\nclass LanguageList extends Component {\n constructor(props) {\n super(props);\n this.state = { value: null };\n }\n\n selectLanguage = locale => {\n this.props.updateLanguage(locale);\n };\n\n render() {\n const languageList = envConfig.languageSlectList;\n return (\n \n \n {languageList.map((item, index) => {\n const isSelected =\n this.props.selectedLang === item.locale;\n return (\n this.selectLanguage(item.locale)}\n className={`${isSelected ? \"active\" : \"\"} item`}\n >\n {item.text}\n \n );\n })}\n
\n \n );\n }\n}\n\nconst LanguageListContainer = styled.div`\n font-size: 13px;\n font-weight: bold;\n\n .hsbc-ui.tabular.menu .item {\n background: transparent;\n }\n button {\n padding: 0.625rem;\n min-width: 100px;\n background: #f3f3f3;\n border-bottom: none;\n color: #333333;\n }\n .middle {\n display: inline-block;\n margin: 0 10px;\n padding: 0 10px;\n border: 2px solid #455663;\n border-top: 0;\n border-bottom: 0;\n }\n .selected {\n text-decoration: underline;\n }\n button:not(:first-of-type):not(:last-of-type) {\n display: inline-block;\n margin: 0 10px;\n padding: 0 10px;\n //border: 2px solid #455663;\n border-top: 0;\n border-bottom: 0;\n }\n`;\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LanguageList);\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { envConfig } from \"env-config\";\nimport { injectIntl } from \"react-intl\";\nimport { Button } from \"hsbc-pb-sdk\";\nimport _ from \"lodash\";\nimport { languageActions } from \"actions/languageAction\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {};\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n showMobileLanguageContainer: isShowContianer =>\n dispatch(\n languageActions.showMobileLanguageContainer(isShowContianer)\n )\n };\n};\nclass LanguageDropDown extends Component {\n constructor(props) {\n super(props);\n this.state = {\n list: [{ key: 1, value: \"English\", category: \"English\" }]\n };\n }\n showMobileLanguageContainer = () => {\n this.props.showMobileLanguageContainer(\"true\");\n };\n render() {\n const languageList = envConfig.languageSlectList;\n let text;\n if (_.find(languageList, [\"locale\", this.props.selectedLang])) {\n text = _.find(languageList, [\"locale\", this.props.selectedLang])\n .text;\n } else {\n text = \"English\";\n }\n\n return (\n \n \n \n {text}\n \n \n
\n \n );\n }\n}\n\nconst LanguageDropDownContainer = styled.div`\n .selectContainer {\n display: flex;\n margin-right: 10px;\n .language-drop-down {\n color: #333333;\n margin-left: 12px;\n }\n }\n`;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(LanguageDropDown));\n","export const color = {\n background_color_dark: \"#3e505d\",\n charcoal: \"#252525\",\n black: \"#000000\",\n blue: \"#177c76\",\n text_color_dark: \"#333333\",\n hsbc_warning_red: \"#af000d\",\n hsbc_warning_yellow: \"#e8a215\",\n hsbc_success_green: \"#4faf00\",\n hsbc_red: \"#db0011\",\n white: \"#ffffff\",\n dark: \"#f3f3f3\",\n error_msg_stroke_outline: \"#A8000B\",\n grey: \"#767676\"\n};\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport whiteLogo from \"assets/image/HSBC_Logo_White.svg\";\nimport LanguageList from \"components/common/LanguageList\";\nimport LanguageDropDown from \"components/common/LanguageDropDown\";\nimport { languageActions } from \"actions/languageAction\";\nimport { color } from \"../../util/color\";\n\nconst mapStateToProps = state => {\n return {\n error: state.logon.error,\n selectedLang: state.languageSession.selectedLang,\n hideLanguageSelect: state.languageSession.hideLanguageSelect,\n languageSlectList: state.languageSession.languageSlectList,\n alreadyInitMLContainer: state.languageSession.alreadyInitMLContainer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n showMobileLanguageContainer: isShowContianer =>\n dispatch(\n languageActions.showMobileLanguageContainer(isShowContianer)\n ),\n updateLanguage: lang => dispatch(languageActions.updateLanguage(lang))\n };\n};\n\nclass AppHeader extends Component {\n constructor(props) {\n super(props);\n this.state = {\n counterEndTime: null,\n changeToMobile: false\n };\n }\n\n startCounter = () => {\n this.counterWarning.showDialog();\n this.setState({\n counterEndTime: new Date().getTime() + 60000\n });\n this.countdownTimerRef.startTimer();\n };\n\n onCountdownDone = () => {\n this.counterWarning.hideDialog();\n };\n\n componentDidMount = () => {\n this.changeToMobile();\n window.addEventListener(\"resize\", this.changeToMobile);\n };\n changeToMobile = () => {\n if (window.innerWidth <= 768) {\n this.setState({\n changeToMobile: true\n });\n } else {\n this.setState({\n changeToMobile: false\n });\n this.props.showMobileLanguageContainer(\"false\");\n }\n };\n render() {\n let showLanguageList = this.props.alreadyInitMLContainer;\n if (envConfig.realm === \"LU\" && !envConfig.MLforLUDisplayToggle) {\n showLanguageList = false;\n this.props.updateLanguage(\"en-GB\");\n }\n\n const languageEle = this.state.changeToMobile ? (\n \n ) : (\n \n );\n\n const isShowLanguage = !this.props.hideLanguageSelect && languageEle;\n\n return (\n \n \n <Logo\n showLanguageList={showLanguageList}\n id=\"hsbcLogo\"\n alt=\"hsbc logo\"\n />\n <p className=\"logo-title\" data-testid=\"logo-text\">\n {this.props.intl.formatMessage({\n id: \"logo.title\"\n })}\n </p>\n \n
\n {showLanguageList ? isShowLanguage : null}\n
\n
\n \n );\n }\n}\n\nconst HeaderContainer = styled.div.attrs({\n className: \"container--header\"\n})`\n position: relative;\n width: 100%;\n height: 60px;\n background: #fff;\n color: #fff;\n display: flex;\n border-bottom: 1.5px solid #d7d8d6;\n justify-content: space-between;\n @media (max-width: 768px) {\n justify-content: center;\n padding-left: 0px;\n }\n .logo-title {\n color: ${color.black};\n font-weight: bold;\n font-size: 15px\n margin-left: 3px;\n @media (max-width: 768px) {\n display: none;\n }\n }\n #hsbcLogo {\n @media (max-width: 768px) {\n margin-left: 0px;\n }\n }\n .opacityBox {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n background-color: #fff;\n opacity: 0.9;\n }\n .languageList {\n display: flex;\n position: absolute;\n top: 0;\n right: 2%;\n height: 100%;\n align-items: center;\n justify-content: center;\n z-index: 1;\n }\n .counterPopup {\n .contentmodal--content {\n padding-top: 30px;\n padding-bottom: 32px !important;\n\n .icon--circle-error-solid {\n font-size: 50px;\n }\n }\n .icon--delete {\n font-size: 36px !important;\n }\n }\n`;\n\nconst Title = styled.div.attrs({\n className: \"title\"\n})`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n position: relative;\n z-index: 1;\n h1 {\n margin-left: -15px;\n margin-top: 25px;\n font-size: 11px;\n font-weight: 100;\n }\n`;\n\nconst Logo = styled.img.attrs({\n className: \"logo\",\n src: whiteLogo,\n version: `${process.env.REACT_APP_BUILD_VERSION}-${process.env.REACT_APP_BUILD_REPO}`\n})`\n width: 50px;\n margin-left: 30px;\n @media (max-width: 415px) {\n margin-left: 0;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(AppHeader));\n","import { createHashHistory } from \"history\";\n\nexport const history = createHashHistory();\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { history } from \"util/history\";\n\nclass AppFooter extends Component {\n constructor(props) {\n super(props);\n }\n handleClick() {\n history.push(\"/cookieNotice\");\n }\n render() {\n const { isCCM } = this.props;\n return (\n
\n
\n {isCCM ? (\n \n \n \n ) : null}\n
\n
\n \n
\n
\n );\n }\n}\n\nconst Footer = styled.div`\n width: 100%;\n font-size: 0.75rem;\n color: #333333;\n height: 60px;\n line-height: 60px;\n font-weight: bolder;\n background-color: #d7d8d6;\n display: flex;\n padding-right: 20px;\n padding-left: 20px;\n justify-content: space-between;\n a {\n color: #fff;\n text-decoration: none;\n }\n .cookie-notice {\n color: #333333;\n }\n .cookie-notice:hover {\n cursor: pointer;\n text-decoration: underline;\n }\n`;\n\nexport default injectIntl(AppFooter);\n","import { history } from \"util/history\";\nimport { envConfig } from \"../env-config\";\nimport JsEncrypt from \"jsencrypt/bin/jsencrypt.min.js\";\n\nexport function isTextSelected() {\n let selecttxt = \"\";\n if (window.getSelection) {\n selecttxt = window.getSelection();\n } else if (document.getSelection) {\n selecttxt = document.getSelection();\n } else if (document.selection) {\n selecttxt = document.selection.createRange().text;\n }\n if (selecttxt === \"\") {\n return false;\n }\n return true;\n}\n\nexport function unSupportedBrowsers() {\n if (!!window.ActiveXObject) {\n const b = document.createElement(\"b\");\n b.innerHTML = \"\";\n const isIE6 = b.getElementsByTagName(\"i\").length === 1;\n if (isIE6) {\n history.push(\"/unsupportedBrowser\");\n return;\n }\n }\n}\n\nexport function switchselectedLangForDocTitle(title) {\n switch (title) {\n case \"zh-sim-HK\":\n document.title = \"环球私人银行用户注册和登录\";\n break;\n case \"zh-trd-HK\":\n document.title = \"環球私人銀行用戶登記及登入\";\n break;\n case \"en-LU\":\n case \"fr-LU\":\n document.title =\n \"Enregistrement et connexion des utilisateurs de Global Private Banking\";\n break;\n default:\n document.title =\n \"Global Private Banking User Registration and Login\";\n }\n}\n\nlet initializedTransmitSdkPromise;\nexport function promiseInitializedTransmitSdk() {\n if (!initializedTransmitSdkPromise) {\n initializedTransmitSdkPromise = new Promise((accept, reject) => {\n window.requirejs([\"XmSdk\"], function(xm) {\n const sdk = xm.XmSdk();\n const endpoint = envConfig.transmitHost;\n const appId = envConfig.appId;\n const apiTokenId = envConfig.apiTokenId;\n const apiToken = envConfig.apiToken;\n const connectionSettings = window.com.ts.mobile.sdk.SDKConnectionSettings.create(\n endpoint,\n appId,\n apiTokenId,\n apiToken\n );\n\n connectionSettings.setRealm(envConfig.realm);\n\n if (envConfig.crypto) {\n connectionSettings.setCryptoMode(envConfig.cryptoMode);\n }\n sdk.setConnectionSettings(connectionSettings);\n sdk.setLocale(envConfig.locale);\n\n window.transmitSDK = sdk;\n sdk.initialize().then(function() {\n accept(sdk);\n });\n });\n });\n }\n return initializedTransmitSdkPromise;\n}\n\npromiseInitializedTransmitSdk();\n\nlet resetIdleTimeOut;\nsessionStorage.setItem(\"idleTimeOutValid\", false);\nfunction resetIdle(e, time = 10 * 60 * 1000) {\n if (resetIdleTimeOut) {\n clearTimeout(resetIdleTimeOut);\n }\n resetIdleTimeOut = setTimeout(() => {\n const idleTimeOutValid = sessionStorage.getItem(\"idleTimeOutValid\");\n console.log(\n \"Idle time's up, will jump to logon?\",\n idleTimeOutValid,\n \"current time is:\",\n new Date()\n );\n if (idleTimeOutValid !== \"false\") {\n history.push(\"/\");\n history.push(\"/logon?forcedLogout\");\n sessionStorage.setItem(\"idleTimeOutValid\", false);\n }\n resetIdle();\n }, time);\n}\nexport function changeIdleTimeOutValid(bool) {\n sessionStorage.setItem(\"idleTimeOutValid\", bool);\n}\n\nfunction registeIdleTimeOut() {\n window.addEventListener(\"mousemove\", resetIdle, true);\n window.addEventListener(\"scroll\", resetIdle, true);\n window.addEventListener(\"mousedown\", resetIdle, true);\n window.addEventListener(\"touchstart\", resetIdle, true);\n window.addEventListener(\"click\", resetIdle, true);\n window.addEventListener(\"keypress\", resetIdle, true);\n}\nregisteIdleTimeOut();\n\nexport function encryptPassword(password, publicKey) {\n const jse = new JsEncrypt();\n jse.setPublicKey(publicKey);\n return jse.encrypt(password);\n}\n\nexport function handleMaskNumber(str) {\n if (!str) {\n return null;\n }\n str = str.replace(/\\*+/, \"masked \");\n\n str.split(\"\").forEach(function(char, i) {\n if (!isNaN(char)) {\n str = str.slice(0, i) + \" \" + str.slice(i, str.length);\n }\n });\n return str;\n}\n\nexport function guid() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n const crypto = window.crypto || window.msCrypto;\n var arr2 = new Uint32Array(32);\n var r = (crypto.getRandomValues(arr2)[0] * Math.pow(2, -28)) | 0,\n v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n","import React, { Component } from \"react\";\nimport { envConfig } from \"env-config\";\nimport styled from \"styled-components\";\nimport axios from \"axios\";\nimport { guid } from \"util/service\";\nimport { Loader } from \"hsbc-pb-sdk\";\n\nconst isLowerEnv =\n window.location.href.includes(\"localhost\") ||\n window.location.href.includes(\"hkl20042377\");\n\nexport default class LoginHelper extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n pagestate: \"\",\n errorReason: \"\",\n accountStatus: null,\n errorCode: null\n };\n }\n\n receiveMessage = event => {\n if (event.source === window.top) {\n console.log(\"new event received\", event);\n }\n };\n\n postMessage = (origin, data) => {\n if (origin) {\n origin.postMessage(data, \"*\");\n }\n };\n componentDidUpdate = prevState => {\n if (\n prevState.pagestate !== this.state.pagestate &&\n this.state.pagestate !== \"\"\n ) {\n const pageStatus = {\n status: this.state.pagestate\n };\n this.postMessage(window.top, pageStatus);\n }\n };\n\n fetchSimulate = (AMSESSION, clientId) => {\n const { accountStatus } = this.props.match.params;\n const uuid = guid();\n const opts = {\n method: \"GET\",\n headers: {\n OIDCFilter: true,\n AMSESSION,\n \"Content-Type\": \"application/json\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n };\n if (!isLowerEnv) {\n opts.headers[\"X-HSBC-Request-Correlation-Id\"] = uuid;\n }\n axios(\n `${envConfig.protocol}://${envConfig.url}/rest/hsbc/clientprofile/clients/${clientId}/simulate`,\n opts\n )\n .then(data => {\n this.setState({\n pagestate: \"SUCCESSED\"\n });\n if (accountStatus) {\n const iframeSrc = `${envConfig.protocol}://${envConfig.url}${envConfig.wvUri}`;\n this.postMessage(window.top, { iframeSrc });\n } else {\n window.location.href = `${envConfig.protocol}://${envConfig.url}${envConfig.wvUri}`;\n }\n })\n .catch(error => {\n this.setState({\n pagestate: \"ERROR\",\n errorReason: error.response\n ? \"Error code: \" + error.response.status\n : \"Error: \" + error.message,\n accountStatus,\n errorCode: error.response ? error.response.status : \"\"\n });\n });\n };\n\n fetchSession = () => {\n const { AMSESSION, clientId, accountStatus } = this.props.match.params;\n const uuid = guid();\n const opts = {\n method: \"POST\",\n headers: {\n OIDCFilter: true,\n AMSESSION,\n \"Content-Type\": \"application/json\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n },\n data: JSON.stringify({\n amSession: AMSESSION\n })\n };\n if (!isLowerEnv) {\n opts.headers[\"X-HSBC-Request-Correlation-Id\"] = uuid;\n }\n axios(\n `${envConfig.protocol}://${envConfig.url}/simulation/session`,\n opts\n )\n .then(data => {\n this.fetchSimulate(AMSESSION, clientId);\n })\n .catch(error => {\n this.setState({\n pagestate: \"ERROR\",\n errorReason: error.response\n ? \"Error code: \" + error.response.status\n : \"Error: \" + error.message,\n errorCode: error.response ? error.response.status : \"\",\n accountStatus\n });\n });\n };\n\n ariaErrorText = () => {\n const errorText = document.getElementById(\"error-text-aria\");\n if (errorText) {\n errorText.focus();\n }\n };\n\n componentDidMount() {\n const loadingTextAria = document.getElementById(\"loading-text-aria\");\n if (loadingTextAria) {\n loadingTextAria.focus();\n }\n window.addEventListener(\"message\", this.receiveMessage, false);\n this.setState({\n pagestate: \"LOAD\"\n });\n const REALM = envConfig.realm;\n if (envConfig.multiTenancy) {\n document.cookie =\n `realm=${REALM}` +\n `; path=/; domain=${envConfig.id}; sameSite=None; Secure`;\n }\n this.fetchSession();\n }\n\n render() {\n return (\n \n {this.state.pagestate === \"ERROR\" ? (\n
\n \n
\n \n
\n {this.state.accountStatus &&\n this.state.accountStatus.toLowerCase() ===\n \"inactive\" &&\n this.state.errorCode === 403 ? (\n
\n
\n Error\n
\n
\n Unfortunately, the simulation feature is\n unavailable as the client whose account\n you are attempting\n
\n
\n to view appears to be inactive at\n present. Please check the status of\n their account and refer to the Digital\n Access\n
\n
\n Manager’s Processes and Procedures\n should you need more information.\n
\n
\n ) : (\n
\n
\n Error\n
\n
\n Sorry, there’s been a problem loading\n your data.\n
\n
\n Please close the screen using the button\n at the top right and try again.\n
\n
\n If the problem persists, please contact\n IT support.\n
\n
\n )}\n
\n {this.state.errorReason}\n
\n
\n
\n ) : (\n
\n
\n \n
\n \n
\n
\n We are loading your simulation session,\n
\n
please wait...
\n
\n
\n This may take a few moments. Once the simulation\n has loaded you can close it at any time using\n the button at the top right.\n
\n
\n
\n )}\n \n );\n }\n}\n\nconst LoadingContainer = styled.div`\n width: 100%;\n height: 100%;\n padding-top: 100px;\n color: #000;\n .load {\n text-align: center;\n .load-container {\n position: relative;\n height: 120px;\n }\n }\n .loading-text {\n text-align: center;\n display: inline-block;\n margin: auto;\n &-strong {\n font-size: 20px;\n }\n &-small {\n margin-top: 10px;\n }\n }\n .error {\n @media (min-width: 1024px) {\n margin-left: -6%;\n height: 100%;\n margin-top: -100px;\n vertical-align: middle;\n width: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n @media (max-width: 1023px) {\n text-align: center;\n height: 100%;\n margin-top: -100px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n z-index: 11;\n }\n\n @media (max-width: 460px) {\n margin-top: 10px;\n }\n\n .error-icon {\n color: red;\n font-size: 50px;\n }\n .error-text {\n display: inline-block;\n text-align: center;\n &-strong {\n margin-top: 10px;\n font-size: 20px;\n }\n &-small {\n margin-top: 5px;\n }\n &-code {\n margin-top: 10px;\n }\n }\n }\n`;\n","import React, { Component } from \"react\";\nimport { envConfig } from \"env-config\";\nimport styled from \"styled-components\";\nimport { Button } from \"hsbc-pb-sdk\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { color } from \"util/color\";\n\nclass ModalPage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n pagestate: \"\",\n errorReason: \"\"\n };\n }\n\n onConfirmationClick = () => {\n const { url, wvUri } = envConfig;\n window.location.href = `https://${url + wvUri}`;\n };\n\n render() {\n const titleIconRight = (\n \n );\n const {\n title = \"onlyEnglishTips.title\",\n ariaTitle = \"global.notext\",\n titleIcon,\n confirmationBtnDisabled,\n customizedFooter,\n confirmationBtnTitle = \"inputCredential.label.continue\",\n confirmationBtnStyle,\n dialogWidth,\n disabledButton\n } = this.props;\n return (\n \n
\n
{titleIcon || \"\"}
\n
\n \n \n \n
\n \n
\n
\n
\n {titleIconRight || \"\"}\n
\n
\n
\n
\n {customizedFooter}\n
\n
\n \n );\n }\n}\n\nexport default injectIntl(ModalPage);\n\nconst NoContactDetailsContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n`;\n\nconst SecurityModalContainer = styled.div`\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n background-color: ${color.white};\n color: ${color.text_color_dark};\n margin: 20px;\n position: relative;\n z-index: 1;\n @media (max-width: 320px) {\n margin: 20px;\n padding: 14px;\n width: 280px;\n .divBody.bodyExpanded{\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 264px;\n \n overflow: hidden;\n }\n }\n @media (min-width: 321px) and (max-width: 413px) {\n margin: 20px;\n padding: 14px\n width: 335px;\n .divBody.bodyExpanded{\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 319px;\n overflow: hidden;\n }\n }\n @media (min-width: 414px) and (max-width: 768px) {\n margin: 20px;\n padding: 30px 50px 40px 50px;\n width: 374px;\n .divBody.bodyExpanded{\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 319px;\n overflow: hidden;\n }\n }\n @media (min-width: 769px) {\n padding: 30px 50px 40px 50px;\n margin-left: 0px;\n width: ${props => props.dialogWidth || \"454px\"};\n max-width: ${props => props.dialogWidth || \"454px\"};\n .divBody.bodyExpanded{\n .table_container {\n }\n }\n }\n @media (min-width: 769px) and (max-width: 898px) {\n margin: 20px 0px 0px 0px;\n }\n @media (min-width: 898px) and (max-width: 907px) {\n margin-bottom: 0px;\n }\n .contentmodal--body {\n display: flex;\n justify-content: flex-start;\n text-align: center;\n position: relative;\n .icon {\n color: ${color.hsbc_warning_red};\n }\n }\n .contentmodal--icon {\n .icon {\n font-size: 42px;\n margin-right: 25px;\n }\n .warning {\n color: ${color.hsbc_warning_yellow};\n }\n }\n .contentmodal--icon--right {\n position: absolute;\n right: 0;\n top: 5px;\n .icon {\n font-size: 25px;\n }\n .delete {\n color: ${color.text_color_dark};\n }\n }\n .contentmodal--header {\n font-size: 20px;\n font-weight: 100;\n line-height: 36px;\n padding-bottom: 10px;\n margin: 0px;\n .title--wrapper {\n display: inline-block;\n }\n }\n .contentmodal--content {\n font-size: 16px;\n line-height: 19px;\n font-weight: normal;\n text-align: left;\n padding: 30px 0;\n border-top: 1px solid #d7d8d6;\n width: 100%;\n }\n .contentmodal--footer {\n padding-top: 20px;\n display: flex;\n justify-content: space-between;\n font-size: 16px;\n .btn--confirm {\n ${props =>\n props.confirmationBtnStyle\n ? props.confirmationBtnStyle\n : `\n `};\n .disabledButton {\n background-color: ${color.hsbc_warning_yellow};\n }\n }\n .btn--confirm:disabled {\n background-color: ${color.hsbc_warning_yellow};\n }\n .btn--confirm:hidden {\n display: none;\n }\n }\n`;\n","export const lockedTypeActions = {\n resetState,\n updateLockedType\n};\n\nfunction resetState() {\n return {\n type: \"RESET_LOCKED_TYPE_STATE\"\n };\n}\n\nfunction updateLockedType(lockeTypeName) {\n return {\n type: \"UPDATE_LOCKED_TYPE\",\n payload: lockeTypeName\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n selectedLang: state.languageSession.selectedLang\n };\n};\nclass LogoMark extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const selectChinese = this.props.selectedLang.indexOf(\"zh\") !== -1;\n return (\n \n
\n \n
\n \n );\n }\n}\n\nconst LogoMarkContainer = styled.div`\n display: ${props => (props.showLogo ? \"block\" : \"none\")};\n .logo {\n font-size: 22px;\n font-weight: bold;\n margin-bottom: 35px;\n }\n`;\nexport default connect(mapStateToProps)(injectIntl(LogoMark));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { Button, Loader } from \"hsbc-pb-sdk\";\nimport LogoMark from \"components/common/LogoMark\";\n\nclass SecurityModal extends Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n setTimeout(() => {\n document.getElementById(\"hsbcLogo\") &&\n document.getElementById(\"hsbcLogo\").focus();\n }, 500);\n document.addEventListener(\"keydown\", this.onkeydown);\n }\n\n onkeydown = e => {\n const activeElement = document.activeElement\n ? document.activeElement.nodeName\n : \"\";\n if (\n e.keyCode === 13 &&\n (activeElement === \"INPUT\" || activeElement === \"BODY\")\n ) {\n this.props.onConfirmationClick(e.keyCode);\n }\n };\n\n componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.onkeydown);\n }\n\n render() {\n const {\n title,\n title2,\n ariaTitle = \"global.notext\",\n titleIcon,\n confirmationBtnDisabled,\n customizedFooter,\n onConfirmationClick,\n confirmationBtnTitle,\n confirmationBtnStyle,\n dialogWidth,\n children,\n disabledButton,\n hideButton\n } = this.props;\n const { currentStep, customizedClass } = this.props;\n const isLoginPage =\n currentStep && currentStep === \"loginPage\" ? true : false;\n const titles =\n title2 && title2 !== \"\" ? : \"\";\n const buttonEle = confirmationBtnTitle ? (\n this.onkeydown(e)}\n >\n \n \n ) : null;\n const isHideButton = disabledButton ? (\n \n ) : (\n buttonEle\n );\n return (\n \n \n
\n
{titleIcon || \"\"}
\n
\n \n {/* */}\n {title ? : \"\"}\n \n {title2 ? (\n

\n {titles}\n

\n ) : (\n \"\"\n )}\n
\n {children}\n
\n
\n
\n
\n
\n {customizedFooter}\n
\n {hideButton ? \"\" : isHideButton}\n
\n \n );\n }\n}\nexport default injectIntl(SecurityModal);\nconst SecurityModalContainer = styled.div`\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n background-color: ${props =>\n props.isLoginPage ? \"transparent\" : color.white};\n position: relative;\n color: ${color.text_color_dark};\n margin: 20px;\n .hsbc--logo {\n img {\n margin-left: -6%;\n }\n }\n @media (max-width: 320px) {\n margin: 20px;\n padding: 10px;\n width: 280px;\n word-break: break-word;\n .divBody.bodyExpanded {\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 264px;\n\n overflow: hidden;\n }\n }\n @media (min-width: 321px) and (max-width: 413px) {\n margin: 20px;\n padding: 15px;\n width: 335px;\n word-break: break-word;\n .divBody.bodyExpanded {\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 319px;\n overflow: hidden;\n }\n }\n @media (min-width: 414px) and (max-width: 768px) {\n margin: 20px;\n padding: 26px 35px 40px 35px;\n width: 374px;\n word-break: break-word;\n .divBody.bodyExpanded {\n .table_container {\n width: 100%;\n overflow: scroll;\n }\n max-width: 319px;\n overflow: hidden;\n }\n }\n @media (min-width: 769px) and (max-width: 2000px) {\n padding: ${props =>\n props.isLoginPage ? \"50px 20px 40px 20px\" : \"50px 40px 40px 40px\"};\n margin-left: 0px;\n width: ${props => props.dialogWidth || \"454px\"};\n max-width: ${props => props.dialogWidth || \"454px\"};\n word-break: break-word;\n }\n\n @media (min-width: 2000px) {\n padding: ${props =>\n props.isLoginPage ? \"50px 20px 40px 20px\" : \"50px 40px 40px 40px\"};\n margin-left: 0px;\n width: 1000px;\n }\n\n @media (min-width: 769px) and (max-width: 898px) {\n margin: 20px 0px 0px 0px;\n }\n @media (min-width: 898px) and (max-width: 907px) {\n margin-bottom: 0px;\n }\n .contentmodal--body {\n display: flex;\n justify-content: flex-start;\n\n .icon {\n color: ${color.hsbc_warning_red};\n }\n .success {\n color: ${color.hsbc_success_green};\n font-size: 30px;\n }\n }\n .contentmodal--icon {\n .icon {\n font-size: 42px;\n margin-right: 25px;\n }\n .warning {\n color: ${color.hsbc_warning_yellow};\n }\n }\n .contentmodal--header {\n font-size: 27px;\n font-weight: 100;\n line-height: 36px;\n margin: 0px;\n color: #333333;\n white-space: pre-line;\n .title--wrapper {\n display: inline-block;\n }\n span {\n font-family: UniversNextForHSBC, Helvetica Neue, Helvetica, Arial,\n sans-serif;\n font-weight: 300;\n line-height: 40px;\n }\n\n @media (min-width: 1024px) {\n font-size: 31px;\n }\n }\n\n .contentmodal--content {\n font-size: 16px;\n line-height: 19px;\n font-weight: normal;\n }\n\n .contentmodal--footer {\n width: 100%;\n border-top: ${props =>\n props.hideBorderTop ? \"0px\" : \"1px solid #d7d8d6\"};\n padding-top: 20px;\n display: flex;\n @media (max-width: 414px) {\n justify-content: space-between;\n }\n\n @media (min-width: 415px) {\n justify-content: ${props =>\n props.hideBorderTop ? \"flex-start\" : \"space-between\"};\n }\n\n font-size: 16px;\n\n .btn--confirm {\n display: ${props =>\n props.confirmationBtnDisabled ? \"none\" : \"block\"};\n ${props => {\n if (props.confirmationBtnStyle) {\n return props.confirmationBtnStyle;\n }\n return `@media (max-width: 414px) {\n cursor: pointer;\n padding: 14px 20px 16px 20px;\n background-color: ${color.hsbc_red};\n color: ${color.white};\n font-weight: normal;\n line-height: 16px;\n border: none;\n width: ${props.hideBorderTop ? \"100%\" : \"auto\"};\n }\n @media (min-width: 415px) {\n cursor: pointer;\n padding: 14px 20px 16px 20px;\n background-color: ${color.hsbc_red};\n color: ${color.white};\n font-weight: normal;\n line-height: 16px;\n border: none;\n width: ${props.hideBorderTop ? \"40%\" : \"auto\"};\n }`;\n }};\n }\n\n .btn--loader {\n background-color: #730014;\n border: none;\n padding-top: 0px;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 0px;\n height: 46px;\n cursor: default;\n .children {\n margin-top: 0px;\n }\n .spinner {\n border: 2px solid white;\n border-right-color: transparent;\n }\n }\n .btn--loader:before {\n padding-top: 0px;\n }\n\n .btn--confirm:hidden {\n display: none;\n }\n }\n\n .hsbc-ui.button.secondary {\n min-width: 115px;\n }\n\n @media (min-width: 1366px) {\n .hsbc-ui.input {\n max-width: 100%;\n }\n }\n`;\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport { Radio } from \"hsbc-pb-sdk\";\nimport { history } from \"util/history\";\n\nconst ContactsContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 30px;\n margin-bottom: 10px;\n\n .contentmodal--content {\n .statement--p1 {\n }\n }\n .statement--title {\n color: ${props =>\n props.validationError\n ? color.hsbc_warning_red\n : color.text_color_dark};\n display: inline-block;\n }\n p {\n font-size: 14px;\n margin-top: 10px;\n margin-bottom: 18px;\n }\n .radio--button-container {\n label {\n margin-bottom: 20px;\n }\n .hsbc-ui.checkbox.radio {\n font-size: 13px;\n label::before,\n label::after {\n width: 25px;\n height: 25px;\n }\n }\n }\n .icon {\n padding-right: 7px;\n }\n .validation--error {\n .hsbc-ui.checkbox {\n label::before {\n border: 1px solid ${color.hsbc_warning_red};\n background-color: #f9f2f3;\n }\n }\n }\n\n .statement--validation {\n margin-top: 0px;\n overflow: auto;\n width: 100%;\n line-height: 28px;\n font-weight: 400;\n .icon {\n color: ${color.hsbc_warning_red};\n position: relative;\n padding-right: 1px;\n }\n .icon--container {\n float: left;\n width: 5%;\n }\n .error--content {\n float: right;\n width: 93%;\n font-size: 14px;\n }\n }\n`;\n\nconst locale = envConfig.locale;\n\nclass OptionsListPhone extends Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n this.invokePageEvent();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.targets && Array.isArray(this.props.targets)) {\n if (this.props.targets.length === 0) {\n history.push(\"/noContactDetails\");\n }\n }\n }\n\n invokePageEvent() {\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n window.tealiumHub.PT005();\n break;\n case \"#/registration\":\n window.tealiumHub.PT010();\n break;\n case \"#/resetPassword\":\n window.tealiumHub.PT017();\n break;\n case \"default\":\n return;\n }\n }\n\n render() {\n if (!this.props.targets) {\n return null;\n }\n\n const contactRadioes = [];\n for (let i = 0; i < this.props.targets.length; i++) {\n const valueIdentifier = `${this.props.targets[i]._targetIdentifier};${this.props.targets[i]._channel}`;\n const label = this.props.targets[i]._description;\n contactRadioes.push({\n label,\n value: valueIdentifier\n });\n }\n return (\n \n \n
\n

\n {this.props.validationError ? (\n \n ) : (\n \"\"\n )}\n \n

\n\n \n \n
\n

\n \n

\n {locale === \"en-US\" ? (\n

\n \n

\n ) : null}\n {this.props.isLastAttempt\n ? this.props.lastAttemptTip\n : \"\"}\n
\n \n \n );\n }\n}\n\nexport default injectIntl(OptionsListPhone);\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport { Radio } from \"hsbc-pb-sdk\";\nimport { history } from \"util/history\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n selectedLang: state.languageSession.selectedLang,\n lockedType: state.lockedType.type,\n emailOtpList: state.contactOptions.emailOtpList\n };\n};\n\nconst ContactsContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 30px;\n margin-bottom: 10px;\n\n .contentmodal--content {\n .statement--p1 {\n }\n }\n .statement--title {\n color: ${color.text_color_dark};\n display: inline-block;\n }\n p {\n font-size: 14px;\n margin-top: 30px;\n margin-bottom: 18px;\n }\n .radio--button-container {\n label {\n margin-bottom: 20px;\n }\n .hsbc-ui.checkbox.radio {\n font-size: 13px;\n label::before,\n label::after {\n width: 25px;\n height: 25px;\n }\n }\n }\n .icon {\n padding-right: 7px;\n }\n .validation--error {\n .container {\n .checkmark {\n label:before {\n border: 1px solid ${color.hsbc_warning_red};\n background-color: #f9f2f3;\n }\n }\n }\n }\n\n .statement--validation {\n margin-top: 0px;\n overflow: auto;\n width: 100%;\n line-height: 28px;\n font-weight: 400;\n .icon {\n color: ${color.hsbc_warning_red};\n position: relative;\n padding-right: 1px;\n }\n .icon--container {\n float: left;\n width: 5%;\n }\n .error--content {\n float: right;\n width: 93%;\n font-size: 14px;\n }\n }\n`;\n\nconst locale = envConfig.locale;\n\nclass OptionsList extends Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n this.prechooseTargetOrGoToNoContact();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.targets && Array.isArray(this.props.targets)) {\n this.prechooseTargetOrGoToNoContact();\n }\n }\n\n prechooseTargetOrGoToNoContact = () => {\n if (Array.isArray(this.props.targets)) {\n if (this.props.targets.length) {\n this.props.prechooseEmailOption();\n } else {\n history.push(\"/noContactDetails\");\n }\n }\n };\n\n render() {\n if (this.props.targets === null) {\n return null;\n }\n\n const contactRadioes = [];\n\n for (let i = 0; i < this.props.targets.length; i++) {\n const valueIdentifier = `${this.props.targets[i]._targetIdentifier};${this.props.targets[i]._channel}`;\n const label = this.props.emailOtpList;\n\n contactRadioes.push({\n label,\n value: valueIdentifier\n });\n }\n\n return (\n \n \n
\n

\n \n

\n\n
\n \n
\n

\n \n

\n {locale === \"en-US\" ? (\n

\n \n

\n ) : null}\n {this.props.isLastAttempt\n ? this.props.lastAttemptTip\n : \"\"}\n
\n \n
\n );\n }\n}\n\nexport default connect(mapStateToProps)(injectIntl(OptionsList));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport { injectIntl } from \"react-intl\";\nimport { Link } from \"hsbc-pb-sdk\";\nclass CountDown extends Component {\n constructor(props) {\n super(props);\n this.countDown = null;\n this.isTouched = null;\n this.state = {\n showMsg: !props.shouldShowBtnAtTheBeginning,\n duration: props.duration,\n resentBtnHasBeenClicked: false,\n countdownButtonText: \"countdown.requestButton\"\n };\n }\n\n componentDidMount() {\n this.startTimer();\n }\n\n componentWillUnmount() {\n clearInterval(this.countDown);\n this.isTouched = null;\n }\n\n requestNewCode = () => {\n window.tealiumHub.ET009(this.state.countdownButtonText);\n this.setState({\n resentBtnHasBeenClicked: true\n });\n if (this.props.isRealmCH) {\n const { clickFn, clearFn } = this.props;\n clearFn();\n clickFn();\n } else {\n this.setState(prevState => {\n return {\n ...prevState,\n showMsg: true\n };\n });\n if (this.isTouched === true) {\n const { clickFn, clearFn } = this.props;\n clearFn();\n clickFn();\n this.startTimer();\n }\n }\n };\n\n startTimer = () => {\n if (this.state.duration > 0) {\n this.countDown = setInterval(() => {\n let duration = this.state.duration;\n if (duration > 1) {\n duration -= 1;\n this.setState(prevState => {\n return {\n ...prevState,\n duration\n };\n });\n } else {\n this.setState(prevState => {\n clearInterval(this.countDown);\n this.isTouched = true;\n return {\n ...prevState,\n showMsg: false,\n duration: this.props.duration\n };\n });\n }\n }, 1000);\n }\n };\n\n caseButtonComp = (countMsg, msgInFr) => {\n if (this.state.showMsg) {\n let props;\n if ([60, 30, 10].indexOf(this.state.duration) >= 0) {\n props = {\n role: \"alert\"\n };\n if (!this.isTouched) {\n this.isTouched = true;\n }\n } else {\n props = {};\n }\n\n return (\n \n {countMsg}\n

\n );\n } else {\n return (\n <>\n this.requestNewCode()}\n />\n {this.state.resentBtnHasBeenClicked &&\n this.props.compShownAfterResentClicked}\n \n );\n }\n };\n\n render() {\n const countMsg = `${this.props.intl.formatMessage({\n id: \"countdown.requestTip\"\n })} ${this.state.duration} ${this.props.intl.formatMessage({\n id: \"countdown.requestTip.seconds\"\n })}`;\n let msgInFr = false;\n if (countMsg.indexOf(\"Vous pouvez\") >= 0) {\n msgInFr = true;\n }\n\n return (\n \n {this.caseButtonComp(countMsg, msgInFr)}\n \n );\n }\n}\n\nCountDown.defaultProps = {\n startNow: true\n};\n\nconst CountContent = styled.div`\n color: ${color.text_color_dark};\n\n .otp-request {\n margin-top: 12px;\n }\n .otp-request-only {\n margin-bottom: 28px;\n }\n\n p {\n margin-top: 0px;\n margin-bottom: ${p => (p.otpType === \"EMAIL\" ? \"28px\" : \"0px\")};\n /* responsive styles ctrl in EnterOTP.js */\n &.fr-error--space {\n @media (min-width: 769px) {\n line-height: 30px !important;\n height: 30px !important;\n width: 70%;\n }\n }\n &.p-line--height {\n @media (max-width: 768px) {\n width: auto;\n }\n @media (min-width: 769px) {\n line-height: 46px;\n height: 46px;\n }\n }\n }\n .link--emailOTP-entry {\n margin-top: 20px;\n }\n /* rm the default scale up effect of Link */\n .otp-request.hsbc-ui.link.s4,\n .link--emailOTP-entry.hsbc-ui.link.s4 {\n font-size: 14.256px;\n line-height: 1.688;\n @media only screen and (min-width: 1024px) {\n font-size: 14.256px;\n line-height: 1.688;\n }\n }\n\n .note--emailOTP-resent {\n position: relative;\n margin-top: 25px;\n font-size: 12px;\n color: black;\n font-weight: 300;\n line-height: 16px;\n .exclamation.triangle.error {\n position: relative;\n top: -2px;\n color: #af000d;\n font-size: 14px;\n padding-right: 8px;\n line-height: 20px;\n }\n }\n`;\n\nexport default injectIntl(CountDown);\n","export function updateLockedAccountInfo(error) {\n return {\n type: \"UPDATE_LOCKED_ACCOUNT_INFO\",\n error: error\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { connect } from \"react-redux\";\nimport { Loader, Link, Button } from \"hsbc-pb-sdk\";\nimport _ from \"lodash\";\nimport { history } from \"util/history\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { color } from \"util/color\";\nimport CountDown from \"components/OTPVerify/CountDown\";\nimport { updateLockedAccountInfo } from \"actions/lockedAccountAction\";\nimport { isTextSelected, handleMaskNumber } from \"util/service\";\nimport { envConfig } from \"env-config\";\n\nconst mapStateToProps = state => {\n return {\n authenticateError: state.logon.error,\n selectedLang: state.languageSession.selectedLang,\n otpType: state.currentOTPType.otpType,\n target: state.currentOTPType.target || { _description: \"unit test\" },\n isMockLogin: state.logon.isMockLogin,\n emailOtpList: state.contactOptions.emailOtpList\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n updateLockedAccountInfo: error =>\n dispatch(updateLockedAccountInfo(error))\n };\n};\n\nclass EnterOTP extends Component {\n constructor(props) {\n super(props);\n this.state = {\n verificationCode: \"\",\n verificationCodelegal: true,\n otpFinished: false,\n inputType: \"text\",\n isIe: false,\n \"0\": \"\",\n \"1\": \"\",\n \"2\": \"\",\n \"3\": \"\",\n \"4\": \"\",\n \"5\": \"\"\n };\n if (props.storeThis) {\n props.storeThis(\"APP\", this);\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.authenticateError) {\n this.failCallback(nextProps.authenticateError);\n }\n if (nextProps.submitErrorFromTransmit) {\n this.failCallback(nextProps.submitErrorFromTransmit);\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevState.verificationCode !== this.state.verificationCode) {\n if (this.state.verificationCode) {\n window.tealiumHub.ET010(this.state.verificationCode);\n }\n }\n }\n componentDidMount() {\n this.invokePageEvent();\n setTimeout(() => {\n document.getElementById(\"hsbcLogo\").focus();\n }, 500);\n document.addEventListener(\"keydown\", this.handleEnterHit);\n\n const inputBox = document.getElementsByTagName(\"input\")[0];\n const style = window.getComputedStyle(inputBox);\n\n if (!style.webkitTextSecurity) {\n this.setState({\n inputType: \"password\"\n });\n }\n this.clearCode();\n }\n\n componentWillUnmount = () => {\n document.removeEventListener(\"keydown\", this.handleEnterHit);\n };\n\n invokePageEvent() {\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n window.tealiumHub.PT006();\n break;\n case \"#/registration\":\n window.tealiumHub.PT011();\n break;\n case \"#/resetPassword\":\n window.tealiumHub.PT018();\n break;\n default:\n return;\n }\n }\n\n handleChange = e => {\n const { value, dataset } = e.target;\n if (\"0123456789\".indexOf(value) < 0) {\n return;\n }\n\n const otpindex = Number(dataset.otpindex);\n if (value.length <= 1) {\n this.setState((prevState, props) => {\n return { [otpindex]: value };\n });\n }\n if (value.length === 1 && otpindex !== 5) {\n document\n .querySelector(`input[data-otpindex=\"${otpindex + 1}\"]`)\n .select();\n }\n\n this.setState((prevState, props) => {\n const otpFinished = [0, 1, 2, 3, 4, 5].every(item => {\n return prevState[item] !== \"\";\n });\n return {\n otpFinished: otpFinished\n };\n });\n };\n\n caseKeyCode8 = (otpindex, isAtTheOnePostion, isAtTheZeroPostion) => {\n if (\n otpindex !== 0 &&\n !isAtTheOnePostion &&\n isTextSelected() === false\n ) {\n const isAtTheFirstInputBox = otpindex !== 0;\n if (isAtTheZeroPostion || isAtTheFirstInputBox) {\n document.querySelector(\n `input[data-otpindex=\"${otpindex - 1}\"]`\n ) &&\n document\n .querySelector(`input[data-otpindex=\"${otpindex - 1}\"]`)\n .select();\n }\n }\n };\n\n caseKeyNumber = (value, otpindex, e) => {\n if (value.length === 1) {\n if (otpindex !== 5 && isTextSelected() === false) {\n this.setState({\n [otpindex + 1]: e.key\n });\n document.querySelector(\n `input[data-otpindex=\"${otpindex - 1}\"]`\n ) &&\n document\n .querySelector(`input[data-otpindex=\"${otpindex + 1}\"]`)\n .select();\n }\n }\n };\n\n caseArrowLeft = (otpindex, value, isAtTheZeroPostion) => {\n if (otpindex !== 0) {\n if (\n (value.length === 1 && isAtTheZeroPostion) ||\n value.length === 0\n ) {\n const lastInputBox = document.querySelector(\n `input[data-otpindex=\"${otpindex - 1}\"]`\n );\n setTimeout(() => lastInputBox.select(), 1);\n }\n }\n };\n\n caseArrowRight = (otpindex, value, isAtTheOnePostion) => {\n if (otpindex !== 5) {\n if (\n (value.length === 1 && isAtTheOnePostion) ||\n value.length === 0\n ) {\n const nextInputBox = document.querySelector(\n `input[data-otpindex=\"${otpindex + 1}\"]`\n );\n setTimeout(() => nextInputBox.select(), 1);\n }\n }\n };\n\n handleKeyDown = e => {\n const { value, dataset } = e.target;\n const otpindex = Number(dataset.otpindex);\n const isAtTheOnePostion =\n document.querySelector(`input[data-otpindex=\"${otpindex}\"]`)\n .selectionStart === 1;\n const isAtTheZeroPostion =\n document.querySelector(`input[data-otpindex=\"${otpindex}\"]`)\n .selectionStart === 0;\n if (e.keyCode === 8) {\n this.caseKeyCode8(otpindex, isAtTheOnePostion, isAtTheZeroPostion);\n } else if (\"0123456789\".indexOf(e.key) >= 0) {\n this.caseKeyNumber(value, otpindex, e);\n } else if (e.key === \"ArrowLeft\") {\n this.caseArrowLeft(otpindex, value, isAtTheZeroPostion);\n } else if (e.key === \"ArrowRight\") {\n this.caseArrowRight(otpindex, value, isAtTheZeroPostion);\n }\n };\n\n clearCode = () => {\n this.setState({\n otpFinished: false,\n \"0\": \"\",\n \"1\": \"\",\n \"2\": \"\",\n \"3\": \"\",\n \"4\": \"\",\n \"5\": \"\"\n });\n };\n\n failCallback = submitErrorFromTransmit => {\n console.log(\"=====OTP FAil call back=====\");\n const errorCode = _.get(submitErrorFromTransmit, \"_errorCode\", false);\n\n const message = _.get(submitErrorFromTransmit, \"_message\", false);\n\n if (errorCode) {\n const isRegistrationJourney =\n window.location.href.indexOf(\"registration\") !== -1;\n if (isRegistrationJourney) {\n const otpErrorCounter =\n sessionStorage.getItem(\"otpErrorCounter\") || 0;\n if (otpErrorCounter < 2) {\n history.push({\n pathname: \"/commonLockedAccount/registrationOtpError\",\n state: { errorCode: \"registrationOtpError\" }\n });\n } else {\n history.push({\n pathname:\n \"/commonLockedAccount/registrationOtpErrorThreeTimes\",\n state: { errorCode: \"registrationOtpErrorThreeTimes\" }\n });\n }\n sessionStorage.setItem(\n \"otpErrorCounter\",\n parseInt(otpErrorCounter) + 1\n );\n sessionStorage.setItem(\"isOtpError\", true);\n }\n }\n\n if (\n errorCode === 11 &&\n message.indexOf(\"Auth session expired\") !== -1\n ) {\n this.setState(previousState => {\n const id = this.props.isRealmCH\n ? \"enterOtp.error.expired-CH\"\n : \"enterOtp.error.expired\";\n return {\n ...previousState,\n verificationCode: this.props.intl.formatMessage({\n id\n }),\n verificationCodelegal: false\n };\n });\n }\n };\n\n handleEnterHit = e => {\n if (e.keyCode === 13) {\n this.validateAndSubmitOTP();\n }\n };\n\n validateAndSubmitOTP = () => {\n let digitCode = \"\";\n [0, 1, 2, 3, 4, 5].forEach(i => {\n digitCode = digitCode + this.state[i];\n });\n if (digitCode.length !== 6) {\n this.setState(previousState => {\n const id = this.props.isRealmCH\n ? \"enterOtp.error.notMatch-CH\"\n : \"enterOtp.error.notMatch\";\n return {\n ...previousState,\n verificationCode: this.props.intl.formatMessage({\n id\n }),\n verificationCodelegal: false\n };\n });\n return;\n }\n window.tealiumHub.ET009(\"enterOtp.label.submit\");\n this.props.submitOTP(digitCode);\n };\n\n resendOTPAndRestartCountdown = () => {\n this.props.resentOTP();\n };\n\n getExtraComponentAfterResentBtnClicked = () => {\n if (this.props.isRealmCH) {\n if (this.props.otpType === \"SMS\") {\n return (\n \n );\n } else {\n return (\n
\n \n \n
\n );\n }\n } else {\n return null;\n }\n };\n\n getErrorComp = () => {\n const isRegistrationJourney =\n window.location.href.indexOf(\"registration\") !== -1;\n const errorContent = isRegistrationJourney ? (\n \n ) : (\n \n );\n const otpErrorCounter = parseInt(\n sessionStorage.getItem(\"otpErrorCounter\")\n );\n return otpErrorCounter >= 2 || this.props.isLastAttempt ? (\n

\n \n \n \n {errorContent}\n

\n ) : null;\n };\n\n getCountdownComp = extraComponent => {\n return (\n \n );\n };\n\n shouldShowHeader = () => {\n const currentUrlPathIsNotLogon =\n window.location.href.indexOf(\"logon\") === -1;\n\n return (\n currentUrlPathIsNotLogon ||\n (envConfig.languageSlectList &&\n envConfig.languageSlectList.length > 1)\n );\n };\n\n getMainTextAndAriaLabel = isAriaLabel => {\n let finalText = \"\";\n const description =\n this.props.otpType === \"EMAIL\"\n ? this.props.emailOtpList\n : this.props.target._description;\n const des = isAriaLabel ? handleMaskNumber(description) : description;\n const target = this.props.isMockLogin ? \"\" : des;\n\n const getIntlText = id => {\n return this.props.intl.formatMessage({\n id\n });\n };\n\n if (this.props.selectedLang === \"zh-sim-HK\") {\n finalText = this.props.isMockLogin\n ? `${getIntlText(\"login.mock.otp\")}`\n : `${getIntlText(\n \"enterOtp.label.sendToFirstPart\"\n )} ${target} ${getIntlText(\n \"enterOtp.label.sendToSecondPart\"\n )}`;\n } else {\n finalText = this.props.isMockLogin\n ? `${getIntlText(\"login.mock.otp\")}`\n : `${getIntlText(\"enterOtp.label.sendTo\")} ${target}`;\n }\n\n if (!isAriaLabel) {\n if (\n this.props.selectedLang === \"zh-trd-HK\" ||\n this.props.selectedLang === \"zh-sim-HK\"\n ) {\n finalText += \"。\";\n } else {\n finalText += \".\";\n }\n }\n\n return finalText;\n };\n\n touched = false;\n\n render() {\n const showHeader = this.shouldShowHeader();\n const errorComp = this.getErrorComp();\n const extraComponent = this.getExtraComponentAfterResentBtnClicked();\n const countDownComponent = this.getCountdownComp(extraComponent);\n const takeUp =\n this.props.otpType === \"SMS\" && this.props.isRealmCH ? (\n \n ) : null;\n const isDisable =\n this.props.isLoading || !this.state.otpFinished ? true : false;\n const isLoading = this.props.isLoading ? \"disabled\" : \"\";\n const otpFinished = !this.state.otpFinished ? \"otpNotFinished\" : \"\";\n return (\n \n

\n \n

\n

\n \n {this.getMainTextAndAriaLabel()}\n \n

\n {this.props.isMockLogin ? (\n \"\"\n ) : (\n

\n \n {takeUp}\n

\n )}\n\n
\n {[0, 1, 2, 3, 4, 5].map((item, index) => {\n return (\n {\n if (!this.touched) {\n window.tealiumHub.ET008();\n this.touched = true;\n }\n this.setState({\n verificationCodelegal: true\n });\n }}\n />\n );\n })}\n
\n
\n
\n {errorComp}\n
\n
\n

\n

\n {this.props.isMockLogin ? (\n \"\"\n ) : (\n
{countDownComponent}
\n )}\n {this.props.isLoading ? (\n
\n \n
\n ) : (\n \n \n \n )}\n
\n
\n );\n }\n}\n\nconst ModalContent = styled.div`\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n background-color: ${color.white};\n color: ${color.text_color_dark};\n padding: 50px 50px 40px 50px;\n padding-bottom: ${p => (p.otpType === \"EMAIL\" ? \"12px\" : \"40px\")};\n order: 1;\n margin: 20px;\n margin-top: ${props => (props.showHeader ? \"20px\" : \"105px\")};\n margin-bottom: ${props => (props.showHeader ? \"20px\" : \"104px\")};\n input[name=\"digitCodeSingle\"] {\n font-family: \"UniversNextForHSBC\", \"Helvetica Neue\", Helvetica, Arial,\n sans-serif;\n border-radius: 6px;\n border: 1px solid #767676;\n margin: 4px;\n padding-left: 8px;\n padding-right: 8px;\n width: 36px;\n height: 42px;\n font-size: 28px;\n box-sizing: border-box;\n color: #333333;\n background-color: white;\n &:focus {\n border: 1px solid red;\n outline: none;\n }\n }\n @media (max-width: 320px) {\n width: 280px;\n padding: 14px;\n\n .p-line--height {\n max-width: 130px;\n }\n }\n @media (min-width: 321px) and (max-width: 413px) {\n width: 345px;\n padding: 14px;\n\n .p-line--height {\n max-width: 200px;\n }\n }\n @media (min-width: 414px) and (max-width: 768px) {\n width: 374px;\n\n .p-line--height {\n max-width: 170px;\n }\n\n .note--emailOTP-resent {\n left: -35px;\n width: 344px;\n }\n }\n @media (min-width: 769px) {\n width: 524px;\n max-height: 600px;\n\n .note--emailOTP-resent {\n left: -35px;\n width: 500px;\n }\n }\n display: flex;\n flex-direction: column;\n\n input {\n text-align: center;\n }\n\n .separator {\n border-top: 1px solid #d7d8d6;\n margin-top: 31px;\n margin-bottom: 20px;\n }\n .code-enter {\n width: 80px;\n height: 40px;\n font-size: 14px;\n padding: 12px 12px;\n border: 1px solid #929292;\n text-security: disc;\n -webkit-text-security: disc;\n -moz-text-security: disc;\n &.error {\n border: 1px solid ${color.error_msg_stroke_outline};\n }\n }\n .btn--loader--container {\n position: absolute;\n display: inline-block;\n top: 0px;\n right: 0px;\n width: 102px;\n margin-bottom: 50px;\n .btn--loader {\n margin-top: 24px;\n width: 102px;\n padding-top: 10px;\n padding-bottom: 0px;\n height: 46px;\n cursor: default;\n background-color: #730014;\n .children {\n margin-top: 0px;\n }\n }\n .hsbc-ui.loader .spinner {\n border: 2px solid #fff;\n border-right-color: transparent;\n }\n .btn--loader:before {\n padding-top: 0px;\n }\n }\n .login-otp-btn {\n position: absolute;\n top: 0px;\n right: 0px;\n cursor: pointer;\n height: 46px;\n padding: 0 20px;\n font-size: 16px;\n }\n button {\n position: absolute;\n top: 0px;\n right: 0px;\n cursor: pointer;\n height: 46px;\n padding: 0 20px;\n font-size: 16px;\n font-weight: 100;\n line-height: 16px;\n border: none;\n font-family: \"Univers Next for HSBC\";\n &.request {\n background-color: ${color.white};\n color: ${color.text_color_dark};\n border: 1px solid #d7d8d6;\n }\n &.submit {\n background-color: ${color.hsbc_red};\n color: ${color.white};\n font-weight: 1000;\n }\n &.disabled {\n background-color: ${color.hsbc_warning_yellow};\n }\n &.otpNotFinished {\n background-color: ${color.grey};\n }\n }\n\n h1 {\n font-size: 27px;\n font-weight: 100;\n line-height: 36px;\n margin: 0px;\n margin-bottom: 12px;\n\n @media (min-width: 1024px) {\n font-size: 31px;\n }\n }\n\n h2 {\n margin-top: 30px;\n margin-bottom: 9px;\n font-size: 16px;\n font-weight: normal;\n line-height: 19px;\n }\n p {\n font-size: 16px;\n font-weight: 300;\n line-height: 24px;\n &.statement--validation {\n @media (max-width: 768px) {\n width: auto;\n }\n @media (min-width: 769px) {\n width: 350px;\n }\n line-height: 28px;\n font-weight: 400;\n .icon {\n color: ${color.hsbc_warning_red};\n position: relative;\n padding-right: 1px;\n }\n .icon--container {\n float: left;\n }\n .error--content {\n @media (max-width: 768px) {\n width: auto;\n }\n @media (min-width: 769px) {\n float: right;\n width: 320px;\n }\n\n font-size: 14px;\n }\n }\n }\n\n .foot {\n position: relative;\n display: flex;\n min-height: 46px;\n }\n\n /* .email-otp-entry {\n padding-top: 10px;\n } */\n`;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(EnterOTP));\n","export const currentOTPTypeActions = {\n updateCurrentOTPType,\n updateSelectedTarget\n};\n\nfunction updateCurrentOTPType(otpType) {\n return {\n type: \"CURRENT_OTP_TYPE_UPDATE\",\n payload: otpType\n };\n}\n\nfunction updateSelectedTarget(target) {\n return {\n type: \"CURRENT_TARGET_SELECTED\",\n payload: target\n };\n}\n","const realm = \"CH\";\n\nexport default Object.freeze({\n realm\n});\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { history } from \"util/history\";\nimport _ from \"lodash\";\nimport { injectIntl, FormattedMessage } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport { lockedTypeActions } from \"../../actions/lockedTypeAction\";\nimport OptionsListPhone from \"./OptionsListPhone\";\nimport OptionsListEmail from \"./OptionsListEmail\";\nimport EnterCode from \"./EnterOTP\";\nimport { currentOTPTypeActions } from \"../../actions/currentOTPTypeAction\";\nimport emailOTPcfg from \"emailOTP-config\";\n\nconst isRealmCH = envConfig.realm === emailOTPcfg.realm;\n\nconst mapStateToProps = state => {\n return {\n otpType: state.currentOTPType.otpType,\n target: state.currentOTPType.target,\n isMockLogin: state.logon.isMockLogin,\n isLastAttempt: state.logon.isLastAttempt\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateUserLockedType: lockedType => {\n dispatch(lockedTypeActions.updateLockedType(lockedType));\n },\n updateCurrentOTPType: otpType => {\n dispatch(currentOTPTypeActions.updateCurrentOTPType(otpType));\n },\n updateSelectedTarget: target => {\n dispatch(currentOTPTypeActions.updateSelectedTarget(target));\n }\n };\n};\n\nclass GenericOTP extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n phoneTargets: null,\n emailTargets: null,\n activeOption: \"\",\n selectedOption: \"\",\n validationError: false,\n resolveInputFromTransmit: () => {\n console.log(\"resolveInputFromTransmit\");\n },\n rejectInputFromTransmit: null,\n currentStep: \"optionsList\",\n btnSubmitIsLoading: false,\n submitErrorFromTransmit: null\n };\n if (props.storeThis) {\n props.storeThis(\"GenericOTP\", this);\n }\n }\n\n sendCodeToContact = () => {\n window.tealiumHub.ET007(\"contactOptions.label.sendCode\");\n if (this.state.selectedOption === \"\") {\n this.setState({\n validationError: true\n });\n setTimeout(() => {\n document.getElementById(\"selectWarning\").focus();\n }, 100);\n return;\n }\n const selectedTarget = this.props.target;\n console.log(\"selectedTarget: \", selectedTarget);\n\n const input = window.com.ts.mobile.sdk.TargetBasedAuthenticatorInput.createTargetSelectionRequest(\n selectedTarget\n );\n this.state.resolveInputFromTransmit(\n window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n input\n )\n );\n this.setState({\n currentStep: \"enterCode\",\n submitErrorFromTransmit: null\n });\n };\n\n updateSelectedOption = item => {\n const value = `${item._targetIdentifier};${item._channel}`;\n this.setState({\n activeOption: value,\n selectedOption: value,\n validationError: false\n });\n this.props.updateSelectedTarget(item);\n };\n\n handleChange = (e, value) => {\n if (value) {\n window.tealiumHub.ET006();\n const { phoneTargets, emailTargets } = this.state;\n const targets =\n this.props.otpType === \"SMS\"\n ? phoneTargets || this.props.testPhoneTargets\n : emailTargets;\n const index = Number(value[0]) - 1;\n const itemSelected = targets[index];\n this.updateSelectedOption(itemSelected);\n }\n };\n\n submitOTP = digitCodeString => {\n const input = window.com.ts.mobile.sdk.OtpInputOtpSubmission.createOtpSubmission(\n digitCodeString\n );\n const inputTargetBased = window.com.ts.mobile.sdk.TargetBasedAuthenticatorInput.createAuthenticatorInput(\n input\n );\n\n this.setState({\n btnSubmitIsLoading: true\n });\n if (this.props.isMockLogin) {\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n otpvalue: digitCodeString\n }\n );\n this.acceptFN(formInput);\n } else {\n this.state.resolveInputFromTransmit(\n window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n inputTargetBased\n )\n );\n }\n };\n\n resentOTP = () => {\n window.tealiumHub.ET009(\"countdown.requestButton\");\n if (!this.props.isMockLogin) {\n const resend = window.com.ts.mobile.sdk.OtpInputRequestResend.createOtpResendRequest();\n const inputTargetBased = window.com.ts.mobile.sdk.TargetBasedAuthenticatorInput.createAuthenticatorInput(\n resend\n );\n this.state.resolveInputFromTransmit(\n window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n inputTargetBased\n )\n );\n }\n };\n\n clickEmailOTPEntryBtn = () => {\n this.props.updateCurrentOTPType(\"EMAIL\");\n this.setState({\n currentStep: \"optionsList\"\n });\n };\n\n prechooseEmailOption = () => {\n const emailItem = this.state.emailTargets[0];\n this.updateSelectedOption(emailItem);\n };\n\n promiseRecoveryForError = (\n errorObject,\n validRecoveries,\n defaultRecovery\n ) => {\n this.setState({\n btnSubmitIsLoading: false,\n submitErrorFromTransmit: errorObject\n });\n\n const isRegistrationJourney =\n window.location.href.indexOf(\"registration\") !== -1;\n if (isRegistrationJourney) {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n }\n\n const errorCode = _.get(errorObject, \"_errorCode\", false);\n if (errorCode === 11) {\n return history.push(\"/logon?forcedLogout\");\n } else if (errorCode === 1) {\n const locked = _.get(\n errorObject,\n \"_data.additional_data.locked\",\n false\n );\n if (locked) {\n history.push({\n pathname: \"/commonLockedAccount/globalGenericAccountLock\",\n state: { errorCode: \"globalGenericAccountLock\" }\n });\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n }\n }\n\n if (errorCode === 16) {\n history.push(\"/noContactDetails\");\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n }\n this.props.updateUserLockedType(\"OTP\");\n const errorRecoveryMethod = isRegistrationJourney\n ? window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n : window.com.ts.mobile.sdk.AuthenticationErrorRecovery\n .SelectAuthenticator;\n return Promise.resolve(errorRecoveryMethod);\n };\n\n setAvailableTargets(mixRawTargets) {\n const targets = mixRawTargets.slice(0);\n const length = targets.length;\n if (length !== 0) {\n console.log(\"otpType: \", this.props.otpType);\n const lastItem = targets[length - 1];\n const isLastItemEmailAddress = lastItem && lastItem._channel === 2;\n if (isLastItemEmailAddress) {\n this.setState({\n emailTargets: [targets.pop()]\n });\n console.log(\"emailTargets::\", [lastItem]);\n } else {\n this.setState({\n emailTargets: []\n });\n console.log(\"emailTargets::\", []);\n }\n const phoneTargets = [...targets].splice(0, 5);\n this.setState({\n phoneTargets\n });\n\n console.log(\"phoneTargets::\", phoneTargets);\n }\n }\n startSession = () => {\n console.log(\"startSession\");\n };\n\n endSession = () => {\n console.log(\"endSession\");\n };\n\n setGeneratedOtp = (format, target) => {\n console.log(\"setGeneratedOtp::\", format, target);\n };\n\n promiseInput = () => {\n return new Promise((resolve, reject) => {\n this.setState({\n resolveInputFromTransmit: resolve,\n rejectInputFromTransmit: reject\n });\n });\n };\n\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n\n render() {\n const concatName = this.props.isMockLogin\n ? \"enterCode-SMS\"\n : `${this.state.currentStep}-${this.props.otpType}`;\n const lastAttemptTip = (\n

\n \n \n \n \n \n \n

\n );\n if (concatName === \"optionsList-SMS\") {\n return (\n \n );\n } else if (concatName === \"enterCode-SMS\") {\n return (\n \n );\n } else if (concatName === \"optionsList-EMAIL\") {\n return (\n \n );\n } else if (concatName === \"enterCode-EMAIL\") {\n return (\n \n );\n } else {\n return null;\n }\n }\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(GenericOTP));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { injectIntl, FormattedMessage } from \"react-intl\";\nimport { Input } from \"hsbc-pb-sdk\";\nimport MaskedEye from \"assets/image/masked.png\";\nimport UnMaskedEye from \"assets/image/unmasked.png\";\nimport MaskedEyeError from \"assets/image/masked_error.png\";\nimport UnMaskedEyeError from \"assets/image/unmasked_error.png\";\nclass SecurityTextInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n value: \"\",\n touched: false,\n iconUrl: MaskedEye,\n toggleMaskPsw: true\n };\n this.nodeRef = React.createRef();\n }\n\n emptyFunc = () => {\n console.log(\"emptyFunc\");\n };\n\n componentDidMount() {\n if (this.props.onRef) {\n this.props.onRef(this);\n }\n }\n\n componentWillUnmount() {\n if (this.props.onUnload) {\n this.props.onUnload();\n }\n }\n\n clearValue = () => {\n this.setState({\n value: \"\"\n });\n };\n\n getSelfFocused = () => {\n this.nodeRef.current.focus();\n };\n\n handleChange = event => {\n const { name, value } = event.target;\n if (\n this.props.validateFromParent &&\n !this.props.validateFromParent(name, value)\n ) {\n return;\n }\n this.setState({\n value\n });\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n touched = false;\n handleFocus = e => {\n if (this.props.onFocus) {\n this.props.onFocus(this.touched);\n }\n this.touched = true;\n };\n\n toggleMask = () => {\n let iconUrl = UnMaskedEye;\n const { toggleMaskPsw } = this.state;\n if (!toggleMaskPsw) {\n iconUrl = MaskedEye;\n }\n if (this.props.hasError || this.props.errorComp) {\n iconUrl = UnMaskedEyeError;\n if (!toggleMaskPsw) {\n iconUrl = MaskedEyeError;\n }\n }\n this.setState({\n iconUrl,\n toggleMaskPsw: !toggleMaskPsw\n });\n };\n\n static getDerivedStateFromProps(props, state) {\n const { errorComp, hasError } = props;\n let iconUrl;\n if (errorComp || hasError) {\n iconUrl = MaskedEyeError;\n if (!state.toggleMaskPsw) {\n iconUrl = UnMaskedEyeError;\n }\n } else {\n iconUrl = MaskedEye;\n if (!state.toggleMaskPsw) {\n iconUrl = UnMaskedEye;\n }\n }\n return { iconUrl };\n }\n\n onKeyDown = (event, func) => {\n if (event.keyCode === 32 || event.keyCode === 13) {\n func(event);\n event.preventDefault();\n }\n };\n\n render() {\n const {\n onBlur = this.emptyFunc,\n type,\n name,\n label,\n customClassName = \"\",\n errorComp,\n hasError,\n placeHolder = \"\",\n id,\n hideLabel,\n ariaDescribedby = \"\",\n title = \"global.notext\",\n disabled,\n isPswInput\n } = this.props;\n const isErrorTip = errorComp || hasError;\n\n const eyeClass = this.state.toggleMaskPsw ? \"eye\" : \"eye show-eye\";\n return (\n \n \n
\n \n {isPswInput && this.state.value ? (\n {\n this.onKeyDown(e, this.toggleMask);\n }}\n id={id}\n data-testid=\"eye\"\n tabIndex=\"0\"\n src={this.state.iconUrl}\n onClick={this.toggleMask}\n />\n ) : (\n \"\"\n )}\n
\n {errorComp}\n \n );\n }\n}\n\nconst SecurityTextInputContainer = styled.div.attrs({\n className: props => props.customClassName\n})`\n .input-box {\n position: relative;\n }\n\n label {\n font-size: 16px;\n font-weight: normal;\n line-height: 19px;\n }\n\n .hide {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n height: 1px;\n width: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n }\n\n input {\n font-family: \"UniversNextForHSBC\", \"Helvetica Neue\", Helvetica, Arial,\n sans-serif;\n font-weight: regular;\n font-size: 14px;\n color: #000;\n width: 100%;\n padding: 12px 15px;\n }\n\n .hsbc-ui.input:not(.disable) input[disabled] {\n opacity: 1;\n }\n\n .hsbc-ui.disabled.input {\n opacity: 1;\n }\n\n @media only screen and (min-width: 768px) and (max-width: 1023px) {\n .hsbc-ui.input {\n max-width: 100%;\n }\n }\n\n .hsbc-ui.input {\n padding: 0;\n }\n\n .hsbc-ui.input > input {\n padding: 12px 15px;\n line-height: 1;\n }\n\n input::-ms-clear {\n display: none;\n }\n\n input::-ms-reveal {\n display: none;\n }\n\n .eye {\n width: ${props => (props.isErrorTip ? \"21px\" : \"19px\")};\n position: absolute;\n top: 34%;\n right: 4%;\n @media (min-width: 1980px) {\n right: 3%;\n }\n }\n\n .show-eye {\n width: 22px;\n top: 26.62%;\n right: ${props => (props.isErrorTip ? \"4%\" : \"3.7%\")};\n @media (min-width: 1980px) {\n right: 3%;\n }\n }\n`;\nexport default injectIntl(SecurityTextInput);\n","export const resetPasswordActions = {\n validateUsernameIsLoading,\n storeUserName\n};\n\nfunction validateUsernameIsLoading(bool) {\n return {\n type: \"VALIDATE_USERNAME_LOADING\",\n isLoading: bool\n };\n}\n\nfunction storeUserName(userName) {\n return {\n type: \"RESET_PASSWORD_USERNAME\",\n payload: userName\n };\n}\n\nexport function passwordSavedStatusClear() {\n return {\n type: \"RESET_PASSWORD_CREATE_PASSWORD_STATUS_CLEAR\"\n };\n}\n","import _ from \"lodash\";\nimport { locale } from \"../store/configureStore\";\nimport messages from \"util/messages\";\nimport { FormattedMessage } from \"react-intl\";\nimport React from \"react\";\n\nconst firstPartText = \"validator.than.firstPart\";\nconst middlePartText = \"validator.longerThan.middlePart\";\nconst afterPartText = \"validator.than.afterPart\";\nconst middlePartLessText = \"validator.lessThan.middlePart\";\nexport function eachCharacterCountToleranceCheck(val, tolerance) {\n const result = {};\n const valLength = val.length;\n for (let i = 0, length = valLength; i < length; i++) {\n result[val[i]] = result[val[i]] ? result[val[i]] + 1 : 1;\n }\n const resultKey = Object.keys(result);\n const aCharacterOutOfTolerance = resultKey.some(\n item => result[item] / valLength > tolerance\n );\n return !aCharacterOutOfTolerance;\n}\n\nexport function isContainKeyboardSequence(val, step) {\n const string = \"0123456789qwertyuiopasdfghjklzxcvbnm\";\n const limit = val.length - step;\n let err = 0;\n const lowerCaseVal = val.toLowerCase();\n for (let i = 0; i <= limit; i++) {\n var substr = lowerCaseVal.substr(i, step);\n var n = string.indexOf(substr);\n var m = string\n .split(\"\")\n .reverse()\n .join(\"\")\n .indexOf(substr);\n if (n !== -1 || m !== -1) {\n err++;\n }\n if (err > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function isSameCharacterRepeted1(val, times) {\n const valLength = val.length;\n let sameCounter = 0;\n for (let i = 0, length = valLength; i < length; i++) {\n if (sameCounter === times) {\n return true;\n }\n if (val[i] === val[i + 1] && sameCounter <= times) {\n sameCounter++;\n } else {\n sameCounter = 0;\n }\n }\n return false;\n}\n\nfunction unameNeddlessThan4Lu(localestr) {\n return _.get(messages[localestr].lang, \"validator.Lessthan.4\");\n}\nfunction qestionLessThan3Lu(localestr) {\n return _.get(messages[localestr].lang, \"validator.question.Lessthan.3\");\n}\nfunction defaultForLongThan(localestr, typeName, length, type) {\n let result = null;\n if (type === \"question\") {\n result = qestionLessThan3Lu(localestr);\n return result;\n }\n const firstPart = _.get(messages[localestr].lang, firstPartText);\n const middlePart = _.get(messages[localestr].lang, middlePartText);\n const afterPart = _.get(messages[localestr].lang, afterPartText);\n result =\n firstPart + typeName + middlePart + (length - 1) + \"\\n\" + afterPart;\n return result;\n}\n\nexport function longerThan(value, length, typeName, type) {\n let result;\n const localestr = locale();\n if (value.length < length) {\n switch (localestr) {\n case \"zh-trd-HK\":\n case \"zh-sim-HK\":\n result =\n _.get(messages[localestr].lang, firstPartText) +\n _.get(messages[localestr].lang, middlePartText) +\n (length - 1) +\n _.get(messages[localestr].lang, afterPartText) +\n typeName;\n break;\n case \"en-LU\":\n case \"fr-LU\":\n result =\n type === \"username\"\n ? unameNeddlessThan4Lu(localestr)\n : defaultForLongThan(localestr, typeName, length, type);\n break;\n default:\n result =\n _.get(messages[localestr].lang, firstPartText) +\n typeName +\n _.get(messages[localestr].lang, middlePartText) +\n (length - 1) +\n _.get(messages[localestr].lang, afterPartText);\n }\n } else {\n result = false;\n }\n\n return result;\n}\nfunction unameMoreThan77Lu(localestr) {\n return _.get(messages[localestr].lang, \"validator.Morethan.77\");\n}\nfunction questionNeedUnder31(localestr) {\n return _.get(messages[localestr].lang, \"validator.question.morethan.31\");\n}\nfunction defaultForLessThan(localestr, typeName, length, type) {\n let result = null;\n if (type === \"question\") {\n return questionNeedUnder31(localestr);\n }\n const firstPart = _.get(messages[localestr].lang, firstPartText);\n const middlePart = _.get(messages[localestr].lang, middlePartLessText);\n const afterPart = _.get(messages[localestr].lang, afterPartText);\n result =\n firstPart + typeName + middlePart + (length + 1) + \"\\n\" + afterPart;\n return result;\n}\nexport function lessThan(value, length, typeName, type) {\n let result;\n const localestr = locale();\n if (value.length > length) {\n switch (localestr) {\n case \"zh-trd-HK\":\n case \"zh-sim-HK\":\n result =\n _.get(messages[localestr].lang, firstPartText) +\n _.get(messages[localestr].lang, middlePartLessText) +\n (length + 1) +\n _.get(messages[localestr].lang, afterPartText) +\n typeName;\n break;\n case \"en-LU\":\n case \"fr-LU\":\n result =\n type === \"username\"\n ? unameMoreThan77Lu(localestr)\n : defaultForLessThan(localestr, typeName, length, type);\n break;\n default:\n result =\n _.get(messages[localestr].lang, firstPartText) +\n typeName +\n _.get(messages[localestr].lang, middlePartLessText) +\n (length + 1) +\n _.get(messages[localestr].lang, afterPartText);\n }\n } else {\n result = false;\n }\n return result;\n}\n\nexport function isContainKeyOnlyLetterNumberSpecailChra(value) {\n let result;\n const isResetPassword = window.location.href.includes(\"resetPassword\");\n const localestr = locale();\n if (/^[-.@'_a-zA-Z0-9]+$/.test(value)) {\n result = false;\n } else {\n result = _.get(\n messages[localestr].lang,\n isResetPassword\n ? \"forgotPassword.warning.notRecognised\"\n : \"validator.usernameCommon.message\"\n );\n }\n return result;\n}\n\nexport function usernameCommonValidate(value, type) {\n const typeStr = _.get(messages[locale()].lang, \"validator.than.username\");\n return (\n longerThan(value, 5, typeStr, \"username\") ||\n lessThan(value, 76, typeStr, \"username\") ||\n isContainKeyOnlyLetterNumberSpecailChra(value)\n );\n}\n\nexport function createPasswordValidate(password, opt = {}) {\n let errorMsg = \"\";\n if (password.length < 12) {\n errorMsg = (\n \n );\n }\n return errorMsg;\n}\n\nexport function securityQuestionCreateValidate(value, opt) {\n const { customizeSpecifiedWords = [], userName } = opt;\n if (value) {\n const typeStr = _.get(\n messages[locale()].lang,\n \"validator.than.securityQuestion\"\n );\n let errorMsg =\n longerThan(value, 3, typeStr, \"question\") ||\n lessThan(value, 30, typeStr, \"question\");\n if (errorMsg) {\n return errorMsg;\n }\n if (\n [...customizeSpecifiedWords, \"PASSWORD\"].indexOf(\n value.toUpperCase()\n ) > -1\n ) {\n errorMsg = (\n \n );\n } else if (isContainKeyboardSequence(value, 5)) {\n errorMsg = (\n \n );\n } else if (!eachCharacterCountToleranceCheck(value, 0.5)) {\n errorMsg = (\n \n );\n } else if (userName && userName.toUpperCase() === value.toUpperCase()) {\n errorMsg = (\n \n );\n } else if (isSameCharacterRepeted1(value, 2)) {\n errorMsg = (\n \n );\n }\n return errorMsg;\n }\n return null;\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport PropTypes from \"prop-types\";\nimport { injectIntl } from \"react-intl\";\nimport { Notification } from \"hsbc-pb-sdk\";\n\nconst WarningMsg = ({ warningMsg, type, plain, id, intl }) => {\n return (\n \n {type === \"yellow\" ? (\n \n ) : (\n \n )}\n \n );\n};\n\nWarningMsg.propTypes = {\n message: PropTypes.string,\n type: PropTypes.string,\n plain: PropTypes.bool\n};\n\nconst WarningMsgContainer = styled.div`\n margin-top: 22px;\n font-size: 14px;\n line-height: 20px;\n margin-bottom: -10px;\n position: relative;\n\n .hsbc-ui.notification {\n font-size: 14px;\n line-height: 20px;\n padding-left: 0;\n color: #000;\n span {\n margin-left: 10px;\n }\n }\n`;\n\nexport default injectIntl(WarningMsg);\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport {\n passwordSavedStatusClear,\n resetPasswordActions\n} from \"actions/resetPasswordAction\";\nimport { createPasswordValidate } from \"util/validator\";\nimport { connect } from \"react-redux\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport { encryptPassword } from \"util/service\";\n\nconst mapStateToProps = state => {\n return {\n createPasswordSuc: state.resetPassword.createPasswordSuc,\n userName: state.resetPassword.userName,\n disabledButton: state.resetPassword.isLoading\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n clearSavedStatus: () => dispatch(passwordSavedStatusClear()),\n isLoading: payload =>\n dispatch(resetPasswordActions.validateUsernameIsLoading(payload))\n };\n};\n\nexport class StepCreatePassword extends Component {\n constructor(props) {\n super(props);\n this.state = {\n firstPassword: \"\",\n secondPassword: \"\",\n secondPasswordlegal: true,\n firstPasswordilegalMsg: \"\",\n password1verified: false,\n password2verified: false\n };\n this.firstPasswordComp = null;\n this.secondPasswordComp = null;\n if (props.storeThis) {\n props.storeThis(\"StepCreatePassword\", this);\n }\n window.tealiumHub.PT019();\n }\n\n handleChange = event => {\n const { target } = event;\n const { value, name } = target;\n this.setState((previousState, currentProps) => {\n let newFirstPasswordilegalMsg =\n previousState.firstPasswordilegalMsg;\n let newSecondPasswordlegal = previousState.secondPasswordlegal;\n if (name === \"firstPassword\") {\n newFirstPasswordilegalMsg = \"\";\n } else if (name === \"secondPassword\") {\n newSecondPasswordlegal = true;\n }\n return {\n ...previousState,\n [name]: value,\n password1verified: false,\n password2verified: false,\n secondPasswordlegal: newSecondPasswordlegal,\n firstPasswordilegalMsg: newFirstPasswordilegalMsg\n };\n });\n };\n submit = keyCode => {\n window.tealiumHub.ET044(\"stepCreatePassword.label.submit\");\n if (keyCode === 13) {\n this.validateFirstInput();\n this.validateSecondInput();\n }\n const {\n password1verified,\n password2verified,\n firstPasswordilegalMsg,\n secondPasswordlegal\n } = this.state;\n if (password1verified && password2verified) {\n if (!firstPasswordilegalMsg && secondPasswordlegal) {\n this.save();\n }\n } else {\n this.validateFirstInput();\n this.validateSecondInput();\n }\n };\n\n save = () => {\n const { firstPassword } = this.state;\n const encrypted =\n this.e2eState === \"enabled\"\n ? encryptPassword(firstPassword, this.e2ePublicKey)\n : firstPassword;\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n { password: encrypted }\n );\n this.props.isLoading(true);\n this.acceptFN(formInput);\n };\n\n validateFirstInput = () => {\n const { firstPassword } = this.state;\n const firstPasswordilegalMsg = createPasswordValidate(firstPassword, {\n userName: this.props.userName\n });\n this.setState(previousState => {\n return {\n ...previousState,\n firstPasswordilegalMsg,\n password1verified: true\n };\n });\n };\n\n validateSecondInput = () => {\n this.setState((previousState, currentProps) => {\n const isSame =\n previousState.secondPassword === previousState.firstPassword;\n const newfirstPassword = isSame ? previousState.firstPassword : \"\";\n const doubleValiadtePsw = createPasswordValidate(\n previousState.secondPassword,\n {\n userName: this.props.userName\n }\n );\n if (!isSame) {\n this.firstPasswordComp.clearValue();\n this.secondPasswordComp.clearValue();\n this.firstPasswordComp.getSelfFocused();\n return {\n ...previousState,\n secondPasswordlegal: isSame,\n firstPassword: newfirstPassword,\n secondPassword: newfirstPassword,\n password2verified: true\n };\n } else if (!doubleValiadtePsw) {\n return this.save();\n }\n return null;\n });\n };\n\n render() {\n const firstErrorComp = this.state.firstPasswordilegalMsg ? (\n \n ) : null;\n\n const secondErrorComp = this.state.secondPasswordlegal ? null : (\n \n );\n\n return (\n this.submit(keyCode)}\n confirmationBtnTitle=\"stepCreatePassword.label.submit\"\n disabledButton={this.props.disabledButton || false}\n >\n \n

\n \n

\n

\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional\"\n })}\n \n \n

\n

    \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content1\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content2\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content3\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content4\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content5\"\n })}\n \n
\n \n

\n

\n\n (this.firstPasswordComp = comp)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET043(\"password\");\n }\n }}\n />\n\n (this.secondPasswordComp = comp)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET043(\"reenter password\");\n }\n }}\n />\n
\n \n );\n }\n\n startSession = payload => {\n console.log(\n \"Reset Password - Create New Password:: Start Session\",\n payload\n );\n if (payload.jsonData) {\n this.e2ePublicKey = payload.jsonData.e2ePublicKey;\n this.e2eState = payload.jsonData.E2EE_State;\n if (this.e2eState === \"enabled\" && !this.e2ePublicKey) {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=030\",\n state: { errorCode: \"noConnection\" }\n });\n }\n } else {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=031\",\n state: { errorCode: \"noConnection\" }\n });\n }\n this.props.isLoading(false);\n };\n\n endSession() {\n console.log(\"endSession\");\n }\n\n onContinue = payload => {\n this.props.isLoading(false);\n if (payload.status === \"INCORRECT_PASSWORD_FORMAT\") {\n this.errorShowType = \"yellow\";\n this.setState(previousState => ({\n ...previousState,\n firstPasswordilegalMsg: this.props.intl.formatMessage({\n id: \"validator.commonMessage.incorrectPasswordFormat\"\n })\n }));\n }\n };\n\n onError = payload => {\n console.log(\"onError\", this.constructor.name, payload);\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=032\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n promiseFormInput = payload => {\n // this function will be called by transmit sdk,\n // we will create a new promise, once user input has done,\n // resolve this promise with the data user input, then the form data will be captured by transmit.\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n promiseInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n promiseRecoveryForError = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n };\n\n setPromiseHandlers = (acceptFN, rejectFN) => {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n };\n}\n\nconst CreatePasswordContainer = styled.div`\n padding-bottom: 30px;\n font-size: 16px;\n p {\n //margin: 0;\n }\n .hsbc-ui.notification .content p {\n font-size: 14px;\n }\n .content-main {\n font-weight: 300;\n line-height: 24px;\n padding-top: 30px;\n padding-bottom: 10px;\n }\n .additional-content {\n margin-top: -50px;\n }\n .content-repassword {\n font-weight: normal;\n padding-top: 15px;\n }\n input {\n height: 40px;\n width: 230px;\n background-color: ${color.white};\n margin: 10px 0 15px 0;\n }\n .error-comp {\n height: 40px;\n font-size: 14px;\n line-height: 20px;\n display: inline-block;\n }\n .icon--triangle-error {\n font-size: 19px;\n vertical-align: top;\n margin-right: 10px;\n }\n .error-text,\n icon--triangle-error {\n display: inline-block;\n margin-bottom: 20px;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(StepCreatePassword));\n","import { history } from \"util/history\";\nimport { envConfig } from \"env-config\";\nimport newTerms from \"assets/mock/terms.json\";\nimport _ from \"lodash\";\nimport { changeIdleTimeOutValid, guid } from \"util/service\";\nimport axios from \"axios\";\nimport { locale } from \"../store/configureStore\";\n\nconst makeLogoutRequest = async journey => {\n await window.transmitSDK.logout();\n};\n\nconst isLowerEnv =\n window.location.href.includes(\"localhost\") ||\n window.location.href.includes(\"hkl20042377\");\n\nexport const logonActions = {\n logon,\n logonHasErrored,\n logonFetchDataSuccess,\n logonFeachTerms,\n logonInit,\n disableTermsBtn,\n switchToGVLogin,\n gvLinkProfile,\n encryptedPsw,\n isMockLogin,\n isLastAttempt,\n isPendingResponse,\n isMockLoginOr,\n gvModel,\n caseError\n};\n\nfunction logonHasErrored(error) {\n return {\n type: \"LOGON_SESSION_ERROR\",\n error: error\n };\n}\n\nfunction logonFetchDataSuccess(data) {\n return {\n type: \"LOGON_SESSION_SUCCESS\",\n data\n };\n}\n\nfunction logonFeachTerms() {\n return {\n type: \"LOGON_TERMS_FETCHED_SUC\",\n payload: newTerms\n };\n}\n\nfunction logonInit(loggingIn) {\n return {\n type: \"LOGON_INIT\",\n loggingIn\n };\n}\n\nfunction disableTermsBtn(payload) {\n return {\n type: \"DISABLE_TERMS_BUTTON\",\n disableTermsBtn: payload\n };\n}\nfunction switchToGVLogin(bool) {\n return {\n type: \"GV_LOGON\",\n payload: bool\n };\n}\n\nfunction gvLinkProfile(url, RBtoken) {\n return {\n type: \"GV_Linking_Profile\",\n url,\n RBtoken\n };\n}\n\nfunction encryptedPsw(encryptedpsw) {\n return {\n type: \"ENCRYTED_PSW\",\n encryptedpsw\n };\n}\n\nfunction isMockLogin(isMockLogins) {\n return {\n type: \"MOCK_LOGIN\",\n isMockLogin: isMockLogins\n };\n}\n\nfunction isLastAttempt(isLastAttempts) {\n return {\n type: \"IS_LAST_ATTEMPT\",\n isLastAttempt: isLastAttempts\n };\n}\n\nfunction isPendingResponse(pending) {\n return {\n type: \"IS_PENDING_RESPONSE\",\n pending\n };\n}\n\nfunction existSdk() {\n const existingSession = _.get(\n window.transmitSDK,\n \"_currentSession._sessionId\",\n false\n );\n\n if (existingSession) {\n makeLogoutRequest(\"Logon\");\n }\n}\n\nfunction isMockLoginOr(clientContext) {\n sessionStorage.removeItem(\"verifyAttempts\");\n if (envConfig.multiTenancy) {\n document.cookie =\n `realm=${envConfig.realm}` + `; path=/; domain=${envConfig.id}`;\n }\n const isMockLogins = _.get(clientContext, \"jsonData.flow\", false);\n if (isMockLogins === \"mock_login\") {\n history.push({\n pathname: \"/commonLockedAccount/genericWrongCredential\",\n state: { errorCode: \"genericWrongCredential\" }\n });\n return false;\n }\n return true;\n}\n\nfunction gvModel(cookieVal, dispatch) {\n const uuid = guid();\n const timestamp = new Date().getTime();\n const opts = {\n method: \"GET\",\n headers: {\n AMSession: cookieVal,\n \"Cache-Control\": \"no-cache\"\n }\n };\n if (!isLowerEnv) {\n opts.headers[\"X-HSBC-Request-Correlation-Id\"] = uuid;\n }\n axios(`/amsts/partnerssso/gv/linkprofile/link?data=${timestamp}`, opts)\n .then(function(response) {\n if (response.status === 200) {\n if (response.data && response.data.ref_data_url) {\n dispatch(\n gvLinkProfile(\n response.data.ref_data_url,\n response.data.issued_token\n )\n );\n history.push(\"/gvResult\");\n } else {\n history.push(\"/gvError\");\n }\n } else {\n dispatch(\n gvLinkProfile(\n response.data.ref_data_url,\n response.data.issued_token\n )\n );\n history.push(\"/gvError\");\n console.log(\"GV Error\", response);\n }\n })\n .catch(function(error) {\n dispatch(\n gvLinkProfile(\n error.response.data.ref_data_url,\n error.response.data.issued_token\n )\n );\n history.push(\"/gvError\");\n console.log(\"GV Error Catch function\", error.response);\n });\n}\n\nfunction caseError(err, failCallback, dispatch) {\n dispatch(logonInit(false));\n console.log(\"logon journey fail catch err: \", err.getData());\n const errorCode = err.getErrorCode();\n const locked = _.get(err.getData(), \"additional_data.locked\", false);\n const sanctioned = _.get(\n err.getData(),\n \"failure_data.reason.data.reason\",\n false\n );\n if (sanctioned === \"LISTED_IN_SANCTION_COUNTRY\") {\n history.push(\"/restrictedAccess\");\n return;\n }\n const message = err.getMessage();\n\n if (err._errorCode === 11) {\n history.push(\"/logon\");\n } else if (err._errorCode === 16) {\n history.push(\"/noContactDetails\");\n return;\n } else if (\n err._errorCode &&\n err._errorCode === 7 &&\n err._message === \"Operation cancelled by user.\"\n ) {\n console.log(\"user give up\");\n return;\n } else if (\n err._errorCode === 9 &&\n _.get(err, \"_data.failure_data.reason.data.reason\", false) ===\n \"APPROVAL DECLINED WITH FRAUD\"\n ) {\n console.log(\"appsign fraud\");\n history.push({\n pathname: \"/commonLockedAccount/fullaccountLock\",\n state: { errorCode: \"fullaccountLock\" }\n });\n return;\n } else {\n dispatch(\n logonHasErrored({\n errorCode: errorCode,\n locked: locked,\n message: message\n })\n );\n\n console.log(\n \"logon journey fail catch err but DONT REACT TO IT, hand to failcallback\"\n );\n if (failCallback) {\n failCallback(err);\n }\n return;\n }\n}\n\nfunction callSecurityContext(cookieVal, dispatch) {\n const uuid = guid();\n const opts = {\n method: \"GET\",\n headers: {\n OIDCFilter: true,\n AMSESSION: cookieVal,\n \"Content-Type\": \"application/json\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n };\n if (!isLowerEnv) {\n opts.headers[\"X-HSBC-Request-Correlation-Id\"] = uuid;\n }\n if (window.hds != null) {\n if (opts.headers == null) {\n opts.headers = new Headers();\n }\n Object.keys(window.hds).forEach(function add(key) {\n opts.headers[key] = window.hds[key];\n });\n }\n\n axios(\n `${envConfig.protocol}://${envConfig.url}/rest/hsbc/SecurityContext`,\n opts\n ).then(\n data => {\n const localestr = locale();\n switch (localestr) {\n case \"zh-trd-HK\":\n case \"zh-sim-HK\":\n case \"en-LU\":\n case \"fr-LU\":\n history.push(\"/onlyEnglishTips\");\n break;\n default:\n window.location.href = `${\n envConfig.protocol\n }://${envConfig.url + envConfig.wvUri}`;\n }\n changeIdleTimeOutValid(false);\n window.transmitSDK\n .logout()\n .then(function(suc) {\n console.log(\"logout transmit\", suc);\n })\n .catch(function(err) {\n console.log(\"logout transmit fail\", err);\n });\n },\n error => {\n history.push({\n pathname: \"/globalError/noConnection?step=008\",\n state: { errorCode: \"noConnection\" }\n });\n }\n );\n}\n\nfunction logon(username, successCallback, failCallback) {\n changeIdleTimeOutValid(true);\n return (dispatch, getState) => {\n const policyId = \"login_policy\";\n const policyParams = {};\n const clientContext = {};\n if (username) {\n dispatch(logonInit(true));\n existSdk();\n dispatch(logonInit(true));\n window.transmitSDK\n .authenticate(username, policyId, policyParams, clientContext)\n .then(function(successfulAuth) {\n if (!isMockLoginOr(clientContext)) {\n return;\n }\n const cookieVal = clientContext.jsonData\n ? clientContext.jsonData[\"OpenAM Session\"]\n : \"\";\n\n if (getState().logon.gvMode === true) {\n gvModel(cookieVal, dispatch);\n } else {\n callSecurityContext(cookieVal, dispatch);\n\n dispatch(logonFetchDataSuccess(successfulAuth));\n if (successCallback) {\n successCallback(successfulAuth);\n }\n }\n })\n .catch(function(err) {\n caseError(err, failCallback, dispatch);\n });\n }\n };\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { injectIntl } from \"react-intl\";\nimport { Notification } from \"hsbc-pb-sdk\";\n\nimport { color } from \"util/color\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport { resetPasswordActions } from \"actions/resetPasswordAction\";\nimport { usernameCommonValidate } from \"util/validator\";\nimport { logonActions } from \"actions/logonAction\";\n\nconst mapStateToProps = state => {\n return {\n error: state.resetPassword.error,\n disabledButton: state.resetPassword.isLoading\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n storeUserName: username =>\n dispatch(resetPasswordActions.storeUserName(username)),\n isLoading: payload =>\n dispatch(resetPasswordActions.validateUsernameIsLoading(payload)),\n isLastAttemptTime: isLastAttempt => {\n dispatch(logonActions.isLastAttempt(isLastAttempt));\n }\n };\n};\n\nclass ForgotPassword extends Component {\n constructor(props) {\n super();\n this.state = {\n username: \"\",\n usernameWarningMsg: null,\n isValidUsername: null,\n displayErrorMsg: false\n };\n if (props.storeThis) {\n props.storeThis(\"ForgotPassword\", this);\n }\n window.tealiumHub.PT015();\n }\n handleChange = e => {\n const { name, value } = e.target;\n this.setState({ [name]: value });\n };\n validateInput = () => {\n this.setState(previousState => {\n return {\n ...previousState,\n usernameWarningMsg: usernameCommonValidate(this.state.username)\n };\n });\n };\n\n submitUsername = () => {\n this.validateInput();\n window.tealiumHub.ET033(\"forgotPassword.label.submit\");\n if (!usernameCommonValidate(this.state.username)) {\n this.props.storeUserName(this.state.username);\n this.props.isLoading(true);\n\n this.props.invokeResetPasswordPolicy(\n this.state.username,\n this.handleUserNameResetPassword\n );\n }\n };\n\n failCallback = res => {\n this.setState(previousState => {\n return {\n ...previousState,\n usernameWarningMsg: res.statusText\n };\n });\n };\n\n handleUserNameResetPassword = () => {\n this.props.isLoading(false);\n this.setState({\n isValidUsername: false\n });\n };\n\n componentWillUnmount() {\n this.props.hideSelectOption(true);\n this.props.isLoading(false);\n this.setState({\n isValidUsername: null\n });\n }\n\n componentDidMount() {\n this.props.hideSelectOption(false);\n const urlParam = window.location.href.split(\"?\")[1];\n let displayErrorMsg = false;\n if (urlParam && urlParam.toUpperCase() === \"INVALIDCREDENTIALS\") {\n displayErrorMsg = true;\n }\n this.setState({\n displayErrorMsg\n });\n this.props.isLastAttemptTime(false);\n }\n render() {\n const { usernameWarningMsg } = this.state;\n\n let usernameErrorComp = null;\n if (usernameWarningMsg !== null && usernameWarningMsg) {\n window.tealiumHub.ET034(this.state.usernameWarningMsg);\n usernameErrorComp = (\n \n );\n console.log(this.state.usernameWarningMsg);\n }\n let submitErrorComp = null;\n if (this.props.error === 500 || this.state.isValidUsername === false) {\n window.tealiumHub.ET034(\"forgotPassword.warning.notRecognised\");\n submitErrorComp = (\n \n );\n }\n let retryComp = null;\n if (\n this.state.displayErrorMsg &&\n !usernameErrorComp &&\n !submitErrorComp\n ) {\n retryComp = (\n \n (\n
\n

\n {this.props.intl.formatMessage({\n id:\n \"enter.username.reset.pwd.warning.first\"\n })}\n

\n

\n {this.props.intl.formatMessage({\n id:\n \"enter.username.reset.pwd.warning.second\"\n })}\n

\n
\n )}\n />\n
\n );\n }\n return (\n \n \n {\n if (!touched) {\n window.tealiumHub.ET032(\"username\");\n }\n }}\n />\n \n {retryComp}\n \n );\n }\n\n startSession = payload => {\n this.props.isLoading(false);\n };\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n\n endSession() {\n console.log(\"endSession\");\n }\n\n onContinue = payload => {\n this.props.isLoading(false);\n console.log(\n \"Forgot Password :: onContinue \",\n this.constructor.name,\n payload\n );\n if (payload) {\n console.log(\"=====onContinue====\", payload);\n this.props.isLoading(false);\n if (payload.reason === \"USERNAME_DOES_NOT_EXIST\") {\n this.failCallback({\n errorStatus: 204,\n statusText: this.props.intl.formatMessage({\n id: \"forgotPassword.warning.notRecognised\"\n })\n });\n }\n }\n };\n\n promiseRecoveryForError = () => {\n console.log(\"reset password username enter is invalid\");\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n };\n\n onError = payload => {\n this.props.isLoading(false);\n console.log(\"onErwelcoror \", this.constructor.name, payload);\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=028\",\n state: { errorCode: \"noConnection\" }\n });\n };\n}\nconst ForgotPasswordContainer = styled.div`\n padding-bottom: 40px;\n .hsbc-ui.notification .content p {\n font-size: 14px;\n }\n p {\n line-height: 24px;\n margin-top: 30px;\n margin-bottom: 7px;\n }\n input {\n height: 40px;\n color: ${color.text_color_dark};\n }\n`;\nconst DisplayLastAttamptContainer = styled.div.attrs({\n className: \"last--attempt--reset--poassword--contianer\"\n})`\n margin-top:-15px;\n margin-bottom: 20px;\n .hsbc-ui.notification.inline{\n padding:0px !important; \n p{\n font-size:14px;\n }\n }\n }\n `;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(ForgotPassword));\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\n\nimport { longerThan, lessThan } from \"util/validator\";\nimport { color } from \"util/color\";\nimport { history } from \"util/history\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport { resetPasswordActions } from \"actions/resetPasswordAction\";\nimport { updateLockedAccountInfo } from \"actions/lockedAccountAction\";\nimport { injectIntl } from \"react-intl\";\nimport { lockedTypeActions } from \"../../actions/lockedTypeAction\";\n\nconst mapStateToProps = state => {\n return {\n validateUsernameData: state.resetPassword.validateUsername,\n error: state.resetPassword.error,\n disabledButton: state.resetPassword.isLoading,\n otpStatusResetPWD: state.resetPassword.otpStatus,\n securityQuestionStatusResetPWD: state.resetPassword.seqQsStatus,\n isLastAttempt: state.logon.isLastAttempt\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateLockedAccountInfo: error =>\n dispatch(updateLockedAccountInfo(error)),\n isLoading: payload =>\n dispatch(resetPasswordActions.validateUsernameIsLoading(payload)),\n updateUserLockedType: lockedType => {\n dispatch(lockedTypeActions.updateLockedType(lockedType));\n }\n };\n};\n\nclass SecurityQuestion extends Component {\n constructor(props) {\n super();\n this.state = {\n answer: \"\",\n answerWarningMsg: null,\n securityQuestionObj: {}\n };\n if (props.storeThis) {\n props.storeThis(\"SecurityQuestion\", this);\n }\n window.tealiumHub.PT016();\n }\n handleChange = e => {\n const { name, value } = e.target;\n this.setState({\n [name]: value,\n answerWarningMsg: null\n });\n };\n successCallback = res => {\n this.props.jumpTo(\"CONTACT_OPTIONS\");\n };\n failCallback = res => {\n if (res.status === 503) {\n this.accountLocked();\n }\n };\n\n accountLocked = () => {\n this.props.updateUserLockedType(\"QUESTION\");\n console.log(\n \"account is locked but SecurityQuestion DONT REACT TO THIS\"\n );\n };\n validateInput = () => {\n const { answer } = this.state;\n let validationFailMsg =\n longerThan(\n answer,\n 3,\n this.props.intl.formatMessage({\n id: \"securityQuestion.name\"\n })\n ) ||\n lessThan(\n answer,\n 30,\n this.props.intl.formatMessage({\n id: \"securityQuestion.name\"\n })\n );\n if (validationFailMsg) {\n validationFailMsg = this.props.intl.formatMessage({\n id: \"securityQuestion.warning.incorrect\"\n });\n } else {\n const quesion1Obj = window.com.ts.mobile.sdk.SecurityQuestionAndAnswer.createAnswerToQuestion(\n this.state.securityQuestionObj,\n window.com.ts.mobile.sdk.SecurityQuestionAnswer.createWithText(\n this.state.answer\n )\n );\n const inputResponse = window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n window.com.ts.mobile.sdk.SecurityQuestionInputResponse.createSecurityQuestionAnswersInputResponse(\n [quesion1Obj]\n )\n );\n this.props.isLoading(true);\n this.acceptFN(inputResponse);\n this.securityQuestionComp.clearValue();\n }\n this.setState(previousState => {\n return {\n ...previousState,\n answerWarningMsg: validationFailMsg\n };\n });\n };\n\n submitAnswer = () => {\n this.validateInput();\n window.tealiumHub.ET036(\"securityQuestion.label.submit\");\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevProps.error !== this.props.error) {\n console.log(this.props.error);\n if (this.props.error === 5) {\n window.tealiumHub.ET037(\"securityQuestion.warning.incorrect\");\n }\n }\n if (prevState.answerWarningMsg !== this.state.answerWarningMsg) {\n if (this.state.answerWarningMsg) {\n window.tealiumHub.ET037(this.state.answerWarningMsg);\n }\n }\n }\n\n render() {\n const { answerWarningMsg } = this.state;\n let answerErrorComp = null;\n let lastAttemptComp = null;\n\n if (answerWarningMsg !== null && answerWarningMsg) {\n answerErrorComp = (\n \n );\n }\n\n if (this.props.isLastAttempt && !answerErrorComp) {\n lastAttemptComp = (\n \n \n \n );\n }\n\n const textId =\n `SecurityQuestion.Question.` + this.state.securityQuestionObj._id;\n const text = this.props.intl.formatMessage({ id: textId });\n return (\n \n \n
{text}
\n {\n if (!touched) {\n window.tealiumHub.ET035();\n }\n }}\n onRef={comp => (this.securityQuestionComp = comp)}\n />\n {lastAttemptComp}\n
\n \n );\n }\n\n startSession = () => {\n console.log(\"startSession\");\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n promiseInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n endSession = () => {\n console.log(\"=======Security Session END=======\");\n };\n\n onContinue = payload => {\n console.log(\n \"SecurityQuestion :: onContinue \",\n this.constructor.name,\n payload\n );\n\n if (payload) {\n this.props.isLoading(false);\n }\n };\n onError = payload => {\n console.log(\"onError \", this.constructor.name, payload);\n history.push({\n pathname: \"/globalError/noConnection?step=029\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n setInputStep = (currentStepIndex, maxStep, currentStep) => {\n this.props.isLoading(false);\n const securityQuestionObj = currentStep.getSecurityQuestions()[0];\n this.setState({\n securityQuestionObj,\n answer: \"\"\n });\n };\n promiseRecoveryForError = (\n errorObject,\n validRecoveries,\n defaultRecovery\n ) => {\n console.log(\n \"ResetPasswordSecurityQuestion:: ERROR!!\",\n errorObject,\n validRecoveries,\n defaultRecovery\n );\n console.log(\"=======STORE SEQ STATUS==========\");\n this.props.isLoading(false);\n\n this.accountLocked();\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery\n .SelectAuthenticator\n );\n };\n}\nconst SecurityQuestionContainer = styled.div`\n padding-bottom: 40px;\n .content--main {\n line-height: 24px;\n margin-top: 30px;\n margin-bottom: 7px;\n }\n input {\n height: 40px;\n color: ${color.text_color_dark};\n }\n .block--warning-msg {\n p {\n font-size: 14px !important;\n }\n }\n`;\nconst DisplayLastAttamptContainer = styled.div.attrs({\n className: \"last--attempt--reset--poassword--contianer\"\n})`\n \n margin-bottom: 20px;\n .hsbc-ui.notification.inline{\n padding:0px !important; \n p{\n font-size:14px !important;\n }\n }\n }\n `;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(SecurityQuestion));\n","import styled from \"styled-components\";\nimport React, { Component } from \"react\";\nimport { color } from \"util/color\";\n\nexport default class Loading extends Component {\n constructor(props) {\n super(props);\n this.state = {\n strokeDasharrayLength: 1,\n strokeDasharrayPercentage: 200,\n strokeDashoffset: 0\n };\n }\n\n animationLoader = () => {\n if (\n this.state.strokeDasharrayLength >= 90 &&\n this.state.strokeDashoffset < -124\n ) {\n this.setState({\n strokeDasharrayLength: 1\n });\n }\n if (this.state.strokeDashoffset <= -125) {\n this.setState({\n strokeDashoffset: 0\n });\n }\n const strokeDasharrayLength = this.state.strokeDasharrayLength + 1;\n const strokeDashoffset = this.state.strokeDashoffset - 1;\n this.setState({\n strokeDasharrayLength,\n strokeDashoffset\n });\n requestAnimationFrame(this.animationLoader);\n };\n\n componentDidMount() {\n this.animationLoader();\n }\n\n render() {\n return (\n \n
\n \n \n \n
\n \n );\n }\n}\n\nconst Showbox = styled.div`\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, .14);\n background-color: #fff;\n color: ${color.text_color_dark};\n height: ${props => props.dialogHeight || \"auto\"}\n position: relative;\n @media (max-width: 320px) {\n margin: 20px;\n padding: 14px;\n width: 280px;\n }\n @media (min-width: 321px) and (max-width: 413px) {\n margin: 20px;\n padding: 14px\n width: 335px;\n }\n @media (min-width: 414px) and (max-width: 768px) {\n margin: 20px;\n padding: 50px 50px 40px 50px;\n width: 374px;\n }\n @media (min-width: 769px) {\n padding: 50px 50px 40px 50px;\n margin-left: 0px;\n width: ${props => props.dialogWidth || \"454px\"};\n max-width: ${props => props.dialogWidth || \"454px\"};\n }\n @media (min-width: 769px) and (max-width: 2898px) {\n margin: 20px 0px 0px 0px;\n }\n @media (min-width: 898px) and (max-width: 907px) {\n margin-bottom: 0px;\n }\n`;\n","export function sendCodeIsLoading(bool) {\n return {\n type: \"SEND_CODE_LOADING\",\n isLoading: bool\n };\n}\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport GenericOTP from \"components/OTPVerify/GenericOTP\";\nimport StepCreatePassword from \"components/ResetPassword/StepCreatePassword\";\nimport ForgotPassword from \"components/ResetPassword/ForgotPassword\";\nimport SecurityQuestion from \"components/ResetPassword/SecurityQuestion\";\nimport Loading from \"components/common/Loading\";\nimport { changeIdleTimeOutValid } from \"util/service\";\nimport { connect } from \"react-redux\";\nimport { injectIntl } from \"react-intl\";\nimport { languageActions } from \"actions/languageAction\";\nimport { sendCodeIsLoading } from \"actions/sendCodeAction\";\n\nconst mapStateToProps = state => {\n return {\n error: state.logon.error\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n sendCodeIsLoading: payload => dispatch(sendCodeIsLoading(payload)),\n hideSelectOption: isHideLanguageSelect =>\n dispatch(languageActions.hideSelectOption(isHideLanguageSelect))\n };\n};\n\nclass Registration extends Component {\n constructor(props) {\n super(props);\n this.state = {\n step: \"FORGOT_PASSWORD\"\n };\n this.mappedStepToComponent = this.mappingStepToComponent();\n this.loadedComponents = {};\n }\n\n mappingStepToComponent = () => {\n return [\n {\n step: \"FORGOT_PASSWORD\",\n component: (\n \n )\n },\n {\n step: \"SECURITY_QUESTION\",\n component: (\n \n )\n },\n {\n step: \"GENERIC_OTP\",\n component: (\n \n )\n },\n {\n step: \"CREATE_PASSWORD\",\n component: (\n \n )\n }\n ];\n };\n storeThis = (name, that) => {\n this.loadedComponents[name] = that;\n };\n componentDidMount() {\n this.props.sendCodeIsLoading(false);\n this.jumpTo(\"FORGOT_PASSWORD\");\n this.props.afterLoad(this.loadedComponents, this);\n changeIdleTimeOutValid(true);\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.currentStep !== this.state.step) {\n this.setState((prevState, props) => {\n return { ...prevState, step: nextProps.currentStep };\n });\n }\n }\n jumpTo = step => {\n const renderedComponent = _.find(\n this.mappedStepToComponent,\n item => step === item.step\n );\n this.setState({\n renderedComponent: renderedComponent.component\n });\n };\n render() {\n if (!this.state.renderedComponent) {\n return ;\n }\n return (\n
\n {this.state.renderedComponent}\n {\"\"}\n
\n );\n }\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(Registration));\n","export const registrationActions = {\n validateDetailsIsLoading,\n resetDetailsError\n};\n\nfunction validateDetailsIsLoading(bool) {\n return {\n type: \"VALIDATE_DETAILS_LOADING\",\n isLoading: bool\n };\n}\n\nfunction resetDetailsError() {\n return {\n type: \"RESET_DETAILS_ERROR\"\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport { connect } from \"react-redux\";\nimport { history } from \"util/history\";\nimport { logonActions } from \"actions/logonAction\";\nimport { registrationActions } from \"actions/registrationDetailAction\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\n\nconst fieldValidationRegEx = {\n UKLN: /^[a-zA-Z0-9]{10,20}$/,\n birthDay: /0[1-9]|[1-2][0-9]|3[0-1]/,\n birthMonth: /0[1-9]|1[0-2]/,\n birthYear: /^[1-2][0-9]{3}$/\n};\n\nconst mapStateToProps = state => {\n return {\n terms: state.logon.terms,\n disableContinue: state.registrationDetails.isLoading\n };\n};\nconst birthDateOrder = {\n \"en-US\": [\"birthMonth\", \"birthDay\", \"birthYear\"],\n default: [\"birthDay\", \"birthMonth\", \"birthYear\"]\n};\nconst mapDispatchToProps = dispatch => {\n return {\n logonFeachTerms: () => dispatch(logonActions.logonFeachTerms()),\n isLoading: payload =>\n dispatch(registrationActions.validateDetailsIsLoading(payload))\n };\n};\n\nclass EnterDetails extends Component {\n constructor(props) {\n super(props);\n this.state = {\n enableAcceptButton: true,\n registrationWarningMsg: \"\",\n count: 0,\n firstNameValid: null,\n lastNameValid: null,\n UKLNValid: null,\n birthDayValid: null,\n birthMonthValid: null,\n birthYearValid: null,\n firstName: \"\",\n lastName: \"\",\n UKLN: \"\",\n birthDay: \"\",\n birthMonth: \"\",\n birthYear: \"\"\n };\n this.termsContentRef = React.createRef();\n this.verifyAttempts = 0;\n this.countDown = null;\n if (props.storeThis) {\n props.storeThis(\"EnterDetails\", this);\n }\n this.dateBirthSort =\n birthDateOrder[envConfig.locale] || birthDateOrder[\"default\"];\n }\n\n componentDidMount() {\n window.tealiumHub.PT009();\n this.props.logonFeachTerms();\n }\n\n startTimer = reDuration => {\n let startCount = reDuration ? reDuration : this.state.count;\n if (startCount > 0) {\n startCount -= 1;\n this.setState(previousState => {\n return {\n ...previousState,\n count: startCount,\n enableAcceptButton: false\n };\n });\n }\n\n this.countDown = setInterval(() => {\n startCount -= 1;\n if (startCount > 0) {\n this.setState({ count: startCount });\n } else {\n this.setState(previousState => {\n return {\n ...previousState,\n count: startCount,\n registrationWarningMsg: \"\",\n enableAcceptButton: true\n };\n });\n clearInterval(this.countDown);\n this.verifyAttempts = 2;\n }\n }, 1000);\n };\n\n setVerifyAttempts = () => {\n this.verifyAttempts += 1;\n if (this.state.enableAcceptButton && this.verifyAttempts === 3) {\n this.startTimer(60);\n }\n };\n\n submit = () => {\n window.tealiumHub.ET016(\"registration.submit\");\n this.validate();\n };\n\n setRegistrationWarningMsg = res => {\n this.setState(previousState => {\n return {\n ...previousState,\n registrationWarningMsg: res.statusText\n };\n });\n };\n\n successCallback = res => {\n if (res.errorType === \"success\") {\n this.setState(previousState => {\n return {\n ...previousState,\n registrationWarningMsg: \"\"\n };\n });\n\n this.props.jumpTo(\"CREATE_USERNAME_PASSWORD\");\n } else if (res.errorType === \"registrated\") {\n history.push(\"/logon\");\n } else if (res.errorType === \"incorrect3\") {\n this.setRegistrationWarningMsg(res);\n this.startTimer(60);\n } else if (res.errorType === \"incorrect\") {\n this.setVerifyAttempts();\n this.setRegistrationWarningMsg(res);\n }\n };\n\n failCallback = res => {\n this.setVerifyAttempts();\n if (\n res.statusText.indexOf(\"not recognise\") >= 0 ||\n res.statusText.indexOf(\"我们未识别出\") >= 0 ||\n res.statusText.indexOf(\"我們未能辨析\") >= 0 ||\n res.statusText.indexOf(\"reconnaissons pas\") >= 0\n ) {\n this.setState(previousState => {\n return {\n ...previousState,\n registrationWarningMsg:\n \"enterDetails.warning.aria.infoError\"\n };\n });\n }\n };\n\n onChange = event => {\n const { target } = event;\n const { value, name } = target;\n const autoFocus = () => {\n const nextIndex = this.dateBirthSort.indexOf(name) + 1;\n const nextInputComp = this.dateBirthSort[nextIndex];\n if (nextInputComp) {\n this.birthDateRefs[nextInputComp].getSelfFocused();\n }\n };\n if ([\"birthDay\", \"birthMonth\", \"birthYear\"].indexOf(name) >= 0) {\n switch (name) {\n case \"birthDay\":\n case \"birthMonth\":\n if (value.length >= 2) {\n autoFocus();\n }\n break;\n case \"birthYear\":\n {\n if (value.length >= 4) {\n autoFocus();\n }\n }\n break;\n }\n }\n this.setState((previousState, currentProps) => {\n return {\n ...previousState,\n [name]: value,\n registrationWarningMsg: \"\"\n };\n });\n };\n componentWillUnmount = () => {\n if (this.props.disableContinue) {\n this.props.isLoading(false);\n }\n };\n validateDateOfBirth = (name, value) => {\n switch (name) {\n case \"birthDay\": {\n if (value > 31 || value.length > 2) {\n return false;\n }\n break;\n }\n case \"birthMonth\": {\n if (value > 12 || value.length > 2) {\n return false;\n }\n break;\n }\n case \"birthYear\": {\n if (value > new Date().getFullYear() || value.length > 4) {\n return false;\n }\n break;\n }\n }\n return true;\n };\n\n validate = () => {\n this.setState((previousState, currentProps) => {\n let newState = { ...previousState };\n const allFieldArr = Object.keys(fieldValidationRegEx);\n allFieldArr.forEach(item => {\n const result = fieldValidationRegEx[item].test(\n previousState[item]\n );\n newState = {\n ...newState,\n [`${item}Valid`]: result\n };\n });\n const alldFieldIsValid = allFieldArr.every(\n item => newState[`${item}Valid`]\n );\n if (alldFieldIsValid) {\n const {\n firstName,\n lastName,\n UKLN,\n birthDay,\n birthMonth,\n birthYear\n } = this.state;\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n firstname: firstName,\n surname: lastName,\n dateofbirth: `${birthYear}-${birthMonth}-${birthDay}`,\n avaloqid: UKLN\n }\n );\n this.props.isLoading(true);\n this.acceptFN(formInput);\n } else {\n console.log(\n \"Fields have error::Will not send the user data to transmit.\"\n );\n this.setVerifyAttempts();\n newState = {\n ...newState,\n registrationWarningMsg:\n \"enterDetails.warning.aria.infoError\"\n };\n }\n return newState;\n });\n };\n\n birthDateRefs = {};\n\n render() {\n const birthdateComps = {\n birthDay: (\n {\n if (!touched) {\n window.tealiumHub.ET015(\"dob day\");\n }\n }}\n onRef={comp => (this.birthDateRefs.birthDay = comp)}\n />\n ),\n birthMonth: (\n {\n if (!touched) {\n window.tealiumHub.ET015(\"dob month\");\n }\n }}\n onRef={comp => (this.birthDateRefs.birthMonth = comp)}\n />\n ),\n birthYear: (\n {\n if (!touched) {\n window.tealiumHub.ET015(\"dob year\");\n }\n }}\n onRef={comp => (this.birthDateRefs.birthYear = comp)}\n />\n )\n };\n\n return (\n \n \n \n {this.state.count}\n \n

\n ) : null\n }\n dialogWidth=\"454px\"\n onConfirmationClick={this.submit}\n confirmationBtnTitle=\"registration.submit\"\n confirmationBtnDisabled={!this.state.enableAcceptButton}\n disabledButton={this.props.disableContinue || false}\n hideButton={this.state.count ? true : false}\n >\n
\n \n \n {this.props.intl.formatMessage({\n id: \"enterDetails.label.subTitle\"\n })}\n \n

\n\n
\n {this.state.registrationWarningMsg ? (\n \n ) : null}\n
\n {\n if (!touched) {\n window.tealiumHub.ET015(\"client ID\");\n }\n }}\n />\n\n {\n if (!touched) {\n window.tealiumHub.ET015(\"first name\");\n }\n }}\n />\n\n {\n if (!touched) {\n window.tealiumHub.ET015(\"last name\");\n }\n }}\n />\n\n

\n \n

\n\n {birthdateComps[this.dateBirthSort[0]]}\n\n - \n\n {birthdateComps[this.dateBirthSort[1]]}\n\n - \n\n {birthdateComps[this.dateBirthSort[2]]}\n
\n \n
\n );\n }\n\n startSession = () => {\n console.log(\"startSession\");\n };\n\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n\n endSession() {\n console.log(\"endSession\");\n }\n\n promiseRecoveryForError = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n };\n\n onContinue = payload => {\n this.props.isLoading(false);\n if (payload) {\n if (payload.reason === \"USER_NOT_MATCHED\") {\n this.failCallback({\n errorStatus: 204,\n statusText: this.props.intl.formatMessage({\n id: \"enterDetails.warning.continueFail\"\n })\n });\n }\n }\n };\n onError = () => {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=022\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n onFatal = () => {\n console.log(\"onFatal\");\n };\n}\n\nconst EnterDetailsContainer = styled.div`\n .contentmodal--content {\n .enterdetails-content {\n .enterdetails-ulk-prefix {\n display: inline-block;\n border: solid 1px;\n line-height: 41px;\n -webkit-logical-height: 45px;\n vertical-align: bottom;\n border-right: 0px;\n color: grey;\n width: 69px;\n text-align: center;\n font-size: 14px;\n color: #333;\n border-color: grey;\n }\n .enterdetails-input-label {\n margin-top: 20px;\n font-size: 16px;\n line-height: 19px;\n }\n .enterdetails-input {\n margin-top: 10px;\n width: 240px;\n }\n .enterdetails-ulk-input {\n margin-top: 10px;\n display: inline-block;\n width: 240px;\n }\n .enterdetails-firstname-label {\n margin-top: 20px;\n }\n .enterdetails-birthdate-input {\n width: 68px;\n display: inline-block;\n font-size: 14px;\n input::-webkit-input-placeholder {\n color: #333;\n }\n }\n .error-comp {\n margin-top: 2px;\n .error-text {\n display: inline-block;\n margin-left: 5px;\n width: 215px;\n }\n .icon--triangle-error {\n font-size: 20px;\n vertical-align: top;\n }\n }\n }\n .enterdetails-content-p1 {\n margin-top: 30px;\n color: #252525;\n font-size: 16px;\n font-weight: 300;\n line-height: 24px;\n }\n .enterdetails-birthdate-dash {\n margin: 0 2px;\n }\n }\n .contentmodal--footer {\n margin-top: 30px;\n text-align: right;\n }\n p {\n margin-bottom: 10px;\n &.count--down {\n text-align: left;\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(EnterDetails));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport { connect } from \"react-redux\";\nimport { logonActions } from \"actions/logonAction\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport messages from \"util/messages\";\nimport { envConfig } from \"env-config\";\nimport _ from \"lodash\";\nimport { Accordion } from \"hsbc-pb-sdk\";\n\nconst mapStateToProps = state => {\n return {\n terms: state.logon.terms,\n disabledTerms: state.logon.disableTermsBtn,\n selectedLang: state.languageSession.selectedLang\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n logonFeachTerms: () => dispatch(logonActions.logonFeachTerms()),\n disableTermsBtn: payload =>\n dispatch(logonActions.disableTermsBtn(payload))\n };\n};\n\nclass AcceptTerms extends Component {\n constructor(props) {\n super(props);\n this.state = {\n enableAcceptButton: false,\n activeExpandListIndex: []\n };\n this.termsContentRef = React.createRef();\n if (props.storeThis) {\n props.storeThis(\"AcceptTerms\", this);\n }\n }\n\n componentDidMount() {\n window.tealiumHub.PT008();\n this.props.logonFeachTerms();\n setTimeout(() => {\n document.getElementById(\"hsbcLogo\").focus();\n }, 1000);\n sessionStorage.removeItem(\"isRegistration\");\n }\n\n isActive = index => _.includes(this.state.activeExpandListIndex, index);\n\n handleClickMultiple = index => {\n let activeIndexList = this.state.activeExpandListIndex;\n activeIndexList = _.includes(activeIndexList, index)\n ? _.without(activeIndexList, index)\n : _.concat(activeIndexList, index);\n this.setState({ activeExpandListIndex: activeIndexList });\n };\n\n scrollDownDetect = () => {\n const o = this.termsContentRef.current;\n if (\n o.offsetHeight + o.scrollTop === o.scrollHeight &&\n !this.state.enableAcceptButton\n ) {\n this.setState({\n enableAcceptButton: true\n });\n }\n };\n\n submit = () => {\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n version: envConfig.tcVersion,\n date: new Date()\n }\n );\n this.props.disableTermsBtn(true);\n window.tealiumHub.ET014(\"acceptTerms.label.accept\");\n this.acceptFN(formInput);\n };\n\n componentWillMount() {\n this.props.disableTermsBtn(false);\n }\n render() {\n const splitedParagraphArray = this.props.terms.termText.split(\"\\n\");\n splitedParagraphArray.map((item, i) => (\n

\n {item}\n

\n ));\n\n const isInUS = envConfig.realm === \"US\" ? true : false;\n const isInCH = envConfig.realm === \"CH\" ? true : false;\n\n const selectedCnLang =\n this.props.selectedLang &&\n this.props.selectedLang.indexOf(\"zh\") !== -1;\n\n let registrationTerms =\n messages[this.props.selectedLang].registrationTerms;\n\n if (envConfig.realm === \"LU\") {\n registrationTerms =\n messages[this.props.selectedLang].registrationTermsLUX;\n } else if (envConfig.realm === \"CH\") {\n registrationTerms =\n messages[this.props.selectedLang].registrationTermsCH;\n }\n\n return (\n \n \n
\n \n {registrationTerms.map((item, index) => (\n
\n \n this.handleClickMultiple(index)\n }\n active={this.isActive(index)}\n />\n \n
\n \n
\n ))}\n \n {envConfig.realm === \"UK\" ? (\n
\n \n
\n ) : (\n \"\"\n )}\n
\n \n \n );\n }\n startSession = () => {\n console.log(\"startSession\");\n };\n\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n\n endSession = () => {\n console.log(\"endSession\");\n };\n\n onContinue = payload => {\n console.log(\"onContinue\");\n };\n\n onError = payload => {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=009\",\n state: { errorCode: \"noConnection\" }\n });\n };\n}\n\nconst AcceptTermsContainer = styled.div`\n position: relative;\n .responsive-padding {\n padding: 30px 50px 20px 50px;\n @media (max-width: 414px) {\n padding: 26px 20px 20px 20px;\n }\n }\n .reg-t-c-modal {\n @media (min-width: 1366px) {\n width: 1024px !important;\n }\n @media (min-width: 768px) and (max-width: 1365px) {\n width: 768px !important;\n }\n @media (min-width: 768px) and (max-width: 1023px) {\n width: 650px !important;\n }\n }\n .terms-content {\n margin-top: 30px;\n overflow-y: auto;\n overflow-x: hidden;\n\n @media (max-width: 320px) {\n min-height: 185px;\n }\n @media (min-width: 321px) and (max-width: 768px) {\n min-height: 300px;\n }\n @media (min-width: 769px) {\n height: ${props => {\n if (props.isInUS) {\n return \"238px\";\n }\n return props.selectedCnLang ? \"303px\" : \"268px\";\n }};\n }\n @media (min-width: 1024px) {\n height: 400px;\n }\n color: #252525;\n font-size: 14px;\n line-height: 17px;\n .terms-content-paragraph {\n margin-bottom: 17px;\n }\n .hsbc-ui.accordion .header .angle.icon {\n color: rgb(118, 118, 118);\n font-size: 22px;\n }\n }\n\n .alm-onboard-tip {\n margin-top: 15px;\n font-size: 16px;\n line-height: 24px;\n }\n\n .contentmodal--header {\n font-size: 28px;\n font-weight: 100;\n font-family: UniversNextForHSBC, Helvetica Neue, Helvetica, Arial,\n sans-serif;\n line-height: 36px;\n margin: 0px;\n text-indent: 0;\n .title--wrapper {\n display: inline-block;\n }\n span {\n font-family: UniversNextForHSBC, Helvetica Neue, Helvetica, Arial,\n sans-serif;\n font-weight: 100;\n }\n }\n\n .contentmodal--footer {\n .terms-declinebtn {\n cursor: pointer;\n height: 46px;\n padding: 0 20px;\n font-size: 16px;\n line-height: 17px;\n border: none;\n align-self: flex-end;\n background-color: ${color.white};\n color: ${color.text_color_dark};\n border: 1px solid #767676;\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(AcceptTerms));\n","export const createUserNameActions = {\n createUserNameIsLoading\n};\n\nfunction createUserNameIsLoading(bool) {\n return {\n type: \"CREATE_USERNAME_LOADING\",\n isLoading: bool\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport { connect } from \"react-redux\";\nimport { createUserNameActions } from \"actions/createUserNameAction\";\nimport _ from \"lodash\";\nimport { usernameCommonValidate, createPasswordValidate } from \"util/validator\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport { encryptPassword } from \"util/service\";\n\nconst mapStateToProps = state => {\n return {\n terms: state.logon.terms,\n phoneindex: _.get(state.currentOTPType, \"target._channelIndex\", false),\n isLoading: state.createUsername.isLoading\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n disableCreateUsernameBtn: payload =>\n dispatch(createUserNameActions.createUserNameIsLoading(payload))\n };\n};\n\nclass CreateUsernamePassword extends Component {\n constructor(props) {\n super(props);\n this.state = {\n username: \"\",\n firstPassword: \"\",\n secondPassword: \"\",\n usernamelegalMsg: \"\",\n firstPasswordlegalMsg: \"\",\n secondPasswordlegalMsg: \"\"\n };\n this.firstPasswordComp = null;\n this.secondPasswordComp = null;\n this.usernameComp = null;\n this.errorShowType = \"\";\n if (props.storeThis) {\n props.storeThis(\"CreateUsernamePassword\", this);\n }\n }\n\n componentDidMount() {\n window.tealiumHub.PT012();\n }\n\n submit = () => {\n window.tealiumHub.ET024(\"registration.submit\");\n const { firstPassword } = this.state;\n const firstPasswordlegalMsg = this.validateFirstInput();\n const secondPasswordlegalMsg = this.validateSecondInput();\n const encrypted =\n this.e2eState === \"enabled\"\n ? encryptPassword(firstPassword, this.e2ePublicKey)\n : firstPassword;\n if (!secondPasswordlegalMsg && !firstPasswordlegalMsg) {\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n password: encrypted\n }\n );\n this.props.disableCreateUsernameBtn(true);\n this.acceptFN(formInput);\n }\n };\n\n successCallback = res => {\n if (res.errorType === \"success\") {\n this.errorShowType = \"\";\n this.setState(previousState => {\n return {\n ...previousState,\n usernameilegalMsg: \"\"\n };\n });\n this.props.jumpTo(\"CREATE_SECURITY_QUESTION\");\n } else if (res.errorType === \"notUnique\") {\n this.errorShowType = \"yellow\";\n this.setState(previousState => {\n return {\n ...previousState,\n usernamelegalMsg: res.statusText\n };\n });\n } else if (res.errorType === \"incorrect\") {\n this.failCallback(res);\n }\n };\n\n failCallback = res => {\n this.setState(previousState => {\n return {\n ...previousState,\n userWarningMsg: res.statusText\n };\n });\n };\n\n handleChange = event => {\n const { target } = event;\n const { value, name } = target;\n this.setState((previousState, currentProps) => {\n return {\n ...previousState,\n [name]: value,\n [`${name}legalMsg`]: \"\"\n };\n });\n };\n\n validateUsernameInput = () => {\n this.errorShowType = \"\";\n const { username } = this.state;\n const validateResult = usernameCommonValidate(username, \"username\");\n this.setState(previousState => {\n return {\n ...previousState,\n usernamelegalMsg: validateResult\n };\n });\n if (validateResult) {\n this.usernameComp.clearValue();\n }\n return validateResult;\n };\n\n validateFirstInput = () => {\n const { firstPassword } = this.state;\n const firstPasswordlegalMsg = createPasswordValidate(firstPassword, {\n userName: this.state.username\n });\n this.setState(previousState => {\n return { ...previousState, firstPasswordlegalMsg };\n });\n return firstPasswordlegalMsg;\n };\n\n validateSecondInput = () => {\n const isSame = this.state.secondPassword === this.state.firstPassword;\n const newfirstPassword = isSame ? this.state.firstPassword : \"\";\n const newSecondPassword = isSame ? this.state.secondPassword : \"\";\n const secondMsg = isSame\n ? \"\"\n : \"createUsernamePassword.warning.secondMsg\";\n if (!isSame) {\n this.firstPasswordComp.clearValue();\n this.secondPasswordComp.clearValue();\n this.firstPasswordComp.getSelfFocused();\n }\n const secondPasswordlegalMsg = secondMsg;\n this.setState({\n secondPasswordlegalMsg: secondMsg,\n firstPassword: newfirstPassword,\n secondPassword: newSecondPassword\n });\n\n return secondPasswordlegalMsg;\n };\n\n submitUserName = () => {\n const { username } = this.state;\n const usernamelegalMsg = this.validateUsernameInput();\n if (usernamelegalMsg) {\n return;\n }\n const { phoneindex = 0 } = this.props;\n const formInput = window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n alias: username.toLowerCase(),\n phoneindex\n }\n );\n this.props.disableCreateUsernameBtn(true);\n this.acceptFN(formInput);\n };\n\n getWarningMsg = (msg, ids, errorType) => {\n window.tealiumHub.ET025(msg);\n return (\n \n );\n };\n\n getElement = () => {\n return (\n
\n

\n \n

\n\n

\n \n \n {this.props.intl.formatMessage({\n id: \"createUsernamePassword.label.firstPassword\"\n })}\n \n \n

\n\n

\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional\"\n })}\n \n \n

\n

    \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content1\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content2\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content3\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content4\"\n })}\n \n \n {this.props.intl.formatMessage({\n id:\n \"createUsernamePassword.aria.label.firstPassword.additional.content5\"\n })}\n \n
\n \n

\n

\n
\n );\n };\n\n getUsernameCom = () => {\n let usernameErrorComp = null;\n if (this.state.usernamelegalMsg) {\n usernameErrorComp = this.getWarningMsg(\n this.state.usernamelegalMsg,\n \"username_error\",\n true\n );\n }\n return (\n (this.usernameComp = comp)}\n disabled={this.state.shouldShowPasswordPasrt}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET023(\"username\");\n }\n }}\n />\n );\n };\n\n getFirstPasswordCom = () => {\n let firstErrorComp = null;\n if (this.state.firstPasswordlegalMsg) {\n firstErrorComp = this.getWarningMsg(\n this.state.firstPasswordlegalMsg,\n \"firstPassword_error\",\n false\n );\n }\n return (\n (this.firstPasswordComp = comp)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET023(\"password\");\n }\n }}\n />\n );\n };\n\n getSecondPasswordCom = () => {\n let secondErrorComp = null;\n if (this.state.secondPasswordlegalMsg) {\n secondErrorComp = this.getWarningMsg(\n this.state.secondPasswordlegalMsg,\n \"secondPassword_error\",\n false\n );\n }\n\n return (\n (this.secondPasswordComp = comp)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET023(\"reenter password\");\n }\n }}\n />\n );\n };\n\n getWarningMsgCom = () => {\n let userWarningMsgErrorComp = null;\n if (this.state.userWarningMsg) {\n userWarningMsgErrorComp = this.getWarningMsg(\n this.state.userWarningMsg,\n \"user_error\",\n true\n );\n }\n return userWarningMsgErrorComp;\n };\n\n render() {\n const { shouldShowPasswordPasrt } = this.state;\n\n return (\n \n \n
\n \n \n {this.props.intl.formatMessage({\n id: \"createUsernamePassword.label.subTitle\"\n })}\n \n

\n {this.getUsernameCom()}\n {this.state.shouldShowPasswordPasrt ||\n this.props.testShouldShowPasswordPasrt ? (\n
\n {this.getElement()}\n {this.getFirstPasswordCom()}\n {this.getSecondPasswordCom()}\n
{this.getWarningMsgCom()}
\n
\n ) : (\n \"\"\n )}\n
\n \n
\n );\n }\n\n e2ePublicKey = null;\n startSession = payload => {\n this.props.disableCreateUsernameBtn(false);\n if (this.state.shouldShowPasswordPasrt === false) {\n if (payload.jsonData) {\n this.e2ePublicKey = payload.jsonData.e2ePublicKey;\n this.e2eState = payload.jsonData.E2EE_State;\n if (this.e2eState === \"enabled\" && !this.e2ePublicKey) {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=018\",\n state: { errorCode: \"noConnection\" }\n });\n }\n } else {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=019\",\n state: { errorCode: \"noConnection\" }\n });\n }\n this.setState({\n shouldShowPasswordPasrt: true\n });\n } else {\n this.setState({\n shouldShowPasswordPasrt: false\n });\n }\n };\n\n endSession() {\n console.log(\"endSession\");\n }\n\n setUsernameMsg = () => {\n this.setState(previousState => {\n return {\n ...previousState,\n usernamelegalMsg:\n \"createUsernamePassword.warning.usernamelegalMsg\"\n };\n });\n };\n\n onContinue = payload => {\n this.props.disableCreateUsernameBtn(false);\n if (payload.status === \"DUPLICATE_USERNAME\") {\n this.errorShowType = \"yellow\";\n this.setUsernameMsg();\n }\n if (payload.status === \"INCORRECT_PASSWORD_FORMAT\") {\n this.errorShowType = \"yellow\";\n this.setState(previousState => {\n return {\n ...previousState,\n firstPasswordlegalMsg:\n \"createUsernamePassword.warning.incorrectPasswordFormat\"\n };\n });\n }\n };\n\n onError = payload => {\n this.props.disableCreateUsernameBtn(false);\n if (!payload) {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=020\",\n state: { errorCode: \"noConnection\" }\n });\n }\n if (payload.status === \"ALREADY_REGISTERED\") {\n this.setUsernameMsg();\n } else if (payload.status === \"INCORRECT_USERNAME_FORMAT\") {\n this.setState(previousState => {\n return {\n ...previousState,\n usernamelegalMsg:\n \"createUsernamePassword.warning.incorrectUserNameFormat\" // to be changed\n };\n });\n } else {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=021\",\n state: { errorCode: \"noConnection\" }\n });\n }\n };\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers = (acceptFN, rejectFN) => {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n };\n promiseRecoveryForError = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n };\n}\n\nconst CreateUsernamePasswordContainer = styled.div`\n .contentmodal--content {\n .create-username-password-content {\n .create-username-password-input-label {\n margin-top: 20px;\n font-size: 16px;\n line-height: 19px;\n }\n .create-username-password-input {\n margin-top: 10px;\n input {\n width: 230px;\n }\n }\n .createUsernamePassword-firstpassword-label {\n margin-top: 50px;\n }\n .create--password--header {\n font-size: 28px;\n font-weight: 100;\n line-height: 36px;\n }\n }\n .create-username-password-content-p1 {\n margin-top: 30px;\n color: #252525;\n font-size: 16px;\n font-weight: 300;\n line-height: 24px;\n }\n\n .create-username-password-content-p2 {\n margin-top: -5px;\n color: #252525;\n font-size: 16px;\n font-weight: 300;\n line-height: 24px;\n &-child {\n margin-top: 0px;\n &-list {\n margin-top: ;\n }\n }\n }\n }\n p {\n margin-bottom: 10px;\n }\n .content-main {\n font-weight: 300;\n line-height: 24px;\n padding-top: 30px;\n padding-bottom: 10px;\n }\n .content-repassword {\n font-weight: normal;\n padding-top: 15px;\n }\n .contentmodal--footer {\n margin-top: 30px;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(CreateUsernamePassword));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport PropTypes from \"prop-types\";\nimport { color } from \"util/color\";\nimport { injectIntl, FormattedMessage } from \"react-intl\";\n\nclass Dropdown extends Component {\n constructor(props) {\n super(props);\n this.state = { value: null };\n this.nodeRef = React.createRef();\n this.openListStause = \"false\";\n }\n componentDidMount() {\n if (this.props.onRef) {\n this.props.onRef(this);\n }\n }\n toggleSelect = () => {\n if (this.openListStause === \"true\") {\n this.props.toggleSelectCallBack(false);\n this.openListStause = \"false\";\n } else {\n this.props.toggleSelectCallBack(true);\n this.openListStause = \"true\";\n }\n\n this.setState(previousState => {\n return {\n ...previousState,\n isShow: !this.state.isShow\n };\n });\n };\n onKeyDown = (event, func) => {\n if (event.keyCode === 32 || event.keyCode === 13) {\n func(event);\n event.preventDefault();\n }\n };\n\n onOptionSelect = e => {\n this.props.onOptionSelect(e);\n };\n\n render() {\n let dropdownList = null;\n if (this.props.optionList) {\n let selectedId = null;\n if (this.props.selectedOption) {\n selectedId = this.props.selectedOption.id;\n }\n dropdownList = this.props.optionList.map(entry => {\n return (\n \n {entry.translated || entry._text}\n \n );\n });\n }\n return (\n \n
\n \n
\n
\n {\n this.onKeyDown(e, this.toggleSelect);\n }}\n ref={this.nodeRef}\n >\n \n {this.props.selectedOption\n ? this.props.selectedOption.translated ||\n this.props.selectedOption._text\n : this.props.intl.formatMessage({\n id: \"Dropdown.Select\"\n })}\n \n \n
\n {\n this.onKeyDown(e, this.onOptionSelect);\n }}\n >\n {dropdownList}\n \n
\n \n );\n }\n}\n\nDropdown.propTypes = {\n content: PropTypes.element,\n buttons: PropTypes.element,\n show: PropTypes.bool,\n onClose: PropTypes.func,\n label: PropTypes.string\n};\n\nconst DropdownContainer = styled.div`\n .dropdown--container {\n position: relative;\n font-size: 14px;\n \n .dropdown--selected {\n display: flex;\n justify-content: space-between;\n \n border: 1px solid grey;\n margin: 0;\n padding: 12px 15px;\n \n span {\n width: 100%;\n }\n i {\n color: grey;\n }\n }\n .show {\n display: inline-block;\n }\n ul {\n list-style: none;\n position: absolute;\n display: none;\n z-index: 1;\n \n width: 100%;\n border: 1px solid grey;\n border-top: 0px;\n margin: 0;\n padding: 12px 15px;\n \n background-color: ${color.white}\n \n text-align: left;\n \n li {\n &:hover {\n background-color: #eee;\n &:active {\n background-color: #aaa;\n border-left: 5px solid ${color.hsbc_red};\n }\n }\n }\n }\n }\n`;\n\nexport default injectIntl(Dropdown);\n","export const securityQuestionListActions = {\n getSecurityQuestionListSuccess,\n securityQuestionBtn\n};\n\nfunction getSecurityQuestionListSuccess(data) {\n return {\n type: \"SECURITY_QUESTION_LIST_SUCCESS\",\n data\n };\n}\n\nfunction securityQuestionBtn(data) {\n return {\n type: \"SECURITY_QUESTION_BTN\",\n data\n };\n}\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\n\nimport { securityQuestionCreateValidate } from \"util/validator\";\nimport { color } from \"util/color\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport WarningMsg from \"components/common/WarningMsg\";\nimport Dropdown from \"components/common/Dropdown\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { securityQuestionListActions } from \"actions/createSecurityQuestionAction\";\nimport { injectIntl } from \"react-intl\";\n\nconst mapStateToProps = state => {\n return {\n securityQuestionList: state.securityQuestionList.securityQuestionList,\n userName: state.createUsername.data.userName,\n disableButton: state.securityQuestionList.securityQuestionBtn\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n getSecurityQuestionListSuccess: questionsArray => {\n dispatch({\n type: \"SECURITY_QUESTION_LIST_SUCCESS\",\n data: questionsArray\n });\n },\n securityQuestionBtn: payload =>\n dispatch(securityQuestionListActions.securityQuestionBtn(payload))\n };\n};\n\nclass CreateSecurityQuestions extends Component {\n constructor(props) {\n super(props);\n this.state = {\n question1: null,\n answer1: null,\n question2: null,\n answer2: null,\n questionList1: null,\n questionList2: null\n };\n this.__questionList1Comp = null;\n this.__questionList2Comp = null;\n if (props.storeThis) {\n props.storeThis(\"createSecurityQuestions\", this);\n }\n }\n\n componentDidMount() {\n window.tealiumHub.PT013();\n }\n\n onChange = event => {\n const { target } = event;\n const { value, name } = target;\n this.setState((previousState, currentProps) => {\n return {\n ...previousState,\n [name]: value\n };\n });\n };\n\n validateAnswer1 = () => {\n const { answer1 } = this.state;\n const validateResult = securityQuestionCreateValidate(answer1, {\n userName: this.props.userName\n });\n this.setState(previousState => {\n return {\n ...previousState,\n answer1WarningMsg: validateResult,\n systemWarningMsg: null\n };\n });\n };\n validateAnswer2 = () => {\n const { answer2 } = this.state;\n const validateResult = securityQuestionCreateValidate(answer2, {\n userName: this.props.userName\n });\n this.setState(previousState => {\n return {\n ...previousState,\n answer2WarningMsg: validateResult,\n systemWarningMsg: null\n };\n });\n };\n onQuestion1Select = e => {\n window.tealiumHub.ET028(\"createSecurityQuestions.label.firstQuestion\");\n const selectedOption = _.find(this.props.securityQuestionList, {\n _id: e.target.value.toString()\n });\n const securityQuestionList2 = _.filter(\n this.props.securityQuestionList,\n item => {\n return String(item._id) !== String(e.target.value);\n }\n );\n this.setState(previousState => {\n return {\n ...previousState,\n securityQuestionList2: securityQuestionList2,\n question1: selectedOption\n };\n });\n this.__questionList1Comp.toggleSelect();\n };\n onQuestion2Select = e => {\n window.tealiumHub.ET028(\"createSecurityQuestions.label.secondQuestion\");\n const selectedOption = _.find(this.props.securityQuestionList, {\n _id: e.target.value.toString()\n });\n const securityQuestionList1 = _.filter(\n this.props.securityQuestionList,\n item => {\n return String(item._id) !== String(e.target.value);\n }\n );\n\n this.setState(previousState => {\n return {\n ...previousState,\n securityQuestionList1: securityQuestionList1,\n question2: selectedOption\n };\n });\n this.__questionList2Comp.toggleSelect();\n };\n successCallback = res => {\n this.props.jumpTo(\"REGISTRATED_SUCCESSFUL\");\n };\n failCallback = res => {\n this.setState(previousState => {\n return {\n ...previousState,\n systemWarningMsg: res.statusText\n };\n });\n };\n\n componentWillReceiveProps(props, next) {\n const questionList1 = [],\n questionList2 = [];\n props.securityQuestionList.map(item => {\n if (item._text.indexOf(\"F-\") !== -1) {\n questionList1.push(item);\n } else {\n questionList2.push(item);\n }\n });\n this.setState({\n questionList1,\n questionList2\n });\n }\n\n submit = () => {\n window.tealiumHub.ET030(\"registration.submit\");\n const {\n question1,\n answer1,\n question2,\n answer2,\n answer1WarningMsg,\n answer2WarningMsg\n } = this.state;\n let systemWarningMsg = null;\n if (!question1) {\n systemWarningMsg = this.props.intl.formatMessage({\n id: \"createSecurityQuestions.warning.firstQuestion\"\n });\n } else if (!answer1) {\n systemWarningMsg = this.props.intl.formatMessage({\n id: \"createSecurityQuestions.warning.firstAnswer\"\n });\n } else if (!question2) {\n systemWarningMsg = this.props.intl.formatMessage({\n id: \"createSecurityQuestions.warning.secondQuestion\"\n });\n } else if (!answer2) {\n systemWarningMsg = this.props.intl.formatMessage({\n id: \"createSecurityQuestions.warning.secondAnswer\"\n });\n }\n this.setState(previousState => {\n return {\n ...previousState,\n systemWarningMsg: systemWarningMsg\n };\n });\n if (!systemWarningMsg && !answer1WarningMsg && !answer2WarningMsg) {\n const quesion1Obj = window.com.ts.mobile.sdk.SecurityQuestionAndAnswer.createAnswerToQuestion(\n this.state.question1,\n window.com.ts.mobile.sdk.SecurityQuestionAnswer.createWithText(\n this.state.answer1\n )\n );\n const quesion2Obj = window.com.ts.mobile.sdk.SecurityQuestionAndAnswer.createAnswerToQuestion(\n this.state.question2,\n window.com.ts.mobile.sdk.SecurityQuestionAnswer.createWithText(\n this.state.answer2\n )\n );\n\n const qa = [quesion1Obj, quesion2Obj];\n const inputResponse = window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n window.com.ts.mobile.sdk.SecurityQuestionInputResponse.createSecurityQuestionAnswersInputResponse(\n qa\n )\n );\n this.props.securityQuestionBtn(true);\n this.acceptFN(inputResponse);\n }\n };\n render() {\n const {\n answer1WarningMsg,\n answer2WarningMsg,\n systemWarningMsg\n } = this.state;\n const answer1ErrorComp = answer1WarningMsg ? (\n \n ) : null;\n const answer2ErrorComp = answer2WarningMsg ? (\n \n ) : null;\n const systemErrorComp = systemWarningMsg ? (\n \n ) : null;\n return (\n \n \n \n {this.props.intl.formatMessage({\n id: \"validator.securityQuestion.message\"\n })}\n

\n\n this.onQuestion1Select(e)}\n selectedOption={this.state.question1}\n onRef={comp => (this.__questionList1Comp = comp)}\n toggleSelectCallBack={bool =>\n window.tealiumHub.ET027(\n \"createSecurityQuestions.label.firstQuestion\",\n bool ? \"expanded\" : \"collapsed\"\n )\n }\n />\n\n {\n if (!touched) {\n window.tealiumHub.ET029(\n \"createSecurityQuestions.label.answer1\"\n );\n }\n }}\n />\n\n this.onQuestion2Select(e)}\n selectedOption={this.state.question2}\n onRef={comp => (this.__questionList2Comp = comp)}\n toggleSelectCallBack={bool =>\n window.tealiumHub.ET027(\n \"createSecurityQuestions.label.secondQuestion\",\n bool ? \"expanded\" : \"collapsed\"\n )\n }\n />\n\n {\n if (!touched) {\n window.tealiumHub.ET029(\n \"createSecurityQuestions.label.answer2\"\n );\n }\n }}\n />\n
{systemErrorComp}
\n
\n \n );\n }\n\n startSession = () => {\n console.log(\"startSession\");\n };\n endSession = () => {\n console.log(\"endSession\");\n };\n setInputStep(stepNumber, maxNumber, stepDescription) {\n const currentStep = stepDescription;\n const questionsList = currentStep.getSecurityQuestions();\n questionsList.map(a => {\n a.translated = this.props.intl.formatMessage({\n id: `SecurityQuestion.Question.${a._id}`\n });\n });\n this.props.getSecurityQuestionListSuccess(questionsList);\n }\n promiseInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n setPromiseHandlers = (acceptFN, rejectFN) => {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n };\n onContinue = () => {\n console.log(\"onContinue\");\n };\n onError = () => {\n window.globalHistory.push({\n pathname: \"/globalError/noConnection?step=017\",\n state: { errorCode: \"noConnection\" }\n });\n };\n promiseRecoveryForError = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n };\n}\n\nconst CreateSecurityQuestionsContainer = styled.div`\n padding-bottom: 30px;\n input {\n height: 40px;\n color: ${color.text_color_dark};\n }\n .content--p1 {\n margin-top: 30px;\n line-height: 24px;\n }\n .label--question {\n margin-top: 22px;\n margin-bottom: 8px;\n }\n .security-input-label {\n margin-top: 25px;\n margin-bottom: 8px;\n }\n @media (min-width: 1366px) {\n .hsbc-ui.input {\n max-width: 100%;\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(CreateSecurityQuestions));\n","import React, { Component } from \"react\";\nimport { color } from \"util/color\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { history } from \"util/history\";\nimport styled from \"styled-components\";\nimport cellphone from \"assets/image/ad_phone.png\";\nimport android from \"assets/image/ad_andriod.jpg\";\nimport iPhone from \"assets/image/ad_iphone.jpg\";\nimport androidSim from \"assets/image/Android_sim.jpg\";\nimport androidTrd from \"assets/image/Android_trd.jpg\";\nimport iPhoneSim from \"assets/image/iphone_sim.svg\";\nimport iPhoneTrd from \"assets/image/iphone_trd.svg\";\nimport { connect } from \"react-redux\";\nimport { envConfig } from \"env-config\";\nimport { injectIntl } from \"react-intl\";\nimport { securityQuestionListActions } from \"actions/createSecurityQuestionAction\";\n\nconst mapStateToProps = state => {\n return {\n disableButton: state.securityQuestionList.securityQuestionBtn\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n securityQuestionBtn: payload =>\n dispatch(securityQuestionListActions.securityQuestionBtn(payload))\n };\n};\n\nclass MockSuccessfulRegistrated extends Component {\n constructor(props) {\n super(props);\n window.tealiumHub.PT014();\n this.state = {\n imageAndroidSrc: android,\n imageIphoneSrc: iPhone\n };\n }\n\n goAndroidPic = () => {\n // window.location.href = envConfig.androidAppUrl\n };\n\n goIphonePic = () => {\n // window.location.href = envConfig.iosAppUrl\n };\n\n switchImage = selectedLang => {\n switch (selectedLang) {\n case \"zh-trd-HK\":\n this.setState({\n imageAndroidSrc: androidTrd,\n imageIphoneSrc: iPhoneTrd\n });\n break;\n case \"zh-sim-HK\":\n this.setState({\n imageAndroidSrc: androidSim,\n imageIphoneSrc: iPhoneSim\n });\n break;\n default:\n this.setState({\n imageAndroidSrc: android,\n imageIphoneSrc: iPhone\n });\n }\n };\n\n componentDidMount() {\n const selectedLang = localStorage.getItem(\"selectedLang\");\n this.switchImage(selectedLang);\n this.props.securityQuestionBtn(false);\n sessionStorage.removeItem(\"otpErrorCounter\");\n }\n\n render() {\n const selectedLang = localStorage.getItem(\"selectedLang\");\n return (\n \n {\n window.tealiumHub.ET031(\"inputCredential.label.logon\");\n history.push(\"/logon\");\n }}\n customizedClass=\"none-shadow\"\n confirmationBtnTitle=\"inputCredential.label.logon\"\n >\n

\n {this.props.intl.formatMessage({\n id: \"successRegistrated.label.subTitle\"\n })}\n

\n \n {envConfig.showAppDownloadAd && (\n
\n
\n \n \n {this.props.intl.formatMessage({\n id: \"successRegistrated.pic.title\"\n })}\n \n \n {this.props.intl.formatMessage({\n id: \"successRegistrated.pic.title2\"\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\nconst RegistratedSuccessContainer = styled.div`\n display:flex;\n position: relative;\n top:50%; \n transform:translateY(-50%);\n @media (max-width: 907px) {\n flex-wrap: wrap;\n }\n @media (max-width: 449px) {\n // padding: 30px 20px;\n width: 90%;\n margin: auto;\n }\n justify-content: center;\n\n .none-shadow {\n box-shadow: none;\n @media (min-width: 414px) and (max-width: 768px) {\n padding: 30px 30px 17px 30px;\n }\n }\n \n .content--style{\n font-size: 16px;\t\n font-weight: 300;\t\n line-height: 24px;\n height: 24px;\n margin-top: 30px;\n margin-bottom: 60px;\n @media (max-width: 449px) {\n margin-top: 0px;\n margin-bottom: 40px;\n }\n }\n\n .responsive-padding {\n @media (min-width: 414px) {\n padding: 46.19px 40px 40px 40px;\n }\n }\n\n .contentmodal--header {\n @media (max-width: 449px) { \n font-size: 20px;\n white-space: normal;\n }\n }\n\n .mobile--div{\n display: block; // No Mobile Pic\n padding: 46.19px 50px 0px 50px;\n margin-left: -22px;\n margin-top: 20px;\n margin-bottom: 20px;\n position: relative;\n \n overflow: hidden;\n\n @media (max-width: 320px) {\n margin: 20px;\n padding: 14px;\n width: 280px;\n margin-top: -21px;\n .divBody.bodyExpanded{\n .table_container {\n width: 270px;\n overflow: scroll;\n }\n width: 264px\n overflow: scroll;\n }\n }\n @media (min-width: 321px) and (max-width: 413px) {\n margin: 20px;\n padding: 14px;\n width: 335px;\n margin-top: -21px;\n .divBody.bodyExpanded{\n .table_container {\n width: 319px;\n overflow: scroll;\n }\n width: 319px;\n overflow: scroll;\n }\n }\n @media (min-width: 414px) and (max-width: 768px) {\n margin: 20px;\n padding: 30px 30px 17px 30px;\n width: 374px;\n margin-top: -21px;\n .divBody.bodyExpanded{\n .table_container {\n width: 319px;\n overflow: scroll;\n }\n width: 319px;\n overflow: scroll;\n }\n }\n\n @media (max-width: 769px) {\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n }\n\n @media (min-width: 769px) {\n padding: 50px 50px 0px 50px;\n margin-top: 20px;\n width: ${props => props.dialogWidth || \"454px\"};\n max-width: ${props => props.dialogWidth || \"454px\"};\n }\n\n @media (min-width: 769px) and (max-width: 898px) {\n margin-top: 0px;\n margin-left: 0px;\n }\n\n @media (min-width: 898px) and (max-width: 907px) {\n margin-top: 0px;\n }\n \n background-color:${color.white};\n h1{\n margin:0px;\n margin-left: 6px;\n font-size: 28px;\n font-weight: 100;\n line-height: 36px;\n color: #333333;\n @media (max-width: 449px) { \n font-size: 20px;\n margin-bottom: -70px;\n white-space: normal;\n }\n }\n .img--parent{\n display:flex;\n .left--img{\n width:190px;\n height: 240px;\n img{\n width: 120%;\n margin-top: 25px;\n @media (max-width: 449px) {\n width: 180%;\n margin-top: 67px;\n margin-left: -35%;\n }\n @media (min-width: 450px) and (max-width: 1019px) {\n margin-top: 40px;\n }\n }\n }\n .right--img{\n padding-bottom:0px;\n padding-top: 120px;\n margin-left: 40px;\n @media (max-width: 350px) {\n top: -15%;\n height: 130%;\n margin-right: 10px;\n margin-left: 10px;\n }\n @media (max-width: 449px) {\n margin-right: 20px;\n }\n .right--img--up{\n margin-bottom: 5px;\n img{\n width:98px;\n border-radius: ${props =>\n props.selectedLang &&\n props.selectedLang.indexOf(\"zh\") !== -1\n ? \"5px\"\n : \"0px\"};\n height: ${props =>\n props.selectedLang &&\n props.selectedLang.indexOf(\"zh\") !== -1\n ? \"34px\"\n : \"\"};\n }\n }\n .right--img--down{\n img{\n width: ${props =>\n props.selectedLang &&\n props.selectedLang.indexOf(\"zh\") !== -1\n ? \"100px\"\n : \"99px\"};\n }\n }\n @media (min-width: 769px) and (max-width: 910px) {\n padding-top: 110px;\n }\n } \n }\n\n } \n } \n`;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(MockSuccessfulRegistrated));\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport styled from \"styled-components\";\nimport EnterDetails from \"components/Registration/EnterDetails\";\nimport GenericOTP from \"components/OTPVerify/GenericOTP\";\nimport AcceptTerms from \"components/Logon/AcceptTerms\";\nimport CreateUsernamePassword from \"components/Registration/CreateUsernamePassword\";\nimport CreateSecurityQuestions from \"components/Registration/CreateSecurityQuestions\";\nimport MockSuccessfulRegistrated from \"components/Registration/MockSuccessfulRegistrated\";\nimport { changeIdleTimeOutValid } from \"util/service\";\nimport Loading from \"components/common/Loading\";\nimport { languageActions } from \"actions/languageAction\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\nimport { sendCodeIsLoading } from \"actions/sendCodeAction\";\nconst mapStateToProps = state => {\n return {\n error: state.logon.error,\n alreadyInitMLContainer: state.languageSession.alreadyInitMLContainer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n sendCodeIsLoading: payload => dispatch(sendCodeIsLoading(payload)),\n hideSelectOption: isHideLanguageSelect =>\n dispatch(languageActions.hideSelectOption(isHideLanguageSelect))\n };\n};\n\nclass Registration extends Component {\n constructor(props) {\n super(props);\n this.state = {\n step: \"\"\n };\n this.mappedStepToComponent = this.mappingStepToComponent();\n this.loadedComponents = {};\n }\n\n mappingStepToComponent = () => {\n return [\n {\n step: \"ACCEPT_TERMS\",\n component: (\n \n )\n },\n {\n step: \"ENTER_DETAILS\",\n component: (\n \n )\n },\n {\n step: \"CREATE_USERNAME_PASSWORD\",\n component: (\n \n )\n },\n {\n step: \"CREATE_SECURITY_QUESTION\",\n component: (\n \n )\n },\n {\n step: \"REGISTRATED_SUCCESSFUL\",\n component: (\n \n )\n },\n {\n step: \"GENERIC_OTP\",\n component: (\n \n )\n }\n ];\n };\n\n storeThis = (name, that) => {\n this.loadedComponents[name] = that;\n };\n\n componentDidMount() {\n this.props.sendCodeIsLoading(false);\n this.props.afterLoad(this.loadedComponents, this);\n changeIdleTimeOutValid(true);\n sessionStorage.setItem(\"isRegistration\", true);\n }\n\n componentWillUnmount() {\n this.props.hideSelectOption(true);\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.currentStep !== this.state.step) {\n this.setState((prevState, props) => {\n return { ...prevState, step: nextProps.currentStep };\n });\n }\n }\n\n processJsonData = (jsonData, actionContext, clientContext) => {\n clientContext.jsonData = jsonData;\n return Promise.resolve(\n window.com.ts.mobile.sdk.JsonDataProcessingResult.create(true)\n );\n };\n\n jumpTo = step => {\n if (step === \"ACCEPT_TERMS\") {\n this.props.alreadyInitMLContainer &&\n this.props.hideSelectOption(false);\n }\n if (step === \"ENTER_DETAILS\") {\n this.props.hideSelectOption(true);\n }\n const renderedComponent = _.find(\n this.mappedStepToComponent,\n item => step === item.step\n );\n this.setState({\n renderedComponent: renderedComponent.component,\n step\n });\n };\n\n render() {\n if (!this.state.renderedComponent) {\n return (\n \n \n \n );\n }\n\n return (\n \n {this.state.renderedComponent}\n {\"\"}\n \n );\n }\n}\nconst LoadingContainer = styled.div`\n .reg-t-c-loading-modal {\n @media (min-width: 768px) and (max-width: 1023px) {\n width: 650px !important;\n height: 503px;\n }\n }\n`;\nconst RegistrationContainer = styled.div`\n position: relative;\n z-index: 2;\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(Registration));\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { FormattedMessage } from \"react-intl\";\nimport { Notification } from \"hsbc-pb-sdk\";\n\nconst NoticeMessageContainer = styled.div`\n height: 58px;\n width: 100%;\n display: table;\n .hsbc-ui.notification {\n color: rgb(51, 51, 51);\n font-size: 18px;\n span {\n font-family: \"Univers Next for HSBC\";\n font-size: 13px;\n font-weight: bold;\n line-height: 17px;\n margin-left: 5px;\n }\n }\n`;\n\nconst NoticeMsg = props => {\n const { msgText, color } = props;\n if (color === \"yellow\") {\n return (\n \n }\n />\n \n );\n } else if (color === \"red\") {\n return (\n \n }\n />\n \n );\n } else {\n return (\n \n }\n />\n \n );\n }\n};\n\nexport default NoticeMsg;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { history } from \"util/history\";\nimport _ from \"lodash\";\nimport aes from \"crypto-js/aes\";\n\nimport { color } from \"util/color\";\nimport SecurityModal from \"components/common/SecurityModal\";\nimport SecurityTextInput from \"components/common/SecurityTextInput\";\nimport NoticeMsg from \"components/common/NoticeMsg\";\nimport { logonActions } from \"actions/logonAction\";\nimport { passwordSavedStatusClear } from \"actions/resetPasswordAction\";\nimport { updateLockedAccountInfo } from \"actions/lockedAccountAction\";\nimport { registrationActions } from \"actions/registrationDetailAction\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport Loading from \"components/common/Loading\";\nimport { envConfig } from \"env-config\";\nimport { encryptPassword, changeIdleTimeOutValid } from \"util/service\";\n\nconst secrKey = \"dsp-umd\";\n\nconst mapStateToProps = state => {\n return {\n error: state.logon.error,\n selectedLang: state.languageSession.selectedLang,\n registrationError: state.registrationDetails.validateDetails,\n disableLogin: state.logon.loggingIn,\n logonValidationErrorUsername: state.logon.validationErrorUsername,\n logonValidationErrorPassword: state.logon.validationErrorPassword,\n alreadyInitMLContainer: state.languageSession.alreadyInitMLContainer,\n encryptedPswDone: state.logon.encryptedpsw,\n isMockLogin: state.logon.isMockLogin,\n isLastAttempt: state.logon.isLastAttempt,\n isPendingResponse: state.logon.pending\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n logon: (username, successCallback, failCallback) =>\n dispatch(\n logonActions.logon(\n username.toLowerCase(),\n successCallback,\n failCallback\n )\n ),\n encryptedPsw: encryptedPsw =>\n dispatch(logonActions.encryptedPsw(encryptedPsw)),\n logonInit: loggingIn => {\n dispatch(logonActions.logonInit(loggingIn));\n },\n updateLockedAccountInfo: error =>\n dispatch(updateLockedAccountInfo(error)),\n clearSavedStatus: () => dispatch(passwordSavedStatusClear()),\n switchToGVLogin: payload =>\n dispatch(logonActions.switchToGVLogin(payload)),\n resetDetailsError: () =>\n dispatch(registrationActions.resetDetailsError()),\n isLastAttemptTime: isLastAttempt => {\n dispatch(logonActions.isLastAttempt(isLastAttempt));\n },\n isMockLoginJourney: isMockLogin => {\n dispatch(logonActions.isMockLogin(isMockLogin));\n }\n };\n};\n\nclass InputCredential extends Component {\n constructor(props) {\n super(props);\n this.state = {\n usn: \"\",\n psw: \"\",\n usernameWarningMsg: false,\n pswWarningMsg: false,\n enableAcceptButton: true,\n count: 0,\n wrongCredentialFromBackend: false,\n subStep: 0,\n pswType: \"text\",\n escapeOptions: null,\n hideButton: false\n };\n this.countDown = null;\n this.__usernameComp = \"\";\n this.__passwordComp = \"\";\n if (props.storeThis) {\n props.storeThis(\"InputCredential\", this);\n }\n }\n\n componentWillUnmount() {\n this.props.clearSavedStatus();\n document.removeEventListener(\"keydown\", this.onkeydown);\n }\n componentWillMount() {\n if (window.transmitSDK) {\n window.transmitSDK.cancelCurrentRunningControlFlow();\n }\n }\n componentDidMount() {\n window.tealiumHub.PT001();\n document.addEventListener(\"keydown\", this.onkeydown);\n const urlParam = history.location.search.substring(1).toLowerCase();\n if (urlParam === \"forcedlogout\") {\n window.tealiumHub.ET012(\"inputCredential.warning.forcedLogout\");\n }\n if (urlParam === \"logout\") {\n window.tealiumHub.ET012(\"inputCredential.warning.optLogout\");\n }\n if (urlParam === \"globalview\") {\n this.props.switchToGVLogin(true);\n }\n this.props.hideSelectOption(false);\n this.props.logonInit(false);\n this.props.isLastAttemptTime(false);\n this.props.isMockLoginJourney(false);\n\n if (this.__usernameComp) {\n this.__usernameComp.clearValue();\n }\n if (this.__passwordComp) {\n this.__passwordComp.clearValue();\n }\n\n const verifyAttempts = parseInt(\n sessionStorage.getItem(\"verifyAttempts\")\n );\n if (verifyAttempts === 3) {\n this.startTimer(60);\n this.setState({\n enableAcceptButton: false\n });\n }\n }\n\n handleChange = e => {\n const { name, value } = e.target;\n this.setState((nextState, props) => ({\n [name === \"password\" ? \"psw\" : name]: value\n }));\n };\n\n changeInputType = () => {\n if (this.state.pswType === \"text\") {\n this.setState({\n pswType: \"password\"\n });\n }\n };\n\n switchError = (reasonMsg, failReason, response) => {\n switch (reasonMsg) {\n case \"LOCKED_QUESTION\":\n case \"LOCKED_PASSWORD\":\n case \"LOCKED_GLOBAL\":\n case \"LOCKED_OTP\": {\n history.push({\n pathname: \"/commonLockedAccount/globalGenericAccountLock\",\n state: { errorCode: \"globalGenericAccountLock\" }\n });\n break;\n }\n default: {\n const statusCode = sessionStorage.getItem(\"statuscode\");\n const failReasons = _.get(failReason, \"data.reason\", \"\");\n if (response._errorCode === 7) {\n return;\n } else if (\n response._errorCode === 21 ||\n response._errorCode === 20\n ) {\n return;\n } else {\n this.props.updateLockedAccountInfo(\"COMMON_LOCKED_ACCOUNT\");\n history.push({\n pathname: `/globalError/noConnection?step=012&statusCode=${statusCode}${\n failReasons\n ? \"&failReason=\" +\n failReasons.replace(/\\s/g, \"\")\n : \"\"\n }`,\n state: { errorCode: \"noConnection\" }\n });\n }\n }\n }\n };\n\n failCallback = response => {\n this.props.hideSelectOption(true);\n let reasonMsg = \"\";\n const errorcode = _.get(response, \"_data.assertion_error_code\", \"\");\n\n const failReason = _.get(response, \"_data.failure_data.reason\", \"\");\n\n const lockedType = _.get(failReason, \"data\", \"\");\n\n if (errorcode === 5) {\n const formInput = window.com.ts.mobile.sdk.FormInput.createEscapeRequest(\n this.state.escapeOptions,\n {}\n );\n this.acceptFN(formInput);\n return;\n }\n if (failReason) {\n if (lockedType[\"LOCK-CHECK\"]) {\n reasonMsg = lockedType[\"LOCK-CHECK\"];\n }\n if (lockedType[\"reason\"] === \"USER_NOT_RECOGNISED\") {\n this.setState({\n subStep: 0,\n wrongCredentialFromBackend: true\n });\n this.setVerifyAttempts();\n if (this.__usernameComp) {\n this.__usernameComp.clearValue();\n }\n return;\n }\n if (lockedType[\"reason\"] === \"INVALID_CREDENTIALS\") {\n history.push({\n pathname: \"/commonLockedAccount/genericWrongCredential\",\n state: { errorCode: \"genericWrongCredential\" }\n });\n return;\n }\n\n if (lockedType[\"reason\"] === \"ACCOUNT_LOCKED\") {\n history.push({\n pathname: \"/commonLockedAccount/globalGenericAccountLock\",\n state: { errorCode: \"globalGenericAccountLock\" }\n });\n return;\n }\n } else if (response._message) {\n reasonMsg = response._message;\n }\n this.switchError(reasonMsg, failReason, response);\n };\n\n checkApiStatusAndAction = () => {\n this.props.logonInit(true);\n let countTime = 0.1;\n const timer = setInterval(() => {\n countTime += 0.1;\n if (!this.props.isPendingResponse) {\n this.props.logon(\n this.state.usn,\n this.successCallback,\n this.failCallback\n );\n clearInterval(timer);\n }\n if (countTime > 15 || this.props.fakeTest) {\n clearInterval(timer);\n history.push({\n pathname: \"/globalError/noConnection?step=033\",\n state: { errorCode: \"noConnection\" }\n });\n }\n }, 100);\n };\n\n logon = () => {\n window.tealiumHub.ET002(\"inputCredential.label.logon\", \"log on\");\n if (this.state.count > 0) {\n return;\n }\n changeIdleTimeOutValid(true);\n if (\n _.get(this.props.registrationError, \"errorType\", \"\") ===\n \"registrated\"\n ) {\n this.props.resetDetailsError();\n }\n\n if (!this.state.usn) {\n this.setState({\n subStep: 0,\n wrongCredentialFromBackend: true\n });\n this.setVerifyAttempts();\n return;\n }\n\n if (this.state.subStep === 0 && this.state.usn) {\n const encrypted = aes.encrypt(this.state.usn, secrKey).toString();\n sessionStorage.setItem(\"nickKey\", encrypted);\n this.setState({\n pswType: \"text\"\n });\n this.checkApiStatusAndAction();\n } else if (this.state.psw) {\n if (this.e2eState) {\n this.props.logonInit(true);\n const encrypted =\n this.e2eState === \"enabled\"\n ? encryptPassword(this.state.psw, this.e2ePublicKey)\n : this.state.psw;\n this.acceptFN(\n window.com.ts.mobile.sdk.FormInput.createFormInputSubmissionRequest(\n {\n dummy: \"ok\",\n version: envConfig.tcVersion\n }\n )\n );\n this.props.encryptedPsw(encrypted);\n }\n } else {\n this.props.logonInit(false);\n }\n };\n\n onkeydown = e => {\n const activeElement = document.activeElement\n ? document.activeElement.nodeName\n : \"\";\n if (e.keyCode === 13) {\n if (activeElement === \"A\") {\n this.resetPassword();\n } else if (activeElement === \"DIV\") {\n this.register();\n }\n }\n };\n\n register = () => {\n const otpErrorCounter = parseInt(\n sessionStorage.getItem(\"otpErrorCounter\") || 0\n );\n if (otpErrorCounter > 2) {\n sessionStorage.setItem(\"otpErrorCounter\", 2);\n this.startTimer(60);\n return;\n }\n window.tealiumHub.ET002(\n \"inputCredential.label.register\",\n \"registration\"\n );\n if (\n _.get(this.props.registrationError, \"errorType\", \"\") ===\n \"registrated\"\n ) {\n this.props.resetDetailsError();\n }\n this.props.alreadyInitMLContainer && this.props.hideSelectOption(true);\n history.push(\"registration\");\n };\n\n resetPassword = () => {\n window.tealiumHub.ET002(\n \"inputCredential.label.resetPassword\",\n \"password reset\"\n );\n if (\n _.get(this.props.registrationError, \"errorType\", \"\") ===\n \"registrated\"\n ) {\n this.props.resetDetailsError();\n }\n window.transmitSDK.cancelCurrentRunningControlFlow();\n history.push(\"/resetPassword\");\n };\n\n promiseInput = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n window.com.ts.mobile.sdk.PasswordInput.create(\n this.props.encryptedPswDone\n )\n )\n );\n };\n\n startSession = (payload, actionContext, clientContext) => {\n if (payload.jsonData) {\n this.e2ePublicKey = payload.jsonData.e2ePublicKey;\n this.e2eState = payload.jsonData.E2EE_State;\n if (this.e2eState === \"enabled\" && !this.e2ePublicKey) {\n history.push({\n pathname: \"/globalError/noConnection?step=013\",\n state: { errorCode: \"noConnection\" }\n });\n }\n }\n if (clientContext && clientContext._escapeOptions) {\n const escapeOptions = clientContext.getEscapeOptions()[0];\n this.setState({\n escapeOptions\n });\n }\n };\n\n promiseFormInput = payload => {\n const isRegistration = sessionStorage.getItem(\"isRegistration\");\n if (!isRegistration) {\n this.setState({\n subStep: 1\n });\n } else {\n sessionStorage.removeItem(\"isRegistration\");\n }\n\n this.props.logonInit(false);\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n endSession = () => {\n console.log(\"endSession\");\n };\n\n setPromiseHandlers(acceptFN, rejectFN) {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n }\n\n setVerifyAttempts = () => {\n const verifyAttempts =\n parseInt(sessionStorage.getItem(\"verifyAttempts\") || 0) + 1;\n sessionStorage.setItem(\"verifyAttempts\", verifyAttempts);\n if (this.state.enableAcceptButton && verifyAttempts === 3) {\n this.startTimer(60);\n }\n };\n\n startTimer = reDuration => {\n let startCount = reDuration ? reDuration : this.state.count;\n if (startCount > 0) {\n const otpErrorCounter = parseInt(\n sessionStorage.getItem(\"otpErrorCounter\")\n );\n const enableAcceptButton = otpErrorCounter ? true : false;\n this.setState(previousState => {\n return {\n ...previousState,\n count: startCount,\n enableAcceptButton,\n hideButton: otpErrorCounter > 0 ? false : true\n };\n });\n }\n\n this.countDown = setInterval(() => {\n startCount -= 1;\n if (startCount > 0) {\n this.setState({ count: startCount });\n } else {\n this.setState(previousState => {\n return {\n ...previousState,\n count: startCount,\n registrationWarningMsg: \"\",\n enableAcceptButton: true,\n wrongCredentialFromBackend: false,\n hideButton: false\n };\n });\n clearInterval(this.countDown);\n sessionStorage.setItem(\"verifyAttempts\", 0);\n }\n }, 1000);\n };\n\n componentWillUpdate(nextProps, nextState) {\n if (nextState.subStep !== this.state.subStep) {\n if (nextState.subStep === 0) {\n this.props.hideSelectOption(false);\n } else {\n this.props.hideSelectOption(true);\n }\n }\n }\n\n getTip = () => {\n let urlParam = window.location.href.split(\"?\")[1];\n if (urlParam) {\n urlParam = urlParam.toLowerCase();\n }\n\n let msgText = null;\n let colors = \"yellow\";\n\n switch (urlParam) {\n case \"resetpasswordsuc\":\n window.tealiumHub.ET012(\n \"inputCredential.warning.passwordReset\"\n );\n msgText = \"inputCredential.warning.passwordReset\";\n break;\n case \"forcedlogout\":\n msgText = \"inputCredential.warning.forcedLogout\";\n break;\n case \"logout\":\n colors = \"\";\n msgText = \"inputCredential.warning.optLogout\";\n break;\n case \"invalidsession\":\n msgText = \"inputCredential.warning.invalidSession\";\n break;\n }\n\n return msgText ? : null;\n };\n\n caseLink = otpErrorCounter => {\n return otpErrorCounter > 0 ? (\n \n ) : (\n
\n \n \n
\n );\n };\n\n caseCustomizedFooter = (count, otpErrorCounter) => {\n return count ? (\n
\n
\n {this.caseLink(otpErrorCounter)}\n
\n

\n \n {count}\n \n \n \n

\n
\n ) : (\n \n \n \n \n \n \n );\n };\n\n caseErrorComp = verifyAttempts => {\n const msgText =\n verifyAttempts > 2\n ? \"inputCredential.warning.incorrectCredential.exceed\"\n : \"inputCredential.warning.incorrectCredential\";\n const submitErrorComp = this.state.wrongCredentialFromBackend ? (\n \n ) : null;\n\n const { usernameWarningMsg, pswWarningMsg } = this.state;\n const usernameErrorComp = usernameWarningMsg ? (\n \n ) : null;\n const pswErrorComp = pswWarningMsg ? (\n \n ) : null;\n\n return usernameErrorComp || pswErrorComp || submitErrorComp;\n };\n\n caseComps = (subStep, verifyAttempts, registeredErrorComp) => {\n if (subStep === 0 && !this.props.testSubStep) {\n return (\n
\n {this.caseErrorComp(verifyAttempts) ||\n this.getTip() ||\n registeredErrorComp}\n (this.__usernameComp = comp)}\n onUnload={() => (this.__usernameComp = null)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET001(\"username\");\n }\n }}\n />\n
\n );\n } else if (subStep === 1 || this.props.testSubStep) {\n return (\n
\n (this.__passwordComp = comp)}\n onUnload={() => (this.__passwordComp = null)}\n onFocus={touched => {\n if (!touched) {\n window.tealiumHub.ET001(\"password\");\n }\n this.changeInputType();\n }}\n />\n {this.props.isLastAttempt ? (\n

\n \n \n \n \n \n \n

\n ) : (\n \"\"\n )}\n
\n );\n }\n return ;\n };\n\n render() {\n const currentUrlPathIsNotLogon =\n window.location.href.indexOf(\"logon\") === -1;\n const showHeader =\n currentUrlPathIsNotLogon ||\n (envConfig.languageSlectList &&\n envConfig.languageSlectList.length > 1);\n if (this.state.subStep === -1) {\n return ;\n }\n let customizedFooter = null;\n\n const selectedCnLang =\n this.props.selectedLang &&\n this.props.selectedLang.indexOf(\"zh\") !== -1;\n\n const otpErrorCounter = parseInt(\n sessionStorage.getItem(\"otpErrorCounter\")\n );\n\n if (this.state.subStep === 0) {\n customizedFooter = this.caseCustomizedFooter(\n this.state.count,\n otpErrorCounter\n );\n }\n\n let registeredErrorComp;\n if (\n _.get(this.props.registrationError, \"errorType\", \"\") ===\n \"registrated\"\n ) {\n window.tealiumHub.ET012(\"inputCredential.label.alreadyRegistered\");\n registeredErrorComp = (\n \n );\n } else {\n registeredErrorComp = null;\n }\n\n const verifyAttempts = parseInt(\n sessionStorage.getItem(\"verifyAttempts\")\n );\n\n return (\n \n \n {this.caseComps(\n this.state.subStep,\n verifyAttempts,\n registeredErrorComp\n )}\n \n \n \n \n

\n \n \n );\n }\n\n onError = payload => {\n history.push({\n pathname: \"/globalError/noConnection?step=014\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n promiseRecoveryForError = () => {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery\n .SelectAuthenticator\n );\n };\n}\n\nconst InputCredentialContainer = styled.div`\n .loginCredentialInput {\n box-shadow: none;\n @media (max-width: 769px) {\n padding-top: 150px;\n }\n @media (max-width: 415px) {\n padding-top: 230px;\n }\n @media (max-width: 376px) {\n padding-top: 190px;\n }\n }\n .responsive-padding {\n @media (min-width: 769px) {\n padding: 50px 10px 40px 10px;\n }\n }\n input {\n height: 40px;\n color: ${color.text_color_dark};\n }\n span {\n color: #000;\n }\n\n .hsbc-ui.button.secondary span {\n color: #fff;\n }\n\n @media (min-width: 1366px) {\n .hsbc-ui.input {\n max-width: 100%;\n }\n }\n\n p {\n margin-top: 30px;\n margin-bottom: 9px;\n font-size: 16px;\n font-weight: normal;\n line-height: 19px;\n }\n p:first-child {\n margin-top: 45px;\n }\n\n .link--forgot-password {\n font-size: 14px;\n font-weight: normal;\n margin-top: 15px;\n margin-bottom: 33px;\n text-align: right;\n a {\n cursor: pointer;\n }\n }\n\n .link--register {\n cursor: pointer;\n margin-top: 10px;\n span {\n color: #000;\n }\n .icon {\n color: ${color.hsbc_warning_red};\n font-size: 20px;\n margin-left: 6px;\n }\n .button--register {\n display: inline-block;\n }\n }\n .block--notice-msg {\n span {\n color: #333333;\n }\n margin-bottom: -20px;\n padding-top: 30px;\n @media (max-width: 768px) {\n margin-top: 30px;\n }\n @media (min-width: 769px) {\n margin-top: 20px;\n }\n margin-bottom: 10px;\n }\n .contentmodal--footer {\n width: 100%;\n }\n .contentmodal--footer-left {\n width: 100%;\n .link--register {\n // width: 100%;\n float: left;\n }\n .count--down {\n @media (max-width: 780px) {\n font-size: 14px;\n }\n float: ${props => (props.otpErrorCounter > 1 ? \"left\" : \"right\")};\n margin-top: 15px;\n .count-down-timer {\n font-weight: bold;\n }\n }\n }\n .LogoMarkContainer {\n @media (max-width: 414px) {\n margin-top: ${props => (props.selectedCnLang ? \"84px\" : \"54px\")};\n }\n margin-top: -20px;\n }\n .contentmodal--header {\n font-size: 36px;\n @media (min-width: 1440px) {\n font-size: 38px;\n }\n\n @media (min-width: 1024px) and (max-width: 1439px) {\n font-size: 36px;\n }\n margin-top: -15px;\n margin-bottom: ${props => (props.showHeader ? \"-30px\" : \"0\")};\n @media (max-width: 375px) {\n font-size: 24px;\n }\n @media (min-width: 321px) and (max-width: 768px) {\n font-size: 30px;\n }\n\n @media (max-width: 320px) {\n font-size: 26px;\n }\n }\n .contentmodal--header:first-child {\n padding-bottom: 10px;\n }\n .contentmodal--footer-right.btn--confirm {\n width: 120px;\n }\n\n .count--down {\n width: ${props => (props.otpErrorCounter >= 2 ? \"80%\" : \"65%\")};\n text-align: ${props => (props.otpErrorCounter >= 2 ? \"left\" : \"right\")};\n }\n .statement--validation {\n margin-top: 0px;\n overflow: auto;\n width: 100%;\n line-height: 28px;\n font-weight: 400;\n .icon {\n color: ${color.hsbc_warning_red};\n position: relative;\n padding-right: 1px;\n }\n .icon--container {\n float: left;\n width: 5%;\n }\n .error--content {\n float: right;\n width: 93%;\n font-size: 14px;\n word-break: break-word;\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(InputCredential));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { connect } from \"react-redux\";\nimport { color } from \"util/color\";\nimport { history } from \"util/history\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport { changeIdleTimeOutValid } from \"util/service\";\nimport appSignBg from \"assets/image/appsign_bg.png\";\nimport loader from \"assets/image/loader.svg\";\n\nconst mapStateToProps = state => {\n return {};\n};\nconst mapDispatchToProps = dispatch => {\n return {};\n};\n\nclass CheckMobile extends Component {\n constructor(props) {\n super(props);\n this.state = {\n resolveInputFromTransmit: () => {\n return null;\n },\n rejectInputFromTransmit: null,\n showTryAgainScreen: false,\n confirmTryAgain: false,\n cofirmTryAnother: false,\n isAuthentication: false,\n initSeconds: 80,\n accsibilitySecondsCountdown: 80,\n timerToZero: false\n };\n if (props.storeThis) {\n props.storeThis(\"CheckMobile\", this);\n }\n }\n\n componentDidMount() {\n changeIdleTimeOutValid(true);\n sessionStorage.setItem(\"counter\", 1);\n window.tealiumHub.PT022();\n setTimeout(() => {\n this.countdownTimer();\n }, 1000);\n this.timer = setInterval(() => {\n this.confirmTrust();\n }, 1000);\n const descriptionEle = document.getElementById(\n \"check-mobile-description\"\n );\n if (descriptionEle) {\n descriptionEle.focus();\n }\n }\n\n componentWillUnmount() {\n clearInterval(this.timer);\n }\n\n confirmTrust = () => {\n const input = window.com.ts.mobile.sdk.MobileApproveInputRequestPolling.createRequestPollingInput();\n const inputs = window.com.ts.mobile.sdk.TargetBasedAuthenticatorInput.createAuthenticatorInput(\n input\n );\n this.state.resolveInputFromTransmit(\n window.com.ts.mobile.sdk.InputOrControlResponse.createInputResponse(\n inputs\n )\n );\n };\n\n countdownTimer = () => {\n const timer = setInterval(() => {\n if (this.state.initSeconds > 0) {\n if (this.state.initSeconds % 10 === 0) {\n this.setState({\n accsibilitySecondsCountdown: this.state.initSeconds\n });\n }\n this.setState({\n initSeconds: this.state.initSeconds - 1\n });\n } else {\n clearInterval(timer);\n this.setState({\n initSeconds: 80,\n accsibilitySecondsCountdown: 0,\n timerToZero: true\n });\n setTimeout(() => {\n const timeoutEle = document.getElementById(\"error-content\");\n\n if (timeoutEle) {\n timeoutEle.focus();\n }\n }, 200);\n }\n }, 1000);\n };\n\n confirmTryAgain = () => {\n window.tealiumHub.ET053();\n const counter = Number(sessionStorage.getItem(\"counter\")) + 1;\n sessionStorage.setItem(\"counter\", counter);\n this.setState({\n confirmTryAgain: true,\n showTryAgainScreen: false,\n timerToZero: false,\n accsibilitySecondsCountdown: 80\n });\n\n setTimeout(() => {\n const descriptionEle = document.getElementById(\n \"check-mobile-description\"\n );\n\n if (descriptionEle) {\n descriptionEle.focus();\n }\n }, 100);\n this.timer = setInterval(() => {\n this.confirmTrust();\n }, 1000);\n setTimeout(() => {\n this.countdownTimer();\n }, 1000);\n };\n\n tryAnotherAuthonticator = () => {\n window.tealiumHub.ET054();\n this.setState({\n cofirmTryAnother: true\n });\n };\n\n render() {\n const currentUrlPathIsNotLogon =\n window.location.href.indexOf(\"logon\") === -1;\n const showHeader =\n currentUrlPathIsNotLogon ||\n (envConfig.languageSlectList &&\n envConfig.languageSlectList.length > 1);\n const counter = parseInt(sessionStorage.getItem(\"counter\"));\n const appsignNote =\n envConfig.realm === \"HK\"\n ? this.props.intl.formatMessage({\n id: \"appsign.note\"\n })\n : \"\";\n return (\n \n {!this.state.timerToZero ? (\n
\n \"\"\n \n \n \n \n \n {appsignNote}\n
\n
\n
\n
\n \n \n {\" \"}\n {this.state.initSeconds}\n \n \n \n {\n this.state\n .accsibilitySecondsCountdown\n }\n \n Seconds remaining\n
\n
\n \n \n \n
\n \n \n ) : (\n \n \n \n \n \n \n \n {appsignNote}\n \n
\n {counter < 3 ? (\n this.confirmTryAgain()}\n >\n \n \n ) : (\n
\n \n this.tryAnotherAuthonticator()\n }\n >\n \n \n
\n )}\n
\n \n
\n )}\n \n );\n }\n\n startSession = () => {\n console.log(\"startSession\");\n };\n\n promiseFormInput = payload => {\n return new Promise((accept, reject) => {\n this.setPromiseHandlers(accept, reject);\n });\n };\n\n setPromiseHandlers = (acceptFN, rejectFN) => {\n this.acceptFN = acceptFN;\n this.rejectFN = rejectFN;\n };\n\n promiseInput = () => {\n return new Promise((resolve, reject) => {\n this.setState({\n resolveInputFromTransmit: resolve,\n rejectInputFromTransmit: reject\n });\n });\n };\n\n endSession = () => {\n console.log(\"endSession\");\n };\n\n onContinue = payload => {\n console.log(\"onContinue\");\n };\n\n promiseRecoveryForError = errorObject => {\n if (errorObject._errorCode !== 20) {\n const counter = parseInt(sessionStorage.getItem(\"counter\"));\n if (counter < 3) {\n window.tealiumHub.PT023();\n } else {\n window.tealiumHub.PT024();\n }\n this.setState({\n showTryAgainScreen: true\n });\n }\n\n clearInterval(this.timer);\n const waitForConfirm = new Promise((resolve, reject) => {\n if (errorObject._errorCode === 9) {\n resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery.Fail\n );\n setTimeout(() => {\n history.push({\n pathname: \"/commonLockedAccount/fullaccountLock\",\n state: { errorCode: \"fullaccountLock\" }\n });\n }, 10);\n } else {\n this.timerP1 = setInterval(() => {\n if (this.state.confirmTryAgain) {\n this.setState({\n confirmTryAgain: false\n });\n resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery\n .RetryAuthenticator\n );\n clearInterval(this.timerP1);\n } else if (this.state.cofirmTryAnother) {\n resolve(\n window.com.ts.mobile.sdk.AuthenticationErrorRecovery\n .ChangeAuthenticator\n );\n this.setState({\n cofirmTryAnother: false\n });\n\n clearInterval(this.timerP1);\n }\n }, 1000);\n }\n });\n return new Promise((resolve, reject) => {\n resolve(waitForConfirm);\n });\n };\n\n selectAuthenticator = (options, actionContext, clientContext) => {\n this.props.dispatchAction({\n type: \"RESET_PASSWORD_SECURITY_QUESTION_RECEIVED\",\n payload: options\n });\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticatorSelectionResult.createSelectionRequest(\n options[0]._authenticator\n )\n );\n };\n\n onError = payload => {\n history.push({\n pathname: \"/globalError/noConnection?step=010\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n setAvailableTargets(a, b, c) {\n console.log(\"setAvailableTargets\");\n }\n\n setCreatedApprovalInfo(a, b, c) {\n console.log(\"setCreatedApprovalInfo\");\n }\n}\n\nconst CheckMobileContanier = styled.div`\n\n#check-mobile-description {\n position: relative;\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n background-color: ${color.white};\n color: ${color.text_color_dark};\n padding: 50px 50px 40px 50px;\n order: 1;\n margin: 20px;\n margin-top: ${props => (props.showHeader ? \"20px\" : \"105px\")}\n margin-bottom: ${props => (props.showHeader ? \"20px\" : \"104px\")}\n}\n\n.app-bg {\n width: 100%;\n margin-bottom: 10px;\n}\n\n.app-loader {\n animation: load 1.5s infinite linear;\n}\n\n.countdown-timer {\n position: relative;\n .sr-only {\n position: absolute;\n opacity: 0;\n }\n}\n\n.second {\n padding-top: ${props =>\n props.isMulLanguage.indexOf(\"zh\") !== -1 ? \"17%\" : \"11%\"};\n margin-left: 10px;\n font-weight: 400;\n font-size: 0.75rem;\n color: #333;\n}\n\n.time {\n font-size: 0.9375rem;\n font-weight: 400;\n position: absolute;\n width: 100%;\n text-align: center;\n left: 0;\n height: 100%;\n display: inline-block;\n top: 0;\n padding-top: 25%;\n color: #333;\n}\n\n.declined-button {\n background: none;\n color: #000;\n border: 1px solid #000;\n @media (max-width: 767px) {\n background: none;\n color: #fff;\n border: 1px solid #fff;\n }\n}\n\n@media (max-width: 767px) {\n padding: 20px 20px 10px;\n}\n@media (min-width: 768px) {\n width: 524px;\n}\ndisplay: flex;\nflex-direction: column;\n\ninput {\n text-align: center;\n}\n\n.code-enter {\n width: 80px;\n height: 40px;\n font-size: 0.875rem;\n padding: 12px 12px;\n /* text-align:center;*/\n border: 1px solid #929292;\n &.error {\n border: 1px solid ${color.error_msg_stroke_outline};\n }\n}\n.contentmodal--footer-right {\n padding-top: 10px;\n display: flex;\n margin-top: -30px;\n margin-bottom: -20px;\n @media (max-width: 767px) {\n margin-top: -30px;\n margin-bottom: 0px;\n }\n .hsbc-ui.loader.large.loader .spinner {\n width: 40px;\n height: 40px;\n }\n}\n\n.hsbc-ui.loader .spinner {\n border: 3px solid #1d262c;\n border-right-color: transparent;\n border-radius: 50%;\n display: inline-block;\n animation: load 1.5s infinite linear;\n}\n\nh1 {\n font-size: 1.75rem;\n font-weight: 400;\n line-height: 36px;\n margin: 0px;\n}\n\nh2 {\n margin-top: 30px;\n margin-bottom: 9px;\n font-size: 1rem;\n font-weight: normal;\n line-height: 19px;\n}\n.checkmobole-description {\n font-size: 1rem;\n font-weight: 400;\n line-height: 24px;\n margin-bottom: 50px;\n}\n\n#check-mobile-description:focus {\n outline: 0px;\n}\n\n.foot {\n position: relative;\n display: flex;\n justify-content: space-between;\n}\n`;\n\nconst ErrorContent = styled.div`\n box-shadow: 0px 16px 24px 2px rgba(0, 0, 0, 0.14);\n background-color: ${color.white};\n color: ${color.text_color_dark};\n padding: 40px 40px 20px 40px;\n order: 1;\n margin: 20px;\n margin-top: ${props => (props.showHeader ? \"20px\" : \"105px\")}\n margin-bottom: ${props => (props.showHeader ? \"20px\" : \"104px\")}\n position: relative;\n\n #error-content:focus {\n outline: 0px;\n }\n\n @media (min-width: 768px) {\n width: 524px;\n }\n display: flex;\n flex-direction: column;\n\n input {\n text-align: center;\n }\n\n .code-enter {\n width: 80px;\n height: 40px;\n font-size: 0.875rem;\n padding: 12px 12px;\n /* text-align:center;*/\n border: 1px solid #929292;\n &.error {\n border: 1px solid ${color.error_msg_stroke_outline};\n }\n }\n .btn--loader--container {\n position: relative;\n display: inline-block;\n width: 120px;\n margin-bottom: 50px;\n .btn--loader {\n margin-top: 20px;\n padding-top: 0px;\n width: 120px;\n padding-top: 10px;\n padding-bottom: 0px;\n height: 46px;\n cursor: default;\n background-color: rgb(219, 0, 17);\n .children {\n margin-top: 0px;\n }\n }\n .hsbc-ui.loader .spinner {\n border: 2px solid #fff;\n border-right-color: transparent;\n }\n .btn--loader:before {\n padding-top: 0px;\n }\n }\n button {\n cursor: pointer;\n height: 46px;\n padding: 0 20px;\n font-size: 1rem;\n font-weight: 100;\n line-height: 16px;\n border: none;\n align-self: flex-end;\n margin-top: 10px;\n &.submit {\n background-color: ${color.hsbc_red};\n color: ${color.white};\n margin-bottom: 20px;\n }\n }\n\n h1 {\n font-size: 1.75rem;\n font-weight: 400;\n line-height: 36px;\n margin: 0px;\n margin-bottom: 12px;\n }\n\n h2 {\n margin-top: 30px;\n margin-bottom: 9px;\n font-size: 1rem;\n font-weight: normal;\n line-height: 19px;\n }\n .no-response {\n font-size: 1rem;\n font-weight: 400;\n line-height: 24px;\n }\n\n .foot {\n position: relative;\n .declined-button {\n width: 100%;\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(CheckMobile));\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport InputCredential from \"components/Logon/InputCredential\";\nimport GenericOTP from \"components/OTPVerify/GenericOTP\";\nimport AcceptTerms from \"components/Logon/AcceptTerms\";\nimport CheckMobile from \"components/Logon/CheckMobile\";\nimport { changeIdleTimeOutValid } from \"util/service\";\nimport { connect } from \"react-redux\";\nimport { injectIntl } from \"react-intl\";\nimport { languageActions } from \"actions/languageAction\";\nimport { sendCodeIsLoading } from \"actions/sendCodeAction\";\n\nconst mapStateToProps = state => {\n return {\n error: state.logon.error\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n sendCodeIsLoading: payload => dispatch(sendCodeIsLoading(payload)),\n hideSelectOption: isHideLanguageSelect =>\n dispatch(languageActions.hideSelectOption(isHideLanguageSelect))\n };\n};\n\nclass Logon extends Component {\n constructor(props) {\n super(props);\n this.state = {\n step: \"\"\n };\n this.mappedStepToComponent = this.mappingStepToComponent();\n this.loadedComponents = {};\n }\n\n mappingStepToComponent = () => {\n return [\n {\n step: \"INPUT_CREDENTIAL\",\n component: (\n \n )\n },\n {\n step: \"GENERIC_OTP\",\n component: (\n \n )\n },\n {\n step: \"ACCEPT_TERMS\",\n component: (\n \n )\n },\n {\n step: \"CHECK_MOBILE\",\n component: (\n \n )\n }\n ];\n };\n\n componentDidMount() {\n this.props.sendCodeIsLoading(false);\n this.props.afterLoad(this.loadedComponents, this);\n this.jumpTo(\"INPUT_CREDENTIAL\");\n changeIdleTimeOutValid(false);\n\n localStorage.setItem(\"guid\", \"\");\n sessionStorage.removeItem(\"counter\");\n sessionStorage.removeItem(\"isOtpError\");\n sessionStorage.removeItem(\"nickKey\");\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.currentStep !== this.state.step) {\n this.setState((prevState, props) => {\n return { ...prevState, step: nextProps.currentStep };\n });\n }\n }\n\n processJsonData = (jsonData, actionContext, clientContext) => {\n clientContext.jsonData = jsonData;\n return Promise.resolve(\n window.com.ts.mobile.sdk.JsonDataProcessingResult.create(true)\n );\n };\n\n storeThis = (name, that) => {\n this.loadedComponents[name] = that;\n };\n\n jumpTo = step => {\n const renderedComponent = _.find(\n this.mappedStepToComponent,\n item => step === item.step\n );\n this.setState({\n renderedComponent: renderedComponent.component\n });\n };\n\n render() {\n return (\n
{this.state.renderedComponent}
\n );\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(Logon));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { history } from \"util/history\";\n\nclass FullScreenMsg extends Component {\n onConfirmationClick = () => {\n history.push(\"/logon\");\n };\n\n componentDidMount() {\n document.addEventListener(\"keydown\", this.onkeydown);\n }\n componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.onkeydown);\n }\n onkeydown = event => {\n if (event.keyCode === 32 || event.keyCode === 13) {\n history.push(\"/logon\");\n }\n };\n\n render() {\n return (\n \n
\n
\n \n
\n
\n

\n {this.props.intl.formatMessage({\n id: this.props.title\n })}\n

\n
\n
\n

\n {this.props.intl.formatMessage({\n id: this.props.content\n })}\n

\n
\n
\n this.onkeydown(e)}\n data-testid=\"fullscreenMsg-button-testid\"\n >\n \n \n
\n
\n
\n );\n }\n}\n\nconst ModalContainer = styled.div`\n width: 100%;\n //background-color: #253038;\n background: #ffffff;\n background-size: cover;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n min-height: calc(100vh - 110px);\n position: relative;\n .wrapper {\n position: absolute;\n top: 92px;\n @media (min-width: 768px) {\n top: 24%;\n }\n @media (max-width: 320px) {\n top: 27px;\n }\n\n button {\n background-color: rgb(219, 0, 17);\n color: #fff;\n border: 0;\n height: 46px;\n light-height: 46px;\n font-size: 16px;\n width: 25%;\n @media (max-width: 768px) {\n width: 50%;\n }\n }\n\n .fullscreenMsg-bigIcon {\n text-align: center;\n margin-bottom: 24px;\n .icon--triangle-error {\n font-size: 40px;\n }\n .error-icon {\n font-size: 58px;\n color: #a8000b;\n }\n @media (min-width: 415px) and (max-width: 1024px) {\n .error-icon {\n font-size: 40px;\n }\n }\n @media (max-width: 414px) {\n .error-icon {\n font-size: 36px;\n }\n }\n }\n .fullscreenMsg-title {\n h1 {\n margin-bottom: 20px;\n height: 36px;\n width: 307px;\n color: #545454;\n font-family: \"Univers Next for HSBC\";\n font-size: 28px;\n font-weight: 100;\n line-height: 36px;\n text-align: center;\n width: 100%;\n }\n }\n .fullscreenMsg-content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n p {\n color: #545454;\n font-family: \"Univers Next for HSBC\";\n font-size: 16px;\n font-weight: 300;\n line-height: 24px;\n text-align: center;\n width: 65%;\n }\n @media (min-width: 1024px) and (max-width: 1440px) {\n p {\n width: 58%;\n }\n }\n @media (max-width: 414px) {\n p {\n width: 100%;\n padding: 0 29px;\n }\n }\n }\n .fullscreenMsg-button {\n text-align: center;\n }\n }\n`;\nexport default injectIntl(FullScreenMsg);\n","import React, { Component } from \"react\";\nimport FullScreenContainer from \"components/common/FullScreenContainer\";\nimport styled from \"styled-components\";\nimport { connect } from \"react-redux\";\nimport { languageActions } from \"actions/languageAction\";\nimport { injectIntl } from \"react-intl\";\n\nconst mapDispatchToProps = dispatch => {\n return {\n hideSelectOption: isHideLanguageSelect =>\n dispatch(languageActions.hideSelectOption(isHideLanguageSelect))\n };\n};\n\nclass RestrictedAccess extends Component {\n constructor(props) {\n super(props);\n window.tealiumHub.PT020();\n }\n\n componentDidMount() {\n this.props.hideSelectOption(false);\n }\n\n render() {\n const content = \"restrictedAccess.content\";\n const title = \"restrictedAccess.title\";\n return (\n \n \n \n );\n }\n}\n\nconst RestrictedAccessContainer = styled.div`\n width: 100%;\n @media (max-width: 414px) {\n .wrapper {\n margin-top: 60px;\n }\n }\n @media (max-width: 360px) {\n .wrapper {\n margin-top: 40px;\n }\n }\n @media (max-width: 320px) {\n .wrapper {\n margin-top: 16px;\n }\n }\n`;\n\nexport default connect(\"\", mapDispatchToProps)(injectIntl(RestrictedAccess));\n","import React from \"react\";\nimport FullScreenContainer from \"components/common/FullScreenContainer\";\nimport styled from \"styled-components\";\n\nconst UnsupportedBrowser = () => {\n const content = \"unsupportedBrowser.content\";\n const title = \"unsupportedBrowser.title\";\n return (\n \n \n \n );\n};\n\nconst UnsupportedBrowserContainer = styled.div`\n width: 100%;\n @media (max-width: 1024px) and (min-width: 769px) {\n .wrapper {\n margin-top: 59px;\n .wrapper .fullscreenMsg-content p {\n width: 51%;\n }\n }\n }\n @media (max-width: 414px) {\n .wrapper {\n margin-top: 60px;\n }\n }\n @media (max-width: 360px) {\n .wrapper {\n margin-top: 40px;\n }\n }\n @media (max-width: 320px) {\n .wrapper {\n margin-top: 16px;\n }\n }\n @media (min-width: 1440px) {\n .wrapper .fullscreenMsg-content p {\n width: 47%;\n }\n }\n`;\n\nexport default UnsupportedBrowser;\n","import React from \"react\";\nimport FullScreenContainer from \"components/common/FullScreenContainer\";\n\nconst ErrorCode = props => {\n const content =\n props.match.params.errorCode === \"NO_SESSION\"\n ? \"zuulError.content.nosession\"\n : \"zuulError.content.systemerror\";\n const title =\n props.match.params.errorCode === \"NO_SESSION\"\n ? \"NO SESSION\"\n : \"zuulError.title\";\n return ;\n};\n\nexport default ErrorCode;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { history } from \"util/history\";\nimport { injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport _ from \"lodash\";\n\nconst mapStateToProps = state => {\n return {\n lockedAccountError: state.lockedAccount.error\n };\n};\nconst region = envConfig.realm ? envConfig.realm : \"\";\n\nconst contactMap = {\n HK: {\n copy: {\n \"en-HK\": \"Hong Kong support hotline\",\n \"zh-sim-HK\": \"香港支援热线\",\n \"zh-trd-HK\": \"香港支援熱線\"\n },\n phone: \"(852) 3604 0303\",\n email: \"digital.client.services.asia@hsbcpb.com\"\n },\n SG: {\n copy: {\n \"en-HK\": \"Singapore support hotline\",\n \"zh-sim-HK\": \"新加坡支援热线\",\n \"zh-trd-HK\": \"新加坡支援熱線\"\n },\n phone: \"(65) 6658 2707\",\n email: \"digital.client.services.asia@hsbcpb.com\"\n }\n};\nclass CommonLockedAccount extends Component {\n constructor(props) {\n super(props);\n }\n renderDisplayMessage(warningMsg) {\n const lang = this.props.intl.locale;\n const phoneTxt = contactMap[region] ? contactMap[region].phone : \"\";\n const eMailTxt = contactMap[region] ? contactMap[region].email : \"\";\n let HelpLineTxt = \"\";\n if (contactMap[region]) {\n HelpLineTxt =\n region === \"HK\" || region === \"SG\"\n ? contactMap[region][\"copy\"][lang]\n : contactMap[\"copy\"];\n }\n const replaceHotLineTxt = _.replace(\n this.props.intl.formatMessage({\n id: warningMsg\n }),\n \"{HelpLineTxt}\",\n HelpLineTxt\n );\n const replacePhoneTxt = _.replace(\n replaceHotLineTxt,\n \"{RM_PhoneNO}\",\n phoneTxt\n );\n return _.replace(replacePhoneTxt, \"{Emaill_Address}\", eMailTxt);\n }\n render() {\n let titleIcon = ;\n let warningMsg;\n let confirmationBtnTitle;\n let onConfirmationClick;\n const errorCode =\n history.location.state && history.location.state.errorCode;\n let modalTitle = \"commonLockedAccount.title\";\n\n let modalAriaTitle = \"commonLockedAccount.ariaTitle\";\n const backToLogonText = \"commonLockedAccount.label.backToLogon\";\n const fullLockBackToLogonText = \"fullLockedAccount.label.backToLogon\";\n const unknownText = \"commonLockedAccount.warning.unknown\";\n const titleText = \"commonLockedAccount.warning.noConnection.title\";\n const noConnectionBackToLogonText =\n \"commonLockedAccount.warning.noConnection.backToLogon\";\n const registratedErrorText = \"registration.error\";\n\n switch (errorCode) {\n case \"passwordLock\":\n warningMsg = \"commonLockedAccount.warning.passwordLock\";\n confirmationBtnTitle = backToLogonText;\n onConfirmationClick = () => {\n window.tealiumHub.ET004(backToLogonText);\n history.push(\"/resetPassword\");\n };\n window.tealiumHub.PT003();\n\n break;\n case \"fullaccountLock\":\n warningMsg = \"fullLockedAccount.warning.detail\";\n confirmationBtnTitle = fullLockBackToLogonText;\n onConfirmationClick = () => {\n window.tealiumHub.ET005(fullLockBackToLogonText);\n history.push(\"/logon\");\n };\n window.tealiumHub.PT004();\n break;\n case \"genericAccountLock\":\n warningMsg = \"reset.pwd.account.lock.warning.detail\";\n onConfirmationClick = () => {\n window.tealiumHub.ET005(fullLockBackToLogonText);\n history.push(\"/logon\");\n };\n window.tealiumHub.PT004();\n break;\n case \"securityQuestionLock\":\n warningMsg = \"securityQuestionLock.warning.detail\";\n confirmationBtnTitle = \"securityQuestionLock.label.backToLogon\";\n onConfirmationClick = () => history.push(\"/logon\");\n\n break;\n case \"Unkown\":\n warningMsg = unknownText;\n modalTitle = unknownText;\n modalAriaTitle = unknownText;\n confirmationBtnTitle = backToLogonText;\n onConfirmationClick = () => history.push(\"/logon\");\n window.tealiumHub.ET046(unknownText);\n break;\n case \"noConnection\":\n titleIcon = ;\n warningMsg = \"commonLockedAccount.warning.noConnection.detail\";\n modalTitle = titleText;\n modalAriaTitle = titleText;\n confirmationBtnTitle = noConnectionBackToLogonText;\n onConfirmationClick = () => history.push(\"/logon\");\n if (\n window.location.href.indexOf(\"33\") === -1 &&\n window.location.href.indexOf(\"001\") === -1\n ) {\n window.tealiumHub.ET046(titleText);\n }\n break;\n case \"genericWrongCredential\":\n titleIcon = ;\n warningMsg = \"login.general.wrong.credential.content\";\n modalTitle = \"login.general.wrong.credential.title\";\n modalAriaTitle = \"login.general.wrong.credential.title\";\n confirmationBtnTitle = noConnectionBackToLogonText;\n onConfirmationClick = () => history.push(\"/logon\");\n break;\n case \"globalGenericAccountLock\":\n warningMsg = \"generic.lock.account.warning.detail\";\n modalTitle = \"login.general.lock.account.title\";\n confirmationBtnTitle =\n \"login.general.lock.account.to.reset.pwd\";\n onConfirmationClick = () => {\n window.tealiumHub.ET004(backToLogonText);\n history.push(\"/resetPassword\");\n };\n window.tealiumHub.PT004();\n break;\n case \"registrationOtpError\":\n titleIcon = ;\n warningMsg = \"registration.otp.error\";\n modalTitle = registratedErrorText;\n modalAriaTitle = registratedErrorText;\n confirmationBtnTitle = noConnectionBackToLogonText;\n onConfirmationClick = () => history.push(\"/logon\");\n break;\n case \"registrationOtpErrorThreeTimes\":\n titleIcon = ;\n warningMsg = \"registration.error.three.times\";\n modalTitle = registratedErrorText;\n modalAriaTitle = registratedErrorText;\n confirmationBtnTitle = noConnectionBackToLogonText;\n onConfirmationClick = () => history.push(\"/logon\");\n break;\n default: {\n history.push(\"/logon\");\n return null;\n }\n }\n\n return (\n \n \n {this.renderDisplayMessage(warningMsg)}\n \n \n );\n }\n}\n\nconst CommonLockedAccountContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n width: 93%;\n`;\n\nexport default connect(mapStateToProps)(injectIntl(CommonLockedAccount));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { connect } from \"react-redux\";\nimport { history } from \"util/history\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\n\nconst mapStateToProps = state => ({\n otpType: state.currentOTPType.otpType\n});\n\nclass NoContactDetails extends Component {\n componentDidMount() {\n window.tealiumHub.PT002();\n console.log(\"NoContactDetails with otpType \", this.props.otpType);\n }\n\n handleClick = () => {\n window.tealiumHub.ET003(\"noContactDetails.label.backToLogon\");\n history.push(\"/logon\");\n };\n\n render() {\n const isOtpTypeSMS = this.props.otpType === \"SMS\";\n const titleIcon = ;\n const title = isOtpTypeSMS\n ? \"noContactDetails.title\"\n : \"EmailOTPNoContact.title\";\n const ariaTitle = isOtpTypeSMS\n ? \"noContactDetails.ariaTitle\"\n : \"EmailOTPNoContact.ariaTitle\";\n const confirmationBtnTitle = isOtpTypeSMS\n ? \"noContactDetails.label.backToLogon\"\n : \"EmailOTPNoContact.btn\";\n const id = isOtpTypeSMS\n ? \"noContactDetails.label.container\"\n : \"EmailOTPNoContact.body\";\n\n return (\n \n \n \n \n \n );\n }\n}\nexport default connect(mapStateToProps)(injectIntl(NoContactDetails));\n\nconst NoContactDetailsContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n`;\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n gvLogon: state.logon\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {};\n};\n\nclass GvResult extends Component {\n render() {\n return (\n
\n {\n const formSelelctor = document.getElementById(\n \"link-profile-form\"\n );\n formSelelctor.submit();\n }}\n confirmationBtnTitle=\"gvResult.label.backToPremier\"\n >\n \n
\n \n {this.props.intl.formatMessage({\n id: \"gvResult.content\"\n })}\n
\n
\n \n \n \n \n \n
\n );\n }\n}\n\nconst GvResultContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n .success {\n color: #4faf00;\n margin-right: 4px !important;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(GvResult));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { history } from \"util/history\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\nimport { logonActions } from \"actions/logonAction\";\n\nconst mapStateToProps = state => {\n return {\n gvLogon: state.logon\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {\n switchToGVLogin: payload =>\n dispatch(logonActions.switchToGVLogin(payload))\n };\n};\n\nclass GvError extends Component {\n render() {\n return (\n
\n \n \n }\n onConfirmationClick={() => {\n history.go(-2);\n }}\n confirmationBtnTitle=\"gvResult.label.backToPremier\"\n >\n \n
\n {this.props.intl.formatMessage({\n id: \"gvResult.error.content\"\n })}\n
\n
\n \n
\n \n \n \n \n
\n );\n }\n}\n\nconst GvErrorContianer = styled.div`\n .gv-icon-margin {\n margin-top: 38px;\n font-size: 24px !important;\n }\n`;\nconst GvResultContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 38px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n .success {\n color: #4faf00;\n }\n .gv-icon-margin {\n margin-top: 38px;\n font-size: 24px !important;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(GvError));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n gvLogon: state.logon\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {};\n};\n\nclass GvSSOError extends Component {\n render() {\n return (\n \n \n }\n onConfirmationClick={() => {\n window.close();\n }}\n confirmationBtnTitle=\"gvResult.label.closeWindow\"\n >\n \n
\n {this.props.intl.formatMessage({\n id: \"gvResult.error.sso.content\"\n })}\n
\n
\n \n
\n );\n }\n}\nconst GVSSOErrorContainer = styled.div`\n .gv-icon-margin {\n margin-top: 38px;\n font-size: 24px !important;\n }\n`;\nconst GvResultContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n .success {\n color: #4faf00;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(GvSSOError));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { history } from \"util/history\";\nimport SecurityModal from \"../common/SecurityModal\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n gvLogon: state.logon\n };\n};\nconst mapDispatchToProps = dispatch => {\n return {};\n};\n\nclass GvMessage extends Component {\n render() {\n return (\n
\n \n \n }\n onConfirmationClick={() => {\n history.push(\"/logon\");\n }}\n confirmationBtnTitle=\"gvResult.error.backToLogon\"\n >\n \n
\n

\n {this.props.intl.formatMessage({\n id: \"gvResult.error.gvmessage.content1\"\n })}\n

\n

\n {this.props.intl.formatMessage({\n id: \"gvResult.error.gvmessage.content2\"\n })}\n

\n
\n
\n \n
\n
\n );\n }\n}\n\nconst GvMessageContianer = styled.div`\n .gv-icon-margin {\n margin-top: 38px;\n font-size: 24px !important;\n }\n`;\nconst GvResultContainer = styled.div`\n margin-top: 20px;\n margin-bottom: 30px;\n font-size: 16px;\n font-weight: 300;\n line-height: 19px;\n .success {\n color: #4faf00;\n }\n .gv-icon-margin {\n margin-top: 38px;\n font-size: 24px !important;\n }\n .gvmessage-content-top {\n margin-bottom: 0px;\n }\n .gvmessage-content-bottom {\n margin-top: 0px;\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(GvMessage));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { injectIntl } from \"react-intl\";\nimport backgroundKaleidoTl from \"assets/image/dsp_background_tl.png\";\nimport backgroundKaleidoTp from \"assets/image/dsp_background_tp.png\";\nimport backgroundKaleidoDt from \"assets/image/dsp_background_dt.png\";\nimport backgroundKaleidoMb from \"assets/image/dsp_background_mb.png\";\n\nclass AppBackgroundKaleido extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n \n
\n
\n );\n }\n}\n\nconst BackgroundKaleido = styled.div`\n // height: 100%;\n .kaleido {\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n text-align: right;\n\n @media (min-width: 1440px) {\n width: 50%;\n background: url(${backgroundKaleidoDt});\n background-size: 100%;\n background-repeat: no-repeat;\n }\n\n @media (min-width: 1020px) and (max-width: 1439px) {\n width: 50%;\n background: url(${backgroundKaleidoTl});\n background-size: 100%;\n background-repeat: no-repeat;\n }\n\n @media (min-width: 450px) and (max-width: 1019px) {\n width: 50%;\n background: url(${backgroundKaleidoTp});\n background-size: 100%;\n background-repeat: no-repeat;\n }\n\n @media (max-width: 449px) {\n width: 100%;\n background: url(${backgroundKaleidoMb});\n background-size: 100%;\n background-repeat: no-repeat;\n }\n }\n`;\n\nexport default injectIntl(AppBackgroundKaleido);\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { color } from \"util/color\";\nimport { languageActions } from \"actions/languageAction\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\nconst mapStateToProps = state => {\n return {\n alreadyInitMLContainer: state.languageSession.alreadyInitMLContainer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n hideSelectOption: isHideLanguageSelect =>\n dispatch(languageActions.hideSelectOption(isHideLanguageSelect))\n };\n};\nconst NoticeContent = props => {\n return (\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.subTitle\"\n })}\n

\n \n
\n
\n \n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.descript.title\"\n })}\n

\n
    \n
  • \n \n props.scrollToAnchor(\"whatarecookies\")\n }\n data-testid=\"ccmLink\"\n >\n {props.locale &&\n (props.locale === \"en-LU\" ||\n props.locale === \"fr-LU\")\n ? props.lang.formatMessage({\n id: \"cookies.what.title.fr\"\n })\n : props.lang.formatMessage({\n id: \"cookies.what.title\"\n })}\n \n
  • \n
  • \n props.scrollToAnchor(\"cookiesweuse\")}\n data-testid=\"ccmLink\"\n >\n {props.lang.formatMessage({\n id: \"cookies.we.use.title\"\n })}\n \n
  • \n
  • \n \n props.scrollToAnchor(\"cookiepreferences\")\n }\n data-testid=\"ccmLink\"\n >\n {props.lang.formatMessage({\n id: \"cookies.how.we.title\"\n })}\n \n
  • \n
  • \n \n props.scrollToAnchor(\"browsersettings\")\n }\n data-testid=\"ccmLink\"\n >\n {props.lang.formatMessage({\n id: \"cookies.browser.setting.title\"\n })}\n \n
  • \n
  • \n props.scrollToAnchor(\"ourwebsites\")}\n data-testid=\"ccmLink\"\n >\n {props.lang.formatMessage({\n id: \"cookies.our.website.title\"\n })}\n \n
  • \n
  • \n props.scrollToAnchor(\"privacy\")}\n data-testid=\"ccmLink\"\n >\n {props.lang.formatMessage({\n id: \"cookies.privacy.title\"\n })}\n \n
  • \n
\n

\n {props.lang.formatMessage({\n id: \"cookies.predescript.1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.predescript.2\"\n })}\n

\n props.popUpModal()}\n data-testid=\"ccmButton\"\n >\n {props.lang.formatMessage({\n id: \"cookies.setting.btn\"\n })}\n \n
\n {middleContent(props)}\n props.scrollToAnchor(\"starttotop\")}\n data-testid=\"ccmBackToTop\"\n >\n \n \n {props.lang.formatMessage({\n id: \"cookies.back.top\"\n })}\n \n \n  \n
\n \n );\n};\n\nconst middleContent = props => {\n return (\n
\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.what.title\"\n })}\n

\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.what.content\"\n })}\n

\n
\n {longTableContent(props)}\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.remember.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.remember.content1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.remember.content2\"\n })}\n

\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.setting.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.setting.conten1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.setting.conten2\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.setting.conten3\"\n })}\n

\n {props.locale &&\n (props.locale === \"en-LU\" || props.locale === \"fr-LU\")\n ? props.lang.formatMessage({\n id: \"cookies.setting.conten4\"\n })\n : \"\"}\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.our.site.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.our.site.content\"\n })}\n \n

\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.privacy.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.privacy.content\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.privacy.content.1\"\n })}{\" \"}\n \n {props.lang.formatMessage({\n id: \"cookies.policy.link\"\n })}\n \n

\n
\n
\n );\n};\n\nconst longTableContent = props => {\n return (\n
\n
\n
\n

\n {props.lang.formatMessage({\n id: \"cookies.use.title\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.2\"\n })}{\" \"}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.2\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.3\"\n })}{\" \"}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.3\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.4\"\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 {props.lang.formatMessage({\n id: \"cookies.use.table.content\"\n })}\n

\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.title.left\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.title.right\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.right.1\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.left.1\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.right.2\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.left.2\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.right.3\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.left.3\"\n })}\n
\n

\n {\" \"}\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.optional\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.optional.content.1\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.optional.content.2\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.optional.content.3\"\n })}\n

\n

\n {\" \"}\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.5\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.7\"\n })}\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.8\"\n })}\n

\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.3.title.left\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.3.title.right\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.3.content.left\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.3.content.right\"\n })}\n
\n {bottomTable(props)}\n
\n
\n );\n};\n\nconst bottomTable = props => {\n return (\n
\n

\n {\" \"}\n {props.lang.formatMessage({\n id: \"cookies.use.subtitle.6\"\n })}\n

\n

\n {props.lang.formatMessage({\n id: \"cookies.use.content.9\"\n })}\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

\n {props.lang.formatMessage({\n id: \"cookies.use.table.content\"\n })}\n

\n
\n {props.lang.formatMessage({\n id: \"cookies.support.market.table.title.left\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.support.market.table.title.right\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.4.left.1\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.4.right.1\"\n })}\n
\n {props.lang.formatMessage({\n id: \"cookies.use.table.4.left.2\"\n })}\n \n {props.lang.formatMessage({\n id: \"cookies.use.table.4.right.2\"\n })}\n
\n
\n );\n};\n\nclass CookieNotice extends Component {\n constructor(props) {\n super(props);\n }\n scrollToAnchor = anchorName => {\n if (anchorName) {\n const anchorEle = document.getElementById(anchorName);\n if (anchorEle && anchorEle.scrollIntoView) {\n anchorEle.scrollIntoView({\n block: \"start\",\n behavior: \"smooth\"\n });\n }\n }\n };\n componentDidMount() {\n this.props.alreadyInitMLContainer && this.props.hideSelectOption(false);\n }\n componentWillUnmount() {\n const settingModal = document.getElementById(\"__tealiumGDPRcpPrefs\");\n if (settingModal) {\n settingModal.parentNode.removeChild(settingModal);\n }\n }\n popUpModal = () => {\n console.log(\"pop up start\");\n try {\n window.utag.gdpr.showConsentPreferences();\n } catch {\n console.error(\"pop up function not ready\");\n }\n };\n\n render() {\n return (\n \n
\n
\n \n
\n
\n
\n );\n }\n}\n\nconst NoticeWrapper = styled.div`\n.page-nav-container{\n margin:40px 0px;\n}\n.page-nav-ol{\n list-style-type: none;\n display: flex;\n padding-inline-start: 0px;\n \n}\n.page-nav-li-1{\n \n a{\n text-decoration: none;\n font-size: 16px;\n }\n .icon{\n color: #af000d;\n font-size: 20px;\n margin-left: 6px;\n \n }\n .right{\n width:10px;\n }\n}\n.page-nav-li-2{\n font-weight: 700;\n margin-top: 2px;\n margin-left: 10px;\n font-size: 1rem;\n}\n}\n.title-hr{\n border-top:1px solid #d7d8d6;\n height:1px;\n display: block;\n}\n .notice-list-view-all li {\n cursor: pointer;\n }\n .back-to-top {\n cursor: pointer;\n margin-bottom: 40px;\n }\n h2 {\n font-weight: 400;\n line-height: 1.2;\n font-size: 1.5625rem;\n text-align: left;\n padding-left: 15px;\n border-left: 5px solid #ec3a3a00;\n color: #333;\n display: block;\n line-height: 1.2;\n position: relative;\n }\n h2:after {\n right: auto;\n left: -5px;\n background: #db0011;\n content: \"\";\n display: block;\n width: 5px;\n position: absolute;\n height: 63%;\n top: 0.24em;\n bottom: 0.24em;\n }\n h2:not(:first-child) {\n margin-top: 40px;\n }\n h3 {\n font-weight: 300;\n font-size: 1.5625rem;\n margin: 20px 0px;\n }\n h4 {\n font-size: 1.25rem;\n font-weight: 300;\n }\n table {\n background: #fff;\n border-collapse: collapse;\n table-layout: fixed;\n width: 100%;\n margin-bottom: 40px;\n margin-top: 20px;\n }\n table th {\n border: 1px solid #b6b7b6;\n word-wrap: break-word;\n background: #ededed;\n font-size: 0.875rem;\n text-align: left;\n color: #4d6474;\n font-weight: bold;\n line-height: 1.2;\n }\n table td {\n text-align: left;\n font-size: 0.875rem;\n border: 1px solid #b6b7b6;\n word-wrap: break-word;\n }\n td,\n th {\n vertical-align: top;\n }\n caption {\n text-align: left;\n }\n font-size: 14px;\n background-color: rgb(255, 255, 255);\n border-bottom: 2px solid transparent;\n border-top: 2px solid transparent;\n border-image: linear-gradient(to top, rgba(255, 255, 255, 0), #d7d8d6);\n border-image-slice: 10;\n width: 100%;\n display: flex;\n a {\n text-decoration: underline;\n color: inherit;\n }\n .center {\n width: 50%;\n padding: 2.625rem 0rem 0rem 0rem;\n }\n .left {\n width: 15%;\n }\n .right {\n width: 35%;\n }\n @media (max-width: 960px) {\n .center {\n width: 70%;\n }\n .left {\n width: 15%;\n }\n .right {\n width: 15%;\n }\n }\n @media (max-width: 320px) {\n .center {\n width: 90%;\n }\n .left {\n width: 5%;\n }\n .right {\n width: 5%;\n }\n table th {\n padding: 0.25rem 0.25rem 0.25rem 0.25rem;\n }\n table td {\n padding: 0.25rem 0.25rem 0.25rem 0.25rem;\n }\n }\n @media (min-width: 960px) {\n padding: 3.75rem 0rem 0rem 0rem;\n h2,\n h3 {\n font-size: 1.75rem;\n }\n table th {\n padding: 1.25rem 1.25rem 1.25rem 1.25rem;\n }\n table td {\n padding: 1.25rem 1.25rem 1.25rem 1.25rem;\n }\n h2:after {\n top: 0.22em;\n bottom: 0.25em;\n }\n .title-hr{\n margin:3.75rem 0rem 1.25rem 0rem ;\n }\n }\n @media (min-width: 480px) {\n padding: 3.375rem 0rem 0rem 0rem;\n table th {\n padding: 1.125rem 1.125rem 1.125rem 1.125rem;\n }\n table td {\n padding: 1.125rem 1.125rem 1.125rem 1.125rem;\n }\n .title-hr{\n margin:3.75rem 0rem 1.125rem 0rem ;\n }\n }\n @media (min-width: 320px) {\n padding: 0rem 0rem 0rem 0rem;\n }\n .privacyNotice{\n color: #006efd !important;\n font-weight:300 !important;\n }\n .btn--confirm {\n margin: 40px 0px;\n display: ${props => (props.confirmationBtnDisabled ? \"none\" : \"block\")};\n ${props => {\n if (props.confirmationBtnStyle) {\n return props.confirmationBtnStyle;\n }\n return `\n @media (max-width: 414px) {\n cursor: pointer;\n padding: 14px 20px 16px 20px;\n background-color: ${color.hsbc_red};\n color: ${color.white};\n font-weight: normal;\n line-height: 16px;\n border: none;\n width: ${props.hideBorderTop ? \"100%\" : \"auto\"};\n }\n @media (min-width: 415px) {\n cursor: pointer;\n padding: 14px 20px 16px 20px;\n background-color: ${color.hsbc_red};\n color: ${color.white};\n font-weight: normal;\n line-height: 16px;\n border: none;\n width: ${props.hideBorderTop ? \"40%\" : \"auto\"};\n }\n `;\n }};\n }\n`;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(CookieNotice));\n","import React, { Component } from \"react\";\nimport styled from \"styled-components\";\nimport { envConfig } from \"env-config\";\nimport { color } from \"util/color\";\nimport { injectIntl } from \"react-intl\";\nimport { Button, Radio } from \"hsbc-pb-sdk\";\nimport { languageActions } from \"actions/languageAction\";\nimport { connect } from \"react-redux\";\n\nconst mapStateToProps = state => {\n return {\n isShowContianer: state.languageSession.isShowContianer\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateLanguage: (languageSlectList, locale) =>\n dispatch(languageActions.updateLanguage(languageSlectList, locale)),\n showMobileLanguageContainer: isShowContianer =>\n dispatch(\n languageActions.showMobileLanguageContainer(isShowContianer)\n )\n };\n};\n\nclass LanguageSelectContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n value:\n this.props.selectedLang && this.props.selectedLang !== \"\"\n ? this.props.selectedLang\n : \"en-HK\"\n };\n }\n handleChange = (e, value) => {\n this.setState({ value });\n };\n promiseUpdateLanguage = result => {\n const updateFunc = this.props.updateLanguage;\n return new Promise((resolutionFunc, rejectionFunc) => {\n updateFunc(result);\n resolutionFunc(\"yes\");\n });\n };\n updateLanguage = () => {\n this.promiseUpdateLanguage(this.state.value).then(\n this.props.showMobileLanguageContainer(\"false\")\n );\n };\n closeContainer = () => {\n this.props.showMobileLanguageContainer(\"false\");\n };\n render() {\n const items = [];\n envConfig.languageSlectList &&\n envConfig.languageSlectList.map(item => {\n items.push({\n label: item.text,\n value: item.locale\n });\n });\n return (\n \n \n \n
\n
\n
\n
\n

\n {this.props.intl.formatMessage({\n id: \"select.language.label\"\n })}\n

\n
\n\n \n \n
\n \n \n \n \n
\n );\n }\n}\n\nconst LanguageSelectBox = styled.div`\n .languageContinerOverLay {\n width: 100%;\n height: 100%;\n background-color: #000;\n filter: alpha(opacity=50);\n -moz-opacity: 0.5;\n opacity: 0.5;\n position: absolute;\n left: 0px;\n top: 0px;\n /* display: none; */\n display: ${props =>\n props.isshowcontianer && props.isshowcontianer === \"true\"\n ? \"block\"\n : \"none\"};\n z-index: 1000;\n }\n .languageContiner {\n width: 100%;\n display: ${props =>\n props.isshowcontianer && props.isshowcontianer === \"true\"\n ? \"flex\"\n : \"none\"};\n position: fixed;\n bottom: 0px;\n rigth: 0px;\n background-color: #ffffff;\n z-index: 1500;\n flex-direction: column;\n border-radius: 4px 0 0 4px;\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\n .language-radio-group {\n margin-bottom: 20px;\n .radio {\n border: 1px solid #f3f3f3;\n padding-left: 20px;\n }\n }\n\n .language-done-buton {\n background-color: ${color.hsbc_red};\n color: ${color.white};\n border: 0px;\n width: 85%;\n margin-left: 2rem;\n margin-bottom: 20px;\n }\n .title-box {\n display: flex;\n flex-direction: row;\n justify-content: center;\n .text-box {\n color: #545454;\n font-size: 19px;\n letter-spacing: 0;\n line-height: 23px;\n text-align: center;\n flex: 1;\n position: relative;\n .text-pull {\n height: 4px;\n width: 40px;\n border-radius: 4px;\n background-color: rgba(178, 178, 178, 0.5);\n position: absolute;\n top: 9px;\n left: 43%;\n }\n }\n .language-title {\n }\n\n .close-button {\n color: #545454;\n line-height: 61px;\n width: 30px;\n }\n }\n }\n\n .hsbc-ui.radio-group legend {\n display: none;\n }\n`;\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(injectIntl(LanguageSelectContainer));\n","import React, { Component } from \"react\";\nimport { Router, Route, Switch, Redirect } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport _ from \"lodash\";\nimport \"./app.scss\";\n\nimport AppHeader from \"components/common/AppHeader\";\nimport AppFooter from \"components/common/AppFooter\";\nimport LoginHelper from \"components/LoginHelper\";\nimport ModalPage from \"components/ModalPage\";\nimport ResetPassword from \"components/ResetPassword\";\nimport Registration from \"components/Registration\";\nimport Logon from \"components/Logon\";\nimport RestrictedAccess from \"components/Exceptions/RestrictedAccess\";\nimport UnsupportedBrowser from \"components/Exceptions/UnsupportedBrowser\";\nimport ErrorCode from \"components/Exceptions/ErrorCode\";\nimport CommonLockedAccount from \"components/Exceptions/CommonLockedAccount\";\nimport NoContactDetails from \"components/Exceptions/NoContactDetails\";\nimport AcceptTerms from \"components/Logon/AcceptTerms\";\nimport { history } from \"util/history\";\nimport {\n promiseInitializedTransmitSdk,\n unSupportedBrowsers,\n switchselectedLangForDocTitle\n} from \"util/service\";\nimport { connect } from \"react-redux\";\nimport { FormattedMessage, injectIntl } from \"react-intl\";\nimport { envConfig } from \"env-config\";\nimport GvResult from \"components/GvResult/GvResult\";\nimport GvError from \"components/GvResult/GvError\";\nimport GvSSOError from \"components/GvResult/GvSSOError\";\nimport GvMessage from \"components/GvResult/GvMessage\";\nimport AppBackgroundKaleido from \"components/common/AppBackgroundKaleido\";\nimport CookieNotice from \"components/CCM/CookieNotice\";\nimport LanguageSelectContainer from \"components/common/LanguageSelectContainer\";\nimport { lockedTypeActions } from \"./actions/lockedTypeAction\";\nimport { logonActions } from \"./actions/logonAction\";\nimport { currentOTPTypeActions } from \"./actions/currentOTPTypeAction\";\nimport { resetPasswordActions } from \"actions/resetPasswordAction\";\nimport { emailOtpLit } from \"actions/contactOptionsAction\";\nimport emailOTPcfg from \"./emailOTP-config\";\n\nconst isRealmCH = envConfig.realm === emailOTPcfg.realm;\n\nconst mapStateToProps = state => {\n return {\n selectedLang: state.languageSession.selectedLang,\n lockedType: state.lockedType.type\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n dispatchAction: dispatch,\n resetState: () => {\n dispatch(lockedTypeActions.resetState());\n },\n updateCurrentOTPType: otpType => {\n dispatch(currentOTPTypeActions.updateCurrentOTPType(otpType));\n },\n isLoading: payload =>\n dispatch(resetPasswordActions.validateUsernameIsLoading(payload)),\n isMockLoginJourney: isMockLogin => {\n dispatch(logonActions.isMockLogin(isMockLogin));\n },\n isLastAttemptTime: isLastAttempt => {\n dispatch(logonActions.isLastAttempt(isLastAttempt));\n },\n emailOtpLit: emailAddress => {\n dispatch(emailOtpLit(emailAddress));\n },\n isPendingResponse: pending => {\n dispatch(logonActions.isPendingResponse(pending));\n }\n };\n};\n\nconst makeLogoutRequest = async journey => {\n await window.transmitSDK.logout();\n};\n\nconst isResetPassword = \"/resetPassword\";\nconst currentSessionId = \"_currentSession._sessionId\";\nconst pathForGenericLock = \"/commonLockedAccount/genericAccountLock\";\nclass App extends Component {\n static propTypes = {\n history: PropTypes.object.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {\n registrationComponents: null,\n logonComponents: null,\n resetPasswordComponents: null,\n currentRegistrationStep: \"\",\n currentLogonStep: \"\",\n currentResetpasswordStep: \"\"\n };\n if (props.storeThis) {\n props.storeThis(\"APP\", this);\n }\n }\n\n initRegistrationSdk = () => {\n this.prepareSDK().then(sdk => {\n const existingSession = _.get(\n window.transmitSDK,\n currentSessionId,\n false\n );\n if (existingSession) {\n makeLogoutRequest(\"Registration\");\n }\n sdk.clearAllData();\n });\n };\n\n caseBussinessUrl = url => {\n return (\n url.indexOf(\"api/v2\") !== -1 ||\n url.indexOf(\"/rest/hsbc/SecurityContext\") !== -1\n );\n };\n\n caseTealiumUrl = url => {\n return (\n url.indexOf(\"dpm.demdex.net\") !== -1 ||\n url.indexOf(\"sc.omtrdc.net\") !== -1 ||\n url.indexOf(\"tealiumiq.com\") !== -1\n );\n };\n\n caseNotBussnessUrl = url => {\n if (!this.caseBussinessUrl(url)) {\n history.push({\n pathname: \"/globalError/noConnection?step=004\",\n state: {\n errorCode: \"noConnection\"\n }\n });\n }\n };\n\n caseParsedBody = (parsedBody, url) => {\n const lockedCheck = _.get(\n parsedBody,\n 'data.failure_data.reason.data[\"LOCK-CHECK\"]',\n false\n );\n const isLockedQuestion =\n parsedBody.error_code &&\n _.get(parsedBody, \"data.additional_data.locked\", false);\n const isLockedOTP = parsedBody.errorType === \"otplock\";\n const isActive =\n _.get(\n parsedBody,\n 'data.failure_data.reason.data[\"LOCK-CHECK\"]',\n false\n ) === \"ACTIVE\";\n switch (lockedCheck) {\n case \"LOCKED_GLOBAL\":\n case \"LOCKED_QUESTION\":\n case \"LOCKED_PASSWORD\":\n case \"LOCKED_OTP\":\n return;\n }\n console.log(\"xhr parsed response body\", parsedBody);\n\n if (\n String(parsedBody.error_code) === \"4001\" ||\n String(parsedBody.error_code) === \"4002\" ||\n String(parsedBody.error_code) === \"4005\"\n ) {\n if (!(isLockedQuestion || isLockedOTP) || !isActive) {\n console.log(\"xhr.open push to noconnection\");\n this.caseNotBussnessUrl(url);\n }\n } else if (String(parsedBody.error_code) === \"Link_Error\") {\n console.log(\"LOGIN GV ERROR FOLLOW\");\n history.push(\"/gvError\");\n return;\n }\n };\n\n caseUrl = url => {\n if (!this.caseBussinessUrl(url)) {\n if (this.caseTealiumUrl(url)) {\n console.log(\"Ignore tealium request failed error\");\n return;\n } else {\n history.push({\n pathname: \"/globalError/noConnection?step=002\",\n state: { errorCode: \"noConnection\" }\n });\n }\n }\n console.log(\"xhr.open push to noConnection\");\n };\n\n caseResponseStatus = (_this, parsedBody, url) => {\n if (\n (_this.status >= 200 && _this.status < 300) ||\n _this.status === 304\n ) {\n console.log(\n \"xhr.open response code is valid: no error, request suc!\"\n );\n } else {\n if (\n typeof parsedBody === \"object\" &&\n parsedBody.error_code &&\n String(parsedBody.error_code) === \"Link_Error\"\n ) {\n console.log(\"LOGIN GV ERROR FOLLOW\");\n history.push(\"/gvError\");\n } else {\n this.caseUrl(url);\n }\n }\n };\n\n caseRequestResponse = (_this, url) => {\n const currentUrl = window.location.href;\n\n if (\n _this.responseText.indexOf(\"RESET_COMPLETE\") >= 0 ||\n _this.responseText.indexOf(\"END_OF_REGISTRATION\") >= 0 ||\n _this.responseText.indexOf(\"USER_NOT_RECOGNISED\") >= 0 ||\n _this.responseText.indexOf(\"USER_ALREADY_REGISTERED\") >= 0\n ) {\n console.log(\"xhr no error, request suc!\");\n } else if (currentUrl.indexOf(\"loginHelper\") === -1) {\n let parsedBody;\n sessionStorage.setItem(\"statuscode\", _this.status);\n try {\n parsedBody = _this.responseText\n ? JSON.parse(_this.responseText)\n : {};\n } catch (e) {\n if (this.caseBussinessUrl(url)) {\n history.push({\n pathname: \"/globalError/noConnection?step=001\",\n state: { errorCode: \"noConnection\" }\n });\n }\n return;\n }\n if (typeof parsedBody === \"object\") {\n this.caseParsedBody(parsedBody, url);\n }\n this.caseResponseStatus(_this, parsedBody, url);\n }\n };\n\n componentDidMount() {\n console.log(\"Current Environment is ::\", envConfig.id);\n const selectedLang =\n this.props.selectedLang || localStorage.getItem(\"selectedLang\");\n\n switchselectedLangForDocTitle(selectedLang);\n\n unSupportedBrowsers(history);\n\n if (history.location.pathname === \"/\") {\n history.push(\"/logon\");\n }\n this.initRegistrationSdk();\n window.globalHistory = this.props.history;\n (function(_this) {\n var origOpen = XMLHttpRequest.prototype.open;\n XMLHttpRequest.prototype.open = function(method, url) {\n console.log(\"xhr request started!\");\n\n if (_this.caseBussinessUrl(url)) {\n _this.props.isPendingResponse(true);\n }\n\n this.addEventListener(\"loadend\", function() {\n console.log(\"xhr request completed!\");\n console.log(\"xhr response state::\", this.readyState);\n\n if (_this.caseTealiumUrl(url)) {\n return;\n }\n\n if (_this.caseBussinessUrl(url)) {\n _this.props.isPendingResponse(false);\n }\n\n _this.caseRequestResponse(this, url);\n });\n origOpen.apply(this, arguments);\n };\n })(this);\n }\n\n prepareSDK = () => {\n this.props.isPendingResponse(true);\n promiseInitializedTransmitSdk().then(sdk => {\n sdk.setUiHandler(this);\n this.props.isPendingResponse(false);\n });\n return promiseInitializedTransmitSdk();\n };\n\n createFormSession = (formId, payload) => {\n const currentJourney = this.props.history.location.pathname;\n switch (formId) {\n case \"Avaloqidform\":\n this.RegistrationComp.jumpTo(\"ENTER_DETAILS\");\n return this.state.registrationComponents.EnterDetails;\n case \"RegUserForm\":\n case \"RegPasswordForm\":\n this.RegistrationComp.jumpTo(\"CREATE_USERNAME_PASSWORD\");\n return this.state.registrationComponents.CreateUsernamePassword;\n case \"Agreementform\":\n if (currentJourney.indexOf(\"logon\") !== -1) {\n const isRegistration = sessionStorage.getItem(\n \"isRegistration\"\n );\n if (isRegistration) {\n return this.state.logonComponents.InputCredential;\n } else {\n this.LogonComp.jumpTo(\"ACCEPT_TERMS\");\n return this.state.logonComponents.AcceptTerms;\n }\n } else {\n this.RegistrationComp.jumpTo(\"ACCEPT_TERMS\");\n return this.state.registrationComponents.AcceptTerms;\n }\n case \"AliasOnlyform\":\n if (currentJourney === isResetPassword) {\n this.ResetPasswordComp.jumpTo(\"FORGOT_PASSWORD\");\n return this.state.resetPasswordComponents.ForgotPassword;\n }\n return null;\n case \"GetResetPassword\":\n if (currentJourney === isResetPassword) {\n this.ResetPasswordComp.jumpTo(\"CREATE_PASSWORD\");\n return this.state.resetPasswordComponents\n .StepCreatePassword;\n }\n return null;\n case \"e2ekeyform\":\n return this.state.logonComponents.InputCredential;\n case \"PushNotification_CheckMobileScreen\":\n this.LogonComp.jumpTo(\"CHECK_MOBILE\");\n return this.state.logonComponents.CheckMobile;\n case \"mock_password\":\n this.props.isMockLoginJourney(true);\n return this.state.logonComponents.InputCredential;\n case \"mock_otp\":\n this.props.isMockLoginJourney(true);\n this.LogonComp.jumpTo(\"GENERIC_OTP\");\n return this.state.logonComponents.GenericOTP;\n default:\n return null;\n }\n };\n\n createMobileApproveAuthSession = (type, state, instructions) => {\n this.LogonComp.jumpTo(\"CHECK_MOBILE\");\n return this.state.logonComponents.CheckMobile;\n };\n\n createOtpAuthSession = (\n stepName,\n userName,\n _possibleTargets,\n _lastSelectedTarget\n ) => {\n const currentJourney = this.props.history.location.pathname;\n\n if (currentJourney === \"/registration\") {\n this.RegistrationComp.jumpTo(\"GENERIC_OTP\");\n return this.state.registrationComponents.GenericOTP;\n }\n if (currentJourney === \"/logon\") {\n this.LogonComp.jumpTo(\"GENERIC_OTP\");\n return this.state.logonComponents.GenericOTP;\n }\n if (currentJourney === isResetPassword) {\n this.ResetPasswordComp.jumpTo(\"GENERIC_OTP\");\n return this.state.resetPasswordComponents.GenericOTP;\n }\n return null;\n };\n createEscapeRequest = actionContext => {\n const escapeoptions = actionContext.getEscapeOptions();\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticatorSelectionResult.createEscapeRequest(\n escapeoptions[0],\n {}\n )\n );\n };\n selectAuthenticator = (options, actionContext, clientContext) => {\n const currentJourney = this.props.history.location.pathname;\n\n if (currentJourney === \"/logon\") {\n const escapeoptions = actionContext.getEscapeOptions()[0];\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticatorSelectionResult.createEscapeRequest(\n escapeoptions,\n { raw_data: \"fail\" }\n )\n );\n }\n if (currentJourney === isResetPassword) {\n if (\n this.props.lockedType === \"OTP\" ||\n this.props.lockedType === \"QUESTION\"\n ) {\n this.props.resetState();\n return this.createEscapeRequest(actionContext);\n } else {\n return Promise.resolve(\n window.com.ts.mobile.sdk.AuthenticatorSelectionResult.createSelectionRequest(\n options[0]._authenticator\n )\n );\n }\n }\n return Promise.reject();\n };\n\n createSecurityQuestionAuthSession = (title, username) => {\n const currentJourney = this.props.history.location.pathname;\n if (currentJourney === isResetPassword) {\n this.ResetPasswordComp.jumpTo(\"SECURITY_QUESTION\");\n return this.state.resetPasswordComponents.SecurityQuestion;\n }\n if (currentJourney === \"/registration\") {\n this.RegistrationComp.jumpTo(\"CREATE_SECURITY_QUESTION\");\n return this.state.registrationComponents.createSecurityQuestions;\n }\n return null;\n };\n\n existingSessions = () => {\n const existingSession = _.get(\n window.transmitSDK,\n currentSessionId,\n false\n );\n if (existingSession) {\n makeLogoutRequest(\"Registration\");\n }\n };\n\n caseRegistrationError = (err, that) => {\n if (\n _.get(err, \"_data.failure_data.reason.data.status\", false) ===\n \"END_OF_REGISTRATION\"\n ) {\n that.jumpTo(\"REGISTRATED_SUCCESSFUL\");\n return;\n }\n\n const errorMsg = _.get(err, \"_data.failure_data.reason.data\", false);\n console.log(\"errorMsg\", errorMsg);\n if (errorMsg && errorMsg.reason === \"LISTED_IN_SANCTION_COUNTRY\") {\n history.push(\"/restrictedAccess\");\n return;\n }\n\n if (err._errorCode === 16) {\n history.push(\"/noContactDetails\");\n return;\n }\n if (\n errorMsg &&\n errorMsg.reason &&\n errorMsg.reason === \"USER_ALREADY_REGISTERED\"\n ) {\n history.push(\"/logon\");\n this.props.dispatchAction({\n type: \"VALIDATE_DETAILS_SUCCESS\",\n validateDetails: {\n errorType: \"registrated\",\n statusText: (\n \n )\n }\n });\n return;\n }\n if (\n err._errorCode &&\n err._errorCode === 7 &&\n err._message === \"Operation cancelled by user.\"\n ) {\n console.log(\"user give up\");\n return;\n }\n const isOtpError = sessionStorage.getItem(\"isOtpError\");\n if (!isOtpError) {\n history.push({\n pathname: \"/globalError/noConnection?step=005\",\n state: { errorCode: \"noConnection\" }\n });\n }\n\n console.log(\n err,\n \"Registration Journey Authentication error: \" +\n (err.getMessage && err.getMessage()) || \"Unknown\"\n );\n };\n\n journeyRegistrationStart = (components, that) => {\n this.RegistrationComp = that;\n this.setState({\n registrationComponents: components\n });\n window.clientContext = {};\n this.props.resetState();\n this.prepareSDK()\n .then(sdk => {\n this.existingSessions();\n sdk.clearAllData();\n sdk.invokeAnonymousPolicy(\n \"register_anonymouspart\",\n {},\n window.clientContext\n ).then(\n function() {\n console.log(\n \"journeyRegistrationStart::then suc\",\n \"Registration successful!\"\n );\n\n console.log(\n \"SOMETHING WENT WRONG - SESSION NOT KILLED\"\n );\n that.jumpTo(\"REGISTRATED_SUCCESSFUL\");\n },\n err => {\n this.caseRegistrationError(err, that);\n }\n );\n })\n .catch(err => {\n console.error(\n \"journeyRegistrationStart::catch\",\n err.toString()\n );\n history.push({\n pathname: \"/globalError/noConnection?step=006\",\n state: { errorCode: \"noConnection\" }\n });\n });\n };\n\n journeyLogonStart = (components, that) => {\n this.LogonComp = that;\n this.props.resetState();\n\n this.initRegistrationSdk();\n this.setState({\n logonComponents: components\n });\n };\n\n caseResetPasswordErrorcode = (err, lockedCheck, reasonMsg) => {\n if (err && err._errorCode === 16) {\n history.push(\"/noContactDetails\");\n return true;\n } else if (\n (err && err._errorCode === 3) ||\n lockedCheck === \"LOCKED_GLOBAL\" ||\n lockedCheck === \"LOCKED_OTP\" ||\n lockedCheck === \"LOCKED_QUESTION\"\n ) {\n history.push({\n pathname: pathForGenericLock,\n state: { errorCode: \"genericAccountLock\" }\n });\n return true;\n } else if (\n err._data &&\n err._data.additional_data &&\n err._data.additional_data.locked === true\n ) {\n console.log(\"user lockedType: \", this.props.lockedType);\n if (this.props.lockedType === \"OTP\") {\n console.log(\"reset password OTP-lock yes!!\");\n history.push({\n pathname: pathForGenericLock,\n state: { errorCode: \"genericAccountLock\" }\n });\n return true;\n } else {\n console.log(\"reset password QUESTION-lock yes!!\");\n history.push({\n pathname: pathForGenericLock,\n state: { errorCode: \"genericAccountLock\" }\n });\n return true;\n }\n } else if (\n err &&\n err._errorCode &&\n err._errorCode === 7 &&\n err._message === \"Operation cancelled by user.\"\n ) {\n console.log(\"user give up\");\n return false;\n } else {\n console.log(\n \"ResetPassword Journey Authentication error: \" + reasonMsg\n );\n return false;\n }\n };\n\n caseResetPasswordError = (err, toDisplayUserErrorMsg) => {\n const isResetCompelte = _.get(\n err,\n \"_data.failure_data.reason.data.status\",\n false\n );\n if (isResetCompelte === \"RESET_COMPLETE\") {\n history.push(\"/logon?resetPasswordSuc\");\n this.props.dispatchAction({\n type: \"RESET_PASSWORD_CREATE_PASSWORD_SUC\"\n });\n return;\n }\n console.log(\"resetpassword journey catch handler got err: \", err);\n\n const sanctioned = _.get(\n err.getData(),\n \"failure_data.reason.data.reason\",\n false\n );\n\n if (sanctioned === \"LISTED_IN_SANCTION_COUNTRY\") {\n history.push(\"/restrictedAccess\");\n return;\n }\n\n const reasonMsg = (err.getMessage && err.getMessage()) || \"Unknown\";\n const lockedCheck = _.get(\n err,\n '_data.failure_data.reason.data[\"LOCK-CHECK\"]',\n false\n );\n\n const failReason = _.get(\n err.getData(),\n \"failure_data.reason.data.reason\",\n false\n );\n\n if (\n failReason === \"USERNAME_DOES_NOT_EXIST\" ||\n failReason === \"USER_NOT_RECOGNISED\"\n ) {\n toDisplayUserErrorMsg && toDisplayUserErrorMsg();\n return;\n }\n\n if (this.caseResetPasswordErrorcode(err, lockedCheck, reasonMsg)) {\n return;\n }\n console.log(failReason, \"failReason\");\n if (failReason === \"INVALID_CREDENTIALS\") {\n this.props.isLoading(false);\n history.push(\"/resetPassword?invalidCredentials\");\n this.ResetPasswordComp.jumpTo(\"FORGOT_PASSWORD\");\n return;\n }\n if (failReason === \"ACCOUNT_LOCKED\") {\n history.push({\n pathname: pathForGenericLock,\n state: { errorCode: \"genericAccountLock\" }\n });\n return;\n }\n history.push({\n pathname: \"/globalError/noConnection?step=007\",\n state: { errorCode: \"noConnection\" }\n });\n };\n\n invokeResetPasswordPolicy = (username, toDisplayUserErrorMsg) => {\n const appComp = this;\n window.transmitSDK\n .authenticate(username, \"reset_pwd_policy\", {}, {})\n .then(\n successfulAuth => {\n history.push(\"/logon?resetPasswordSuc\");\n appComp.props.dispatchAction({\n type: \"RESET_PASSWORD_CREATE_PASSWORD_SUC\"\n });\n },\n err => {\n this.caseResetPasswordError(err, toDisplayUserErrorMsg);\n }\n );\n };\n journeyResetPasswordStart = (components, that) => {\n this.ResetPasswordComp = that;\n\n this.setState({\n resetPasswordComponents: components\n });\n this.props.resetState();\n this.prepareSDK().then(sdk => {\n const existingSession = _.get(\n window.transmitSDK,\n currentSessionId,\n false\n );\n\n if (existingSession) {\n makeLogoutRequest(\"Reset Password\");\n }\n\n sdk.clearAllData();\n });\n };\n\n createPasswordAuthSession = (title, username) => {\n const currentJourney = this.props.history.location.pathname;\n if (currentJourney === \"/logon\") {\n this.LogonComp.jumpTo(\"INPUT_CREDENTIAL\");\n return this.state.logonComponents.InputCredential;\n }\n return null;\n };\n\n shouldIncludeDisabledAuthenticatorsInMenu() {\n return false;\n }\n startActivityIndicator = () => {\n console.log(\"startActivityIndicator\");\n };\n endActivityIndicator = () => {\n console.log(\"endActivityIndicator\");\n };\n controlFlowStarting = () => {\n console.log(\"controlFlowStarting\");\n };\n controlFlowEnded = () => {\n console.log(\"controlFlowEnded\");\n };\n controlFlowCancelled = () => {\n console.log(\"controlFlowCancelled\");\n };\n controlFlowActionStarting = () => {\n console.log(\"controlFlowActionStarting\");\n };\n controlFlowActionEnded = () => {\n console.log(\"controlFlowActionEnded\");\n };\n getInformationResponse = () => {\n return new Promise(function(resolve, reject) {\n resolve(window.com.ts.mobile.sdk.ConfirmationInput.create(-1));\n });\n };\n\n getConfirmationResponse = () => {\n return new Promise(function(resolve, reject) {\n resolve(window.com.ts.mobile.sdk.ConfirmationInput.create(0));\n });\n };\n\n handlePolicyRedirect = (\n redirectType,\n policyId,\n userId,\n additionalParameters,\n clientContext\n ) => {\n console.log(\n `Policy redirection requested. redirecting to policy: [${policyId}] \n with additionalParameters: [${JSON.stringify(\n additionalParameters\n )}] redirectType [${redirectType}]`\n );\n return Promise.resolve(\n window.com.ts.mobile.sdk.RedirectInput.create(\n window.com.ts.mobile.sdk.RedirectResponseType.RedirectToPolicy\n )\n );\n };\n\n handlePolicyRejection = (\n title,\n text,\n buttonText,\n failureData,\n actionContext,\n clientContext\n ) => {\n console.log(\n `Policy rejection: [title] ${title}; [text] ${text} [failureData] ${JSON.stringify(\n failureData\n )}`\n );\n\n return Promise.resolve(\n window.com.ts.mobile.sdk.ConfirmationInput.create(-1)\n );\n };\n\n processJsonData(jsonData, actionContext, clientContext) {\n if (jsonData && jsonData.guid) {\n localStorage.setItem(\"guid\", jsonData.guid);\n }\n console.log(\"jsonData: \", jsonData);\n\n if (jsonData.attempt === \"last\" || jsonData.isLastAttempt === \"true\") {\n this.props.isLastAttemptTime(true);\n }\n\n if (jsonData.maskedEmailAddressWeb) {\n this.props.emailOtpLit(jsonData.maskedEmailAddressWeb);\n }\n\n if (isRealmCH && jsonData && jsonData.defaultAuth) {\n this.props.updateCurrentOTPType(jsonData.defaultAuth);\n }\n\n clientContext.jsonData = jsonData;\n return Promise.resolve(\n window.com.ts.mobile.sdk.JsonDataProcessingResult.create(true)\n );\n }\n\n render() {\n const currentUrlPathIsNotLogon =\n window.location.href.indexOf(\"logon\") === -1;\n const showHeader =\n currentUrlPathIsNotLogon ||\n (envConfig.languageSlectList &&\n envConfig.languageSlectList.length > 1);\n const isInUS = envConfig.realm === \"US\" ? true : false;\n const isCCM =\n envConfig.realm === \"UK\" ||\n envConfig.realm === \"LU\" ||\n envConfig.realm === \"CI\"\n ? true\n : false;\n const showBackgroundImg =\n window.location.href.indexOf(\"cookieNotice\") !== -1 ? false : true;\n return (\n \n \n \n \n \n {showBackgroundImg ? (\n \n ) : null}\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\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(App));\n\nconst AppContainer = styled.div`\n height: 100%;\n margin: auto;\n overflow: auto;\n position: relative;\n\n background-color: #fff;\n\n .footer-bottom {\n font-weight: bold;\n }\n .footer-us {\n p {\n margin-bottom: 0px;\n margin-top: 0px;\n }\n }\n`;\n\nconst ContentContainer = styled.div`\n width: 100%;\n display: flex;\n min-height: calc(100vh - 120px);\n`;\nconst ParentContainer = styled.div`\n width: 100%;\n font-size: 12px;\n display: flex;\n position: relative;\n justify-content: center;\n flex-direction: column;\n min-height: calc(100vh - 120px);\n padding-bottom: ${props => (props.showHeader ? \"0px\" : \"5px\")};\n @media (min-width: 1020px) {\n padding-left: 6.94%;\n }\n\n @media (max-width: 1019px) {\n align-items: center;\n }\n\n .registration-success {\n position: absolute;\n z-index: 2;\n top: -60px;\n left: 0;\n width: 100%;\n height: calc(100vh);\n background: rgba(63, 79, 93, 0.85);\n @media (max-width: 350px) {\n top: -15%;\n height: 130%;\n }\n }\n`;\n","export function emailOtpLit(list) {\n return {\n type: \"EMAIL_OTP_LIST\",\n list\n };\n}\n","import messages from \"util/messages\";\nimport _ from \"lodash\";\nimport { envConfig } from \"env-config\";\n\nconst locale = \"en-GB\";\nconst site_domain = envConfig.id;\nconst country = envConfig.tealiumCountry;\nconst region = envConfig.tealiumCountry;\nconst subregion = envConfig.tealiumCountry;\nconst language = envConfig.locale;\n\nconst buttonClick = \"button click\";\nconst textEntry = \"text entry\";\nconst registrationPath = \"#/registration\";\nconst resetPasswordPath = \"#/resetPassword\";\nconst pswRest = \"password reset\";\nconst hsbcPrivateBank = \"HSBC Private Bank\";\nconst wealthView = \"wealth view\";\n\nconst basePayload = {\n event_category: \"content\",\n event_action: buttonClick\n};\n\nconst tealiumHub = {\n findText: function(id) {\n const text = _.get(messages[locale].lang, id);\n return text || id;\n },\n tealiumTrackView: function(tagAttribute) {\n try {\n const guid = localStorage.getItem(\"guid\");\n tagAttribute.customer_id = guid ? guid : \"\";\n if (\n process.env.REACT_APP_TEALIUM_SWITCH === \"ON\" &&\n region !== \"CH\"\n ) {\n if (window.TMS) {\n window.TMS.trackView(tagAttribute);\n } else {\n setTimeout(() => {\n this.tealiumTrackView(tagAttribute);\n }, 50);\n }\n }\n } catch (err) {\n console.warn(\n \"tealium view track fails with err: \" + JSON.stringify(err)\n );\n }\n },\n tealiumTrackEvent: function(tagAttribute) {\n try {\n const guid = localStorage.getItem(\"guid\");\n tagAttribute.customer_id = guid ? guid : \"\";\n if (\n process.env.REACT_APP_TEALIUM_SWITCH === \"ON\" &&\n region !== \"CH\"\n ) {\n if (window.TMS) {\n window.TMS.trackEvent(tagAttribute);\n } else {\n setTimeout(() => {\n this.tealiumTrackEvent(tagAttribute);\n }, 50);\n }\n }\n } catch (err) {\n console.warn(\n \"tealium event track fails with err: \" + JSON.stringify(err)\n );\n }\n },\n ET001: function(type) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `log on: landing: ${type} entered`\n });\n },\n ET002: function(buttonLabel, journeyName) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `log on: landing: ${this.findText(buttonLabel)}`,\n funnel_name: `${journeyName}`,\n funnel_step: \"1\",\n funnel_step_name: `${journeyName} - start`\n });\n },\n ET003: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `log on: no contact details alert: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET004: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `log on: account locked reset password: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET005: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `log on: account locked contact relationship manager: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET006: function() {\n let journeyName;\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n journeyName = \"log on\";\n break;\n case registrationPath:\n journeyName = \"registration\";\n break;\n case resetPasswordPath:\n journeyName = pswRest;\n break;\n default:\n return false;\n }\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"radio\",\n event_content: `${journeyName}: send an activation code: option selected`\n });\n },\n ET007: function(buttonLabel) {\n let journeyName;\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n journeyName = \"log on\";\n break;\n case registrationPath:\n journeyName = \"registration\";\n break;\n case resetPasswordPath:\n journeyName = pswRest;\n break;\n default:\n return;\n }\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `${journeyName}: send an activation code: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET008: function() {\n let journeyName;\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n journeyName = \"log on\";\n break;\n case registrationPath:\n journeyName = \"registration\";\n break;\n case resetPasswordPath:\n journeyName = pswRest;\n break;\n default:\n return;\n }\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `${journeyName}: enter code: code entered`\n });\n },\n ET009: function(buttonLabel) {\n let journeyName;\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n journeyName = \"log on\";\n break;\n case registrationPath:\n journeyName = \"registration\";\n break;\n case resetPasswordPath:\n journeyName = pswRest;\n break;\n default:\n return;\n }\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `${journeyName}: enter code: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET010: function(errorMessage) {\n let journeyName;\n const pathname = window.location.hash;\n switch (pathname) {\n case \"#/logon\":\n journeyName = \"log on\";\n break;\n case registrationPath:\n journeyName = \"registration\";\n break;\n case resetPasswordPath:\n journeyName = pswRest;\n break;\n default:\n return;\n }\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"error\",\n event_content: `${journeyName}: enter code: ${this.findText(\n errorMessage\n )}`\n });\n },\n ET012: function(notificationMessage) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"notification\",\n event_content: `log on: landing: ${this.findText(\n notificationMessage\n )}`\n });\n },\n ET014: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `registration: terms and conditions: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET015: function(inputType) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `registration: enter your details: ${inputType} entered`\n });\n },\n ET016: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `registration: enter your details: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET023: function(type) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `registration: create username and password: ${type} entered`\n });\n },\n ET024: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `registration: create username and password: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET025: function(errorMessage) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"error\",\n event_content: `registration: create username and password: ${this.findText(\n errorMessage\n )}`\n });\n },\n ET027: function(dropdownName, type) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"dropdown\",\n event_content: `registration: security questions: ${this.findText(\n dropdownName\n )} ${type}`\n });\n },\n ET028: function(dropdownName) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"dropdown\",\n event_content: `registration: security questions: ${this.findText(\n dropdownName\n )}: option selected`\n });\n },\n ET029: function(textBoxName) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `registration: security questions: ${this.findText(\n textBoxName\n )}: text entered`\n });\n },\n ET030: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `registration: security questions: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET031: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `registration: complete: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET032: function() {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: \"password reset: enter username: username entered\"\n });\n },\n ET033: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `password reset: enter username: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET034: function(errorMessage) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"error\",\n event_content: `password reset: enter username: ${this.findText(\n errorMessage\n )}`\n });\n },\n ET035: function() {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: \"password reset: security question: answer entered\"\n });\n },\n ET036: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `password reset: security question: ${this.findText(\n buttonLabel\n )}`\n });\n },\n ET037: function(errorMessage) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"error\",\n event_content: `password reset: security question: ${this.findText(\n errorMessage\n )}`\n });\n },\n ET043: function(type) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: textEntry,\n event_content: `password reset: create a new password: ${type} entered`\n });\n },\n ET044: function(buttonLabel) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: buttonClick,\n event_content: `password reset: create a new password: ${this.findText(\n buttonLabel\n )}`,\n funnel_name: pswRest,\n funnel_step: \"7\",\n funnel_step_name: \"password reset - completed\"\n });\n },\n ET046: function(errorMessage) {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"error\",\n event_content: `page level: ${this.findText(errorMessage)}`\n });\n },\n\n ET053: function() {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"button\",\n event_content: `logon : appsign : authentication timed out: try again`,\n raw_datalayer: \"5176v46\"\n });\n },\n\n ET054: function() {\n this.tealiumTrackEvent({\n event_category: \"content\",\n event_action: \"button\",\n event_content: `logon : appsign : authentication timed out: try another method`,\n raw_datalayer: \"5176v47\"\n });\n },\n\n PT001: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/landing\",\n page_name: \"gpb : wealth view : log on : landing\",\n page_language: language,\n page_type: \"landing\",\n page_category: wealthView,\n page_subcategory: \"log on\"\n });\n },\n PT002: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/no contact details alert\",\n page_name: \"gpb : wealth view : log on : no contact details alert\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\"\n });\n },\n PT003: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/account locked reset password\",\n page_name:\n \"gpb : wealth view : log on : account locked reset password\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\"\n });\n },\n PT004: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url:\n \"/gpb/wealth view/log on/account locked contact relationship manager\",\n page_name:\n \"gpb : wealth view : log on : account locked contact relationship manager\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\"\n });\n },\n PT005: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/send an activation code\",\n page_name: \"gpb : wealth view : log on : send an activation code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\",\n funnel_name: \"log on\",\n funnel_step: \"2\",\n funnel_step_name: \"log on - send an activation code\"\n });\n },\n PT006: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/enter code\",\n page_name: \"gpb : wealth view : log on : enter code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\",\n funnel_name: \"log on\",\n funnel_step: \"3\",\n funnel_step_name: \"log on - enter code\"\n });\n },\n PT008: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/terms and conditions\",\n page_name:\n \"gpb : wealth view : registration : terms and conditions\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"2\",\n funnel_step_name: \"registration - terms and conditions\"\n });\n },\n PT009: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/enter your details\",\n page_name: \"gpb : wealth view : registration : enter your details\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"3\",\n funnel_step_name: \"registration - enter your details\"\n });\n },\n PT010: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/send an activation code\",\n page_name:\n \"gpb : wealth view : registration : send an activation code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"4\",\n funnel_step_name: \"registration - send an activation code\"\n });\n },\n PT011: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/enter code\",\n page_name: \"gpb : wealth view : registration : enter code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"5\",\n funnel_step_name: \"registration - enter code\"\n });\n },\n PT012: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url:\n \"/gpb/wealth view/registration/create username and password\",\n page_name:\n \"gpb : wealth view : registration : create username and password\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"6\",\n funnel_step_name: \"registration - create username and password\"\n });\n },\n PT013: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/security questions\",\n page_name: \"gpb : wealth view : registration : security questions\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"7\",\n funnel_step_name: \"registration - security questions\"\n });\n },\n PT014: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/registration/complete\",\n page_name: \"gpb : wealth view : registration : complete\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"registration\",\n funnel_name: \"registration\",\n funnel_step: \"8\",\n funnel_step_name: \"registration - completed\",\n event_action: \"registration\",\n event_category: \"verification\"\n });\n },\n PT015: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/password reset/enter username\",\n page_name: \"gpb : wealth view : password reset : enter username\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: pswRest,\n funnel_name: pswRest,\n funnel_step: \"2\",\n funnel_step_name: \"password reset - enter username\"\n });\n },\n PT016: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/password reset/security question\",\n page_name: \"gpb : wealth view : password reset : security question\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: pswRest,\n funnel_name: pswRest,\n funnel_step: \"3\",\n funnel_step_name: \"password reset - security question\"\n });\n },\n PT017: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/password reset/send an activation code\",\n page_name:\n \"gpb : wealth view : password reset : send an activation code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: pswRest,\n funnel_name: pswRest,\n funnel_step: \"4\",\n funnel_step_name: \"password reset - send an activation code\"\n });\n },\n PT018: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/password reset/enter code\",\n page_name: \"gpb : wealth view : password reset : enter code\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: pswRest,\n funnel_name: pswRest,\n funnel_step: \"5\",\n funnel_step_name: \"password reset - enter code\"\n });\n },\n PT019: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/password reset/create a new password\",\n page_name:\n \"gpb : wealth view : password reset : create a new password\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: pswRest,\n funnel_name: pswRest,\n funnel_step: \"6\",\n funnel_step_name: \"password reset - create a new password\"\n });\n },\n PT020: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"Private\",\n page_url: \"/gpb/wealth view/log on/restricted\",\n page_name: \"gpb : wealth view : log on : restricted\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"log on\"\n });\n },\n PT022: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_section: \"ib\",\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"general\",\n page_url: \"/gpb/wealth-view/logon/appsign/thanks/check-mobile\",\n page_name:\n \"gpb : wealth view : logon : appsign : thanks : check mobile\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"logon\",\n raw_datalayer: \"5176v1\",\n page_security_level: \"30\"\n });\n },\n PT023: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_section: \"ib\",\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"general\",\n page_url: \"/gpb/wealth-view/logon/appsign/authentication-timed-out\",\n page_name:\n \"gpb : wealth view : logon : appsign : authentication timed out: try again\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"logon\",\n raw_datalayer: \"5176v44\",\n page_security_level: \"30\"\n });\n },\n PT024: function() {\n this.tealiumTrackView({\n page_channel: \"Web\",\n site_domain: site_domain,\n site_region: region,\n site_subregion: subregion,\n site_country: country,\n site_section: \"ib\",\n site_entity: hsbcPrivateBank,\n site_brand: hsbcPrivateBank,\n page_business_line: \"GPB\",\n page_customer_group: \"general\",\n page_url: \"/gpb/wealth-view/logon/appsign/authentication-timed-out\",\n page_name:\n \"gpb : wealth view : logon : appsign : authentication timed out: try another method\",\n page_language: language,\n page_type: \"verification\",\n page_category: wealthView,\n page_subcategory: \"logon\",\n raw_datalayer: \"5176v45\",\n page_security_level: \"30\"\n });\n }\n};\n\nwindow.tealiumHub = tealiumHub;\n","import \"react-app-polyfill/ie9\";\nimport \"react-app-polyfill/ie11\";\nimport \"react-app-polyfill/stable\";\n\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport configureStore from \"store/configureStore\";\n\nimport \"assets/theme.css\";\nimport { envConfig } from \"env-config\";\n\nimport Intlization from \"./Intl\";\nimport App from \"App\";\nimport { history } from \"util/history\";\n// both new & old ui share the same tealium file\nimport \"util/tealium\";\n\nconst initialState = {};\nconst store = configureStore(initialState);\nconst tealiumConifg = envConfig.tealiumEnv ? envConfig.tealiumEnv : \"prod\";\n\nif (envConfig.enabledLoadUtagJs) {\n window.utag_cfg_ovrd = { noview: true };\n (function() {\n let a;\n a = process.env.REACT_APP_TEALIUM_PROFILE + tealiumConifg + \"/utag.js\";\n const b = document;\n const c = \"script\";\n const d = b.createElement(c);\n d.src = a;\n d.type = \"text/java\" + c;\n d.async = true;\n a = b.getElementsByTagName(c)[0];\n a.parentNode.insertBefore(d, a);\n })();\n (function() {\n let a;\n a = \"https://cdn.appdynamics.com/adrum/adrum-latest.js\";\n const b = document;\n const c = \"script\";\n const d = b.createElement(c);\n d.src = a;\n d.type = \"text/java\" + c;\n d.async = true;\n a = b.getElementsByTagName(c)[0];\n a.parentNode.insertBefore(d, a);\n })();\n (function() {\n let a;\n a = \"https://\" + envConfig.url + \"/login/appd-eum.js\";\n const b = document;\n const c = \"script\";\n const d = b.createElement(c);\n d.src = a;\n d.type = \"text/java\" + c;\n d.async = true;\n a = b.getElementsByTagName(c)[0];\n a.parentNode.insertBefore(d, a);\n })();\n}\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}