{"version":3,"sources":["../../api/dist/commands/cashiering.js","../../api/dist/constants.js","../../types/dist/Account.js","../../types/dist/Language.js","../../types/dist/AccountManagement.js","../../types/dist/Application.js","../../types/dist/enums.js","../../types/dist/Blocks.js","../../types/dist/BlockSettings.js","../../types/dist/Cashiering.js","../../types/dist/Country.js","../../types/dist/Duration.js","../../types/dist/constants.js","../../types/dist/Entitlements.js","../../types/dist/Expirations.js","../../types/dist/Information.js","../../types/dist/Layout.js","../../types/dist/Order.js","../../types/dist/OrderStatus.js","../../types/dist/Session.js","../../types/dist/State.js","../../types/dist/Quote.js","../../types/dist/ResponseCode.js","../../types/dist/schema/dashboard.js","../../types/dist/schema/block.js","../../types/dist/schema/order.js","../../types/dist/schema/db.js","../../types/dist/StateSync.js","../../types/dist/Strategy.js","../../types/dist/Streaming.js","../../types/dist/Token.js","../../types/dist/translations/index.js","../../types/dist/Urls.js","../../types/dist/User.js","../../types/dist/util.js","../../types/dist/index.js","types/index.ts","types/Enums.ts","types/Constants.ts","types/Data.ts","types/Models.ts","../../api/dist/utilities.js","../../api/dist/ApiClient.js","../../api/dist/commands/account.js","../../api/dist/jsonEncode.js","../../api/dist/utilities/JwtUtilities.js","../../api/dist/commands/auth.js","../../api/dist/config.js","../../api/dist/feed/WebsocketFeedParser.js","../../api/dist/utilities/SymbolUtilities.js","../../api/dist/strategies/validation.js","../../api/dist/strategies/strategies.js","../../api/dist/strategies/CustomStrategy.js","../../api/dist/utilities/DateUtilities.js","../../api/dist/utilities/OrderUtilities.js","../../api/dist/orders/orderPrice.js","../../api/dist/orders/utility.js","../../api/dist/orders/orderStatusCategories.js","../../api/dist/commands/getToken.js","../../api/dist/commands/getBalances.js","../../api/dist/commands/getBars.js","../../api/dist/commands/quote.js","../../api/dist/commands/symbols.js","../../api/dist/commands/positions.js","../../api/dist/commands/options.js","../../api/dist/commands/orderApi.js","../../api/dist/commands/application.js","../../api/dist/commands/userCommands.js","../../api/dist/commands/information.js","../../api/dist/commands/entitlements.js","../../api/dist/commands/downloads.js","../../api/dist/commands/historyGetBalance.js","../../api/dist/commands/nopass.js","../../api/dist/commands/subaccounts.js","../../api/dist/TradingBlockApi.js","../../api/dist/types.js","../../api/dist/utilities/ObjectUtilities.js","../../api/dist/utilities/DocumentUtilities.js","../../api/dist/index.js","../../api/dist/commands/accountManagement.js","../../api/dist/commands/utilities.js","../../components/dist/components/basic/AddIcon.js","../../components/dist/components/basic/Errors.js","../../components/dist/components/basic/Dropdown.js","../../components/dist/components/basic/FloatingLabel.js","../../components/dist/components/basic/Footer.js","../../components/dist/components/basic/FormGroup.js","../../components/dist/components/basic/Number.js","../../components/dist/components/basic/Section.js","../../components/dist/components/basic/Svg.js","../../components/dist/components/basic/Wrapper.js","../../components/dist/components/common/Button.js","../../components/dist/utilities/SiteUtilities.js","../../components/dist/utilities/site.js","../../components/dist/hooks/useAuthentication.js","../../components/dist/utilities/dom.js","../../components/dist/utilities/number.js","../../components/dist/hooks/useLocalize.js","../../components/dist/hooks/useSign.js","../../components/dist/components/localize/Text.js","../../components/dist/components/common/ContactPhone.js","../../components/dist/components/common/ContactEmail.js","../../components/dist/components/common/ExternalLink.js","../../components/dist/components/common/FooterTeaser.js","../../components/dist/components/common/Header.js","../../components/dist/components/common/Loading.js","../../components/dist/components/common/SiteLogo.js","../../components/dist/components/common/SiteName.js","../../components/dist/components/common/TradingBlockLink.js","../../components/dist/context/page/PageContext.js","../../components/dist/containers/AsyncAutocomplete.js","../../components/dist/components/dropdown/DropdownWrapper.js","../../components/dist/components/fields/Checkbox.js","../../components/dist/context/page/WindowSizeContext.js","../../components/dist/components/fields/SelectDropdown.js","../../components/dist/components/fields/Slider.js","../../components/dist/components/fields/Stepper.js","../../components/dist/components/fields/Textbox.js","../../components/dist/components/layout/Grid.js","../../components/dist/components/localize/fields/Address.js","../../components/dist/components/localize/fields/CheckList.js","../../components/dist/components/localize/fields/Checkbox.js","../../components/dist/components/localize/fields/Currency.js","../../components/dist/components/localize/fields/SelectDropdown.js","../../components/dist/components/localize/fields/Stepper.js","../../components/dist/components/localize/fields/Textbox.js","../../components/dist/components/fields/Textarea.js","../../components/dist/components/localize/fields/Textarea.js","../../components/dist/components/localize/Button.js","../../components/dist/components/localize/HelpText.js","../../components/dist/components/localize/Loading.js","../../components/dist/components/localize/LocalizeProviderWrapper.js","../../components/dist/components/modals/Modal.js","../../components/dist/components/tables/Responsive.js","../../components/dist/components/tables/Utilities.js","../../components/dist/components/tabs/Tabs.js","../../components/dist/context/NavigationContext.js","../../components/dist/constants.js","../../storage/dist/providers/httpProvider.js","../../storage/dist/storageProvider.js","../../storage/dist/providers/localStorageProvider.js","../../storage/dist/useStorageProvider.js","state/types.ts","state/actions.ts","services/Application.ts","config.ts","services/Form.ts","services/Data.ts","services/Page.ts","services/Requirements.tsx","services/Validation.ts","state/reducer.ts","state/selectors.ts","context/ApiContext.ts","context/ApplicationContext.ts","context/StorageContext.ts","../../storage/dist/hooks/useHttpStore.js","api/apiClient.ts","api/application.ts","state/middleware/applicationMiddleware.ts","state/middleware/index.ts","state/store.ts","components/hooks.tsx","hooks/useLogout.tsx","components/application/ApplicationLoader.tsx","components/Errors.tsx","components/PageFooter.tsx","components/PageHeader.tsx","components/PageTitle.tsx","pages/Home.tsx","pages/Auth.tsx","components/application/form-steps/LinkClickedContext.tsx","components/application/form-steps/agreements/AccountHolderDisclosuresSection.tsx","components/fields/Date.tsx","components/fields/FieldRequirement.tsx","components/fields/FieldRequirementsHelp.tsx","components/fields/Person.tsx","components/fields/Phone.tsx","components/fields/PhonesArray.tsx","components/fields/PublicOfficial.tsx","components/fields/InvestigationUpload.tsx","components/fields/PublicOfficialsArray.tsx","components/application/form-steps/agreements/AccountDisclosuresSection.tsx","components/application/form-steps/agreements/AccountAgreementsSection.tsx","components/application/form-steps/beneficiaries/BeneficiariesFields.tsx","components/application/form-steps/beneficiaries/OwnersOfficersFields.tsx","components/application/form-steps/beneficiaries/InCommonInterestPercentFields.tsx","components/application/form-steps/account-information/AccountHolderContactSection.tsx","components/application/form-steps/account-information/AccountHolderPersonalInfoSection.tsx","components/application/form-steps/secure-account/UserInfoSection.tsx","components/application/form-steps/secure-account/UserCredentialsSection.tsx","components/values/State.tsx","components/values/Address.tsx","components/values/Date.tsx","components/values/Field.tsx","components/values/Masked.tsx","components/values/Person.tsx","components/values/Phones.tsx","components/values/UploadedDocument.tsx","components/application/summary-steps/account-information/EntitySummary.tsx","components/application/summary-steps/account-information/AccountHolderContactSummary.tsx","components/application/summary-steps/account-information/AccountHolderPersonalInfoSummary.tsx","components/application/summary-steps/account-information/EntityFinancialActivitySummary.tsx","components/application/summary-steps/beneficiaries/BeneficiariesList.tsx","components/application/summary-steps/beneficiaries/OwnersOfficersList.tsx","components/application/summary-steps/agreements/AccountHolderDisclosuresSummary.tsx","components/values/PublicOfficials.tsx","components/application/summary-steps/agreements/AccountDisclosuresSummary.tsx","components/application/summary-steps/agreements/AccountAgreementsSummary.tsx","components/application/form-steps/clearer-type/ClearerTypeSection.tsx","hooks/useApplicationSteps.tsx","components/application/form-steps/ClearerType.tsx","components/application/MismatchedDataModal.tsx","components/application/RiskLevelIcon.tsx","components/application/TradeGoalsVerification.tsx","components/application/TradeGoalText.tsx","components/application/index.ts","components/application/form-steps/SecureAccount.tsx","components/application/form-steps/AccountType.tsx","components/application/form-steps/InvestingProfile.tsx","components/application/form-steps/AccountInformation.tsx","components/application/form-steps/Beneficiaries.tsx","components/application/form-steps/Agreements.tsx","components/application/form-steps/Sign.tsx","components/application/summary-steps/SecureAccount.tsx","components/application/summary-steps/ClearerType.tsx","components/application/summary-steps/AccountType.tsx","components/application/summary-steps/InvestingProfile.tsx","components/application/summary-steps/AccountInformation.tsx","components/application/summary-steps/Beneficiaries.tsx","components/application/summary-steps/Agreements.tsx","pages/Summary.tsx","components/ErrorScrollWrapper.tsx","pages/Apply.tsx","pages/ThankYou.tsx","pages/Offline.tsx","pages/CustomerService.tsx","pages/Unsupported.tsx","pages/Pending.tsx","pages/Logout.tsx","pages/Status.tsx","pages/ExpiredToken.tsx","ApplicationRouter.tsx","hooks/useSiteGroup.tsx","hooks/useClearer.tsx","hooks/useAffiliate.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Buffer","__webpack_require__","d","__webpack_exports__","SecurityQuestion","Transfers","ACH","TransferInstructions","cashieringSearch","cashieringDetails","cashieringDocuments","_var_lib_jenkins_jobs_workspace_tradingblock_prod_node_modules_babel_preset_react_app_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__","_var_lib_jenkins_jobs_workspace_tradingblock_prod_node_modules_babel_preset_react_app_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","n","tslib__WEBPACK_IMPORTED_MODULE_1__","lodash__WEBPACK_IMPORTED_MODULE_2__","lodash__WEBPACK_IMPORTED_MODULE_2___default","_tradingblock_types__WEBPACK_IMPORTED_MODULE_3__","___WEBPACK_IMPORTED_MODULE_4__","dayjs__WEBPACK_IMPORTED_MODULE_5__","dayjs__WEBPACK_IMPORTED_MODULE_5___default","RequestHeaders","headers","Accept","api","fetch","authenticated","get","verify","data","post","transformTransfer","transferLike","Object","assign","achRelationshipId","achRelationship","all","accountId","concat","then","res","payload","map","transferId","achDeposit","achWithdrawal","wireWithdrawal","checkWithdrawal","update","put","approve","rep","firm","reject","note","cancel","comment","achId","fetchPlaidLinkToken","redirectUri","create","request","approveCreate","adminNote","mapToRelationshipId","rejectCreate","reIssue","instructionId","details","delete","_this","this","search","a","mark","_callee","startDate","endDate","searchRequest","result","wrap","_context","prev","next","isNil","undefined","sent","abrupt","stop","_this2","relationshipDetails","id","_callee2","_ref","responseCode","_context2","transferDetails","_callee3","_ref2","_context3","_this3","upload","file","recipientBankId","documentType","description","_callee4","TakenOn","_context4","lastModified","utc","format","DateTimeApiFormat","FormData","append","JSON","stringify","DocumentName","ImageName","name","Description","getId","_callee5","_ref3","_context5","getDoc","_callee6","url","base64","imageBase64","_context6","getBinary","status","from","toString","t0","console","warn","getDocMetadata","_callee7","_context7","CreateAccountUrl","DocumentsUploadUrl","UserRequirementsUrl","GetHeardAboutUrl","GetApplicationInvestigationStatusUrl","UploadInvestigationDocumentUrl","UploadApplicationDocumentUrl","UploadMiscellaneousDocumentsUrl","GetMiscellaneousDocumentsUrl","GetMiscellaneousDocumentsMetadataUrl","DuplicateAccountCheckUrl","UploadCashieringDocumentUrl","GetTransferInstructionsDocumentsIdUrl","GetTransferInstructionsDocumentUrl","GetTransferInstructionsDocumentMetadataUrl","CreateUserUrl","GetSymbolsUrl","PlaceOrderUrl","ChangeOrderUrl","CancelOrderUrl","GetOrdersUrl","PositionsUrl","HistoryGetHistoryUrl","HistoryGetHistoryBalances","HistoryGetBalancesEndpoint","TokenRequestUrl","LogoutTokenUrl","ApprovePendingUserMarketDataEntitlement","RejectPendingUserMarketDataEntitlement","GetBalancesUrl","GetBalancesForAccountsURL","GetBalancesForWithdrawalURL","GetExpirationsUrl","GetAccountsUrl","GetSubaccountsUrl","GetAccountDetailsUrl","AccountsSearchUrl","GetAccountUpdateUrl","SearchAccountUpdatesUrl","GetAccountUpdateDetailsUrl","GetAccountManagementDetailsUrl","GetPendingUserMarketDataEntitlementsUrl","GetPendingAccountManagementUpdatesUrl","GetChainUrl","GetStrikesUrl","GetBarsUrl","GetQuoteUrl","GetQuoteExtendedUrl","GetQuoteDividendUrl","GetQuoteEarningsUrl","GetPnLUrl","SymbolsWithAMPMExpirations","GetReleaseNotesUrl","CreateReleaseNotesUrl","UpdateReleaseNotesUrl","GetNewsFeedUrl","AlertMessagesURL","GetAlertMessageTemplatesURL","UpdateAlertsURL","DownloadsDailyConfirms","DownloadsDailyConfirm","DownloadsMonthlyStatements","DownloadsMonthlyStatement","DownloadsTaxDocuments","DownloadsTaxDocument","NoPassEnabledURL","NoPassLoginStartUrl","NoPassLoginFinishUrl","NoPassDeleteDeviceURL","NoPassListDevicesURL","GetLoginHistory","siteConfigId","investigationId","accountHolderId","documentId","pendingId","active","form","username","deviceid","ClearerType","LanguageType","DefaultLanguageKeys","DefaultAccountDetails","accountNames","accountNumber","accountStatus","accountType","repCode","repFirstName","repLastName","repPhoneNumber","mailingAddress","address1","address2","city","state","postalCode","country","physicalAddress","email","homePhone","mobilePhone","workPhone","lastChanged","commissions","commissionCodeId","AccountManagementEntityType","AccountManagementInvestmentObjectives","AnnualIncomeOptions","TimeHorizonType","RiskToleranceType","RiskLevel","MonetaryRangeType","LiquidityNeedType","InvestmentObjectiveType","InvestmentObjectiveDescription","InvestmentObjectiveLevel","IncomeRangeType","ExperienceYearType","TradeExperienceYearType","TaxbracketType","TradeExperienceUpdateType","LessThan25K","Between25KAnd50K","Between50KAnd100K","Between100KAnd200K","Between200KAnd300K","Between300KAnd500K","Between500KAnd1Point2M","Over1Point2M","TradeGoalType","Bonds","Options","Stocks","Commodities","Margins","MoreThan1Point2M","CapitalPreservation","Income","Growth","GrowthAndIncome","Speculation","VeryImportant","SomewhatImportant","NotImportant","LessThan50K","Between200KAnd500K","Between500KAnd1M","Between1MAnd5M","MoreThan5M","Short","Average","Long","Bottom","Middle","Top","Zero","One","TwoToThree","FourToNine","TenOrMore","OneToFive","SixToTen","ElevenToTwenty","MoreThanTwenty","Low","Medium","High","TradeGoalTypeLevel","BooleanToggleType","StocksBonds","AllAbovePlusCallsPuts","AllAbovePlusOptionSpreads","AllAbovePlusPutWriting","AllAbovePlusAllOptionStrategies","MFAOptions","Yes","No","EmploymentType","IssuerDirectCommunicationType","NoPass","SMS","YearsEmployed","Employed","Retired","Student","Unemployed","YearsEmployedDescription","BetweenZeroAndOne","BetweenTwoAndFive","BetweenFiveAndTen","BetweenTenAndTwenty","PhoneType","ErrorType","FlexibilityType","Home","Mobile","Work","ProSubType","Margin","CashOnly","AccountManagementDocuments","AccountManagementBeneficiaryAccountType","AccountManagementBeneficiaryType","InvestigationDocumentName","InvestigationDocuments","AccountApplicationState","AccountInvestigationState","UploadedDocumentState","Individual","Trust","Primary","Contingent","ApplicationStep","ApplicationType","RetirementAccountType","JointAccountType","EntityAccountType","MaritalStatusType","VisaType","BusinessNature","AccountActivityType","SourceOfFundsType","WithdrawalFrequencyType","BeneficiaryAccountType","BeneficiaryType","BeneficiariesRelationshipsType","DeliveryType","ElectronicFormat","BeneficiariesRelationships","Spouse","Parent","Child","Other","ProSubscriptionType","DuplicateStatements","Electronic","Paper","Html","PlainText","TradeAuthorizationType","PostalMail","Email","AssetType","OrderAction","OrderActionDirection","PositionEffect","OrderType","OrderClass","DebitOrCredit","OptionType","StrategyType","SizeRatio","BlockType","AllTradeAuthorizationTypes","Full","Limited","DefaultPersonDetails","firstName","lastName","middleInitial","suffix","dateOfBirth","day","month","year","ssn","address","phones","type","phoneNumber","emailConfirm","maritalStatus","dependents","birthCountry","citizenshipCountry","employmentType","disclosuresStakeholderTickerSymbol","disclosuresIndustryEmployedFirmName","disclosuresGovOfficialImmediateFamily","disclosuresGovOfficialPoliticalOrg","jointTenantsInCommonInterestPercent","disclosures","govOfficial","industryEmployed","irsWithholding","stakeholder","differentMailingAddress","employer","employerAddress","visaType","visaExpirationDate","jobPosition","yearsEmployed","foreignTaxWithholding","taxIdentificationNumber","letterOfExplanation","jurisdictionDoesNotIssueTIN","notIssuedForeignTIN","treatyCountry","foreignTINNotRequiredExplanation","English","AlertType","AccountRole","AccountType","BlockTypeValues","values","Order","Activity","Account","PriceChart","Quote","Info","OptionChain","Positions","Favorites","AccountTransfer","AccountManagement","AdminTools","Analytics","AccountStatements","ActivityTimeframes","CashieringRoute","CashieringView","CashieringManageAction","WireType","WireAccountType","TransferBankIdentifierType","AllBlocksCategorized","front","middle","back","TransferRecipientBankState","TransferPendingStates","BankRiskScoreValues","CashieringSearchEntityType","CashieringDocumentType","Country","BankStatement","VoidedCheck","Durations","AllCountries","Afghanistan","AlandIslands","Albania","Algeria","AmericanSamoa","Andorra","Angola","Anguilla","Antarctica","AntiguaAndBarbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","BoliviaPlurinationalStateOf","BonaireSintEustatiusAndSaba","BosniaAndHerzegovina","Botswana","BouvetIsland","Brazil","BritishIndianOceanTerritory","BruneiDarussalam","Bulgaria","BurkinaFaso","Burundi","CaboVerde","Cambodia","Cameroon","Canada","CaymanIslands","CentralAfricanRepublic","Chad","Chile","China","ChristmasIsland","CocosKeelingIslands","Colombia","Comoros","CongoDemocraticRepublicOf","Congo","CookIslands","CostaRica","Croatia","Cuba","Curacao","Cyprus","Czechia","CoteDIvoire","Denmark","Djibouti","Dominica","DominicanRepublic","Ecuador","Egypt","ElSalvador","EquatorialGuinea","Eritrea","Estonia","Eswatini","Ethiopia","FalklandIslandsMalvinas","FaroeIslands","Fiji","Finland","France","FrenchGuiana","FrenchPolynesia","FrenchSouthernTerritories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","GuineaBissau","Guyana","Haiti","HeardIslandAndMcDonaldIslands","HolySee","Honduras","HongKong","Hungary","Iceland","India","Indonesia","IranIslamicRepublicOf","Iraq","Ireland","IsleOfMan","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","KoreaDemocraticPeoplesRepublicOf","KoreaRepublicOf","Kuwait","Kyrgyzstan","LaoPeoplesDemocraticRepublic","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macao","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","MarshallIslands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","MicronesiaFederatedStatesOf","MoldovaRepublicOf","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","NewCaledonia","NewZealand","Nicaragua","Niger","Nigeria","Niue","NorfolkIsland","NorthMacedonia","NorthernMarianaIslands","Norway","Oman","Pakistan","Palau","PalestineStateOf","Panama","PapuaNewGuinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","PuertoRico","Qatar","Romania","RussianFederation","Rwanda","Reunion","SaintBarthelemy","SaintHelenaAscensionAndTristandaCunha","SaintKittsAndNevis","SaintLucia","SaintMartin","SaintPierreAndMiquelon","SaintVincentAndGrenadines","Samoa","SanMarino","SaoTomeAndPrincipe","SaudiArabia","Senegal","Serbia","Seychelles","SierraLeone","Singapore","SintMaarten","Slovakia","Slovenia","SolomonIslands","Somalia","SouthAfrica","SouthGeorgiaAndSouthSandwichIslands","SouthSudan","Spain","SriLanka","Sudan","Suriname","SvalbardAndJanMayen","Sweden","Switzerland","SyrianArabRepublic","TaiwanProvinceOfChina","Tajikistan","TanzaniaUnitedRepublicOf","Thailand","TimorLeste","Togo","Tokelau","Tonga","TrinidadAndTobago","Tunisia","Turkey","Turkmenistan","TurksAndCaicosIslands","Tuvalu","Uganda","Ukraine","UnitedArabEmirates","UnitedKingdomOfGreatBritainAndNorthernIreland","UnitedStatesMinorOutlyingIslands","UnitedStatesOfAmerica","Uruguay","Uzbekistan","Vanuatu","VenezuelaBolivarianRepublicOf","VietNam","VirginIslandsBritish","VirginIslandsUS","WallisAndFutuna","WesternSahara","Yemen","Zambia","Zimbabwe","BaseApiUrl","LoginApiUrl","subroot","objects","AcceptedCountries","MarketDataEntitlementTypes","OptionExpirationType","ExpirationType","ReleaseNoteIssueTypes","UserLevelTypes","Undefined","ProfessionalUser","NonProfessionalUser","DelayedQuotesOnlyUser","AlertStatusTypes","NewFeature","Improvement","BugFix","MarketHoliday","TechnicalAlert","OperationsAlert","CorporateActionAlert","Admin","Branch","Firm","Region","Rep","SizeType","Active","Inactive","OrderStrategyTypeId","OrderStrategyType","lg","ExpiredTokenCode","State","OrderStatuses","New","PartiallyFilled","Filled","DoneForDay","Cancelled","Replaced","PendingCancel","Rejected","PendingNew","Expired","PendingReplace","Saved","Initiated","ReplaceInitiated","CancelInitiated","CancelRejected","ReplaceRejected","Acknowledged","PartiallyCancelled","SymbolTypes","index","stock","ResponseCodes","0","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","300","message","301","lodash_default","replace","302","303","304","305","306","307","308","390","500","501","502","503","505","506","507","508","509","510","511","512","513","514","515","516","517","518","545","550","551","552","553","600","700","701","702","703","704","DashboardInfoSchemaFields","dashboardId","es","title","isDeleted","notRequired","dataLastFetchedOn","LayoutSchemaFields","i","x","y","w","h","minW","maxW","minH","maxH","moved","static","isDraggable","isResizable","DashboardConfigurationSchemaFields","presetBlocks","UiSettingsSchemaFields","afterHoursTrading","muteAllSounds","showBannerSymbols","bannerSymbols","balancePollingThrottleMs","cashieringPollingIntervalMs","cashieringPollingInterval","cashieringPendingReminderInterval","cashieringPendingReminderMaxAttempts","gridColumnsLarge","gridColumnsMedium","gridColumnsSmall","hotkeys","width","DashboardInfoSchema","BlockInfoSchemaFields","blockId","required","groupId","TabOptionsSchemaFields","BlockSchemaFields","oneOf","subscriptions","quotes","tabs","BlockLayoutsSchemaFields","md","sm","xs","xxs","BlockConfigurationSchemaFields","layouts","options","autoFocus","BlockGroupSchemaFields","symbol","BlockConfigurationSchema","BlockGroupSchema","AssetSymbolSchemaFields","of","blocks","groups","provider","StateSync","ExpirationRules","DirectionRules","StrikeRules","AllStates","Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","DistrictOfColumbia","Florida","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","NewHampshire","NewJersey","NewMexico","NewYork","NorthCarolina","NorthDakota","Ohio","Oklahoma","Oregon","Pennsylvania","RhodeIsland","SouthCarolina","SouthDakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","WestVirginia","Wisconsin","Wyoming","SpreadType","pagesTranslations","fieldsTranslations","TradingBlockLegacyUrlEnum","TradingBlockUrlEnum","UIClientTypes","application","dashboard","mobile","protectedTranslationKeys","translations_formatTranslationsData","formatTranslationsData","expandedKey","reduce","acc","val","key","includes","isString","defineProperty","en","pages","fields","errors","Error","Label","Text","AllLanguageTypes","Spanish","Chinese","allTranslations","zh","translations_getLocalizeOptions","languageTypes","languageNamesByKey","mapValues","l","languages","code","renderInnerHtml","renderToStaticMarkup","server_browser","UserProfileLevel","UserRole","SecurityQuestionType","MarketDataEntitlementTypeId","TradingBlockLegacyUrlsLookup","AchRelationshipPdfApplicationUrl","TB_CRS","MB_CRS","ETFDisclosureUrl","LegacySiteHomeUrl","LegacySiteLoginUrl","LegacySitePwdResetUrl","RiskDisclosuresUrl","RisksOfOptionsUrl","RisksOfDayTradingUrl","ServicesAgreementUrl","TradingBlockUrlsLookup","HomeUrl","VideoTourUrl","CustomerServiceUrl","OpenNewAccountUrl","TBFeesUrl","MBFeesUrl","isStrategy","strategy","stratName","s","toLower","info","Name","util_getGroupedCountryOptions","sortBy","filter","c","indexOf","_Constants__WEBPACK_IMPORTED_MODULE_0__","_Data__WEBPACK_IMPORTED_MODULE_1__","_Enums__WEBPACK_IMPORTED_MODULE_2__","_Models__WEBPACK_IMPORTED_MODULE_3__","AccountHolderType","PersonType","UnsupportedFeatureType","AllApplicationSteps","AllApplicationTypes","AllBeneficiaryAccountTypes","AllBeneficiaryTypes","AllBooleanToggleTypes","AllProSubscriptionTypes","AllIssuerDirectCommunicationTypes","AllDeliveryTypes","AllEmploymentTypes","AllEntityTypes","AllExperienceYearTypes","AllFlexibilityTypes","AllIncomeRangeTypes","AllInvestmentObjectiveTypes","AllJointAccountTypes","AllLiquidityNeedTypes","AllMaritalStatusTypes","AllMonetaryRangeTypes","AllPhoneTypes","AllRetirementAccountTypes","RQDRetirementAccountTypes","AllRiskToleranceTypes","AllSecurityQuestionTypes","AllTaxbracketTypes","AllTimeHorizonTypes","AllTradeExperienceYearTypes","AllTradeGoalTypes","AllVisaTypes","AllWithdrawalFrequencyTypes","AllYearsEmployed","_tradingblock_types__WEBPACK_IMPORTED_MODULE_0__","LongTermInvesting","ShortTermInvesting","ActiveTrading","SecureAccount","InvestingProfile","AccountInformation","Beneficiaries","Agreements","Sign","Joint","UGMA","Entity","Delayed","RealTime","Agriculture","Communications","Construction","ElectricGas","Finance","Fishing","Forestry","Insurance","Manufacturing","Mining","PublicAdministration","RealEstate","RetailTrade","SanitaryServices","Services","Transportation","WholesaleTrade","Apex","RQD","PersonalTrust","BusinessTrust","CCorporation","SCorporation","LlcCCorporation","LlcSCorporation","Partnership","LlcPartnership","Community","Survivor","TenantsInCommon","TenantsInEntirety","Single","Married","Divorced","Widowed","Traditional","Rollover","Roth","SEP","Simple","Beneficiary","CoverDell","RothBeneficiary","ChildhoodPetName","MothersMaidenName","BirthCity","FavoriteSportsTeam","PaternalGrandmothersFirstName","ChildhoodFutureJobWish","FavoriteBook","DriversLicenseLast4","FathersMiddleName","CorporateIncome","InvestmentCapital","E1","E2","E3","F1","K1","G4","H1B","L1","O1","TN1","Rare","Occasional","Frequent","TotalSecurityChallenges","MaxNumberOfPhones","RE_EMAIL","RE_PO_BOX","RE_SSN","RE_EIN","RE_VALID_FIRST_NAME","RE_VALID_LAST_NAME","RE_VALID_FIRST_NAME_WITH_NUMBERS","RE_VALID_LAST_NAME_WITH_NUMBERS","RE_VALID_MIDDLE_INITIAL","RE_VALID_SUFFIX","SiteIds","AllSiteIds","RE_PREFIX_PATTERN","mb","tb","RegExp","join","MismatchedDataRulesForTradeGoalTypes","_MismatchedDataRulesF","_var_lib_jenkins_jobs_workspace_tradingblock_prod_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__","annualIncome","totalNetWorth","flexibilityType","retirementAccount","MismatchedDataRulesForTradeGoalTypesRetirementAccount","_MismatchedDataRulesF2","RequiredDataRulesForTradeGoalTypes","_RequiredDataRulesFor","experience","investmentObjectiveType","FieldsToStrip","root","accountHolder","person","beneficiary","trustBeneficiary","entity","AllAccountDisclosureKeys","AllEntityAccountDisclosureKeys","AllEntityNonTrustAccountDisclosureKeys","AllAccountHolderDisclosureKeys","AllServiceProfileKeys","AllMarketDataRegulatoryKeys","AllMarketDataInvestmentProKeys","AllMarketDataCapitalTradingKeys","AllMarketDataBenefitsKeys","AllCharacteristicsKeys","AllExperienceKeys","AccountDisclosureContingentFields","entityNegativeNews","entityPublicOfficials","foreignBank","AccountHolderDisclosureContingentFields","DefaultPhone","DefaultAddress","DefaultTradingAuthorization","ssnSecret","signedName","DefaultAccountHolder","_var_lib_jenkins_jobs_workspace_tradingblock_prod_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","DefaultSecondaryAccountHolder","DefaultUgmaAccountHolder","DefaultForeignDueDiligence","expectedWithdrawalFrequency","initialContact","initialDepositAmount","initialDepositType","primaryBanking","referredName","referredRelationship","referredToBroker","DefaultForeignTaxWithholding","DefaultPublicOfficial","role","organization","familyNames","DefaultSecurityChallenge","securityQuestionType","answer","AccountDisclosureContingentFieldsDefaults","disclosuresEntityPublicOfficials","DefaultApplicationModel","languageType","userName","password","passwordConfirm","securityChallenges","clearer","tradeGoalType","liquidNetWorth","characteristics","risk","bracket","horizon","liquidity","primaryAccountHolder","ownerCountry","simpleIraPlanName","beneficiaryIraDecedentName","jointAccountType","agreeToElectronicConsent","agreeToAll","deliveryType","disclosuresForeignBankUSAgent","disclosuresEntityNegativeNewsInfo","accountDisclosures","foreignFinancialInstitution","proprietarySecuritiesAccount","foreignShellBank","entityIssuesBearerShares","entityServicesForeignShellBanks","agreements","corporateCash","corporateMargin","customerAndPrivacyPolicy","entityMargin","entityOption","iRARothAdoption","iRASepAdoption","iRASimpleAdoption","iRACoverDellAdoption","jointCommunity","jointSurvivor","jointTenantsInCommon","jointTenantsInEntirety","limitedMargin","llcAccount","margin","option","riskDisclosure","electronicConsent","onlineServices","exchangeDataAgreement","clientRelationshipSummary","apiAgreement","rqdCustomerAgreement","rqdOption","rqdMargin","rqdLimitedMargin","rqdExecutionDisclosures","rqdClearingDisclosures","rqdCustomerInformationBrochure","rqdPrivacyPolicy","rqdPrivacyNotice","rqdResponsibilitiesOfIbAndCarryingBroker","rqdSpecialStatementForUncoveredOptionWriters","rqdPowerOfAttorney","rqdLimitedTradingAuthorization","commodities","years","tradesPerYear","bonds","stocks","margins","marketData","employmentFunctions","personalUse","secCftcRegistration","associationRegistration","jobFunctions","investmentProfessional","capitalTrading","corporationTrading","benefitsReceived","marketDataType","signedNames","isPartialEntitySubmission","hearAboutUsId","repId","beneficiaries","foreignDueDiligence","clients","utilities_createAxiosClient","token","client","axios_default","baseURL","Authorization","esm","retries","retryCondition","e","isNetworkOrIdempotentRequestError","response","shouldResetTimeout","retryDelay","retryCount","error","retry_after","log","onRetry","requestConfig","utilities_formatUrl","querystringParams","delim","params","lib_default","indices","getIdNumber","toNumber","DateFormats","ApiFormat","utilities_dateStringOrUndefined","dateOrString","dateValue","dayjs_min_default","toDate","toISOString","isInfinity","toApiResponse","legacyResponse","Payload","ResponseCode","Errors","ApiClient_ApiClient","ApiClient","rootUrl","authKey","classCallCheck","http","config","createClass","value","onResponse","onResponseError","interceptors","use","path","tslib_es6","regenerator_default","combinedConfig","responseType","_a","queryParams","ApiClient_UiApiClient","UiApiClient","withCredentials","func","accounts","constants","acctId","types_dist","subaccounts","holder","getUpdate","confirm","confirmUpdate","getUserUpdates","getUserUpdateDetails","_callee8","updateRequest","_context8","updateId","getUserAccountDetails","_callee9","_context9","firmApproveUpdate","_callee10","_context10","firmRejectUpdate","_callee11","_context11","entitlements","_callee12","_context12","jsonEncode_encode","source","crypto_js_default","AES","encrypt","JwtUtilities_verify","clientType","algorithms","ignoreExpiration","clientTypes","isArray","Promise","resolve","jsonwebtoken_default","err","_jwt","expected","TryLogin","host","loginUrl","subdirectory","method","body","encoded","Content-Type","json","httpOptions","auth_auth","logout","extend","customParseFormat_default","SymbolUtilities_isIndex","first","SymbolUtilities_isIndexSymbol","occParseRegex","SymbolUtilities_isOCCSymbol","occSymbol","match","length","SymbolUtilities_parseOccSymbol","parseInt","callput","price","expiration","Date","toLocaleLowerCase","Put","Call","strike","assetType","Option","Equity","optionType","arguments","baseOccPattern","_MarginRequirements","_profile","_MarginRequirements2","_profile2","_MarginRequirements3","_profile3","_MarginRequirements4","_profile4","_MarginRequirements5","_profile5","_MarginRequirements6","_profile6","_MarginRequirements7","_profile7","_MarginRequirements8","_profile8","_MarginRequirements9","_profile9","_MarginRequirements10","_profile10","_MarginRequirements11","_profile11","_MarginRequirements12","_profile12","_MarginRequirements13","_profile13","_MarginRequirements14","_profile14","_MarginRequirements15","_profile15","_MarginRequirements16","_profile16","_MarginRequirements17","_profile17","Shares","Symbol","LegsAmount","Strikes","PermissionLevel","NA","SvgPath","IconKind","profile","Rules","SpreadRatio","Bidirectional","Legs","Direction","Strength","Bull","Bear","legs","isLimitOrder","offerPrice","isIRA","ask","AskPrice","last","LastTradePrice","Math","min","bid","BidPrice","max","Strike","CoveredCall","HundredToOne","Multileg","DifferentDirections","MarriedPut","SameDirections","CallCalendar","OneToOne","BidirectionalDebitCredit","Icon","Expiration","DifferentExpiries","Any","legsArray","K2","PutCalendar","CallVertical","SameExpiry","IncreasingOrder","strikeDiff","abs","_margin","PutVertical","DecreasingOrder","_margin2","CallButterfly","OneTwoOne","EquidistantStrikes","Butterfly","PutButterfly","Straddle","Volatility","SameStrikes","K","Strangle","CallHigherThanPut","CallCondor","OneToOneToOneToOne","EquidistantStrikesByTwos","Condor","PutCondor","IronButterfly","CallFirstPutsSecond","Iron","IronCondor","Strategies","CustomStrategy","lookup_convert","data_2012_2022","localizedFormat_default","utc_default","DateUtilities_getExpirationType","date","isDayjs","monthlyExpiration","dayOfWeek","weekOfMonth","firstDayOfMonth","firstDayOfWeek","weeksToAdd","isBefore","add","DateUtilities_getWeekdayOfMonth","isSame","Monthly","Weekly","DateUtilities_formatExpiration","dto","isWeekly","ExpirationFreqCode","isQuarterly","Quarterly","optionExpirationType","Time","rootSymbol","RootSymbol","DateUtilities_toExpiration","PM","DateUtilities_isBetweenInclusive","isAfter","DateUtilities_isDateBetweenExclusive","DateUtilities_TodayDate","hour","OrderUtilities_toRawOccSymbol","Intl","DateTimeFormat","resolvedOptions","timeZone","OrderUtilities_transformForApi","toConsumableArray","orderDesc","transformedOrder","kind","AccountId","SubaccountId","subaccountId","UnderlyingSymbol","Action","action","effect","ClientRefId","referenceId","Quantity","quantity","orderType","Price","Stop","AllOrNone","Duration","Day","DebitCredit","Debit","OccSymbol","keys","transformOrderForApi","OrderUtilities_getCallPutValue","legSymbol","symInfo","order","ordLegs","isPartialOrderWithLegs","CallPut","_RatioForPrice","OrderUtilities_transformFromApi","OrderUtilities_getDurationFromCode","duration","isNumber","GTC","Manual","OrderUtilities_getNextLegId","existingLegs","uniqueId","OrderUtilities_findDuplicateLegs","partialLegs","symbolData","spreadRatio","curr","currInd","find","eInd","isEqual","utility_isCalendar","toFixed","base64url","encodedSource","enc","Base64","Encrypt","txtUserName","_key","Utf8","parse","iv","getUTCFullYear","getUTCMonth","getUTCDate","GenerateIV","ciphertext","keySize","mode","CBC","padding","pad","Pkcs7","re","String","getTokenRequest","apikey","bearer","header","typ","alg","_username","_password","_apikey","_bearer","user","EndUser","Timestamp","generatePayload","_header","_payload","toSign","HmacSHA256","generateSignature","GetToken","JWS","GetBalances","GetBalancesForAccounts","items","GetBalancesForWithdrawal","GetBars","opts","starttime","endtime","GetQuotes","symbs","cancelToken","CancelToken","symbols","GetQuotesExtended","GetQuoteDividends","range","GetEarnings","period","GetQuotesCharting","quote_quotes","extended","dividends","earnings","getChartingFeed","GetSymbols","query","limit","querystringRequest","catch","reason","Symbols","warnings","options_getExpirations","expDates","underlyingSymbol","isExpanded","options_getStrikes","time","strikeMin","strikeMax","expirations","options_getChain","strikeCount","fetchGreeks","strikeParams","chainData","chainDataResults","strikesAroundMarket","pairs","opsymbol","expirationStrikes","flatMap","exp","union","op","options_options","strikes","optionchain","orderApi_httpOptions","_create","_change","_cancel","orderId","orderApi_getOrders","optionValues","apiResponse","omit","dateFrom","dateTo","orderApi_order","change","req","Application","getUserRequirements","utilities","getHeardAbout","getApplicationStatus","createUser","uploadDocument","tag","filename","uploadApplicationDocument","uploadFormData","uploadInvestigationDocument","createAccount","duplicateAccountCheck","UserCommands","GetNewsFeed","updatedSince","channels","information_create","releaseNote","information_info","page","pageSize","createAlert","alert","getActiveAlerts","getAlertTemplates","updateAlert","news","createReleaseNote","updateReleaseNote","releaseDate","summary","restrictedToUserLevel","entitlements_Entitlements","getPendingUserMarketDataEntitlements","getAccountDetails","approvePendingUserMarketDataEntitlement","rejectPendingUserMarketDataEntitlement","downloads_RequestHeaders","Downloads","getDailyConfirms","startDateString","endDateString","getDailyConfirm","requestedDate","getMonthlyStatements","getMonthlyStatement","getTaxDocuments","taxYear","getTaxDocument","GetBalanceHistory","HistoryGetBalances","nopass_RequestHeaders","nopass","loginStart","loginFinish","authId","authid","getDevices","deleteDevice","deviceId","getAuthHistory","subaccounts_RequestHeaders","subaccounts_subaccounts","getSubaccounts","createSubaccount","createSubaccountPayload","updateSubaccount","updateSubaccountPayload","transferPositions","transferPositionsPayload","updateDistributionRatio","distributionRatioPayload","deleteSubaccount","deleteSubaccountPayload","tradingblockApis","ApiFactory","tb_api","withResponseHandler","auth","accountManagement","balances","getForAccounts","getForWithdrawals","getToken","getBars","getSymbols","cashiering","ach","securityQuestion","transfers","transferInstructions","documents","history","getBalanceHistory","getBalances","downloads","information","ObjectUtilities_GetUrlParams","href","chain","split","nth","v","fromPairs","DocumentUtilities_getRequestedParticipantsDocuments","investigations","applications","participants","forEach","requestedDocumentDetailEntry","participantIndex","findIndex","participant","push","requestedCatagories","uploadedDocuments","categories","appCategories","cipCategories","uploadedDocumentsNames","Set","document","documentName","activeDocumentCategories","category","uploadedDocumentName","requestedDocuments","AccManagement","_constants__WEBPACK_IMPORTED_MODULE_2__","_utilities__WEBPACK_IMPORTED_MODULE_6__","GetAccountDetails","GetAccountUpdate","uploadMiscellaneousDocument","getMiscellaneousDocument","getMiscellaneousDocumentMetadata","firmApproveDocument","firmRejectDocument","getPendingUpdates","getNoPassDevices","deleteNoPassDevice","checkNoPassEnabled","AddIcon_AddIcon","inverse","size","react_default","createElement","className","Errors_Errors","renderError","k","Dropdown_BootstrapDropdown","toggle","children","es_Dropdown","alignRight","Toggle","as","Dropdown_DropdownToggle","Menu","_React$Component","DropdownToggle","possibleConstructorReturn","getPrototypeOf","apply","inherits","_this$props","props","onClick","Component","FloatingLabel_FloatingLabelWrapper","prefix","disabled","isFilled","hasFocus","data-prefix","FloatingLabel_FloatingLabel","label","icon","wrapperProps","htmlFor","Footer_Footer","primaryPanel","secondaryPanel","FormGroup_FormGroup","help","_ref$toggleableHelp","toggleableHelp","_useState","react","_useState2","slicedToArray","showHelpText","setShowHelpText","Fragment","LocalizeButton","preventDefault","HelpText_HelpIcon","iconSize","Number_NumberView","currency","roundDecimal","integer","locale","percent","greeks","isStrikeField","precisionOverride","num","number_formatNumber","Number_BoldNumberView","Number_Number","memo","Section_Section","bold","hideIcon","hidePrefix","_useSign","useSign","changeUi","Svg_Svg","rootPath","aria-label","Wrapper_Wrapper","element","Button_Button","rest","isMoneyBlockSite","siteGroup","origin","isMoneyBlockUrl","take","SiteUtilities_isMoneyBlockAccount","isMoneyBlockOrigin","GetSiteName","getSiteLogo","logo","toLowerCase","site_GetTradingBlockSiteName","GetTradingBlockDomain","siteName","setPageTitle","constate_es","authToken","setAuthToken","_useState3","_useState4","isAuthenticating","setIsAuthenticating","valueAsNumber","parseFloat","precision","toLocaleString","minimumFractionDigits","maximumFractionDigits","dec","userLocale","navigator","language","localeOptions","style","isBoolean","getCurrencyType","roundedValue","round","number_formatPercent","isGreek","ceil","floor","useLocalize_isFieldValueFilled","useLocalize_getCleanTranslationKey","useLocalize_getTranslationId","textKey","translateId","startsWith","dist","endsWith","useLocalize_getFieldTranslationId","defaultLabelId","useLocalize","getCleanTranslationKey","getTranslationId","getFieldTranslationId","iconStyle","classNameSuffix","titleSuffix","iconClassName","Text_Text","defaultPage","defaultData","ndash","react_localize_redux_es","onMissingTranslation","ContactPhone_ContactPhone","contactPhoneTextId","ContactEmail_ContactEmail","contactEmail","ExternalLink","translate","ariaLabel","startCase","target","rel","FooterTeaser_FooterTeaser","TradingBlockLink_TradingBlockLink","to","risksOfOptions","risksOfFutures","risksOfDayTrading","servicesAgreement","contactUs","getFullYear","SiteName_SiteName","finra","nfa","sipc","brokerCheck","Header_Header","Header_SubHeader","Loading_Loading","LoadingImage","SiteLogo_SiteLogo","domain","urlKey","defaultRedirect","isDev","isBeta","fulldomain","isLegacyURL","site_GetTradingBlockFullUrl","pageReducer","nav","collapsed","_useReducer","_useReducer2","dispatch","navActions","isOpen","navCollapsed","components","Checkbox_CheckboxInput","checked","onblur","onchange","inputType","inputClassName","checkboxValue","setCheckboxValue","onChange","onBlur","useWindowSizeContext","window","innerWidth","Infinity","height","innerHeight","setState","set","event","addEventListener","removeEventListener","SelectDropdown_SelectDropdownInput","parent","placeholder","controlledLabel","menuPortalTargetId","onLabelStateChange","isSearchable","defaultValue","isMulti","selectValue","setSelectValue","isFilledValue","floatingLabelState","setFloatingLabelState","updateFloatingLabelState","selectOptions","o","raw_value","selectValues","menuPortalTarget","getElementById","selectStyles","menuPortal","provided","zIndex","narrowPage","react_select_esm","inputId","classNamePrefix","onFocus","isDisabled","styles","selectProps","autoComplete","Range","rc_slider_es","Stepper_StepperInput","createSliderWithTooltip","stepperValue","setStepperValue","newValue","Textbox_TextboxInput","onfocus","allowUnmask","preventPaste","labelPrefix","inputRef","inputValue","setInputValue","maskPassword","setMaskPassword","_useState5","_useState6","rawValue","onPaste","onDragDrop","setTimeout","current","focus","tabIndex","fieldType","ref","onDrag","onDrop","react_grid_layout","Address_AddressField","countryProps","addr1Help","stateProps","field","getTextboxFieldProps","fieldProps","component","Textbox_TextboxField","formik_esm","SelectDropdownField","CheckList_CheckListField","renderOption","touched","submitCount","Checkbox_CheckboxField","onSetValue","newValues","setFieldValue","onChanged","fieldId","currentValue","_e","optionsDefaultLabelId","rawOptionLabels","useRawOptions","_a$isSearchable","_useLocalize","getValueTranslationId","getOptionValue","getOptionLabel","formattedId","substring","lastIndexOf","select","Stepper_StepperField","disabledOptions","onChangedAndSetValue","translationId","buttonOptions","isPhoneNumber","slice","formatPhoneNumber","formatValue","Textarea_TextareaInput","minHeight","Textarea_TextareaField","text","toUpperCase","btnProps","pick","HelpText_HelpText","wrapper","showHelp","setShowHelp","Loading_LocalizeLoading","LocalizeLoading","LocalizeWrapperWithLocalize","initialize","addTranslationForLanguage","localizeInitialized","setLocalizeInitialized","each","translations","lang","LocalizeProviderWrapper_LocalizeProviderWrapper","Modal_Modal","show","isError","backdrop","keyboard","setShow","handleClose","es_Modal","onHide","dialogClassName","numColumns","columnWidth","calculateColumnWidth","memoize","rowA","rowB","_columnId","desc","sort","numColumn","Tabs","Tab","createContext","httpProvider_getAxiosClient","HttpProvider","axios","patch","cv","save","logEndpoint","httpProvider_getHttpProvider","storageProvider_keyVal","storageProvider_StorageEngineFactory","keyVal","localforage_default","setItem","getItem","removeItem","localStorageProvider_LocalStorageProvider","storageProvider_StorageProvider","StorageProvider","storeConfig","engineFactory","engine","newVal","setConfig","TokenFromStorage","storage","useStorageProvider_SaveTokenInStorage","useStorageContext","useLocalStorage","args","InitialState","ui","numberOfSections","visibleSections","scrollToSection","uploadState","UiActions","setSiteGrp","createStandardAction","setStep","showNextSection","setScrollToSection","setNextPage","clearNextPage","setClearer","setAffiliate","ApplicationActions","requestUiData","receiveUiData","requestApplicationStatus","receiveApplicationStatus","requestSaveApplication","receiveSaveApplication","requestPartialSaveApplication","receivePartialSaveApplication","requestCreateUser","receiveCreateUser","requestUploadDocuments","receiveUploadDocument","removeUploadDocument","requestCreateAccount","receiveCreateAccount","requestDuplicateAccountCheck","receiveDuplicateAccountCheck","requestCreatePartialEntityAccount","receiveCreatePartialEntityAccount","TokenActions","uiTokenExpired","objectSpread","dayjs","getApplicationStepUrl","step","siteGrp","isPreviouslyTouchedApplicationStep","latestStepTouched","_","canAccessApplicationStep","latestStepSaved","getPrevApplicationStep","latestStepCompleted","isApplicationStepInvalid","verifyMismatchedData","isFinalApplicationSteps","some","checkForMismatchedDataType","validateApplication","isEmpty","getNextApplicationStep","latestStep","updateApplication","incrementSection","isStepCompleted","sectionsVisible","getNumberOfSectionsInApplicationStep","nextStep","latestStepVisibleSections","lastSavedOn","isFinalSteps","getForcedOffRampUrl","unsupportedFeature","BearerShares","getUnsupportedFeatureType","retirementAccountType","getAllAgreementKeysForApplication","getTradeGoalsWithDataVerification","tradeGoalTypes","getAllTradeGoalTypesForApplication","mismatchedRules","requiredRules","verified","verifyMismatchedDataRules","verifyRequiredDataRules","getTradeGoalsWithDataVerificationRetirementAccount","rules","ruleKeys","every","verifyMismatchedDataRule","mismatchedData","verifyRequiredExperienceDataRule","verifyRequiredDataRule","requiredData","experienceKeys","tradeGoalsWithVerification","t","getMismatchedDataType","confirmedMismatchedDataTypes","getRiskLevelForTradeGoalType","None","VeryLow","Moderate","getRiskLevelForInvestmentObjectiveType","getOwnerNamesForSignStep","secondaryAccountHolder","_accountHolder$firstN","_accountHolder$middle","_accountHolder$lastNa","_accountHolder$suffix","Boolean","getUploadDocumentTagForUploadKey","getErrorData","prefixes","defaults","exec","number","getDefaultFieldMatch","getDefaultFieldType","getAccountHolderOrDefaultField","getErrorKeyForField","defaultFieldType","defaultField","getDefaultField","isDateFilled","isFieldValueFilled","isPhoneFilled","isNonZeroYear","getDatePartOptions","part","forPastDates","reverse","getNumberOfApplicationInformationEntitySections","entityAccountType","getNumberOfAgreementDisclosureSections","getVisibleSectionsForApplicationStep","getDateFromModel","getAllExperienceKeysForApplication","needsApiAgreement","isIra","isEntity","isMargin","isOptionsInTradeGoals","allAgreementKeys","tradingAuthorization","customerAndPrivacyPolicyIndex","splice","showBeneficiariesFields","showOwnersOfficersFields","showTrustedContactFields","showTenantsInCommonInterestPercentFields","resetApplicationLastStep","resetStep","resetConfirmedMismatchedDataTypes","tradeAuthorization","tradeAuthorizationAgentName","serviceProfile","issuerDirectCommunication","updateFieldsDependentOnAccountDisclosure","contingentFields","zipObject","f","heardAbout","heardAboutId","cleanApplicationForStorage","cleanApplicationForSubmission","heardAboutData","isPrimaryForeign","cleanBooleanToggleType","cleanBooleanToggleTypes","marketD","heardAboutInfo","officeCode","officeCodes","reps","representatives","omitBy","cleanDateModel","cleanValues","cleanAccountHolder","cleanOwnerEntity","cleanBeneficiary","ownersOfficers","cleanPersonDetails","personDetails","beneficiaryType","einSecret","ein","trim","ownerEntity","trustCreatedDate","u","cleanDatePart","cleanEntityApplicaitonForPartialSubmission","asyncToGenerator","howDidYouHear","howDidYouHearObject","officeCodeValue","_rep","item","_x","_x2","userPoolId","process","userPoolClientId","dataUrl","authRedirect","tradingApi","dashboardUrl","gaUaTrackingCode","REACT_APP_GA_UA_TRACKING_CODE_APPLICATION","ga4TrackingCode","ga4VTTrackingCode","isProduction","isVirtual","publicDir","TB_PUBLIC_DIR","uspsId","uspsSecret","uspsBaseUrl","delayedScrollTo","offset","offsetPadding","scrollTo","behavior","left","top","validateToken","id_token","pubKey","decoded","jwtValues","DefaultFieldRequirements","maxLength","minDigitCount","minLength","minLowerCount","minSpecialCount","minUpperCount","getSpecialCharsAsHtml","acceptableSpecialChars","dangerouslySetInnerHTML","__html","isUserNameEqualToEmail","isUserNameContainedInPassword","isUserNameValid","requirements","_requirements$nameReq","nameRequirements","isRequiredLengthValid","isRequiredDigitsValid","isRequiredSpecialCharsValid","isPasswordValid","_requirements$passwor","passwordRequirements","minCharAllowed","maxCharAllowed","generateSpecialCharUnicodeRange","isRequiredLowercaseValid","isRequiredUppercaseValid","getRequirementsRegex","escapedSpecialChars","escapeRegExp","test","countNumberOfChars","charMatch","sumBy","minChar","maxChar","numbersAndLettersRange","generateUnicodeDecimalRange","charRange","hex","minCodePoint","codePointAt","maxCodePoint","isValidDate","getError","getRequiredError","Required","getInvalidError","Invalid","getDuplicateAccountError","getDuplicateError","getAmountError","Amount","getMismatchError","Mismatch","getEmailError","getInvalidLengthError","InvalidLength","getInvalidLegalNameError","InvalidLegalName","validateApplicationStepAsync","validateSecureAccount","validateClearerType","validateAccountType","validateInvestingProfile","validateAccountInformation","validateBeneficiaries","validateAgreements","validateSign","pickBy","errs","location","_x3","_x4","_x5","finalStepsToValidate","errorsSection1","validatePerson","AccountHolder","errorsSection2","_objectSpread2","sc","idx","jointCommunityPropertyState","_objectSpread3","optionalSections","entity.officeLocations","officeLocations","entity.accountActivity","accountActivity","entity.initialDepositAmount","entity.initialDepositMethod","initialDepositMethod","entity.primarySourceOfFunds","primarySourceOfFunds","entity.expectedWithdrawalFrequency","entity.primaryBankName","primaryBankName","tradingBlockAccounts","account","_objectSpread5","accountName","errorsSection3","validatePhones","validateAddress","errorsSection4","validateAccountHolder","errorsSection5","errorsSection6","accountHolderPrefix","_objectSpread8","errorMessage","isForeign","validatePersonDetails","validateDate","validateForeignDueDiligence","validateForeignTaxWithholding","_objectSpread9","_ref7","_ref8","_ref9","_ref10","showBeneficiaries","showOwnersOfficers","showTrustedContact","showTenantsInCommonInterestPercent","validateBeneficiariesFields","validateOwnersOfficersFields","validateTrustedContactFields","validateTenantsInCommonPercent","primaryBeneficiaries","b","beneficiaryAccountType","contingentBeneficiaries","totalPrimaryPercent","totalContingentPercent","allSSNs","ssnMatchErrors","_objectSpread10","_ref12","_objectSpread12","relationship","trustName","isInteger","isOwner","isOfficer","addTrustedContact","nameError","addressError","emailError","trustedContact","TrustedContact","trustedContact.email","validatePhone","trustedContact.firstName","trustedContact.lastName","trustedContact.address.address1","_ref14","primaryPercent","secondaryPercent","_ref13","totalPercent","validateTradingAuthorization","_objectSpread16","_values$tradingAuthor","nameMatch","removeUndefinedKeys","obj","hasOwnProperty","TradeAuthorization","validateAccountHolderDisclosures","validateAccountDisclosures","validateServiceProfile","validateMarketDataQuestionnaire","validatePublicOfficialsFields","validateAccountAgreements","_ref15","_ref16","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","isPro","isProCheck","agreementValues","accountAgreementKeys","errorAgreements","agreementKey","p","_objectSpread17","ownerNames","entity.secretaryName","secretaryName","_ref26","testOver18","isValid","subtract","promisesParser","string","xml2js","parseString","uspsVerification","_ref27","xml","simplifyAddress","isFlipped","xmlText","xmlResult","AddressValidateResponse","Address","_Address$","City","Zip5","Zip4","Address1","Address2","_Error","_Error$","_Number","Source","address1Value","address2Value","_ref28","Headers","Access-Control-Allow-Origin","Access-Control-Allow-Credentials","Access-Control-Allow-Methods","encodeURIComponent","Number","zip5","zip4","uspsAddress1","uspsAddress2","_x6","_x7","getUSPS","_ref29","_x8","_x9","_ref33","_ref34","isMailing","stateOrPostalCodeRequired","uspsValidationErrors","uspsResponse","uspsResponseValue","isValidAddress","_uspsResponseValue","formattedCityCapitalized","capitalize","startCaseCity","isCityEqual","isZipEqual","isStateEqual","isAddressEqual","localStorage","_ref30","_uspsResponseValue2","isAddress1Equal","isAddress2Equal","formattedAddress1","charAt","formattedAddress2","validateWithUspsResponse","uspsResponseFromStorage","getUspsResponseFromStorage","phone","_ref35","validateAllFields","validatePhoneNumber","contactType","_objectSpread24","validateName","_ref37","isFetching","RootReducer","combineReducers","getType","affiliate","apiToken","storageToken","apiRequestFailed","APINotAuthorizedResponseCode","apiTokenExpired","storageTokenExpired","_action$payload","currentStep","nextNumberOfSections","nextVisibleSections","nextPage","_action$payload2","userRequirements","SuccessResponseCode","isFetchingStatus","_action$payload3","success","_action$payload4","saveStep","saveType","isSaving","createdUser","createdAccount","errorCode","_action$payload5","_action$payload6","errorMessages","_action$payload7","applicationSentOn","_action$payload8","_action$payload9","uiRootSelector","dataRootSelector","createSelector","siteId","grp","cleanId","siteGrpParam","sectionInfo","saveInfo","createErrorCode","createErrorMessages","duplicateAccountValidation","useStateSelector","sel","useSelector","useData","buildApiClient","useApi","useMemo","useApplication","constate","useState","setIsFetching","mismatchedDataModal","setMismatchedDataModal","navMenuOpen","setNavMenuOpen","_useState7","_useState8","formSubmitted","setFormSubmitted","useStore","baseDataUrl","apiUrl","useHttpStore","useEffect","useApplicationStore","useDispatch","applicationApiClient","tryGetApplication","trySaveApplication","applicationMiddleware","middleware","getState","fetchUiData","handleApplicationStatus","handleSaveApplication","handlePartialSaveApplication","handleCreateUser","handleUploadDocuments","handleCreateAccount","handleDuplicateAccountCheck","handleCreatePartialEntityAccount","responseUserRequirements","responseHeardAbout","t1","GenericErrorResponseCode","_ref4","_x10","_ref5","_x11","_x12","_ref6","createData","tokenRes","createInstantAccount","passwordSecret","_x13","_x14","_x15","uploadKey","_x16","_x17","_x18","_x19","_x20","_x21","_x22","_data","_x23","_x24","_x25","_ref11","_data2","_x26","_x27","_x28","sagaMiddleware","createSagaMiddleware","composeEnhancers","compose","composeWithDevTools","predicate","applyMiddleware","DataStore","createStore","useDispatcher","useLogout","useCallback","ApplicationLoader","allowAnonymous","empty","mounted","useRef","store","_useApplication","_useApplication2","onLogout","isRehydrating","setIsRehydrating","isApplicationLoading","urlMatch","pathname","sendToNextStep","sendToNextUrl","loadApplication","isUndefined","cleanErrors","errorPrefixes","_err","prefixTextProps","isPersonalTrust","beneficiaryStepFields","addressType","dobType","phoneType","ssnType","getPrefixTextPropsForField","errorDefaults","itinTextProps","getITINTextPropsForField","itin","PageFooter","PageHeader","withRouter","showNavigation","canEdit","stepIndex","latestStepIndex","aria-haspopup","aria-expanded","aria-labelledby","PageHeader_NavigationStep","showLabel","onClickLabel","aria-hidden","NavigationStep","currentIndex","isCurrent","react_router_dom","PageTitle","withLocalize","titleKey","GetTradingBlockSiteName","HomePage","_useData","showReset","react_router","isNewOrContinue","isSubmitted","isCheckStatus","ApplicationLoader_ApplicationLoader","emptyApplication","tryGetToken","tokenFromUrl","tokenFromState","tokenFromLS","tokenVal","tokenResult","tokenPayload","SaveTokenInStorage","AuthenticationPage","urlParams","qs","drop","hash","currentToken","setCurrentToken","useMount","LinkClickedContext","useLinkClicked","context","useContext","LinkClickedProvider","linkClicked","setLinkClicked","Provider","AccountHolderDisclosuresSection","setValues","getText","accountHolderIdx","fieldPrefix","textDecoration","StepperField","accountHolderField","updateFieldsDependentOnAccountHolderDisclosure","TextboxField","PrimaryAccountHolderDisclosuresSection","AccountHolderDisclosuresSection_AccountHolderDisclosuresSection","JointAccountHolderDisclosuresSection","DateField","handleLabelStateChange","getFieldProps","FieldRequirement","valid","color","formatNumberAsTranslatedDigit","translatedDigit","fieldLabel","typeLabel","fieldTypeId","translatedLabel","textData","FieldRequirementsHelp","getFieldRequirements","charData","chars","hintValidation","validationFunction","getFieldRequirementProps","PersonField","personType","inputMode","AddressField","getGroupedCountryOptions","PhoneField","onRemove","PhonesArrayField","render","arrHelpers","_p","remove","PublicOfficialField","InvestigationUpload","requestedInvestigationDocument","uploadingDocument","setUploadingDocument","uploadSuccess","setUploadSuccess","setErrors","selectedDocumentName","setSelectedDocumentName","_useState9","_useState10","needToSelectDocumentName","setNeedToSelectDocumentName","fetchStatus","processUploadResponse","fetchStatusTimer","clearTimeout","isRqdIdCard","DriversLicense","StateIdCard","maxFiles","_useDropzone","useDropzone","onDropAccepted","acceptedFiles","onDropRejected","fileRejections","maxSize","accept","getRootProps","getInputProps","requestedDocumentOption","marginTop","errorIndex","fontWeight","PublicOfficialsArrayField","AccountDisclosuresSection","disclosureSections","getDisclosureContingentFields","AccountAgreementsSection","clickedAgreements","setClickedAgreements","agreementCheckboxRef","onClickedAgreementLink","agreement","heardAboutList","apiAgreementRequired","scrollIntoView","CheckboxField","agreementKeys","agreementKeysObject","contactUsLink","BeneficiariesFields","total","totalPercentageError","j","isIndividual","currentTarget","blur","OwnersOfficersFields","InCommonInterestPercentFields","accountHolders","AccountHolderContactSection","totalPreceedingSections","isUgma","touchAddress","onCopyAddress","copyAccountHolderPrimaryAddresses","updateFieldsDependentOnDifferentMailingAddress","PrimaryAccountHolderContactSection","AccountHolderContactSection_AccountHolderContactSection","JointAccountHolderContactSection","UgmaAccountHolderContactSection","Ugma","AccountHolderPersonalInfoSection","requestValues","primaryTaxIdSecret","secondaryTaxIdSecret","citizen","updateFieldsDependentOnCitizen","updateFieldsDependentOnSecondaryCitizen","TextareaField","updateFieldsDependentOnEmploymentType","PrimaryAccountHolderPersonalInfoSection","AccountHolderPersonalInfoSection_AccountHolderPersonalInfoSection","JointAccountHolderPersonalInfoSection","UgmaAccountHolderPersonalInfoSection","UserInfoSection","setActiveLanguage","heardAboutSelected","heardAboutOptions","heardAboutOptionsLabels","representativesOptions","r","representativesOptionsLabels","onHeardAboutChanged","heardAboutToSelect","assistanceEl","helpLink","display","UserCredentialsSection","setUsername","getSecurityQuestionTypes","otherValues","_c","validatedToken","fetchUsernameFromToken","storeTokenInLocalStorage","signoutLink","FieldRequirementsHelp_FieldRequirementsHelp","StateValue","usState","StateEnum","FieldValue","textPrefix","AddressValue","DateValue","errorPrefix","incompleteText","MaskedValue","masked","unmaskedIdx","substr","PersonValue","Phone","PhoneValue","PhonesValue","Phones_Phone","UploadedDocuments","uploadedDocument","originalFileName","takenOn","EntitySummary","activeLanguage","entityTypeTextPrefix","entityName","entityTaxId","entityYourTitle","usStateOfRegistration","businessNature","businessPhone","AccountHolderContactSummary","PrimaryAccountHolderContactSummary","AccountHolderContactSummary_AccountHolderContactSummary","JointAccountHolderContactSummary","UgmaAccountHolderContactSummary","AccountHolderPersonalInfoSummary","formatBoolean","PrimaryAccountHolderPersonalInfoSummary","AccountHolderPersonalInfoSummary_AccountHolderPersonalInfoSummary","JointAccountHolderPersonalInfoSummary","UgmaAccountHolderPersonalInfoSummary","EntityFinancialActivitySummary","hasTradingBlockAccounts","BeneficiariesList","OwnersOfficersList","AccountHolderDisclosuresSummary","PrimaryAccountHolderDisclosuresSummary","AccountHolderDisclosuresSummary_AccountHolderDisclosuresSummary","JointAccountHolderDisclosuresSummary","PublicOfficial","publicOfficial","PublicOfficialsValue","PublicOfficials_PublicOfficial","AccountDisclosuresSummary","AccountAgreementsSummary","ClearerTypeSection","_useApplication2$","_useApplication2$2","isOnLastSectionOfStep","handleClick","clearerType","saveStepAndContinue","forcedNextUrl","isStepValid","fontStyle","shouldRemoveClearerOption","selectedHeardAboutUsId","selectedHeardAboutUsRepId","heardAboutUsItems","selectedHeardAboutUs","heardAboutItem","repOfficeCodes","rqd","MismatchedDataModal","onEdit","onContinue","onClose","Header","closeButton","Title","Body","Footer","RiskLevelIcon","level","TradeGoalsVerification","TradeGoalText","tradeGoalOptionPrefix","ApplicationFormComponents","_ApplicationFormCompo","sectionProps","objectWithoutProperties","affiliateValue","autoSetHeardAboutUs","Map","apex","serviceLevel","has","getAffiliateHeardAboutUs","ApplicationDuplicateAccountTypeSSNResponseCode","ApplicationDuplicateUsernameResponseCode","sections","allSections","crsFormLink","crsFormLinkURL","ChildSection","signinLink","crsLink","components_Errors_Errors","shouldSkipStep","entityListLinks","llc","corp","partnership","personalTrust","businessTrust","entityApplicationPacket","entityDisclosurePacket","disabledFlexibilityTypeOptions","updateFieldsDependentOnOwnerCountry","updateFieldsDependentOnApplicationType","updateFieldsDependentOnRetirementAccount","updateFieldsDependentOnRetirementAccountType","updateFieldsDependentOnJointAccountType","optionsdefaultlabelid","entityType","updateFieldsDependentOnEntityType","updateFieldsDependentOnFlexibilityType","closeMismatchedDataModal","getRiskToleranceTypes","MismatchedDataModal_MismatchedDataModal","scrollToTop","confirmMismatchedData","formValues","TradeGoalsVerification_TradeGoalsVerification","CheckListField","opt","updateFieldsDependentOnTradeGoalType","updateFieldsDependentOnInvestmentObjectiveType","updateFieldsDependentOnExperienceYears","updateFieldsDependentOnAnnualIncome","updateFieldsDependentOnTotalNetWorth","updateFieldsDependentOnLiquidNetWorth","BeneficiariesFields_BeneficiariesFields","OwnersOfficersFields_OwnersOfficersFields","InCommonInterestPercentFields_InCommonInterestPercentFields","updateFieldsDependentOnAddTrustedContact","updateFieldsDependentOnTradeAuthorization","updateFieldsDependentOnEmploymentTypeTradeAuth","ApplicationSummaryComponents","_ApplicationSummaryCo","representativeSelected","ex","ChildSummary","BeneficiariesList_BeneficiariesList","OwnersOfficersList_OwnersOfficersList","app","accountCreated","onFinalSteps","canBeginFinalSteps","continueDisabled","isInvalid","isPartialSubmission","primaryBtnProps","checkForMismatchedData","mismatchedDataType","onPrimaryBtnClick","shouldSkipClearer","isStepVisible","applicationWithConfirmation","submittedDate","moment","Step","hidden","ErrorScrollWrapper","useFormikContext","isSubmitting","isValidating","errorElement","querySelector","block","preventScroll","ApplyForm","_useApplication3","_useApplication4","_useApplication4$","_useApplication4$2","_useData3","_useData4","initialValues","submitButtonId","duplicateAccountCheckState","onSaveForLater","enableReinitialize","onSubmit","formikHelpers","setTouched","validate","visibleSectionsToValidate","validateOnChange","ErrorScrollWrapper_ErrorScrollWrapper","handler","onHandleSubmit","handleSubmit","textOptions","getStepProps","justifyContent","handlePartialEntityAccountSubmission","_useData2","section","offsetTop","getNextPage","sendToNextPage","nextUrl","isApplicationComplete","Apply_ApplyForm","ThankYouPage","isOffline","applicationStatus","authTokenExpired","requestedParticipantsDocuments","getRequestedParticipantsDocuments","areDocumentsRequested","contentTextKey","contactTextId","contact","OfflinePage","setIsSaving","CustomerServicePage","UnsupportedFeaturePage","IrsWithholding","PendingPage","dashboardLogoutUrl","gotoApplication","LogoutPage","StatusPage","applicationStatusIsFetching","UploadedDocument_UploadedDocuments","requestedDocument","ExpiredTokenPage","isExpired","ApplicationRouter","GetUrlParams","useSiteGroup","useClearer","useAffiliate","ResetRoute","exact","SummaryPage","ApplyPage","shouldScrollToTop","TRACKING_ID","ReactGA","TokenHandler","AppContentWithRouter","currentPage","redirectTo","onMenuClose","App_TokenHandler","ApplicationRouter_ApplicationRouter","PageFooter_PageFooter","App","pageview","LinkClickedContext_LinkClickedProvider","basename","hostname","Sentry","dsn","integrations","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","ReactDOM","src_App_0","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.69a17cb5.chunk.js","sourcesContent":["import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport { GenericErrorResponseCode } from '@tradingblock/types';\nimport { DateFormats, dateStringOrUndefined, GetTransferInstructionsDocumentMetadataUrl, GetTransferInstructionsDocumentsIdUrl, GetTransferInstructionsDocumentUrl, UploadCashieringDocumentUrl } from '..';\nimport dayjs from 'dayjs';\nvar RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport function SecurityQuestion(api) {\n return {\n fetch: function fetch() {\n return api.authenticated().get(\"User/GetSecurityChallenge\", {}, RequestHeaders);\n },\n verify: function verify(data) {\n return api.authenticated().post(\"User/VerifySecurityChallenge\", data, RequestHeaders);\n }\n };\n}\n\nvar transformTransfer = function transformTransfer(transferLike) {\n return Object.assign({}, transferLike, {\n achRelationshipId: transferLike.achRelationship\n });\n};\n\nexport function Transfers(api) {\n return {\n all: function all(accountId, data) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/Transfers\"), data || {}, RequestHeaders).then(function (res) {\n return Object.assign({}, res, {\n payload: res.payload ? res.payload.map(transformTransfer) : []\n });\n });\n },\n get: function get(accountId, transferId) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId), {}, RequestHeaders).then(function (res) {\n return Object.assign({}, res, {\n payload: transformTransfer(res.payload)\n });\n });\n },\n achDeposit: function achDeposit(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/Achs/Deposit\"), data, RequestHeaders);\n },\n achWithdrawal: function achWithdrawal(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/Achs/Withdrawal\"), data, RequestHeaders);\n },\n wireWithdrawal: function wireWithdrawal(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/Wires/Withdrawal\"), data, RequestHeaders);\n },\n checkWithdrawal: function checkWithdrawal(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/Checks/Withdrawal\"), data, RequestHeaders);\n },\n update: function update(accountId, transferId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId, \"/Update\"), payload, RequestHeaders);\n },\n approve: {\n rep: function rep(accountId, transferId, payload) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId, \"/ApproveCreateRep\"), payload || {}, RequestHeaders);\n },\n firm: function firm(accountId, transferId, payload) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId, \"/ApproveCreateFirm\"), payload || {}, RequestHeaders);\n }\n },\n reject: function reject(accountId, transferId, note) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId, \"/RejectCreate\"), {\n note: note\n }, RequestHeaders);\n },\n cancel: function cancel(accountId, transferId, comment) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/Transfers/\").concat(transferId, \"/Cancel\"), {\n comment: comment || 'Cancelled by User'\n }, RequestHeaders);\n }\n };\n}\nexport function ACH(api) {\n return {\n all: function all(accountId) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/AchRelationships\"), {}, RequestHeaders);\n },\n get: function get(accountId, achId) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId), {}, RequestHeaders);\n },\n fetchPlaidLinkToken: function fetchPlaidLinkToken(accountId, redirectUri) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/AchRelationships/PlaidLinkToken\"), {\n redirectUri: redirectUri\n }, RequestHeaders);\n },\n create: function create(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/AchRelationships\"), data, RequestHeaders);\n },\n approve: function approve(accountId, achId, request) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/Approve\"), request, RequestHeaders);\n },\n approveCreate: function approveCreate(accountId, achId, note, adminNote, mapToRelationshipId) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/ApproveCreate\"), {\n note: note,\n adminNote: adminNote,\n mapToRelationshipId: mapToRelationshipId\n }, RequestHeaders);\n },\n rejectCreate: function rejectCreate(accountId, achId, note) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/RejectCreate\"), {\n note: note\n }, RequestHeaders);\n },\n reIssue: function reIssue(accountId, achId) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/ReIssue\"), {}, RequestHeaders);\n },\n update: function update(accountId, achId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/Update\"), payload, RequestHeaders);\n },\n cancel: function cancel(accountId, achId, comment) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/AchRelationships/\").concat(achId, \"/Cancel\"), {\n comment: comment || 'Cancelled by User'\n }, RequestHeaders);\n }\n };\n}\nexport function TransferInstructions(api) {\n return {\n all: function all(accountId) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires\"), {}, RequestHeaders);\n },\n get: function get(accountId, instructionId) {\n return api.authenticated().get(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId), {}, RequestHeaders);\n },\n details: function details(instructionId) {\n return api.authenticated().get(\"Cashiering/Search/TransferInstructions/Wires/\".concat(instructionId, \"/Details\"), {}, RequestHeaders);\n },\n create: function create(accountId, data) {\n return api.authenticated().post(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires\"), data, RequestHeaders);\n },\n update: function update(accountId, instructionId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId, \"/Update\"), payload, RequestHeaders);\n },\n delete: function _delete(accountId, instructionId, comment) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId, \"/Cancel\"), {\n comment: comment\n }, RequestHeaders);\n },\n approveCreate: function approveCreate(accountId, instructionId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId, \"/ApproveCreate\"), payload, RequestHeaders);\n },\n rejectCreate: function rejectCreate(accountId, instructionId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId, \"/RejectCreate\"), payload, RequestHeaders);\n },\n cancel: function cancel(accountId, instructionId, payload) {\n return api.authenticated().put(\"Cashiering/\".concat(accountId, \"/TransferInstructions/Wires/\").concat(instructionId, \"/Cancel\"), payload, RequestHeaders);\n }\n };\n}\nexport function cashieringSearch(api) {\n var _this = this;\n\n return {\n search: function search(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var startDate, endDate, searchRequest, result;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n startDate = _.isNil(request.startDate) ? undefined : dateStringOrUndefined(request.startDate, 'YYYY-MM-DD');\n endDate = _.isNil(request.endDate) ? undefined : dateStringOrUndefined(request.endDate, 'YYYY-MM-DD');\n searchRequest = Object.assign({}, request, {\n endDate: endDate,\n startDate: startDate\n });\n _context.next = 5;\n return api.authenticated().get(\"Cashiering/Search\", searchRequest, RequestHeaders);\n\n case 5:\n result = _context.sent;\n return _context.abrupt(\"return\", result);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n }\n };\n}\nexport function cashieringDetails(api) {\n var _this2 = this;\n\n return {\n relationshipDetails: function relationshipDetails(id) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var _ref, responseCode, payload, data;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return api.authenticated().get(\"Cashiering/Search/AchRelationships/\".concat(id, \"/Details\"), {}, RequestHeaders);\n\n case 2:\n _ref = _context2.sent;\n responseCode = _ref.responseCode;\n payload = _ref.payload;\n data = Object.assign({}, payload, {\n id: id\n });\n return _context2.abrupt(\"return\", {\n responseCode: responseCode,\n payload: data\n });\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n },\n transferDetails: function transferDetails(id) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var _ref2, responseCode, payload, data;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return api.authenticated().get(\"Cashiering/Search/Transfers/\".concat(id, \"/Details\"), {}, RequestHeaders);\n\n case 2:\n _ref2 = _context3.sent;\n responseCode = _ref2.responseCode;\n payload = _ref2.payload;\n data = Object.assign({}, payload, {\n id: id\n });\n return _context3.abrupt(\"return\", {\n responseCode: responseCode,\n payload: data\n });\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n }\n };\n}\nexport function cashieringDocuments(api) {\n var _this3 = this;\n\n return {\n upload: function upload(file, accountId, recipientBankId, documentType, description) {\n return tslib_1.__awaiter(_this3, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n var TakenOn, data;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n TakenOn = dayjs(file.lastModified).utc().format(DateFormats.DateTimeApiFormat);\n data = new FormData();\n data.append('metaData', JSON.stringify({\n DocumentName: documentType,\n ImageName: file.name,\n TakenOn: TakenOn,\n Description: description\n }));\n data.append('file', file);\n return _context4.abrupt(\"return\", api.authenticated().post(UploadCashieringDocumentUrl(accountId, recipientBankId), data));\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n getId: function getId(accountId, instructionId) {\n return tslib_1.__awaiter(_this3, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n var _ref3, responseCode, payload;\n\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return api.authenticated().get(GetTransferInstructionsDocumentsIdUrl(accountId, instructionId), {}, RequestHeaders);\n\n case 2:\n _ref3 = _context5.sent;\n responseCode = _ref3.responseCode;\n payload = _ref3.payload;\n return _context5.abrupt(\"return\", {\n responseCode: responseCode,\n payload: payload\n });\n\n case 6:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n },\n getDoc: function getDoc(accountId, recipientBankId, id) {\n return tslib_1.__awaiter(_this3, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee6() {\n var url, result, base64, imageBase64;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n url = GetTransferInstructionsDocumentUrl(accountId, recipientBankId, id);\n _context6.prev = 1;\n _context6.next = 4;\n return api.authenticated().getBinary(url, {\n accountId: accountId,\n recipientBankId: recipientBankId,\n id: id\n });\n\n case 4:\n result = _context6.sent;\n\n if (!(result.status === 200)) {\n _context6.next = 9;\n break;\n }\n\n base64 = Buffer.from(result.data, 'binary').toString('base64');\n imageBase64 = \"data:\".concat(result.headers['content-type'], \";base64,\").concat(base64);\n return _context6.abrupt(\"return\", imageBase64);\n\n case 9:\n _context6.next = 15;\n break;\n\n case 11:\n _context6.prev = 11;\n _context6.t0 = _context6[\"catch\"](1);\n console.warn('error requesting miscellaneous document', accountId);\n return _context6.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: _context6.t0\n });\n\n case 15:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[1, 11]]);\n }));\n },\n getDocMetadata: function getDocMetadata(accountId, instructionId, id) {\n return tslib_1.__awaiter(_this3, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee7() {\n var url, result;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n url = GetTransferInstructionsDocumentMetadataUrl(accountId, instructionId, id);\n _context7.prev = 1;\n _context7.next = 4;\n return api.authenticated().get(url, {}, RequestHeaders);\n\n case 4:\n result = _context7.sent;\n return _context7.abrupt(\"return\", result);\n\n case 8:\n _context7.prev = 8;\n _context7.t0 = _context7[\"catch\"](1);\n console.warn('error requesting miscellaneous document metadata', {\n accountId: accountId,\n instructionId: instructionId,\n id: id\n });\n return _context7.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: _context7.t0\n });\n\n case 12:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[1, 8]]);\n }));\n }\n };\n}","export var CreateAccountUrl = 'Accounts/CreateAccount';\nexport var DocumentsUploadUrl = 'Documents/Uploads';\nexport var UserRequirementsUrl = 'User/GetRequirements';\nexport var GetHeardAboutUrl = function GetHeardAboutUrl(siteConfigId) {\n return siteConfigId ? \"Accounts/GetHeardAbout?siteConfigId=\".concat(siteConfigId) : 'Accounts/GetHeardAbout';\n};\nexport var GetApplicationInvestigationStatusUrl = function GetApplicationInvestigationStatusUrl(accountId) {\n return \"Investigations/\".concat(accountId, \"/Investigation\");\n};\nexport var UploadInvestigationDocumentUrl = function UploadInvestigationDocumentUrl(accountId, investigationId) {\n return \"Documents/\".concat(accountId, \"/Uploads/Investigations/\").concat(investigationId);\n};\nexport var UploadApplicationDocumentUrl = function UploadApplicationDocumentUrl(accountId, accountHolderId) {\n return \"Documents/\".concat(accountId, \"/Uploads/Application/\").concat(accountHolderId);\n};\nexport var UploadMiscellaneousDocumentsUrl = function UploadMiscellaneousDocumentsUrl(accountId) {\n return \"Documents/\".concat(accountId, \"/Uploads/Miscellaneous\");\n};\nexport var GetMiscellaneousDocumentsUrl = function GetMiscellaneousDocumentsUrl(accountId, documentId) {\n return \"Documents/\".concat(accountId, \"/Uploads/Miscellaneous/\").concat(documentId);\n};\nexport var GetMiscellaneousDocumentsMetadataUrl = function GetMiscellaneousDocumentsMetadataUrl(accountId, documentId) {\n return \"Documents/\".concat(accountId, \"/Uploads/Miscellaneous/\").concat(documentId, \"/Metadata\");\n};\nexport var DuplicateAccountCheckUrl = 'Accounts/DuplicateAccountCheck';\nexport var UploadCashieringDocumentUrl = function UploadCashieringDocumentUrl(accountId, instructionId) {\n return \"Documents/\".concat(accountId, \"/Uploads/TransferInstructions/Wires/\").concat(instructionId);\n};\nexport var GetTransferInstructionsDocumentsIdUrl = function GetTransferInstructionsDocumentsIdUrl(accountId, instructionId) {\n return \"Documents/\".concat(accountId, \"/Uploads/TransferInstructions/Wires/\").concat(instructionId, \"/Documents\");\n};\nexport var GetTransferInstructionsDocumentUrl = function GetTransferInstructionsDocumentUrl(accountId, instructionId, documentId) {\n return \"Documents/\".concat(accountId, \"/Uploads/TransferInstructions/Wires/\").concat(instructionId, \"/\").concat(documentId);\n};\nexport var GetTransferInstructionsDocumentMetadataUrl = function GetTransferInstructionsDocumentMetadataUrl(accountId, instructionId, documentId) {\n return \"Documents/\".concat(accountId, \"/Uploads/TransferInstructions/Wires/\").concat(instructionId, \"/\").concat(documentId, \"/Metadata\");\n};\nexport var CreateUserUrl = 'User/CreateUser';\nexport var GetSymbolsUrl = 'Symbol/Search';\nexport var PlaceOrderUrl = 'Orders/PlaceOrder';\nexport var ChangeOrderUrl = 'Orders/ChangeOrder';\nexport var CancelOrderUrl = 'Orders/CancelOrder';\nexport var GetOrdersUrl = 'Orders/GetOrders';\nexport var PositionsUrl = 'Positions/GetPositions';\nexport var HistoryGetHistoryUrl = 'History/GetHistory';\nexport var HistoryGetHistoryBalances = 'History/GetBalanceHistory';\nexport var HistoryGetBalancesEndpoint = 'History/GetBalances'; //post function set:\n\nexport var TokenRequestUrl = 'Auth/token';\nexport var LogoutTokenUrl = 'Auth/LogoutToken';\nexport var ApprovePendingUserMarketDataEntitlement = function ApprovePendingUserMarketDataEntitlement(pendingId) {\n return \"User/ApprovePendingUserMarketDataEntitlement/?pendingId=\".concat(pendingId);\n};\nexport var RejectPendingUserMarketDataEntitlement = function RejectPendingUserMarketDataEntitlement(pendingId) {\n return \"User/RejectPendingUserMarketDataEntitlement/?pendingId=\".concat(pendingId);\n}; //get function set:\n\nexport var GetBalancesUrl = 'Balances/GetBalances'; //?accountId={0}&subaccountId={1}\n\nexport var GetBalancesForAccountsURL = 'Balances/GetBalancesForAccounts'; //?items={[{accountId:0,subaccountId:1},{accountId:2,subaccountId:3}]}\n\nexport var GetBalancesForWithdrawalURL = function GetBalancesForWithdrawalURL(accountId) {\n return \"Cashiering/\".concat(accountId, \"/Balances\");\n};\nexport var GetAvailableFundsUrl = 'Balances/GetAvailableFunds'; //?accountId={0}&subaccountId={1}\n\nexport var GetExpirationsUrl = 'Chains/GetExpirations'; //?underlyingSymbol={0}\n\nexport var GetAccountsUrl = 'Accounts/GetAccounts'; //?accountId={0}&subaccountId={1}\n\nexport var GetSubaccountsUrl = 'Accounts/GetSubaccounts'; //?accountId={0}&subaccountId={1}\n\nexport var GetAccountDetailsUrl = 'Accounts/GetAccountDetails'; //?accountId={0}\n\nexport var AccountsSearchUrl = 'Accounts/SearchAccounts';\nexport var GetAccountUpdateUrl = 'Accounts/GetAccountUpdate'; //?confirm={0}\n\nexport var SearchAccountUpdatesUrl = 'Accounts/SearchAccountUpdates'; //?states={0} && items && search && startDate && endDate && sortBy && sortByOrder && page && pagesize\n\nexport var GetAccountUpdateDetailsUrl = 'Accounts/GetAccountUpdateDetail';\nexport var GetAccountManagementDetailsUrl = 'Accounts/GetAccountManagementDetails';\nexport var GetPendingUserMarketDataEntitlementsUrl = 'User/GetPendingUserMarketDataEntitlements'; //?page={0}&pagesize={1}\n\nexport var GetPendingAccountManagementUpdatesUrl = '/Accounts/PendingAccountUpdates'; //?accountId={0}\n// put function set:\n\nexport var ConfirmAccountUpdateUrl = 'Accounts/ConfirmAccountUpdate'; //?confirm={0}\n\nexport var UpdateAccountUrl = 'Accounts/UpdateAccount'; //?accountId={0}\n\nexport var FirmApproveAccountUpdateUrl = 'Accounts/FirmApproveAccountUpdate';\nexport var FirmRejectAccountUpdateUrl = 'Accounts/FirmRejectAccountUpdate'; //?underlyingSymbol={0}\n// &rootSymbol={1}&expiration={2}&strikeMin={3}&strikeMax={4}&fetchGreeks=true/false\n//{1} {2} ... {5} are optional\n\nexport var GetChainUrl = 'Chains/GetChain'; //?underlyingSymbol={0}&expiration={1}\n\nexport var GetStrikesUrl = 'Chains/GetStrikes'; //?symbol={0}&starttime={1}&endtime={2}&period={3}\n//symbol, \"01-01-2010\", \"03-29-2019\", \"Day\"\n\nexport var GetBarsUrl = 'Quotes/GetBars'; //?symbols={0}\n//sample {0}=FB,TSLA,AMZN,NVDA\n//this returns a list of position lot\n\nexport var GetQuoteUrl = 'Quotes/GetQuotes';\nexport var GetQuoteExtendedUrl = 'Symbol/GetCompanyStats';\nexport var GetQuoteDividendUrl = \"Symbol/GetDividends\";\nexport var GetQuoteEarningsUrl = \"Symbol/GetEarnings\"; //?spreads={0}\n//sample {0}=[{\"Legs\":[{\"Symbol\":\".PANW 181019C205000\",\"AssetType\":2,\"LegBid\":0.0,\"LegAsk\":0.0},{\"Symbol\":\".PANW 181019C207500\",\"AssetType\":2,\"LegBid\":0.0,\"LegAsk\":0.0}],\"Bid\":0.0,\"Ask\":0.0,\"Last\":0.0,\"Change\":0.0,\"Type\":2,\"SpreadTime\":\"0001-01-01T00:00:00\"}]\n\nexport var GetSpreadQuotesUrl = 'Quotes/GetSpreadQuotes'; //?accountId={0}&subaccountId={1}&dateFrom={2}&dateTo={3}&pageSize={4}&pageIndex={5}\n// {1} {2} ... {5} are all optional\n\nexport var GetPnLUrl = 'History/GetPnL'; //?accountId={0}&subaccountId={1}\n//this returns a list of position lot\n\nexport var GetPositionsUrl = 'Positions/GetPositions';\nexport var SymbolsWithAMPMExpirations = ['$SPX'];\nexport var GetReleaseNotesUrl = '/SystemNotices';\nexport var CreateReleaseNotesUrl = '/SystemNotices/Templates';\nexport var UpdateReleaseNotesUrl = function UpdateReleaseNotesUrl(id) {\n return \"/SystemNotices/Templates/\".concat(id);\n};\nexport var GetNewsFeedUrl = 'Symbol/GetNews';\nexport var AlertMessagesURL = '/AlertMessages';\nexport var GetAlertMessageTemplatesURL = '/AlertMessages/Templates';\nexport var UpdateAlertsURL = function UpdateAlertsURL(id, active) {\n return \"/AlertMessages/Templates/\".concat(id);\n}; // Password Reset Get Routes\n\nexport var GetSecurityChallengeUrl = 'User/GetSecurityChallenge'; // Password Reset Post Routes\n\nexport var VerifySecurityChallengeUrl = 'User/VerifySecurityChallenge';\nexport var PasswordChangeInitiateUrl = 'User/PasswordChangeInitiate';\nexport var PasswordChangeFinalizeUrl = 'User/PasswordChangeFinalize'; //Downloads endpoints for statements\n\nexport var DownloadsDailyConfirms = function DownloadsDailyConfirms(accountId) {\n return \"Downloads/\".concat(accountId, \"/DailyConfirms\");\n};\nexport var DownloadsDailyConfirm = function DownloadsDailyConfirm(accountId) {\n return \"Downloads/\".concat(accountId, \"/DailyConfirm\");\n};\nexport var DownloadsMonthlyStatements = function DownloadsMonthlyStatements(accountId) {\n return \"/Downloads/\".concat(accountId, \"/MonthlyStatements\");\n};\nexport var DownloadsMonthlyStatement = function DownloadsMonthlyStatement(accountId) {\n return \"/Downloads/\".concat(accountId, \"/MonthlyStatement\");\n};\nexport var DownloadsTaxDocuments = function DownloadsTaxDocuments(accountId, form) {\n return \"/Downloads/\".concat(accountId, \"/TaxDocuments/\").concat(form);\n};\nexport var DownloadsTaxDocument = function DownloadsTaxDocument(accountId, form) {\n return \"/Downloads/\".concat(accountId, \"/TaxDocument/\").concat(form);\n}; // NoPass endpoints\n\nexport var NoPassEnabledURL = function NoPassEnabledURL(username) {\n return \"NoPass/NoPassIsEnabled?username=\".concat(username);\n};\nexport var NoPassLoginStartUrl = 'auth/NoPassLoginStart';\nexport var NoPassLoginFinishUrl = 'auth/NoPassLoginFinish';\nexport var NoPassDeleteDeviceURL = function NoPassDeleteDeviceURL(deviceid) {\n return \"NoPass/NoPassDeleteDevice?deviceid=\".concat(deviceid);\n};\nexport var NoPassListDevicesURL = 'NoPass/NoPassListDevices';\nexport var GetLoginHistory = 'User/GetLoginHistory';","export var DefaultAccountDetails = {\n accountNames: [],\n accountNumber: undefined,\n accountStatus: undefined,\n accountType: undefined,\n repCode: undefined,\n repFirstName: undefined,\n repLastName: undefined,\n repPhoneNumber: undefined,\n mailingAddress: {\n address1: undefined,\n address2: undefined,\n city: undefined,\n state: undefined,\n postalCode: undefined,\n country: undefined\n },\n physicalAddress: {\n address1: undefined,\n address2: undefined,\n city: undefined,\n state: undefined,\n postalCode: undefined,\n country: undefined\n },\n email: undefined,\n homePhone: undefined,\n mobilePhone: undefined,\n workPhone: undefined,\n lastChanged: undefined,\n commissions: {\n commissionCodeId: -1\n }\n};\nexport var ClearerType;\n\n(function (ClearerType) {\n ClearerType[\"RQD\"] = \"RQD\";\n ClearerType[\"Apex\"] = \"Apex\";\n})(ClearerType || (ClearerType = {}));","export var LanguageType;\n\n(function (LanguageType) {\n LanguageType[\"Chinese\"] = \"zh\";\n LanguageType[\"English\"] = \"en\";\n LanguageType[\"Spanish\"] = \"es\";\n})(LanguageType || (LanguageType = {}));\n\nexport var DefaultLanguageKeys;\n\n(function (DefaultLanguageKeys) {\n DefaultLanguageKeys[\"Error\"] = \"error\";\n DefaultLanguageKeys[\"Label\"] = \"label\";\n DefaultLanguageKeys[\"Text\"] = \"text\";\n})(DefaultLanguageKeys || (DefaultLanguageKeys = {}));","export var DefaultAccountManagementDetails = {\n email: undefined,\n physicalAddress: undefined,\n mailingAddress: undefined,\n homePhone: undefined,\n mobilePhone: undefined,\n workPhone: undefined\n};\nexport var DefaultAccountUpdateDetails = {\n accountId: 0,\n accountName: '',\n accountNumber: '',\n state: '',\n confirmedDate: undefined,\n created: {\n userId: 0,\n name: '',\n date: undefined,\n reason: ''\n },\n firmRejected: {\n date: undefined,\n name: '',\n reason: '',\n userId: 0\n },\n firmReviewed: {\n date: undefined,\n name: '',\n reason: '',\n userId: 0\n },\n id: 0,\n item: '',\n note: '',\n original: {\n accountHolder: {\n email: '',\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n mailingAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n maritalStatus: '',\n dependents: 0,\n birthCountry: '',\n citizenshipCountry: '',\n employmentType: '',\n jobPosition: '',\n yearsEmployed: '',\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n disclosures: {\n govOfficial: false,\n industryEmployed: false,\n irsWithholding: false,\n stakeholder: false\n },\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: ''\n },\n beneficiaries: [],\n flexibilityType: '',\n tradeGoalType: '',\n investmentObjectiveType: '',\n disclosuresForeignBankUSAgent: '',\n experience: {\n bonds: {\n tradesPerYear: '',\n years: ''\n },\n commodities: {\n tradesPerYear: '',\n years: ''\n },\n margins: {\n tradesPerYear: '',\n years: ''\n },\n options: {\n tradesPerYear: '',\n years: ''\n },\n stocks: {\n tradesPerYear: '',\n years: ''\n }\n },\n annualIncome: '',\n totalNetWorth: '',\n liquidNetWorth: '',\n characteristics: {\n risk: '',\n bracket: '',\n horizon: '',\n liquidity: ''\n },\n trustedContact: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n email: '',\n firstName: '',\n middleInitial: '',\n lastName: '',\n suffix: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }]\n },\n tradingAuthorization: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n citizenshipCountry: '',\n dateOfBirth: '',\n disclosures: {\n industryEmployed: false,\n stakeholder: false\n },\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n email: '',\n employer: '',\n employmentType: '',\n firstName: '',\n middleInitial: '',\n suffix: '',\n foreignTaxIdCountry: '',\n foreignTaxIdNumber: '',\n jobPosition: '',\n lastName: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n ssnSecret: '',\n type: ''\n },\n accountDisclosures: {\n foreignBank: false,\n foreignFinancialInstitution: false,\n foreignShellBank: false,\n proprietarySecuritiesAccount: false\n },\n serviceProfile: {\n issuerDirectCommunication: ''\n },\n state: ''\n },\n updated: {\n accountHolder: {\n email: '',\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n mailingAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n maritalStatus: '',\n dependents: 0,\n birthCountry: '',\n citizenshipCountry: '',\n employmentType: '',\n jobPosition: '',\n yearsEmployed: '',\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n disclosures: {\n govOfficial: false,\n industryEmployed: false,\n irsWithholding: false,\n stakeholder: false\n },\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: ''\n },\n beneficiaries: [],\n flexibilityType: '',\n tradeGoalType: '',\n investmentObjectiveType: '',\n disclosuresForeignBankUSAgent: '',\n experience: {\n bonds: {\n tradesPerYear: '',\n years: ''\n },\n commodities: {\n tradesPerYear: '',\n years: ''\n },\n margins: {\n tradesPerYear: '',\n years: ''\n },\n options: {\n tradesPerYear: '',\n years: ''\n },\n stocks: {\n tradesPerYear: '',\n years: ''\n }\n },\n annualIncome: '',\n totalNetWorth: '',\n liquidNetWorth: '',\n characteristics: {\n risk: '',\n bracket: '',\n horizon: '',\n liquidity: ''\n },\n trustedContact: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n email: '',\n firstName: '',\n middleInitial: '',\n suffix: '',\n lastName: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }]\n },\n tradingAuthorization: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n citizenshipCountry: '',\n dateOfBirth: '',\n disclosures: {\n industryEmployed: false,\n stakeholder: false\n },\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n email: '',\n employer: '',\n employmentType: '',\n firstName: '',\n middleInitial: '',\n foreignTaxIdCountry: '',\n foreignTaxIdNumber: '',\n jobPosition: '',\n suffix: '',\n lastName: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n ssnSecret: '',\n type: ''\n },\n accountDisclosures: {\n foreignBank: false,\n foreignFinancialInstitution: false,\n foreignShellBank: false,\n proprietarySecuritiesAccount: false\n },\n serviceProfile: {\n issuerDirectCommunication: ''\n },\n uploadedDocuments: [{\n accountHolder: 0,\n documentId: 0,\n documentName: '',\n state: undefined\n }]\n },\n responseCode: 0\n};\nexport var DefaultUserUpdateAccountDetails = {\n accountDisclosures: {\n entityIssuesBearerShares: false,\n entityNegativeNews: false,\n entityPublicOfficials: false,\n entityServicesForeignShellBanks: false,\n foreignBank: false,\n foreignFinancialInstitution: false,\n foreignShellBank: false,\n proprietarySecuritiesAccount: false\n },\n accountHolders: [{\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n birthCountry: '',\n citizenshipCountry: '',\n dependents: 0,\n disclosures: {\n govOfficial: false,\n industryEmployed: false,\n irsWithholding: false,\n stakeholder: false\n },\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n email: '',\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n employmentType: '',\n firstName: '',\n middleInitial: '',\n jobPosition: '',\n jointTenantsInCommonInterestPercent: 0,\n lastName: '',\n suffix: '',\n mailingAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n maritalStatus: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n ssnSecret: '',\n yearsEmployed: ''\n }],\n accountId: 0,\n accountNumber: '',\n agreements: {\n corporateCash: null,\n corporateMargin: null,\n customerAndPrivacyPolicy: null,\n entityMargin: null,\n entityOption: null,\n iRARothAdoption: null,\n iRASepAdoption: null,\n iRASimpleAdoption: null,\n iRACoverDellAdoption: null,\n jointCommunity: null,\n jointSurvivor: null,\n jointTenantsInCommon: null,\n jointTenantsInEntirety: null,\n limitedMargin: null,\n llcAccount: null,\n margin: null,\n option: null,\n riskDisclosure: null,\n electronicConsent: null,\n onlineServices: null,\n exchangeDataAgreement: null,\n clientRelationshipSummary: null,\n apiAgreement: null,\n rqdCustomerAgreement: null,\n rqdOption: null,\n rqdMargin: null,\n rqdLimitedMargin: null,\n rqdExecutionDisclosures: null,\n rqdClearingDisclosures: null,\n rqdCustomerInformationBrochure: null,\n rqdPrivacyPolicy: null,\n rqdPrivacyNotice: null,\n rqdResponsibilitiesOfIbAndCarryingBroker: null,\n rqdSpecialStatementForUncoveredOptionWriters: null,\n rqdPowerOfAttorney: null,\n rqdLimitedTradingAuthorization: null\n },\n annualIncome: '',\n beneficiaries: [],\n characteristics: {\n bracket: '',\n horizon: '',\n liquidity: '',\n risk: ''\n },\n disclosuresForeignBankUSAgent: '',\n entityAccountType: '',\n experience: {\n bonds: {\n tradesPerYear: '',\n years: ''\n },\n commodities: {\n tradesPerYear: '',\n years: ''\n },\n margins: {\n tradesPerYear: '',\n years: ''\n },\n options: {\n tradesPerYear: '',\n years: ''\n },\n stocks: {\n tradesPerYear: '',\n years: ''\n }\n },\n flexibilityType: '',\n investmentObjectiveType: '',\n jointAccountType: '',\n jointCommunityPropertyState: '',\n lastChanged: {\n address: '',\n email: '',\n phone: ''\n },\n liquidNetWorth: '',\n retirementAccountType: '',\n totalNetWorth: '',\n tradeAuthorization: false,\n tradeAuthorizationAgentName: '',\n tradingAuthorization: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n citizenshipCountry: '',\n dateOfBirth: '',\n disclosures: {\n industryEmployed: false,\n stakeholder: false\n },\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n email: '',\n employer: '',\n employmentType: '',\n firstName: '',\n middleInitial: '',\n suffix: '',\n foreignTaxIdCountry: '',\n foreignTaxIdNumber: '',\n jobPosition: '',\n lastName: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }],\n ssnSecret: '',\n type: ''\n },\n tradeGoalType: '',\n trustedContact: {\n address: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n postalCode: '',\n state: ''\n },\n email: '',\n firstName: '',\n middleInitial: '',\n suffix: '',\n lastName: '',\n phones: [{\n phoneNumber: '',\n type: ''\n }]\n },\n serviceProfile: {\n issuerDirectCommunication: ''\n },\n type: '',\n clearer: '',\n communicationPreferences: {\n deliveryType: '',\n preferredElectronicFormat: '',\n duplicateStatements: '',\n subscribeToPromotionalEmails: false\n }\n};\nexport var AccountManagementEntityType;\n\n(function (AccountManagementEntityType) {\n AccountManagementEntityType[\"Email\"] = \"Email\";\n AccountManagementEntityType[\"Phone\"] = \"PhoneNumber\";\n AccountManagementEntityType[\"Address\"] = \"Address\";\n AccountManagementEntityType[\"MailingAddress\"] = \"MailingAddress\";\n AccountManagementEntityType[\"TradeGoal\"] = \"TradeGoal\";\n AccountManagementEntityType[\"Financial\"] = \"Financial\";\n AccountManagementEntityType[\"Employment\"] = \"Employment\";\n AccountManagementEntityType[\"TrustedContact\"] = \"TrustedContact\";\n AccountManagementEntityType[\"Disclosures\"] = \"Disclosures\";\n AccountManagementEntityType[\"AccountDisclosures\"] = \"AccountDisclosures\";\n AccountManagementEntityType[\"Experience\"] = \"Experience\";\n AccountManagementEntityType[\"Test\"] = \"test\";\n AccountManagementEntityType[\"Flexability\"] = \"Flexibility\";\n AccountManagementEntityType[\"TradeAuthorization\"] = \"TradeAuthorization\";\n AccountManagementEntityType[\"ServiceProfile\"] = \"ServiceProfile\";\n AccountManagementEntityType[\"IndustryEmployed\"] = \"IndustryEmployed\";\n AccountManagementEntityType[\"Suitability\"] = \"Suitability\";\n AccountManagementEntityType[\"Beneficiaries\"] = \"Beneficiaries\";\n AccountManagementEntityType[\"RemoveTradeAuthorization\"] = \"RemoveTradeAuthorization\";\n AccountManagementEntityType[\"PersonalInformation\"] = \"PersonalInformation\";\n})(AccountManagementEntityType || (AccountManagementEntityType = {}));\n\nexport var AccountManagementInvestmentObjectives;\n\n(function (AccountManagementInvestmentObjectives) {\n AccountManagementInvestmentObjectives[\"CapitalPreservation\"] = \"CapitalPreservation\";\n AccountManagementInvestmentObjectives[\"Income\"] = \"Income\";\n AccountManagementInvestmentObjectives[\"Growth\"] = \"Growth\";\n AccountManagementInvestmentObjectives[\"GrowthandIncome\"] = \"GrowthandIncome\";\n AccountManagementInvestmentObjectives[\"Speculation\"] = \"Speculation\";\n})(AccountManagementInvestmentObjectives || (AccountManagementInvestmentObjectives = {}));\n\nexport var AnnualIncomeOptions;\n\n(function (AnnualIncomeOptions) {\n AnnualIncomeOptions[\"LessThan25K\"] = \"Under $25,000\";\n AnnualIncomeOptions[\"Between25KAnd50K\"] = \"$25,000 - $50,000\";\n AnnualIncomeOptions[\"Between50KAnd100K\"] = \"$50,000 - $100,000\";\n AnnualIncomeOptions[\"Between100KAnd200K\"] = \"$100,000 - $200,000\";\n AnnualIncomeOptions[\"Between200KAnd300K\"] = \"$200,000 - $300,000\";\n AnnualIncomeOptions[\"Between300KAnd500K\"] = \"$300,000 - $500,000\";\n AnnualIncomeOptions[\"Between500KAnd1Point2M\"] = \"$500,000 - $1,200,000\";\n AnnualIncomeOptions[\"Over1Point2M\"] = \"Over $1,200,000\";\n})(AnnualIncomeOptions || (AnnualIncomeOptions = {}));\n\nexport var AllAnnualIncomeOptions = [AnnualIncomeOptions.LessThan25K, AnnualIncomeOptions.Between25KAnd50K, AnnualIncomeOptions.Between50KAnd100K, AnnualIncomeOptions.Between100KAnd200K, AnnualIncomeOptions.Between200KAnd300K, AnnualIncomeOptions.Between300KAnd500K, AnnualIncomeOptions.Between500KAnd1Point2M, AnnualIncomeOptions.Over1Point2M];\nexport var UpdatePendingStates = ['PendingConfirm', 'PendingFirmReview', 'PendingReview'];\nexport var UpdateStates = [].concat(UpdatePendingStates, ['Approved', 'Complete', 'Rejected', 'Canceled', 'Cancelled', 'Submitted']);\nexport var TimeHorizonType;\n\n(function (TimeHorizonType) {\n TimeHorizonType[\"Average\"] = \"Average\";\n TimeHorizonType[\"Long\"] = \"Long\";\n TimeHorizonType[\"Short\"] = \"Short\";\n})(TimeHorizonType || (TimeHorizonType = {}));\n\nexport var RiskToleranceType;\n\n(function (RiskToleranceType) {\n RiskToleranceType[\"High\"] = \"High\";\n RiskToleranceType[\"Low\"] = \"Low\";\n RiskToleranceType[\"Medium\"] = \"Medium\";\n})(RiskToleranceType || (RiskToleranceType = {}));\n\nexport var RiskLevel;\n\n(function (RiskLevel) {\n RiskLevel[RiskLevel[\"None\"] = 0] = \"None\";\n RiskLevel[RiskLevel[\"VeryLow\"] = 1] = \"VeryLow\";\n RiskLevel[RiskLevel[\"Low\"] = 2] = \"Low\";\n RiskLevel[RiskLevel[\"Moderate\"] = 3] = \"Moderate\";\n RiskLevel[RiskLevel[\"High\"] = 4] = \"High\";\n})(RiskLevel || (RiskLevel = {}));\n\nexport var MonetaryRangeType;\n\n(function (MonetaryRangeType) {\n MonetaryRangeType[\"Between100KAnd200K\"] = \"Between100KAnd200K\";\n MonetaryRangeType[\"Between1MAnd5M\"] = \"Between1MAnd5M\";\n MonetaryRangeType[\"Between200KAnd500K\"] = \"Between200KAnd500K\";\n MonetaryRangeType[\"Between500KAnd1M\"] = \"Between500KAnd1M\";\n MonetaryRangeType[\"Between50KAnd100K\"] = \"Between50KAnd100K\";\n MonetaryRangeType[\"LessThan50K\"] = \"LessThan50K\";\n MonetaryRangeType[\"MoreThan5M\"] = \"MoreThan5M\";\n})(MonetaryRangeType || (MonetaryRangeType = {}));\n\nexport var LiquidityNeedType;\n\n(function (LiquidityNeedType) {\n LiquidityNeedType[\"NotImportant\"] = \"NotImportant\";\n LiquidityNeedType[\"SomewhatImportant\"] = \"SomewhatImportant\";\n LiquidityNeedType[\"VeryImportant\"] = \"VeryImportant\";\n})(LiquidityNeedType || (LiquidityNeedType = {}));\n\nexport var InvestmentObjectiveType;\n\n(function (InvestmentObjectiveType) {\n InvestmentObjectiveType[\"CapitalPreservation\"] = \"CapitalPreservation\";\n InvestmentObjectiveType[\"Growth\"] = \"Growth\";\n InvestmentObjectiveType[\"GrowthAndIncome\"] = \"GrowthAndIncome\";\n InvestmentObjectiveType[\"Income\"] = \"Income\";\n InvestmentObjectiveType[\"Speculation\"] = \"Speculation\";\n})(InvestmentObjectiveType || (InvestmentObjectiveType = {}));\n\nexport var InvestmentObjectiveDescription;\n\n(function (InvestmentObjectiveDescription) {\n InvestmentObjectiveDescription[\"CapitalPreservation\"] = \"Protect initial investment through securities that minimize potential loss of principal. Returns may not be adequate to offest inflation.\";\n InvestmentObjectiveDescription[\"Growth\"] = \"Increase value over time through securities with historically moderate to above-average risk of principal loss and higher volatility.\";\n InvestmentObjectiveDescription[\"GrowthAndIncome\"] = \"Dual investment strategy that seeks both capital appreciation and current income generated through dividends or interest.\";\n InvestmentObjectiveDescription[\"Income\"] = \"Generate current income through securities with a historically low risk of principal loss.\";\n InvestmentObjectiveDescription[\"Speculation\"] = \"Assume a higher risk of loss and potentially higher-than-average gain by taking advantage of expected price changes and higher volatility.\";\n})(InvestmentObjectiveDescription || (InvestmentObjectiveDescription = {}));\n\nexport var InvestmentObjectiveLevel;\n\n(function (InvestmentObjectiveLevel) {\n InvestmentObjectiveLevel[InvestmentObjectiveLevel[\"CapitalPreservation\"] = 3] = \"CapitalPreservation\";\n InvestmentObjectiveLevel[InvestmentObjectiveLevel[\"Growth\"] = 3] = \"Growth\";\n InvestmentObjectiveLevel[InvestmentObjectiveLevel[\"GrowthAndIncome\"] = 3] = \"GrowthAndIncome\";\n InvestmentObjectiveLevel[InvestmentObjectiveLevel[\"Income\"] = 3] = \"Income\";\n InvestmentObjectiveLevel[InvestmentObjectiveLevel[\"Speculation\"] = 5] = \"Speculation\";\n})(InvestmentObjectiveLevel || (InvestmentObjectiveLevel = {}));\n\nexport var IncomeRangeType;\n\n(function (IncomeRangeType) {\n IncomeRangeType[\"Between100KAnd200K\"] = \"Between100KAnd200K\";\n IncomeRangeType[\"Between200KAnd300K\"] = \"Between200KAnd300K\";\n IncomeRangeType[\"Between25KAnd50K\"] = \"Between25KAnd50K\";\n IncomeRangeType[\"Between300KAnd500K\"] = \"Between300KAnd500K\";\n IncomeRangeType[\"Between500KAnd1Point2M\"] = \"Between500KAnd1Point2M\";\n IncomeRangeType[\"Between50KAnd100K\"] = \"Between50KAnd100K\";\n IncomeRangeType[\"LessThan25K\"] = \"LessThan25K\";\n IncomeRangeType[\"MoreThan1Point2M\"] = \"MoreThan1Point2M\";\n})(IncomeRangeType || (IncomeRangeType = {}));\n\nexport var ExperienceYearType;\n\n(function (ExperienceYearType) {\n ExperienceYearType[\"FourToNine\"] = \"FourToNine\";\n ExperienceYearType[\"One\"] = \"One\";\n ExperienceYearType[\"TenOrMore\"] = \"TenOrMore\";\n ExperienceYearType[\"TwoToThree\"] = \"TwoToThree\";\n ExperienceYearType[\"Zero\"] = \"Zero\";\n})(ExperienceYearType || (ExperienceYearType = {}));\n\nexport var TradeExperienceYearType;\n\n(function (TradeExperienceYearType) {\n TradeExperienceYearType[\"ElevenToTwenty\"] = \"ElevenToTwenty\";\n TradeExperienceYearType[\"OneToFive\"] = \"OneToFive\";\n TradeExperienceYearType[\"SixToTen\"] = \"SixToTen\";\n TradeExperienceYearType[\"MoreThanTwenty\"] = \"MoreThanTwenty\";\n})(TradeExperienceYearType || (TradeExperienceYearType = {}));\n\nexport var TaxbracketType;\n\n(function (TaxbracketType) {\n TaxbracketType[\"Bottom\"] = \"Bottom\";\n TaxbracketType[\"Middle\"] = \"Middle\";\n TaxbracketType[\"Top\"] = \"Top\";\n})(TaxbracketType || (TaxbracketType = {}));\n\nexport var TradeExperienceUpdateType;\n\n(function (TradeExperienceUpdateType) {\n TradeExperienceUpdateType[\"Bonds\"] = \"Bonds\";\n TradeExperienceUpdateType[\"Options\"] = \"Options\";\n TradeExperienceUpdateType[\"Stocks\"] = \"Stocks\";\n TradeExperienceUpdateType[\"Commodities\"] = \"Commodities\";\n TradeExperienceUpdateType[\"Margins\"] = \"Margins\";\n})(TradeExperienceUpdateType || (TradeExperienceUpdateType = {}));\n\nexport var AllTradeExperienceTypes = [TradeExperienceUpdateType.Bonds, TradeExperienceUpdateType.Options, TradeExperienceUpdateType.Stocks, TradeExperienceUpdateType.Commodities, TradeExperienceUpdateType.Margins];\nexport var AllIncomeRangeTypes = [IncomeRangeType.LessThan25K, IncomeRangeType.Between25KAnd50K, IncomeRangeType.Between50KAnd100K, IncomeRangeType.Between100KAnd200K, IncomeRangeType.Between200KAnd300K, IncomeRangeType.Between300KAnd500K, IncomeRangeType.Between500KAnd1Point2M, IncomeRangeType.MoreThan1Point2M];\nexport var AllInvestmentObjectiveTypes = [InvestmentObjectiveType.CapitalPreservation, InvestmentObjectiveType.Income, InvestmentObjectiveType.Growth, InvestmentObjectiveType.GrowthAndIncome, InvestmentObjectiveType.Speculation];\nexport var AllLiquidityNeedTypes = [LiquidityNeedType.VeryImportant, LiquidityNeedType.SomewhatImportant, LiquidityNeedType.NotImportant];\nexport var AllMonetaryRangeTypes = [MonetaryRangeType.LessThan50K, MonetaryRangeType.Between50KAnd100K, MonetaryRangeType.Between100KAnd200K, MonetaryRangeType.Between200KAnd500K, MonetaryRangeType.Between500KAnd1M, MonetaryRangeType.Between1MAnd5M, MonetaryRangeType.MoreThan5M];\nexport var AllTimeHorizonTypes = [TimeHorizonType.Short, TimeHorizonType.Average, TimeHorizonType.Long];\nexport var AllTaxbracketTypes = [TaxbracketType.Bottom, TaxbracketType.Middle, TaxbracketType.Top];\nexport var AllExperienceYearTypes = [ExperienceYearType.Zero, ExperienceYearType.One, ExperienceYearType.TwoToThree, ExperienceYearType.FourToNine, ExperienceYearType.TenOrMore];\nexport var AllTradeExperienceYearTypes = [TradeExperienceYearType.OneToFive, TradeExperienceYearType.SixToTen, TradeExperienceYearType.ElevenToTwenty, TradeExperienceYearType.MoreThanTwenty];\nexport var AllRiskToleranceTypes = [RiskToleranceType.Low, RiskToleranceType.Medium, RiskToleranceType.High];\nexport var TradeGoalType;\n\n(function (TradeGoalType) {\n TradeGoalType[\"StocksBonds\"] = \"StocksBonds\";\n TradeGoalType[\"AllAbovePlusCallsPuts\"] = \"AllAbovePlusCallsPuts\";\n TradeGoalType[\"AllAbovePlusOptionSpreads\"] = \"AllAbovePlusOptionSpreads\";\n TradeGoalType[\"AllAbovePlusPutWriting\"] = \"AllAbovePlusPutWriting\";\n TradeGoalType[\"AllAbovePlusAllOptionStrategies\"] = \"AllAbovePlusAllOptionStrategies\";\n})(TradeGoalType || (TradeGoalType = {}));\n\nexport var AllTradeGoalTypes = [TradeGoalType.StocksBonds, TradeGoalType.AllAbovePlusCallsPuts, TradeGoalType.AllAbovePlusOptionSpreads, TradeGoalType.AllAbovePlusPutWriting, TradeGoalType.AllAbovePlusAllOptionStrategies];\nexport var TradeGoalTypeLevel;\n\n(function (TradeGoalTypeLevel) {\n TradeGoalTypeLevel[TradeGoalTypeLevel[\"StocksBonds\"] = 0] = \"StocksBonds\";\n TradeGoalTypeLevel[TradeGoalTypeLevel[\"AllAbovePlusCallsPuts\"] = 1] = \"AllAbovePlusCallsPuts\";\n TradeGoalTypeLevel[TradeGoalTypeLevel[\"AllAbovePlusOptionSpreads\"] = 2] = \"AllAbovePlusOptionSpreads\";\n TradeGoalTypeLevel[TradeGoalTypeLevel[\"AllAbovePlusPutWriting\"] = 3] = \"AllAbovePlusPutWriting\";\n TradeGoalTypeLevel[TradeGoalTypeLevel[\"AllAbovePlusAllOptionStrategies\"] = 4] = \"AllAbovePlusAllOptionStrategies\";\n})(TradeGoalTypeLevel || (TradeGoalTypeLevel = {}));\n\nexport var BooleanToggleType;\n\n(function (BooleanToggleType) {\n BooleanToggleType[\"No\"] = \"no\";\n BooleanToggleType[\"Yes\"] = \"yes\";\n})(BooleanToggleType || (BooleanToggleType = {}));\n\nexport var AllBooleanToggleTypes = [BooleanToggleType.Yes, BooleanToggleType.No];\nexport var MFAOptions;\n\n(function (MFAOptions) {\n MFAOptions[\"NoPass\"] = \"nopass\";\n MFAOptions[\"SMS\"] = \"sms\";\n})(MFAOptions || (MFAOptions = {}));\n\nexport var AllMFAOptions = [MFAOptions.NoPass, MFAOptions.SMS];\nexport var EmploymentType;\n\n(function (EmploymentType) {\n EmploymentType[\"Employed\"] = \"Employed\";\n EmploymentType[\"Retired\"] = \"Retired\";\n EmploymentType[\"Student\"] = \"Student\";\n EmploymentType[\"Unemployed\"] = \"Unemployed\";\n})(EmploymentType || (EmploymentType = {}));\n\nexport var IssuerDirectCommunicationType;\n\n(function (IssuerDirectCommunicationType) {\n IssuerDirectCommunicationType[\"Accept\"] = \"Accept\";\n IssuerDirectCommunicationType[\"Object\"] = \"Object\";\n})(IssuerDirectCommunicationType || (IssuerDirectCommunicationType = {}));\n\nexport var AllIssuerDirectCommunicationTypes = [IssuerDirectCommunicationType.Accept, IssuerDirectCommunicationType.Object];\nexport var EmploymentTypes = [EmploymentType.Employed, EmploymentType.Retired, EmploymentType.Student, EmploymentType.Unemployed];\nexport var YearsEmployed;\n\n(function (YearsEmployed) {\n YearsEmployed[\"BetweenZeroAndOne\"] = \"BetweenZeroAndOne\";\n YearsEmployed[\"BetweenTwoAndFive\"] = \"BetweenTwoAndFive\";\n YearsEmployed[\"BetweenFiveAndTen\"] = \"BetweenFiveAndTen\";\n YearsEmployed[\"BetweenTenAndTwenty\"] = \"BetweenTenAndTwenty\";\n YearsEmployed[\"MoreThanTwenty\"] = \"MoreThanTwenty\";\n})(YearsEmployed || (YearsEmployed = {}));\n\nexport var AllYearsEmployed = [YearsEmployed.BetweenZeroAndOne, YearsEmployed.BetweenTwoAndFive, YearsEmployed.BetweenFiveAndTen, YearsEmployed.BetweenTenAndTwenty, YearsEmployed.MoreThanTwenty];\nexport var YearsEmployedDescription;\n\n(function (YearsEmployedDescription) {\n YearsEmployedDescription[\"BetweenZeroAndOne\"] = \"1 year or less\";\n YearsEmployedDescription[\"BetweenTwoAndFive\"] = \"2 - 5 years\";\n YearsEmployedDescription[\"BetweenFiveAndTen\"] = \"5 - 10 years\";\n YearsEmployedDescription[\"BetweenTenAndTwenty\"] = \"10 - 20 years\";\n YearsEmployedDescription[\"MoreThanTwenty\"] = \"20+ years\";\n})(YearsEmployedDescription || (YearsEmployedDescription = {}));\n\nexport var MaxNumberOfPhones = 5;\nexport var PhoneType;\n\n(function (PhoneType) {\n PhoneType[\"Home\"] = \"Home\";\n PhoneType[\"Mobile\"] = \"Mobile\";\n PhoneType[\"Work\"] = \"Work\";\n})(PhoneType || (PhoneType = {}));\n\nexport var AllPhoneTypes = [PhoneType.Home, PhoneType.Mobile, PhoneType.Work];\nexport var ErrorType;\n\n(function (ErrorType) {\n ErrorType[\"Amount\"] = \"amount\";\n ErrorType[\"Invalid\"] = \"invalid\";\n ErrorType[\"Mismatch\"] = \"mismatch\";\n ErrorType[\"Required\"] = \"error\";\n ErrorType[\"Stale\"] = \"stale\";\n ErrorType[\"Upload\"] = \"upload\";\n ErrorType[\"Contingent\"] = \"contingent\";\n})(ErrorType || (ErrorType = {}));\n\nexport var FlexibilityType;\n\n(function (FlexibilityType) {\n FlexibilityType[\"CashOnly\"] = \"CashOnly\";\n FlexibilityType[\"Margin\"] = \"Margin\";\n})(FlexibilityType || (FlexibilityType = {}));\n\nexport var AllFlexibilityTypes = [FlexibilityType.Margin, FlexibilityType.CashOnly];\nexport var RE_EMAIL = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nexport var ProSubType;\n\n(function (ProSubType) {\n ProSubType[\"Delayed\"] = \"Delayed\";\n ProSubType[\"RealTime\"] = \"Realtime\";\n})(ProSubType || (ProSubType = {}));\n\nexport var DefaultPhoneValues = {\n phoneNumber: '',\n type: ''\n};\nexport var AccountManagementDocuments;\n\n(function (AccountManagementDocuments) {\n AccountManagementDocuments[\"DriversLicense\"] = \"DriversLicense\";\n AccountManagementDocuments[\"StateIdCard\"] = \"StateIdCard\";\n AccountManagementDocuments[\"Passport\"] = \"Passport\";\n AccountManagementDocuments[\"MilitaryId\"] = \"MilitaryId\";\n AccountManagementDocuments[\"SsnCard\"] = \"SsnCard\";\n AccountManagementDocuments[\"SsaLetter\"] = \"SsaLetter\";\n AccountManagementDocuments[\"IrsItinLetter\"] = \"IrsItinLetter\";\n AccountManagementDocuments[\"OtherGovernmentId\"] = \"OtherGovernmentId\";\n AccountManagementDocuments[\"CddDocument\"] = \"CddDocument\";\n AccountManagementDocuments[\"AllPassingCipResults\"] = \"AllPassingCipResults\";\n AccountManagementDocuments[\"IrsW9Form\"] = \"IrsW9Form\";\n AccountManagementDocuments[\"SignatureImage\"] = \"SignatureImage\";\n AccountManagementDocuments[\"IdDocument\"] = \"IdDocument\";\n AccountManagementDocuments[\"AffiliateApproval\"] = \"AffiliateApproval\";\n AccountManagementDocuments[\"Document\"] = \"Document\";\n AccountManagementDocuments[\"Other\"] = \"Other\";\n AccountManagementDocuments[\"GovernmentId\"] = \"GovernmentId\";\n})(AccountManagementDocuments || (AccountManagementDocuments = {}));\n\nexport var AccountManagementBeneficiaryAccountType;\n\n(function (AccountManagementBeneficiaryAccountType) {\n AccountManagementBeneficiaryAccountType[\"Contingent\"] = \"Contingent\";\n AccountManagementBeneficiaryAccountType[\"Primary\"] = \"Primary\";\n})(AccountManagementBeneficiaryAccountType || (AccountManagementBeneficiaryAccountType = {}));\n\nexport var AccountManagementBeneficiaryType;\n\n(function (AccountManagementBeneficiaryType) {\n AccountManagementBeneficiaryType[\"Individual\"] = \"Individual\";\n AccountManagementBeneficiaryType[\"Trust\"] = \"Trust\";\n})(AccountManagementBeneficiaryType || (AccountManagementBeneficiaryType = {}));\n\nexport var AllAccountManagementBeneficiaryTypes = [AccountManagementBeneficiaryType.Individual, AccountManagementBeneficiaryType.Trust];\nexport var AllAccountManagementBeneficiaryAccountTypes = [AccountManagementBeneficiaryAccountType.Primary, AccountManagementBeneficiaryAccountType.Contingent];","import { LanguageType } from './Language';\nimport { BooleanToggleType, FlexibilityType } from './AccountManagement';\nexport var InvestigationDocumentName;\n\n(function (InvestigationDocumentName) {\n InvestigationDocumentName[\"Name\"] = \"Name\";\n InvestigationDocumentName[\"DateOfBirth\"] = \"DateOfBirth\";\n InvestigationDocumentName[\"TaxId\"] = \"TaxId\";\n InvestigationDocumentName[\"Address\"] = \"Address\";\n InvestigationDocumentName[\"ForeignerSignature\"] = \"Signature\";\n InvestigationDocumentName[\"ForeignerGovermentId\"] = \"GovernmentId\";\n InvestigationDocumentName[\"AffiliateApproval\"] = \"AffiliateApproval\";\n})(InvestigationDocumentName || (InvestigationDocumentName = {}));\n\nexport var InvestigationDocuments;\n\n(function (InvestigationDocuments) {\n InvestigationDocuments[\"DriversLicense\"] = \"DriversLicense\";\n InvestigationDocuments[\"StateIdCard\"] = \"StateIdCard\";\n InvestigationDocuments[\"Passport\"] = \"Passport\";\n InvestigationDocuments[\"MilitaryId\"] = \"MilitaryId\";\n InvestigationDocuments[\"SSNCard\"] = \"SsnCard\";\n InvestigationDocuments[\"IRSW9Form\"] = \"IrsW9Form\";\n InvestigationDocuments[\"SSALetter\"] = \"SsaLetter\";\n InvestigationDocuments[\"IRSITINLetter\"] = \"IrsItinLetter\";\n InvestigationDocuments[\"ForeignerSignature\"] = \"Signature\";\n InvestigationDocuments[\"ForeignerGovermentId\"] = \"GovernmentId\";\n InvestigationDocuments[\"AffiliateApproval\"] = \"AffiliateApproval\";\n})(InvestigationDocuments || (InvestigationDocuments = {}));\n\nexport var AccountApplicationState;\n\n(function (AccountApplicationState) {\n AccountApplicationState[\"Accepted\"] = \"Accepted\";\n AccountApplicationState[\"New\"] = \"New\";\n AccountApplicationState[\"Pending\"] = \"Pending\";\n AccountApplicationState[\"InvestigationSubmitted\"] = \"InvestigationSubmitted\";\n AccountApplicationState[\"ReadyForBackOffice\"] = \"ReadyForBackOffice\";\n AccountApplicationState[\"BackOffice\"] = \"BackOffice\";\n AccountApplicationState[\"AccountSetup\"] = \"AccountSetup\";\n AccountApplicationState[\"Complete\"] = \"Complete\";\n AccountApplicationState[\"ActionRequired\"] = \"ActionRequired\";\n AccountApplicationState[\"Rejected\"] = \"Rejected\";\n AccountApplicationState[\"Suspended\"] = \"Suspended\";\n AccountApplicationState[\"Error\"] = \"Error\";\n AccountApplicationState[\"Cancelled\"] = \"Cancelled\";\n AccountApplicationState[\"PendingSubmit\"] = \"PendingSubmit\";\n})(AccountApplicationState || (AccountApplicationState = {}));\n\nexport var AccountInvestigationState;\n\n(function (AccountInvestigationState) {\n AccountInvestigationState[\"New\"] = \"New\";\n AccountInvestigationState[\"Pending\"] = \"Pending\";\n AccountInvestigationState[\"Indeterminate\"] = \"Indeterminate\";\n AccountInvestigationState[\"Accepted\"] = \"Accepted\";\n AccountInvestigationState[\"Rejected\"] = \"Rejected\";\n AccountInvestigationState[\"Appealed\"] = \"Appealed\";\n AccountInvestigationState[\"Error\"] = \"Error\";\n AccountInvestigationState[\"Cancelled\"] = \"Cancelled\";\n})(AccountInvestigationState || (AccountInvestigationState = {}));\n\nexport var UploadedDocumentState;\n\n(function (UploadedDocumentState) {\n UploadedDocumentState[\"PendingReview\"] = \"PendingReview\";\n UploadedDocumentState[\"Submitted\"] = \"Submitted\";\n UploadedDocumentState[\"Rejected\"] = \"Rejected\";\n UploadedDocumentState[\"Accepted\"] = \"Accepted\";\n})(UploadedDocumentState || (UploadedDocumentState = {}));\n\nexport var DefaultSecurityChallenge = {\n securityQuestionType: '',\n answer: ''\n};\nexport var ApplicationStep;\n\n(function (ApplicationStep) {\n ApplicationStep[\"AccountType\"] = \"account\";\n ApplicationStep[\"Agreements\"] = \"agreements\";\n ApplicationStep[\"Beneficiaries\"] = \"beneficiaries\";\n ApplicationStep[\"ClearerType\"] = \"clearerType\";\n ApplicationStep[\"AccountInformation\"] = \"information\";\n ApplicationStep[\"InvestingProfile\"] = \"investing\";\n ApplicationStep[\"SecureAccount\"] = \"secure\";\n ApplicationStep[\"Sign\"] = \"sign\";\n})(ApplicationStep || (ApplicationStep = {}));\n\nexport var ApplicationType;\n\n(function (ApplicationType) {\n ApplicationType[\"Entity\"] = \"Entity\";\n ApplicationType[\"Individual\"] = \"Individual\";\n ApplicationType[\"Joint\"] = \"Joint\";\n ApplicationType[\"UGMA\"] = \"Ugma\";\n})(ApplicationType || (ApplicationType = {}));\n\nexport var RetirementAccountType;\n\n(function (RetirementAccountType) {\n RetirementAccountType[\"Beneficiary\"] = \"Beneficiary\";\n RetirementAccountType[\"CoverDell\"] = \"CoverDell\";\n RetirementAccountType[\"Rollover\"] = \"Rollover\";\n RetirementAccountType[\"Roth\"] = \"Roth\";\n RetirementAccountType[\"SEP\"] = \"SEP\";\n RetirementAccountType[\"Simple\"] = \"Simple\";\n RetirementAccountType[\"Traditional\"] = \"Traditional\";\n})(RetirementAccountType || (RetirementAccountType = {}));\n\nexport var JointAccountType;\n\n(function (JointAccountType) {\n JointAccountType[\"Community\"] = \"Community\";\n JointAccountType[\"Survivor\"] = \"Survivor\";\n JointAccountType[\"TenantsInCommon\"] = \"TenantsInCommon\";\n JointAccountType[\"TenantsInEntirety\"] = \"TenantsInEntirety\";\n})(JointAccountType || (JointAccountType = {}));\n\nexport var EntityAccountType;\n\n(function (EntityAccountType) {\n EntityAccountType[\"BusinessTrust\"] = \"BusinessTrust\";\n EntityAccountType[\"CCorporation\"] = \"CCorporation\";\n EntityAccountType[\"LlcCCorporation\"] = \"LlcCCorporation\";\n EntityAccountType[\"LlcSCorporation\"] = \"LlcSCorporation\";\n EntityAccountType[\"Partnership\"] = \"Partnership\";\n EntityAccountType[\"PersonalTrust\"] = \"PersonalTrust\";\n EntityAccountType[\"SCorporation\"] = \"SCorporation\";\n})(EntityAccountType || (EntityAccountType = {}));\n\nexport var MaritalStatusType;\n\n(function (MaritalStatusType) {\n MaritalStatusType[\"Divorced\"] = \"Divorced\";\n MaritalStatusType[\"Married\"] = \"Married\";\n MaritalStatusType[\"Single\"] = \"Single\";\n MaritalStatusType[\"Widowed\"] = \"Widowed\";\n})(MaritalStatusType || (MaritalStatusType = {}));\n\nexport var VisaType;\n\n(function (VisaType) {\n VisaType[\"E1\"] = \"E1\";\n VisaType[\"E2\"] = \"E2\";\n VisaType[\"E3\"] = \"E3\";\n VisaType[\"F1\"] = \"F1\";\n VisaType[\"K1\"] = \"K1\";\n VisaType[\"G4\"] = \"G4\";\n VisaType[\"H1B\"] = \"H1B\";\n VisaType[\"L1\"] = \"L1\";\n VisaType[\"O1\"] = \"O1\";\n VisaType[\"TN1\"] = \"TN1\";\n})(VisaType || (VisaType = {}));\n\nexport var BusinessNature;\n\n(function (BusinessNature) {\n BusinessNature[\"Agriculture\"] = \"Agriculture\";\n BusinessNature[\"Communications\"] = \"Communications\";\n BusinessNature[\"Construction\"] = \"Construction\";\n BusinessNature[\"ElectricGas\"] = \"ElectricGas\";\n BusinessNature[\"Finance\"] = \"Finance\";\n BusinessNature[\"Fishing\"] = \"Fishing\";\n BusinessNature[\"Forestry\"] = \"Forestry\";\n BusinessNature[\"Insurance\"] = \"Insurance\";\n BusinessNature[\"Manufacturing\"] = \"Manufacturing\";\n BusinessNature[\"Mining\"] = \"Mining\";\n BusinessNature[\"PublicAdministration\"] = \"PublicAdministration\";\n BusinessNature[\"RealEstate\"] = \"RealEstate\";\n BusinessNature[\"RetailTrade\"] = \"RetailTrade\";\n BusinessNature[\"SanitaryServices\"] = \"SanitaryServices\";\n BusinessNature[\"Services\"] = \"Services\";\n BusinessNature[\"Transportation\"] = \"Transportation\";\n BusinessNature[\"WholesaleTrade\"] = \"WholesaleTrade\";\n})(BusinessNature || (BusinessNature = {}));\n\nexport var AccountActivityType;\n\n(function (AccountActivityType) {\n AccountActivityType[\"ActiveTrading\"] = \"ActiveTrading\";\n AccountActivityType[\"LongTermInvesting\"] = \"LongTermInvesting\";\n AccountActivityType[\"ShortTermInvesting\"] = \"ShortTermInvesting\";\n})(AccountActivityType || (AccountActivityType = {}));\n\nexport var SourceOfFundsType;\n\n(function (SourceOfFundsType) {\n SourceOfFundsType[\"CorporateIncome\"] = \"CorporateIncome\";\n SourceOfFundsType[\"InvestmentCapital\"] = \"InvestmentCapital\";\n SourceOfFundsType[\"Other\"] = \"Other\";\n})(SourceOfFundsType || (SourceOfFundsType = {}));\n\nexport var WithdrawalFrequencyType;\n\n(function (WithdrawalFrequencyType) {\n WithdrawalFrequencyType[\"Frequent\"] = \"Frequent\";\n WithdrawalFrequencyType[\"Occasional\"] = \"Occasional\";\n WithdrawalFrequencyType[\"Rare\"] = \"Rare\";\n})(WithdrawalFrequencyType || (WithdrawalFrequencyType = {}));\n\nexport var BeneficiaryAccountType;\n\n(function (BeneficiaryAccountType) {\n BeneficiaryAccountType[\"Contingent\"] = \"Contingent\";\n BeneficiaryAccountType[\"Primary\"] = \"Primary\";\n})(BeneficiaryAccountType || (BeneficiaryAccountType = {}));\n\nexport var BeneficiaryType;\n\n(function (BeneficiaryType) {\n BeneficiaryType[\"Individual\"] = \"Individual\";\n BeneficiaryType[\"Trust\"] = \"Trust\";\n})(BeneficiaryType || (BeneficiaryType = {}));\n\nexport var BeneficiariesRelationshipsType;\n\n(function (BeneficiariesRelationshipsType) {\n BeneficiariesRelationshipsType[\"Spouse\"] = \"Spouse\";\n BeneficiariesRelationshipsType[\"Child\"] = \"Child\";\n BeneficiariesRelationshipsType[\"Parent\"] = \"Parent\";\n BeneficiariesRelationshipsType[\"Other\"] = \"Other\";\n})(BeneficiariesRelationshipsType || (BeneficiariesRelationshipsType = {}));\n\nexport var BeneficiariesRelationships = [BeneficiariesRelationshipsType.Spouse, BeneficiariesRelationshipsType.Parent, BeneficiariesRelationshipsType.Child, BeneficiariesRelationshipsType.Other];\nexport var DeliveryType;\n\n(function (DeliveryType) {\n DeliveryType[\"Electronic\"] = \"Electronic\";\n DeliveryType[\"Paper\"] = \"Paper\";\n})(DeliveryType || (DeliveryType = {}));\n\nexport var ElectronicFormat;\n\n(function (ElectronicFormat) {\n ElectronicFormat[\"Html\"] = \"Html\";\n ElectronicFormat[\"PlainText\"] = \"PlainText\";\n})(ElectronicFormat || (ElectronicFormat = {}));\n\nexport var AllDeliveryTypes = [DeliveryType.Electronic, DeliveryType.Paper];\nexport var AllElectronicFormats = [ElectronicFormat.Html, ElectronicFormat.PlainText];\nexport var ProSubscriptionType;\n\n(function (ProSubscriptionType) {\n ProSubscriptionType[\"Delayed\"] = \"Delayed\";\n ProSubscriptionType[\"RealTime\"] = \"Realtime\";\n})(ProSubscriptionType || (ProSubscriptionType = {}));\n\nexport var DuplicateStatements;\n\n(function (DuplicateStatements) {\n DuplicateStatements[\"None\"] = \"None\";\n DuplicateStatements[\"PostalMail\"] = \"PostalMail\";\n DuplicateStatements[\"Email\"] = \"Email\";\n})(DuplicateStatements || (DuplicateStatements = {}));\n\nexport var AllDuplicateStatementOptions = [DuplicateStatements.PostalMail, DuplicateStatements.Email];\nexport var TradeAuthorizationType;\n\n(function (TradeAuthorizationType) {\n TradeAuthorizationType[\"Full\"] = \"Full\";\n TradeAuthorizationType[\"Limited\"] = \"Limited\";\n})(TradeAuthorizationType || (TradeAuthorizationType = {}));\n\nexport var AllTradeAuthorizationTypes = [TradeAuthorizationType.Full, TradeAuthorizationType.Limited];\nexport var DefaultAddress = {\n country: '',\n address1: '',\n address2: '',\n postalCode: null,\n city: '',\n state: null\n};\nexport var DefaultPhone = {\n type: '',\n phoneNumber: ''\n};\nexport var DefaultPersonDetails = {\n firstName: '',\n lastName: '',\n middleInitial: '',\n suffix: '',\n email: '',\n dateOfBirth: {\n day: undefined,\n month: undefined,\n year: undefined\n },\n ssn: '',\n address: DefaultAddress,\n phones: [DefaultPhone]\n};\nexport var DefaultAccountHolder = Object.assign({}, DefaultPersonDetails, {\n emailConfirm: '',\n maritalStatus: '',\n dependents: '',\n birthCountry: null,\n citizenshipCountry: null,\n employmentType: '',\n disclosuresStakeholderTickerSymbol: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n jointTenantsInCommonInterestPercent: 0,\n disclosures: {\n govOfficial: null,\n industryEmployed: null,\n irsWithholding: null,\n stakeholder: null\n },\n differentMailingAddress: false,\n mailingAddress: null,\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n state: null,\n postalCode: null\n },\n visaType: null,\n visaExpirationDate: null,\n jobPosition: '',\n yearsEmployed: null,\n foreignTaxWithholding: {\n taxIdentificationNumber: null,\n letterOfExplanation: null,\n jurisdictionDoesNotIssueTIN: null,\n notIssuedForeignTIN: null,\n treatyCountry: null,\n foreignTINNotRequiredExplanation: null\n }\n});\nexport var DefaultApplicationModel = {\n // Secure Account\n languageType: LanguageType.English,\n ownerUsername: '',\n password: '',\n passwordConfirm: '',\n securityChallenges: [DefaultSecurityChallenge, DefaultSecurityChallenge, DefaultSecurityChallenge],\n // Account Type\n type: ApplicationType.Individual,\n flexibilityType: FlexibilityType.Margin,\n // Investor Profile\n tradeGoalType: '',\n investmentObjectiveType: '',\n annualIncome: '',\n totalNetWorth: '',\n liquidNetWorth: '',\n characteristics: {\n risk: '',\n bracket: '',\n horizon: '',\n liquidity: ''\n },\n // Account Information\n primaryAccountHolder: DefaultAccountHolder,\n ownerCountry: '',\n retirementAccount: undefined,\n simpleIraPlanName: undefined,\n beneficiaryIraDecedentName: undefined,\n jointAccountType: undefined,\n // Agreements & Disclosures\n agreeToElectronicConsent: null,\n deliveryType: DeliveryType.Electronic,\n disclosuresForeignBankUSAgent: '',\n disclosuresEntityNegativeNewsInfo: '',\n disclosuresEntityPublicOfficials: [],\n accountDisclosures: {\n foreignBank: null,\n foreignFinancialInstitution: null,\n proprietarySecuritiesAccount: null,\n foreignShellBank: null,\n entityIssuesBearerShares: null,\n entityNegativeNews: null,\n entityPublicOfficials: null,\n entityServicesForeignShellBanks: null\n },\n agreements: {\n corporateCash: null,\n corporateMargin: null,\n customerAndPrivacyPolicy: null,\n entityMargin: null,\n entityOption: null,\n iRARothAdoption: null,\n iRASepAdoption: null,\n iRASimpleAdoption: null,\n iRACoverDellAdoption: null,\n jointCommunity: null,\n jointSurvivor: null,\n jointTenantsInCommon: null,\n jointTenantsInEntirety: null,\n limitedMargin: null,\n llcAccount: null,\n margin: null,\n option: null,\n riskDisclosure: null,\n electronicConsent: null,\n onlineServices: null,\n exchangeDataAgreement: null,\n clientRelationshipSummary: null,\n apiAgreement: null,\n rqdDisclosure: null,\n rqdClearingDisclosures: null,\n rqdCustomerAgreement: null,\n rqdCustomerInformationBrochure: null,\n rqdExecutionDisclosures: null,\n rqdLimitedMarginAgreement: null,\n rqdLimitedTradingAuthorization: null,\n rqdMargin: null,\n rqdOption: null,\n rqdPowerOfAttorney: null,\n rqdPrivacyNotice: null,\n rqdPrivacyPolicy: null,\n rqdResponsibilitiesOfIbAndCarryingBroker: null,\n rqdSpecialStatementForUncoveredOptionWriters: null\n },\n // Trade Experience\n experience: {\n commodities: {\n years: undefined,\n tradesPerYear: undefined\n },\n bonds: {\n years: undefined,\n tradesPerYear: undefined\n },\n stocks: {\n years: undefined,\n tradesPerYear: undefined\n },\n options: {\n years: undefined,\n tradesPerYear: undefined\n },\n margins: {\n years: undefined,\n tradesPerYear: undefined\n }\n },\n // Market Data Questionnaire\n marketData: {\n employmentFunctions: null,\n personalUse: null,\n secCftcRegistration: null,\n associationRegistration: null,\n jobFunctions: null,\n investmentProfessional: null,\n capitalTrading: null,\n corporationTrading: BooleanToggleType.No,\n benefitsReceived: null\n },\n marketDataType: null,\n // Sign & Submit\n signedNames: [],\n hearAboutUsId: undefined,\n beneficiaries: [],\n foreignDueDiligence: {\n expectedWithdrawalFrequency: '',\n initialContact: '',\n initialDepositAmount: 0,\n initialDepositType: '',\n primaryBanking: [''],\n referredName: '',\n referredRelationship: '',\n referredToBroker: true\n }\n};","export var AssetType;\n\n(function (AssetType) {\n AssetType[AssetType[\"Equity\"] = 1] = \"Equity\";\n AssetType[AssetType[\"Option\"] = 2] = \"Option\";\n AssetType[AssetType[\"MutualFund\"] = 3] = \"MutualFund\";\n AssetType[AssetType[\"MoneyMarket\"] = 4] = \"MoneyMarket\";\n AssetType[AssetType[\"Bond\"] = 5] = \"Bond\";\n AssetType[AssetType[\"Index\"] = 6] = \"Index\";\n})(AssetType || (AssetType = {}));\n\nexport var OrderAction;\n\n(function (OrderAction) {\n OrderAction[OrderAction[\"Buy\"] = 1] = \"Buy\";\n OrderAction[OrderAction[\"Sell\"] = 2] = \"Sell\";\n})(OrderAction || (OrderAction = {}));\n\nexport var OrderActionDirection;\n\n(function (OrderActionDirection) {\n OrderActionDirection[OrderActionDirection[\"Long\"] = 1] = \"Long\";\n OrderActionDirection[OrderActionDirection[\"Short\"] = 2] = \"Short\";\n})(OrderActionDirection || (OrderActionDirection = {}));\n\nexport var PositionEffect;\n\n(function (PositionEffect) {\n PositionEffect[PositionEffect[\"Open\"] = 1] = \"Open\";\n PositionEffect[PositionEffect[\"Close\"] = 2] = \"Close\";\n})(PositionEffect || (PositionEffect = {}));\n\nexport var OrderType;\n\n(function (OrderType) {\n /// \n /// Buy or sell at the current price, whatever that price may be\n /// \n OrderType[OrderType[\"Market\"] = 1] = \"Market\"; /// \n /// Buy or sell at a specific price or better\n /// \n\n OrderType[OrderType[\"Limit\"] = 2] = \"Limit\"; /// \n /// Converts the order to a market order if the price of the security reaches a certain threshold\n /// \n\n OrderType[OrderType[\"Stop_Market\"] = 3] = \"Stop_Market\"; /// \n /// Converts the order to a limit order if the price of the security reaches a certain threshold\n /// \n\n OrderType[OrderType[\"Stop_Limit\"] = 4] = \"Stop_Limit\"; /// \n /// Marks the order to be executed immediately before the market close as a market order\n /// \n\n OrderType[OrderType[\"Market_On_Close\"] = 5] = \"Market_On_Close\";\n})(OrderType || (OrderType = {}));\n\nexport var OrderClass;\n\n(function (OrderClass) {\n OrderClass[OrderClass[\"Single\"] = 1] = \"Single\";\n OrderClass[OrderClass[\"Multileg\"] = 2] = \"Multileg\";\n})(OrderClass || (OrderClass = {})); // export type OrderClass = keyof typeof OrderClasses;\n\n\nexport var DebitOrCredit;\n\n(function (DebitOrCredit) {\n DebitOrCredit[DebitOrCredit[\"Debit\"] = 1] = \"Debit\";\n DebitOrCredit[DebitOrCredit[\"Credit\"] = 2] = \"Credit\";\n})(DebitOrCredit || (DebitOrCredit = {}));\n\nexport var OptionType;\n\n(function (OptionType) {\n OptionType[OptionType[\"Call\"] = 1] = \"Call\";\n OptionType[OptionType[\"Put\"] = 2] = \"Put\";\n})(OptionType || (OptionType = {}));\n\nexport var StrategyType;\n\n(function (StrategyType) {\n StrategyType[StrategyType[\"Bull\"] = 1] = \"Bull\";\n StrategyType[StrategyType[\"Bear\"] = 2] = \"Bear\";\n StrategyType[StrategyType[\"Volatility\"] = 3] = \"Volatility\";\n})(StrategyType || (StrategyType = {}));\n\nexport var SizeRatio;\n\n(function (SizeRatio) {\n SizeRatio[\"NA\"] = \"NA\";\n SizeRatio[\"HundredToOne\"] = \"100:1\";\n SizeRatio[\"HundredToOneToOne\"] = \"100:1:1\";\n SizeRatio[\"OneToOne\"] = \"1:1\";\n SizeRatio[\"OneTwoOne\"] = \"1:2:1\";\n SizeRatio[\"OneToOneToOneToOne\"] = \"1:1:1:1\";\n})(SizeRatio || (SizeRatio = {}));\n\nexport var BlockType;\n\n(function (BlockType) {\n BlockType[\"Account\"] = \"Account\";\n BlockType[\"AccountManagement\"] = \"AccountManagement\";\n BlockType[\"AccountTransfer\"] = \"AccountTransfer\";\n BlockType[\"Activity\"] = \"Activity\";\n BlockType[\"Favorites\"] = \"Favorites\";\n BlockType[\"OptionChain\"] = \"OptionChain\";\n BlockType[\"Order\"] = \"Order\";\n BlockType[\"Positions\"] = \"Positions\";\n BlockType[\"PriceChart\"] = \"PriceChart\";\n BlockType[\"Quote\"] = \"Quote\";\n BlockType[\"Info\"] = \"Info\";\n BlockType[\"Strategy\"] = \"Strategy\";\n BlockType[\"AdminTools\"] = \"AdminTools\";\n BlockType[\"Analytics\"] = \"Analytics\";\n BlockType[\"AccountStatements\"] = \"AccountStatements\";\n BlockType[\"SubAccountManagement\"] = \"Sub Account Management\";\n})(BlockType || (BlockType = {}));\n\nexport var BlockTypeValues = Object.values(BlockType);\nexport var AlertType;\n\n(function (AlertType) {\n AlertType[\"danger\"] = \"danger\";\n AlertType[\"info\"] = \"info\";\n AlertType[\"success\"] = \"success\";\n AlertType[\"warning\"] = \"warning\";\n})(AlertType || (AlertType = {}));\n\nexport var AccountRole;\n\n(function (AccountRole) {\n AccountRole[\"Cashiering\"] = \"Cashiering\";\n})(AccountRole || (AccountRole = {}));\n\nexport var AccountType;\n\n(function (AccountType) {\n /// \n /// An individual account is an account that is owned by one person.\n /// \n AccountType[AccountType[\"Individual\"] = 1] = \"Individual\"; /// \n /// Joint Tenants with Rights of Survivorship accounts are accounts where all the assets\n /// are transferred into the name of the surviving party in the event of one tenant's\n /// death. The surviving party becomes the sole owner of the assets in the account. Both\n /// parties on the account have an equal and undivided interest in the assets in the\n /// account.\n /// \n\n AccountType[AccountType[\"JTWROS\"] = 2] = \"JTWROS\"; /// \n /// Traditional individual retirement accounts allow individuals to direct pretax income\n /// towards investments that can grow tax-deferred; no capital gains or dividend income\n /// is taxed until it is withdrawn.\n /// \n\n AccountType[AccountType[\"Traditional_IRA\"] = 3] = \"Traditional_IRA\"; /// \n /// An account that is opened by an individual and managed by a designated trustee for\n /// the benefit of a third-party in accordance with agreed-upon terms.\n /// \n\n AccountType[AccountType[\"Trust\"] = 4] = \"Trust\"; /// \n /// Individual retirement arrangement rollover accounts are a transfer of funds from a\n /// retirement account into a traditional IRA or a Roth IRA.\n /// \n\n AccountType[AccountType[\"IRA_RollOver\"] = 5] = \"IRA_RollOver\"; /// \n /// Roth individual retirement accounts are a type of qualified retirement plan that\n /// is very similar to a traditional IRA, but is taxed differently. Roth IRAs are funded\n /// with after-tax dollars so contributions are not tax deductible, but when you start\n /// withdrawing funds, qualified distributions are tax free.\n /// \n\n AccountType[AccountType[\"Roth_IRA\"] = 6] = \"Roth_IRA\"; /// \n /// Simplified employee pension plan IRAs are retirement savings plans established by\n /// employers, including self-employed individuals, for the benefit of their employees.\n /// Employers may make tax-deductible contributions on behalf of eligible employees,\n /// and are made on a discrtionary basis. If the employer does contribute, it must\n /// contribute the same percentage of compensation to all employees eligible for the\n /// plan.\n /// \n\n AccountType[AccountType[\"SEP_IRA\"] = 7] = \"SEP_IRA\"; /// \n /// Joint Tenants in Common accounts are owned by at least two people with no rights of\n /// survivorship afforded to any of the account holders. In these accounts, a surviving\n /// tenant of the account does not necessarily acquire the rights and assets of the\n /// deceased person. Instead, each tenant can stipulate in a written will how his/her\n /// assets will be distributed upon his/her death.\n /// \n\n AccountType[AccountType[\"JTIC\"] = 8] = \"JTIC\"; /// \n /// The corporate resolution will specify which officers may trade in the corporation's\n /// account. In addition, a certified copy of the corporate charter and the company's\n /// bylaws are required to open a margin account. There are two sub-categories:\n /// S-Corp and C-Corp.\n /// \n\n AccountType[AccountType[\"Corporate\"] = 9] = \"Corporate\"; /// \n /// Limited Liability Company is a corporate structure whereby the members of the\n /// company cannot be held personally liable for the company's debts or liabilities.\n /// LLCs are essentially hybrid entities that combine the characteristics of a\n /// corporation and a partnership or sole proprietorship.\n /// \n\n AccountType[AccountType[\"LLC\"] = 10] = \"LLC\"; /// \n /// Partnerships are an arrangement by which two or more persons agree to share in all\n /// assets, profits and financial and legal liabilities of a business. Such partnerships\n /// have unlimited liability, which means their personal assets are liable to the\n /// partnership's obligations.\n /// \n\n AccountType[AccountType[\"Partnership\"] = 11] = \"Partnership\"; /// \n /// Qualified Plans meet Internal Revenue Code Section 401(1) and are therefore eligible\n /// to receive certain tax benefits. They are established by an employer for the benefit\n /// of the company's employees, and give employers a tax break for the contributions\n /// they make for their employees. They may also allow employees to defer a portion of\n /// their salaries into the plan to reduce employees' present income-tax liability by\n /// reducing taxable income.\n /// \n\n AccountType[AccountType[\"Qualified_Plan\"] = 12] = \"Qualified_Plan\"; /// \n /// If the taxpayer is a sole business owner or professional in their own practice, they\n /// are usually practicing as a sole proprietor. In this type of entity, you report\n /// business profit or loss on your personal tax return.\n /// \n\n AccountType[AccountType[\"Sole_Proprietorship\"] = 13] = \"Sole_Proprietorship\"; /// \n /// An Investment Club is a group of people who pool their money to make investments.\n /// Usually, investment clubs are organized as partnerships and after the members study\n /// different investments, the group decides to buy or sell based on a majority vote of\n /// the members.\n /// \n\n AccountType[AccountType[\"InvestmentClub\"] = 14] = \"InvestmentClub\"; /// \n /// Tenants by Entirety accounts are joint accounts in which married couples can hold\n /// the title to a property. In order for one spouse to modify his or her interest in\n /// the property in any way, the consent of both spouses is required by tenants by\n /// entirety. It also provides that when one spouse passes away, the surviving spouse\n /// gains full ownership of the property.\n /// \n\n AccountType[AccountType[\"TBE\"] = 15] = \"TBE\"; /// \n /// Joint Community Property (also known as marital property) accounts refer to a U.S.\n /// state-level legal distinction of a married individual's assets. Property acquired\n /// by either spouse during a marriage is considered community property, belonging to\n /// both partners of marriage.\n /// \n\n AccountType[AccountType[\"CommunityProperty\"] = 16] = \"CommunityProperty\"; /// \n /// Coverdell / Educational IRAs allow individuals to contribute up to $2,000 in\n /// after-tax dollars to an educational IRA for each student under the age of 18\n /// years of age. The money is allowed to grow tax deferred and the growth may be\n /// withdrawn tax free, as long as the money is used for educational purposes.\n /// \n\n AccountType[AccountType[\"Coverdell_IRA\"] = 17] = \"Coverdell_IRA\"; /// \n /// Uniform Gifts to Minors Act (UGMA) and Uniform Trasfers to Minors Act (UTMA)\n /// allow minors to own assets including securities. Individuals can establish UGMA\n /// accounts on behalf of minors or beneficiaries, eliminating the need for an\n /// attorney to establish a special trust fund.\n /// \n\n AccountType[AccountType[\"UGMA\"] = 18] = \"UGMA\";\n})(AccountType || (AccountType = {}));","import { BlockType } from './enums'; // all available block types, in custom order\n// TODO: restore SubAccountManagement block when backend is corrected\n\nexport var AllBlockTypes = [BlockType.Order, BlockType.Activity, BlockType.Account, BlockType.PriceChart, BlockType.Quote, BlockType.Info, BlockType.OptionChain, BlockType.Positions, BlockType.Favorites, BlockType.AccountTransfer, BlockType.AccountManagement, BlockType.AdminTools, BlockType.Analytics, BlockType.AccountStatements];\nexport var AllBlocksCategorized = {\n front: [BlockType.Order, BlockType.Quote, BlockType.OptionChain, BlockType.PriceChart, BlockType.Favorites, BlockType.Info],\n middle: [BlockType.Positions, BlockType.Activity, BlockType.AccountTransfer],\n back: [BlockType.Account, BlockType.AccountStatements, BlockType.AccountManagement, BlockType.Analytics, BlockType.AdminTools]\n};","export var ActivityTimeframes;\n\n(function (ActivityTimeframes) {\n ActivityTimeframes[ActivityTimeframes[\"Today\"] = 0] = \"Today\";\n ActivityTimeframes[ActivityTimeframes[\"Week\"] = 1] = \"Week\";\n ActivityTimeframes[ActivityTimeframes[\"Month\"] = 2] = \"Month\";\n ActivityTimeframes[ActivityTimeframes[\"Year\"] = 3] = \"Year\";\n ActivityTimeframes[ActivityTimeframes[\"Three Years\"] = 4] = \"Three Years\";\n})(ActivityTimeframes || (ActivityTimeframes = {}));","export var CashieringRoute;\n\n(function (CashieringRoute) {\n CashieringRoute[\"Withdraw\"] = \"withdraw\";\n CashieringRoute[\"Deposit\"] = \"deposit\";\n CashieringRoute[\"Accounts\"] = \"accounts\";\n CashieringRoute[\"OAuthPlaidRedirect\"] = \"oauth\";\n})(CashieringRoute || (CashieringRoute = {}));\n\nexport var CashieringView;\n\n(function (CashieringView) {\n CashieringView[\"Authorize\"] = \"authorize\";\n CashieringView[\"Amount\"] = \"amount\";\n CashieringView[\"Type\"] = \"type\";\n CashieringView[\"Review\"] = \"review\";\n CashieringView[\"Manage\"] = \"manage\";\n CashieringView[\"OAuthPlaidRedirect\"] = \"oauth\";\n})(CashieringView || (CashieringView = {}));\n\nexport var CashieringManageAction;\n\n(function (CashieringManageAction) {\n CashieringManageAction[\"Add\"] = \"add\";\n CashieringManageAction[\"AddOptions\"] = \"add-options\";\n CashieringManageAction[\"Verify\"] = \"verify\";\n CashieringManageAction[\"Rename\"] = \"rename\";\n CashieringManageAction[\"Delete\"] = \"delete\";\n CashieringManageAction[\"Close\"] = \"close\";\n CashieringManageAction[\"Upload\"] = \"upload\";\n})(CashieringManageAction || (CashieringManageAction = {}));\n\nexport var WireType;\n\n(function (WireType) {\n WireType[\"Domestic\"] = \"domestic\";\n WireType[\"International\"] = \"international\";\n})(WireType || (WireType = {}));\n\nexport var WireAccountType;\n\n(function (WireAccountType) {\n WireAccountType[\"SelfOwned\"] = \"self-owned\";\n WireAccountType[\"ThirdParty\"] = \"third-party\";\n})(WireAccountType || (WireAccountType = {}));\n\nexport var TransferBankIdentifierType;\n\n(function (TransferBankIdentifierType) {\n TransferBankIdentifierType[\"ABA\"] = \"ABA\";\n TransferBankIdentifierType[\"BIC\"] = \"BIC\";\n})(TransferBankIdentifierType || (TransferBankIdentifierType = {}));\n\nexport var TransferPendingStates = ['PendingRepCreateApproval', 'PendingFirmCreateApproval'];\nexport var TransferStates = [].concat(TransferPendingStates, ['Rejected', 'Canceled', 'Approved', 'FundsHeld', 'FundsPosted', 'SentToBank', 'Complete', 'Void', 'Returned', 'StopPayment', 'Pending', 'PendingPrinting']); // All transfer states that do not impact the current day ACH limit\n\nexport var TransferStatesNotAffectingAchLimit = ['Rejected', 'CreateRejected', 'Canceled', 'Void', 'Returned', 'StopPayment', 'FailedAtBank'];\nexport var TransferRecipientBankState;\n\n(function (TransferRecipientBankState) {\n TransferRecipientBankState[\"Pending\"] = \"Pending\";\n TransferRecipientBankState[\"PendingFirmApproval\"] = \"PendingFirmApproval\";\n TransferRecipientBankState[\"Approved\"] = \"Approved\";\n TransferRecipientBankState[\"Rejected\"] = \"Rejected\";\n})(TransferRecipientBankState || (TransferRecipientBankState = {}));\n\nexport var AchRelationshipPendingStates = ['PendingCreateApproval', 'PendingCancelApproval'];\nexport var CashieringPendingStates = [].concat(AchRelationshipPendingStates, TransferPendingStates);\nexport var BankRiskScoreValues;\n\n(function (BankRiskScoreValues) {\n BankRiskScoreValues[\"LowRisk\"] = \"LowRisk\";\n BankRiskScoreValues[\"MediumRisk\"] = \"MediumRisk\";\n BankRiskScoreValues[\"HighRisk\"] = \"HighRisk\";\n})(BankRiskScoreValues || (BankRiskScoreValues = {}));\n\nexport var CashieringSearchEntityType;\n\n(function (CashieringSearchEntityType) {\n CashieringSearchEntityType[\"Transfer\"] = \"Transfer\";\n CashieringSearchEntityType[\"AchRelationship\"] = \"AchRelationship\";\n CashieringSearchEntityType[\"TransferRecipientBank\"] = \"TransferRecipientBank\";\n CashieringSearchEntityType[\"TransferWireInstruction\"] = \"TransferWireInstruction\";\n})(CashieringSearchEntityType || (CashieringSearchEntityType = {}));\n\nexport var CashieringDocumentType;\n\n(function (CashieringDocumentType) {\n CashieringDocumentType[\"BankStatement\"] = \"BankStatement\";\n CashieringDocumentType[\"VoidedCheck\"] = \"VoidedCheck\";\n})(CashieringDocumentType || (CashieringDocumentType = {}));\n\nexport var AllCashieringDocumentTypes = [CashieringDocumentType.BankStatement, CashieringDocumentType.VoidedCheck];","// https://www.iso.org\nexport var Country;\n\n(function (Country) {\n Country[\"Afghanistan\"] = \"AFG\";\n Country[\"AlandIslands\"] = \"ALA\";\n Country[\"Albania\"] = \"ALB\";\n Country[\"Algeria\"] = \"DZA\";\n Country[\"AmericanSamoa\"] = \"ASM\";\n Country[\"Andorra\"] = \"AND\";\n Country[\"Angola\"] = \"AGO\";\n Country[\"Anguilla\"] = \"AIA\";\n Country[\"Antarctica\"] = \"ATA\";\n Country[\"AntiguaAndBarbuda\"] = \"ATG\";\n Country[\"Argentina\"] = \"ARG\";\n Country[\"Armenia\"] = \"ARM\";\n Country[\"Aruba\"] = \"ABW\";\n Country[\"Australia\"] = \"AUS\";\n Country[\"Austria\"] = \"AUT\";\n Country[\"Azerbaijan\"] = \"AZE\";\n Country[\"Bahamas\"] = \"BHS\";\n Country[\"Bahrain\"] = \"BHR\";\n Country[\"Bangladesh\"] = \"BGD\";\n Country[\"Barbados\"] = \"BRB\";\n Country[\"Belarus\"] = \"BLR\";\n Country[\"Belgium\"] = \"BEL\";\n Country[\"Belize\"] = \"BLZ\";\n Country[\"Benin\"] = \"BEN\";\n Country[\"Bermuda\"] = \"BMU\";\n Country[\"Bhutan\"] = \"BTN\";\n Country[\"BoliviaPlurinationalStateOf\"] = \"BOL\";\n Country[\"BonaireSintEustatiusAndSaba\"] = \"BES\";\n Country[\"BosniaAndHerzegovina\"] = \"BIH\";\n Country[\"Botswana\"] = \"BWA\";\n Country[\"BouvetIsland\"] = \"BVT\";\n Country[\"Brazil\"] = \"BRA\";\n Country[\"BritishIndianOceanTerritory\"] = \"IOT\";\n Country[\"BruneiDarussalam\"] = \"BRN\";\n Country[\"Bulgaria\"] = \"BGR\";\n Country[\"BurkinaFaso\"] = \"BFA\";\n Country[\"Burundi\"] = \"BDI\";\n Country[\"CaboVerde\"] = \"CPV\";\n Country[\"Cambodia\"] = \"KHM\";\n Country[\"Cameroon\"] = \"CMR\";\n Country[\"Canada\"] = \"CAN\";\n Country[\"CaymanIslands\"] = \"CYM\";\n Country[\"CentralAfricanRepublic\"] = \"CAF\";\n Country[\"Chad\"] = \"TCD\";\n Country[\"Chile\"] = \"CHL\";\n Country[\"China\"] = \"CHN\";\n Country[\"ChristmasIsland\"] = \"CXR\";\n Country[\"CocosKeelingIslands\"] = \"CCK\";\n Country[\"Colombia\"] = \"COL\";\n Country[\"Comoros\"] = \"COM\";\n Country[\"CongoDemocraticRepublicOf\"] = \"COD\";\n Country[\"Congo\"] = \"COG\";\n Country[\"CookIslands\"] = \"COK\";\n Country[\"CostaRica\"] = \"CRI\";\n Country[\"Croatia\"] = \"HRV\";\n Country[\"Cuba\"] = \"CUB\";\n Country[\"Curacao\"] = \"CUW\";\n Country[\"Cyprus\"] = \"CYP\";\n Country[\"Czechia\"] = \"CZE\";\n Country[\"CoteDIvoire\"] = \"CIV\";\n Country[\"Denmark\"] = \"DNK\";\n Country[\"Djibouti\"] = \"DJI\";\n Country[\"Dominica\"] = \"DMA\";\n Country[\"DominicanRepublic\"] = \"DOM\";\n Country[\"Ecuador\"] = \"ECU\";\n Country[\"Egypt\"] = \"EGY\";\n Country[\"ElSalvador\"] = \"SLV\";\n Country[\"EquatorialGuinea\"] = \"GNQ\";\n Country[\"Eritrea\"] = \"ERI\";\n Country[\"Estonia\"] = \"EST\";\n Country[\"Eswatini\"] = \"SWZ\";\n Country[\"Ethiopia\"] = \"ETH\";\n Country[\"FalklandIslandsMalvinas\"] = \"FLK\";\n Country[\"FaroeIslands\"] = \"FRO\";\n Country[\"Fiji\"] = \"FJI\";\n Country[\"Finland\"] = \"FIN\";\n Country[\"France\"] = \"FRA\";\n Country[\"FrenchGuiana\"] = \"GUF\";\n Country[\"FrenchPolynesia\"] = \"PYF\";\n Country[\"FrenchSouthernTerritories\"] = \"ATF\";\n Country[\"Gabon\"] = \"GAB\";\n Country[\"Gambia\"] = \"GMB\";\n Country[\"Georgia\"] = \"GEO\";\n Country[\"Germany\"] = \"DEU\";\n Country[\"Ghana\"] = \"GHA\";\n Country[\"Gibraltar\"] = \"GIB\";\n Country[\"Greece\"] = \"GRC\";\n Country[\"Greenland\"] = \"GRL\";\n Country[\"Grenada\"] = \"GRD\";\n Country[\"Guadeloupe\"] = \"GLP\";\n Country[\"Guam\"] = \"GUM\";\n Country[\"Guatemala\"] = \"GTM\";\n Country[\"Guernsey\"] = \"GGY\";\n Country[\"Guinea\"] = \"GIN\";\n Country[\"GuineaBissau\"] = \"GNB\";\n Country[\"Guyana\"] = \"GUY\";\n Country[\"Haiti\"] = \"HTI\";\n Country[\"HeardIslandAndMcDonaldIslands\"] = \"HMD\";\n Country[\"HolySee\"] = \"VAT\";\n Country[\"Honduras\"] = \"HND\";\n Country[\"HongKong\"] = \"HKG\";\n Country[\"Hungary\"] = \"HUN\";\n Country[\"Iceland\"] = \"ISL\";\n Country[\"India\"] = \"IND\";\n Country[\"Indonesia\"] = \"IDN\";\n Country[\"IranIslamicRepublicOf\"] = \"IRN\";\n Country[\"Iraq\"] = \"IRQ\";\n Country[\"Ireland\"] = \"IRL\";\n Country[\"IsleOfMan\"] = \"IMN\";\n Country[\"Israel\"] = \"ISR\";\n Country[\"Italy\"] = \"ITA\";\n Country[\"Jamaica\"] = \"JAM\";\n Country[\"Japan\"] = \"JPN\";\n Country[\"Jersey\"] = \"JEY\";\n Country[\"Jordan\"] = \"JOR\";\n Country[\"Kazakhstan\"] = \"KAZ\";\n Country[\"Kenya\"] = \"KEN\";\n Country[\"Kiribati\"] = \"KIR\";\n Country[\"KoreaDemocraticPeoplesRepublicOf\"] = \"PRK\";\n Country[\"KoreaRepublicOf\"] = \"KOR\";\n Country[\"Kuwait\"] = \"KWT\";\n Country[\"Kyrgyzstan\"] = \"KGZ\";\n Country[\"LaoPeoplesDemocraticRepublic\"] = \"LAO\";\n Country[\"Latvia\"] = \"LVA\";\n Country[\"Lebanon\"] = \"LBN\";\n Country[\"Lesotho\"] = \"LSO\";\n Country[\"Liberia\"] = \"LBR\";\n Country[\"Libya\"] = \"LBY\";\n Country[\"Liechtenstein\"] = \"LIE\";\n Country[\"Lithuania\"] = \"LTU\";\n Country[\"Luxembourg\"] = \"LUX\";\n Country[\"Macao\"] = \"MAC\";\n Country[\"Madagascar\"] = \"MDG\";\n Country[\"Malawi\"] = \"MWI\";\n Country[\"Malaysia\"] = \"MYS\";\n Country[\"Maldives\"] = \"MDV\";\n Country[\"Mali\"] = \"MLI\";\n Country[\"Malta\"] = \"MLT\";\n Country[\"MarshallIslands\"] = \"MHL\";\n Country[\"Martinique\"] = \"MTQ\";\n Country[\"Mauritania\"] = \"MRT\";\n Country[\"Mauritius\"] = \"MUS\";\n Country[\"Mayotte\"] = \"MYT\";\n Country[\"Mexico\"] = \"MEX\";\n Country[\"MicronesiaFederatedStatesOf\"] = \"FSM\";\n Country[\"MoldovaRepublicOf\"] = \"MDA\";\n Country[\"Monaco\"] = \"MCO\";\n Country[\"Mongolia\"] = \"MNG\";\n Country[\"Montenegro\"] = \"MNE\";\n Country[\"Montserrat\"] = \"MSR\";\n Country[\"Morocco\"] = \"MAR\";\n Country[\"Mozambique\"] = \"MOZ\";\n Country[\"Myanmar\"] = \"MMR\";\n Country[\"Namibia\"] = \"NAM\";\n Country[\"Nauru\"] = \"NRU\";\n Country[\"Nepal\"] = \"NPL\";\n Country[\"Netherlands\"] = \"NLD\";\n Country[\"NewCaledonia\"] = \"NCL\";\n Country[\"NewZealand\"] = \"NZL\";\n Country[\"Nicaragua\"] = \"NIC\";\n Country[\"Niger\"] = \"NER\";\n Country[\"Nigeria\"] = \"NGA\";\n Country[\"Niue\"] = \"NIU\";\n Country[\"NorfolkIsland\"] = \"NFK\";\n Country[\"NorthMacedonia\"] = \"MKD\";\n Country[\"NorthernMarianaIslands\"] = \"MNP\";\n Country[\"Norway\"] = \"NOR\";\n Country[\"Oman\"] = \"OMN\";\n Country[\"Pakistan\"] = \"PAK\";\n Country[\"Palau\"] = \"PLW\";\n Country[\"PalestineStateOf\"] = \"PSE\";\n Country[\"Panama\"] = \"PAN\";\n Country[\"PapuaNewGuinea\"] = \"PNG\";\n Country[\"Paraguay\"] = \"PRY\";\n Country[\"Peru\"] = \"PER\";\n Country[\"Philippines\"] = \"PHL\";\n Country[\"Pitcairn\"] = \"PCN\";\n Country[\"Poland\"] = \"POL\";\n Country[\"Portugal\"] = \"PRT\";\n Country[\"PuertoRico\"] = \"PRI\";\n Country[\"Qatar\"] = \"QAT\";\n Country[\"Romania\"] = \"ROU\";\n Country[\"RussianFederation\"] = \"RUS\";\n Country[\"Rwanda\"] = \"RWA\";\n Country[\"Reunion\"] = \"REU\";\n Country[\"SaintBarthelemy\"] = \"BLM\";\n Country[\"SaintHelenaAscensionAndTristandaCunha\"] = \"SHN\";\n Country[\"SaintKittsAndNevis\"] = \"KNA\";\n Country[\"SaintLucia\"] = \"LCA\";\n Country[\"SaintMartin\"] = \"MAF\";\n Country[\"SaintPierreAndMiquelon\"] = \"SPM\";\n Country[\"SaintVincentAndGrenadines\"] = \"VCT\";\n Country[\"Samoa\"] = \"WSM\";\n Country[\"SanMarino\"] = \"SMR\";\n Country[\"SaoTomeAndPrincipe\"] = \"STP\";\n Country[\"SaudiArabia\"] = \"SAU\";\n Country[\"Senegal\"] = \"SEN\";\n Country[\"Serbia\"] = \"SRB\";\n Country[\"Seychelles\"] = \"SYC\";\n Country[\"SierraLeone\"] = \"SLE\";\n Country[\"Singapore\"] = \"SGP\";\n Country[\"SintMaarten\"] = \"SXM\";\n Country[\"Slovakia\"] = \"SVK\";\n Country[\"Slovenia\"] = \"SVN\";\n Country[\"SolomonIslands\"] = \"SLB\";\n Country[\"Somalia\"] = \"SOM\";\n Country[\"SouthAfrica\"] = \"ZAF\";\n Country[\"SouthGeorgiaAndSouthSandwichIslands\"] = \"SGS\";\n Country[\"SouthSudan\"] = \"SSD\";\n Country[\"Spain\"] = \"ESP\";\n Country[\"SriLanka\"] = \"LKA\";\n Country[\"Sudan\"] = \"SDN\";\n Country[\"Suriname\"] = \"SUR\";\n Country[\"SvalbardAndJanMayen\"] = \"SJM\";\n Country[\"Sweden\"] = \"SWE\";\n Country[\"Switzerland\"] = \"CHE\";\n Country[\"SyrianArabRepublic\"] = \"SYR\";\n Country[\"TaiwanProvinceOfChina\"] = \"TWN\";\n Country[\"Tajikistan\"] = \"TJK\";\n Country[\"TanzaniaUnitedRepublicOf\"] = \"TZA\";\n Country[\"Thailand\"] = \"THA\";\n Country[\"TimorLeste\"] = \"TLS\";\n Country[\"Togo\"] = \"TGO\";\n Country[\"Tokelau\"] = \"TKL\";\n Country[\"Tonga\"] = \"TON\";\n Country[\"TrinidadAndTobago\"] = \"TTO\";\n Country[\"Tunisia\"] = \"TUN\";\n Country[\"Turkey\"] = \"TUR\";\n Country[\"Turkmenistan\"] = \"TKM\";\n Country[\"TurksAndCaicosIslands\"] = \"TCA\";\n Country[\"Tuvalu\"] = \"TUV\";\n Country[\"Uganda\"] = \"UGA\";\n Country[\"Ukraine\"] = \"UKR\";\n Country[\"UnitedArabEmirates\"] = \"ARE\";\n Country[\"UnitedKingdomOfGreatBritainAndNorthernIreland\"] = \"GBR\";\n Country[\"UnitedStatesMinorOutlyingIslands\"] = \"UMI\";\n Country[\"UnitedStatesOfAmerica\"] = \"USA\";\n Country[\"Uruguay\"] = \"URY\";\n Country[\"Uzbekistan\"] = \"UZB\";\n Country[\"Vanuatu\"] = \"VUT\";\n Country[\"VenezuelaBolivarianRepublicOf\"] = \"VEN\";\n Country[\"VietNam\"] = \"VNM\";\n Country[\"VirginIslandsBritish\"] = \"VGB\";\n Country[\"VirginIslandsUS\"] = \"VIR\";\n Country[\"WallisAndFutuna\"] = \"WLF\";\n Country[\"WesternSahara\"] = \"ESH\";\n Country[\"Yemen\"] = \"YEM\";\n Country[\"Zambia\"] = \"ZMB\";\n Country[\"Zimbabwe\"] = \"ZWE\";\n})(Country || (Country = {}));\n\nexport var AllCountries = [Country.Afghanistan, Country.AlandIslands, Country.Albania, Country.Algeria, Country.AmericanSamoa, Country.Andorra, Country.Angola, Country.Anguilla, Country.Antarctica, Country.AntiguaAndBarbuda, Country.Argentina, Country.Armenia, Country.Aruba, Country.Australia, Country.Austria, Country.Azerbaijan, Country.Bahamas, Country.Bahrain, Country.Bangladesh, Country.Barbados, Country.Belarus, Country.Belgium, Country.Belize, Country.Benin, Country.Bermuda, Country.Bhutan, Country.BoliviaPlurinationalStateOf, Country.BonaireSintEustatiusAndSaba, Country.BosniaAndHerzegovina, Country.Botswana, Country.BouvetIsland, Country.Brazil, Country.BritishIndianOceanTerritory, Country.BruneiDarussalam, Country.Bulgaria, Country.BurkinaFaso, Country.Burundi, Country.CaboVerde, Country.Cambodia, Country.Cameroon, Country.Canada, Country.CaymanIslands, Country.CentralAfricanRepublic, Country.Chad, Country.Chile, Country.China, Country.ChristmasIsland, Country.CocosKeelingIslands, Country.Colombia, Country.Comoros, Country.CongoDemocraticRepublicOf, Country.Congo, Country.CookIslands, Country.CostaRica, Country.Croatia, Country.Cuba, Country.Curacao, Country.Cyprus, Country.Czechia, Country.CoteDIvoire, Country.Denmark, Country.Djibouti, Country.Dominica, Country.DominicanRepublic, Country.Ecuador, Country.Egypt, Country.ElSalvador, Country.EquatorialGuinea, Country.Eritrea, Country.Estonia, Country.Eswatini, Country.Ethiopia, Country.FalklandIslandsMalvinas, Country.FaroeIslands, Country.Fiji, Country.Finland, Country.France, Country.FrenchGuiana, Country.FrenchPolynesia, Country.FrenchSouthernTerritories, Country.Gabon, Country.Gambia, Country.Georgia, Country.Germany, Country.Ghana, Country.Gibraltar, Country.Greece, Country.Greenland, Country.Grenada, Country.Guadeloupe, Country.Guam, Country.Guatemala, Country.Guernsey, Country.Guinea, Country.GuineaBissau, Country.Guyana, Country.Haiti, Country.HeardIslandAndMcDonaldIslands, Country.HolySee, Country.Honduras, Country.HongKong, Country.Hungary, Country.Iceland, Country.India, Country.Indonesia, Country.IranIslamicRepublicOf, Country.Iraq, Country.Ireland, Country.IsleOfMan, Country.Israel, Country.Italy, Country.Jamaica, Country.Japan, Country.Jersey, Country.Jordan, Country.Kazakhstan, Country.Kenya, Country.Kiribati, Country.KoreaDemocraticPeoplesRepublicOf, Country.KoreaRepublicOf, Country.Kuwait, Country.Kyrgyzstan, Country.LaoPeoplesDemocraticRepublic, Country.Latvia, Country.Lebanon, Country.Lesotho, Country.Liberia, Country.Libya, Country.Liechtenstein, Country.Lithuania, Country.Luxembourg, Country.Macao, Country.Madagascar, Country.Malawi, Country.Malaysia, Country.Maldives, Country.Mali, Country.Malta, Country.MarshallIslands, Country.Martinique, Country.Mauritania, Country.Mauritius, Country.Mayotte, Country.Mexico, Country.MicronesiaFederatedStatesOf, Country.MoldovaRepublicOf, Country.Monaco, Country.Mongolia, Country.Montenegro, Country.Montserrat, Country.Morocco, Country.Mozambique, Country.Myanmar, Country.Namibia, Country.Nauru, Country.Nepal, Country.Netherlands, Country.NewCaledonia, Country.NewZealand, Country.Nicaragua, Country.Niger, Country.Nigeria, Country.Niue, Country.NorfolkIsland, Country.NorthMacedonia, Country.NorthernMarianaIslands, Country.Norway, Country.Oman, Country.Pakistan, Country.Palau, Country.PalestineStateOf, Country.Panama, Country.PapuaNewGuinea, Country.Paraguay, Country.Peru, Country.Philippines, Country.Pitcairn, Country.Poland, Country.Portugal, Country.PuertoRico, Country.Qatar, Country.Romania, Country.RussianFederation, Country.Rwanda, Country.Reunion, Country.SaintBarthelemy, Country.SaintHelenaAscensionAndTristandaCunha, Country.SaintKittsAndNevis, Country.SaintLucia, Country.SaintMartin, Country.SaintPierreAndMiquelon, Country.SaintVincentAndGrenadines, Country.Samoa, Country.SanMarino, Country.SaoTomeAndPrincipe, Country.SaudiArabia, Country.Senegal, Country.Serbia, Country.Seychelles, Country.SierraLeone, Country.Singapore, Country.SintMaarten, Country.Slovakia, Country.Slovenia, Country.SolomonIslands, Country.Somalia, Country.SouthAfrica, Country.SouthGeorgiaAndSouthSandwichIslands, Country.SouthSudan, Country.Spain, Country.SriLanka, Country.Sudan, Country.Suriname, Country.SvalbardAndJanMayen, Country.Sweden, Country.Switzerland, Country.SyrianArabRepublic, Country.TaiwanProvinceOfChina, Country.Tajikistan, Country.TanzaniaUnitedRepublicOf, Country.Thailand, Country.TimorLeste, Country.Togo, Country.Tokelau, Country.Tonga, Country.TrinidadAndTobago, Country.Tunisia, Country.Turkey, Country.Turkmenistan, Country.TurksAndCaicosIslands, Country.Tuvalu, Country.Uganda, Country.Ukraine, Country.UnitedArabEmirates, Country.UnitedKingdomOfGreatBritainAndNorthernIreland, Country.UnitedStatesMinorOutlyingIslands, Country.UnitedStatesOfAmerica, Country.Uruguay, Country.Uzbekistan, Country.Vanuatu, Country.VenezuelaBolivarianRepublicOf, Country.VietNam, Country.VirginIslandsBritish, Country.VirginIslandsUS, Country.WallisAndFutuna, Country.WesternSahara, Country.Yemen, Country.Zambia, Country.Zimbabwe];\nexport var getCountryNameByCode = function getCountryNameByCode(code) {\n var countryName = Object.keys(Country).find(function (key) {\n return Country[key] === code;\n }) || ''; // Insert space before each capital letter and trim the leading space if any\n\n return countryName.replace(/([A-Z])/g, ' $1').trim();\n};","export var DurationValues = {\n GTC: 'GTC',\n Day: 'Day',\n Manual: 'Manual'\n};\nexport var Durations;\n\n(function (Durations) {\n Durations[\"GTC\"] = \"GTC\";\n Durations[\"Day\"] = \"Day\";\n Durations[\"Manual\"] = \"Manual\";\n})(Durations || (Durations = {}));","import { Country } from './Country';\nexport var BaseApiVersion = 'v1';\nexport var BaseApiUrl = \"/api/\".concat(BaseApiVersion);\nexport var LoginApiUrl = function LoginApiUrl(subroot) {\n return \"\".concat(BaseApiUrl, \"/\").concat(subroot ? \"\".concat(subroot, \"/login\") : 'login');\n};\nexport var StorageGridPath = \"grid\";\nexport var objects = {\n block: 'block',\n blocks: 'blocks',\n dashboard: 'dashboard',\n dashboards: 'dashboards',\n settings: 'settings',\n debugSettings: 'debugsettings'\n};\nexport var StorageBlocksPath = function StorageBlocksPath(dashboardId) {\n return \"\".concat(objects.blocks, \"/\").concat(dashboardId);\n};\nexport var StorageBlockPath = function StorageBlockPath(blockId) {\n return \"\".concat(objects.block, \"/\").concat(blockId);\n};\nexport var StorageBlockSettingsPath = function StorageBlockSettingsPath(blockId) {\n return \"\".concat(objects.block, \"/\").concat(blockId, \"/\").concat(objects.settings);\n};\nexport var StorageSettingsBlockPath = \"\".concat(objects.settings, \"/block\");\nexport var StorageSettingsFieldPath = function StorageSettingsFieldPath(field) {\n return \"\".concat(objects.settings, \"/\").concat(field);\n};\nexport var StorageSettingsBlockTypeFieldPath = function StorageSettingsBlockTypeFieldPath(type) {\n return StorageSettingsFieldPath(\"\".concat(objects.block, \"-\").concat(type));\n};\nexport var StorageDashboardsPath = \"\".concat(objects.dashboards);\nexport var StorageDashboardPath = \"\".concat(objects.dashboard);\nexport var CreateDashboardPath = \"\".concat(objects.dashboard, \"/new\");\nexport var DefaultDashboardPath = \"\".concat(objects.dashboard, \"/defaults\");\nexport var DeleteDashboardPath = function DeleteDashboardPath(dashboardId) {\n return \"\".concat(objects.dashboard, \"/\").concat(dashboardId);\n};\nexport var StorageFavoritesPath = \"favorites\";\nexport var RefreshTokenPath = \"/refresh_token\";\nexport var DashboardSettingsPath = \"\".concat(objects.settings, \"/dashboard\");\nexport var PendingApplicationsPath = '/db/applications';\nexport var StorageStrategyPath = \"resource/strategy\";\nexport var MAX_TRANSFER_AMOUNT = 50000; // accepted countries of residence for accts\n\nexport var AcceptedCountries = [Country.UnitedStatesOfAmerica, Country.UnitedKingdomOfGreatBritainAndNorthernIreland, Country.Australia, Country.NewZealand];\nexport var ClientVersionHeader = 'x-client-version';\nexport var PERSIST_BLOCKS_DEBOUNCE_MS = 1000;","export var DefaultEntitlementsItem = {\n AccountNumber: '',\n ApprovedUserMarketDataEntitlementType: '',\n ApprovingUserName: '',\n FirstName: '',\n LastName: '',\n PrimaryAccountIdAssociatedWithUser: 0,\n RequestDateTime: '',\n RequestedMarketDataEntitlementType: '',\n UserId: 0,\n UserLevel: 0,\n UserName: '',\n Id: 0\n};\nexport var MarketDataEntitlementTypes;\n\n(function (MarketDataEntitlementTypes) {\n MarketDataEntitlementTypes[\"Undefined\"] = \"Undefined\";\n MarketDataEntitlementTypes[\"ProfessionalUser\"] = \"ProfessionalUser\";\n MarketDataEntitlementTypes[\"NonProfessionalUser\"] = \"NonProfessionalUser\";\n MarketDataEntitlementTypes[\"DelayedQuotesOnlyUser\"] = \"DelayedQuotesOnlyUser\";\n})(MarketDataEntitlementTypes || (MarketDataEntitlementTypes = {}));\n\nexport var AllMarketDataEntitlementTypes = [MarketDataEntitlementTypes.Undefined, MarketDataEntitlementTypes.ProfessionalUser, MarketDataEntitlementTypes.NonProfessionalUser, MarketDataEntitlementTypes.DelayedQuotesOnlyUser];","export var OptionExpirationType;\n\n(function (OptionExpirationType) {\n OptionExpirationType[OptionExpirationType[\"AM\"] = 1] = \"AM\";\n OptionExpirationType[OptionExpirationType[\"PM\"] = 2] = \"PM\";\n})(OptionExpirationType || (OptionExpirationType = {}));\n\nexport var ExpirationType;\n\n(function (ExpirationType) {\n ExpirationType[\"Monthly\"] = \"M\";\n ExpirationType[\"Weekly\"] = \"W\";\n ExpirationType[\"Quarterly\"] = \"Q\";\n})(ExpirationType || (ExpirationType = {}));","export var ReleaseNoteIssueTypes;\n\n(function (ReleaseNoteIssueTypes) {\n ReleaseNoteIssueTypes[\"NewFeature\"] = \"NewFeature\";\n ReleaseNoteIssueTypes[\"Improvement\"] = \"Improvement\";\n ReleaseNoteIssueTypes[\"BugFix\"] = \"BugFix\";\n ReleaseNoteIssueTypes[\"MarketHoliday\"] = \"MarketHoliday\";\n ReleaseNoteIssueTypes[\"TechnicalAlert\"] = \"TechnicalAlert\";\n ReleaseNoteIssueTypes[\"OperationsAlert\"] = \"OperationsAlert\";\n ReleaseNoteIssueTypes[\"CorporateActionAlert\"] = \"CorporateActionAlert\";\n})(ReleaseNoteIssueTypes || (ReleaseNoteIssueTypes = {}));\n\nexport var UserLevelTypes;\n\n(function (UserLevelTypes) {\n UserLevelTypes[\"Undefined\"] = \"Undefined\";\n UserLevelTypes[\"Admin\"] = \"Admin\";\n UserLevelTypes[\"Firm\"] = \"Firm\";\n UserLevelTypes[\"Region\"] = \"Region\";\n UserLevelTypes[\"Branch\"] = \"Branch\";\n UserLevelTypes[\"Rep\"] = \"Rep\";\n UserLevelTypes[\"Account\"] = \"Account\";\n})(UserLevelTypes || (UserLevelTypes = {}));\n\nexport var AllReleaseNoteIssueTypes = [ReleaseNoteIssueTypes.NewFeature, ReleaseNoteIssueTypes.Improvement, ReleaseNoteIssueTypes.BugFix, ReleaseNoteIssueTypes.MarketHoliday, ReleaseNoteIssueTypes.TechnicalAlert, ReleaseNoteIssueTypes.OperationsAlert, ReleaseNoteIssueTypes.CorporateActionAlert];\nexport var AllUserLevelTypes = [UserLevelTypes.Account, UserLevelTypes.Admin, UserLevelTypes.Branch, UserLevelTypes.Firm, UserLevelTypes.Region, UserLevelTypes.Rep, UserLevelTypes.Undefined];\nexport var AlertStatusTypes;\n\n(function (AlertStatusTypes) {\n AlertStatusTypes[\"Active\"] = \"Active\";\n AlertStatusTypes[\"Inactive\"] = \"Inactive\";\n})(AlertStatusTypes || (AlertStatusTypes = {}));\n\nexport var AllAlertStatusTypes = [AlertStatusTypes.Active, AlertStatusTypes.Inactive];","export var SizeType;\n\n(function (SizeType) {\n SizeType[\"lg\"] = \"lg\";\n SizeType[\"md\"] = \"md\";\n SizeType[\"sm\"] = \"sm\";\n SizeType[\"xs\"] = \"xs\";\n SizeType[\"xxs\"] = \"xxs\";\n})(SizeType || (SizeType = {}));\n\nexport var DefaultGridLayout = {\n breakpoint: SizeType.lg,\n columns: 6,\n gridColumnsSmall: 2,\n gridColumnsMedium: 4,\n gridColumnsLarge: 6,\n width: 1200\n};","export var OrderStrategyTypeId;\n\n(function (OrderStrategyTypeId) {\n OrderStrategyTypeId[OrderStrategyTypeId[\"Undefined\"] = 0] = \"Undefined\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Single\"] = 1] = \"Single\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Vertical\"] = 2] = \"Vertical\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Calendar\"] = 3] = \"Calendar\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Straddle\"] = 5] = \"Straddle\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Strangle\"] = 6] = \"Strangle\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Butterfly\"] = 7] = \"Butterfly\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Condor\"] = 8] = \"Condor\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"IronButterfly\"] = 9] = \"IronButterfly\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"IronConder\"] = 10] = \"IronConder\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Box\"] = 11] = \"Box\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"CoveredCall\"] = 13] = \"CoveredCall\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"MarriedPut\"] = 14] = \"MarriedPut\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Conversion\"] = 15] = \"Conversion\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Collar\"] = 16] = \"Collar\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"SyntheticCombo\"] = 17] = \"SyntheticCombo\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"CreateMyOwn\"] = 18] = \"CreateMyOwn\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"HedgeCollar\"] = 19] = \"HedgeCollar\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Contingent\"] = 20] = \"Contingent\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Trailing\"] = 21] = \"Trailing\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"OneCancelsOther\"] = 22] = \"OneCancelsOther\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Stock\"] = 23] = \"Stock\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Bond\"] = 24] = \"Bond\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"MutualFund\"] = 25] = \"MutualFund\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"CoveredPut\"] = 26] = \"CoveredPut\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"MarriedCall\"] = 27] = \"MarriedCall\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"CallCalendar\"] = 28] = \"CallCalendar\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"PutCalendar\"] = 29] = \"PutCalendar\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Call\"] = 30] = \"Call\";\n OrderStrategyTypeId[OrderStrategyTypeId[\"Put\"] = 31] = \"Put\";\n})(OrderStrategyTypeId || (OrderStrategyTypeId = {}));\n\nexport var OrderStrategyType;\n\n(function (OrderStrategyType) {\n OrderStrategyType[\"undefined\"] = \"Undefined\";\n OrderStrategyType[\"Undefined\"] = \"Undefined\";\n OrderStrategyType[\"Single\"] = \"Single\";\n OrderStrategyType[\"Vertical\"] = \"Vertical\";\n OrderStrategyType[\"CallVertical\"] = \"Call Vertical\";\n OrderStrategyType[\"PutVertical\"] = \"Put Vertical\";\n OrderStrategyType[\"Calendar\"] = \"Calendar\";\n OrderStrategyType[\"CallCalendar\"] = \"Call Calendar\";\n OrderStrategyType[\"PutCalendar\"] = \"Put Calendar\";\n OrderStrategyType[\"Straddle\"] = \"Straddle\";\n OrderStrategyType[\"Strangle\"] = \"Strangle\";\n OrderStrategyType[\"Butterfly\"] = \"Butterfly\";\n OrderStrategyType[\"Condor\"] = \"Condor\";\n OrderStrategyType[\"IronButterfly\"] = \"IronButterfly\";\n OrderStrategyType[\"IronConder\"] = \"IronConder\";\n OrderStrategyType[\"Box\"] = \"Box\";\n OrderStrategyType[\"CoveredCall\"] = \"CoveredCall\";\n OrderStrategyType[\"MarriedPut\"] = \"MarriedPut\";\n OrderStrategyType[\"Conversion\"] = \"Conversion\";\n OrderStrategyType[\"Collar\"] = \"Collar\";\n OrderStrategyType[\"SyntheticCombo\"] = \"SyntheticCombo\";\n OrderStrategyType[\"CreateMyOwn\"] = \"CreateMyOwn\";\n OrderStrategyType[\"HedgeCollar\"] = \"HedgeCollar\";\n OrderStrategyType[\"Contingent\"] = \"Contingent\";\n OrderStrategyType[\"Trailing\"] = \"Trailing\";\n OrderStrategyType[\"OneCancelsOther\"] = \"OneCancelsOther\";\n OrderStrategyType[\"Stock\"] = \"Stock\";\n OrderStrategyType[\"Bond\"] = \"Bond\";\n OrderStrategyType[\"MutualFund\"] = \"MutualFund\";\n OrderStrategyType[\"CoveredPut\"] = \"CoveredPut\";\n OrderStrategyType[\"MarriedCall\"] = \"MarriedCall\";\n OrderStrategyType[\"Call\"] = \"Call\";\n OrderStrategyType[\"Put\"] = \"Put\";\n OrderStrategyType[\"CallButterfly\"] = \"CallButterfly\";\n OrderStrategyType[\"PutButterfly\"] = \"PutButterfly\";\n OrderStrategyType[\"CallCondor\"] = \"CallCondor\";\n OrderStrategyType[\"PutCondor\"] = \"PutCondor\";\n})(OrderStrategyType || (OrderStrategyType = {}));","export var OrderStatuses = {\n /// \n /// Order is live. Cannot be set by user.\n /// \n New: 1,\n /// \n /// Order is still live and is partially filled. Cannot be set by user.\n /// \n PartiallyFilled: 2,\n /// \n /// Order is done and completely filled. Cannot be set by user.\n /// \n Filled: 3,\n DoneForDay: 4,\n /// \n /// Order is done and cancelled. Cannot be set by user.\n /// \n Cancelled: 5,\n /// \n /// Order is live and has been replaced. Cannot be set by user.\n /// \n Replaced: 6,\n /// \n /// Cancel request has been received by the exchange and is pending to receive a response status. Cannot be set by user.\n /// \n PendingCancel: 7,\n /// \n /// Last request received for the given order by the exchange was rejected. Cannot be set by user.\n /// \n Rejected: 9,\n /// \n /// New order request has been received by the exchange and is pending to receive a response status. Cannot be set by user.\n /// \n PendingNew: 11,\n /// \n /// Not used\n /// \n Expired: 13,\n /// \n /// Replace order request has been received by the exchange and is pending to receive a response status. Cannot be set by user.\n /// \n PendingReplace: 14,\n /// \n /// Order details are saved internally to be used at a future time. Not sent to the exchange.\n /// \n Saved: 15,\n /// \n /// New order request that has not yet been sent to the exchange.\n /// \n Initiated: 20,\n /// \n /// Replace order request that has not yet been sent to the exchange.\n /// \n ReplaceInitiated: 21,\n /// \n /// Cancel order request that has not yet been sent to the exchange.\n /// \n CancelInitiated: 22,\n /// \n /// Cancel order request has been rejected by the exchange. Cannot be set by user.\n /// \n CancelRejected: 23,\n /// \n /// Replace order request has been rejected by the exchange. Cannot be set by user.\n /// \n ReplaceRejected: 24,\n /// \n /// Order has been acknowledged by the exchange and is pending to be sent to the market. Cannot be set by user.\n /// \n Acknowledged: 27,\n /// \n /// Order has been partially filled by the exchange and then subsequently cancelled by the user.\n /// \n PartiallyCancelled: 28\n};","export var ExpiredTokenCode;\n\n(function (ExpiredTokenCode) {\n ExpiredTokenCode[ExpiredTokenCode[\"Unknown\"] = 0] = \"Unknown\";\n ExpiredTokenCode[ExpiredTokenCode[\"Inactivity\"] = 1] = \"Inactivity\";\n ExpiredTokenCode[ExpiredTokenCode[\"Expired\"] = 2] = \"Expired\";\n ExpiredTokenCode[ExpiredTokenCode[\"ApiTokenExpired\"] = 3] = \"ApiTokenExpired\";\n ExpiredTokenCode[ExpiredTokenCode[\"DuplicateLogin\"] = 10] = \"DuplicateLogin\";\n ExpiredTokenCode[ExpiredTokenCode[\"Logout\"] = 11] = \"Logout\";\n})(ExpiredTokenCode || (ExpiredTokenCode = {}));","export var State;\n\n(function (State) {\n State[\"Alabama\"] = \"AL\";\n State[\"Alaska\"] = \"AK\";\n State[\"Arizona\"] = \"AZ\";\n State[\"Arkansas\"] = \"AR\";\n State[\"California\"] = \"CA\";\n State[\"Colorado\"] = \"CO\";\n State[\"Connecticut\"] = \"CT\";\n State[\"Delaware\"] = \"DE\";\n State[\"DistrictOfColumbia\"] = \"DC\";\n State[\"Florida\"] = \"FL\";\n State[\"Georgia\"] = \"GA\";\n State[\"Hawaii\"] = \"HI\";\n State[\"Idaho\"] = \"ID\";\n State[\"Illinois\"] = \"IL\";\n State[\"Indiana\"] = \"IN\";\n State[\"Iowa\"] = \"IA\";\n State[\"Kansas\"] = \"KS\";\n State[\"Kentucky\"] = \"KY\";\n State[\"Louisiana\"] = \"LA\";\n State[\"Maine\"] = \"ME\";\n State[\"Maryland\"] = \"MD\";\n State[\"Massachusetts\"] = \"MA\";\n State[\"Michigan\"] = \"MI\";\n State[\"Minnesota\"] = \"MN\";\n State[\"Mississippi\"] = \"MS\";\n State[\"Missouri\"] = \"MO\";\n State[\"Montana\"] = \"MT\";\n State[\"Nebraska\"] = \"NE\";\n State[\"Nevada\"] = \"NV\";\n State[\"NewHampshire\"] = \"NH\";\n State[\"NewJersey\"] = \"NJ\";\n State[\"NewMexico\"] = \"NM\";\n State[\"NewYork\"] = \"NY\";\n State[\"NorthCarolina\"] = \"NC\";\n State[\"NorthDakota\"] = \"ND\";\n State[\"Ohio\"] = \"OH\";\n State[\"Oklahoma\"] = \"OK\";\n State[\"Oregon\"] = \"OR\";\n State[\"Pennsylvania\"] = \"PA\";\n State[\"RhodeIsland\"] = \"RI\";\n State[\"SouthCarolina\"] = \"SC\";\n State[\"SouthDakota\"] = \"SD\";\n State[\"Tennessee\"] = \"TN\";\n State[\"Texas\"] = \"TX\";\n State[\"Utah\"] = \"UT\";\n State[\"Vermont\"] = \"VT\";\n State[\"Virginia\"] = \"VA\";\n State[\"Washington\"] = \"WA\";\n State[\"WestVirginia\"] = \"WV\";\n State[\"Wisconsin\"] = \"WI\";\n State[\"Wyoming\"] = \"WY\";\n})(State || (State = {}));\n\nexport var AllStates = [State.Alabama, State.Alaska, State.Arizona, State.Arkansas, State.California, State.Colorado, State.Connecticut, State.Delaware, State.DistrictOfColumbia, State.Florida, State.Georgia, State.Hawaii, State.Idaho, State.Illinois, State.Indiana, State.Iowa, State.Kansas, State.Kentucky, State.Louisiana, State.Maine, State.Maryland, State.Massachusetts, State.Michigan, State.Minnesota, State.Mississippi, State.Missouri, State.Montana, State.Nebraska, State.Nevada, State.NewHampshire, State.NewJersey, State.NewMexico, State.NewYork, State.NorthCarolina, State.NorthDakota, State.Ohio, State.Oklahoma, State.Oregon, State.Pennsylvania, State.RhodeIsland, State.SouthCarolina, State.SouthDakota, State.Tennessee, State.Texas, State.Utah, State.Vermont, State.Virginia, State.Washington, State.WestVirginia, State.Wisconsin, State.Wyoming];","export var SymbolTypes = {\n index: 'index',\n stock: 'stock'\n};","/* eslint-disable @typescript-eslint/camelcase */\nimport _ from 'lodash';\nexport var SuccessResponseCode = 0;\nexport var APINotAuthorizedResponseCode = 200;\nexport var APIAgreementResponseCode = 202;\nexport var APIAgreementResponseUpdateCode = 207;\nexport var NoAvailableSecurityChallengesResponseCode = 208;\nexport var SecurityChallengeFailedResponseCode = 209;\nexport var GenericErrorResponseCode = 99;\nexport var ApplicationDuplicateUsernameResponseCode = 600;\nexport var ApplicationDuplicateAccountTypeSSNResponseCode = 211;\nexport var ResponseCodes = {\n 0: {\n name: 'Success',\n description: 'Request was successful'\n },\n 98: {\n name: 'InvalidRequestParameters',\n description: 'One or more request parameters are invalid for this type of request'\n },\n 99: {\n name: 'GenericError',\n description: 'Generic failure response for request'\n },\n 100: {\n name: 'IncorrectUserOrPass',\n description: 'Username or password supplied when logging in was incorrect'\n },\n 101: {\n name: 'FailedToDecryptUserPass',\n description: 'Password supplied could not be decrypted'\n },\n 102: {\n name: 'FailedToDecryptMessage',\n description: 'Message supplied could not be decrypted'\n },\n 103: {\n name: 'IncorrectEntity',\n description: 'Entity name supplied is incorrect'\n },\n 104: {\n name: 'ExpiredRequest',\n description: 'Timestamp in login request is expired'\n },\n 105: {\n name: 'FailedToParsePayload',\n description: 'Could not parse payload into correct parts'\n },\n 106: {\n name: 'MessageIsNull',\n description: 'Message supplied was null'\n },\n 107: {\n name: 'FailedToSplitMessage',\n description: 'Could not split message into required JWS parts'\n },\n 108: {\n name: 'FailedToDecodeHeader',\n description: 'Could not decode header in JWS'\n },\n 109: {\n name: 'FailedToDecodePayload',\n description: 'Could not decode payload in JWS'\n },\n 110: {\n name: 'TooManyFailedLoginAttempts',\n description: 'There were too many unsuccessful login attempts for the given user'\n },\n 111: {\n name: 'EndUserPasswordDoesNotMeetSecurityRequirements',\n description: \"End user's password does not meet our current security requirements; password needs to be changed\"\n },\n 112: {\n name: 'EndUserPasswordIsTemporaryAndNeedsToBeChanged',\n description: \"End user's password is a temporary password; password needs to be changed\"\n },\n 113: {\n name: 'EndUserPasswordIsExpired',\n description: 'Your password has expired as part of our annual security measures to keep your account safe. Please click the \"Reset password\" button below and follow the on-screen instructions to set a new password.'\n },\n 114: {\n name: 'EndUserHasNoSecurityQuestions',\n description: 'Please contact Account Services at 1-800-494-0451 to reset your login credentials.'\n },\n 115: {\n name: 'FailedToChangePassword',\n description: \"Failed to change user's password. Please contact Account Services at 1-800-494-0451 for more assistance.\"\n },\n 116: {\n name: 'FailedToRegisterForNoPass',\n description: \"Failed to register for NoPass. Please contact Account Services at 1-800-494-0451 for more assistance.\"\n },\n 117: {\n name: 'FailedToLoginViaNoPass',\n description: \"Failed to login via NoPass. Please contact Account Services at 1-800-494-0451 for more assistance.\"\n },\n 118: {\n name: 'UserAlreadyRegisteredForNoPass',\n description: \"User is already registered for NoPass. Please register with another user.\"\n },\n 119: {\n name: 'AuthTokenDestructureFailed',\n description: 'Auth token destructure failed.'\n },\n 200: {\n name: 'APINotAuthorizedForGivenRequest',\n description: 'API not authorized for given request'\n },\n 201: {\n name: 'UserHasAccessToZeroAccounts',\n description: 'User does not have visibility to see any accounts'\n },\n 202: {\n name: 'APIAgreementMissing',\n description: 'API Agreement is missing'\n },\n 203: {\n name: 'AccountDoesNotHaveApiAgreement',\n description: 'Please login to accept the API Agreement(s)'\n },\n 204: {\n name: 'MustSpecifySpecificAccountId',\n description: 'User has visibility to multiple accounts, but no specific account was specified in the request.'\n },\n 205: {\n name: 'MustSpecifySpecificSubaccountId',\n description: 'Account has multiple subaccounts but no specific subaccount was specified in the request'\n },\n 206: {\n name: 'SubaccountIsNotOwnedBySpecifiedAccount',\n description: 'Subaccount specified in the request does not belong to the given account supplied in the request'\n },\n 207: {\n name: 'AgreementMissing',\n description: 'Agreement is missing'\n },\n 208: {\n name: 'NoAvailableSecurityChallenges',\n description: 'All security challenges have been marked as failed.'\n },\n 209: {\n name: 'SecurityChallengeFailedVerification',\n description: 'Security challenge verification failed.'\n },\n 210: {\n name: 'FailedCognitoIdTokenValidation',\n description: 'Cognito generated IdToken failed validation or missing required claims.'\n },\n 211: {\n name: 'ApplicationDuplicateAccountTypeSSN',\n description: 'An account with this account type and SSN already exists. Please change the account type or reach out to Account Services at 1-800-494-0451.'\n },\n 212: {\n name: 'MasterSubaccountCannotBeCreatedOrDeleted',\n description: 'Trying to delete a reserved main subaccount or the account is a master account.'\n },\n 213: {\n name: 'AcctSuffixMaxLengthIs3Chars',\n description: 'Account suffix for creating subaccounts must be 3 length or less.'\n },\n 214: {\n name: 'SubaccountDeleted',\n description: 'Subaccount is deleted.'\n },\n 215: {\n name: 'SubaccountDeleteNotAllowed',\n description: 'This subaccount cannot be deleted.'\n },\n 216: {\n name: 'SubaccountDoesNotExist',\n description: 'Subaccount does not exist.'\n },\n 217: {\n name: 'NicknameMaxLengthIs15Chars',\n description: 'Nickname length must be length 15 or less.'\n },\n 218: {\n name: 'SuffixAlreadyExists',\n description: 'Suffix already exists.'\n },\n 219: {\n name: 'NicknameAlreadyExists',\n description: 'Nickname already exists.'\n },\n 220: {\n name: 'DescriptionLengthIsMoreThan150Chars',\n description: 'Description is too long. 150 or less characters maximum.'\n },\n 221: {\n name: 'SuffixUpdateByUserNotAllowed',\n description: 'Suffix update not allowed by this user.'\n },\n 300: {\n name: 'Order error',\n description: function description(message) {\n return message;\n }\n },\n 301: {\n name: 'Margin check error',\n description: function description(message) {\n return _.replace(message, 'Margin check error.', '');\n }\n },\n 302: {\n name: 'Restricted symbol',\n description: 'This symbol is currently not allowed for trading.'\n },\n 303: {\n name: 'InvalidOrderId',\n description: 'OrderId supplied is invalid.'\n },\n 304: {\n name: 'OrderNotFound',\n description: 'Order could not be found by the given OrderId.'\n },\n 305: {\n name: 'Order placement error',\n description: 'Order Validation Error'\n },\n 306: {\n name: 'SubaccountTradeWillResultInNegativeCashBalance',\n description: 'The subaccount trade will result in a negative CashBalance'\n },\n 307: {\n name: 'Leveraged, Inverse, or Commodity ETF Warning',\n description: \"Warning: Leveraged, Inverse, and Commodity ETFs carry unique risks and may not be suitable for all investors. CLICK HERE to learn more. To proceed, click \\\"Bypass Warnings\\\".\"\n },\n 308: {\n name: 'OrderIsInPendingState',\n description: 'The order is in a pending state'\n },\n 390: {\n name: 'Insufficient Funds',\n description: 'Insufficient funds to complete the requested operation.'\n },\n 500: {\n name: 'AchRelationshipNotFound',\n description: 'The requested ACH relationship was not found.'\n },\n 501: {\n name: 'AchRelationshipIsInInvalidStateForOperation',\n description: 'The requested ACH relationship is in a State that is invalid for the requested operation.'\n },\n 502: {\n name: 'AchRelationshipApprovalMethodMismatch',\n description: 'The Approval Method specified in the operation does not match the Approval Method of the ACH relationship. Only MicroDeposit is currently supported.'\n },\n 503: {\n name: 'TransferBeneficiaryNotFound',\n description: 'The requested transfer beneficiary was not found.'\n },\n 505: {\n name: 'TransferRecipientBankNotFound',\n description: 'The requested transfer recipient bank was not found.'\n },\n 506: {\n name: 'TransferNotFound',\n description: 'The requested transfer was not found.'\n },\n 507: {\n name: 'TransferIsInInvalidStateForOperation',\n description: 'The requested transfer is in a State that is invalid for the requested operation.'\n },\n 508: {\n name: 'CashieringRequestFailedValidation',\n description: 'The Cashiering request failed validation.'\n },\n 509: {\n name: 'TransferBeneficiaryMechanismMismatch',\n description: 'The transfer beneficiary Mechanism specified in the operation does not match the Mechanism of the transfer.'\n },\n 510: {\n name: 'TransferApprovalWithUnapprovedAchRelationshipFailed',\n description: 'Cannot approve this transfer as it has an unapproved ACH relationship. First approve the relationship before attempting to approve the transfer.'\n },\n 511: {\n name: 'AchRelationshipDuplicate',\n description: 'This ACH relationship is a duplicate of an existing relationship.'\n },\n 512: {\n name: 'AchRelationshipDeleteWithPendingTransfersFailed',\n description: 'Cannot delete this ACH relationship as it has pending transfers. Remove those first, before attempting to delete the relationship.'\n },\n 513: {\n name: 'TransferRecipientBankIsInInvalidStateForOperation',\n description: 'The transfer recipient bank referenced by the transfer is in a State that is invalid for the requested operation.'\n },\n 514: {\n name: 'TransferWireInstructionNotFound',\n description: 'The requested transfer wire instruction was not found.'\n },\n 515: {\n name: 'TransferWireInstructionIsInInvalidStateForOperation',\n description: 'The transfer wire instruction referenced by the transfer is in a State that is invalid for the requested operation.'\n },\n 516: {\n name: 'AchRelationshipAccountIsInInvalidStateForOperation',\n description: 'The account referenced by the ACH relationship is in a State that is invalid for the requested operation.'\n },\n 517: {\n name: 'AlertMessageNotFound',\n description: 'The requested alert message was not found.'\n },\n 518: {\n name: 'DuplicateAlertMessage',\n description: 'An alert message already exists.'\n },\n 545: {\n name: 'TransferIntermediaryNotFound',\n description: 'The requested transfer intermediary was not found.'\n },\n 550: {\n name: 'ApexSentinelServiceFailed',\n description: 'The Apex Sentinel service failed while processing the operation.'\n },\n 551: {\n name: 'PlaidServiceFailedTheOperation',\n description: 'The Plaid service failed the requested operation.'\n },\n 552: {\n name: 'RqdCashieringServiceFailedTheOperation',\n description: 'The RQD Cashiering service failed the requested operation.'\n },\n 553: {\n name: 'RqdBalancesServiceFailedTheOperation',\n description: 'The RQD Balances service failed the requested operation.'\n },\n 600: {\n name: 'ApplicationDuplicateUsername',\n description: 'The Username you entered is already being used.'\n },\n 700: {\n name: 'DocumentMetaDataNotFound',\n description: 'The requested document meta-data was not found.'\n },\n 701: {\n name: 'UnsupportedDocumentFileFormat',\n description: 'Unsupported document file format. Only JPEG, GIF, PNG and PDF are supported.'\n },\n 702: {\n name: 'MiscellaneousFileUploadError',\n description: 'The file upload failed.'\n },\n 703: {\n name: 'TooManyUploadsForDocument',\n description: 'Too many uploads of the same document.'\n },\n 704: {\n name: 'DocumentNotFound',\n description: 'The requested document dat not found.'\n }\n};","import * as yup from 'yup';\nvar DashboardInfoSchemaFields = {\n dashboardId: yup.string(),\n title: yup.string(),\n isDeleted: yup.boolean().notRequired(),\n dataLastFetchedOn: yup.date().notRequired()\n};\nexport var LayoutSchemaFields = {\n i: yup.string().notRequired(),\n x: yup.number(),\n y: yup.number(),\n w: yup.number(),\n h: yup.number(),\n minW: yup.number().notRequired(),\n maxW: yup.number().notRequired(),\n minH: yup.number().notRequired(),\n maxH: yup.number().notRequired(),\n\n /**\n * set by DragEvents (onDragStart, onDrag, onDragStop) and ResizeEvents (onResizeStart, onResize, onResizeStop)\n */\n moved: yup.boolean().notRequired(),\n\n /**\n * If true, equal to `isDraggable: false` and `isResizable: false`.\n */\n static: yup.boolean().notRequired(),\n\n /**\n * If false, will not be draggable. Overrides `static`.\n */\n isDraggable: yup.boolean().notRequired(),\n\n /**\n * If false, will not be resizable. Overrides `static`.\n */\n isResizable: yup.boolean().notRequired()\n};\nvar DashboardConfigurationSchemaFields = Object.assign({}, DashboardInfoSchemaFields, {\n presetBlocks: yup.array().notRequired()\n});\nvar UiSettingsSchemaFields = {\n afterHoursTrading: yup.boolean(),\n muteAllSounds: yup.boolean(),\n showBannerSymbols: yup.boolean(),\n bannerSymbols: yup.array(),\n balancePollingThrottleMs: yup.number(),\n cashieringPollingIntervalMs: yup.number(),\n cashieringPollingInterval: yup.number(),\n cashieringPendingReminderInterval: yup.number(),\n cashieringPendingReminderMaxAttempts: yup.number(),\n gridColumnsLarge: yup.number(),\n gridColumnsMedium: yup.number(),\n gridColumnsSmall: yup.number(),\n hotkeys: yup.boolean(),\n width: yup.number()\n};\nexport var DashboardInfoSchema = yup.object(DashboardInfoSchemaFields);\nexport var DashboardConfigurationSchema = yup.object(DashboardConfigurationSchemaFields);\nexport var LayoutSchema = yup.object(LayoutSchemaFields);\nexport var UiSettingsSchema = yup.object(UiSettingsSchemaFields); // export type DashboardInfo = yup.InferType;\n// export type DashboardConfiguration = yup.InferType;\n// export type Layout = yup.InferType;\n// export type UiSettings = yup.InferType;","import * as yup from 'yup';\nimport { BlockTypeValues } from '../enums';\nimport { LayoutSchemaFields } from './dashboard';\nvar BlockInfoSchemaFields = {\n blockId: yup.string().required(),\n groupId: yup.string().required()\n};\nvar TabOptionsSchemaFields = {\n title: yup.string(),\n active: yup.boolean().notRequired()\n};\nvar BlockSchemaFields = Object.assign({}, BlockInfoSchemaFields, {\n type: yup.mixed().oneOf(BlockTypeValues).required(),\n title: yup.string().notRequired(),\n subscriptions: yup.object({\n quotes: yup.array()\n }).notRequired(),\n tabs: yup.array().notRequired()\n});\nvar BlockLayoutsSchemaFields = {\n lg: yup.object(LayoutSchemaFields).notRequired(),\n md: yup.object(LayoutSchemaFields).notRequired(),\n sm: yup.object(LayoutSchemaFields).notRequired(),\n xs: yup.object(LayoutSchemaFields).notRequired(),\n xxs: yup.object(LayoutSchemaFields).notRequired()\n};\nvar BlockConfigurationSchemaFields = Object.assign({}, BlockSchemaFields, {\n layouts: yup.object(BlockLayoutsSchemaFields).notRequired(),\n data: yup.mixed().notRequired(),\n options: yup.object({\n autoFocus: yup.boolean().notRequired()\n }).notRequired()\n});\nvar BlockGroupSchemaFields = {\n groupId: yup.string(),\n symbol: yup.mixed().notRequired()\n};\nexport var BlockInfoSchema = yup.object(BlockInfoSchemaFields);\nexport var TabOptionsSchema = yup.object(TabOptionsSchemaFields);\nexport var BlockSchema = yup.object(BlockSchemaFields);\nexport var BlockLayoutsSchema = yup.object(BlockLayoutsSchemaFields);\nexport var BlockConfigurationSchema = yup.object(BlockConfigurationSchemaFields);\nexport var BlockGroupSchema = yup.object(BlockGroupSchemaFields); // export type BlockInfo = yup.InferType;\n// export type TabOptions = yup.InferType;\n// export type Block = yup.InferType;\n// export type BlockLayouts = yup.InferType;\n// export type BlockConfiguration = yup.InferType;\n// export type BlockGroup = yup.InferType;","import * as yup from 'yup';\nvar AssetSymbolSchemaFields = {\n name: yup.string(),\n symbol: yup.string(),\n provider: yup.string()\n}; // const Schemas = {\n// OrderAction: yup.number().oneOf([OrderAction.Buy, OrderAction.Sell]),\n// PositionEffect: yup.number().oneOf([PositionEffect.Open, PositionEffect.Close]),\n// };\n\nexport var AssetSymbolSchema = yup.object(AssetSymbolSchemaFields); // export type AssetSymbol = yup.InferType;","import * as yup from 'yup';\nimport { BlockConfigurationSchema } from '.';\nimport { BlockGroupSchema } from './block';\nimport { DashboardInfoSchema, UiSettingsSchema } from './dashboard';\nexport var DashboardDbValueSchema = yup.array().of(DashboardInfoSchema);\nexport var BlockGridDbValueSchema = yup.object({\n blocks: yup.array().of(BlockConfigurationSchema),\n groups: yup.array().of(BlockGroupSchema)\n});\nexport var UiSettingsDbValueSchema = UiSettingsSchema;","export var StateSync;\n\n(function (StateSync) {\n StateSync[\"SIGNOUT\"] = \"syncSignout\";\n StateSync[\"EXPIRATION\"] = \"syncExpiration\";\n})(StateSync || (StateSync = {}));","import { OrderActionDirection } from '.'; // export enum TradingStrategyRisk {\n// Price,\n// ValueOfStrike,\n// DifferencesBetweenStrikes,\n// ValueOfBiggestStrike,\n// ValueOfSmallestStrike,\n// Infinite,\n// }\n\nexport var ExpirationRules;\n\n(function (ExpirationRules) {\n ExpirationRules[ExpirationRules[\"SameExpiry\"] = 1] = \"SameExpiry\";\n ExpirationRules[ExpirationRules[\"DifferentExpiries\"] = 2] = \"DifferentExpiries\";\n ExpirationRules[ExpirationRules[\"BuyWithLaterSellWithSooner\"] = 3] = \"BuyWithLaterSellWithSooner\";\n})(ExpirationRules || (ExpirationRules = {}));\n\nexport var DirectionRules;\n\n(function (DirectionRules) {\n DirectionRules[DirectionRules[\"DifferentDirections\"] = 0] = \"DifferentDirections\";\n DirectionRules[DirectionRules[\"SameDirections\"] = 1] = \"SameDirections\";\n DirectionRules[DirectionRules[\"Butterfly\"] = 2] = \"Butterfly\";\n DirectionRules[DirectionRules[\"Condor\"] = 3] = \"Condor\";\n DirectionRules[DirectionRules[\"Iron\"] = 4] = \"Iron\";\n})(DirectionRules || (DirectionRules = {}));\n\nexport var StrikeRules;\n\n(function (StrikeRules) {\n StrikeRules[StrikeRules[\"DifferentStrikes\"] = 1] = \"DifferentStrikes\";\n StrikeRules[StrikeRules[\"DifferentStrikesDescending\"] = 2] = \"DifferentStrikesDescending\";\n StrikeRules[StrikeRules[\"EquidistantStrikes\"] = 3] = \"EquidistantStrikes\";\n StrikeRules[StrikeRules[\"SameStrikes\"] = 4] = \"SameStrikes\";\n StrikeRules[StrikeRules[\"CallHigherThanPut\"] = 5] = \"CallHigherThanPut\";\n StrikeRules[StrikeRules[\"IncreasingOrder\"] = 6] = \"IncreasingOrder\";\n StrikeRules[StrikeRules[\"DecreasingOrder\"] = 7] = \"DecreasingOrder\";\n StrikeRules[StrikeRules[\"CallFirstPutsSecond\"] = 8] = \"CallFirstPutsSecond\";\n StrikeRules[StrikeRules[\"LowestCallEqualsHighestPut\"] = 9] = \"LowestCallEqualsHighestPut\";\n StrikeRules[StrikeRules[\"LowestCallGreaterThanHighestPut\"] = 10] = \"LowestCallGreaterThanHighestPut\";\n StrikeRules[StrikeRules[\"EquidistantStrikesByTwos\"] = 11] = \"EquidistantStrikesByTwos\";\n StrikeRules[StrikeRules[\"IronCondor\"] = 12] = \"IronCondor\";\n StrikeRules[StrikeRules[\"IronButterfly\"] = 13] = \"IronButterfly\";\n StrikeRules[StrikeRules[\"Any\"] = 14] = \"Any\";\n})(StrikeRules || (StrikeRules = {}));","export var QuoteFeedType = 10;\nexport var SpreadFeedType = 11;\nexport var OrderUpdateFeedType = 13;\nexport var BarUpdateFeedType = 14;\nexport var SpreadType;\n\n(function (SpreadType) {\n SpreadType[SpreadType[\"Custom\"] = 0] = \"Custom\";\n SpreadType[SpreadType[\"Vertical\"] = 2] = \"Vertical\";\n SpreadType[SpreadType[\"Calendar\"] = 3] = \"Calendar\";\n SpreadType[SpreadType[\"Butterfly\"] = 4] = \"Butterfly\";\n SpreadType[SpreadType[\"Condor\"] = 5] = \"Condor\";\n SpreadType[SpreadType[\"CoveredCall\"] = 6] = \"CoveredCall\";\n SpreadType[SpreadType[\"IronCondor\"] = 7] = \"IronCondor\";\n SpreadType[SpreadType[\"IronButterfly\"] = 8] = \"IronButterfly\";\n SpreadType[SpreadType[\"Straddle\"] = 9] = \"Straddle\";\n SpreadType[SpreadType[\"Strangle\"] = 10] = \"Strangle\";\n SpreadType[SpreadType[\"MarriedPut\"] = 11] = \"MarriedPut\";\n SpreadType[SpreadType[\"CoveredPut\"] = 12] = \"CoveredPut\";\n SpreadType[SpreadType[\"MarriedCall\"] = 13] = \"MarriedCall\"; // Collar = 14,\n\n SpreadType[SpreadType[\"Conversion\"] = 15] = \"Conversion\";\n})(SpreadType || (SpreadType = {})); // export interface Spread\n// {\n// Leg[] Legs { get; set; }\n// public double Bid { get; set; }\n// public double Ask { get; set; }\n// public double Last { get; set; }\n// public double Change { get; set; }\n// public SpreadType Type { get; set; }\n// public DateTime SpreadTime { get; set; }\n// }","export var UIClientTypes = {\n application: 'application',\n dashboard: 'dashboard',\n mobile: 'mobile'\n};","import _defineProperty from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport _ from 'lodash';\nimport { LanguageType, DefaultLanguageKeys } from '../Language';\nimport englishErrors from './en/errors.json';\nimport englishFields from './en/fields.json';\nimport englishPages from './en/pages.json';\nvar protectedTranslationKeys = ['description'];\n\nvar getTranslationsData = function getTranslationsData(pagesTranslations, fieldsTranslations, errorsTranslations) {\n return {\n errors: formatTranslationsData(errorsTranslations, DefaultLanguageKeys.Error),\n fields: formatTranslationsData(fieldsTranslations, DefaultLanguageKeys.Label),\n pages: formatTranslationsData(pagesTranslations, DefaultLanguageKeys.Text)\n };\n};\n\nvar formatTranslationsData = function formatTranslationsData(data, expandedKey) {\n return _.reduce(data, function (acc, val, key) {\n if (key === expandedKey || _.includes(protectedTranslationKeys, key)) {\n acc[key] = val;\n } else if (_.isString(val)) {\n acc[key] = _defineProperty({}, expandedKey, val);\n } else {\n // recurse\n acc[key] = formatTranslationsData(val, expandedKey);\n }\n\n return acc;\n }, {});\n};\n\nvar en = getTranslationsData(englishPages, englishFields, englishErrors);\nexport var AllLanguageTypes = [LanguageType.English, LanguageType.Spanish, LanguageType.Chinese];\nexport var allTranslations = {\n en: en,\n es: en,\n zh: en\n};\nexport var getLocalizeOptions = function getLocalizeOptions(languageTypes) {\n var languageNamesByKey = _.reduce(_.mapValues(LanguageType, function (l) {\n return l;\n }), function (acc, l, n) {\n acc[l] = n;\n return acc;\n }, {});\n\n return {\n languages: _.map(languageTypes, function (code) {\n return {\n code: code,\n name: languageNamesByKey[code]\n };\n }),\n options: {\n renderInnerHtml: true,\n renderToStaticMarkup: renderToStaticMarkup\n }\n };\n};","var TradingBlockLegacyUrlEnum;\n\n(function (TradingBlockLegacyUrlEnum) {\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"AchRelationshipPdfApplicationUrl\"] = 0] = \"AchRelationshipPdfApplicationUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"TB_CRS\"] = 1] = \"TB_CRS\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"MB_CRS\"] = 2] = \"MB_CRS\"; // CustomerServiceUrl,\n\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"ETFDisclosureUrl\"] = 3] = \"ETFDisclosureUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"LegacySiteHomeUrl\"] = 4] = \"LegacySiteHomeUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"LegacySiteLoginUrl\"] = 5] = \"LegacySiteLoginUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"LegacySitePwdResetUrl\"] = 6] = \"LegacySitePwdResetUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"RiskDisclosuresUrl\"] = 7] = \"RiskDisclosuresUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"RisksOfOptionsUrl\"] = 8] = \"RisksOfOptionsUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"RisksOfDayTradingUrl\"] = 9] = \"RisksOfDayTradingUrl\";\n TradingBlockLegacyUrlEnum[TradingBlockLegacyUrlEnum[\"ServicesAgreementUrl\"] = 10] = \"ServicesAgreementUrl\";\n})(TradingBlockLegacyUrlEnum || (TradingBlockLegacyUrlEnum = {}));\n\nvar TradingBlockUrlEnum;\n\n(function (TradingBlockUrlEnum) {\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"HomeUrl\"] = 0] = \"HomeUrl\";\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"VideoTourUrl\"] = 1] = \"VideoTourUrl\";\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"CustomerServiceUrl\"] = 2] = \"CustomerServiceUrl\";\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"OpenNewAccountUrl\"] = 3] = \"OpenNewAccountUrl\";\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"TBFeesUrl\"] = 4] = \"TBFeesUrl\";\n TradingBlockUrlEnum[TradingBlockUrlEnum[\"MBFeesUrl\"] = 5] = \"MBFeesUrl\";\n})(TradingBlockUrlEnum || (TradingBlockUrlEnum = {})); // these urls are currently hosted on the legacy site\n\n\nexport var TradingBlockLegacyUrlsLookup = {\n AchRelationshipPdfApplicationUrl: '/admin/forms/apex/cashiering/ACH_Application.pdf',\n TB_CRS: '/Docs/Agreements/tb/AOS_TradingBlock_Form_CRS.pdf',\n MB_CRS: '/Docs/Agreements/mb/AOS_MoneyBlock_Form_CRS.pdf',\n ETFDisclosureUrl: '/Docs/Agreements/Leveraged_Inverse_Commodity_ETF_Disclosure.pdf',\n LegacySiteHomeUrl: '/default.aspx',\n LegacySiteLoginUrl: '/account/securitieslogin.aspx',\n LegacySitePwdResetUrl: '/account/passwordresetlogin.aspx',\n RiskDisclosuresUrl: '/account/riskanddisclosures.aspx',\n RisksOfOptionsUrl: '/docs/agreements/riskstoc.pdf',\n RisksOfDayTradingUrl: '/account/disclosureview.aspx',\n ServicesAgreementUrl: '/docs/agreements/Online_Services_Agreement_v1.4_20140713.pdf'\n};\nexport var TradingBlockUrlsLookup = Object.assign({}, TradingBlockLegacyUrlsLookup, {\n HomeUrl: '/',\n VideoTourUrl: '/videos',\n CustomerServiceUrl: '/contact',\n OpenNewAccountUrl: '',\n TBFeesUrl: '/pricing-policies',\n MBFeesUrl: '/policies'\n});","export var UserProfileLevel;\n\n(function (UserProfileLevel) {\n UserProfileLevel[\"Undefined\"] = \"Undefined\";\n UserProfileLevel[\"Admin\"] = \"Admin\";\n UserProfileLevel[\"Firm\"] = \"Firm\";\n UserProfileLevel[\"Region\"] = \"Region\";\n UserProfileLevel[\"Branch\"] = \"Branch\";\n UserProfileLevel[\"Rep\"] = \"Rep\";\n UserProfileLevel[\"Account\"] = \"Account\";\n})(UserProfileLevel || (UserProfileLevel = {}));\n\nexport var UserRole;\n\n(function (UserRole) {\n UserRole[\"CashieringApproval\"] = \"CashieringApproval\";\n UserRole[\"AccountManagementApproval\"] = \"AccountManagementApproval\";\n UserRole[\"AccountApprovalFIB\"] = \"AccountApprovalFIB\";\n UserRole[\"AccountApprovalGSP\"] = \"AccountApprovalGSP\";\n UserRole[\"AccountApprovalREP\"] = \"AccountApprovalREP\";\n UserRole[\"AccountApprovalROP\"] = \"AccountApprovalROP\";\n UserRole[\"ManageCommissionCodes\"] = \"ManageCommissionCodes\";\n UserRole[\"BypassMarginCheck\"] = \"BypassMarginCheck\";\n})(UserRole || (UserRole = {}));\n\nexport var SecurityQuestionType;\n\n(function (SecurityQuestionType) {\n SecurityQuestionType[\"BirthCity\"] = \"birth-city\";\n SecurityQuestionType[\"ChildhoodFutureJobWish\"] = \"childhood-future-job-wish\";\n SecurityQuestionType[\"ChildhoodPetName\"] = \"childhood-pet-name\";\n SecurityQuestionType[\"DriversLicenseLast4\"] = \"drivers-license-last-4\";\n SecurityQuestionType[\"FathersMiddleName\"] = \"fathers-middle-name\";\n SecurityQuestionType[\"FavoriteBook\"] = \"favorite-book\";\n SecurityQuestionType[\"FavoriteSportsTeam\"] = \"favorite-sports-team\";\n SecurityQuestionType[\"MothersMaidenName\"] = \"mothers-maiden-name\";\n SecurityQuestionType[\"PaternalGrandmothersFirstName\"] = \"paternal-grandmothers-first-name\";\n})(SecurityQuestionType || (SecurityQuestionType = {}));\n\nexport var MarketDataEntitlementTypeId;\n\n(function (MarketDataEntitlementTypeId) {\n MarketDataEntitlementTypeId[MarketDataEntitlementTypeId[\"ProfessionalUser\"] = 1] = \"ProfessionalUser\";\n MarketDataEntitlementTypeId[MarketDataEntitlementTypeId[\"NonProfessionalUser\"] = 2] = \"NonProfessionalUser\";\n MarketDataEntitlementTypeId[MarketDataEntitlementTypeId[\"DelayedQuotesOnlyUser\"] = 3] = \"DelayedQuotesOnlyUser\";\n})(MarketDataEntitlementTypeId || (MarketDataEntitlementTypeId = {}));","import _ from 'lodash';\nimport { AllCountries } from './Country';\nimport { AcceptedCountries } from './constants';\nexport function strEnum(o) {\n return o.reduce(function (res, key) {\n res[key] = key;\n return res;\n }, Object.create(null));\n}\nexport var isCustomStrategy = function isCustomStrategy(value) {\n return typeof value === 'string' ? value === 'Custom' : value.info.Name === 'Custom';\n};\nexport var isKnownStrategyType = function isKnownStrategyType(value) {\n return isCustomStrategy(value) === false;\n};\nexport var isKnownStrategy = function isKnownStrategy(value) {\n return isCustomStrategy(value) === false;\n};\nexport function isStrategy(strategy, stratName) {\n if (_.isNil(stratName)) {\n return false;\n }\n\n if (typeof stratName === 'string') {\n return _.includes(strategy.map(function (s) {\n return _.toLower(s.info.Name);\n }), _.toLower(stratName));\n }\n\n return false;\n}\nexport var getGroupedCountryOptions = function getGroupedCountryOptions() {\n return _.concat(_.sortBy(_.filter(AllCountries, function (c) {\n return _.includes(AcceptedCountries, c);\n }), function (c) {\n return _.indexOf(AcceptedCountries, c);\n }), [null], // separator\n _.filter(AllCountries, function (c) {\n return !_.includes(AcceptedCountries, c);\n }));\n};\nexport function isResponseCodeDescription(value) {\n if (_.isNil(value)) {\n return false;\n }\n\n var name = _.get(value, 'name', undefined);\n\n var description = _.get(value, 'description', undefined);\n\n var descriptionisValid = typeof description === 'string' || typeof description === 'function';\n return typeof name === 'string' && descriptionisValid;\n}","export * from './Account';\nexport * from './Application';\nexport * from './Blocks';\nexport * from './BlockSettings';\nexport * from './Cashiering';\nexport * from './constants';\nexport * from './Country';\nexport * from './DataFeed';\nexport * from './Duration';\nexport * from './Entitlements';\nexport * from './Environment';\nexport * from './enums';\nexport * from './Exceptions';\nexport * from './Expirations';\nexport * from './Information';\nexport * from './Language';\nexport * from './Layout';\nexport * from './Order';\nexport * from './OrderStatus';\nexport * from './Quote';\nexport * from './ResponseCode';\nexport * from './schema/index';\nexport * from './Session';\nexport * from './State';\nexport * from './StateSync';\nexport * from './Strategy';\nexport * from './Streaming'; // export * from './transformations';\n\nexport * from './Token';\nexport * from './translations';\nexport * from './Urls';\nexport * from './User';\nexport * from './util';\nexport * from './AccountManagement';","export * from './Constants';\nexport * from './Data';\nexport * from './Enums';\nexport * from './Models';\nexport * from './Page';\n","import { SecurityQuestionType } from '@tradingblock/types';\n\nexport enum AccountActivityType {\n ActiveTrading = 'ActiveTrading',\n LongTermInvesting = 'LongTermInvesting',\n ShortTermInvesting = 'ShortTermInvesting',\n}\n\nexport enum AccountHolderType {\n Joint = 'joint',\n Primary = 'primary',\n Ugma = 'ugma',\n}\n\nexport enum ApplicationStep {\n AccountType = 'account',\n Agreements = 'agreements',\n Beneficiaries = 'beneficiaries',\n ClearerType = 'clearerType',\n AccountInformation = 'information',\n InvestingProfile = 'investing',\n SecureAccount = 'secure',\n Sign = 'sign',\n}\n\nexport enum ApplicationType {\n Entity = 'Entity',\n Individual = 'Individual',\n Joint = 'Joint',\n UGMA = 'Ugma',\n}\n\nexport enum ClearerType {\n Apex = 'Apex',\n RQD = 'RQD',\n}\n\nexport enum BeneficiaryAccountType {\n Contingent = 'Contingent',\n Primary = 'Primary',\n}\n\nexport enum BeneficiaryType {\n Individual = 'Individual',\n Trust = 'Trust',\n}\n\nexport enum BooleanToggleType {\n No = 'no',\n Yes = 'yes',\n}\n\nexport enum IssuerDirectCommunicationType {\n Accept = 'Accept',\n Object = 'Object',\n}\n\nexport enum ProSubscriptionType {\n Delayed = 'Delayed',\n RealTime = 'Realtime',\n}\n\nexport enum BusinessNature {\n Agriculture = 'Agriculture',\n Communications = 'Communications',\n Construction = 'Construction',\n ElectricGas = 'ElectricGas',\n Finance = 'Finance',\n Fishing = 'Fishing',\n Forestry = 'Forestry',\n Insurance = 'Insurance',\n Manufacturing = 'Manufacturing',\n Mining = 'Mining',\n PublicAdministration = 'PublicAdministration',\n RealEstate = 'RealEstate',\n RetailTrade = 'RetailTrade',\n SanitaryServices = 'SanitaryServices',\n Services = 'Services',\n Transportation = 'Transportation',\n WholesaleTrade = 'WholesaleTrade',\n}\n\nexport enum DeliveryType {\n Electronic = 'Electronic',\n Paper = 'Paper',\n}\n\nexport enum EmploymentType {\n Employed = 'Employed',\n Retired = 'Retired',\n Student = 'Student',\n Unemployed = 'Unemployed',\n}\n\nexport enum EntityAccountType {\n BusinessTrust = 'BusinessTrust',\n CCorporation = 'CCorporation',\n LlcCCorporation = 'LlcCCorporation',\n LlcSCorporation = 'LlcSCorporation',\n Partnership = 'Partnership',\n PersonalTrust = 'PersonalTrust',\n SCorporation = 'SCorporation',\n LlcPartnership = 'LlcPartnership',\n}\n\nexport enum ErrorType {\n Amount = 'amount',\n Invalid = 'invalid',\n Mismatch = 'mismatch',\n Required = 'error',\n Contingent = 'contingent',\n InvalidLength = 'invalidLength',\n InvalidLegalName = 'invalidLegalName',\n}\n\nexport enum ExperienceYearType {\n FourToNine = 'FourToNine',\n One = 'One',\n TenOrMore = 'TenOrMore',\n TwoToThree = 'TwoToThree',\n Zero = 'Zero',\n}\n\nexport enum FlexibilityType {\n CashOnly = 'CashOnly',\n Margin = 'Margin',\n}\n\nexport enum IncomeRangeType {\n Between100KAnd200K = 'Between100KAnd200K',\n Between200KAnd300K = 'Between200KAnd300K',\n Between25KAnd50K = 'Between25KAnd50K',\n Between300KAnd500K = 'Between300KAnd500K',\n Between500KAnd1Point2M = 'Between500KAnd1Point2M',\n Between50KAnd100K = 'Between50KAnd100K',\n LessThan25K = 'LessThan25K',\n MoreThan1Point2M = 'MoreThan1Point2M',\n}\n\nexport enum InvestmentObjectiveType {\n CapitalPreservation = 'CapitalPreservation',\n Growth = 'Growth',\n GrowthAndIncome = 'GrowthAndIncome',\n Income = 'Income',\n Speculation = 'Speculation',\n}\n\nexport enum JointAccountType {\n Community = 'Community',\n Survivor = 'Survivor',\n TenantsInCommon = 'TenantsInCommon',\n TenantsInEntirety = 'TenantsInEntirety',\n}\n\nexport enum LiquidityNeedType {\n NotImportant = 'NotImportant',\n SomewhatImportant = 'SomewhatImportant',\n VeryImportant = 'VeryImportant',\n}\n\nexport enum MaritalStatusType {\n Divorced = 'Divorced',\n Married = 'Married',\n Single = 'Single',\n Widowed = 'Widowed',\n}\n\nexport enum MonetaryRangeType {\n Between100KAnd200K = 'Between100KAnd200K',\n Between1MAnd5M = 'Between1MAnd5M',\n Between200KAnd500K = 'Between200KAnd500K',\n Between500KAnd1M = 'Between500KAnd1M',\n Between50KAnd100K = 'Between50KAnd100K',\n LessThan50K = 'LessThan50K',\n MoreThan5M = 'MoreThan5M',\n}\n\nexport enum PersonType {\n AccountHolder = 'account-holder',\n Beneficiary = 'beneficiary',\n OwnerOfficer = 'owner-officer',\n TrustedContact = 'trusted-contact',\n TradeAuthorization = 'trade-authorization',\n}\n\nexport enum PhoneType {\n Home = 'Home',\n Mobile = 'Mobile',\n Work = 'Work',\n}\n\nexport enum RetirementAccountType {\n Beneficiary = 'Beneficiary',\n CoverDell = 'CoverDell',\n Rollover = 'Rollover',\n Roth = 'Roth',\n SEP = 'SEP',\n Simple = 'Simple',\n Traditional = 'Traditional',\n RothBeneficiary = 'RothBeneficiary',\n}\n\nexport enum RiskLevel {\n None = 0,\n VeryLow = 1,\n Low = 2,\n Moderate = 3,\n High = 4,\n}\n\nexport enum RiskToleranceType {\n High = 'High',\n Low = 'Low',\n Medium = 'Medium',\n}\n\nexport enum SourceOfFundsType {\n CorporateIncome = 'CorporateIncome',\n InvestmentCapital = 'InvestmentCapital',\n Other = 'Other',\n}\n\nexport enum TaxbracketType {\n Bottom = 'Bottom',\n Middle = 'Middle',\n Top = 'Top',\n}\n\nexport enum TimeHorizonType {\n Average = 'Average',\n Long = 'Long',\n Short = 'Short',\n}\n\nexport enum TradeExperienceYearType {\n ElevenToTwenty = 'ElevenToTwenty',\n OneToFive = 'OneToFive',\n SixToTen = 'SixToTen',\n MoreThanTwenty = 'MoreThanTwenty',\n}\n\nexport enum TradeGoalType {\n StocksBonds = 'StocksBonds',\n AllAbovePlusCallsPuts = 'AllAbovePlusCallsPuts',\n AllAbovePlusOptionSpreads = 'AllAbovePlusOptionSpreads',\n AllAbovePlusPutWriting = 'AllAbovePlusPutWriting',\n AllAbovePlusAllOptionStrategies = 'AllAbovePlusAllOptionStrategies',\n}\n\nexport enum UnsupportedFeatureType {\n BearerShares = 'bearer-shares',\n Country = 'country',\n IrsWithholding = 'irs-withholding',\n}\n\nexport enum VisaType {\n E1 = 'E1',\n E2 = 'E2',\n E3 = 'E3',\n F1 = 'F1',\n K1 = 'K1',\n G4 = 'G4',\n H1B = 'H1B',\n L1 = 'L1',\n O1 = 'O1',\n TN1 = 'TN1',\n}\n\nexport enum WithdrawalFrequencyType {\n Frequent = 'Frequent',\n Occasional = 'Occasional',\n Rare = 'Rare',\n}\n\nexport enum YearsEmployed {\n BetweenZeroAndOne = 'BetweenZeroAndOne',\n BetweenTwoAndFive = 'BetweenTwoAndFive',\n BetweenFiveAndTen = 'BetweenFiveAndTen',\n BetweenTenAndTwenty = 'BetweenTenAndTwenty',\n MoreThanTwenty = 'MoreThanTwenty',\n}\n\nexport const AllAccountActivityTypes = [\n AccountActivityType.LongTermInvesting,\n AccountActivityType.ShortTermInvesting,\n AccountActivityType.ActiveTrading,\n];\n\nexport const AllApplicationSteps = [\n ApplicationStep.SecureAccount,\n ApplicationStep.ClearerType,\n ApplicationStep.AccountType,\n ApplicationStep.InvestingProfile,\n ApplicationStep.AccountInformation,\n ApplicationStep.Beneficiaries,\n ApplicationStep.Agreements,\n ApplicationStep.Sign,\n];\n\nexport const AllApplicationTypes = [\n ApplicationType.Individual,\n ApplicationType.Joint,\n ApplicationType.UGMA,\n ApplicationType.Entity,\n];\n\nexport const AllBeneficiaryAccountTypes = [BeneficiaryAccountType.Primary, BeneficiaryAccountType.Contingent];\n\nexport const AllBeneficiaryTypes = [BeneficiaryType.Individual]; // Add back BeneficiaryType.Trust once RQD/Apex support via API\n\nexport const AllBooleanToggleTypes = [BooleanToggleType.Yes, BooleanToggleType.No];\n\nexport const AllProSubscriptionTypes = [ProSubscriptionType.Delayed, ProSubscriptionType.RealTime];\n\nexport const AllIssuerDirectCommunicationTypes = [\n IssuerDirectCommunicationType.Accept,\n IssuerDirectCommunicationType.Object,\n];\n\nexport const AllBusinessNatureTypes = [\n BusinessNature.Agriculture,\n BusinessNature.Communications,\n BusinessNature.Construction,\n BusinessNature.ElectricGas,\n BusinessNature.Finance,\n BusinessNature.Fishing,\n BusinessNature.Forestry,\n BusinessNature.Insurance,\n BusinessNature.Manufacturing,\n BusinessNature.Mining,\n BusinessNature.PublicAdministration,\n BusinessNature.RealEstate,\n BusinessNature.RetailTrade,\n BusinessNature.SanitaryServices,\n BusinessNature.Services,\n BusinessNature.Transportation,\n BusinessNature.WholesaleTrade,\n];\n\nexport const AllClearerTypes = [ClearerType.Apex, ClearerType.RQD];\n\nexport const AllDeliveryTypes = [DeliveryType.Electronic, DeliveryType.Paper];\n\nexport const AllEmploymentTypes = [\n EmploymentType.Employed,\n EmploymentType.Retired,\n EmploymentType.Student,\n EmploymentType.Unemployed,\n];\n\nexport const AllEntityTypes = [\n EntityAccountType.PersonalTrust,\n EntityAccountType.BusinessTrust,\n EntityAccountType.CCorporation,\n EntityAccountType.SCorporation,\n EntityAccountType.LlcCCorporation,\n EntityAccountType.LlcSCorporation,\n EntityAccountType.Partnership,\n EntityAccountType.LlcPartnership,\n];\n\nexport const AllExperienceYearTypes = [\n ExperienceYearType.Zero,\n ExperienceYearType.One,\n ExperienceYearType.TwoToThree,\n ExperienceYearType.FourToNine,\n ExperienceYearType.TenOrMore,\n];\n\nexport const AllFlexibilityTypes = [FlexibilityType.Margin, FlexibilityType.CashOnly];\n\nexport const AllIncomeRangeTypes = [\n IncomeRangeType.LessThan25K,\n IncomeRangeType.Between25KAnd50K,\n IncomeRangeType.Between50KAnd100K,\n IncomeRangeType.Between100KAnd200K,\n IncomeRangeType.Between200KAnd300K,\n IncomeRangeType.Between300KAnd500K,\n IncomeRangeType.Between500KAnd1Point2M,\n IncomeRangeType.MoreThan1Point2M,\n];\n\nexport const AllInvestmentObjectiveTypes = [\n InvestmentObjectiveType.CapitalPreservation,\n InvestmentObjectiveType.Income,\n InvestmentObjectiveType.Growth,\n InvestmentObjectiveType.GrowthAndIncome,\n InvestmentObjectiveType.Speculation,\n];\n\nexport const AllJointAccountTypes = [\n JointAccountType.Community,\n JointAccountType.Survivor,\n JointAccountType.TenantsInCommon,\n JointAccountType.TenantsInEntirety,\n];\n\nexport const AllLiquidityNeedTypes = [\n LiquidityNeedType.VeryImportant,\n LiquidityNeedType.SomewhatImportant,\n LiquidityNeedType.NotImportant,\n];\n\nexport const AllMaritalStatusTypes = [\n MaritalStatusType.Single,\n MaritalStatusType.Married,\n MaritalStatusType.Divorced,\n MaritalStatusType.Widowed,\n];\n\nexport const AllMonetaryRangeTypes = [\n MonetaryRangeType.LessThan50K,\n MonetaryRangeType.Between50KAnd100K,\n MonetaryRangeType.Between100KAnd200K,\n MonetaryRangeType.Between200KAnd500K,\n MonetaryRangeType.Between500KAnd1M,\n MonetaryRangeType.Between1MAnd5M,\n MonetaryRangeType.MoreThan5M,\n];\n\nexport const AllPhoneTypes = [PhoneType.Home, PhoneType.Work, PhoneType.Mobile];\n\nexport const AllRetirementAccountTypes = [\n RetirementAccountType.Traditional,\n RetirementAccountType.Rollover,\n RetirementAccountType.Roth,\n RetirementAccountType.SEP,\n RetirementAccountType.Simple,\n RetirementAccountType.Beneficiary,\n RetirementAccountType.CoverDell,\n RetirementAccountType.RothBeneficiary,\n];\n\nexport const RQDRetirementAccountTypes = [\n RetirementAccountType.Traditional,\n RetirementAccountType.Roth,\n RetirementAccountType.SEP,\n];\n\nexport const AllRiskToleranceTypes = [RiskToleranceType.Low, RiskToleranceType.Medium, RiskToleranceType.High];\n\nexport const AllSecurityQuestionTypes = [\n SecurityQuestionType.ChildhoodPetName,\n SecurityQuestionType.MothersMaidenName,\n SecurityQuestionType.BirthCity,\n SecurityQuestionType.FavoriteSportsTeam,\n SecurityQuestionType.PaternalGrandmothersFirstName,\n SecurityQuestionType.ChildhoodFutureJobWish,\n SecurityQuestionType.FavoriteBook,\n SecurityQuestionType.DriversLicenseLast4,\n SecurityQuestionType.FathersMiddleName,\n];\n\nexport const AllSourceOfFundsTypes = [\n SourceOfFundsType.CorporateIncome,\n SourceOfFundsType.InvestmentCapital,\n SourceOfFundsType.Other,\n];\n\nexport const AllTaxbracketTypes = [TaxbracketType.Bottom, TaxbracketType.Middle, TaxbracketType.Top];\n\nexport const AllTimeHorizonTypes = [TimeHorizonType.Short, TimeHorizonType.Average, TimeHorizonType.Long];\n\nexport const AllTradeExperienceYearTypes = [\n TradeExperienceYearType.OneToFive,\n TradeExperienceYearType.SixToTen,\n TradeExperienceYearType.ElevenToTwenty,\n TradeExperienceYearType.MoreThanTwenty,\n];\n\nexport const AllTradeGoalTypes = [\n TradeGoalType.StocksBonds,\n TradeGoalType.AllAbovePlusCallsPuts,\n TradeGoalType.AllAbovePlusOptionSpreads,\n TradeGoalType.AllAbovePlusPutWriting,\n TradeGoalType.AllAbovePlusAllOptionStrategies,\n];\n\nexport const AllVisaTypes = [\n VisaType.E1,\n VisaType.E2,\n VisaType.E3,\n VisaType.F1,\n VisaType.K1,\n VisaType.G4,\n VisaType.H1B,\n VisaType.L1,\n VisaType.O1,\n VisaType.TN1,\n];\n\nexport const AllWithdrawalFrequencyTypes = [\n WithdrawalFrequencyType.Rare,\n WithdrawalFrequencyType.Occasional,\n WithdrawalFrequencyType.Frequent,\n];\n\nexport const AllYearsEmployed = [\n YearsEmployed.BetweenZeroAndOne,\n YearsEmployed.BetweenTwoAndFive,\n YearsEmployed.BetweenFiveAndTen,\n YearsEmployed.BetweenTenAndTwenty,\n YearsEmployed.MoreThanTwenty,\n];\n","export const TotalSecurityChallenges = 3;\n\nexport const MaxNumberOfPhones = 5;\n\n// source: https://emailregex.com\n// eslint-disable-next-line\nexport const RE_EMAIL = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\n\n// PO Box addresses not allowed for home address\nexport const RE_PO_BOX = /^ *((#\\d+)|((box|bin)[-. \\/\\\\]?\\d+)|(.*p[ \\.]? ?(o|0)[-. \\/\\\\]? *-?((box|bin)|b|(#|num)?\\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\\d+)|(p *-?\\/?(o)? *-?box)|post office box|((box|bin)|b) *(number|num|#)? *\\d+|(num|number|#) *\\d+)/i;\n\n// social security number regex (with or without dashes: 123-45-6789 or 123456789)\nexport const RE_SSN = /^(\\d{3}\\s*\\d{2}\\s*\\d{4}|\\d{3}\\s*-\\s*\\d{2}\\s*-\\s*\\d{4})$/;\n\n// employer identification number (with or without dashes)\nexport const RE_EIN = /^(\\d{2}\\s*\\d{7}|\\d{2}\\s*-\\s*\\d{7})$/;\n\nexport const RE_VALID_FIRST_NAME = /^[a-zA-Z-]+$/;\n\nexport const RE_VALID_LAST_NAME = /^[a-zA-Z-]+( [a-zA-Z-]+)?$/;\n\nexport const RE_VALID_FIRST_NAME_WITH_NUMBERS = /^[a-zA-Z0-9-]+$/;\n\nexport const RE_VALID_LAST_NAME_WITH_NUMBERS = /^[a-zA-Z0-9-]+( [a-zA-Z0-9-]+)?$/;\n\nexport const RE_VALID_MIDDLE_INITIAL = /^[a-zA-Z]$/;\n\n// take all letters and '.' and '-'\nexport const RE_VALID_SUFFIX = /^[a-zA-Z.-]+$/;\n\nexport const SiteIds = {\n mb: 'mb',\n tb: 'tb',\n};\nexport const AllSiteIds = Object.values(SiteIds);\n\nconst prefixes = [\n 'Mr',\n 'Mrs',\n 'Ms',\n 'Dr',\n 'Prof',\n 'Capt',\n 'Col',\n 'Maj',\n 'Gen',\n 'Lt',\n 'Sir',\n 'Lady',\n 'Lord',\n 'Dame',\n 'Rev',\n 'Fr',\n 'Rabbi',\n 'Imam',\n 'Eng',\n 'Arch',\n];\n\nexport const RE_PREFIX_PATTERN = new RegExp(`^(${prefixes.join('|')})\\\\.?`, 'i');\n","import {\n TradeGoalType,\n MonetaryRangeType,\n IncomeRangeType,\n ExperienceYearType,\n FlexibilityType,\n BooleanToggleType,\n InvestmentObjectiveType,\n} from './Enums';\nimport {\n ApplicationModel,\n AccountHolderModel,\n ForeignDueDiligenceModel,\n OwnerEntityModel,\n UploadModel,\n ExperienceKey,\n PersonDetailsModel,\n BeneficiaryModel,\n} from './Models';\n\nexport type SaveType = 'load' | 'partial' | 'continue' | 'confirm-data-mismatch' | 'complete' | 'unload';\n\nexport type MismatchedDataRuleKey = keyof Pick<\n ApplicationModel,\n 'annualIncome' | 'flexibilityType' | 'retirementAccount' | 'totalNetWorth'\n>;\n\nexport type RequiredDataRuleKey = keyof Pick;\n\nexport type MismatchedDataRules = {\n [key in MismatchedDataRuleKey]?: string[];\n};\n\nexport type MismatchedDataRuleSet = {\n [key in TradeGoalType]?: MismatchedDataRules;\n};\n\nexport type RequiredDataRules = {\n experience?: RequiredExperienceDataRules;\n investmentObjectiveType?: string;\n};\n\nexport type RequiredExperienceDataRules = {\n [key in ExperienceKey]?: string[];\n};\n\nexport type RequiredDataRuleSet = {\n [key in TradeGoalType]?: RequiredDataRules;\n};\n\nexport const MismatchedDataRulesForTradeGoalTypes: MismatchedDataRuleSet = {\n [TradeGoalType.AllAbovePlusPutWriting]: {\n annualIncome: [IncomeRangeType.LessThan25K, IncomeRangeType.Between25KAnd50K],\n totalNetWorth: [MonetaryRangeType.LessThan50K],\n },\n [TradeGoalType.AllAbovePlusAllOptionStrategies]: {\n annualIncome: [IncomeRangeType.LessThan25K, IncomeRangeType.Between25KAnd50K, IncomeRangeType.Between50KAnd100K],\n flexibilityType: [FlexibilityType.CashOnly],\n retirementAccount: [BooleanToggleType.Yes],\n totalNetWorth: [MonetaryRangeType.LessThan50K, MonetaryRangeType.Between50KAnd100K],\n },\n};\n\nexport const MismatchedDataRulesForTradeGoalTypesRetirementAccount: MismatchedDataRuleSet = {\n [TradeGoalType.AllAbovePlusOptionSpreads]: {\n flexibilityType: [FlexibilityType.CashOnly],\n },\n [TradeGoalType.AllAbovePlusPutWriting]: {\n flexibilityType: [FlexibilityType.CashOnly],\n annualIncome: [IncomeRangeType.LessThan25K, IncomeRangeType.Between25KAnd50K],\n totalNetWorth: [MonetaryRangeType.LessThan50K],\n },\n};\n\nexport const RequiredDataRulesForTradeGoalTypes: RequiredDataRuleSet = {\n [TradeGoalType.AllAbovePlusOptionSpreads]: {\n experience: {\n options: [\n ExperienceYearType.One,\n ExperienceYearType.TwoToThree,\n ExperienceYearType.FourToNine,\n ExperienceYearType.TenOrMore,\n ],\n },\n },\n [TradeGoalType.AllAbovePlusPutWriting]: {\n experience: {\n options: [\n ExperienceYearType.One,\n ExperienceYearType.TwoToThree,\n ExperienceYearType.FourToNine,\n ExperienceYearType.TenOrMore,\n ],\n },\n },\n [TradeGoalType.AllAbovePlusAllOptionStrategies]: {\n experience: {\n options: [ExperienceYearType.TwoToThree, ExperienceYearType.FourToNine, ExperienceYearType.TenOrMore],\n },\n investmentObjectiveType: InvestmentObjectiveType.Speculation,\n },\n};\n\nexport type MismatchedDataType = 'investing-profile';\n\nexport interface MismatchedDataModalState {\n type: MismatchedDataType;\n}\n\ntype FieldsToStripType = {\n root: (keyof Pick<\n ApplicationModel,\n | '_id'\n | 'objectKey'\n | 'createdOn'\n | 'hearAboutUsId'\n | 'repId'\n | 'userName'\n | 'password'\n | 'passwordConfirm'\n | 'securityChallenges'\n | 'retirementAccount'\n | 'addTrustedContact'\n | 'agreeToElectronicConsent'\n | 'latestStepSaved'\n | 'latestStepCompleted'\n | 'latestStepVisibleSections'\n | 'lastSavedOn'\n | 'applicationSentOn'\n | 'accountId'\n | 'confirmedMismatchedDataTypes'\n | 'tradeAuthorization'\n >)[];\n accountHolder: (keyof Pick)[];\n person: (keyof Pick)[];\n beneficiary: (keyof Pick)[];\n entity: (keyof Pick)[];\n upload: (keyof Pick)[];\n trustBeneficiary: (keyof Pick)[];\n};\n\nexport const FieldsToStrip: FieldsToStripType = {\n root: [\n '_id',\n 'objectKey',\n 'createdOn',\n 'hearAboutUsId',\n 'repId',\n 'userName',\n 'password',\n 'passwordConfirm',\n 'securityChallenges',\n 'retirementAccount',\n 'addTrustedContact',\n 'agreeToElectronicConsent',\n 'latestStepSaved',\n 'latestStepCompleted',\n 'latestStepVisibleSections',\n 'lastSavedOn',\n 'applicationSentOn',\n 'accountId',\n 'confirmedMismatchedDataTypes',\n 'tradeAuthorization',\n ],\n accountHolder: ['emailConfirm', 'differentMailingAddress'],\n person: ['ssn'],\n beneficiary: ['ein'],\n trustBeneficiary: ['dateOfBirth', 'phones', 'ein'],\n entity: ['hasTradingBlockAccounts'],\n upload: ['documents', 'skip'],\n};\n","import {\n LanguageType,\n UploadedDocument,\n SecurityQuestionType,\n Country,\n InvestigationDocuments,\n UploadedDocumentState,\n AccountType,\n TradingAuthorizationModel,\n} from '@tradingblock/types';\nimport {\n ApplicationType,\n FlexibilityType,\n TradeGoalType,\n InvestmentObjectiveType,\n BooleanToggleType,\n DeliveryType,\n BeneficiaryType,\n EmploymentType,\n ApplicationStep,\n RiskToleranceType,\n TaxbracketType,\n TimeHorizonType,\n LiquidityNeedType,\n VisaType,\n RetirementAccountType,\n MonetaryRangeType,\n JointAccountType,\n YearsEmployed,\n BeneficiaryAccountType,\n PhoneType,\n EntityAccountType,\n MismatchedDataType,\n} from './';\nimport {\n BusinessNature,\n AccountActivityType,\n SourceOfFundsType,\n WithdrawalFrequencyType,\n ExperienceYearType,\n MaritalStatusType,\n IncomeRangeType,\n TradeExperienceYearType,\n IssuerDirectCommunicationType,\n ProSubscriptionType,\n ClearerType,\n} from './Enums';\n\nexport type AccountDisclosureKey =\n | 'entityIssuesBearerShares'\n | 'entityNegativeNews'\n | 'entityPublicOfficials'\n | 'entityServicesForeignShellBanks'\n | 'foreignBank'\n | 'foreignFinancialInstitution'\n | 'foreignShellBank'\n | 'proprietarySecuritiesAccount';\n\nexport const AllAccountDisclosureKeys: AccountDisclosureKey[] = [\n 'foreignBank',\n 'foreignShellBank',\n 'foreignFinancialInstitution',\n 'proprietarySecuritiesAccount',\n];\nexport const AllEntityAccountDisclosureKeys: AccountDisclosureKey[] = [\n 'entityIssuesBearerShares',\n 'entityServicesForeignShellBanks',\n];\nexport const AllEntityNonTrustAccountDisclosureKeys: AccountDisclosureKey[] = [\n 'entityNegativeNews',\n 'entityPublicOfficials',\n];\n\nexport type AccountHolderDisclosureKey = 'industryEmployed' | 'stakeholder' | 'irsWithholding' | 'govOfficial';\nexport const AllAccountHolderDisclosureKeys: AccountHolderDisclosureKey[] = [\n 'stakeholder',\n 'industryEmployed',\n 'govOfficial',\n 'irsWithholding',\n];\n\nexport type ServiceProfileKey = 'issuerDirectCommunication';\nexport const AllServiceProfileKeys: ServiceProfileKey[] = ['issuerDirectCommunication'];\n\nexport type MarketDataQuestionnaireKey =\n | 'personalUse'\n | 'secCftcRegistration'\n | 'associationRegistration'\n | 'jobFunctions'\n | 'investmentProfessional'\n | 'capitalTrading'\n | 'corporationTrading'\n | 'benefitsReceived';\nexport const AllMarketDataRegulatoryKeys: MarketDataQuestionnaireKey[] = [\n 'secCftcRegistration',\n 'associationRegistration',\n 'jobFunctions',\n];\nexport const AllMarketDataInvestmentProKeys: MarketDataQuestionnaireKey[] = ['investmentProfessional'];\nexport const AllMarketDataCapitalTradingKeys: MarketDataQuestionnaireKey[] = ['capitalTrading'];\nexport const AllMarketDataBenefitsKeys: MarketDataQuestionnaireKey[] = ['benefitsReceived'];\n\nexport type AgreementKey =\n | 'corporateCash'\n | 'corporateMargin'\n | 'customerAndPrivacyPolicy'\n | 'entityMargin'\n | 'entityOption'\n | 'iRARothAdoption'\n | 'iRASepAdoption'\n | 'iRASimpleAdoption'\n | 'iRACoverDellAdoption'\n | 'jointCommunity'\n | 'jointSurvivor'\n | 'jointTenantsInCommon'\n | 'jointTenantsInEntirety'\n | 'limitedMargin'\n | 'llcAccount'\n | 'margin'\n | 'option'\n | 'riskDisclosure'\n | 'electronicConsent'\n | 'onlineServices'\n | 'exchangeDataAgreement'\n | 'clientRelationshipSummary'\n | 'apiAgreement'\n | 'rqdCustomerAgreement'\n | 'rqdOption'\n | 'rqdMargin'\n | 'rqdLimitedMargin'\n | 'rqdExecutionDisclosures'\n | 'rqdClearingDisclosures'\n | 'rqdCustomerInformationBrochure'\n | 'rqdPrivacyPolicy'\n | 'rqdPrivacyNotice'\n | 'rqdResponsibilitiesOfIbAndCarryingBroker'\n | 'rqdSpecialStatementForUncoveredOptionWriters'\n | 'rqdPowerOfAttorney'\n | 'rqdLimitedTradingAuthorization';\n\nexport type CharacteristicsKey = 'bracket' | 'horizon' | 'liquidity' | 'risk';\nexport const AllCharacteristicsKeys: CharacteristicsKey[] = ['risk', 'bracket', 'horizon', 'liquidity'];\n\nexport type ExperienceKey = 'bonds' | 'commodities' | 'margins' | 'options' | 'stocks';\nexport const AllExperienceKeys: ExperienceKey[] = ['stocks', 'options', 'commodities', 'bonds', 'margins'];\n\nexport type UploadKey =\n | 'articlesOfIncorporation'\n | 'articlesOfOrganization'\n | 'partnershipAgreement'\n | 'photoId'\n | 'socialSecurity'\n | 'trusteeCertification'\n | 'visa';\n\nexport type UploadDocumentTag = 'AffiliatedApproval' | 'Document' | 'IdDocument' | 'Other' | 'SignatureImage';\n\nexport type DataValue = string | number | boolean | null | undefined;\n\nexport interface AddressModel {\n country: string;\n address1: string;\n address2: string;\n postalCode: string | null;\n city: string;\n state: string | null;\n}\n\nexport interface DateModel {\n month?: number;\n day?: number;\n year?: number;\n}\n\nexport interface ExperienceModel {\n years?: ExperienceYearType;\n tradesPerYear?: TradeExperienceYearType;\n}\n\nexport interface PhoneModel {\n type: PhoneType | '';\n phoneNumber: string;\n}\n\nexport interface TradingBlockAccountModel {\n accountNumber: string;\n accountName: string;\n}\n\nexport interface UploadModel {\n documentIds?: string[];\n documents?: UploadedDocument[];\n skip?: boolean;\n}\nexport interface PersonModel {\n firstName: string;\n lastName: string;\n address: AddressModel;\n email: string;\n phones: PhoneModel[];\n middleInitial: string;\n suffix: string;\n}\n\nexport interface ForeignDueDiligenceModel {\n expectedWithdrawalFrequency: string;\n initialContact: string;\n initialDepositAmount?: number;\n initialDepositType?: string;\n primaryBanking: string[];\n referredName: string;\n referredRelationship: string;\n referredToBroker: boolean;\n}\n\nexport interface PersonDetailsModel extends PersonModel {\n dateOfBirth: DateModel;\n ssn: string;\n}\n\nexport interface AccountHolderModel extends PersonDetailsModel {\n // edited on secure account step\n emailConfirm: string;\n // edited on account information step\n differentMailingAddress: boolean | null;\n mailingAddress: AddressModel | null;\n maritalStatus: MaritalStatusType | '';\n dependents: number | '';\n citizenshipCountry: string | null;\n birthCountry: string | null;\n visaType: VisaType | null;\n visaExpirationDate: DateModel | null;\n employmentType: EmploymentType | '';\n jobPosition: string | null;\n yearsEmployed: YearsEmployed | null;\n employer: string | null;\n employerAddress: AddressModel | null;\n // edited on agreements step\n disclosures:\n | {\n [key in AccountHolderDisclosureKey]?: BooleanToggleType;\n }\n | {\n govOfficial: BooleanToggleType | null;\n stakeholder: BooleanToggleType | null;\n industryEmployed: BooleanToggleType | null;\n irsWithholding: BooleanToggleType | null;\n };\n disclosuresStakeholderTickerSymbol: string;\n disclosuresIndustryEmployedFirmName: string;\n disclosuresGovOfficialImmediateFamily: string;\n disclosuresGovOfficialPoliticalOrg: string;\n jointTenantsInCommonInterestPercent: number | null;\n foreignTaxWithholding: {\n taxIdentificationNumber: string | null;\n letterOfExplanation: string | null;\n jurisdictionDoesNotIssueTIN: BooleanToggleType | boolean | null;\n notIssuedForeignTIN: BooleanToggleType | boolean | null;\n treatyCountry: string | null;\n foreignTINNotRequiredExplanation: string | null;\n };\n}\n\nexport interface BeneficiaryModel extends Exclude {\n beneficiaryAccountType: BeneficiaryAccountType | '';\n beneficiaryType: BeneficiaryType | '';\n relationship?: string;\n trustName?: string;\n ein?: string;\n percent?: number | null;\n}\n\nexport interface OwnerOfficerModel extends Exclude {\n isOfficer?: boolean;\n isOwner?: boolean;\n}\n\nexport interface OwnerEntityModel {\n entityName: string;\n entityTaxId: string;\n trustCreatedDate?: DateModel;\n entityYourTitle?: string;\n usStateOfRegistration?: string;\n businessNature?: BusinessNature;\n address?: AddressModel;\n businessPhone?: string;\n officeLocations?: string;\n accountActivity?: AccountActivityType;\n initialDepositAmount?: number;\n initialDepositMethod?: string;\n primarySourceOfFunds?: SourceOfFundsType;\n expectedWithdrawalFrequency?: WithdrawalFrequencyType;\n primaryBankName?: string;\n hasTradingBlockAccounts?: boolean;\n tradingBlockAccounts?: TradingBlockAccountModel[];\n // edited on sign step\n secretaryName: string;\n}\n\nexport interface PublicOfficialModel {\n name: string;\n role: string;\n title: string;\n organization: string;\n familyNames: string;\n}\n\nexport interface SecurityChallengeModel {\n securityQuestionType: SecurityQuestionType | '';\n answer: string;\n}\n\nexport interface ApplicationModel {\n // mongo storage fields\n _id?: string;\n objectKey?: string;\n createdOn?: string;\n\n // application status\n latestStepSaved?: ApplicationStep;\n latestStepVisibleSections?: number;\n latestStepCompleted?: ApplicationStep;\n lastSavedOn?: Date;\n applicationSentOn?: Date;\n // accountId will only be available after account has been successfully created\n accountId?: number;\n clearer: ClearerType | null;\n confirmedMismatchedDataTypes?: MismatchedDataType[] | null;\n\n // Secure Account\n languageType: LanguageType;\n // firstName / lastName / email stored on primaryAccountHolder\n hearAboutUsId?: number | string;\n repId?: number | string;\n userName: string;\n password: string;\n passwordConfirm: string;\n securityChallenges: SecurityChallengeModel[];\n\n // Account Type\n ownerCountry?: string | null;\n type: ApplicationType;\n retirementAccount?: BooleanToggleType | null;\n retirementAccountType?: RetirementAccountType | null;\n simpleIraPlanName?: string;\n beneficiaryIraDecedentName?: string;\n jointAccountType?: JointAccountType | null;\n jointCommunityPropertyState?: string | null;\n entityAccountType?: EntityAccountType | null;\n flexibilityType: FlexibilityType;\n\n // Investor Profile\n tradeGoalType: TradeGoalType | '';\n investmentObjectiveType: InvestmentObjectiveType | '';\n experience?:\n | {\n [key in ExperienceKey]: ExperienceModel;\n }\n | null;\n annualIncome: IncomeRangeType | '';\n totalNetWorth: MonetaryRangeType | '';\n liquidNetWorth: MonetaryRangeType | '';\n characteristics: {\n risk: RiskToleranceType | '';\n bracket: TaxbracketType | '';\n horizon: TimeHorizonType | '';\n liquidity: LiquidityNeedType | '';\n };\n\n // Account Information\n primaryAccountHolder: AccountHolderModel;\n secondaryAccountHolder?: AccountHolderModel | null;\n entity?: OwnerEntityModel | null;\n\n // Beneficiaries & Users\n beneficiaries: BeneficiaryModel[] | null;\n ownersOfficers?: OwnerOfficerModel[] | null;\n addTrustedContact?: boolean;\n trustedContact?: PersonModel | null;\n\n // Agreements & Disclosures\n agreeToElectronicConsent?: boolean | null;\n deliveryType: DeliveryType;\n tradeAuthorization?: BooleanToggleType | null;\n tradingAuthorization?: TradingAuthorizationModel | null;\n // account holder disclosures stored in AccountHolderModel\n accountDisclosures?:\n | {\n [key in AccountDisclosureKey]?: BooleanToggleType;\n }\n | {\n foreignBank: BooleanToggleType | null;\n foreignShellBank: BooleanToggleType | null;\n foreignFinancialInstitution: BooleanToggleType | null;\n proprietarySecuritiesAccount: BooleanToggleType | null;\n entityIssuesBearerShares: BooleanToggleType | null;\n entityNegativeNews: BooleanToggleType | null;\n entityPublicOfficials: BooleanToggleType | null;\n entityServicesForeignShellBanks: BooleanToggleType | null;\n };\n serviceProfile?:\n | {\n [key in ServiceProfileKey]?: IssuerDirectCommunicationType;\n }\n | {\n issuerDirectCommunication: IssuerDirectCommunicationType | null;\n };\n disclosuresForeignBankUSAgent: string;\n disclosuresEntityNegativeNewsInfo: string;\n disclosuresEntityPublicOfficials: PublicOfficialModel[];\n agreements:\n | {\n [key in AgreementKey]?: BooleanToggleType;\n }\n | {\n corporateCash: BooleanToggleType | null;\n corporateMargin: BooleanToggleType | null;\n customerAndPrivacyPolicy: BooleanToggleType | null;\n entityMargin: BooleanToggleType | null;\n entityOption: BooleanToggleType | null;\n iRARothAdoption: BooleanToggleType | null;\n iRASepAdoption: BooleanToggleType | null;\n iRASimpleAdoption: BooleanToggleType | null;\n iRACoverDellAdoption: BooleanToggleType | null;\n jointCommunity: BooleanToggleType | null;\n jointSurvivor: BooleanToggleType | null;\n jointTenantsInCommon: BooleanToggleType | null;\n jointTenantsInEntirety: BooleanToggleType | null;\n limitedMargin: BooleanToggleType | null;\n llcAccount: BooleanToggleType | null;\n margin: BooleanToggleType | null;\n option: BooleanToggleType | null;\n riskDisclosure: BooleanToggleType | null;\n electronicConsent: BooleanToggleType | null;\n onlineServices: BooleanToggleType | null;\n exchangeDataAgreement: BooleanToggleType | null;\n clientRelationshipSummary: BooleanToggleType | null;\n apiAgreement: BooleanToggleType | null;\n rqdCustomerAgreement: BooleanToggleType | null;\n rqdOption: BooleanToggleType | null;\n rqdMargin: BooleanToggleType | null;\n rqdLimitedMargin: BooleanToggleType | null;\n rqdExecutionDisclosures: BooleanToggleType | null;\n rqdClearingDisclosures: BooleanToggleType | null;\n rqdCustomerInformationBrochure: BooleanToggleType | null;\n rqdPrivacyPolicy: BooleanToggleType | null;\n rqdPrivacyNotice: BooleanToggleType | null;\n rqdResponsibilitiesOfIbAndCarryingBroker: BooleanToggleType | null;\n rqdSpecialStatementForUncoveredOptionWriters: BooleanToggleType | null;\n rqdPowerOfAttorney: BooleanToggleType | null;\n rqdLimitedTradingAuthorization: BooleanToggleType | null;\n };\n agreeToAll: BooleanToggleType | null;\n\n // Foreign Due Diligence\n foreignDueDiligence?: ForeignDueDiligenceModel | null;\n\n // Sign & Submit\n signedNames: string[];\n isPartialEntitySubmission?: boolean | null;\n\n // Market Data Questionnaire\n marketData: {\n employmentFunctions: string | null;\n personalUse: BooleanToggleType | null;\n secCftcRegistration: BooleanToggleType | null;\n associationRegistration: BooleanToggleType | null;\n jobFunctions: BooleanToggleType | null;\n investmentProfessional: BooleanToggleType | null;\n capitalTrading: BooleanToggleType | null;\n corporationTrading: BooleanToggleType | null;\n benefitsReceived: BooleanToggleType | null;\n };\n marketDataType: ProSubscriptionType | null;\n}\n\ntype AccountDisclosureContingentField = keyof Pick<\n ApplicationModel,\n 'disclosuresEntityNegativeNewsInfo' | 'disclosuresEntityPublicOfficials' | 'disclosuresForeignBankUSAgent'\n>;\n\nexport const AccountDisclosureContingentFields: Partial<\n { [key in AccountDisclosureKey]: AccountDisclosureContingentField[] }\n> = {\n entityNegativeNews: ['disclosuresEntityNegativeNewsInfo'],\n entityPublicOfficials: ['disclosuresEntityPublicOfficials'],\n foreignBank: ['disclosuresForeignBankUSAgent'],\n};\n\ntype AccountHolderDisclosureContingentField = keyof Pick<\n AccountHolderModel,\n | 'disclosuresGovOfficialImmediateFamily'\n | 'disclosuresGovOfficialPoliticalOrg'\n | 'disclosuresIndustryEmployedFirmName'\n | 'disclosuresStakeholderTickerSymbol'\n>;\n\nexport const AccountHolderDisclosureContingentFields: Partial<\n { [key in AccountHolderDisclosureKey]: AccountHolderDisclosureContingentField[] }\n> = {\n govOfficial: ['disclosuresGovOfficialImmediateFamily', 'disclosuresGovOfficialPoliticalOrg'],\n industryEmployed: ['disclosuresIndustryEmployedFirmName'],\n stakeholder: ['disclosuresStakeholderTickerSymbol'],\n};\n\nexport type AccountHolderField = keyof Pick;\n\nexport const DefaultOwnerEntityModel: OwnerEntityModel = {\n entityName: '',\n entityTaxId: '',\n secretaryName: '',\n};\n\nexport const DefaultTradingBlockAccount: TradingBlockAccountModel = {\n accountNumber: '',\n accountName: '',\n};\n\nexport const DefaultPhone: PhoneModel = {\n type: '',\n phoneNumber: '',\n};\n\nexport const DefaultAddress: AddressModel = {\n country: '',\n address1: '',\n address2: '',\n postalCode: null,\n city: '',\n state: null,\n};\n\nexport const DefaultPersonDetails: PersonDetailsModel = {\n firstName: '',\n lastName: '',\n middleInitial: '',\n suffix: '',\n email: '',\n dateOfBirth: {\n day: undefined,\n month: undefined,\n year: undefined,\n },\n ssn: '',\n address: DefaultAddress,\n phones: [\n DefaultPhone, // needed to show initial blank phone\n ],\n};\n\nexport const DefaultTradingAuthorization: TradingAuthorizationModel = {\n address: DefaultAddress,\n phones: [\n DefaultPhone, // needed to show initial blank phone\n ],\n email: undefined,\n dateOfBirth: {\n day: undefined,\n month: undefined,\n year: undefined,\n },\n employmentType: undefined,\n employer: '',\n ssnSecret: '',\n firstName: '',\n lastName: '',\n disclosures: {\n industryEmployed: undefined,\n stakeholder: undefined,\n },\n signedName: '',\n disclosuresIndustryEmployedFirmName: undefined,\n disclosuresStakeholderTickerSymbol: undefined,\n type: undefined,\n citizenshipCountry: Country.UnitedStatesOfAmerica,\n};\n\nexport const DefaultAccountHolder: AccountHolderModel = {\n ...DefaultPersonDetails,\n emailConfirm: '',\n maritalStatus: '',\n dependents: '',\n birthCountry: null,\n citizenshipCountry: null,\n employmentType: '',\n disclosuresStakeholderTickerSymbol: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n jointTenantsInCommonInterestPercent: 0,\n disclosures: {\n govOfficial: null,\n industryEmployed: null,\n irsWithholding: null,\n stakeholder: null,\n },\n differentMailingAddress: false,\n mailingAddress: null,\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n state: null,\n postalCode: null,\n },\n visaType: null,\n visaExpirationDate: null,\n jobPosition: '',\n yearsEmployed: null,\n foreignTaxWithholding: {\n taxIdentificationNumber: null,\n letterOfExplanation: null,\n jurisdictionDoesNotIssueTIN: null,\n notIssuedForeignTIN: null,\n treatyCountry: null,\n foreignTINNotRequiredExplanation: null,\n },\n};\n\nexport const DefaultSecondaryAccountHolder: AccountHolderModel = {\n ...DefaultPersonDetails,\n emailConfirm: '',\n maritalStatus: '',\n dependents: '',\n birthCountry: Country.UnitedStatesOfAmerica,\n citizenshipCountry: Country.UnitedStatesOfAmerica,\n employmentType: '',\n disclosuresStakeholderTickerSymbol: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n jointTenantsInCommonInterestPercent: 0,\n disclosures: {\n govOfficial: null,\n industryEmployed: null,\n irsWithholding: null,\n stakeholder: null,\n },\n differentMailingAddress: false,\n mailingAddress: null,\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n state: null,\n postalCode: null,\n },\n visaType: null,\n visaExpirationDate: null,\n jobPosition: '',\n yearsEmployed: null,\n foreignTaxWithholding: {\n taxIdentificationNumber: null,\n letterOfExplanation: null,\n jurisdictionDoesNotIssueTIN: null,\n notIssuedForeignTIN: null,\n treatyCountry: null,\n foreignTINNotRequiredExplanation: null,\n },\n};\n\nexport const DefaultUgmaAccountHolder: AccountHolderModel = {\n ...DefaultPersonDetails,\n emailConfirm: '',\n maritalStatus: '',\n dependents: '',\n birthCountry: Country.UnitedStatesOfAmerica,\n citizenshipCountry: Country.UnitedStatesOfAmerica,\n employmentType: '',\n disclosuresStakeholderTickerSymbol: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n jointTenantsInCommonInterestPercent: 0,\n disclosures: {\n govOfficial: BooleanToggleType.No,\n industryEmployed: BooleanToggleType.No,\n irsWithholding: BooleanToggleType.No,\n stakeholder: BooleanToggleType.No,\n },\n differentMailingAddress: false,\n mailingAddress: null,\n employer: '',\n employerAddress: {\n address1: '',\n address2: '',\n city: '',\n country: '',\n state: null,\n postalCode: null,\n },\n visaType: null,\n visaExpirationDate: null,\n jobPosition: '',\n yearsEmployed: null,\n foreignTaxWithholding: {\n taxIdentificationNumber: null,\n letterOfExplanation: null,\n jurisdictionDoesNotIssueTIN: null,\n notIssuedForeignTIN: null,\n treatyCountry: null,\n foreignTINNotRequiredExplanation: null,\n },\n};\n\nexport const DefaultForeignDueDiligence: ForeignDueDiligenceModel = {\n expectedWithdrawalFrequency: '',\n initialContact: '',\n initialDepositAmount: 0,\n initialDepositType: '',\n primaryBanking: [''],\n referredName: '',\n referredRelationship: '',\n referredToBroker: true,\n};\n\nexport interface ForeignTaxWithholdingModel {\n taxIdentificationNumber: string | null;\n letterOfExplanation: string | null;\n jurisdictionDoesNotIssueTIN: BooleanToggleType | null;\n notIssuedForeignTIN: BooleanToggleType | null;\n treatyCountry: string | null;\n}\n\nexport const DefaultForeignTaxWithholding: ForeignTaxWithholdingModel = {\n taxIdentificationNumber: null,\n letterOfExplanation: null,\n jurisdictionDoesNotIssueTIN: null,\n notIssuedForeignTIN: null,\n treatyCountry: null,\n};\n\nexport const DefaultPublicOfficial: PublicOfficialModel = {\n name: '',\n role: '',\n title: '',\n organization: '',\n familyNames: '',\n};\n\nexport const DefaultSecurityChallenge: SecurityChallengeModel = {\n securityQuestionType: '',\n answer: '',\n};\n\nexport const DefaultPublicOfficials: PublicOfficialModel[] = [DefaultPublicOfficial];\n\nexport const AccountDisclosureContingentFieldsDefaults: Partial<\n { [key in AccountDisclosureContingentField]: PublicOfficialModel[] }\n> = {\n disclosuresEntityPublicOfficials: DefaultPublicOfficials,\n};\n\nexport const DefaultApplicationModel: ApplicationModel = {\n // Secure Account\n languageType: LanguageType.English,\n userName: '',\n password: '',\n passwordConfirm: '',\n securityChallenges: [DefaultSecurityChallenge, DefaultSecurityChallenge, DefaultSecurityChallenge],\n\n // Account Type\n type: ApplicationType.Individual,\n flexibilityType: FlexibilityType.Margin,\n clearer: null,\n\n // Investor Profile\n tradeGoalType: '',\n investmentObjectiveType: '',\n annualIncome: '',\n totalNetWorth: '',\n liquidNetWorth: '',\n characteristics: {\n risk: '',\n bracket: '',\n horizon: '',\n liquidity: '',\n },\n\n // Account Information\n primaryAccountHolder: DefaultAccountHolder,\n ownerCountry: '',\n retirementAccount: undefined,\n simpleIraPlanName: undefined,\n beneficiaryIraDecedentName: undefined,\n jointAccountType: undefined,\n\n // Agreements & Disclosures\n agreeToElectronicConsent: null,\n agreeToAll: null,\n deliveryType: DeliveryType.Electronic,\n disclosuresForeignBankUSAgent: '',\n disclosuresEntityNegativeNewsInfo: '',\n disclosuresEntityPublicOfficials: [],\n accountDisclosures: {\n foreignBank: null,\n foreignFinancialInstitution: null,\n proprietarySecuritiesAccount: null,\n foreignShellBank: null,\n entityIssuesBearerShares: null,\n entityNegativeNews: null,\n entityPublicOfficials: null,\n entityServicesForeignShellBanks: null,\n },\n agreements: {\n corporateCash: null,\n corporateMargin: null,\n customerAndPrivacyPolicy: null,\n entityMargin: null,\n entityOption: null,\n iRARothAdoption: null,\n iRASepAdoption: null,\n iRASimpleAdoption: null,\n iRACoverDellAdoption: null,\n jointCommunity: null,\n jointSurvivor: null,\n jointTenantsInCommon: null,\n jointTenantsInEntirety: null,\n limitedMargin: null,\n llcAccount: null,\n margin: null,\n option: null,\n riskDisclosure: null,\n electronicConsent: null,\n onlineServices: null,\n exchangeDataAgreement: null,\n clientRelationshipSummary: null,\n apiAgreement: null,\n rqdCustomerAgreement: null,\n rqdOption: null,\n rqdMargin: null,\n rqdLimitedMargin: null,\n rqdExecutionDisclosures: null,\n rqdClearingDisclosures: null,\n rqdCustomerInformationBrochure: null,\n rqdPrivacyPolicy: null,\n rqdPrivacyNotice: null,\n rqdResponsibilitiesOfIbAndCarryingBroker: null,\n rqdSpecialStatementForUncoveredOptionWriters: null,\n rqdPowerOfAttorney: null,\n rqdLimitedTradingAuthorization: null,\n },\n\n // Trade Experience\n experience: {\n commodities: {\n years: undefined,\n tradesPerYear: undefined,\n },\n bonds: {\n years: undefined,\n tradesPerYear: undefined,\n },\n stocks: {\n years: undefined,\n tradesPerYear: undefined,\n },\n options: {\n years: undefined,\n tradesPerYear: undefined,\n },\n margins: {\n years: undefined,\n tradesPerYear: undefined,\n },\n },\n\n // Market Data Questionnaire\n marketData: {\n employmentFunctions: null,\n personalUse: null,\n secCftcRegistration: null,\n associationRegistration: null,\n jobFunctions: null,\n investmentProfessional: null,\n capitalTrading: null,\n corporationTrading: BooleanToggleType.No,\n benefitsReceived: null,\n },\n marketDataType: null,\n\n // Sign & Submit\n signedNames: [],\n isPartialEntitySubmission: null,\n hearAboutUsId: undefined,\n repId: undefined,\n beneficiaries: [],\n foreignDueDiligence: {\n expectedWithdrawalFrequency: '',\n initialContact: '',\n initialDepositAmount: 0,\n initialDepositType: '',\n primaryBanking: [''],\n referredName: '',\n referredRelationship: '',\n referredToBroker: true,\n },\n};\n\nexport interface ApplicationInvestigationUploadedDocument {\n miscDocumentId: number;\n documentName: InvestigationDocuments;\n state: UploadedDocumentState;\n description?: string;\n fileName?: string;\n originalFileName?: string;\n takenOn?: string;\n uploadDateTime?: string;\n uploadUserName?: string;\n}\n\nexport interface DuplicateAccountCheckRequest {\n accountIdToIgnore?: number;\n entityAccountType?: EntityAccountType;\n flexibilityType: FlexibilityType;\n primaryTaxIdSecret?: string;\n retirementAccountType?: RetirementAccountType | null;\n secondaryTaxIdSecret?: string;\n type: ApplicationType;\n}\n\nexport interface DuplicateAccountCheckResponse {\n [key: string]: string[] | string;\n}\n\nexport interface EntityPartialSubmissionModel {\n type: AccountType;\n languageType: LanguageType;\n entityAccountType: EntityAccountType;\n deliveryType: DeliveryType;\n flexibilityType: FlexibilityType;\n tradeGoalType: TradeGoalType;\n heardAbout: {\n heardAboutUsId: number;\n officeCode: string;\n repId: number;\n };\n primaryAccountHolder: {\n email: string;\n firstName: string;\n lastName: string;\n };\n}\n","import axios from 'axios';\nimport _ from 'lodash';\nimport dayjs from 'dayjs';\nimport qs from 'qs';\nimport { OrderStatuses } from '@tradingblock/types';\nimport axiosRetry from 'axios-retry'; // export function toApiResponse(resp: ApiResponse | LegacyApiResponse): ApiResponse {\n// const payload: D = _.get(resp, 'Payload', undefined) || _.get(resp, 'payload', undefined);\n// const responseCode: ResponseCode = _.get(resp, 'ResponseCode', undefined) || _.get(resp, 'responseCode', undefined);\n// return {\n// payload,\n// responseCode,\n// };\n// }\n\nvar clients = {};\nexport var createAxiosClient = function createAxiosClient(url, token) {\n // Check if we already have a client instance for this url and token\n if (clients[\"\".concat(url, \"-\").concat(token)] !== undefined) {\n return clients[\"\".concat(url, \"-\").concat(token)];\n }\n\n var client = axios.create({\n baseURL: url,\n headers: {\n Authorization: token,\n Accept: 'application/json'\n }\n });\n axiosRetry(client, {\n retries: 6,\n retryCondition: function retryCondition(e) {\n return axiosRetry.isNetworkOrIdempotentRequestError(e) || e.response.status === 429;\n },\n shouldResetTimeout: true,\n retryDelay: function retryDelay(retryCount, error) {\n if (error.response && error.response.headers !== undefined) {\n var retry_after = error.response.headers['retry-after'];\n console.log('Retrying after: ', retry_after);\n\n if (retry_after) {\n return retry_after * 1000;\n }\n } // Can also just return 0 here for no delay if one isn't specified\n\n\n return retryCount * 2000;\n },\n onRetry: function onRetry(retryCount, error, requestConfig) {\n console.log(\"Retry attempt #\".concat(retryCount, \" for \").concat(requestConfig.url));\n console.log(\"Error \", error);\n }\n }); //Create a cache version of clients to prevent multiple clients from being created\n\n clients[\"\".concat(url, \"-\").concat(token)] = client;\n return client;\n};\nexport var formatUrl = function formatUrl(url, querystringParams) {\n var delim = url.indexOf('?') > -1 ? '&' : '?';\n var params = querystringParams ? qs.stringify(querystringParams, {\n indices: false\n }) : null;\n return \"\".concat(url).concat(params ? delim + params : '');\n};\nexport function isString(x) {\n return typeof x === 'string';\n}\nexport function getIdNumber(id) {\n return _.toNumber(id);\n}\nexport var DateFormats = {\n ApiFormat: 'MM-DD-YYYY',\n DateTimeApiFormat: 'YYYY-MM-DD hh:mm:ss'\n};\nexport var dateStringOrUndefined = function dateStringOrUndefined(dateOrString, format) {\n //if (dateOrString === undefined || isString(dateOrString)) return dateOrString;\n var dateValue = dateOrString === undefined || isString(dateOrString) ? dayjs(dateOrString).toDate() : dateOrString;\n\n if (format === undefined) {\n return dayjs(dateValue).toDate().toISOString();\n }\n\n return dayjs(dateValue).format(format);\n};\nexport function isInfinity(val) {\n return val === 'Infinity';\n}\nexport function isHeartbeat(val) {\n return val.type === 'HeartBeat';\n}\nexport function isExpiredToken(val) {\n return val.type === 'ExpiredToken';\n}\nexport function isOrderUpdate(val) {\n return val.type === 'OrderUpdate';\n}\nexport function isQuote(val) {\n return val.type === 'Quote';\n}\nexport function isSettlement(val) {\n return val.type === 'Settlement';\n}\nexport function getOrderStatus(val) {\n var match = _.map(OrderStatuses, function (s, k) {\n return {\n status: k,\n value: s\n };\n }).find(function (v) {\n return v.value === val;\n });\n\n return match;\n}","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport * as tslib_1 from \"tslib\";\nimport { createAxiosClient, formatUrl } from './utilities';\n\nfunction toApiResponse(legacyResponse) {\n return {\n payload: legacyResponse.Payload,\n responseCode: legacyResponse.ResponseCode,\n errors: legacyResponse.Errors\n };\n}\n\nexport var ApiClient =\n/*#__PURE__*/\nfunction () {\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n function ApiClient(rootUrl, authKey) {\n _classCallCheck(this, ApiClient);\n\n this.rootUrl = rootUrl;\n this.authKey = authKey;\n this.http = createAxiosClient(rootUrl, authKey);\n this.config = {\n headers: {}\n };\n }\n\n _createClass(ApiClient, [{\n key: \"authenticated\",\n value: function authenticated(authKey) {\n this.config.headers['Authorization'] = authKey || this.authKey;\n return this;\n }\n }, {\n key: \"withResponseHandler\",\n value: function withResponseHandler(_ref) {\n var onResponse = _ref.onResponse,\n onResponseError = _ref.onResponseError;\n this.http.interceptors.response.use(onResponse, onResponseError);\n return this;\n }\n }, {\n key: \"get\",\n value: function get(path, params, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var combinedConfig;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n combinedConfig = Object.assign({}, this.config, options || {});\n return _context.abrupt(\"return\", this.http.get(formatUrl(path, params), combinedConfig).then(function (res) {\n return res.data;\n }).then(toApiResponse));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n }\n }, {\n key: \"getBinary\",\n value: function getBinary(path, params, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var combinedConfig;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n combinedConfig = Object.assign({}, this.config, options || {});\n return _context2.abrupt(\"return\", this.http.get(formatUrl(path, params), Object.assign({}, combinedConfig, {\n responseType: 'arraybuffer'\n })));\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n }\n }, {\n key: \"post\",\n value: function post(path, payload, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var _a, queryParams, config, combinedConfig;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _a = options || {\n queryParams: undefined\n }, queryParams = _a.queryParams, config = tslib_1.__rest(_a, [\"queryParams\"]);\n combinedConfig = Object.assign({}, this.config, config);\n return _context3.abrupt(\"return\", this.http.post(formatUrl(path, queryParams || undefined), payload, combinedConfig).then(function (res) {\n return res.data;\n }).then(toApiResponse));\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n }\n }, {\n key: \"put\",\n value: function put(path, payload, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n var _a, queryParams, config, combinedConfig;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _a = options || {\n queryParams: undefined\n }, queryParams = _a.queryParams, config = tslib_1.__rest(_a, [\"queryParams\"]);\n combinedConfig = Object.assign({}, this.config, config);\n return _context4.abrupt(\"return\", this.http.put(formatUrl(path, queryParams || undefined), payload, combinedConfig).then(function (res) {\n return res.data;\n }).then(toApiResponse));\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n }\n }, {\n key: \"delete\",\n value: function _delete(path, params, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n var combinedConfig;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n combinedConfig = Object.assign({}, this.config, options || {});\n return _context5.abrupt(\"return\", this.http.delete(formatUrl(path, params), combinedConfig).then(function (res) {\n return res.data;\n }).then(toApiResponse));\n\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n }\n }]);\n\n return ApiClient;\n}();\nexport var UiApiClient =\n/*#__PURE__*/\nfunction () {\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n function UiApiClient(rootUrl, authKey) {\n _classCallCheck(this, UiApiClient);\n\n this.rootUrl = rootUrl;\n this.authKey = authKey;\n this.http = createAxiosClient(rootUrl, authKey);\n this.config = {\n headers: {}\n };\n }\n\n _createClass(UiApiClient, [{\n key: \"authenticated\",\n value: function authenticated(authKey) {\n this.config.headers['Authorization'] = authKey || this.authKey;\n this.config.withCredentials = true;\n return this;\n }\n }, {\n key: \"with\",\n value: function _with(func) {\n this.config = func(this.config);\n this.config.withCredentials;\n return this;\n }\n }, {\n key: \"withResponseHandler\",\n value: function withResponseHandler(_ref2) {\n var onResponse = _ref2.onResponse,\n onResponseError = _ref2.onResponseError;\n this.http.interceptors.response.use(onResponse, onResponseError);\n return this;\n }\n }, {\n key: \"get\",\n value: function get(path, params, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee6() {\n var combinedConfig;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n combinedConfig = Object.assign({}, this.config, options || {});\n return _context6.abrupt(\"return\", this.http.get(formatUrl(path, params), combinedConfig).then(function (res) {\n return res.data;\n }));\n\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n }\n }, {\n key: \"post\",\n value: function post(path, payload, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee7() {\n var _a, queryParams, config, combinedConfig;\n\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _a = options || {\n queryParams: undefined\n }, queryParams = _a.queryParams, config = tslib_1.__rest(_a, [\"queryParams\"]);\n combinedConfig = Object.assign({}, this.config, config);\n return _context7.abrupt(\"return\", this.http.post(formatUrl(path, queryParams || undefined), payload, combinedConfig).then(function (res) {\n return res.data;\n }));\n\n case 3:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n }\n }]);\n\n return UiApiClient;\n}();","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport { GenericErrorResponseCode, DefaultAccountDetails } from '@tradingblock/types';\nimport { GetAccountsUrl, GetAccountDetailsUrl, AccountsSearchUrl, GetSubaccountsUrl, SearchAccountUpdatesUrl, GetAccountUpdateDetailsUrl, GetAccountManagementDetailsUrl } from '../constants';\nimport { getIdNumber } from '..';\nimport { dateStringOrUndefined } from '..';\nvar RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport function accounts(api) {\n var _this = this;\n\n return {\n all: function all() {\n return api.authenticated().get(GetAccountsUrl, {}, RequestHeaders);\n },\n get: function get(acctId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var accountId;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n accountId = getIdNumber(acctId);\n _context.next = 4;\n return api.authenticated().get(GetAccountsUrl, {\n accountId: accountId\n }, RequestHeaders);\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.warn('error requesting account by accountId', acctId);\n return _context.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: []\n });\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }));\n },\n subaccounts: function subaccounts(acctId) {\n var accountId = getIdNumber(acctId);\n return api.authenticated().get(GetSubaccountsUrl, {\n accountId: accountId\n }, RequestHeaders);\n },\n details: function details(acctId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var accountId;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n accountId = getIdNumber(acctId);\n _context2.next = 4;\n return api.authenticated().get(GetAccountDetailsUrl, {\n accountId: accountId\n }, RequestHeaders);\n\n case 4:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](0);\n console.warn('error requesting account details by accountId', acctId);\n return _context2.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: DefaultAccountDetails\n });\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 7]]);\n }));\n },\n search: function search(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var searchRequest, result;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n searchRequest = Object.assign({}, request);\n _context3.next = 3;\n return api.authenticated().get(AccountsSearchUrl, searchRequest, RequestHeaders);\n\n case 3:\n result = _context3.sent;\n return _context3.abrupt(\"return\", result);\n\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n update: function update(acctId, request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n var holder, result;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n holder = request.holder ? request.holder : 0;\n _context4.next = 3;\n return api.authenticated().put(\"Accounts/UpdateAccount?accountId=\".concat(acctId, \"&holder=\").concat(holder), request, RequestHeaders);\n\n case 3:\n result = _context4.sent;\n return _context4.abrupt(\"return\", result);\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n getUpdate: function getUpdate(confirm) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return api.authenticated().get(\"Accounts/GetAccountUpdate?confirm=\".concat(confirm), RequestHeaders);\n\n case 2:\n return _context5.abrupt(\"return\", _context5.sent);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n },\n confirmUpdate: function confirmUpdate(confirm) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee6() {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return api.authenticated().put(\"Accounts/ConfirmAccountUpdate?confirm=\".concat(confirm), confirm, RequestHeaders);\n\n case 2:\n return _context6.abrupt(\"return\", _context6.sent);\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n },\n getUserUpdates: function getUserUpdates(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee7() {\n var startDate, endDate, searchRequest;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n startDate = _.isNil(request.startDate) ? undefined : dateStringOrUndefined(request.startDate, 'YYYY-MM-DD');\n endDate = _.isNil(request.endDate) ? undefined : dateStringOrUndefined(request.endDate, 'YYYY-MM-DD');\n searchRequest = Object.assign({}, request, {\n endDate: endDate,\n startDate: startDate\n });\n _context7.next = 5;\n return api.authenticated().get(SearchAccountUpdatesUrl, searchRequest, RequestHeaders);\n\n case 5:\n return _context7.abrupt(\"return\", _context7.sent);\n\n case 6:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n },\n getUserUpdateDetails: function getUserUpdateDetails(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee8() {\n var updateRequest;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n updateRequest = {\n accountId: request.accountId,\n updateId: request.id\n };\n _context8.next = 3;\n return api.authenticated().get(GetAccountUpdateDetailsUrl, updateRequest, RequestHeaders);\n\n case 3:\n return _context8.abrupt(\"return\", _context8.sent);\n\n case 4:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }));\n },\n getUserAccountDetails: function getUserAccountDetails(accountId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee9() {\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return api.authenticated().get(GetAccountManagementDetailsUrl, accountId, RequestHeaders);\n\n case 2:\n return _context9.abrupt(\"return\", _context9.sent);\n\n case 3:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9);\n }));\n },\n firmApproveUpdate: function firmApproveUpdate(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee10() {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return api.authenticated().put(\"Accounts/FirmApproveAccountUpdate?accountId=\".concat(request.accountId, \"&updateId=\").concat(request.updateId), request.request, RequestHeaders);\n\n case 2:\n return _context10.abrupt(\"return\", _context10.sent);\n\n case 3:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10);\n }));\n },\n firmRejectUpdate: function firmRejectUpdate(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee11() {\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return api.authenticated().put(\"Accounts/FirmRejectAccountUpdate?accountId=\".concat(request.accountId, \"&updateId=\").concat(request.updateId), request.request, RequestHeaders);\n\n case 2:\n return _context11.abrupt(\"return\", _context11.sent);\n\n case 3:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11);\n }));\n },\n entitlements: function entitlements() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee12() {\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.next = 2;\n return api.authenticated().get(\"/User/GetEntitlements\", {}, RequestHeaders);\n\n case 2:\n return _context12.abrupt(\"return\", _context12.sent);\n\n case 3:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12);\n }));\n }\n };\n}","import CryptoJS from 'crypto-js';\nvar UNSAFE_KEY = 'tradingblock';\nexport var encode = function encode(source) {\n return CryptoJS.AES.encrypt(JSON.stringify(source), UNSAFE_KEY).toString();\n};\nexport var decode = function decode(text) {\n try {\n var bytes = CryptoJS.AES.decrypt(text, UNSAFE_KEY);\n var jsonStr = bytes.toString(CryptoJS.enc.Utf8);\n return JSON.parse(jsonStr);\n } catch (err) {\n return undefined;\n }\n};","import jwt from 'jsonwebtoken';\nimport _ from 'lodash';\nexport var verify = function verify(key, value, _ref) {\n var clientType = _ref.clientType,\n algorithms = _ref.algorithms,\n ignoreExpiration = _ref.ignoreExpiration;\n var clientTypes = _.isArray(clientType) ? clientType : [clientType];\n\n if (!value) {\n return Promise.resolve(null);\n }\n\n return new Promise(function (resolve, reject) {\n return jwt.verify(value, key, {\n algorithms: algorithms,\n ignoreExpiration: ignoreExpiration\n }, function (err, payload) {\n if (payload) {\n var _jwt = payload;\n\n if (!clientTypes.includes(_jwt.clientType)) {\n var expected = clientTypes.join('|');\n reject(\"Incorrect clientType '\".concat(_jwt.clientType, \"'. Expected '\").concat(expected, \"'\"));\n }\n\n return resolve(payload);\n } else {\n console.error('jwt verification failed', err);\n return resolve(null);\n }\n });\n });\n};\nexport var sign = function sign(key, value, opts) {\n try {\n return jwt.sign(value, key, opts);\n } catch (err) {\n console.error('jwt signing error', err);\n }\n\n return null;\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport { encode } from '../jsonEncode';\nimport { BaseApiUrl, LoginApiUrl, UIClientTypes } from '@tradingblock/types';\nimport { LogoutTokenUrl, NoPassLoginFinishUrl, NoPassLoginStartUrl } from '../constants';\nimport { verify } from '../utilities/JwtUtilities';\n\nfunction isString(x) {\n return typeof x === 'string';\n}\n\nexport function TryLogin(values, options) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var host, loginUrl;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n host = options.host || '';\n loginUrl = host + (options.subdirectory ? options.subdirectory : '') + LoginApiUrl(options.subroot);\n _context.next = 4;\n return fetch(loginUrl, {\n method: 'post',\n body: JSON.stringify({\n encoded: encode(values)\n }),\n headers: {\n 'Content-Type': 'application/json'\n }\n }).then(function (res) {\n return res.json();\n }).then(function (json) {\n return json;\n });\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n}\nvar httpOptions = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport var auth = function auth(api) {\n return {\n logout: function logout() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", api.authenticated().post(LogoutTokenUrl, {}, httpOptions));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n }\n };\n};\n\nvar tryVerify = function tryVerify(publicKey, token) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var decoded, jwtValues;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return verify(publicKey, token, {\n clientType: UIClientTypes.dashboard,\n algorithms: ['RS256'],\n ignoreExpiration: false\n });\n\n case 3:\n decoded = _context3.sent;\n\n if (!(!decoded || isString(decoded))) {\n _context3.next = 9;\n break;\n }\n\n console.warn('jwt response was invalid, an object was expected', decoded);\n return _context3.abrupt(\"return\", null);\n\n case 9:\n jwtValues = decoded;\n return _context3.abrupt(\"return\", {\n value: token,\n decoded: jwtValues\n });\n\n case 11:\n _context3.next = 17;\n break;\n\n case 13:\n _context3.prev = 13;\n _context3.t0 = _context3[\"catch\"](0);\n console.warn('token verification failed:', _context3.t0);\n return _context3.abrupt(\"return\", null);\n\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[0, 13]]);\n }));\n};\n\nexport var verifyToken = function verifyToken(id_token, uiApi) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n var pubKey;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return fetch(\"\".concat(BaseApiUrl, \"/publickey\")).then(function (res) {\n return res.json();\n });\n\n case 2:\n pubKey = _context4.sent;\n _context4.next = 5;\n return tryVerify(pubKey.key, id_token);\n\n case 5:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n};\nexport function TryNoPassLogin(values, host, loginUrl, setImage, setRequestInProgress, setNoPassError) {\n return tslib_1.__awaiter(this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n var username, password, apiToken, clientType, noPassLoginStartUrl, noPassLoginFinishUrl, data1, authId, image, data2, tokenPayload, uiTokenData, tokenResult, value, decoded;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n username = values.username, password = values.password, apiToken = values.apiToken, clientType = values.clientType;\n noPassLoginStartUrl = host + '/' + NoPassLoginStartUrl + '?username=' + values.username;\n noPassLoginFinishUrl = host + '/' + NoPassLoginFinishUrl + '?authid=';\n setRequestInProgress(true);\n _context5.prev = 4;\n _context5.next = 7;\n return fetch(\"\".concat(noPassLoginStartUrl), {\n method: 'post',\n body: JSON.stringify({\n encoded: encode(values)\n }),\n headers: {\n 'Content-Type': 'application/json'\n }\n }).then(function (res) {\n return res.json();\n });\n\n case 7:\n data1 = _context5.sent;\n\n if (!(data1.Payload && data1.Payload.AuthId)) {\n _context5.next = 33;\n break;\n }\n\n authId = data1.Payload.AuthId;\n image = data1.Payload.Image;\n setImage(image);\n _context5.next = 14;\n return fetch(\"\".concat(noPassLoginFinishUrl + authId)).then(function (res) {\n return res.json();\n });\n\n case 14:\n data2 = _context5.sent;\n tokenPayload = data2.Payload;\n\n if (!tokenPayload) {\n _context5.next = 32;\n break;\n }\n\n _context5.next = 19;\n return TryLogin({\n username: username,\n password: '',\n apiToken: tokenPayload,\n clientType: clientType\n }, {\n host: loginUrl\n });\n\n case 19:\n uiTokenData = _context5.sent;\n _context5.next = 22;\n return verifyToken(uiTokenData.token, loginUrl);\n\n case 22:\n tokenResult = _context5.sent;\n\n if (!tokenResult) {\n _context5.next = 29;\n break;\n }\n\n setRequestInProgress(false);\n value = tokenResult.value, decoded = tokenResult.decoded;\n return _context5.abrupt(\"return\", Object.assign({}, decoded, {\n apiToken: tokenPayload,\n token: value\n }));\n\n case 29:\n setNoPassError('NoPass Authentication Failed');\n\n case 30:\n _context5.next = 33;\n break;\n\n case 32:\n setNoPassError('User is not registered or the request has been denied.');\n\n case 33:\n _context5.next = 39;\n break;\n\n case 35:\n _context5.prev = 35;\n _context5.t0 = _context5[\"catch\"](4);\n console.error('⬤ NoPass Authentication Error', _context5.t0);\n setNoPassError(\"NoPass Authentication Error: \".concat(_context5.t0));\n\n case 39:\n setRequestInProgress(false);\n return _context5.abrupt(\"return\", null);\n\n case 41:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[4, 35]]);\n }));\n}","import * as _ from 'lodash';\n\nvar getEnvValue = function getEnvValue(key) {\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var keyVal = \"\".concat(prefix).concat(key);\n var strVal = process.env[keyVal];\n return strVal;\n};\n\nfunction getValueOrDefault(key, prefix, getValue) {\n return function (defaultValue) {\n var keyVal = \"\".concat(prefix).concat(key);\n var strVal = process.env[keyVal];\n var envVal = getValue ? getValue(strVal) : strVal;\n return _.isNil(envVal) ? defaultValue : envVal;\n };\n}\n\nvar value = function value(key, getValue) {\n return getValueOrDefault(key, '', getValue);\n};\n\nvar isTrue = function isTrue(value) {\n return value && ['1', 'true', 'True', 'TRUE', 'yes'].includes(value) ? true : false;\n};\n\nexport var ConfigUtils = {\n value: value,\n getValueOrDefault: getValueOrDefault,\n getEnvValue: getEnvValue,\n isTrue: isTrue\n};","import _defineProperty from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _inherits from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _wrapNativeSuper from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper\";\nimport _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\n\nfunction _wrapRegExp(re, groups) { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, groups); }; var _RegExp = _wrapNativeSuper(RegExp); var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, groups) { var _this = _RegExp.call(this, re); _groups.set(_this, groups); return _this; } _inherits(BabelRegExp, _RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === \"string\") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) { return \"$\" + groups[name]; })); } else if (typeof substitution === \"function\") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = []; args.push.apply(args, arguments); if (typeof args[args.length - 1] !== \"object\") { args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }\n\nimport { ExpiredTokenCode } from '@tradingblock/types';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\nimport _ from 'lodash';\nimport { toRawOccSymbol, isOCCSymbol } from '..';\nexport var WebsocketFeedParser =\n/*#__PURE__*/\nfunction () {\n function WebsocketFeedParser(value) {\n var _this = this;\n\n _classCallCheck(this, WebsocketFeedParser);\n\n this.str = function (ind) {\n return _this.values[ind];\n };\n\n this.int = function (ind) {\n return parseInt(_this.str(ind));\n };\n\n this.float = function (ind) {\n return parseFloat(_this.str(ind));\n };\n\n this.date = function (ind) {\n return dayjs(_this.str(ind));\n };\n\n this.success = function (ind) {\n return _this.int(ind) === 0 ? true : false;\n };\n\n this.getMessageType = function (typeVal) {\n var typeValInt = _this.int(typeVal);\n\n switch (typeValInt) {\n case 100:\n case 0:\n return 'HeartBeat';\n\n case 1:\n return 'Quote';\n\n case 2:\n return 'Spread';\n\n case 3:\n return 'OrderUpdate';\n\n case 4:\n return 'Settlement';\n\n case 90:\n return 'ExpiredToken';\n\n default:\n return undefined;\n }\n };\n\n this.metadata = function () {\n return {\n success: _this.success(0),\n type: _this.getMessageType(1),\n raw: _this.raw\n };\n };\n\n this.parseExpiredTokenMessage = function () {\n var metadata = _this.metadata();\n\n var Code = _this.int(2) === 10 ? ExpiredTokenCode.DuplicateLogin : ExpiredTokenCode.Unknown;\n return Object.assign({}, metadata, {\n Code: Code,\n Reason: _this.str(3),\n isValid: true\n });\n };\n\n this.parseQuote = function () {\n var metadata = _this.metadata();\n\n var _QuoteTime = {\n QuoteTime: _this.str(2)\n },\n QuoteTime = _QuoteTime.QuoteTime;\n\n var symbol = _this.str(3);\n\n var Symbol = isOCCSymbol(symbol) ? toRawOccSymbol(symbol) : symbol;\n return Object.assign({}, metadata, {\n QuoteTime: QuoteTime,\n Symbol: Symbol,\n LastTradePrice: _this.float(4),\n BidPrice: _this.float(5),\n AskPrice: _this.float(6),\n NetChange: _this.float(7),\n High: _this.float(8),\n Low: _this.float(9),\n Volume: _this.float(10),\n ChangePercentage: _this.float(11),\n BidSize: _this.float(12),\n AskSize: _this.float(13),\n isValid: dayjs(QuoteTime, 'MM/DD/YYYY HH:mm:ss').isValid() && dayjs(QuoteTime, 'MM/DD/YYYY HH:mm:ss').year() >= dayjs().year()\n });\n };\n\n this.parseOrderUpdate = function () {\n var metadata = _this.metadata();\n\n return Object.assign({}, metadata, {\n AccountId: _this.int(2),\n OrderId: _this.int(3),\n OrderTime: _this.date(4).toDate(),\n Symbol: _this.str(5),\n OrderQuantity: _this.float(6),\n FilledQuantity: _this.float(7),\n OrderPrice: _this.float(8),\n OrderAction: _this.str(9),\n OrderStatus: _this.int(10),\n Expiration: _this.date(11).toDate(),\n CallPut: _this.str(12),\n Strike: _this.float(13),\n isValid: true\n });\n };\n\n this.parseSettlement = function () {\n var metadata = _this.metadata();\n\n return Object.assign({}, metadata, {\n CloseDate: _this.str(2),\n Symbol: _this.str(3),\n ClosePrice: _this.float(4),\n ClosePriceTMinus2: _this.float(5),\n IsSettlementSet: true,\n isValid: true\n });\n };\n\n this.parseHeartbeat = function () {\n var metadata = _this.metadata();\n\n return Object.assign({}, metadata, {\n isValid: true\n });\n };\n\n this.parseMap = {\n Quote: this.parseQuote,\n HeartBeat: this.parseHeartbeat,\n OrderUpdate: this.parseOrderUpdate,\n ExpiredToken: this.parseExpiredTokenMessage,\n Spread: this.parseUnknown,\n Settlement: this.parseSettlement\n };\n\n this.parse = function () {\n var parser = _this.parseMap;\n\n var metadata = _this.metadata();\n\n if (parser && metadata && metadata.type && parser[metadata.type]) {\n return parser[metadata.type]();\n }\n\n return undefined;\n };\n\n this.values = value.split('|').reduce(function (acc, vv) {\n var matchVal = vv.match(_wrapRegExp(/(\\d+)=(.*)/, {\n fieldkey: 1,\n fieldvalue: 2\n }));\n\n if (_.isNil(matchVal)) {\n return acc;\n } // vv.replace(/(\\d+)=/, '')\n\n\n var _matchVal$groups = matchVal.groups,\n fieldkey = _matchVal$groups.fieldkey,\n fieldvalue = _matchVal$groups.fieldvalue;\n\n var fKey = _.parseInt(fieldkey);\n\n if (_.isNil(fKey) || _.isNaN(fKey)) {\n return acc;\n }\n\n return Object.assign({}, acc, _defineProperty({}, fKey, fieldvalue));\n }, {});\n this.raw = value; // if (vals.length < 12) {\n // console.warn('quote string from feed has less fields than expected', value);\n // }\n }\n\n _createClass(WebsocketFeedParser, [{\n key: \"parseUnknown\",\n value: function parseUnknown() {\n var metadata = this.metadata();\n return Object.assign({}, metadata, {\n isValid: true\n });\n }\n }]);\n\n return WebsocketFeedParser;\n}();","import { AssetType, SymbolTypes, OptionExpirationType, OptionType } from '@tradingblock/types';\nimport _ from 'lodash';\nimport { SymbolsWithAMPMExpirations } from '../constants';\nimport { isString } from '../utilities';\nexport var AssetTypeToSymbolType = function AssetTypeToSymbolType(assType) {\n switch (assType) {\n case AssetType.Index:\n {\n return SymbolTypes.index;\n }\n\n case AssetType.Equity:\n {\n return SymbolTypes.stock;\n }\n\n default:\n {\n return AssetType[assType];\n }\n }\n};\n\nvar isIndex = function isIndex(symbol) {\n return _.first(symbol) === '$';\n};\n\nexport var isIndexSymbol = function isIndexSymbol(symbol) {\n return isString(symbol) ? isIndex(symbol) : symbol ? symbol.type === SymbolTypes.index || isIndex(symbol.symbol) : false;\n};\nexport var toAssetSymbol = function toAssetSymbol(symbol, assetType, symbolType, partSymb) {\n return Object.assign({\n rootSymbol: symbol,\n underlyingSymbol: symbol,\n name: symbol,\n provider: ''\n }, partSymb || {}, {\n symbol: symbol,\n type: symbolType,\n assetType: assetType\n });\n};\nexport var toAssetSymbolBySymbolType = function toAssetSymbolBySymbolType(symbol, symbolType, partSymb) {\n return toAssetSymbol(symbol, symbolType === SymbolTypes.index ? AssetType.Index : AssetType.Equity, symbolType, partSymb);\n};\nexport var occParseRegex = /([\\w]{1,4})[\\s]*(\\d{2})(\\d{2})(\\d{2})([PC])(\\d*)/;\nexport var isOCCSymbol = function isOCCSymbol(occSymbol) {\n var data = _.replace(occSymbol, '.', '').match(occParseRegex);\n\n if (data && data && data.length >= 5) {\n return true;\n }\n\n return false;\n};\nexport var deriveRootSymbol = function deriveRootSymbol(symbol) {\n if (isOCCSymbol(symbol)) {\n var data = symbol.match(occParseRegex);\n\n if (data && data && data.length >= 5) {\n return data[1];\n }\n } else {\n return symbol;\n }\n};\nexport var deriveOptionExpirationType = function deriveOptionExpirationType(symbol, underlyingSymbol) {\n if (isOCCSymbol(symbol)) {\n if (SymbolsWithAMPMExpirations.includes(underlyingSymbol)) {\n var cleanRootSymbol = deriveRootSymbol(symbol).trim().toLocaleLowerCase();\n\n var cleanUnderlying = _.replace(underlyingSymbol, '$', '').trim().toLocaleLowerCase();\n\n return cleanRootSymbol !== cleanUnderlying ? OptionExpirationType.PM : OptionExpirationType.AM;\n } else {\n return OptionExpirationType.PM;\n }\n }\n\n return undefined;\n};\nexport var isSymbolEqual = function isSymbolEqual(one, two) {\n if (_.isNil(one) || _.isNil(two)) {\n return false;\n }\n\n return one.underlyingSymbol === two.underlyingSymbol && one.rootSymbol === two.rootSymbol && one.symbol === two.symbol;\n};\nexport var parseOccSymbol = function parseOccSymbol(occSymbol) {\n var data = occSymbol.match(occParseRegex);\n\n if (data && data && data.length >= 5) {\n var symbol = data[1]; // since year match is 2 digits, ensure full year is 20** (otherwise Date will parse 2 digit year as 19**)\n\n var year = 2000 + parseInt(data[2]); // Date object uses zero-indexed month\n\n var month = parseInt(data[3]) - 1;\n var day = parseInt(data[4]);\n var callput = data[5];\n var price = data[6];\n return {\n symbol: symbol,\n expiration: new Date(year, month, day),\n option: callput ? callput.toLocaleLowerCase() === 'p' ? OptionType.Put : OptionType.Call : undefined,\n strike: price ? parseInt(price) / 1000 : undefined,\n assetType: AssetType.Option\n };\n } else {\n return {\n symbol: occSymbol,\n assetType: AssetType.Equity\n };\n }\n};\nexport function isOptionSymbol(val) {\n return parseOccSymbol(val).assetType === AssetType.Option;\n}\nexport function isOptionAsset(val) {\n return val.assetType === AssetType.Option;\n}\nexport function isMutualFundSymbol(val) {\n return val.startsWith(':');\n}","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport { Durations, AssetType, OrderAction, PositionEffect, OrderActionDirection, SizeRatio } from '@tradingblock/types';\nimport { tryValidate, SchemaValidator } from './strategyValidator';\nexport var baseOccPattern = function baseOccPattern() {\n var optionType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'PC';\n return new RegExp('([\\\\s]{3})([\\\\w]{3,6})(\\\\d{2})(\\\\d{2})(\\\\d{2})([' + optionType + '])(\\\\d{5,8})');\n}; //export const occSymbolPattern = /([\\s]{3})([\\w]{3,6})(\\d{2})(\\d{2})(\\d{2})([PC])(\\d{5,8})/g;\n\nexport var occSymbolPattern = baseOccPattern();\nexport var legSchemaBuilder = function legSchemaBuilder(_ref, sizeRatio) {\n var spreadRatio = _ref.spreadRatio,\n assetType = _ref.assetType,\n action = _ref.action,\n optionType = _ref.optionType;\n var requiredFields = ['UnderlyingSymbol', 'AssetType', 'Action', 'PositionEffect', 'Symbol'];\n\n if (assetType === AssetType.Option) {\n requiredFields = [].concat(_toConsumableArray(requiredFields), ['Expiration', 'Strike']);\n }\n\n var isSpread = sizeRatio !== SizeRatio.NA;\n\n if (isSpread) {\n requiredFields = [].concat(_toConsumableArray(requiredFields), ['SpreadRatio']);\n }\n\n var legSchema = {\n type: 'object',\n required: requiredFields,\n properties: {\n UnderlyingSymbol: {\n type: 'string'\n },\n SpreadRatio: isSpread ? {\n type: 'number'\n } : {\n anyOf: [{\n type: 'number'\n }, {\n const: undefined\n }]\n },\n AssetType: {\n enum: _.isArray(assetType) ? assetType : [assetType]\n },\n Strike: assetType === AssetType.Option ? {\n type: 'number'\n } : {\n const: undefined\n },\n Action: _.isArray(action) ? {\n enum: action\n } : {\n type: 'number'\n },\n PositionEffect: {\n enum: [PositionEffect.Open, PositionEffect.Close]\n },\n // Strike: assetType === AssetType.Option ? { type: 'number' } : undefined,\n Symbol: {\n type: 'string'\n },\n OptionType: {\n const: optionType\n }\n }\n };\n return legSchema;\n};\n\nvar orderSchemaBuilder = function orderSchemaBuilder(orderClass, legSchema, spreadRatio, moreProperties) {\n var _a = _.merge(moreProperties, {\n Strike: undefined,\n Expiration: undefined,\n Direction: undefined\n }),\n Strike = _a.Strike,\n Expiration = _a.Expiration,\n Direction = _a.Direction,\n rest = tslib_1.__rest(_a, [\"Strike\", \"Expiration\", \"Direction\"]);\n\n return {\n required: ['OrderClass', 'Duration', 'Legs'],\n properties: Object.assign({\n OrderClass: {\n const: orderClass\n },\n Duration: {\n enum: [Durations.GTC, Durations.Day, Durations.Manual]\n },\n Legs: {\n minItems: legSchema.length,\n maxItems: legSchema.length,\n type: 'array',\n items: _.map(legSchema, function (l) {\n return legSchemaBuilder(l, spreadRatio);\n }),\n strike: Strike,\n expiration: Expiration,\n ratio: spreadRatio,\n action: Direction\n }\n }, rest || {})\n };\n};\n\nfunction isActionLegSchema(val) {\n if (val && _.get(val, 'action', false)) {\n return true;\n }\n\n return false;\n}\n\nvar buildValidationSchemas = function buildValidationSchemas(strategy) {\n var legsDef = _.map(strategy.profile.Legs, function (l) {\n var legSchem = {\n assetType: l.AssetType,\n spreadRatio: l.SpreadRatio,\n optionType: l.OptionType\n };\n\n if (l.Direction) {\n return Object.assign({}, legSchem, {\n action: l.Direction === OrderActionDirection.Long ? OrderAction.Buy : OrderAction.Sell\n });\n }\n\n return legSchem;\n });\n\n var additionalRules = strategy.profile.Rules ? {\n Strike: strategy.profile.Rules.Strike,\n Expiration: strategy.profile.Rules.Expiration,\n Direction: strategy.profile.Rules.Direction\n } : {};\n var orderSchema = orderSchemaBuilder(strategy.profile.OrderClass, legsDef, strategy.profile.Rules.SpreadRatio, additionalRules);\n var inverseOrderSchema = strategy.profile.Bidirectional ? orderSchemaBuilder(strategy.profile.OrderClass, legsDef.map(function (ll) {\n if (isActionLegSchema(ll)) {\n return Object.assign({}, ll, {\n action: ll.action === OrderAction.Buy ? OrderAction.Sell : OrderAction.Buy\n });\n }\n\n return ll;\n }), strategy.profile.Rules.SpreadRatio, additionalRules) : undefined;\n return {\n buySchema: orderSchema,\n sellSchema: inverseOrderSchema\n };\n};\n\nexport var tryValidateOrderForStrategy = function tryValidateOrderForStrategy(ajv, strategy, order) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var schemas, _ref2, _ref3, validationResults, inverseValidationResults;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n schemas = buildValidationSchemas(strategy);\n _context.next = 3;\n return Promise.all([tryValidate(ajv, schemas.buySchema, order), schemas.sellSchema ? tryValidate(ajv, schemas.sellSchema, order) : Promise.resolve(undefined)]);\n\n case 3:\n _ref2 = _context.sent;\n _ref3 = _slicedToArray(_ref2, 2);\n validationResults = _ref3[0];\n inverseValidationResults = _ref3[1];\n return _context.abrupt(\"return\", {\n order: order,\n sell: {\n isValid: inverseValidationResults && inverseValidationResults.valid ? true : false,\n results: inverseValidationResults\n },\n buy: {\n isValid: validationResults && validationResults.valid ? true : false,\n results: validationResults\n }\n });\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\nexport var tryValidateOrder = function tryValidateOrder(ajv, strategy, order) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var schemas, res, inverse, isVal, isInverseValid;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n schemas = buildValidationSchemas(strategy);\n _context2.next = 3;\n return tryValidate(ajv, schemas.buySchema, order);\n\n case 3:\n res = _context2.sent;\n\n if (!schemas.sellSchema) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 7;\n return tryValidate(ajv, schemas.sellSchema, order);\n\n case 7:\n _context2.t0 = _context2.sent;\n _context2.next = 11;\n break;\n\n case 10:\n _context2.t0 = undefined;\n\n case 11:\n inverse = _context2.t0;\n isVal = res.valid ? res.valid : inverse ? inverse.valid : false;\n isInverseValid = isVal && inverse && inverse.valid ? true : false; // console.log(strategy.info.Name, res, inverse);\n\n return _context2.abrupt(\"return\", {\n isInverse: isInverseValid,\n valid: isVal,\n validationResults: res,\n inverseValidationResults: inverse\n });\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n};\nexport var validateOrder = function validateOrder(strategy, order) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return tryValidateOrder(SchemaValidator(), strategy, order);\n\n case 2:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n};\nexport var validateOrderForStrategy = function validateOrderForStrategy(strategy, order) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return tryValidateOrderForStrategy(SchemaValidator(), strategy, order);\n\n case 2:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n};\nexport var isValid = function isValid(strategy, order) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return validateOrder(strategy, order).then(function (res) {\n return res.valid;\n });\n\n case 2:\n return _context5.abrupt(\"return\", _context5.sent);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n};","import _defineProperty from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\n\nvar _MarginRequirements, _profile, _MarginRequirements2, _profile2, _MarginRequirements3, _profile3, _MarginRequirements4, _profile4, _MarginRequirements5, _profile5, _MarginRequirements6, _profile6, _MarginRequirements7, _profile7, _MarginRequirements8, _profile8, _MarginRequirements9, _profile9, _MarginRequirements10, _profile10, _MarginRequirements11, _profile11, _MarginRequirements12, _profile12, _MarginRequirements13, _profile13, _MarginRequirements14, _profile14, _MarginRequirements15, _profile15, _MarginRequirements16, _profile16, _MarginRequirements17, _profile17;\n\nimport { OrderClass, AssetType, SizeRatio, StrategyType, OrderActionDirection, OptionType, StrikeRules, ExpirationRules, DirectionRules } from '@tradingblock/types';\nimport { isIndexSymbol } from '..';\nexport { validateOrder } from './validation';\nexport { SchemaValidator } from './strategyValidator';\nexport var Shares = {\n info: {\n Name: 'Shares',\n Symbol: 'S',\n LegsAmount: 1,\n Strikes: 0,\n PermissionLevel: 0,\n SizeRatio: SizeRatio.NA,\n SvgPath: 'shares',\n IconKind: 'svg'\n },\n profile: (_profile = {\n Rules: {\n SpreadRatio: SizeRatio.NA\n },\n OrderClass: OrderClass.Single,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Equity,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile, OrderActionDirection.Long, {\n Strength: 9,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile, OrderActionDirection.Short, {\n Strength: 8,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile, \"MarginRequirements\", (_MarginRequirements = {}, _defineProperty(_MarginRequirements, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // if isLimitOrder\n // then \tif MktAsk(S) > 0 // if there is available market offer in S greater than 0\n // then X = Min( MktAsk(S), Px(S)) // Px(S) is the client’s specified price for the strategy\n // else X = Px(S)\n // else \tif MktAsk(S) > 0\n // \tthen X = MktAsk(S) // Market best offer will be a good estimate for execution price\n // \telse X = Last(S) // Last price will be a good estimate for execution price X\n // fi\n // margin = ( X < 5 ? X : 0.5 * X ) * quantity;\n var ask = quotes[0].AskPrice;\n var last = quotes[0].LastTradePrice;\n var x;\n\n if (isLimitOrder) {\n if (ask > 0) {\n x = Math.min(ask, offerPrice);\n } else {\n x = offerPrice;\n }\n } else {\n if (ask > 0) {\n x = ask;\n } else {\n x = last;\n }\n }\n\n return x < 5 ? x : 0.5 * x;\n }), _defineProperty(_MarginRequirements, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // margin value is based on estimated execution price X of selling shares\n // if isLimitOrder\n // \tthen\tX = Max( MktBid(S), Px(S))) // Px(S) is the client’s specified price for the strategy\n // \telse\tX = Max( MktBid(S), Last(S)) // conservative estimate of the execution price X\n // fi\n // margin = ( X < 2.5 ? 2.5 : ( X < 5 ? X : (X < 50 /3.0 ? 5 : 0.3 * X ) ) ) * quantity\n var bid = quotes[0].BidPrice;\n var last = quotes[0].LastTradePrice;\n var x;\n\n if (isLimitOrder) {\n x = Math.max(bid, offerPrice);\n } else {\n x = Math.max(bid, last);\n }\n\n return x < 2.5 ? 2.5 : x < 5 ? x : x < 50 / 3 ? 5 : 0.3 * x;\n }), _MarginRequirements)), _profile)\n};\nexport var Call = {\n // validation: {\n // orderSchema: orderSchemaBuilder(OrderClass.Single, [\n // {\n // assetType: AssetType.Option,\n // action: [OrderAction.Buy, OrderAction.Sell],\n // spreadRatio: 1,\n // },\n // ]),\n // },\n info: {\n Name: 'Call',\n Symbol: 'C',\n LegsAmount: 1,\n Strikes: 1,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.NA,\n SvgPath: 'call',\n IconKind: 'svg'\n },\n profile: (_profile2 = {\n Rules: {\n SpreadRatio: SizeRatio.NA\n },\n Bidirectional: true,\n OrderClass: OrderClass.Single,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile2, OrderActionDirection.Long, {\n Strength: 10,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile2, OrderActionDirection.Short, {\n Strength: 9,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile2, \"MarginRequirements\", (_MarginRequirements2 = {}, _defineProperty(_MarginRequirements2, OrderActionDirection.Long, function () {\n return 0;\n }), _defineProperty(_MarginRequirements2, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // X = Last(S)\n // if S is Index\n // then\tmargin = Max( 0.1 * X, 0.15 * (X – Max( 0, K – X ) ) ) * quantity * Multiplier\n // else\t// Missing MktAsk shall be treated as zero\n // \tif MktAsk > 0 then X = Max( Last(S), MktAsk(S) ) // MktAsk(S) cannot be infinity either\n // margin = Max( 0.1 * X, 0.20 * (X – Max( 0, K – X ) ) ) * quantity * Multiplier\n // fi\n var symbol = quotes[0].Symbol;\n var ask = quotes[0].AskPrice;\n\n if (Object.values(legs).length <= 0) {\n return 0;\n }\n\n var strike = Object.values(legs)[0].Strike;\n var x = quotes[0].LastTradePrice;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(0.1 * x, 0.15 * (x - Math.max(0, strike - x)));\n } else {\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n return Math.max(0.1 * x, 0.2 * (x - Math.max(0, strike - x)));\n }\n }), _MarginRequirements2)), _profile2)\n};\nexport var Put = {\n // validation: {\n // orderSchema: orderSchemaBuilder(OrderClass.Single, [\n // {\n // assetType: AssetType.Option,\n // action: [OrderAction.Buy, OrderAction.Sell],\n // spreadRatio: 1,\n // },\n // ]),\n // },\n info: {\n Name: 'Put',\n Symbol: 'P',\n LegsAmount: 1,\n Strikes: 1,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.NA,\n SvgPath: 'put',\n IconKind: 'svg'\n },\n profile: (_profile3 = {\n Rules: {\n SpreadRatio: SizeRatio.NA\n },\n Bidirectional: true,\n OrderClass: OrderClass.Single,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile3, OrderActionDirection.Long, {\n Strength: 10,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile3, OrderActionDirection.Short, {\n Strength: 8,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile3, \"MarginRequirements\", (_MarginRequirements3 = {}, _defineProperty(_MarginRequirements3, OrderActionDirection.Long, function () {\n // 0\n return 0;\n }), _defineProperty(_MarginRequirements3, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // margin is based on estimate of current value X of the underlying symbol S\n // X = Last(S)\n // if S is Index\n // then margin = Max( 0.1 * K, 0.15 * (X – Max( 0, X - K ) ) )\n // else margin = Max( 0.1 * K, 0.20 * (X – Max( 0, X - K ) ) )\n // fi\n //TODO: Ask Milan about how the user set price plays a role in the the margin calculation\n var symbol = quotes[0].Symbol;\n\n if (Object.values(legs).length <= 0) {\n return 0;\n }\n\n var strike = Object.values(legs)[0].Strike;\n var x = quotes[0].LastTradePrice;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(0.1 * strike, 0.15 * (x - Math.max(0, x - strike)));\n } else {\n return Math.max(0.1 * strike, 0.2 * (x - Math.max(0, x - strike)));\n }\n }), _MarginRequirements3)), _profile3)\n};\nexport var CoveredCall = {\n info: {\n Name: 'Covered Call',\n Symbol: 'CC',\n LegsAmount: 2,\n Strikes: 1,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.HundredToOne,\n SvgPath: 'covered-call',\n IconKind: 'svg'\n },\n profile: (_profile4 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 100,\n AssetType: AssetType.Equity,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }]\n }, _defineProperty(_profile4, OrderActionDirection.Long, {\n Strength: 6,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile4, OrderActionDirection.Short, {\n Strength: 7,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile4, \"Rules\", {\n SpreadRatio: SizeRatio.HundredToOne,\n Direction: DirectionRules.DifferentDirections\n }), _defineProperty(_profile4, \"MarginRequirements\", (_MarginRequirements4 = {}, _defineProperty(_MarginRequirements4, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // buying stock and selling call\n // // margin value is based on estimated price X of shares\n // // Px(S) is the client’s specified price for the strategy\n // if isLimitOrder\n // then\n // if MktAsk(S) > 0 // if there is available market offer in S greater than 0\n // then X = Min( MktAsk(S), Px(S) + Max(0, MktAsk(S) - K)\n // // Px(S) is the client’s specified price for the strategy\n // else X = Min( Last(S), Px(S) + Max(0, Last(S) - K)\n // else\n // if MktAsk(S) > 0\n // \t then X = MktAsk(S) // Market best offer will be a good estimate for execution price\n // \t else X = Last(S) // Last price will be a good estimate for execution price X\n // fi\n // margin = ( X < 5 ? X : 0.5 * X ) * quantity * Multiplier;\n // TODO: ask what should be the default value of X, inferred last price\n var ask = quotes[0].AskPrice;\n\n if (Object.values(legs).length <= 1) {\n return 0;\n }\n\n var strike = Object.values(legs)[1].Strike;\n var x;\n\n if (isLimitOrder) {\n if (ask > 0) {\n x = Math.min(ask, offerPrice + Math.max(0, ask - strike));\n } else {\n x = Math.min(quotes[0].LastTradePrice, offerPrice + Math.max(0, quotes[0].LastTradePrice - strike));\n }\n } else {\n if (ask > 0) {\n x = ask;\n } else {\n x = quotes[0].LastTradePrice;\n }\n }\n\n return x < 5 ? x : 0.5 * x;\n }), _defineProperty(_MarginRequirements4, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling stock and buying call\n // // margin value is based on estimated price X of shares\n // if MktAsk(S) > 0\n // then \tX = MktAsk(S)\n // else \tX = Last(S)\n // fi\n // margin = MAX( 0.5 * X, Min(0.1 * K + Max(0, K-X), X < 2.5 ? 2.5 : ( X < 5 ? X : (X < 50 /3.0 ? 5 : 0.3 * X ) ) ) * quantity * Multiplier\n var symbol = quotes[0].Symbol;\n var ask = quotes[0].AskPrice;\n var bid = quotes[0].BidPrice;\n\n if (Object.values(legs).length <= 1) {\n return 0;\n }\n\n var strike = Object.values(legs)[1].Strike;\n var qty = 1;\n var x = null;\n\n if (ask > 0) {\n x = ask;\n } else {\n x = quotes[0].LastTradePrice;\n }\n\n return Math.max(0.5 * x, Math.min(0.1 * strike + Math.max(0, strike - x), x < 2.5 ? 2.5 : x < 5 ? x : x < 50 / 3.0 ? 5 : 0.3 * x));\n }), _MarginRequirements4)), _profile4)\n};\nexport var MarriedPut = {\n info: {\n Name: 'Married Put',\n Symbol: 'MP',\n LegsAmount: 2,\n Strikes: 1,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.HundredToOne,\n SvgPath: 'married-put',\n IconKind: 'svg'\n },\n profile: (_profile5 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 100,\n AssetType: AssetType.Equity,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile5, OrderActionDirection.Long, {\n Strength: 7,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile5, OrderActionDirection.Short, {\n Strength: 6,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile5, \"Rules\", {\n SpreadRatio: SizeRatio.HundredToOne,\n Direction: DirectionRules.SameDirections\n }), _defineProperty(_profile5, \"MarginRequirements\", (_MarginRequirements5 = {}, _defineProperty(_MarginRequirements5, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // buying stock and buying put\n // // margin value is based on estimated price X of shares\n // if isLimitOrder\n // then \tif MktAsk(S) > 0 // if there is available market offer in S greater than 0\n // then X = Min( MktAsk(S), Px(S)) // Px(S) is the client’s specified price for the strategy\n // else X = Min( Last(S), Px(S) )\n // else \tif MktAsk(S) > 0\n // \tthen X = MktAsk(S) // Market best offer will be a good estimate for execution price\n // \telse X = Last(S) // Last price will be a good estimate for execution price X\n // \tfi\n // fi\n // margin = ( X < 5 ? X : 0.5 * X ) * quantity * Multiplier;\n var ask = quotes[0].AskPrice;\n var last = quotes[0].LastTradePrice;\n var x;\n\n if (isLimitOrder) {\n if (ask > 0) {\n x = Math.min(ask, offerPrice);\n } else {\n x = Math.min(last, offerPrice);\n }\n } else {\n if (ask > 0) {\n x = ask;\n } else {\n x = last;\n }\n }\n\n return x < 5 ? x : 0.5 * x;\n }), _defineProperty(_MarginRequirements5, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling stock and selling put\n // // margin value is based on estimated price X of shares\n // if MktAsk(S) > 0\n // then \tX = MktAsk(S)\n // else \tX = Last(S)\n // fi\n // margin = MAX( 0.5 * X + MAX( 0, K – X ), X < 2.5 ? 2.5 : ( X < 5 ? X : (X < 50 /3.0 ? 5 : 0.3 * X ) ) ) * quantity * Multiplier\n var ask = quotes[0].AskPrice;\n var strike = Object.values(legs)[0].Strike;\n var x;\n\n if (ask > 0) {\n x = ask;\n } else {\n x = quotes[0].LastTradePrice;\n }\n\n return Math.max(0.5 * x + Math.max(0, strike - x), x < 2.5 ? 2.5 : x < 5 ? x : x < 50 / 3.0 ? 5 : 0.3 * x);\n }), _MarginRequirements5)), _profile5)\n};\nexport var CallCalendar = {\n info: {\n Name: 'Call Calendar',\n Symbol: 'CT',\n LegsAmount: 2,\n Strikes: 2,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.OneToOne,\n BidirectionalDebitCredit: true,\n Icon: 'fal fa-calendar-alt',\n IconKind: 'icon'\n },\n profile: (_profile6 = {\n Rules: {\n Expiration: ExpirationRules.DifferentExpiries,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.DifferentDirections,\n Strike: StrikeRules.Any\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call\n }]\n }, _defineProperty(_profile6, OrderActionDirection.Long, {\n Strength: 4,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile6, OrderActionDirection.Short, {\n Strength: 4,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile6, \"MarginRequirements\", (_MarginRequirements6 = {}, _defineProperty(_MarginRequirements6, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // buying later expiring call with strike K1 and selling earlier expiring call with strike K2\n // if IRA Aaccount\n // \tthen \t// margin is the maximum of zero and strike difference\n // \tmargin = Max( 0, K2 – K1 ) * quantity * Multiplier\n // else\n // \tX = Last(S)\n // \tif S is Index then\n // \t\tmargin = Min( Max( 0, K2 – K1 ), Max( 0.1 * X, 0.15 * (X – Max( 0, K2 – X ) ) ) ) * quantity * Multiplier\n // \telse\t// Missing MktAsk shall be treated as zero\n // \t\tif MktAsk > 0 then\n // \t\t\tX = Max( Last(S), MktAsk(S) )\n // \t\tfi\n // \t\tmargin = Min( Max( 0, K2 – K1 ), Max( 0.1 * X, 0.20 * (X – Max( 0, K2 – X ) ) ) ) * quantity * Multiplier\n // \tfi\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n\n if (isIRA) {\n return Math.max(0, K2 - K1);\n }\n\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n var ask = quotes[0].AskPrice;\n\n if (isIndexSymbol(symbol)) {\n return Math.min(Math.max(0, K2 - K1), Math.max(0.1 * x, 0.15 * (x - Math.max(0, K2 - x))));\n } else {\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n return Math.min(Math.max(0, K2 - K1), Math.max(0.1 * x, 0.2 * (x - Math.max(0, K2 - x))));\n }\n }), _defineProperty(_MarginRequirements6, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling later expiring call with strike K1 and buying earlier expiring call with strike K2\n // // margin is the margin of the short call with strike K1 based on estimate of current value X of the\n // // underlying symbol S\n // X = Last(S)\n // if S is Index then\n // \tmargin = Max( 0.1 * X, 0.15 * (X – Max( 0, K1 – X ) ) ) * quantity * Multiplier\n // else\t// Missing MktAsk shall be treated as zero\n // \tif MktAsk > 0 then\n // \t\tX = Max( Last(S), MktAsk(S) )\n // \tfi\n // \tmargin = Max( 0.1 * X, 0.20 * (X – Max( 0, K1 – X ) ) ) * quantity * Multiplier\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(0.1 * x, 0.15 * (x - Math.max(0, K1 - x)));\n } else {\n var ask = quotes[0].AskPrice;\n\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n return Math.max(0.1 * x, 0.2 * (x - Math.max(0, K1 - x)));\n }\n }), _MarginRequirements6)), _profile6)\n};\nexport var PutCalendar = {\n info: {\n Name: 'Put Calendar',\n Symbol: 'PT',\n LegsAmount: 2,\n Strikes: 2,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.OneToOne,\n BidirectionalDebitCredit: true,\n Icon: 'fal fa-calendar-alt',\n IconKind: 'icon'\n },\n profile: (_profile7 = {\n Rules: {\n Expiration: ExpirationRules.DifferentExpiries,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.DifferentDirections,\n Strike: StrikeRules.Any\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put\n }]\n }, _defineProperty(_profile7, OrderActionDirection.Long, {\n Strength: 4,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile7, OrderActionDirection.Short, {\n Strength: 4,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile7, \"MarginRequirements\", (_MarginRequirements7 = {}, _defineProperty(_MarginRequirements7, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // buying later expiring put with strike K1 and selling earlier expiring put with strike K2\n // if IRA Aaccount then \t// margin is the maximum of zero and strike difference\n // \tmargin = Max( 0, K1 – K2 ) * quantity * Multiplier\n // else\n // \tX = Last(S)\n // \tif S is Index then\n // \t\tmargin = Min( Max( 0, K1 – K2 ), Max( 0.1 * K2, 0.15 * (X – Max( 0, X – K2 ) ) ) ) * quantity * Multiplier\n // \telse\n // \t\tmargin = Min( Max( 0, K1 – K2 ), Max( 0.1 * K2, 0.20 * (X – Max( 0, X – K2 ) ) ) ) * quantity * Multiplier\n // \tfi\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n\n if (isIRA) {\n return Math.max(0, K1 - K2);\n } else {\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n return Math.min(Math.max(0, K1 - K2), Math.max(0.1 * K2, 0.15 * (x - Math.max(0, x - K2))));\n } else {\n return Math.min(Math.max(0, K1 - K2), Math.max(0.1 * K2, 0.2 * (x - Math.max(0, x - K2))));\n }\n }\n }), _defineProperty(_MarginRequirements7, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling later expiring put with strike K1 and buying earlier expiring put with strike K2\n // // margin is the margin of the short put with strike K1 based on estimate of current value X of the\n // // underlying symbol S\n // X = Last(S)\n // if S is Index then\n // \tmargin = Max( 0.1 * K1, 0.15 * (X – Max( 0, X – K1 ) ) ) * quantity * Multiplier\n // else\n // \tmargin = Max( 0.1 * K1, 0.20 * (X – Max( 0, X – K1 ) ) ) * quantity * Multiplier\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(0.1 * K1, 0.15 * (x - Math.max(0, x - K1)));\n } else {\n return Math.max(0.1 * K1, 0.2 * (x - Math.max(0, x - K1)));\n }\n }), _MarginRequirements7)), _profile7)\n};\nexport var CallVertical = {\n info: {\n Name: 'Call Vertical',\n Symbol: 'CV',\n LegsAmount: 2,\n Strikes: 2,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.OneToOne,\n SvgPath: 'call-vertical',\n IconKind: 'svg'\n },\n profile: (_profile8 = {\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.IncreasingOrder,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.DifferentDirections\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }]\n }, _defineProperty(_profile8, OrderActionDirection.Long, {\n Strength: 8,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile8, OrderActionDirection.Short, {\n Strength: 6,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile8, \"MarginRequirements\", (_MarginRequirements8 = {}, _defineProperty(_MarginRequirements8, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements8, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // selling call with lower strike K1 and buying call with higher strike K2, same expiration\n // if IRA Aaccount then \t// margin is the maximum risk\n // \tmargin = | K2 – K1 | * quantity * Multiplier\n // else \t// margin will be the margin of the short call with the strike K1\n // \tX = Last(S)\n // \tif S is Index then\n // \t\tmargin = Max( 0.1 * X, 0.15 * (X – Max( 0, K1 – X ) ) ) * quantity * Multiplier\n // \telse\t// Missing MktAsk shall be treated as zero\n // \t\tif MktAsk > 0 then\n // \t\t\tX = Max( Last(S), MktAsk(S) )\n // \t\tfi\n // \t\tmargin = Max( 0.1 * X, 0.20 * (X – Max( 0, K1 – X ) ) ) * quantity * Multiplier\n // \tfi\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n var strikeDiff = Math.abs(K2 - K1);\n\n if (isIRA) {\n return strikeDiff;\n }\n\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n var ask = quotes[0].AskPrice;\n\n if (isIndexSymbol(symbol)) {\n var margin = Math.max(0.1 * x, 0.15 * (x - Math.max(0, K1 - x)));\n return Math.min(strikeDiff, margin);\n } else {\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n var _margin = Math.max(0.1 * x, 0.2 * (x - Math.max(0, K1 - x)));\n\n return Math.min(strikeDiff, _margin);\n }\n }), _MarginRequirements8)), _profile8)\n};\nexport var PutVertical = {\n info: {\n Name: 'Put Vertical',\n Symbol: 'PV',\n LegsAmount: 2,\n Strikes: 2,\n PermissionLevel: 1,\n SizeRatio: SizeRatio.OneToOne,\n SvgPath: 'put-vertical',\n IconKind: 'svg'\n },\n profile: (_profile9 = {\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.DecreasingOrder,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.DifferentDirections\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }]\n }, _defineProperty(_profile9, OrderActionDirection.Long, {\n Strength: 8,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile9, OrderActionDirection.Short, {\n Strength: 6,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile9, \"MarginRequirements\", (_MarginRequirements9 = {}, _defineProperty(_MarginRequirements9, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements9, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // selling put with higher strike K1 and buying put with lower strike K2, same expiration\n // if IRA Aaccount then \t// margin is the maximum risk\n // \tmargin = | K1 – K2 | * quantity * Multiplier\n // else \t// margin will be the margin of the short put with the strike K1\n // \tX = Last(S)\n // \tif S is Index then\n // \t\tmargin = Max( 0.1 * K, 0.15 * (X – Max( 0, X - K1 ) ) ) * quantity * Multiplier\n // \telse\n // \t\tmargin = Max( 0.1 * K, 0.20 * (X – Max( 0, X – K1 ) ) ) * quantity * Multiplier\n // \tfi\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n var strikeDiff = Math.abs(K1 - K2);\n\n if (isIRA) {\n return strikeDiff;\n }\n\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n var margin = Math.max(0.1 * x, 0.15 * (x - Math.max(0, x - K1)));\n return Math.min(strikeDiff, margin);\n } else {\n var _margin2 = Math.max(0.1 * x, 0.2 * (x - Math.max(0, x - K1)));\n\n return Math.min(strikeDiff, _margin2);\n }\n }), _MarginRequirements9)), _profile9)\n};\nexport var CallButterfly = {\n info: {\n Name: 'Call Butterfly',\n Symbol: 'CF',\n LegsAmount: 3,\n Strikes: 3,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneTwoOne,\n SvgPath: 'call-butterfly',\n IconKind: 'svg'\n },\n profile: (_profile10 = {\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.EquidistantStrikes,\n SpreadRatio: SizeRatio.OneTwoOne,\n Direction: DirectionRules.Butterfly\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 2,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile10, OrderActionDirection.Long, {\n Strength: 4,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile10, OrderActionDirection.Short, {\n Strength: 3,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile10, \"MarginRequirements\", (_MarginRequirements10 = {}, _defineProperty(_MarginRequirements10, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements10, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n //|K2 - K1|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K2 - K1);\n }), _MarginRequirements10)), _profile10)\n};\nexport var PutButterfly = {\n info: {\n Name: 'Put Butterfly',\n Symbol: 'PF',\n LegsAmount: 3,\n Strikes: 3,\n PermissionLevel: 2,\n SizeRatio: SizeRatio.OneTwoOne,\n SvgPath: 'put-butterfly',\n IconKind: 'svg'\n },\n profile: (_profile11 = {\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.EquidistantStrikes,\n SpreadRatio: SizeRatio.OneTwoOne,\n Direction: DirectionRules.Butterfly\n },\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 2,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile11, OrderActionDirection.Long, {\n Strength: 4,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile11, OrderActionDirection.Short, {\n Strength: 3,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile11, \"MarginRequirements\", (_MarginRequirements11 = {}, _defineProperty(_MarginRequirements11, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements11, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n //|K1 - K2|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K1 - K2);\n }), _MarginRequirements11)), _profile11)\n};\nexport var Straddle = {\n info: {\n Name: 'Straddle',\n Symbol: 'SD',\n LegsAmount: 2,\n Strikes: 1,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOne,\n SvgPath: 'straddle',\n IconKind: 'svg'\n },\n profile: (_profile12 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile12, OrderActionDirection.Long, {\n Strength: 7,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile12, OrderActionDirection.Short, {\n Strength: 0,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile12, \"Rules\", {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.SameStrikes,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.SameDirections\n }), _defineProperty(_profile12, \"MarginRequirements\", (_MarginRequirements12 = {}, _defineProperty(_MarginRequirements12, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements12, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling a call and a put with the same strike\n // X = Last(S)\n // if S is Index then\n // \tmargin = Max( Max( 0.1*X, 0.15*(X–Max(0,K–X))) , Max(0.1*K, 0.15*(X–Max(0,X-K)))) * quantity * Multiplier\n // else\t// Missing MktAsk shall be treated as zero\n // \tif MktAsk > 0 then\n // \t\tX = Max( Last(S), MktAsk(S) ) // MktAsk(S) cannot be infinity either\n // \tmargin = Max( Max( 0.1*X, 0.20*(X–Max(0,K–X))), Max(0.1*K, 0.20*(X–Max(0,X-K)))) * quantity * Multiplier\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length <= 0) {\n return 0;\n }\n\n var K = legsArray[0].Strike;\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(Math.max(0.1 * x, 0.15 * Math.max(0, K - x)), Math.max(0.1 * K, 0.15 * Math.max(0, x - K)));\n } else {\n var ask = quotes[0].AskPrice;\n\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n return Math.max(Math.max(0.1 * x, 0.2 * Math.max(0, K - x)), Math.max(0.1 * K, 0.2 * Math.max(0, x - K)));\n }\n }), _MarginRequirements12)), _profile12)\n};\nexport var Strangle = {\n info: {\n Name: 'Strangle',\n Symbol: 'SG',\n LegsAmount: 2,\n Strikes: 2,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOne,\n SvgPath: 'strangle',\n IconKind: 'svg'\n },\n profile: (_profile13 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile13, OrderActionDirection.Long, {\n Strength: 7,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile13, OrderActionDirection.Short, {\n Strength: 1,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile13, \"Rules\", {\n Expiration: ExpirationRules.SameExpiry,\n Strike: StrikeRules.CallHigherThanPut,\n SpreadRatio: SizeRatio.OneToOne,\n Direction: DirectionRules.SameDirections\n }), _defineProperty(_profile13, \"MarginRequirements\", (_MarginRequirements13 = {}, _defineProperty(_MarginRequirements13, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements13, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // // selling a call and a put with different strikes, K1 Call strike, K2 Put Strike\n // X = Last(S)\n // if S is Index then\n // \tmargin = Max( Max( 0.1*X, 0.15*(X–Max(0,K1–X))) , Max(0.1*K2, 0.15*(X–Max(0,X-K2)))) * quantity * Multiplier\n // else\t// Missing MktAsk shall be treated as zero\n // \tif MktAsk > 0 then\n // \t\tX = Max( Last(S), MktAsk(S) ) // MktAsk(S) cannot be infinity either\n // \tmargin = Max( Max( 0.1*X, 0.20*(X–Max(0,K1–X))), Max(0.1*K2, 0.20*(X–Max(0,X-K2)))) * quantity * Multiplier\n // fi\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n var x = quotes[0].LastTradePrice;\n var symbol = quotes[0].Symbol;\n\n if (isIndexSymbol(symbol)) {\n return Math.max(Math.max(0.1 * x, 0.15 * Math.max(0, K1 - x)), Math.max(0.1 * K2, 0.15 * Math.max(0, x - K2)));\n } else {\n var ask = quotes[0].AskPrice;\n\n if (ask > 0) {\n x = Math.max(x, ask);\n }\n\n return Math.max(Math.max(0.1 * x, 0.2 * Math.max(0, K1 - x)), Math.max(0.1 * K2, 0.2 * Math.max(0, x - K2)));\n }\n }), _MarginRequirements13)), _profile13)\n};\nexport var CallCondor = {\n info: {\n Name: 'Call Condor',\n Symbol: 'CR',\n LegsAmount: 4,\n Strikes: 4,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOneToOneToOne,\n SvgPath: 'call-condor',\n IconKind: 'svg'\n },\n profile: (_profile14 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile14, OrderActionDirection.Long, {\n Strength: 5,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile14, OrderActionDirection.Short, {\n Strength: 4,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile14, \"Rules\", {\n Expiration: ExpirationRules.SameExpiry,\n Strike: [StrikeRules.IncreasingOrder, StrikeRules.EquidistantStrikesByTwos],\n SpreadRatio: SizeRatio.OneToOneToOneToOne,\n Direction: DirectionRules.Condor\n }), _defineProperty(_profile14, \"MarginRequirements\", (_MarginRequirements14 = {}, _defineProperty(_MarginRequirements14, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements14, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n //|K2 - K1|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K2 - K1);\n }), _MarginRequirements14)), _profile14)\n};\nexport var PutCondor = {\n info: {\n Name: 'Put Condor',\n Symbol: 'PR',\n LegsAmount: 4,\n Strikes: 4,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOneToOneToOne,\n SvgPath: 'put-condor',\n IconKind: 'svg'\n },\n profile: (_profile15 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: [StrikeRules.DecreasingOrder, StrikeRules.EquidistantStrikesByTwos],\n SpreadRatio: SizeRatio.OneToOneToOneToOne,\n Direction: DirectionRules.Condor\n },\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }]\n }, _defineProperty(_profile15, OrderActionDirection.Long, {\n Strength: 5,\n StrategyType: StrategyType.Bear\n }), _defineProperty(_profile15, OrderActionDirection.Short, {\n Strength: 4,\n StrategyType: StrategyType.Bull\n }), _defineProperty(_profile15, \"MarginRequirements\", (_MarginRequirements15 = {}, _defineProperty(_MarginRequirements15, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements15, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n //|K1 - K2|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K1 - K2);\n }), _MarginRequirements15)), _profile15)\n};\nexport var IronButterfly = {\n info: {\n Name: 'Iron Butterfly',\n Symbol: 'IF',\n LegsAmount: 4,\n Strikes: 3,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOneToOneToOne,\n SvgPath: 'iron-butterfly',\n IconKind: 'svg'\n },\n profile: (_profile16 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: [StrikeRules.IronButterfly, StrikeRules.EquidistantStrikesByTwos, StrikeRules.CallFirstPutsSecond],\n SpreadRatio: SizeRatio.OneToOneToOneToOne,\n Direction: DirectionRules.Iron\n },\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }]\n }, _defineProperty(_profile16, OrderActionDirection.Long, {\n Strength: 6,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile16, OrderActionDirection.Short, {\n Strength: 2,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile16, \"MarginRequirements\", (_MarginRequirements16 = {}, _defineProperty(_MarginRequirements16, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements16, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // |K1 - K2|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K1 - K2);\n }), _MarginRequirements16)), _profile16)\n};\nexport var IronCondor = {\n info: {\n Name: 'Iron Condor',\n Symbol: 'IR',\n LegsAmount: 4,\n Strikes: 4,\n PermissionLevel: 4,\n SizeRatio: SizeRatio.OneToOneToOneToOne,\n SvgPath: 'iron-condor',\n IconKind: 'svg'\n },\n profile: (_profile17 = {\n OrderClass: OrderClass.Multileg,\n Bidirectional: true,\n Rules: {\n Expiration: ExpirationRules.SameExpiry,\n Strike: [StrikeRules.IronCondor, StrikeRules.EquidistantStrikesByTwos, StrikeRules.CallFirstPutsSecond],\n SpreadRatio: SizeRatio.OneToOneToOneToOne,\n Direction: DirectionRules.Iron\n },\n Legs: [{\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Short\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Call,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Long\n }, {\n SpreadRatio: 1,\n AssetType: AssetType.Option,\n OptionType: OptionType.Put,\n Direction: OrderActionDirection.Short\n }]\n }, _defineProperty(_profile17, OrderActionDirection.Long, {\n Strength: 5,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile17, OrderActionDirection.Short, {\n Strength: 3,\n StrategyType: StrategyType.Volatility\n }), _defineProperty(_profile17, \"MarginRequirements\", (_MarginRequirements17 = {}, _defineProperty(_MarginRequirements17, OrderActionDirection.Long, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n return 0;\n }), _defineProperty(_MarginRequirements17, OrderActionDirection.Short, function (legs, quotes, isLimitOrder, offerPrice, isIRA) {\n // |K1 - K2|\n var legsArray = Object.values(legs);\n\n if (legsArray.length < 2) {\n return 0;\n }\n\n var K1 = legsArray[0].Strike;\n var K2 = legsArray[1].Strike;\n return Math.abs(K1 - K2);\n }), _MarginRequirements17)), _profile17)\n}; // export const Collar: TradingStrategy = {\n// info: {\n// Name: 'Collar',\n// Symbol: 'CO',\n// LegsAmount: 3,\n// Strikes: 2,\n// PermissionLevel: 4,\n// SizeRatio: SizeRatio.HundredToOneToOne,\n// SvgPath: 'collar',\n// IconKind: 'svg',\n// },\n// profile: {\n// OrderClass: OrderClass.Multileg,\n// Bidirectional: true,\n// Legs: [\n// {\n// SpreadRatio: 100,\n// AssetType: AssetType.Equity,\n// Direction: OrderActionDirection.Long,\n// },\n// {\n// SpreadRatio: 1,\n// AssetType: AssetType.Option,\n// OptionType: OptionType.Call,\n// Direction: OrderActionDirection.Short,\n// },\n// {\n// SpreadRatio: 1,\n// AssetType: AssetType.Option,\n// OptionType: OptionType.Put,\n// Direction: OrderActionDirection.Long,\n// },\n// ],\n// [OrderActionDirection.Long]: {\n// Strength: 8,\n// StrategyType: StrategyType.Bull,\n// },\n// [OrderActionDirection.Short]: {\n// Strength: 8,\n// StrategyType: StrategyType.Bear,\n// },\n// Rules: {\n// Expiration: ExpirationRules.SameExpiry,\n// Strike: StrikeRules.CallHigherThanPut,\n// SpreadRatio: SizeRatio.HundredToOneToOne,\n// },\n// MarginRequirements: {\n// [OrderActionDirection.Long]: (legs, quotes, isLimitOrder, offerPrice, isIRA) => {\n// // // buying shares and selling a call with strike K1 and buying a put with strike K2\n// // // margin is the same as for covered call\n// // // margin value is based on estimated price X of shares\n// // // Px(S) is the client’s specified price for the strategy\n// // if isLimitOrder then\n// // \tif MktAsk(S) > 0 then\n// // \t\tX = Min( MktAsk(S), Px(S) + Max(0, MktAsk(S) – K1) // if there is available market offer in S greater than 0\n// // \telse // Px(S) is the client’s specified price for the strategy\n// // \t\tX = Min( Last(S), Px(S) + Max(0, Last(S) – K1)\n// // \tfi\n// // else\n// // \tif MktAsk(S) > 0 then\n// // \t\tX = MktAsk(S) // Market best offer will be a good estimate for execution price\n// // \telse\n// // \t\tX = Last(S) // Last price will be a good estimate for execution price X\n// // \tfi\n// // fi\n// // margin = ( X < 5 ? X : 0.5 * X ) * quantity * Multiplier;\n// const legsArray = Object.values(legs);\n// if (legsArray.length < 2) {\n// return 0;\n// }\n// const K1 = (legsArray[0] as OrderLegDTOState).Strike;\n// let x: number;\n// const ask = quotes[0].AskPrice;\n// if (isLimitOrder) {\n// if (ask > 0) {\n// x = Math.min(ask, offerPrice + Math.max(0, ask - K1));\n// } else {\n// x = Math.min(quotes[0].LastTradePrice, offerPrice + Math.max(0, quotes[0].LastTradePrice - K1));\n// }\n// } else {\n// if (ask > 0) {\n// x = ask;\n// } else {\n// x = quotes[0].LastTradePrice;\n// }\n// }\n// return x < 5 ? x : 0.5 * x;\n// },\n// [OrderActionDirection.Short]: (legs, quotes, isLimitOrder, offerPrice, isIRA) => {\n// // if MktAsk(S) > 0 then\n// // \tX = MktAsk(S)\n// // else\n// // \tX = Last(S)\n// // fi\n// // margin = MAX( 0.5 * X + MAX( 0, K2 – X ), X < 2.5 ? 2.5 : ( X < 5 ? X : (X < 50 /3.0 ? 5 : 0.3 * X ) ) )\n// const legsArray = Object.values(legs);\n// if (legsArray.length < 2) {\n// return 0;\n// }\n// let x: number = quotes[0].LastTradePrice;\n// const ask = quotes[0].AskPrice;\n// const K2 = (legsArray[1] as OrderLegDTOState).Strike;\n// if (ask > 0) {\n// x = ask;\n// }\n// return Math.max(0.5 * x + Math.max(0, K2 - x), x < 2.5 ? 2.5 : x < 5 ? x : x < 50 / 3.0 ? 5 : 0.3 * x);\n// },\n// },\n// },\n// };\n\nexport var Strategies = [Shares, Call, Put, CallVertical, CallCalendar, PutVertical, PutCalendar, Straddle, Strangle, CoveredCall, MarriedPut, CallButterfly, PutButterfly, CallCondor, PutCondor, IronButterfly, IronCondor];\nexport var IndexStrategies = [Call, Put, CallVertical, CallCalendar, PutVertical, PutCalendar, Straddle, Strangle, CallButterfly, PutButterfly, CallCondor, PutCondor, IronButterfly, IronCondor];","export var CustomStrategy = {\n info: {\n Name: 'Custom'\n }\n};","import { ExpirationType, OptionExpirationType } from '@tradingblock/types';\nimport dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport utc from 'dayjs/plugin/utc';\nimport { populateTimeZones, findTimeZone, convertTimeToDate } from 'timezone-support/dist/lookup-convert';\nimport * as tzdata from 'timezone-support/dist/data-2012-2022';\nimport { convertDateToTime } from 'timezone-support';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\npopulateTimeZones(tzdata);\ndayjs.extend(LocalizedFormat);\ndayjs.extend(utc);\n\nfunction isDayjs(d) {\n if (d === undefined) {\n return false;\n }\n\n return dayjs.isDayjs(d);\n}\n\nexport var getLocalDateFromTimezone = function getLocalDateFromTimezone(date) {\n var tz = findTimeZone(timeZone);\n var dateVal = isDayjs(date) ? date.toDate() : date || new Date();\n var localDate = tz ? convertTimeToDate(convertDateToTime(dateVal)) : dateVal;\n return dayjs(localDate);\n};\nexport var getWeekdayOfMonth = function getWeekdayOfMonth(date, dayOfWeek, weekOfMonth) {\n var firstDayOfMonth = dayjs(date).date(1); // start on 1st of month, then set day of week (starts at 'Sunday' === 0)\n\n var firstDayOfWeek = dayjs(firstDayOfMonth).day(dayOfWeek); // add extra week if setting day of week above shifted to previous month\n\n var weeksToAdd = firstDayOfWeek.isBefore(firstDayOfMonth) ? weekOfMonth + 1 : weekOfMonth; // shift date to week of the month (one less since starting in first week)\n\n return firstDayOfWeek.add(weeksToAdd - 1, 'week');\n};\nexport var getExpirationType = function getExpirationType(date) {\n // monthly expirations are on 3rd friday of the month ('Friday' === 5)\n var dateValue = dayjs.isDayjs(date) ? date.toDate() : date;\n var monthlyExpiration = getWeekdayOfMonth(dateValue, 5, 3);\n return dayjs(dateValue).isSame(monthlyExpiration, 'date') ? ExpirationType.Monthly : ExpirationType.Weekly;\n};\nexport var formatExpiration = function formatExpiration(dto) {\n var date = dayjs(dto.Date).toDate();\n var isWeekly = dto.ExpirationFreqCode === 'W' || dto.ExpirationFreqCode === 'MW' || dto.ExpirationFreqCode === 'WW' || dto.ExpirationFreqCode.includes('Week') || dto.ExpirationFreqCode.includes('W') || dto.ExpirationFreqCode === 'ME';\n var isQuarterly = dto.ExpirationFreqCode === 'QuarterlyEOM';\n return Object.assign({}, dto, {\n date: date,\n type: isWeekly ? ExpirationType.Weekly : isQuarterly ? ExpirationType.Quarterly : ExpirationType.Monthly,\n optionExpirationType: dto.Time,\n rootSymbol: dto.RootSymbol\n });\n};\nexport var toExpiration = function toExpiration(date, rootSymbol, optionExpirationType) {\n return {\n date: date,\n type: getExpirationType(date),\n optionExpirationType: optionExpirationType || OptionExpirationType.PM,\n rootSymbol: rootSymbol\n };\n};\nexport var toShort = function toShort(date) {\n return (isDayjs(date) ? date : dayjs(date)).format('MMM D, YYYY');\n};\nexport var ToUtcMidnight = function ToUtcMidnight(date) {\n return dayjs(date || new Date()).set('hour', 0).set('minute', 0).set('second', 0);\n};\nexport var isBetweenInclusive = function isBetweenInclusive(date, startDate, endDate) {\n if (date) {\n var d = dayjs(date);\n return d.isAfter(startDate, 'date') && d.isBefore(endDate, 'date') || d.isSame(startDate, 'date') || d.isSame(endDate, 'date');\n }\n\n return false;\n};\nexport var isDateBetweenExclusive = function isDateBetweenExclusive(date, startDate, endDate) {\n if (date) {\n var d = dayjs(date);\n return d.isAfter(startDate, 'date') && d.isBefore(endDate, 'date');\n }\n\n return false;\n};\nexport var isBefore = function isBefore(curr, date) {\n var compDate = dayjs.isDayjs(date) ? date.toDate() : date;\n return curr ? dayjs(curr).isBefore(compDate, 'date') : false;\n};\nexport var TodayDate = function TodayDate() {\n return dayjs(new Date()).hour(0).toDate();\n};\nexport var isToday = function isToday(curr) {\n return curr ? dayjs(curr).isSame(TodayDate(), 'date') : false;\n}; // TODO: type fix\n\nexport var timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;","import _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _, { uniqueId } from 'lodash';\nimport dayjs from 'dayjs';\nimport { OptionType, AssetType, OptionExpirationType, OrderStatuses } from '@tradingblock/types';\nimport { OrderAction, PositionEffect, OrderActionDirection, OrderClass, Durations as DurationValues, Durations, DebitOrCredit } from '@tradingblock/types';\nimport { isIndexSymbol, parseOccSymbol, isOptionAsset } from './SymbolUtilities';\nimport { Strategies } from '../strategies/strategies';\nimport { CustomStrategy } from '../strategies/CustomStrategy';\nimport { isBetweenInclusive } from './DateUtilities';\nexport var OCCSymbolToOptionData = parseOccSymbol;\nexport var DeriveLegAssetType = function DeriveLegAssetType(leg) {\n if (_.isNil(leg.OptionType) === false) {\n return AssetType.Option;\n } else if (isIndexSymbol(leg.UnderlyingSymbol)) {\n return AssetType.Index;\n } else {\n return AssetType.Equity;\n }\n};\nexport var GetOCCSymbol = function GetOCCSymbol(symbolData) {\n var underlyingSymbol = symbolData.underlyingSymbol,\n expiration = symbolData.expiration,\n optionType = symbolData.optionType,\n strike = symbolData.strike,\n prefixSymbolName = symbolData.prefixSymbolName;\n\n if (expiration === undefined || strike === undefined || optionType === undefined) {\n return underlyingSymbol;\n }\n\n var otype = optionType === OptionType.Put ? 'P' : 'C';\n var rootSymbol = underlyingSymbol;\n rootSymbol = _.replace(underlyingSymbol, '$', '');\n\n if (isIndexSymbol(underlyingSymbol)) {\n // rootSymbol = _.replace(underlyingSymbol, '$', '');\n if (expiration.optionExpirationType === OptionExpirationType.PM && rootSymbol !== 'NANOS') {\n rootSymbol = \"\".concat(rootSymbol, \"W\");\n }\n }\n\n var dateVal = dayjs(expiration.date).format('YYMMDD'); //const strikeVal = _.padStart((strike * 1000).toString(), 6, '0');\n\n var strikeVal = strike * 1000;\n var prefix = prefixSymbolName ? '.' : '';\n return \"\".concat(prefix).concat(rootSymbol, \" \").concat(dateVal).concat(otype).concat(strikeVal);\n};\nexport var orderLegOccSymbol = function orderLegOccSymbol(underlyingSymbol, leg) {\n var Expiration = leg.Expiration,\n OptionType = leg.OptionType,\n Strike = leg.Strike;\n var symbolOcc = undefined;\n\n if (!OptionType || leg.AssetType === AssetType.Equity) {\n symbolOcc = underlyingSymbol.symbol;\n } else if (OptionType && Expiration && Strike) {\n symbolOcc = GetOCCSymbol({\n underlyingSymbol: underlyingSymbol.symbol,\n symbolType: underlyingSymbol.type,\n expiration: Expiration,\n optionType: OptionType,\n strike: Strike\n });\n } else {\n symbolOcc = undefined;\n }\n\n return symbolOcc;\n};\nexport var toPrefixedOccSymbol = function toPrefixedOccSymbol(symbol) {\n return _.first(symbol) === '.' ? symbol : \".\".concat(symbol);\n};\nexport var toRawOccSymbol = function toRawOccSymbol(symbol) {\n return _.isNil(symbol) ? '' : _.first(symbol) === '.' ? _.replace(symbol, '.', '') : symbol;\n};\nexport var AllStrategies = [].concat(_toConsumableArray(Strategies), [CustomStrategy]);\nexport var getStrategy = function getStrategy(name) {\n return _.find(AllStrategies, function (s) {\n return s.info.Name === name;\n }) || CustomStrategy;\n};\nexport var getKnownStrategy = function getKnownStrategy(name) {\n return _.find(Strategies, function (s) {\n return s.info.Name === name;\n });\n};\nexport var buildOrderLeg = function buildOrderLeg(partOrd, orderAction, assetType, positionEffect, optionType, ratio) {\n return {\n Symbol: partOrd.Symbol,\n UnderlyingSymbol: partOrd.UnderlyingSymbol || partOrd.Symbol,\n Id: uniqueId(),\n SpreadRatio: ratio,\n AssetType: assetType,\n Action: orderAction,\n PositionEffect: positionEffect,\n OptionType: optionType\n };\n};\nexport var transformForApi = function transformForApi(orderDesc) {\n var transformedOrder = orderDesc.kind === 'simple' ? {\n AccountId: orderDesc.accountId,\n SubaccountId: orderDesc.subaccountId,\n UnderlyingSymbol: '',\n Legs: [{\n AssetType: orderDesc.assetType,\n Symbol: orderDesc.symbol,\n Action: orderDesc.action,\n PositionEffect: orderDesc.effect\n }],\n ClientRefId: orderDesc.referenceId,\n OrderClass: OrderClass.Single,\n Quantity: orderDesc.quantity,\n OrderType: orderDesc.orderType,\n Price: orderDesc.price,\n Stop: orderDesc.stop,\n AllOrNone: false,\n Duration: DurationValues.Day,\n Description: '',\n DebitCredit: DebitOrCredit.Debit\n } : Object.assign({}, orderDesc, {\n Legs: _.map(orderDesc.Legs, function (l) {\n return Object.assign({}, l, {\n Symbol: l.OccSymbol || l.Symbol\n });\n })\n });\n var isSpreadOrder = _.keys(transformedOrder.Legs).length > 1 ? true : false;\n var DebitCredit = isSpreadOrder ? transformedOrder.DebitCredit : undefined;\n var finalorder = Object.assign({}, transformedOrder, {\n DebitCredit: DebitCredit\n });\n return transformOrderForApi(finalorder);\n};\n\nvar getCallPutValue = function getCallPutValue(l) {\n var legSymbol = l.OccSymbol;\n\n if (legSymbol === undefined) {\n return null;\n }\n\n var symInfo = parseOccSymbol(legSymbol);\n\n if (isOptionAsset(symInfo)) {\n return symInfo.option === OptionType.Call ? true : false;\n }\n\n return null;\n};\n\nfunction isPartialOrderWithLegs(order) {\n var ordLegs = _.get(order, 'Legs', undefined);\n\n return order && _.isArray(ordLegs) ? true : false;\n}\n\nexport function transformOrderForApi(order) {\n var Price = Math.abs(order.Price);\n\n if (isPartialOrderWithLegs(order)) {\n var Legs = _.map(order.Legs, function (l) {\n return Object.assign({}, l, {\n CallPut: getCallPutValue(l)\n });\n });\n\n return Object.assign({}, order, {\n Price: Price,\n Legs: Legs\n });\n }\n\n return Object.assign({}, order, {\n Price: Price\n });\n}\nexport var transformFromApi = function transformFromApi(order) {\n var Duration = getDurationFromCode(order.Duration);\n return Object.assign({}, order, {\n Duration: Duration,\n Legs: _.map(order.Legs, function (l) {\n return Object.assign({}, l, {\n Symbol: toRawOccSymbol(l.Symbol),\n OccSymbol: toPrefixedOccSymbol(l.Symbol)\n });\n })\n });\n};\n\nvar getDurationFromCode = function getDurationFromCode(duration) {\n if (_.isNumber(duration)) {\n var durationCode = _.toNumber(duration);\n\n switch (durationCode) {\n case 1:\n return Durations.Day;\n\n case 2:\n return Durations.GTC;\n\n case 3:\n return Durations.Manual;\n }\n }\n\n return duration;\n};\n\nexport var BuildInitialOrder = function BuildInitialOrder(strategy, partOrd) {\n return {\n OrderClass: strategy.profile.OrderClass,\n Legs: _.map(strategy.profile.Legs, function (leg, ind) {\n var legAction = leg.Direction === OrderActionDirection.Long ? OrderAction.Buy : OrderAction.Sell;\n\n if (leg.Direction === undefined) {\n legAction = ind === 0 ? OrderAction.Buy : OrderAction.Sell;\n }\n\n return Object.assign({}, leg, buildOrderLeg(partOrd, legAction, leg.AssetType, PositionEffect.Open, leg.OptionType, leg.SpreadRatio));\n })\n };\n};\nexport var getNextLegId = function getNextLegId(existingLegs) {\n var id = _.uniqueId('leg_');\n\n while (_.keys(existingLegs).includes(id)) {\n id = _.uniqueId('leg_');\n }\n\n return id;\n};\nexport var orderToReplaceOrder = function orderToReplaceOrder(order) {\n var valOrUndef = function valOrUndef(val) {\n return val && val !== 0 ? val : undefined;\n };\n\n return {\n AccountId: order.AccountId,\n DebitCredit: order.DebitCredit,\n SubaccountId: valOrUndef(order.SubaccountId),\n OrderId: order.OrderId,\n ClientRefId: valOrUndef(order.ClientRefId),\n OrderType: order.OrderType,\n Price: order.Price,\n Stop: valOrUndef(order.Stop)\n };\n};\nexport var OnlyFilledOrders = function OnlyFilledOrders(orders) {\n return _(orders).filter(function (o) {\n var orderStatus = o.OrderStatus;\n\n switch (orderStatus) {\n case OrderStatuses.PartiallyFilled:\n case OrderStatuses.Filled:\n {\n return true;\n }\n\n default:\n return false;\n }\n }).value();\n};\nexport var FilterOrderByDate = function FilterOrderByDate(orders, startDate, endDate) {\n return _.filter(orders, function (order) {\n if (startDate === undefined) {\n return true;\n }\n\n var endDateVal = endDate || new Date();\n return isBetweenInclusive(order.Date, startDate, endDateVal) ? true : false;\n });\n};\nexport var TodaysFilledOrders = function TodaysFilledOrders(orders) {\n var startDate = dayjs(new Date()).hour(0).toDate();\n var endDate = dayjs(new Date()).toDate();\n return OnlyFilledOrders(FilterOrderByDate(orders, startDate, endDate));\n};\nexport var GetSymbolsFromOrders = function GetSymbolsFromOrders(orders) {\n return _.reduce(orders, function (acc, o) {\n var Legs = o.Legs;\n var orderSymbols = Legs ? _.map(Legs, function (l) {\n return l.Symbol;\n }) : [];\n\n var updated = _(acc).union(orderSymbols).uniq().value();\n\n return updated;\n }, []);\n};\n\nvar toOrderLegWithMetaData = function toOrderLegWithMetaData(o, l) {\n return Object.assign({}, l, {\n UnderlyingSymbol: o.UnderlyingSymbol,\n OrderId: o.OrderId,\n Date: o.Date\n });\n};\n\nvar toOrderLegsWithMetaData = function toOrderLegsWithMetaData(orders) {\n return _.flatMap(orders, function (o) {\n return o.Legs.map(function (l) {\n return toOrderLegWithMetaData(o, l);\n });\n });\n};\n\nexport var orderutility = {\n toOrderLegsWithMetaData: toOrderLegsWithMetaData\n};\nexport var isSymbolExpired = function isSymbolExpired(symbol) {\n var symbData = parseOccSymbol(symbol); //not expired\n\n if (symbData.expiration && symbData.expiration.valueOf() <= new Date().valueOf()) {\n return true;\n }\n\n return false;\n};\nexport var getDefaultOrderQuantity = function getDefaultOrderQuantity(strategy, _ref) {\n var defaultQuantityForOptionsAndStrategies = _ref.defaultQuantityForOptionsAndStrategies,\n defaultQuantityForShares = _ref.defaultQuantityForShares;\n\n if (strategy === 'Custom' || strategy === undefined) {\n return 1;\n } else if (strategy === 'Shares') {\n return defaultQuantityForShares || 1;\n } else {\n return defaultQuantityForOptionsAndStrategies || 1;\n }\n};\nexport var getCustomStrategyLegQuantity = function getCustomStrategyLegQuantity(assetType, _ref2) {\n var defaultQuantityForOptionsAndStrategies = _ref2.defaultQuantityForOptionsAndStrategies,\n defaultQuantityForShares = _ref2.defaultQuantityForShares;\n\n if (assetType === AssetType.Equity) {\n return defaultQuantityForShares || 1;\n } else {\n return defaultQuantityForOptionsAndStrategies || 1;\n }\n};\nexport var findDuplicateLegs = function findDuplicateLegs(legs) {\n var partialLegs = _.map(legs, function (l) {\n var symbolData = parseOccSymbol(l.Symbol);\n var data = {\n spreadRatio: l.SpreadRatio,\n expiration: symbolData.expiration,\n strike: symbolData.strike,\n optionType: symbolData.option\n };\n return {\n symbol: l.Symbol,\n occSymbol: l.OccSymbol,\n data: data\n };\n });\n\n return _.filter(partialLegs, function (curr, currInd) {\n var eq = _.find(partialLegs, function (e, eInd) {\n return _.isEqual(e.data, curr.data) && eInd !== currInd;\n });\n\n return eq ? true : false;\n });\n};","import _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\n\nvar _RatioForPrice;\n\nimport { OrderAction, AssetType, DebitOrCredit } from '@tradingblock/types';\nimport _ from 'lodash';\nimport { isCalendar } from '..';\nvar RatioForPrice = (_RatioForPrice = {}, _defineProperty(_RatioForPrice, AssetType.Equity.toFixed(), 0.01), _defineProperty(_RatioForPrice, AssetType.Option.toFixed(), 1), _RatioForPrice);\n\nvar getLegMarketValueTotalForPrice = function getLegMarketValueTotalForPrice(leg, price) {\n var at = leg.AssetType;\n var priceRatio = RatioForPrice[at.toFixed()];\n var quantity = leg.SpreadRatio || 1;\n return priceRatio * quantity * price;\n};\n\nvar getAggregatedBidAsk = function getAggregatedBidAsk(legs) {\n return _.reduce(legs, function (acc, l) {\n return Object.assign({}, acc, {\n bid: acc.bid + l.bid,\n ask: acc.ask + l.ask\n });\n }, {\n bid: 0,\n ask: 0\n });\n};\n\nvar minOrZero = function minOrZero(vals) {\n return _.min(vals) || 0;\n};\n\nvar maxOrZero = function maxOrZero(vals) {\n return _.max(vals) || 0;\n};\n\nvar getLegBidAsk = function getLegBidAsk(legs, quotes) {\n return _.reduce(legs, function (acc, leg, legSymbol) {\n var legQuote = _.find(quotes, function (q) {\n return q.Symbol === legSymbol;\n });\n\n if (legQuote && leg && legSymbol) {\n // const isBuy = leg.Action === OrderAction.Buy;\n // const marketBidPrice = isBuy ? legQuote.BidPrice : legQuote.AskPrice;\n // const marketAskPrice = isBuy ? legQuote.AskPrice : legQuote.BidPrice;\n var legbid = getLegMarketValueTotalForPrice(leg, legQuote.BidPrice);\n var legask = getLegMarketValueTotalForPrice(leg, legQuote.AskPrice);\n return [].concat(_toConsumableArray(acc), [{\n leg: leg,\n bid: legbid,\n ask: legask,\n action: leg.Action\n }]);\n } else {\n return acc;\n }\n }, []);\n};\n\nexport var calculateOrderPrice = function calculateOrderPrice(legs, quotes, action, gcd, strategy) {\n if (strategy === 'Put Calendar' || strategy === 'Call Calendar') {\n var _option_legs = Object.values(legs).filter(function (l) {\n return l.AssetType === AssetType.Option;\n });\n\n var option_legs_keys = Object.keys(legs).filter(function (l) {\n return legs[l].AssetType === AssetType.Option;\n });\n\n if (_option_legs !== undefined && _option_legs.length === 2 && _option_legs[0] !== undefined && _option_legs[1] !== undefined && _option_legs[0].Expiration !== undefined && _option_legs[1].Expiration !== undefined) {\n var later_exp_option = _option_legs[0].Expiration.date > _option_legs[1].Expiration.date ? 0 : 1;\n var earlier_exp_option = _option_legs[0].Expiration.date < _option_legs[1].Expiration.date ? 0 : 1;\n var later_exp_option_quote = quotes.find(function (q) {\n return q.Symbol === option_legs_keys[later_exp_option];\n });\n var earlier_exp_option_quote = quotes.find(function (q) {\n return q.Symbol === option_legs_keys[earlier_exp_option];\n });\n var _totalMultiple = 100;\n\n if (later_exp_option_quote !== undefined && earlier_exp_option_quote !== undefined) {\n var _bid = later_exp_option_quote.BidPrice - earlier_exp_option_quote.AskPrice;\n\n var _ask = later_exp_option_quote.AskPrice - earlier_exp_option_quote.BidPrice;\n\n return {\n bid: _.round(_bid, 2),\n ask: _.round(_ask, 2),\n mid: _.round((_ask - _bid) / 2 + _bid, 3),\n totalMultiple: _totalMultiple,\n gcd: gcd\n };\n }\n }\n }\n\n var option_legs = Object.values(legs).filter(function (l) {\n return l.AssetType === AssetType.Option;\n });\n var maxRatio = _.max(_.map(legs, function (l) {\n return RatioForPrice[l.AssetType.toFixed()];\n })) || 1;\n var legPrices = getLegBidAsk(legs, quotes);\n\n var shortLegs = _.filter(legPrices, function (l) {\n return l.action === OrderAction.Sell;\n });\n\n var longLegs = _.filter(legPrices, function (l) {\n return l.action === OrderAction.Buy;\n });\n\n var shorts = getAggregatedBidAsk(shortLegs);\n var longs = getAggregatedBidAsk(longLegs);\n var bidValue = action === OrderAction.Buy ? longs.bid - shorts.ask : shorts.bid - longs.ask;\n var askValue = action === OrderAction.Buy ? longs.ask - shorts.bid : shorts.ask - longs.bid;\n var bid = minOrZero([bidValue, askValue]) / gcd / maxRatio;\n var ask = maxOrZero([bidValue, askValue]) / gcd / maxRatio;\n var mid = (ask - bid) / 2 + bid;\n var totalMultiple = option_legs.length > 0 ? 100 : 1;\n return {\n ask: _.round(ask, 2),\n bid: _.round(bid, 2),\n mid: _.round(mid, 2),\n totalMultiple: totalMultiple,\n gcd: gcd\n };\n};\nexport var getDebitOrCredit = function getDebitOrCredit(data) {\n var action = data.action,\n strategy = data.strategy,\n currentDebitOrCredit = data.currentDebitOrCredit,\n price = data.price,\n updateCreditOrDebit = data.updateCreditOrDebit,\n legs = data.legs,\n mid = data.mid,\n match = data.match;\n var orderActionValue = isCalendar(strategy) ? OrderAction.Buy : action;\n var defaultDebitOrCredit = orderActionValue === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n var debitCredit = currentDebitOrCredit;\n var isCalendarMatch = match && (match.info.Name === 'Call Calendar' || match.info.Name === 'Put Calendar');\n var isCallVerticalMatch = match && match.info.Name === 'Call Vertical';\n var isPutVerticalMatch = match && match.info.Name === 'Put Vertical';\n var isCoveredCallMatch = match && match.info.Name === 'Covered Call';\n var isCallButterflyMatch = match && match.info.Name === 'Call Butterfly';\n var isPutButterflyMatch = match && match.info.Name === 'Put Butterfly';\n var isIronButterflyMatch = match && match.info.Name === 'Iron Butterfly';\n var isIronCondorMatch = match && match.info.Name === 'Iron Condor';\n var isCallCondorMatch = match && match.info.Name === 'Call Condor';\n var isPutCondorMatch = match && match.info.Name === 'Put Condor';\n var isCall = match && match.info.Name === 'Call';\n var isPut = match && match.info.Name === 'Put';\n\n if (strategy === 'Custom' && _.every(legs, function (l) {\n return l.Action === OrderAction.Buy;\n })) {\n debitCredit = DebitOrCredit.Debit;\n } else if (strategy === 'Custom' && _.every(legs, function (l) {\n return l.Action === OrderAction.Sell;\n })) {\n debitCredit = DebitOrCredit.Credit;\n } else if (updateCreditOrDebit && (mid !== undefined && mid < 0 || price < 0)) {\n debitCredit = defaultDebitOrCredit === DebitOrCredit.Debit ? DebitOrCredit.Credit : DebitOrCredit.Debit;\n } else if (updateCreditOrDebit && (mid !== undefined && mid >= 0 || price >= 0)) {\n debitCredit = defaultDebitOrCredit;\n }\n\n if (strategy === 'Call Calendar' || strategy === 'Put Calendar') {\n if (price !== undefined) {\n if (price > 0 && action === OrderAction.Buy) {\n debitCredit = DebitOrCredit.Debit;\n } else if (price > 0 && action === OrderAction.Sell) {\n debitCredit = DebitOrCredit.Credit;\n }\n\n if (price < 0 && action === OrderAction.Buy) {\n debitCredit = DebitOrCredit.Credit;\n } else if (price < 0 && action === OrderAction.Sell) {\n debitCredit = DebitOrCredit.Debit;\n }\n }\n } // find the latest expiring leg\n\n\n var findLatestExpiration = function findLatestExpiration(legs) {\n var latestExpiration = null;\n var latestExpirationDate = new Date(0); // Initialize with a very early date\n\n for (var legKey in legs) {\n var leg = legs[legKey];\n var expirationDate = new Date(leg.Expiration.date);\n\n if (expirationDate > latestExpirationDate) {\n latestExpirationDate = expirationDate;\n latestExpiration = leg;\n }\n }\n\n return latestExpiration;\n }; // find the lowest strike leg\n\n\n var findLowestStrike = function findLowestStrike(legs) {\n var lowestStrike = null;\n var lowestStrikeValue = 0;\n\n for (var legKey in legs) {\n var leg = legs[legKey];\n var strike = leg.Strike;\n\n if (lowestStrike === null || strike < lowestStrikeValue) {\n lowestStrikeValue = strike;\n lowestStrike = leg;\n }\n }\n\n return lowestStrike;\n };\n\n var findShareLeg = function findShareLeg(legs) {\n var shareLeg = null;\n\n for (var legKey in legs) {\n var leg = legs[legKey];\n\n if (leg.AssetType === AssetType.Equity) {\n shareLeg = leg;\n break;\n }\n }\n\n return shareLeg;\n };\n\n if (isCall) {\n var lowestStrikeLeg = findLowestStrike(legs);\n\n if (lowestStrikeLeg) {\n if (updateCreditOrDebit) {\n debitCredit = lowestStrikeLeg.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isPut) {\n var _lowestStrikeLeg = findLowestStrike(legs);\n\n if (_lowestStrikeLeg) {\n if (updateCreditOrDebit) {\n debitCredit = _lowestStrikeLeg.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isCallVerticalMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg2 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg2) {\n if (updateCreditOrDebit) {\n // for a call vertical the order is considered a buy if you are buying the lower strike and selling the higher strike\n debitCredit = _lowestStrikeLeg2.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isPutVerticalMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg3 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg3) {\n if (updateCreditOrDebit) {\n // for a put vertical the order is considered a buy if you are buying the higher strike and selling the lower strike\n debitCredit = _lowestStrikeLeg3.Action === OrderAction.Buy ? DebitOrCredit.Credit : DebitOrCredit.Debit;\n }\n }\n }\n\n if (isCoveredCallMatch) {\n // use the share leg action to determine the debit or credit\n var shareLeg = findShareLeg(legs);\n\n if (shareLeg) {\n if (updateCreditOrDebit) {\n // for a covered call the order is considered a buy if you are buying the share and selling the call\n debitCredit = shareLeg.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isCallButterflyMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg4 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg4) {\n if (updateCreditOrDebit) {\n // for a call butterfly the order is considered a buy if you are buying the lower strike and higher strike and selling the middle strike\n debitCredit = _lowestStrikeLeg4.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isPutButterflyMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg5 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg5) {\n if (updateCreditOrDebit) {\n // for a put butterfly the order is considered a buy if you are buying the middle strike and selling the lower strike and higher strike\n debitCredit = _lowestStrikeLeg5.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isIronButterflyMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg6 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg6) {\n if (updateCreditOrDebit) {\n // for an iron butterfly the order is considered a buy if you are buying the lower strike and higher strike and selling the middle strike\n debitCredit = _lowestStrikeLeg6.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isIronCondorMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg7 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg7) {\n if (updateCreditOrDebit) {\n // for an iron condor the order is considered a buy if you are buying the lower strike and higher strike and selling the middle strike\n debitCredit = _lowestStrikeLeg7.Action === OrderAction.Sell ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n }\n }\n }\n\n if (isCallCondorMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg8 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg8) {\n if (updateCreditOrDebit) {\n if (price > 0) {\n debitCredit = _lowestStrikeLeg8.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n } else if (price < 0) {\n debitCredit = _lowestStrikeLeg8.Action === OrderAction.Buy ? DebitOrCredit.Credit : DebitOrCredit.Debit;\n }\n }\n }\n }\n\n if (isPutCondorMatch) {\n // use the lowest strike leg action to determine the debit or credit\n var _lowestStrikeLeg9 = findLowestStrike(legs);\n\n if (_lowestStrikeLeg9) {\n if (updateCreditOrDebit) {\n if (price > 0) {\n debitCredit = _lowestStrikeLeg9.Action === OrderAction.Buy ? DebitOrCredit.Debit : DebitOrCredit.Credit;\n } else if (price < 0) {\n debitCredit = _lowestStrikeLeg9.Action === OrderAction.Buy ? DebitOrCredit.Credit : DebitOrCredit.Debit;\n }\n }\n }\n }\n\n return debitCredit;\n};\nexport var getBestPrice = function getBestPrice(_ref) {\n var ask = _ref.ask,\n bid = _ref.bid,\n last = _ref.last,\n defaultValue = _ref.defaultValue,\n isSettlementSet = _ref.isSettlementSet;\n // Normalize ask and bid values to 0 if they are undefined or null, assuming negative prices are invalid\n var askValue = _.isNil(ask) ? 0 : ask;\n var bidValue = _.isNil(bid) ? 0 : bid; // If the settlement is set, return the last price immediately\n\n if (isSettlementSet === true) {\n return last;\n } // If both bid and ask prices are non-negative\n\n\n if (bidValue >= 0 && askValue > 0) {\n // If the last price is less than or equal to the bid, return the bid value\n if (last <= bidValue) {\n return bidValue;\n } // Else if the last price is greater than the ask, return the ask value\n else if (last > askValue) {\n return askValue;\n } // If the default value is set to 'average', compute the average of ask and bid\n\n\n if (defaultValue === 'avgBidAsk') {\n // If the bid value is 0, askValue is greater than 0, and last is greater than askValue,\n // return askValue, otherwise return the last price\n if (bidValue === 0) {\n // If ask is greater than 0, and last is greater than ask, return ask, otherwise return last\n if (askValue > 0 && last > askValue) {\n return askValue;\n } else {\n return last;\n }\n } else {\n // Otherwise, return the average of ask and bid\n return (askValue + bidValue) / 2;\n }\n } else {\n // Else if not averaging, return the last price\n return last;\n }\n } else {\n // Else if the bid or ask values are not in the expected range\n if (askValue <= 0) {\n // And ask value is non-positive, return the last price\n return last;\n } else {\n // Else if the ask value is positive but less than the last, return ask, otherwise return last\n if (askValue < last) {\n return askValue;\n } else {\n return last;\n }\n }\n }\n};","import { isStrategy } from '@tradingblock/types';\nimport { CallCalendar, PutCalendar } from '..';\nexport var isCalendar = function isCalendar(strategy) {\n return isStrategy([CallCalendar, PutCalendar], strategy);\n};","import { OrderStatuses } from '@tradingblock/types';\nexport var CancellableStatuses = [OrderStatuses.New, OrderStatuses.PartiallyFilled, OrderStatuses.Replaced, OrderStatuses.PendingCancel, OrderStatuses.PendingNew, OrderStatuses.PendingReplace, OrderStatuses.Saved, OrderStatuses.Initiated, OrderStatuses.ReplaceInitiated, OrderStatuses.CancelInitiated, OrderStatuses.CancelInitiated, OrderStatuses.CancelRejected, OrderStatuses.ReplaceRejected];\nexport var ReplaceableStatuses = [OrderStatuses.New, OrderStatuses.Replaced, OrderStatuses.PendingReplace, OrderStatuses.Saved, OrderStatuses.Initiated, OrderStatuses.ReplaceInitiated, OrderStatuses.ReplaceRejected];\nexport var OrderFilledStatuses = [OrderStatuses.Filled, OrderStatuses.PartiallyFilled, OrderStatuses.PartiallyCancelled];\nexport var ExecutedStatuses = [OrderStatuses.Filled, OrderStatuses.PartiallyFilled];\nexport var OpenStatuses = [OrderStatuses.New, OrderStatuses.PendingNew, OrderStatuses.Replaced, OrderStatuses.PendingReplace, OrderStatuses.Saved, OrderStatuses.Initiated, OrderStatuses.ReplaceInitiated, OrderStatuses.CancelInitiated, OrderStatuses.CancelRejected, OrderStatuses.ReplaceRejected];\nexport var OrderStatusCategories = {\n Cancellable: CancellableStatuses,\n Replaceable: ReplaceableStatuses,\n Filled: OrderFilledStatuses,\n Executed: ExecutedStatuses,\n Open: OpenStatuses\n};","import { TokenRequestUrl } from '../constants';\nimport CryptoJS from 'crypto-js';\n\nfunction base64url(source) {\n // Encode in classical base64\n var encodedSource = CryptoJS.enc.Base64.stringify(source); // Remove padding equal characters\n\n encodedSource = encodedSource.replace(/=+$/, ''); // Replace characters according to base64url specifications\n\n encodedSource = encodedSource.replace(/\\+/g, '-');\n encodedSource = encodedSource.replace(/\\//g, '_');\n return encodedSource;\n}\n\nfunction GenerateIV() {\n var date = new Date();\n var ivyear = date.getUTCFullYear().toString();\n var ivmonth = date.getUTCMonth() + 1 > 9 ? (date.getUTCMonth() + 1).toString() : '0' + (date.getUTCMonth() + 1);\n var ivday = date.getUTCDate() > 9 ? date.getUTCDate().toString() : '0' + date.getUTCDate();\n var ivstr = 'TBAPIENT' + ivyear + ivmonth + ivday;\n return ivstr;\n} //helper function for encrypt message\n\n\nfunction Encrypt(txtUserName, _key) {\n var key = CryptoJS.enc.Utf8.parse(_key);\n var iv = CryptoJS.enc.Utf8.parse(GenerateIV());\n var ciphertext = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(txtUserName), key, {\n keySize: 128,\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n var re = String(ciphertext.toString());\n re = re.replace(/=+$/, '');\n re = re.replace(/\\+/g, '-');\n re = re.replace(/\\//g, '_');\n return re;\n} //--------------------------------------------------------------------------------\n// STEP 1: generate JWT header this part should provide a static output as: \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9\"\n\n\nfunction generateHeader() {\n var header = {\n typ: 'JWT',\n alg: 'HS256'\n };\n var stringifiedHeader = CryptoJS.enc.Utf8.parse(JSON.stringify(header));\n var encodedHeader = base64url(stringifiedHeader);\n return encodedHeader;\n} //----------------------------------------------------\n//STEP 3: Generate Signature\n\n\nfunction generateSignature(_header, _payload, _apikey) {\n var toSign = _header + '.' + _payload;\n var signature = CryptoJS.HmacSHA256(toSign, _apikey);\n var encodedSignature = base64url(signature);\n return encodedSignature;\n} //------------------------------------------------------\n//STEP 2: generate Payload\n\n\nfunction generatePayload(_username, _password, _apikey, _bearer) {\n var user = {\n username: _username,\n password: _password\n }; //encode user\n\n var stringedUser = JSON.stringify(user); //encode user json and use AES to encrypt with api key.\n\n var ciphertext = Encrypt(stringedUser, _apikey);\n var date = new Date();\n var payload = {\n EndUser: ciphertext,\n Entity: _bearer,\n Timestamp: date\n };\n var stringifiedPayload = CryptoJS.enc.Utf8.parse(JSON.stringify(payload));\n var encodedPayload = base64url(stringifiedPayload);\n return encodedPayload;\n}\n\nfunction getTokenRequest(username, password, apikey, bearer) {\n var header = generateHeader();\n var payload = generatePayload(username, password, apikey, bearer);\n var signature = generateSignature(header, payload, apikey);\n var request = header + '.' + payload + '.' + signature;\n return request;\n}\n\nexport function GetToken(api) {\n return function (username, password, key, bearer) {\n var request = getTokenRequest(username, password, key, bearer);\n console.log('GetToken :: payload: ', request);\n return api.post(TokenRequestUrl, {\n JWS: request\n }).then(function (res) {\n if (res.responseCode !== 0) {\n console.log('GetToken Response', res);\n }\n\n return res;\n });\n };\n}","import { GetBalancesForAccountsURL, GetBalancesForWithdrawalURL, GetBalancesUrl } from '../constants';\nexport function GetAvailableFunds(api) {\n return function (accountId, subaccountId) {\n return api.authenticated().get(GetBalancesUrl, {\n accountId: accountId,\n subaccountId: subaccountId\n }, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}\nexport function GetBalances(api) {\n return function (accountId, subaccountId) {\n return api.authenticated().get(GetBalancesUrl, {\n accountId: accountId,\n subaccountId: subaccountId\n }, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}\nexport function GetBalancesForAccounts(api) {\n return function (items) {\n return api.authenticated().post(GetBalancesForAccountsURL, {\n items: items\n }, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}\nexport function GetBalancesForWithdrawal(api) {\n return function (accountId) {\n return api.authenticated().get(GetBalancesForWithdrawalURL(accountId), {}, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}","import { GetBarsUrl } from '../constants';\nimport { dateStringOrUndefined } from '../utilities';\nexport function GetBars(api) {\n return function (options) {\n var opts = Object.assign({}, options, {\n starttime: dateStringOrUndefined(options.starttime),\n endtime: dateStringOrUndefined(options.endtime)\n });\n return api.get(GetBarsUrl, opts);\n };\n}","import { GetQuoteUrl, GetQuoteDividendUrl, GetQuoteEarningsUrl } from '../constants';\nimport { GetQuoteExtendedUrl } from '../constants';\nimport _ from 'lodash';\nimport Axios from 'axios';\nexport function GetQuotes(api) {\n return function (symbol) {\n var symbs = _.isArray(symbol) ? symbol : [symbol];\n var cancelToken = Axios.CancelToken.source();\n return [api.get(GetQuoteUrl, {\n symbols: symbs.join(','),\n cancelToken: cancelToken.token\n }), cancelToken];\n };\n}\nexport function GetQuotesExtended(api) {\n return function (symbol) {\n return api.get(GetQuoteExtendedUrl, {\n symbol: symbol\n });\n };\n}\n\nfunction GetQuoteDividends(api) {\n return function (range, symbol) {\n return api.get(GetQuoteDividendUrl, {\n symbol: symbol,\n range: range\n });\n };\n}\n\nfunction GetEarnings(api) {\n return function (symbol, period) {\n return api.get(GetQuoteEarningsUrl, {\n symbol: symbol,\n period: period\n });\n };\n}\n\nexport function GetQuotesCharting(api) {\n return function (symbol) {\n var symbs = _.isArray(symbol) ? symbol : [symbol];\n return api.get(GetQuoteUrl, {\n symbols: symbs.join(',')\n });\n };\n}\nexport var quotes = function quotes(api) {\n return {\n get: GetQuotes(api),\n extended: GetQuotesExtended(api),\n dividends: GetQuoteDividends(api),\n earnings: GetEarnings(api),\n getChartingFeed: GetQuotesCharting(api)\n };\n};","import { GetSymbolsUrl } from '../constants';\nimport _ from 'lodash';\nexport function GetSymbols(api) {\n return function (query) {\n var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n var querystringRequest = _.isString(query) ? {\n query: query,\n limit: limit\n } : query;\n return api.authenticated().get(GetSymbolsUrl, querystringRequest, {\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n return res.payload || [];\n }).catch(function (reason) {\n console.error('Error trying to fetch symbols', reason);\n return [];\n });\n };\n}\nexport function Symbols(api) {\n return {\n search: function search(query) {\n var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n var querystringRequest = _.isString(query) ? {\n query: query,\n limit: limit\n } : query;\n return api.authenticated().get(GetSymbolsUrl, querystringRequest, {\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n return res.payload || [];\n }).catch(function (reason) {\n console.error('Error trying to fetch symbols', reason);\n return [];\n });\n },\n warnings: function warnings() {\n return api.authenticated().get('Symbol/WarningSymbols', {}, {\n headers: {\n Accept: 'application/json'\n }\n });\n }\n };\n}","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport dayjs from 'dayjs';\nimport { AssetType } from '@tradingblock/types';\nimport { PositionsUrl } from '../constants';\nimport { deriveRootSymbol, deriveOptionExpirationType } from '../utilities/SymbolUtilities';\nexport var get = function get(api) {\n return function (accountId, subaccountId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var res, payload, responseCode, data;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return api.get(PositionsUrl, {\n accountId: accountId,\n subaccountId: subaccountId\n });\n\n case 2:\n res = _context.sent;\n payload = res.payload, responseCode = res.responseCode;\n data = _.map(payload, function (position) {\n var isOption = position.AssetType === AssetType.Option;\n var PositionId = \"\".concat(position.Symbol, \"-\").concat(dayjs(position.DateOpened).valueOf(), \"-\").concat(position.OrderId);\n var isMutualFund = position.AssetType === AssetType.MutualFund || position.AssetType === AssetType.MoneyMarket;\n var res = Object.assign({}, position, {\n PositionId: PositionId,\n Symbol: isMutualFund ? ':' + position.Symbol : position.Symbol,\n UnderlyingSymbol: isMutualFund ? ':' + position.UnderlyingSymbol : position.UnderlyingSymbol,\n meta: {\n OptionExpirationType: isOption ? deriveOptionExpirationType(position.Symbol, position.UnderlyingSymbol) : undefined,\n RootSymbol: deriveRootSymbol(position.Symbol),\n Description: position.Description\n }\n });\n return res;\n });\n return _context.abrupt(\"return\", Object.assign({}, res, {\n payload: data,\n responseCode: responseCode\n }));\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n };\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport dayjs from 'dayjs';\nimport { GetExpirationsUrl, GetStrikesUrl, GetChainUrl } from '../constants';\nimport { formatExpiration } from '../utilities/DateUtilities';\nimport { DateFormats } from '..';\nexport var getExpirations = function getExpirations(api) {\n return function (symbol) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var res, expDates;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return api.get(GetExpirationsUrl, {\n underlyingSymbol: symbol,\n isExpanded: 'true'\n });\n\n case 2:\n res = _context.sent;\n expDates = _.map(res.payload ? res.payload : [], function (d) {\n return Object.assign({}, d, formatExpiration(d));\n });\n return _context.abrupt(\"return\", {\n responseCode: res.responseCode,\n payload: expDates\n });\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n };\n};\nexport var getStrikes = function getStrikes(api) {\n return function (symbol, expiration, time, strikeMin, strikeMax) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var expirations;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return api.get(GetStrikesUrl, {\n underlyingSymbol: symbol,\n expiration: dayjs(expiration).format(DateFormats.ApiFormat),\n strikeMin: strikeMin,\n strikeMax: strikeMax,\n time: time\n });\n\n case 2:\n expirations = _context2.sent;\n return _context2.abrupt(\"return\", expirations);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n };\n};\nexport var getChain = function getChain(api) {\n return function (symbol, expiration, strikeCount, fetchGreeks) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var underlyingSymbol, strikeParams, chainData, chainDataResults;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n // if strike count == 0, fetch all strikes\n underlyingSymbol = symbol;\n strikeParams = strikeCount === 0 ? {} : {\n strikesAroundMarket: strikeCount / 2\n };\n _context3.next = 4;\n return api.get(GetChainUrl, Object.assign({\n underlyingSymbol: underlyingSymbol,\n expiration: dayjs(expiration).format(DateFormats.ApiFormat),\n // pass date part only without time\n fetchGreeks: fetchGreeks\n }, strikeParams));\n\n case 4:\n chainData = _context3.sent;\n chainDataResults = _(chainData.payload).reduce(function (pairs, expirations, opsymbol) {\n var expirationStrikes = _(expirations).flatMap(function (exp) {\n return _.flatMap(exp);\n }).map(function (e) {\n return Object.assign({}, e, {\n symbol: opsymbol,\n underlyingSymbol: underlyingSymbol\n });\n }).value();\n\n return _.union(pairs, expirationStrikes);\n }, []);\n return _context3.abrupt(\"return\", {\n data: _.sortBy(chainDataResults, function (op) {\n return op.Strike;\n }),\n responseCode: chainData.responseCode\n });\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n };\n};\nexport var options = function options(api) {\n return {\n expirations: getExpirations(api),\n strikes: getStrikes(api),\n optionchain: getChain(api)\n };\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport _ from 'lodash';\nimport { PlaceOrderUrl, GetOrdersUrl, CancelOrderUrl, ChangeOrderUrl } from '../constants';\nimport { transformForApi, transformFromApi, transformOrderForApi } from '..';\nimport dayjs from 'dayjs';\nvar httpOptions = {\n headers: {\n Accept: 'application/json'\n }\n};\n\nvar _create = function create(api) {\n return function (orderDesc) {\n var order = transformForApi(orderDesc);\n return api.authenticated().post(PlaceOrderUrl, order, httpOptions);\n };\n};\n\nexport { _create as create };\n\nvar _change = function change(api) {\n return function (orderDesc) {\n var order = transformOrderForApi(orderDesc);\n return api.authenticated().post(ChangeOrderUrl, order, httpOptions);\n };\n};\n\nexport { _change as change };\n\nvar _cancel = function cancel(api) {\n return function (orderId, accountId) {\n // might need to pass subaccountId, clientRefId params at some point: https://ny4staging.tradingblock.com/RestHub/swagger-ui#/Orders/CancelOrder\n var data = {\n orderId: orderId,\n accountId: accountId\n };\n return api.authenticated().post(CancelOrderUrl, data, httpOptions);\n };\n};\n\nexport { _cancel as cancel };\nexport var getOrders = function getOrders(api) {\n return function (options) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var request, optionValues, apiResponse;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // remove blockId from request & format dates dayjs(options.dateFrom).utc().toDate()\n request = _.omit(options, ['blockId']);\n optionValues = Object.assign({}, request, {\n dateFrom: request.dateFrom ? dayjs(request.dateFrom).utc().toDate() : undefined,\n dateTo: request.dateTo ? dayjs(request.dateTo).utc().toDate() : undefined\n });\n _context.next = 4;\n return api.authenticated().get(GetOrdersUrl, optionValues, httpOptions);\n\n case 4:\n apiResponse = _context.sent;\n return _context.abrupt(\"return\", Object.assign({}, apiResponse, {\n payload: apiResponse.payload ? Object.assign({}, apiResponse.payload, {\n items: _.map(apiResponse.payload.items, transformFromApi)\n }) : undefined\n }));\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n };\n};\nexport function order(api) {\n var _this2 = this;\n\n return function (accountId, subaccountId) {\n return {\n change: function change(req) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _change(api)(req);\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n },\n create: function create(orderDesc) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", _create(api)(Object.assign({}, orderDesc, {\n AccountId: accountId,\n kind: 'order'\n })));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n get: function get(request) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", getOrders(api)(Object.assign({}, request, {\n accountId: accountId,\n subaccountId: subaccountId\n })));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n cancel: function cancel(orderId) {\n return tslib_1.__awaiter(_this2, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", _cancel(api)(orderId, accountId));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n }\n };\n };\n}","import dayjs from 'dayjs';\nimport { CreateUserUrl, CreateAccountUrl, UserRequirementsUrl, DocumentsUploadUrl, GetHeardAboutUrl, GetApplicationInvestigationStatusUrl, UploadApplicationDocumentUrl, UploadInvestigationDocumentUrl, DuplicateAccountCheckUrl } from '../constants';\nimport { DateFormats } from '..';\nimport { RequestHeaders } from './utilities';\nexport function Application(api) {\n return {\n getUserRequirements: function getUserRequirements() {\n return api.get(UserRequirementsUrl, undefined, RequestHeaders);\n },\n getHeardAbout: function getHeardAbout(siteConfigId) {\n return api.get(GetHeardAboutUrl(siteConfigId), {}, RequestHeaders);\n },\n getApplicationStatus: function getApplicationStatus(accountId) {\n return api.authenticated().get(GetApplicationInvestigationStatusUrl(accountId), undefined, RequestHeaders);\n },\n createUser: function createUser(data) {\n return api.post(CreateUserUrl, data, RequestHeaders);\n },\n uploadDocument: function uploadDocument(file, tag) {\n var TakenOn = dayjs(file.lastModified).utc().format(DateFormats.DateTimeApiFormat);\n var data = new FormData();\n data.append('metaData', JSON.stringify({\n tag: tag,\n ImageName: file.name,\n TakenOn: TakenOn\n }));\n data.append('file', file); // NOTE: when posting multipart/form-data, not passing Accept: 'application/json' header (see: https://stackoverflow.com/a/35206069)\n\n return api.authenticated().post(DocumentsUploadUrl, data).then(function (res) {\n return Object.assign({}, res, {\n payload: {\n id: res.payload,\n filename: file.name\n }\n });\n });\n },\n uploadApplicationDocument: function uploadApplicationDocument(file, accountId, accountHolderId, documentType) {\n var TakenOn = dayjs(file.lastModified).utc().format(DateFormats.DateTimeApiFormat);\n var uploadFormData = new FormData();\n uploadFormData.append('metaData', JSON.stringify({\n DocumentName: documentType,\n ImageName: file.name,\n TakenOn: TakenOn\n }));\n uploadFormData.append('file', file);\n return api.authenticated().post(UploadApplicationDocumentUrl(accountId, accountHolderId), uploadFormData);\n },\n uploadInvestigationDocument: function uploadInvestigationDocument(file, accountId, investigationId, documentType) {\n var TakenOn = dayjs(file.lastModified).utc().format(DateFormats.DateTimeApiFormat);\n var uploadFormData = new FormData();\n uploadFormData.append('metaData', JSON.stringify({\n DocumentName: documentType,\n ImageName: file.name,\n TakenOn: TakenOn\n }));\n uploadFormData.append('file', file);\n return api.authenticated().post(UploadInvestigationDocumentUrl(accountId, investigationId), uploadFormData);\n },\n createAccount: function createAccount(data) {\n return api.authenticated().post(CreateAccountUrl, data, RequestHeaders);\n },\n duplicateAccountCheck: function duplicateAccountCheck(data) {\n return api.authenticated().post(DuplicateAccountCheckUrl, data, RequestHeaders);\n }\n };\n}","import { RequestHeaders } from './utilities';\nexport function UserCommands(api) {\n return {\n profile: function profile() {\n return api.authenticated().get(\"User/GetProfile\", {}, RequestHeaders);\n }\n };\n}","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport { GetReleaseNotesUrl, GetNewsFeedUrl, AlertMessagesURL, GetAlertMessageTemplatesURL, UpdateAlertsURL, CreateReleaseNotesUrl, UpdateReleaseNotesUrl } from '../constants';\nimport _ from 'lodash';\nexport function GetNewsFeed(api) {\n return function (symbols, updatedSince, channels) {\n var symbs = _.isArray(symbols) ? symbols : [symbols];\n return api.get(GetNewsFeedUrl, {\n symbols: symbs.join(','),\n updatedSince: updatedSince,\n channels: channels\n });\n };\n}\nexport var create = function create(api) {\n return function (releaseNote) {\n return api.authenticated().post(CreateReleaseNotesUrl, releaseNote, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n};\nexport var info = function info(api) {\n return {\n get: function get(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var page, pageSize, searchRequest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = request.page ? request.page : 0;\n pageSize = request.pageSize ? request.pageSize : 5;\n searchRequest = Object.assign({}, request, {\n page: page,\n pageSize: pageSize\n });\n _context.next = 5;\n return api.get(GetReleaseNotesUrl, searchRequest);\n\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n },\n createAlert: function createAlert(alert) {\n return api.authenticated().post(AlertMessagesURL, alert);\n },\n getActiveAlerts: function getActiveAlerts(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return api.get(AlertMessagesURL, request);\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n },\n getAlertTemplates: function getAlertTemplates(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return api.get(GetAlertMessageTemplatesURL, request);\n\n case 2:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n updateAlert: function updateAlert(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return api.authenticated().put(UpdateAlertsURL(request.id, request.active), request);\n\n case 2:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n news: GetNewsFeed(api),\n createReleaseNote: create(api),\n updateReleaseNote: function updateReleaseNote(releaseNote) {\n return api.authenticated().put(UpdateReleaseNotesUrl(releaseNote.id), {\n releaseDate: releaseNote.releaseDate,\n summary: releaseNote.summary,\n restrictedToUserLevel: releaseNote.restrictedToUserLevel,\n type: releaseNote.type\n });\n }\n };\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport { GetAccountManagementDetailsUrl, GetPendingUserMarketDataEntitlementsUrl } from '../constants';\nimport { RequestHeaders } from './utilities';\nimport { ApprovePendingUserMarketDataEntitlement, RejectPendingUserMarketDataEntitlement } from '..';\nexport var Entitlements = function Entitlements(api) {\n return {\n getPendingUserMarketDataEntitlements: function getPendingUserMarketDataEntitlements(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return api.authenticated().get(GetPendingUserMarketDataEntitlementsUrl, request);\n\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n },\n getAccountDetails: function getAccountDetails(accountId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return api.authenticated().get(GetAccountManagementDetailsUrl, accountId, RequestHeaders);\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n },\n approvePendingUserMarketDataEntitlement: function approvePendingUserMarketDataEntitlement(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return api.authenticated().put(ApprovePendingUserMarketDataEntitlement(request.pendingId), {}, RequestHeaders);\n\n case 2:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n rejectPendingUserMarketDataEntitlement: function rejectPendingUserMarketDataEntitlement(request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return api.authenticated().put(RejectPendingUserMarketDataEntitlement(request.pendingId), {}, RequestHeaders);\n\n case 2:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n }\n };\n};","import { DownloadsDailyConfirm, DownloadsDailyConfirms, DownloadsMonthlyStatement, DownloadsMonthlyStatements, DownloadsTaxDocument, DownloadsTaxDocuments } from '..';\nimport dayjs from 'dayjs';\nvar RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport function Downloads(api) {\n return {\n getDailyConfirms: function getDailyConfirms(accountId, startDate, endDate) {\n var startDateString = dayjs(startDate).format('YYYY-MM-DD');\n var endDateString = dayjs(endDate).format('YYYY-MM-DD');\n return api.authenticated().get(DownloadsDailyConfirms(accountId), {\n startDate: startDateString,\n endDate: endDateString\n }, RequestHeaders);\n },\n getDailyConfirm: function getDailyConfirm(accountId, date) {\n var requestedDate = dayjs(date).format('YYYY-MM-DD');\n return api.authenticated().getBinary(DownloadsDailyConfirm(accountId), {\n date: requestedDate\n }, RequestHeaders);\n },\n getMonthlyStatements: function getMonthlyStatements(accountId, startDate, endDate) {\n var startDateString = dayjs(startDate).format('YYYY-MM-DD');\n var endDateString = dayjs(endDate).format('YYYY-MM-DD');\n return api.authenticated().get(DownloadsMonthlyStatements(accountId), {\n startDate: startDateString,\n endDate: endDateString\n }, RequestHeaders);\n },\n getMonthlyStatement: function getMonthlyStatement(accountId, date) {\n var requestedDate = dayjs(date).format('YYYY-MM-DD');\n return api.authenticated().getBinary(DownloadsMonthlyStatement(accountId), {\n date: requestedDate\n }, RequestHeaders);\n },\n getTaxDocuments: function getTaxDocuments(accountId, form, taxYear) {\n return api.authenticated().get(DownloadsTaxDocuments(accountId, form), {\n taxYear: taxYear\n }, RequestHeaders);\n },\n getTaxDocument: function getTaxDocument(accountId, form, date) {\n return api.authenticated().getBinary(DownloadsTaxDocument(accountId, form), {\n date: date\n }, RequestHeaders);\n }\n };\n}","import { HistoryGetBalancesEndpoint, HistoryGetHistoryBalances } from '../constants';\nexport function GetBalanceHistory(api) {\n return function (accountId) {\n return api.authenticated().get(HistoryGetHistoryBalances, {\n accountId: accountId\n }, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}\nexport function HistoryGetBalances(api) {\n return function (payload) {\n return api.authenticated().get(HistoryGetBalancesEndpoint, payload, {\n headers: {\n Accept: 'application/json'\n }\n });\n };\n}","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport * as tslib_1 from \"tslib\";\nimport { NoPassLoginStartUrl, NoPassLoginFinishUrl, NoPassListDevicesURL, NoPassDeleteDeviceURL } from '../constants';\nvar RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport function nopass(api) {\n var _this = this;\n\n return {\n loginStart: function loginStart(username) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return api.post(\"\".concat(NoPassLoginStartUrl, \"?username=\").concat(username), {}, RequestHeaders);\n\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n },\n loginFinish: function loginFinish(authId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", api.get(NoPassLoginFinishUrl, {\n authid: authId\n }, RequestHeaders));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n },\n getDevices: function getDevices() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", api.authenticated().get(NoPassListDevicesURL, {}, RequestHeaders));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n deleteDevice: function deleteDevice(deviceId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", api.authenticated().post(NoPassDeleteDeviceURL(deviceId), {}, RequestHeaders));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n getAuthHistory: function getAuthHistory() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", api.authenticated().get(NoPassListDevicesURL, {}, RequestHeaders));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n }\n };\n}","var RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};\nexport var GET_SUBACCOUNT_URL = 'Accounts/Subaccounts/GetSubaccounts';\nexport var CREATE_SUBACCOUNT_URL = 'Accounts/Subaccounts/CreateSubaccount';\nexport var UPDATE_SUBACCOUNT_URL = 'Accounts/Subaccounts/UpdateSubaccount';\nexport var TRANSFER_SUBACCOUNT_POSITIONS = 'Accounts/Subaccounts/TransferPositions';\nexport var UPDATE_DISTRIBUTION_RATIO = 'Accounts/Subaccounts/UpdateDistributionRatio';\nexport var DELETE_SUBACCOUNT_URL = 'Accounts/Subaccounts/DeleteSubaccount';\nexport var subaccounts = function subaccounts(api) {\n return {\n //returns object array\n getSubaccounts: function getSubaccounts(payload) {\n return api.authenticated().get(GET_SUBACCOUNT_URL, payload, RequestHeaders);\n },\n createSubaccount: function createSubaccount(createSubaccountPayload) {\n return api.authenticated().post(CREATE_SUBACCOUNT_URL, createSubaccountPayload, RequestHeaders);\n },\n updateSubaccount: function updateSubaccount(updateSubaccountPayload) {\n return api.authenticated().put(UPDATE_SUBACCOUNT_URL, updateSubaccountPayload, RequestHeaders);\n },\n transferPositions: function transferPositions(transferPositionsPayload) {\n return api.authenticated().put(TRANSFER_SUBACCOUNT_POSITIONS, transferPositionsPayload, RequestHeaders);\n },\n updateDistributionRatio: function updateDistributionRatio(distributionRatioPayload) {\n return api.authenticated().put(UPDATE_DISTRIBUTION_RATIO, distributionRatioPayload, RequestHeaders);\n },\n deleteSubaccount: function deleteSubaccount(deleteSubaccountPayload) {\n return api.authenticated().delete(DELETE_SUBACCOUNT_URL, deleteSubaccountPayload, RequestHeaders);\n }\n };\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport * as tslib_1 from \"tslib\";\nimport { ApiClient, UiApiClient } from './ApiClient';\nimport { GetToken } from './commands/getToken';\nimport { accounts } from './commands/account';\nimport { GetAvailableFunds, GetBalances, GetBalancesForAccounts, GetBalancesForWithdrawal } from './commands/getBalances';\nimport { GetBars } from './commands/getBars';\nimport { quotes } from './commands/quote';\nimport { GetSymbols, Symbols } from './commands/symbols';\nimport * as positions from './commands/positions';\nimport { options } from './commands/options';\nimport { history } from './commands/history';\nimport { ACH, Transfers, cashieringSearch, cashieringDetails, SecurityQuestion, cashieringDocuments, TransferInstructions } from './commands/cashiering';\nimport { pnlHistory } from './commands/getPnLItem';\nimport { order } from './commands/orderApi';\nimport { Application } from './commands/application';\nimport { UserCommands } from './commands/userCommands';\nimport { auth } from './commands/auth';\nimport { info } from './commands/information';\nimport { AccManagement } from './commands/accountManagement';\nimport { Entitlements } from './commands/entitlements';\nimport { Downloads } from './commands/downloads';\nimport { GetBalanceHistory, HistoryGetBalances } from './commands/historyGetBalance';\nimport { nopass } from './commands/nopass';\nimport { subaccounts } from './commands/subaccounts';\nexport var TradingBlockAccountApi = function TradingBlockAccountApi(api, accountId, subaccountId) {\n var _this = this;\n\n _classCallCheck(this, TradingBlockAccountApi);\n\n this.order = function () {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", order(this.api)(this.accountId, this.subaccountId));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n this.availableFunds = function () {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", GetAvailableFunds(this.api)(this.accountId, this.subaccountId));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n };\n\n this.balances = function () {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", GetBalances(this.api)(this.accountId, this.subaccountId));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n };\n\n this.positions = function () {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return positions.get(this.api)(this.accountId, this.subaccountId);\n\n case 2:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n };\n\n this.history = function (request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", history.get(this.api)(Object.assign({}, request, {\n accountId: this.accountId\n })));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n };\n\n this.pnl = function (request) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee6() {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.abrupt(\"return\", pnlHistory.get(this.api)(Object.assign({}, request, {\n accountId: this.accountId\n })));\n\n case 1:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n };\n\n this.availableWithdrawalFunds = function () {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee7() {\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", GetBalancesForWithdrawal(this.api)(this.accountId));\n\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n };\n\n this.accountId = accountId;\n this.subaccountId = subaccountId;\n this.api = api;\n};\nexport function TradingBlockApi(api) {\n return {\n auth: auth(api),\n accounts: accounts(api),\n accountManagement: AccManagement(api),\n balances: {\n get: GetBalances(api),\n getForAccounts: GetBalancesForAccounts(api),\n getForWithdrawals: GetBalancesForWithdrawal(api)\n },\n client: api,\n application: Application(api),\n getToken: GetToken(api),\n getBars: GetBars(api),\n getSymbols: GetSymbols(api),\n cashiering: {\n ach: ACH(api),\n balances: GetBalances(api),\n securityQuestion: SecurityQuestion(api),\n transfers: Transfers(api),\n transferInstructions: TransferInstructions(api),\n search: cashieringSearch(api).search,\n details: cashieringDetails(api),\n documents: cashieringDocuments(api)\n },\n history: {\n getBalanceHistory: GetBalanceHistory(api),\n getBalances: HistoryGetBalances(api)\n },\n downloads: Downloads(api),\n entitlements: Entitlements(api),\n information: info(api),\n nopass: nopass(api),\n order: order(api),\n options: options(api),\n quotes: quotes(api),\n symbols: Symbols(api),\n user: UserCommands(api),\n subaccounts: subaccounts(api)\n };\n}\nvar tradingblockApis = {};\nexport function ApiFactory(rootUrl, authKey, onResponse, onResponseError) {\n if (tradingblockApis[rootUrl + authKey] !== undefined) {\n return tradingblockApis[rootUrl + authKey];\n }\n\n var tb_api = TradingBlockApi(new ApiClient(rootUrl, authKey).withResponseHandler({\n onResponse: onResponse,\n onResponseError: onResponseError\n }));\n tradingblockApis[rootUrl + authKey] = tb_api;\n return tb_api;\n}\nexport function AccountApiFactory(rootUrl, authKey, accountId, subaccountId) {\n return new TradingBlockAccountApi(new ApiClient(rootUrl, authKey), accountId, subaccountId);\n}\nexport function UiApiFactory(rootUrl, authKey) {\n return new UiApiClient(rootUrl, authKey);\n}","export var Periods = ['M1', 'M5', 'M15', 'M30', 'H1', 'Day'];","import _ from 'lodash';\nexport var stringifyObject = function stringifyObject(obj) {\n var cache = [];\n var res = JSON.stringify(obj, function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (cache.indexOf(value) !== -1) {\n // Circular reference found, discard key\n return;\n } // Store value in our collection\n\n\n cache.push(value);\n }\n\n return value;\n });\n cache = null;\n return res;\n};\nexport var GetUrlParams = function GetUrlParams(href) {\n return _.chain(href).split('?').nth(1).split('&').map(function (v) {\n return _.split(v, '=', 2);\n }).fromPairs().value();\n};","import _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nexport var getRequestedParticipantsDocuments = function getRequestedParticipantsDocuments(investigations, applications) {\n var participants = []; // Create a union on CIP and Application investigation data structure\n\n var applicationRequestedDocuments = [].concat(_toConsumableArray(investigations ? investigations : []), _toConsumableArray(applications ? applications : []));\n applicationRequestedDocuments.forEach(function (requestedDocumentDetailEntry) {\n // Check if we have an entry for the participant of the applications\n // We need to do this since accounts can have multiple people like\n // Joint accounts.\n var participantIndex = participants.findIndex(function (participant) {\n return requestedDocumentDetailEntry.firstName === participant.firstName && requestedDocumentDetailEntry.lastName === participant.lastName;\n });\n\n if (participantIndex === -1) {\n // If we do not have an entry for the participant base on the first name\n // and last name. Then, we create one.\n participants.push({\n firstName: requestedDocumentDetailEntry.firstName ? requestedDocumentDetailEntry.firstName : '',\n middleInitial: requestedDocumentDetailEntry.middleInitial ? requestedDocumentDetailEntry.middleInitial : '',\n lastName: requestedDocumentDetailEntry.lastName ? requestedDocumentDetailEntry.lastName : '',\n suffix: requestedDocumentDetailEntry.suffix ? requestedDocumentDetailEntry.suffix : '',\n accountHolderId: requestedDocumentDetailEntry.accountHolderId,\n investigationId: requestedDocumentDetailEntry.investigationId,\n requestedCatagories: {\n application: [],\n investigations: []\n },\n uploadedDocuments: []\n }); // set the participantIndex to the new entry\n\n participantIndex = participants.length - 1;\n } else {\n if (!participants[participantIndex].accountHolderId && requestedDocumentDetailEntry.accountHolderId) {\n participants[participantIndex].accountHolderId = requestedDocumentDetailEntry.accountHolderId;\n }\n\n if (participants[participantIndex].investigationId && requestedDocumentDetailEntry.investigationId) {\n participants[participantIndex].investigationId = requestedDocumentDetailEntry.investigationId;\n }\n } //Union the requested document categories\n\n\n var categories = [].concat(_toConsumableArray(requestedDocumentDetailEntry.appCategories ? requestedDocumentDetailEntry.appCategories : []), _toConsumableArray(requestedDocumentDetailEntry.cipCategories ? requestedDocumentDetailEntry.cipCategories : [])); // Uniquely read all documentNames that have been uploaded\n\n var uploadedDocumentsNames = _toConsumableArray(new Set(requestedDocumentDetailEntry.uploadedDocuments ? requestedDocumentDetailEntry.uploadedDocuments.map(function (document) {\n return document.documentName;\n }) : []));\n\n var uploadedDocuments = _toConsumableArray(new Set(requestedDocumentDetailEntry.uploadedDocuments ? requestedDocumentDetailEntry.uploadedDocuments : []));\n\n if (uploadedDocuments.length > 0) {\n participants[participantIndex].uploadedDocuments = uploadedDocuments;\n } // If current category is accepted and the\n\n\n var activeDocumentCategories = categories.filter(function (category) {\n return category.state !== 'Accepted' && category.state !== 'Pending' && !uploadedDocumentsNames.map(function (uploadedDocumentName) {\n return category.requestedDocuments.includes(uploadedDocumentName);\n }).includes(true);\n }); // If we have an investigationId then we need to set the investigations\n // otherwise it is an application request.\n\n if (requestedDocumentDetailEntry.investigationId) {\n participants[participantIndex].requestedCatagories.investigations = activeDocumentCategories;\n } else {\n participants[participantIndex].requestedCatagories.application = activeDocumentCategories;\n }\n });\n return participants;\n};","import * as ApiClient from './ApiClient';\nexport * from './blocks';\nexport * from './commands/getPnLItem';\nexport * from './commands/account';\nexport * from './commands/auth';\nexport * from './config';\nexport * from './constants';\nexport * from './feed/WebsocketFeedParser';\nexport * from './jsonEncode';\nexport * from './logger';\nexport * from './orders';\nexport * from './performance';\nexport * from './strategies/strategies';\nexport * from './strategies/profitloss';\nexport * from './strategies/validation';\nexport * from './strategies/CustomStrategy';\nexport * from './TradingBlockApi';\nexport * from './types';\nexport * from './utilities';\nexport * from './utilities/DateUtilities';\nexport * from './utilities/JwtUtilities';\nexport * from './utilities/OrderUtilities';\nexport * from './utilities/SymbolUtilities';\nexport * from './utilities/ObjectUtilities';\nexport * from './utilities/positionUtilities';\nexport * from './utilities/QuoteUtilities';\nexport * from './utilities/SiteUtilities';\nexport * from './utilities/DocumentUtilities';\nexport * from './performance';\nexport default {\n ApiClient: ApiClient\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport { GetAccountDetailsUrl, GetAccountUpdateUrl, GetLoginHistory, GetPendingAccountManagementUpdatesUrl, NoPassDeleteDeviceURL, NoPassEnabledURL, NoPassListDevicesURL } from '../constants';\nimport { GenericErrorResponseCode } from '@tradingblock/types';\nimport { DateFormats, GetMiscellaneousDocumentsMetadataUrl, GetMiscellaneousDocumentsUrl, UploadMiscellaneousDocumentsUrl } from '..';\nimport dayjs from 'dayjs';\nimport { RequestHeaders } from './utilities';\nexport function GetAccountDetails(api) {\n return function (details) {\n return api.get(GetAccountDetailsUrl, {\n details: details\n });\n };\n}\nexport function GetAccountUpdate(api) {\n return function (update) {\n return api.get(GetAccountUpdateUrl, {\n update: update\n });\n };\n}\n\nvar blobToBase64 = function blobToBase64(blob) {\n return new Promise(function (resolve, _) {\n var reader = new FileReader();\n\n reader.onloadend = function () {\n return resolve(reader.result);\n };\n\n reader.readAsDataURL(blob);\n });\n};\n\nexport var AccManagement = function AccManagement(api) {\n return {\n details: GetAccountDetails(api),\n getUpdate: GetAccountUpdate(api),\n uploadMiscellaneousDocument: function uploadMiscellaneousDocument(file, accountId, documentType, description) {\n var TakenOn = dayjs(file.lastModified).utc().format(DateFormats.DateTimeApiFormat);\n var data = new FormData();\n data.append('metaData', JSON.stringify({\n DocumentName: documentType,\n ImageName: file.name,\n TakenOn: TakenOn,\n Description: description\n }));\n data.append('file', file);\n return api.authenticated().post(UploadMiscellaneousDocumentsUrl(accountId), data);\n },\n getMiscellaneousDocument: function getMiscellaneousDocument(accountId, documentId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n var url, result, base64, imageBase64;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n url = GetMiscellaneousDocumentsUrl(accountId, documentId);\n _context.prev = 1;\n _context.next = 4;\n return api.authenticated().getBinary(url, {});\n\n case 4:\n result = _context.sent;\n\n if (!(result.status === 200)) {\n _context.next = 9;\n break;\n }\n\n base64 = Buffer.from(result.data, 'binary').toString('base64');\n imageBase64 = \"data:\".concat(result.headers['content-type'], \";base64,\").concat(base64);\n return _context.abrupt(\"return\", imageBase64);\n\n case 9:\n _context.next = 15;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n console.warn('error requesting miscellaneous document', accountId);\n return _context.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: _context.t0\n });\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 11]]);\n }));\n },\n getMiscellaneousDocumentMetadata: function getMiscellaneousDocumentMetadata(accountId, documentId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n var url, result;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n url = GetMiscellaneousDocumentsMetadataUrl(accountId, documentId);\n _context2.prev = 1;\n _context2.next = 4;\n return api.authenticated().get(url, {\n accountId: accountId,\n documentId: documentId\n });\n\n case 4:\n result = _context2.sent;\n return _context2.abrupt(\"return\", result);\n\n case 8:\n _context2.prev = 8;\n _context2.t0 = _context2[\"catch\"](1);\n console.warn('error requesting miscellaneous document', accountId);\n return _context2.abrupt(\"return\", {\n responseCode: GenericErrorResponseCode,\n payload: _context2.t0\n });\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 8]]);\n }));\n },\n firmApproveDocument: function firmApproveDocument(accountId, documentId, note) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n var url;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n url = \"Accounts/FirmApproveMiscellaneousDocument?accountId=\".concat(accountId, \"&documentId=\").concat(documentId);\n _context3.next = 3;\n return api.authenticated().put(url, note);\n\n case 3:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n },\n firmRejectDocument: function firmRejectDocument(accountId, documentId, note) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4() {\n var url;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n url = \"Accounts/RejectMiscellaneousDocument?accountId=\".concat(accountId, \"&documentId=\").concat(documentId);\n _context4.next = 3;\n return api.authenticated().put(url, note);\n\n case 3:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n },\n getPendingUpdates: function getPendingUpdates(accountId) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return api.get(GetPendingAccountManagementUpdatesUrl, {\n accountId: accountId\n }, RequestHeaders);\n\n case 2:\n return _context5.abrupt(\"return\", _context5.sent);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n },\n getNoPassDevices: function getNoPassDevices() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee6() {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return api.authenticated().get(NoPassListDevicesURL, {});\n\n case 2:\n return _context6.abrupt(\"return\", _context6.sent);\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n },\n deleteNoPassDevice: function deleteNoPassDevice(deviceid) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee7() {\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return api.authenticated().post(NoPassDeleteDeviceURL(deviceid), {});\n\n case 2:\n return _context7.abrupt(\"return\", _context7.sent);\n\n case 3:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n },\n checkNoPassEnabled: function checkNoPassEnabled(username) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee8() {\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return api.get(NoPassEnabledURL(username), {});\n\n case 2:\n return _context8.abrupt(\"return\", _context8.sent);\n\n case 3:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }));\n },\n getAuthHistory: function getAuthHistory() {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee9() {\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return api.authenticated().get(GetLoginHistory, {});\n\n case 2:\n return _context9.abrupt(\"return\", _context9.sent);\n\n case 3:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9);\n }));\n }\n };\n};","export var RequestHeaders = {\n headers: {\n Accept: 'application/json'\n }\n};","import React from 'react';\nexport var AddIcon = function AddIcon(_ref) {\n var active = _ref.active,\n inverse = _ref.inverse,\n size = _ref.size;\n return React.createElement(\"span\", {\n className: \"fa-stack add-icon\".concat(size ? \" fa-\".concat(size) : '')\n }, React.createElement(\"i\", {\n className: \"fas fa-circle fa-stack-2x\"\n }), React.createElement(\"i\", {\n className: \"fal \".concat(active ? 'fa-minus' : 'fa-plus', \" fa-stack-1x\").concat(inverse ? ' fa-inverse' : '')\n }));\n};","import _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport React from 'react';\nimport _ from 'lodash';\n\nvar getFlattenedErrors = function getFlattenedErrors(data) {\n return _.reduce(_.values(data), function (acc, d) {\n if (_.isObject(d)) {\n return [].concat(_toConsumableArray(acc), _toConsumableArray(getFlattenedErrors(d)));\n }\n\n return [].concat(_toConsumableArray(acc), [d]);\n }, []);\n};\n\nexport var getFormikErrors = function getFormikErrors(data) {\n return getFlattenedErrors(data);\n};\nexport var Errors = function Errors(_ref) {\n var errors = _ref.errors,\n renderError = _ref.renderError;\n return React.createElement(\"ul\", {\n className: \"error\"\n }, _.map(errors, function (err, k) {\n return React.createElement(\"li\", {\n key: \"err\".concat(k)\n }, renderError ? renderError(err, k) : err);\n }));\n};","import _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport React from 'react';\nimport { Dropdown as ReactBootstrapDropdown } from 'react-bootstrap';\nexport var BootstrapDropdown = function BootstrapDropdown(_ref) {\n var id = _ref.id,\n toggle = _ref.toggle,\n children = _ref.children;\n return React.createElement(ReactBootstrapDropdown, {\n alignRight: true\n }, React.createElement(ReactBootstrapDropdown.Toggle, {\n id: id,\n as: DropdownToggle\n }, toggle), React.createElement(ReactBootstrapDropdown.Menu, null, children));\n};\n\nvar DropdownToggle =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(DropdownToggle, _React$Component);\n\n function DropdownToggle() {\n _classCallCheck(this, DropdownToggle);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DropdownToggle).apply(this, arguments));\n }\n\n _createClass(DropdownToggle, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onClick = _this$props.onClick,\n children = _this$props.children;\n return React.createElement(\"button\", {\n type: \"button\",\n onClick: onClick\n }, children);\n }\n }]);\n\n return DropdownToggle;\n}(React.Component);","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nexport var FloatingLabelWrapper = function FloatingLabelWrapper(_ref) {\n var state = _ref.state,\n className = _ref.className,\n prefix = _ref.prefix,\n disabled = _ref.disabled,\n children = _ref.children;\n return React.createElement(\"div\", {\n className: \"flabel\".concat(className ? \" \".concat(className) : '').concat(state.isFilled ? ' filled' : '').concat(state.hasFocus ? ' on' : '').concat(disabled ? ' disabled' : ''),\n \"data-prefix\": prefix\n }, children);\n};\nexport var FloatingLabel = function FloatingLabel(_a) {\n var id = _a.id,\n label = _a.label,\n icon = _a.icon,\n children = _a.children,\n wrapperProps = tslib_1.__rest(_a, [\"id\", \"label\", \"icon\", \"children\"]);\n\n return React.createElement(FloatingLabelWrapper, Object.assign({}, wrapperProps), React.createElement(\"label\", {\n className: \"flabel-title\",\n htmlFor: id\n }, label), React.createElement(\"div\", {\n className: \"flabel-value\"\n }, children), icon && React.createElement(\"div\", {\n className: \"flabel-icon\"\n }, icon));\n};","import React from 'react';\nexport var Footer = function Footer(_ref) {\n var primaryPanel = _ref.primaryPanel,\n secondaryPanel = _ref.secondaryPanel;\n return React.createElement(\"section\", {\n className: \"form-footer\"\n }, React.createElement(\"div\", {\n className: \"form-content\"\n }, React.createElement(\"div\", {\n className: \"form-footer-panel\"\n }, secondaryPanel), React.createElement(\"div\", {\n className: \"form-footer-panel\"\n }, primaryPanel)));\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React from 'react';\nimport { useState } from 'react';\nimport { HelpIcon, LocalizeButton } from '..';\nexport var FormGroup = function FormGroup(_ref) {\n var className = _ref.className,\n title = _ref.title,\n header = _ref.header,\n help = _ref.help,\n _ref$toggleableHelp = _ref.toggleableHelp,\n toggleableHelp = _ref$toggleableHelp === void 0 ? false : _ref$toggleableHelp,\n children = _ref.children;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showHelpText = _useState2[0],\n setShowHelpText = _useState2[1]; //Callback used to toggle help text\n\n\n var helpButtonClickCallback = function helpButtonClickCallback(e) {\n e.preventDefault();\n setShowHelpText(!showHelpText);\n };\n\n return React.createElement(\"div\", {\n className: \"form-group \".concat(className || '')\n }, header ? header : title && React.createElement(\"h2\", {\n className: \"fields-title\"\n }, title), help && !toggleableHelp && React.createElement(\"div\", {\n className: \"field-help mute\"\n }, help), help && toggleableHelp ? React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"row\"\n }, React.createElement(\"div\", {\n className: \"col d-flex\"\n }, React.createElement(\"div\", {\n className: \"flex-fill\"\n }, children), React.createElement(LocalizeButton, {\n className: \"ml-3\",\n type: \"info\",\n onClick: helpButtonClickCallback\n }, React.createElement(HelpIcon, {\n iconSize: 'lg'\n })))), React.createElement(\"div\", {\n className: \"row\"\n }, React.createElement(\"div\", {\n className: \"col mt-2\"\n }, showHelpText && React.createElement(React.Fragment, null, React.createElement(HelpIcon, null), \" \", help)))) : children);\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport * as tslib_1 from \"tslib\";\nimport React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { useSign, formatNumber } from '../../lib';\n\nvar NumberView = function NumberView(_ref) {\n var value = _ref.value,\n currency = _ref.currency,\n roundDecimal = _ref.roundDecimal,\n format = _ref.format,\n integer = _ref.integer,\n locale = _ref.locale,\n percent = _ref.percent,\n prefix = _ref.prefix,\n greeks = _ref.greeks,\n isStrikeField = _ref.isStrikeField,\n precisionOverride = _ref.precisionOverride;\n var num = useMemo(function () {\n return formatNumber(value, {\n currency: currency,\n roundDecimal: roundDecimal,\n format: format,\n integer: integer,\n locale: locale,\n percent: percent,\n prefix: prefix,\n greeks: greeks,\n isStrikeField: isStrikeField,\n precisionOverride: precisionOverride\n });\n }, [value, currency, roundDecimal, format, integer, locale, percent, prefix, greeks, isStrikeField, precisionOverride]);\n return React.createElement(React.Fragment, null, num);\n};\n\nvar BoldNumberView = function BoldNumberView(props) {\n return React.createElement(\"strong\", null, React.createElement(NumberView, Object.assign({}, props)));\n};\n\nvar SignedNumberView = function SignedNumberView(_a) {\n var bold = _a.bold,\n hideIcon = _a.hideIcon,\n hidePrefix = _a.hidePrefix,\n precisionOverride = _a.precisionOverride,\n props = tslib_1.__rest(_a, [\"bold\", \"hideIcon\", \"hidePrefix\", \"precisionOverride\"]);\n\n var _useSign = useSign(_.toNumber(props.value)),\n _useSign2 = _slicedToArray(_useSign, 2),\n changeUi = _useSign2[1];\n\n return React.createElement(\"span\", {\n className: changeUi.className\n }, changeUi.icon && !hideIcon && React.createElement(\"i\", {\n className: changeUi.icon\n }), ' ', bold ? React.createElement(BoldNumberView, Object.assign({\n precisionOverride: precisionOverride,\n prefix: !hidePrefix ? changeUi.prefix : null\n }, props)) : React.createElement(NumberView, Object.assign({\n precisionOverride: precisionOverride,\n prefix: !hidePrefix ? changeUi.prefix : null\n }, props)));\n};\n\nexport var SignedNumberContainer = function SignedNumberContainer(_a) {\n var children = _a.children,\n props = tslib_1.__rest(_a, [\"children\"]);\n\n var _useSign3 = useSign(_.toNumber(props.value)),\n _useSign4 = _slicedToArray(_useSign3, 2),\n changeUi = _useSign4[1];\n\n return React.createElement(\"span\", {\n className: changeUi.className\n }, children);\n};\nexport var Number = React.memo(NumberView);\nexport var BoldNumber = React.memo(BoldNumberView);\nexport var SignedNumber = React.memo(SignedNumberView);","import React from 'react';\nexport var Section = function Section(_ref) {\n var id = _ref.id,\n className = _ref.className,\n children = _ref.children;\n return React.createElement(\"section\", {\n id: id\n }, React.createElement(\"div\", {\n className: className || 'form-content'\n }, children));\n};","import React from 'react';\nexport var Svg = function Svg(_ref) {\n var path = _ref.path,\n label = _ref.label,\n root = _ref.root;\n var rootPath = root || '/images/sprites.svg';\n return React.createElement(\"svg\", {\n \"aria-label\": label\n }, React.createElement(\"use\", {\n href: \"\".concat(rootPath, \"#\").concat(path)\n }));\n};","import React from 'react';\nexport var Wrapper = function Wrapper(_ref) {\n var element = _ref.element,\n className = _ref.className,\n children = _ref.children;\n\n if (element) {\n return React.createElement(React.Fragment, null, React.createElement(element, {\n className: className\n }, children));\n } // no wrapper\n\n\n return React.createElement(React.Fragment, null, children);\n};","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nexport var Button = function Button(_a) {\n var children = _a.children,\n className = _a.className,\n type = _a.type,\n rest = tslib_1.__rest(_a, [\"children\", \"className\", \"type\"]);\n\n return React.createElement(\"button\", Object.assign({}, rest, {\n className: \"btn \".concat(className || 'btn-outline-light'),\n type: type || 'button'\n }), children);\n};","import _ from 'lodash';\nvar MoneyBlockSiteGrp = 'mb';\n\nvar isMoneyBlockUrl = function isMoneyBlockUrl(siteGroup) {\n return siteGroup === MoneyBlockSiteGrp;\n};\n\nvar isMoneyBlockOrigin = function isMoneyBlockOrigin(origin) {\n return origin === MoneyBlockSiteGrp;\n};\n\nexport var isMoneyBlockAccount = function isMoneyBlockAccount(accountNumber) {\n // MoneyBlock account numbers start with \"3OD\"\n return _.take(accountNumber, 3).join('') === '3OD';\n};\n\nvar isMoneyBlockSite = function isMoneyBlockSite(siteGroup, accountNumber, origin) {\n return isMoneyBlockUrl(siteGroup) || isMoneyBlockAccount(accountNumber) || isMoneyBlockOrigin(origin);\n};\n\nexport var GetSiteName = function GetSiteName(siteGroup, origin, accountNumber) {\n if (isMoneyBlockSite(siteGroup, accountNumber, origin)) {\n return 'MoneyBlock';\n }\n\n return 'TradingBlock';\n};\nexport var GetSiteGrp = function GetSiteGrp(siteGroup, origin, accountNumber) {\n if (isMoneyBlockSite(siteGroup, accountNumber, origin)) {\n return MoneyBlockSiteGrp;\n }\n\n return '';\n};\nexport var getSiteLogo = function getSiteLogo(siteGroup, type, accountNumber) {\n // for logo mark, site branding not needed\n if (type === 'mark') {\n return \"logo-\".concat(type);\n }\n\n var logo = \"logo-\".concat(GetSiteName(siteGroup, accountNumber).toLowerCase());\n\n if (type) {\n return \"\".concat(logo, \"-\").concat(type);\n }\n\n return logo;\n};","import _ from 'lodash';\nimport { TradingBlockLegacyUrlsLookup, TradingBlockUrlsLookup } from '@tradingblock/types';\nimport { GetSiteGrp, GetSiteName } from './SiteUtilities';\nexport var GetTradingBlockSiteName = function GetTradingBlockSiteName(accountNumber, siteGroup, origin) {\n return GetSiteName(siteGroup || 'tb', origin, accountNumber);\n}; // GetTradingBlockDomain returns domain in start case (i.e. \"TradingBlock.com\")\n\nexport var GetTradingBlockDomain = function GetTradingBlockDomain(accountNumber, siteGroup, origin) {\n var siteName = GetTradingBlockSiteName(accountNumber, siteGroup, origin);\n return \"\".concat(siteName, \".com\");\n};\nexport var GetTradingBlockFullUrl = function GetTradingBlockFullUrl(urlKey, domain, config, origin) {\n var defaultRedirect = _.get(config, 'defaultRedirect');\n\n var isDev = defaultRedirect && defaultRedirect.includes('devdashboard');\n var isBeta = defaultRedirect && defaultRedirect.includes('betadashboard');\n\n if (urlKey === 'LegacySiteHomeUrl') {\n return domain === 'MoneyBlock.com' ? 'https://legacy.moneyblock.com' : 'https://legacy.tradingblock.com';\n }\n\n var fulldomain = domain.toLowerCase();\n var url = TradingBlockUrlsLookup[urlKey];\n\n if (urlKey === 'OpenNewAccountUrl') {\n var appDomain = isDev ? 'devapplication' : isBeta ? 'betaapplication' : 'application';\n return \"https://\".concat(appDomain, \".\").concat(fulldomain).concat(url);\n }\n\n var isLegacyURL = urlKey in TradingBlockLegacyUrlsLookup;\n var host = isLegacyURL ? 'legacy' : 'www';\n return \"https://\".concat(host, \".\").concat(fulldomain).concat(url);\n};\nexport var GetLogoutUrl = function GetLogoutUrl(accountNumber, siteGroup) {\n return \"/logout?grp=\".concat(GetSiteGrp(siteGroup, accountNumber));\n};\nexport var setPageTitle = function setPageTitle(title, siteName) {\n document.title = \"\".concat(title).concat(title && siteName ? ' - ' : '').concat(siteName || '');\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState } from 'react';\nimport constate from 'constate';\n\nvar AuthenticationContext = function AuthenticationContext() {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n authToken = _useState2[0],\n setAuthToken = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isAuthenticating = _useState4[0],\n setIsAuthenticating = _useState4[1];\n\n var state = {\n authToken: authToken,\n isAuthenticating: isAuthenticating\n };\n var actions = {\n setAuthToken: setAuthToken,\n setIsAuthenticating: setIsAuthenticating\n };\n var context = [state, actions];\n return context;\n};\n\nexport var useAuthentication = constate(AuthenticationContext);","var isChildNodeOfHtmlElement = function isChildNodeOfHtmlElement(element, parent) {\n if (element && parent) {\n return parent.contains(element);\n }\n\n return false;\n};\n\nexport var isChildNodeOfElement = function isChildNodeOfElement(element, parent) {\n return isChildNodeOfHtmlElement(element, document.getElementById(parent));\n};\nexport var isChildNodeOfModal = function isChildNodeOfModal(node) {\n return !!node && isChildNodeOfModalRecursive(node);\n};\n\nvar isChildNodeOfModalRecursive = function isChildNodeOfModalRecursive(node) {\n if (isModalNode(node)) {\n return true;\n }\n\n if (node.parentElement) {\n return isChildNodeOfModalRecursive(node.parentElement);\n }\n\n return false;\n};\n\nvar isModalNode = function isModalNode(node) {\n var modal = node.getAttribute('aria-modal');\n var role = node.getAttribute('role');\n return modal === 'true' && role === 'dialog';\n};","import _ from 'lodash';\nimport { getCurrencyType } from '../lib';\n/**\n * A function to format number values\n * @param value the number that will be formatted.\n * @param options the formatting options:\n * currency: if true, the number will be prefixed with a '$' and formatted with 2 decimal places.\n * roundDecimal: a number detailing how many decimal places the formatted number will have.\n * format: if true, the number will be formatted to the users locale.\n * integer: if true, the number will have no decimal places\n * locale: the locale of the value (ex: 'en-US')\n * prefix: the string that prefixes the number (ex: '+')\n */\n\nexport var formatNumber = function formatNumber(value, options) {\n var _ref = options || {},\n currency = _ref.currency,\n roundDecimal = _ref.roundDecimal,\n format = _ref.format,\n integer = _ref.integer,\n locale = _ref.locale,\n percent = _ref.percent,\n prefix = _ref.prefix,\n greeks = _ref.greeks,\n isStrikeField = _ref.isStrikeField,\n precisionOverride = _ref.precisionOverride;\n\n var valueAsNumber = typeof value === 'number' ? value : !_.isNil(value) ? parseFloat(value.replace(/[$,]+/g, '')) : 0;\n\n if (precisionOverride) {\n var precision = valueAsNumber.toLocaleString(locale, {\n currency: 'USD',\n minimumFractionDigits: 2,\n maximumFractionDigits: 4\n });\n return \"\".concat(prefix || '').concat(precision);\n }\n\n var dec = _.isNumber(roundDecimal) ? roundDecimal : integer ? 0 : 2;\n var userLocale = locale || navigator.language;\n var localeOptions = currency ? {\n style: 'currency',\n currency: _.isBoolean(currency) ? getCurrencyType(locale) : currency\n } : format ? {\n minimumFractionDigits: dec,\n maximumFractionDigits: 2\n } : undefined;\n\n var roundedValue = _.round(valueAsNumber, dec);\n\n var num = localeOptions ? roundedValue.toLocaleString(userLocale, localeOptions) : percent ? formatPercent(roundedValue) : roundedValue.toFixed(dec); // Implied Volatility is a percentage, but we want to display it as a decimal\n\n if (greeks && percent) {\n num = formatPercent(valueAsNumber * 100, true);\n } // strike fields should be formatted as integers if they are whole numbers and with 2 decimal places if they are not\n\n\n if (isStrikeField) {\n num = valueAsNumber % 1 === 0 ? valueAsNumber.toFixed(0) : valueAsNumber.toFixed(2);\n }\n\n return \"\".concat(prefix || '').concat(num);\n};\nexport var formatPercent = function formatPercent(value, isGreek) {\n // if isGreek, we want to format the percentage in the format of 0.00%\n if (isGreek) {\n return \"\".concat(value.toFixed(2), \"%\");\n } // if the value is greater than 10, we want to round it to the nearest integer\n // otherwise, we want to round it to 2 decimal places\n\n\n var num = Math.abs(value) > 10 ? value > 0 ? _.ceil(value) : _.floor(value) : value.toFixed(2);\n return \"\".concat(num, \"%\");\n}; // taken from: https://stackoverflow.com/a/45309230\n\nexport var parseNumber = function parseNumber(value, locale) {\n var userLocale = locale || navigator.language; // format a known value using Intl.NumberFormat for user's locale...\n\n var formatExample = Intl.NumberFormat(userLocale).format(1.1); // ... then use known formatted value to determine decimal separator...\n\n var decimalSeparator = formatExample.charAt(1); // ... then build regex to remove everything except number values and decimal separator\n\n var formatRegex = new RegExp(\"[^-+0-9\".concat(decimalSeparator, \"]\"), 'g');\n var normalized = value.replace(formatRegex, '').replace(decimalSeparator, '.');\n return parseFloat(normalized);\n};","import _ from 'lodash';\nimport { DefaultLanguageKeys } from '@tradingblock/types';\nexport var isFieldValueFilled = function isFieldValueFilled(value) {\n return !!value || _.isNumber(value);\n};\nexport var getCleanTranslationKey = function getCleanTranslationKey(key) {\n return key && key.replace(/\\[\\d+\\]/, '').replace(/\\.$/, '');\n};\n\nvar getTranslationId = function getTranslationId(options) {\n var id = options.id,\n type = options.type,\n page = options.page,\n textKey = options.textKey; // get clean key, no translation keys for multiple fields\n\n var translateId = getCleanTranslationKey(id);\n var prefix = \"\".concat(type || 'page', \"s\");\n\n if (type === 'page' || !type && !_.startsWith(translateId, 'defaults')) {\n prefix += \".\".concat(page || 'defaults');\n }\n\n var suffix = textKey;\n\n if (!suffix) {\n if (type === 'field') {\n suffix = DefaultLanguageKeys.Label;\n } else if (type === 'error') {\n if (!_.endsWith(translateId, \".\".concat(DefaultLanguageKeys.Error))) {\n suffix = DefaultLanguageKeys.Error;\n }\n } else {\n suffix = DefaultLanguageKeys.Text;\n }\n } // TODO: Review translations, expandedKey logic to correclty accomodate for error keys\n\n\n if (!_.endsWith(suffix, DefaultLanguageKeys.Error) && type === 'error') {\n suffix += '.error';\n }\n\n return \"\".concat(prefix, \".\").concat(translateId).concat(suffix ? \".\".concat(suffix) : '');\n};\n\nvar getFieldTranslationId = function getFieldTranslationId(options) {\n return \"\".concat(options.defaultLabelId ? \"defaults.\".concat(options.defaultLabelId) : options.id).concat(options.option ? \".\".concat(options.option) : '');\n};\n\nexport var useLocalize = function useLocalize() {\n return {\n getCleanTranslationKey: getCleanTranslationKey,\n getTranslationId: getTranslationId,\n getFieldTranslationId: getFieldTranslationId\n };\n};","export function useSign(val, iconSize, iconStyle, classNameSuffix, titleSuffix) {\n var iconClassName = \"\".concat(iconStyle || 'far', \" \").concat(iconSize || 'fa-xs');\n var prefix = val > 0 ? '+' : undefined;\n var title = val !== undefined ? \"\".concat(prefix || '').concat(val.toFixed(2)).concat(titleSuffix || '') : undefined;\n\n if (val > 0) {\n return [val, {\n className: \"pos\".concat(classNameSuffix || ''),\n title: title,\n prefix: prefix,\n icon: \"\".concat(iconClassName, \" fa-triangle\")\n }];\n }\n\n if (val < 0) {\n return [val, {\n className: \"neg\".concat(classNameSuffix || ''),\n title: title,\n prefix: prefix,\n icon: \"\".concat(iconClassName, \" fa-triangle fa-flip-vertical\")\n }];\n }\n\n return [val, {}];\n}","import React from 'react';\nimport { Translate } from 'react-localize-redux';\nimport { useLocalize } from '../../hooks';\nimport { GetTradingBlockSiteName } from '../../utilities/site';\nexport var Text = function Text(_ref) {\n var id = _ref.id,\n type = _ref.type,\n page = _ref.page,\n textKey = _ref.textKey,\n data = _ref.data,\n defaultPage = _ref.defaultPage,\n siteGroup = _ref.siteGroup;\n\n var _useLocalize = useLocalize(),\n getTranslationId = _useLocalize.getTranslationId;\n\n var defaultData = {\n ndash: '–',\n prefix: '',\n siteName: GetTradingBlockSiteName(undefined, siteGroup)\n };\n return React.createElement(Translate, {\n id: getTranslationId({\n id: id,\n type: type,\n page: defaultPage ? 'defaults' : page,\n textKey: textKey\n }),\n data: Object.assign({}, defaultData, data),\n options: {\n renderToStaticMarkup: false,\n onMissingTranslation: function onMissingTranslation() {\n return textKey;\n }\n }\n });\n};","import React, { useMemo } from 'react';\nimport { GetTradingBlockSiteName } from '../../utilities/site';\nimport { Text } from '../localize/Text';\nexport var ContactPhone = function ContactPhone(_ref) {\n var accountNumber = _ref.accountNumber,\n siteGroup = _ref.siteGroup;\n var contactPhoneTextId = useMemo(function () {\n return \"contact.phone.\".concat(GetTradingBlockSiteName(accountNumber, siteGroup));\n }, [accountNumber, siteGroup]);\n return React.createElement(Text, {\n id: contactPhoneTextId\n });\n};","import React, { useMemo } from 'react';\nimport { GetTradingBlockDomain } from '../../utilities/site';\nexport var ContactEmail = function ContactEmail(_ref) {\n var accountNumber = _ref.accountNumber,\n siteGroup = _ref.siteGroup,\n className = _ref.className;\n var contactEmail = useMemo(function () {\n return \"service@\".concat(GetTradingBlockDomain(accountNumber, siteGroup).toLocaleLowerCase());\n }, [accountNumber, siteGroup]);\n return React.createElement(\"a\", {\n href: \"mailto:\".concat(contactEmail),\n className: className\n }, contactEmail);\n};","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { withLocalize } from 'react-localize-redux';\nimport { useLocalize } from '../../hooks';\nvar externalLinkTextId = 'externalLink';\n\nvar ExternalLinkContent = function ExternalLinkContent(_ref) {\n var href = _ref.href,\n className = _ref.className,\n onClick = _ref.onClick,\n translate = _ref.translate,\n children = _ref.children;\n\n var _useLocalize = useLocalize(),\n getTranslationId = _useLocalize.getTranslationId;\n\n var ariaLabel = useMemo(function () {\n var val = translate(getTranslationId({\n id: externalLinkTextId\n }));\n return _.isString(val) ? val : _.startCase(externalLinkTextId);\n }, [translate, getTranslationId]);\n return React.createElement(\"a\", {\n href: href,\n className: className,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n \"aria-label\": \"(\".concat(ariaLabel, \")\"),\n onClick: onClick\n }, children);\n};\n\nexport var ExternalLink = withLocalize(ExternalLinkContent);","import React from 'react';\nimport { ContactEmail, ContactPhone, SiteName, TradingBlockLink } from '.';\nimport { Text } from '../localize/Text';\nimport { ExternalLink } from './ExternalLink';\nexport var FooterTeaser = function FooterTeaser(_ref) {\n var origin = _ref.origin,\n siteGroup = _ref.siteGroup;\n return React.createElement(\"div\", {\n className: \"footer-teaser\"\n }, React.createElement(\"div\", {\n className: \"footer-teaser-primary\"\n }, React.createElement(\"h2\", {\n className: \"footer-heading\"\n }, React.createElement(Text, {\n id: \"contact\"\n })), React.createElement(\"p\", {\n className: \"contact-phone\"\n }, React.createElement(ContactPhone, {\n siteGroup: siteGroup\n })), React.createElement(\"p\", null, React.createElement(Text, {\n id: \"fax\"\n }), \": \", React.createElement(Text, {\n id: \"contact.fax\"\n })), React.createElement(\"strong\", null, React.createElement(ContactEmail, {\n className: \"contact-email\",\n siteGroup: siteGroup\n })), React.createElement(\"p\", null, React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: siteGroup === 'tb' ? 'TB_CRS' : 'MB_CRS',\n origin: origin,\n className: 'external'\n }, React.createElement(\"strong\", null, React.createElement(Text, {\n id: \"footer.disclaimer.clientRelationshipSummaryUrl\"\n }))))), React.createElement(\"div\", {\n className: \"footer-teaser-secondary\"\n }, React.createElement(\"div\", {\n className: \"disclaimer\"\n }, React.createElement(\"p\", null, React.createElement(Text, {\n id: \"footer.disclaimer\",\n siteGroup: siteGroup,\n data: {\n risksOfOptions: React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: \"RisksOfOptionsUrl\",\n origin: origin\n }, React.createElement(Text, {\n id: \"footer.disclaimer.risksOfOptions\"\n })),\n risksOfFutures: React.createElement(ExternalLink, {\n href: \"https://www.nfa.futures.org/members/member-resources/files/security-futures-disclosure.pdf\"\n }, React.createElement(Text, {\n id: \"footer.disclaimer.risksOfFutures\"\n })),\n risksOfDayTrading: React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: \"RisksOfDayTradingUrl\",\n origin: origin\n }, React.createElement(Text, {\n id: \"footer.disclaimer.risksOfDayTrading\"\n })),\n servicesAgreement: React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: \"ServicesAgreementUrl\",\n origin: origin\n }, React.createElement(Text, {\n id: \"footer.disclaimer.servicesAgreement\"\n })),\n contactUs: React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: \"CustomerServiceUrl\",\n origin: origin\n }, React.createElement(Text, {\n id: \"contact\"\n }))\n }\n })), React.createElement(\"p\", null, React.createElement(Text, {\n id: \"footer.subaccounts\",\n siteGroup: siteGroup\n })), React.createElement(\"p\", null, \"\\xA9 \", new Date().getFullYear(), \" \", React.createElement(SiteName, {\n siteGroup: siteGroup,\n origin: origin\n }), \"\\xA0\\xA0\\xA0\\xA0\\xA0\", React.createElement(Text, {\n id: \"footer.member-orgs\",\n data: {\n finra: React.createElement(ExternalLink, {\n href: \"https://www.finra.org\"\n }, React.createElement(Text, {\n id: \"footer.member-orgs.finra\"\n })),\n nfa: React.createElement(ExternalLink, {\n href: \"https://www.nfa.futures.org\"\n }, React.createElement(Text, {\n id: \"footer.member-orgs.nfa\"\n })),\n sipc: React.createElement(ExternalLink, {\n href: \"https://www.sipc.org\"\n }, React.createElement(Text, {\n id: \"footer.member-orgs.sipc\"\n }))\n }\n }), \"\\xA0\\xA0\\xA0\\xA0\\xA0\", React.createElement(Text, {\n id: \"footer.find-us\",\n data: {\n brokerCheck: React.createElement(ExternalLink, {\n href: \"https://brokercheck.finra.org/firm/summary/128605\"\n }, React.createElement(Text, {\n id: \"footer.find-us.brokerCheck\"\n }))\n }\n })))));\n};","import React from 'react';\nexport var Header = function Header(_ref) {\n var children = _ref.children;\n return React.createElement(\"header\", {\n className: \"header\"\n }, children);\n};\nexport var SubHeader = function SubHeader(_ref2) {\n var onClick = _ref2.onClick,\n children = _ref2.children;\n return React.createElement(\"div\", {\n className: \"subheader\",\n onClick: onClick\n }, React.createElement(\"div\", {\n className: \"content\"\n }, children));\n};","import React, { useMemo } from 'react'; // import { Spinner } from 'react-bootstrap';\n\nexport var Loading = function Loading(_ref) {\n var size = _ref.size;\n var iconSize = useMemo(function () {\n return size === 'small' ? '1x' : size === 'large' ? '5x' : '3x';\n }, [size]);\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"fa-\".concat(iconSize)\n }, React.createElement(LoadingImage, null)));\n};\nexport function LoadingImage() {\n return React.createElement(\"i\", {\n className: \"fas fa-cog fa-spin\"\n });\n}","import React from 'react';\nimport { getSiteLogo } from '../../utilities/SiteUtilities';\nimport { TradingBlockLink } from '.';\nimport { Svg } from '../basic';\nexport var SiteLogo = function SiteLogo(_ref) {\n var siteGroup = _ref.siteGroup;\n return React.createElement(\"div\", {\n className: \"logo\"\n }, React.createElement(TradingBlockLink, {\n siteGroup: siteGroup,\n to: \"HomeUrl\"\n }, React.createElement(\"span\", {\n className: \"logo-mark\"\n }, React.createElement(Svg, {\n path: getSiteLogo(siteGroup, 'mark')\n })), React.createElement(\"span\", {\n className: \"logo-text\"\n }, React.createElement(Svg, {\n path: getSiteLogo(siteGroup, 'text')\n }))));\n};","import React, { useMemo } from 'react';\nimport { GetSiteName } from '../../utilities/SiteUtilities';\nexport var SiteName = function SiteName(_ref) {\n var accountNumber = _ref.accountNumber,\n siteGroup = _ref.siteGroup,\n origin = _ref.origin;\n var siteName = useMemo(function () {\n return GetSiteName(siteGroup || \"tb\", origin, accountNumber);\n }, [accountNumber, siteGroup, origin]);\n return React.createElement(React.Fragment, null, siteName);\n};","import React, { useMemo } from 'react';\nimport { GetTradingBlockDomain, GetTradingBlockFullUrl } from '../../utilities/site';\nimport { ExternalLink } from './ExternalLink';\nexport var TradingBlockLink = function TradingBlockLink(_ref) {\n var to = _ref.to,\n accountNumber = _ref.accountNumber,\n className = _ref.className,\n children = _ref.children,\n origin = _ref.origin,\n siteGroup = _ref.siteGroup,\n config = _ref.config;\n var domain = useMemo(function () {\n return GetTradingBlockDomain(accountNumber, siteGroup, origin);\n }, [accountNumber, siteGroup, origin]);\n var url = useMemo(function () {\n return GetTradingBlockFullUrl(to, domain, config, origin);\n }, [to, domain]);\n return React.createElement(ExternalLink, {\n href: to.includes('LegacySiteHomeUrl') && origin === 'mb' ? 'https://legacy.moneyblock.com/default.aspx' : url,\n className: className\n }, children);\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport { useReducer, useCallback } from 'react';\nimport constate from 'constate';\nimport _ from 'lodash';\n\nvar pageReducer = function pageReducer(state, action) {\n switch (action.type) {\n case 'TOGGLE_NAV':\n {\n return Object.assign({}, state, {\n nav: Object.assign({}, state.nav, {\n collapsed: action.payload.collapsed\n })\n });\n }\n\n default:\n return state;\n }\n};\n\nexport var usePageContext = constate(function () {\n var _useReducer = useReducer(pageReducer, {\n nav: {\n collapsed: false\n }\n }),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var navActions = {\n toggle: useCallback(function (isOpen) {\n var navCollapsed = _.isBoolean(isOpen) ? isOpen : !state.nav.collapsed;\n dispatch({\n type: 'TOGGLE_NAV',\n payload: {\n collapsed: navCollapsed\n }\n });\n }, [dispatch, state.nav.collapsed])\n };\n var actions = {\n navActions: navActions\n };\n return [state, actions];\n});\nexport var usePageNav = function usePageNav() {\n var _usePageContext = usePageContext(),\n _usePageContext2 = _slicedToArray(_usePageContext, 2),\n nav = _usePageContext2[0].nav,\n navActions = _usePageContext2[1].navActions;\n\n return [nav, navActions];\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport { useState } from 'react';\nimport { useCallback } from 'react';\nimport Select from 'react-select';\nimport _ from 'lodash';\nimport { components } from 'react-select/lib/components';\nimport { useDebounce } from 'use-hooks';\nimport { SelectDropdownIndicator, AutocompleteControlComponent } from './Autocomplete';\nimport { SelectMenuPortal, defaultStyles } from './BasicSelect';\nexport var ReactSelectComponents = components;\n\nvar DefaultOptionComponent = function DefaultOptionComponent(props) {\n return React.createElement(ReactSelectComponents.Option, Object.assign({}, props));\n};\n\nvar LoadingResults = function LoadingResults(_ref) {\n var noResultsFound = _ref.noResultsFound;\n return useMemo(function () {\n if (noResultsFound) {\n return React.createElement(\"div\", {\n className: \"option select__option\"\n }, \"Symbol not found\");\n }\n\n return React.createElement(\"div\", {\n className: \"option select__option\"\n }, \"Loading...\") //TODO: add in loading icon when component memos correctly \n ;\n }, [noResultsFound]);\n};\n\nexport var AsyncAutocomplete = function AsyncAutocomplete(props) {\n var OptionComponent = props.OptionComponent,\n defaultValue = props.defaultValue,\n dropdownIcon = props.dropdownIcon,\n placeholder = props.placeholder,\n search = props.search,\n onSelect = props.onSelect,\n debounceTimeout = props.debounceTimeout,\n minimumLength = props.minimumLength,\n initialValues = props.initialValues,\n isClearable = props.isClearable,\n clearOptionsOnSelect = props.clearOptionsOnSelect,\n value = props.value,\n name = props.name,\n isSearchable = props.isSearchable,\n onClear = props.onClear,\n symbol = props.symbol,\n onBlur = props.onBlur,\n charLimit = props.charLimit,\n rest = props.rest,\n rootPortalId = props.rootPortalId;\n var Option = useMemo(function () {\n return OptionComponent || DefaultOptionComponent;\n }, [OptionComponent]);\n var selectRef = useRef();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n noResultsFound = _useState2[0],\n setNoResultsFound = _useState2[1];\n\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n queryValue = _useState4[0],\n setQueryValue = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n inputValue = _useState6[0],\n setInputValue = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n setIsOpen = _useState8[1];\n\n var _useState9 = useState(_.isNumber(minimumLength) ? minimumLength : 2),\n _useState10 = _slicedToArray(_useState9, 1),\n minLength = _useState10[0];\n\n var initialSelectOpts = useMemo(function () {\n return _(initialValues || []).union([value]).filter(function (v) {\n return v !== undefined;\n }).uniqBy(function (v) {\n return v.value;\n }).value();\n }, [value, initialValues]);\n\n var _useState11 = useState(initialSelectOpts),\n _useState12 = _slicedToArray(_useState11, 2),\n selectOptions = _useState12[0],\n setOptions = _useState12[1];\n\n var setSelectOptions = useCallback(function (values) {\n return setOptions(values);\n }, []);\n var debouncedQueryValue = useDebounce(queryValue, debounceTimeout || 175);\n useEffect(function () {\n setSelectOptions(initialValues);\n }, [initialValues]);\n useEffect(function () {\n if (debouncedQueryValue && debouncedQueryValue.length >= minLength) {\n search(debouncedQueryValue).then(function (res) {\n setSelectOptions(res);\n\n if (res.length <= 0) {\n setNoResultsFound(true);\n }\n });\n }\n }, [debouncedQueryValue]);\n var onChange = useCallback(function (val, _ref2) {\n var action = _ref2.action;\n onSelect(val);\n setInputValue('');\n var clearOptions = clearOptionsOnSelect && action === 'select-option';\n\n if (clearOptions || action === 'clear' || action === 'deselect-option' || action === 'remove-value' || action === 'pop-value') {\n setSelectOptions(initialValues || []);\n }\n\n if (action === 'clear' && onClear) {\n onClear();\n }\n }, [onSelect]);\n var onInputChange = useCallback(function (val, _ref3) {\n var action = _ref3.action;\n\n switch (action) {\n case 'input-change':\n {\n setInputValue(val);\n setSelectOptions(initialValues || []);\n setQueryValue(val);\n setNoResultsFound(false);\n return;\n }\n\n case 'menu-close':\n if (selectOptions && selectOptions.length === 0 && !_.isNil(inputValue) && !_.isEmpty(inputValue)) {\n setInputValue(symbol);\n setInputValue('');\n setSelectOptions(initialValues || []);\n }\n\n return;\n\n default:\n return;\n }\n }, [setIsOpen, inputValue, setInputValue, search]);\n var getOptionValue = useCallback(function (option) {\n var optionVal = _.join([_.get(option, 'label'), _.get(option, 'searchValue'), _.get(option, 'value')], ' ');\n\n return optionVal;\n }, []);\n var currentValue = useMemo(function () {\n if (_.isNil(value) && !_.isNil(defaultValue)) {\n var initValue = _.find(selectOptions, function (o) {\n return o.data === defaultValue.data;\n });\n\n return initValue;\n }\n\n return value || null;\n }, [defaultValue, value, selectOptions]);\n var formatOptionLabel = useCallback(function (option, labelMeta) {\n if (!_.isNil(defaultValue) && _.isNil(value) && currentValue && currentValue.value === option.value && labelMeta.context === 'value') {\n return React.createElement(\"div\", {\n className: \"badge select__placeholder\"\n }, placeholder);\n }\n\n return option.label;\n }, [currentValue, defaultValue, placeholder, value]);\n var styles = useMemo(function () {\n return {\n menuPortal: defaultStyles.menuPortal\n };\n }, [window.scrollY, defaultStyles.menuPortal]);\n useEffect(function () {\n if (symbol && inputValue !== '' && symbol !== inputValue.toUpperCase()) {\n setInputValue(symbol);\n setSelectOptions(initialValues || []);\n }\n }, [symbol]);\n\n var inputFormat = function inputFormat(inputValue) {\n if (charLimit) {\n return inputValue.slice(0, charLimit);\n }\n\n return inputValue;\n };\n\n return React.createElement(Select, Object.assign({}, rest || {}, {\n ref: selectRef,\n placeholder: placeholder,\n value: currentValue,\n inputValue: inputFormat(inputValue),\n onInputChange: onInputChange,\n menuPlacement: 'auto',\n formatOptionLabel: formatOptionLabel,\n onChange: onChange,\n name: name,\n isClearable: _.isBoolean(isClearable) ? isClearable : true,\n isSearchable: _.isBoolean(isSearchable) ? isSearchable : true,\n options: selectOptions,\n className: \"basic-multi-select\",\n getOptionValue: getOptionValue,\n classNamePrefix: \"select\",\n menuShouldBlockScroll: 'true',\n styles: styles,\n menuPortalTarget: document.getElementById(rootPortalId ? rootPortalId : 'portal-root'),\n noOptionsMessage: function noOptionsMessage(e) {\n return e.inputValue ? '' : null;\n },\n onKeyDown: function onKeyDown(e) {\n if (e.key === 'Enter') {\n search(inputValue, 1).then(function (res) {\n if (res.length > 0 && res[0].value && res[0].value.toUpperCase() === inputValue.toUpperCase()) {\n onChange(res[0], {\n action: 'set-value'\n });\n\n if (selectRef && selectRef.current) {\n selectRef.current.blur();\n }\n }\n });\n }\n },\n components: {\n DropdownIndicator: rootPortalId ? undefined : SelectDropdownIndicator(dropdownIcon || 'fa-arrow-right'),\n Control: AutocompleteControlComponent,\n MenuPortal: SelectMenuPortal,\n Option: Option,\n NoOptionsMessage: function NoOptionsMessage() {\n return React.createElement(LoadingResults, {\n noResultsFound: noResultsFound\n });\n }\n },\n onBlur: onBlur\n }));\n};","import React from 'react';\n\nvar Blanket = function Blanket(props) {\n return React.createElement(\"div\", Object.assign({\n css: {\n bottom: 0,\n left: 0,\n top: 0,\n right: 0,\n position: 'fixed',\n zIndex: 1\n }\n }, props));\n};\n\nexport var DropdownToggle = function DropdownToggle(_ref) {\n var children = _ref.children,\n isOpen = _ref.isOpen,\n target = _ref.target,\n onClose = _ref.onClose;\n return React.createElement(React.Fragment, null, target, isOpen ? React.createElement(React.Fragment, null, children) : null, isOpen ? React.createElement(Blanket, {\n onClick: onClose\n }) : null);\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useEffect, useMemo, useState } from 'react';\nexport var CheckboxInput = function CheckboxInput(_ref) {\n var id = _ref.id,\n name = _ref.name,\n type = _ref.type,\n checked = _ref.checked,\n icon = _ref.icon,\n label = _ref.label,\n disabled = _ref.disabled,\n onblur = _ref.onblur,\n onchange = _ref.onchange;\n var inputType = type || 'radio';\n var inputClassName = useMemo(function () {\n return inputType === 'radio' ? \"\".concat(inputType, \"btn\") : inputType;\n }, [inputType]);\n\n var _useState = useState(checked),\n _useState2 = _slicedToArray(_useState, 2),\n checkboxValue = _useState2[0],\n setCheckboxValue = _useState2[1];\n\n useEffect(function () {\n return setCheckboxValue(checked);\n }, [checked]);\n\n var onChange = function onChange() {\n if (onchange) {\n onchange(undefined, !checkboxValue);\n } else {\n setCheckboxValue(!checkboxValue);\n }\n };\n\n return React.createElement(\"label\", {\n className: disabled ? 'disabled' : ''\n }, React.createElement(\"span\", {\n className: \"checkcontainer \".concat(disabled ? 'disabled' : '')\n }, React.createElement(\"input\", {\n id: id || name,\n type: inputType,\n checked: checkboxValue,\n disabled: disabled,\n onChange: onChange,\n onBlur: onblur\n }), React.createElement(\"span\", {\n className: inputClassName\n })), ' ', icon && React.createElement(\"span\", {\n className: \"checklist-icon\"\n }, icon), label || checkboxValue);\n};\nexport var BasicCheckboxInput = function BasicCheckboxInput(_ref2) {\n var id = _ref2.id,\n name = _ref2.name,\n checked = _ref2.checked,\n icon = _ref2.icon,\n disabled = _ref2.disabled,\n onblur = _ref2.onblur,\n onchange = _ref2.onchange,\n children = _ref2.children,\n className = _ref2.className;\n\n var _useState3 = useState(checked),\n _useState4 = _slicedToArray(_useState3, 2),\n checkboxValue = _useState4[0],\n setCheckboxValue = _useState4[1];\n\n useEffect(function () {\n return setCheckboxValue(checked);\n }, [checked]);\n\n var onChange = function onChange() {\n if (onchange) {\n onchange(undefined, !checkboxValue);\n } else {\n setCheckboxValue(!checkboxValue);\n }\n };\n\n return React.createElement(\"label\", {\n className: \"\".concat(disabled ? 'disabled' : '', \" \").concat(className)\n }, React.createElement(\"span\", {\n className: \"checkcontainer \".concat(disabled ? 'disabled' : '', \" mr-1\")\n }, React.createElement(\"input\", {\n id: id || name,\n type: \"checkbox\",\n checked: checkboxValue,\n disabled: disabled,\n onChange: onChange,\n onBlur: onblur\n }), React.createElement(\"span\", {\n className: 'checkbox'\n })), ' ', icon && React.createElement(\"span\", {\n className: \"checklist-icon\"\n }, icon), children);\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useCallback } from 'react';\nimport constate from 'constate';\nexport var useWindowSizeContext = constate(function () {\n var _useState = useState({\n width: window ? window.innerWidth : Infinity,\n height: window ? window.innerHeight : Infinity\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var set = useCallback(function (event) {\n return setState({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }, []);\n useEffect(function () {\n window.addEventListener('resize', set);\n return function () {\n return window.removeEventListener('resize', set);\n };\n }, [set]);\n return state;\n});\nexport var useParentSizeContext = constate(function () {\n var _useState3 = useState({\n width: window ? window.parent.innerWidth : Infinity,\n height: window ? window.parent.innerHeight : Infinity\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n state = _useState4[0],\n setState = _useState4[1];\n\n var set = useCallback(function (event) {\n return setState({\n width: window.parent.innerWidth,\n height: window.parent.innerHeight\n });\n }, []);\n useEffect(function () {\n window.addEventListener('resize', set);\n return function () {\n return window.removeEventListener('resize', set);\n };\n }, [set]);\n return state;\n});","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport _ from 'lodash';\nimport Select from 'react-select';\nimport { isFieldValueFilled } from '../../hooks';\nimport { FloatingLabel } from '../basic/FloatingLabel';\nimport { useWindowSizeContext } from '../../context/page/WindowSizeContext';\nexport var SelectDropdownInput = function SelectDropdownInput(_ref) {\n var name = _ref.name,\n options = _ref.options,\n value = _ref.value,\n label = _ref.label,\n placeholder = _ref.placeholder,\n error = _ref.error,\n onblur = _ref.onblur,\n onchange = _ref.onchange,\n prefix = _ref.prefix,\n disabled = _ref.disabled,\n controlledLabel = _ref.controlledLabel,\n menuPortalTargetId = _ref.menuPortalTargetId,\n onLabelStateChange = _ref.onLabelStateChange,\n isSearchable = _ref.isSearchable,\n defaultValue = _ref.defaultValue,\n isMulti = _ref.isMulti;\n\n var _useState = useState(value),\n _useState2 = _slicedToArray(_useState, 2),\n selectValue = _useState2[0],\n setSelectValue = _useState2[1];\n\n useEffect(function () {\n return setSelectValue(value);\n }, [value]);\n\n var isFilledValue = function isFilledValue(value) {\n return isMulti ? isFieldValueFilled(value && value.length > 0 ? value[0] : null) : isFieldValueFilled(value);\n };\n\n var _useState3 = useState({\n isFilled: isFilledValue(selectValue)\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n floatingLabelState = _useState4[0],\n setFloatingLabelState = _useState4[1];\n\n var updateFloatingLabelState = useCallback(function (state) {\n setFloatingLabelState(state);\n\n if (onLabelStateChange) {\n onLabelStateChange(state);\n }\n }, [onLabelStateChange]);\n useEffect(function () {\n if (!controlledLabel) {\n updateFloatingLabelState({\n isFilled: isFilledValue(selectValue),\n hasFocus: floatingLabelState.hasFocus\n });\n }\n }, [selectValue, controlledLabel, floatingLabelState.hasFocus, updateFloatingLabelState]);\n useEffect(function () {\n if (defaultValue) {\n setSelectValue(defaultValue);\n }\n }, []);\n var selectOptions = useMemo(function () {\n return _.map(options, function (o) {\n if (typeof o === 'string') {\n return {\n label: o,\n raw_value: o,\n value: o\n };\n } else {\n return Object.assign({}, o, {\n label: o.label || o.value,\n raw_value: o.raw_value || o.value\n });\n }\n });\n }, [options]);\n var selectValues = useMemo(function () {\n return _.map(_.isArray(selectValue) ? selectValue : !_.isNil(selectValue) ? [selectValue] : [], function (v) {\n // find selected option by matching raw value\n var option = _.find(selectOptions, function (o) {\n return o.raw_value === v;\n });\n\n return Object.assign({}, option, {\n value: option ? option.value : v,\n label: option ? option.label : v\n });\n });\n }, [selectValue, selectOptions]);\n var menuPortalTarget = useMemo(function () {\n return menuPortalTargetId && document.getElementById(menuPortalTargetId);\n }, [menuPortalTargetId]);\n var selectStyles = useMemo(function () {\n if (menuPortalTargetId) {\n return {\n menuPortal: function menuPortal(provided) {\n return Object.assign({}, provided, {\n zIndex: 9999\n });\n }\n };\n }\n\n return undefined;\n }, [menuPortalTargetId]);\n var width = useWindowSizeContext().width;\n var narrowPage = useMemo(function () {\n return width < 500;\n }, [width]);\n\n var onFocus = function onFocus(e) {\n updateFloatingLabelState({\n isFilled: true,\n hasFocus: true\n });\n };\n\n var onBlur = function onBlur(e) {\n if (onblur) {\n onblur(e);\n }\n\n updateFloatingLabelState({\n isFilled: isFilledValue(selectValue),\n hasFocus: false\n });\n };\n\n var onChange = function onChange(o) {\n var values = _.map(_.isArray(o) ? o : [o], function (v) {\n return v.raw_value;\n });\n\n if (!isMulti) values = _.first(values);\n\n if (onchange) {\n onchange(undefined, values);\n } else {\n setSelectValue(values);\n }\n\n updateFloatingLabelState({\n isFilled: isFilledValue(values),\n hasFocus: floatingLabelState.hasFocus\n });\n };\n\n return React.createElement(FloatingLabel, {\n id: name,\n className: error ? 'invalid' : '',\n label: placeholder || label || name,\n prefix: prefix,\n state: floatingLabelState,\n disabled: disabled\n }, React.createElement(Select, Object.assign({}, isMulti && {\n isMulti: isMulti\n }, {\n inputId: name,\n name: name,\n className: \"basic-multi-select\",\n classNamePrefix: \"select\",\n value: selectValues,\n onFocus: onFocus,\n onBlur: onBlur,\n onChange: onChange,\n options: selectOptions,\n placeholder: \"\",\n isSearchable: !narrowPage && isSearchable,\n isDisabled: disabled,\n menuPortalTarget: menuPortalTarget,\n styles: selectStyles,\n selectProps: {\n autoComplete: 'nope'\n }\n })));\n};","import _defineProperty from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport * as tslib_1 from \"tslib\";\nimport React, { useMemo } from 'react';\nimport Tooltip from 'rc-tooltip';\nimport * as RcSlider from 'rc-slider';\nimport Slider from 'rc-slider';\nimport _ from 'lodash';\nvar Range = RcSlider.Range;\nvar createSliderWithTooltip = RcSlider.createSliderWithTooltip;\nvar RangeTooltip = createSliderWithTooltip(Range);\nvar Handle = RcSlider.Handle;\nexport { Handle, RangeTooltip, Range, Slider };\n\nvar handle = function handle(props) {\n var value = props.value,\n dragging = props.dragging,\n index = props.index,\n restProps = tslib_1.__rest(props, [\"value\", \"dragging\", \"index\"]);\n\n return React.createElement(Tooltip, {\n prefixCls: \"rc-slider-tooltip\",\n overlay: value,\n visible: dragging,\n placement: \"top\",\n key: index\n }, React.createElement(Handle, Object.assign({\n value: value\n }, restProps)));\n};\n\nexport var CustomSlider = function CustomSlider(_a) {\n var children = _a.children,\n markers = _a.markers,\n rest = tslib_1.__rest(_a, [\"children\", \"markers\"]);\n\n var marks = useMemo(function () {\n if (markers) {\n return _.reduce(markers, function (acc, m) {\n var mLabel = _.isFunction(m.label) ? m.label(m) : m.label;\n return Object.assign({}, acc, _defineProperty({}, m.value, Object.assign({}, m, {\n label: mLabel\n })));\n }, {});\n }\n\n return rest.marks;\n }, [markers, rest.marks]);\n return React.createElement(Slider, Object.assign({\n handle: handle\n }, rest, {\n marks: marks\n }));\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useEffect, useState } from 'react';\nimport _ from 'lodash';\nexport var StepperInput = function StepperInput(_ref) {\n var name = _ref.name,\n options = _ref.options,\n value = _ref.value,\n error = _ref.error,\n onblur = _ref.onblur,\n onchange = _ref.onchange;\n\n var _useState = useState(value),\n _useState2 = _slicedToArray(_useState, 2),\n stepperValue = _useState2[0],\n setStepperValue = _useState2[1];\n\n useEffect(function () {\n return setStepperValue(value);\n }, [value]);\n\n var onChange = function onChange(newValue) {\n if (onchange) {\n onchange(undefined, newValue);\n } else {\n setStepperValue(newValue);\n }\n };\n\n return React.createElement(\"div\", {\n className: \"stepper\"\n }, React.createElement(\"div\", {\n className: \"btn-group btn-block btn-darken \".concat(error ? 'invalid' : '')\n }, _.map(options || [], function (o, i) {\n return React.createElement(\"button\", {\n key: \"btn-\".concat(name, \"-\").concat(i),\n id: \"btn-\".concat(name, \"-\").concat(i),\n className: \"btn \".concat(o.value === stepperValue ? 'btn-dark btn-active' : 'btn-link'),\n onClick: function onClick() {\n return onChange(o.value);\n },\n onBlur: onblur,\n type: \"button\",\n disabled: o.disabled\n }, o.label || o.value);\n })));\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport * as tslib_1 from \"tslib\";\nimport React, { useCallback, useState, useEffect, useMemo, useRef } from 'react';\nimport { isFieldValueFilled } from '../../hooks';\nimport { FloatingLabel } from '../basic';\nimport { LocalizeButton as Button } from '../';\nexport var TextboxInput = function TextboxInput(_a) {\n var type = _a.type,\n value = _a.value,\n label = _a.label,\n placeholder = _a.placeholder,\n error = _a.error,\n onfocus = _a.onfocus,\n onblur = _a.onblur,\n onchange = _a.onchange,\n autoFocus = _a.autoFocus,\n allowUnmask = _a.allowUnmask,\n preventPaste = _a.preventPaste,\n prefix = _a.prefix,\n controlledLabel = _a.controlledLabel,\n onLabelStateChange = _a.onLabelStateChange,\n disabled = _a.disabled,\n defaultLabelId = _a.defaultLabelId,\n labelPrefix = _a.labelPrefix,\n children = _a.children,\n rest = tslib_1.__rest(_a, [\"type\", \"value\", \"label\", \"placeholder\", \"error\", \"onfocus\", \"onblur\", \"onchange\", \"autoFocus\", \"allowUnmask\", \"preventPaste\", \"prefix\", \"controlledLabel\", \"onLabelStateChange\", \"disabled\", \"defaultLabelId\", \"labelPrefix\", \"children\"]);\n\n var name = rest.name;\n var inputRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n var val = inputValue || value;\n\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n maskPassword = _useState4[0],\n setMaskPassword = _useState4[1];\n\n var _useState5 = useState({\n isFilled: isFieldValueFilled(val)\n }),\n _useState6 = _slicedToArray(_useState5, 2),\n floatingLabelState = _useState6[0],\n setFloatingLabelState = _useState6[1];\n\n var updateFloatingLabelState = useCallback(function (state) {\n setFloatingLabelState(state);\n\n if (onLabelStateChange) {\n onLabelStateChange(state);\n }\n }, [onLabelStateChange]);\n var onFocus = useCallback(function (e) {\n if (onfocus) {\n onfocus(e);\n }\n\n updateFloatingLabelState({\n isFilled: true,\n hasFocus: true\n });\n }, [onfocus, updateFloatingLabelState]);\n var onBlur = useCallback(function (e) {\n if (onblur) {\n onblur(e);\n }\n\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(e.target.value),\n hasFocus: false\n });\n }, [onblur, updateFloatingLabelState]);\n var onChange = useCallback(function (e) {\n var rawValue = e.target.value;\n var val = type === 'number' ? parseFloat(rawValue) : rawValue;\n\n if (onchange) {\n onchange(e, val);\n } else {\n setInputValue(rawValue);\n }\n\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(val),\n hasFocus: floatingLabelState.hasFocus\n });\n }, [type, onchange, updateFloatingLabelState, floatingLabelState.hasFocus]);\n var onPaste = useCallback(function (e) {\n if (preventPaste) {\n e.preventDefault();\n }\n }, [preventPaste]);\n var onDragDrop = useCallback(function (e) {\n if (preventPaste) {\n e.preventDefault();\n }\n }, [preventPaste]);\n useEffect(function () {\n if (autoFocus) {\n setTimeout(function () {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n window.setTimeout(onFocus, 10);\n }\n }, 100);\n }\n }, [autoFocus, onFocus]);\n useEffect(function () {\n if (!controlledLabel) {\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(val),\n hasFocus: floatingLabelState.hasFocus\n });\n }\n }, [val, controlledLabel, floatingLabelState.hasFocus, updateFloatingLabelState]);\n var icon = useMemo(function () {\n if (type === 'password' && allowUnmask) {\n return React.createElement(Button, {\n type: maskPassword ? 'show' : 'hide',\n onClick: function onClick() {\n return setMaskPassword(!maskPassword);\n },\n tabIndex: -1\n }, React.createElement(\"i\", {\n className: \"fal fa-lg \".concat(maskPassword ? 'fa-lock-alt' : 'fa-lock-open-alt')\n }));\n }\n\n return undefined;\n }, [type, maskPassword, allowUnmask]);\n var fieldType = useMemo(function () {\n if (type === 'number') {\n return type;\n }\n\n if (!maskPassword) {\n return 'text';\n }\n\n return type;\n }, [maskPassword, type]);\n return React.createElement(React.Fragment, null, React.createElement(FloatingLabel, {\n id: name,\n className: error ? 'invalid' : '',\n label: placeholder || label || name,\n prefix: prefix,\n icon: icon,\n state: floatingLabelState,\n disabled: disabled\n }, React.createElement(\"input\", Object.assign({\n ref: inputRef,\n className: \"flabel-input\",\n id: name,\n type: fieldType,\n value: isFieldValueFilled(val) ? val : '',\n disabled: disabled,\n onFocus: onFocus,\n onBlur: onBlur,\n onChange: onChange,\n onPaste: onPaste,\n onDrag: onDragDrop,\n onDrop: onDragDrop,\n autoComplete: name\n }, rest))));\n};","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nimport { WidthProvider, Responsive } from 'react-grid-layout';\nvar ReactGridLayout = WidthProvider(Responsive);\nexport var Grid = function Grid(_a) {\n var id = _a.id,\n children = _a.children,\n storageProvider = _a.storageProvider,\n layouts = _a.layouts,\n isDashboardLocked = _a.isDashboardLocked,\n rest = tslib_1.__rest(_a, [\"id\", \"children\", \"storageProvider\", \"layouts\", \"isDashboardLocked\"]);\n\n return React.createElement(ReactGridLayout, Object.assign({\n layouts: layouts,\n draggableHandle: \".block-drag-handle\",\n isDraggable: !isDashboardLocked,\n isResizable: !isDashboardLocked\n }, rest), children);\n};","import React, { useCallback } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Country } from '@tradingblock/types';\nimport { TextboxField, SelectDropdownField } from './';\nimport { FormGroup } from '../../basic';\nexport var AddressField = function AddressField(_ref) {\n var id = _ref.id,\n labelPrefix = _ref.labelPrefix,\n countryProps = _ref.countryProps,\n addr1Help = _ref.addr1Help,\n stateProps = _ref.stateProps,\n field = _ref.field;\n var value = field.value;\n\n var country = _.get(value, \"\".concat(id, \".country\"));\n\n var getTextboxFieldProps = useCallback(function (field) {\n var fieldProps = {\n component: TextboxField,\n id: \"\".concat(id, \".\").concat(field),\n defaultLabelId: \"address.\".concat(field)\n };\n\n if (field === 'state') {\n fieldProps.defaultLabelId = \"address.province\";\n }\n\n if (labelPrefix) {\n return Object.assign({}, fieldProps, {\n labelPrefix: labelPrefix\n });\n }\n\n return fieldProps;\n }, [id, labelPrefix]);\n return React.createElement(React.Fragment, null, React.createElement(FormGroup, null, React.createElement(Field, Object.assign({\n component: SelectDropdownField,\n id: \"\".concat(id, \".country\")\n }, countryProps, {\n autoComplete: \"\".concat(id, \".country\")\n }))), React.createElement(FormGroup, {\n help: addr1Help\n }, React.createElement(Field, Object.assign({}, getTextboxFieldProps('address1')))), React.createElement(FormGroup, null, React.createElement(Field, Object.assign({}, getTextboxFieldProps('address2')))), React.createElement(FormGroup, null, React.createElement(Field, Object.assign({}, getTextboxFieldProps('city')))), React.createElement(FormGroup, null, (country === Country.UnitedStatesOfAmerica || country === '') && React.createElement(React.Fragment, null, React.createElement(Field, Object.assign({\n component: SelectDropdownField,\n id: \"\".concat(id, \".state\")\n }, stateProps, {\n autoComplete: 'HEYOOOO'\n }))), country !== Country.UnitedStatesOfAmerica && country !== '' && React.createElement(React.Fragment, null, React.createElement(Field, Object.assign({}, getTextboxFieldProps('state'))))), React.createElement(FormGroup, null, React.createElement(Field, Object.assign({}, getTextboxFieldProps('postalCode')))));\n};","import _toConsumableArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport React from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { CheckboxField } from './';\nimport { Text } from '../Text';\nexport var CheckListField = function CheckListField(_ref) {\n var form = _ref.form,\n id = _ref.id,\n type = _ref.type,\n options = _ref.options,\n className = _ref.className,\n renderOption = _ref.renderOption,\n onchange = _ref.onchange;\n var values = form.values,\n errors = form.errors,\n touched = form.touched,\n submitCount = form.submitCount;\n var value = _.get(values, id) || [];\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n\n var onChange = function onChange(val) {\n var newValues = _.includes(value, val) ? _.filter(value, function (v) {\n return v !== val;\n }) : [].concat(_toConsumableArray(value), [val]);\n var newValue = type === 'radio' ? val : newValues;\n\n if (onchange) {\n onchange(undefined, newValue);\n } else {\n form.setFieldValue(id, newValue);\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(\"ol\", {\n className: \"checklist checklist-icons \".concat(className)\n }, options.map(function (o, i) {\n return React.createElement(\"li\", {\n key: \"checklist-\".concat(i)\n }, React.createElement(Field, {\n component: CheckboxField,\n id: id,\n type: type,\n value: o.value,\n label: renderOption ? renderOption(o) : React.createElement(Text, {\n id: \"\".concat(id, \".\").concat(o.value),\n type: \"field\"\n }),\n icon: o.icon,\n onSetValue: function onSetValue() {\n return onChange(o.value);\n }\n }));\n })), error && !!submitCount && React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: 'error',\n type: 'error'\n })));\n};","import * as tslib_1 from \"tslib\";\nimport React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { useLocalize } from '../../../hooks';\nimport { Text } from '../Text';\nimport { CheckboxInput } from '../../fields';\nexport var CheckboxField = function CheckboxField(_a) {\n var id = _a.id,\n type = _a.type,\n value = _a.value,\n label = _a.label,\n defaultLabelId = _a.defaultLabelId,\n onChanged = _a.onChanged,\n onSetValue = _a.onSetValue,\n rest = tslib_1.__rest(_a, [\"id\", \"type\", \"value\", \"label\", \"defaultLabelId\", \"onChanged\", \"onSetValue\"]);\n\n var form = rest.form,\n field = rest.field;\n var values = form.values,\n setFieldValue = form.setFieldValue,\n submitCount = form.submitCount,\n errors = form.errors,\n touched = form.touched;\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n var inputType = type || 'checkbox';\n var fieldId = \"\".concat(id, \".\").concat(value);\n\n var _useLocalize = useLocalize(),\n getFieldTranslationId = _useLocalize.getFieldTranslationId;\n\n var checked = useMemo(function () {\n var currentValue = _.get(values, id);\n\n return _.isArray(currentValue) ? _.includes(currentValue, value) : value ? currentValue === value : !!currentValue;\n }, [id, values, value]);\n\n var handleOnChange = function handleOnChange(_e, newValue) {\n if (onSetValue) {\n onSetValue(newValue);\n } else {\n setFieldValue(id, newValue);\n }\n\n if (onChanged) {\n onChanged(newValue);\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(CheckboxInput, Object.assign({\n name: id,\n id: fieldId,\n type: inputType,\n label: label || React.createElement(Text, {\n id: getFieldTranslationId({\n id: id,\n defaultLabelId: defaultLabelId\n }),\n type: \"field\"\n }),\n checked: checked,\n onchange: handleOnChange,\n onblur: field.onBlur,\n error: error\n }, rest)), id !== 'tradeGoalType' && id !== 'investmentObjectiveType' && error && !!submitCount && React.createElement(React.Fragment, null, React.createElement(\"br\", null), React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: \"\".concat(error),\n type: 'error'\n }))));\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport * as tslib_1 from \"tslib\";\nimport React, { useState, useMemo } from 'react';\nimport _ from 'lodash';\nimport { TextboxField } from '../';\nimport { formatNumber, parseNumber } from '../../../utilities';\nexport var getCurrencyType = function getCurrencyType(locale) {\n // for now only supporting USD\n switch (locale) {\n default:\n return 'USD';\n }\n};\nexport var CurrencyField = function CurrencyField(_a) {\n var type = _a.type,\n step = _a.step,\n value = _a.value,\n locale = _a.locale,\n props = tslib_1.__rest(_a, [\"type\", \"step\", \"value\", \"locale\"]);\n\n var id = props.id,\n form = props.form;\n var values = form.values,\n setValues = form.setValues;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n hasFocus = _useState2[0],\n setHasFocus = _useState2[1];\n\n var currency = useMemo(function () {\n return getCurrencyType(locale);\n }, [locale]);\n var formattedValue = useMemo(function () {\n var currencyValue = value || _.get(values, id); // format value as currency\n\n\n return _.isNumber(currencyValue) || currencyValue ? formatNumber(currencyValue, {\n locale: locale,\n currency: currency\n }) : formatNumber(0, {\n locale: locale,\n currency: currency\n });\n }, [id, value, values, locale, currency]);\n var overrideProps = useMemo(function () {\n // use inputMode=\"decimal\" instead of type=\"number\" (so user can still enter delimiters like comma)\n if (hasFocus) {\n return {\n inputMode: 'decimal'\n };\n }\n\n return {\n value: formattedValue\n };\n }, [hasFocus, formattedValue]);\n\n var onFocus = function onFocus() {\n // when focusing, set form value to formatted currency value\n setValues(_.set(Object.assign({}, values), id, formattedValue));\n setHasFocus(true);\n };\n\n var onBlur = function onBlur(e) {\n // when blurring, set form value to number parsed from input value\n setValues(_.set(Object.assign({}, values), id, e.target.value && parseNumber(e.target.value, locale)));\n setHasFocus(false);\n };\n\n return React.createElement(TextboxField, Object.assign({}, props, overrideProps, {\n onfocus: onFocus,\n onblur: onBlur\n }));\n};","import * as tslib_1 from \"tslib\";\nimport React, { useMemo, useCallback } from 'react';\nimport _ from 'lodash';\nimport { withLocalize } from 'react-localize-redux';\nimport { useLocalize } from '../../../hooks';\nimport { Text } from '../Text';\nimport { SelectDropdownInput } from '../../fields';\n\nvar SelectDropdownFieldComponent = function SelectDropdownFieldComponent(_a) {\n var form = _a.form,\n field = _a.field,\n id = _a.id,\n options = _a.options,\n defaultLabelId = _a.defaultLabelId,\n optionsDefaultLabelId = _a.optionsDefaultLabelId,\n label = _a.label,\n rawOptionLabels = _a.rawOptionLabels,\n useRawOptions = _a.useRawOptions,\n labelPrefix = _a.labelPrefix,\n onChanged = _a.onChanged,\n translate = _a.translate,\n siteGroup = _a.siteGroup,\n _a$isSearchable = _a.isSearchable,\n isSearchable = _a$isSearchable === void 0 ? true : _a$isSearchable,\n rest = tslib_1.__rest(_a, [\"form\", \"field\", \"id\", \"options\", \"defaultLabelId\", \"optionsDefaultLabelId\", \"label\", \"rawOptionLabels\", \"useRawOptions\", \"labelPrefix\", \"onChanged\", \"translate\", \"siteGroup\", \"isSearchable\"]);\n\n var values = form.values,\n errors = form.errors,\n touched = form.touched,\n submitCount = form.submitCount;\n\n var value = _.get(values, id);\n\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n\n var _useLocalize = useLocalize(),\n getTranslationId = _useLocalize.getTranslationId,\n getFieldTranslationId = _useLocalize.getFieldTranslationId;\n\n var getValueTranslationId = useCallback(function (value) {\n return getFieldTranslationId({\n id: id,\n defaultLabelId: optionsDefaultLabelId || defaultLabelId,\n option: value\n });\n }, [id, defaultLabelId, optionsDefaultLabelId, getFieldTranslationId]);\n var getOptionValue = useCallback(function (option) {\n // for searchable value, get raw translation (using non-html data to return plain string)\n var val = translate(getTranslationId({\n id: getValueTranslationId(option),\n type: 'field'\n }), {\n ndash: '-'\n });\n return _.isString(val) ? val : option;\n }, [translate, getTranslationId, getValueTranslationId]);\n var getOptionLabel = useCallback(function (option) {\n if (useRawOptions) {\n if (rawOptionLabels) {\n return rawOptionLabels[option] || option;\n }\n\n return option;\n }\n\n return React.createElement(Text, {\n id: getValueTranslationId(option),\n type: \"field\"\n });\n }, [useRawOptions, rawOptionLabels, getValueTranslationId]);\n var selectOptions = useMemo(function () {\n return _.map(options, function (o) {\n // clean the option value, since it's used for search (so we also store raw value - not displayed, used for matching original option on change)\n return {\n value: o ? useRawOptions ? o : getOptionValue(o) : o,\n label: o ? getOptionLabel(o) : React.createElement(\"div\", null, React.createElement(\"hr\", null)),\n raw_value: o\n };\n });\n }, [options, getOptionValue, getOptionLabel, useRawOptions]);\n\n var onChange = function onChange(_e, value) {\n if (value) {\n if (onChanged) {\n onChanged(value);\n } else {\n form.setFieldValue(id, value);\n } // Checks to see if the dropdown is part of a phone array, if so, format the id for the corresponding phoneNumber input and select the input\n\n\n var isPhoneArray = _.toLower(id).includes('phones');\n\n if (isPhoneArray) {\n var formattedId = id.substring(0, id.lastIndexOf('.')) + '.phoneNumber';\n var phoneNumberEl = document.getElementById(formattedId);\n phoneNumberEl.select();\n }\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(SelectDropdownInput, Object.assign({\n name: id,\n label: label || React.createElement(Text, {\n id: getFieldTranslationId({\n id: id,\n defaultLabelId: defaultLabelId\n }),\n type: \"field\",\n data: labelPrefix && {\n prefix: labelPrefix\n },\n siteGroup: siteGroup\n }),\n isSearchable: isSearchable,\n value: value,\n error: error,\n options: selectOptions,\n onblur: field.onBlur,\n onchange: onChange\n }, rest)), error && !!submitCount && React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: \"\".concat(error),\n type: 'error',\n siteGroup: siteGroup\n })));\n};\n\nexport var SelectDropdownField = withLocalize(SelectDropdownFieldComponent);","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { Text } from '../Text';\nimport { StepperInput } from '../../fields';\nimport { useLocalize } from '../../../hooks';\nexport var StepperField = function StepperField(_ref) {\n var field = _ref.field,\n form = _ref.form,\n id = _ref.id,\n options = _ref.options,\n defaultLabelId = _ref.defaultLabelId,\n disabledOptions = _ref.disabledOptions,\n onChanged = _ref.onChanged,\n onChangedAndSetValue = _ref.onChangedAndSetValue;\n var values = form.values,\n errors = form.errors,\n touched = form.touched,\n submitCount = form.submitCount,\n setFieldValue = form.setFieldValue;\n\n var _useLocalize = useLocalize(),\n getFieldTranslationId = _useLocalize.getFieldTranslationId;\n\n var value = _.get(values, id);\n\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n var translationId = getFieldTranslationId({\n id: id,\n defaultLabelId: defaultLabelId\n });\n var buttonOptions = useMemo(function () {\n return _.map(options, function (o) {\n return {\n value: _.isString(o) ? o : o.value,\n label: _.isString(o) ? React.createElement(Text, {\n id: \"\".concat(translationId, \".\").concat(o),\n type: \"field\"\n }) : o.label,\n disabled: _.isString(o) ? _.includes(disabledOptions, o) : !!o.disabled\n };\n });\n }, [options, translationId, disabledOptions]);\n\n var onChange = function onChange(_e, option) {\n if (onChanged && !onChangedAndSetValue) {\n onChanged(option);\n } else if (onChanged && onChangedAndSetValue) {\n onChanged(option);\n setFieldValue(id, option);\n } else {\n setFieldValue(id, option);\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(StepperInput, {\n name: id,\n options: buttonOptions,\n value: value,\n error: error,\n onblur: field.onBlur,\n onchange: onChange\n }), error && !!submitCount && React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: error,\n type: 'error'\n })));\n};","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nimport _ from 'lodash';\nimport { useLocalize } from '../../../hooks';\nimport { Text } from '../';\nimport { TextboxInput } from '../../fields';\nexport var DEFAULT_WIDTH = 1200;\nexport var DEFAULT_SMALL_COL = 2;\nexport var DEFAULT_MEDIUM_COL = 4;\nexport var DEFAULT_LARGE_COL = 6;\nexport var TextboxField = function TextboxField(_a) {\n var field = _a.field,\n form = _a.form,\n id = _a.id,\n label = _a.label,\n labelPrefix = _a.labelPrefix,\n rest = tslib_1.__rest(_a, [\"field\", \"form\", \"id\", \"label\", \"labelPrefix\"]);\n\n var defaultLabelId = rest.defaultLabelId;\n var values = form.values,\n errors = form.errors,\n touched = form.touched,\n submitCount = form.submitCount;\n\n var value = _.get(values, id);\n\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n\n var _useLocalize = useLocalize(),\n getFieldTranslationId = _useLocalize.getFieldTranslationId;\n\n var isPhoneNumber = _.includes(id, 'phone');\n\n var formatPhoneNumber = function formatPhoneNumber(value) {\n if (!value) return value;\n var phoneNumber = value.replace(/[^\\d]/g, '');\n if (phoneNumber.length < 4) return phoneNumber;\n if (phoneNumber.length < 7) return \"\".concat(phoneNumber.slice(0, 3), \"-\").concat(phoneNumber.slice(3));\n if (phoneNumber.length <= 10) return \"\".concat(phoneNumber.slice(0, 3), \"-\").concat(phoneNumber.slice(3, 6), \"-\").concat(phoneNumber.slice(6));\n if (phoneNumber.length === 11) return \"\".concat(phoneNumber.slice(0, 1), \"-\").concat(phoneNumber.slice(1, 4), \"-\").concat(phoneNumber.slice(4, 7), \"-\").concat(phoneNumber.slice(7));else return \"\".concat(phoneNumber.slice(0, 2), \"-\").concat(phoneNumber.slice(2, 6), \"-\").concat(phoneNumber.slice(6));\n };\n\n var formatValue = function formatValue(value) {\n if (field.value < 1) {\n if (field.name.toLowerCase() === 'width') return DEFAULT_WIDTH.toString();\n if (field.name.toLowerCase() === 'gridColumnsLarge') return DEFAULT_LARGE_COL.toString();\n if (field.name.toLowerCase() === 'gridColumnsMedium') return DEFAULT_MEDIUM_COL.toString();\n if (field.name.toLowerCase() === 'gridColumnsSmall') return DEFAULT_SMALL_COL.toString();\n } else if (isPhoneNumber && value) {\n return formatPhoneNumber(value);\n } else {\n return value;\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(TextboxInput, Object.assign({\n name: id,\n label: label || React.createElement(Text, {\n id: getFieldTranslationId({\n id: id,\n defaultLabelId: defaultLabelId\n }),\n type: \"field\",\n data: labelPrefix && {\n prefix: labelPrefix\n }\n }),\n value: formatValue(value),\n error: error,\n onblur: field.onBlur,\n onchange: field.onChange,\n autoComplete: id\n }, rest)), error && !!submitCount && React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: \"\".concat(error),\n type: 'error',\n data: rest.data\n })));\n};","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport * as tslib_1 from \"tslib\";\nimport React, { useCallback, useState, useEffect, useMemo, useRef } from 'react';\nimport { isFieldValueFilled } from '../../hooks';\nimport { FloatingLabel } from '../basic';\nimport { LocalizeButton as Button } from '../';\nexport var TextareaInput = function TextareaInput(_a) {\n var type = _a.type,\n value = _a.value,\n label = _a.label,\n placeholder = _a.placeholder,\n error = _a.error,\n onfocus = _a.onfocus,\n onblur = _a.onblur,\n onchange = _a.onchange,\n autoFocus = _a.autoFocus,\n allowUnmask = _a.allowUnmask,\n preventPaste = _a.preventPaste,\n prefix = _a.prefix,\n controlledLabel = _a.controlledLabel,\n onLabelStateChange = _a.onLabelStateChange,\n disabled = _a.disabled,\n defaultLabelId = _a.defaultLabelId,\n labelPrefix = _a.labelPrefix,\n children = _a.children,\n rest = tslib_1.__rest(_a, [\"type\", \"value\", \"label\", \"placeholder\", \"error\", \"onfocus\", \"onblur\", \"onchange\", \"autoFocus\", \"allowUnmask\", \"preventPaste\", \"prefix\", \"controlledLabel\", \"onLabelStateChange\", \"disabled\", \"defaultLabelId\", \"labelPrefix\", \"children\"]);\n\n var name = rest.name;\n var inputRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n var val = inputValue || value;\n\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n maskPassword = _useState4[0],\n setMaskPassword = _useState4[1];\n\n var _useState5 = useState({\n isFilled: isFieldValueFilled(val)\n }),\n _useState6 = _slicedToArray(_useState5, 2),\n floatingLabelState = _useState6[0],\n setFloatingLabelState = _useState6[1];\n\n var updateFloatingLabelState = useCallback(function (state) {\n setFloatingLabelState(state);\n\n if (onLabelStateChange) {\n onLabelStateChange(state);\n }\n }, [onLabelStateChange]);\n var onFocus = useCallback(function (e) {\n if (onfocus) {\n onfocus(e);\n }\n\n updateFloatingLabelState({\n isFilled: true,\n hasFocus: true\n });\n }, [onfocus, updateFloatingLabelState]);\n var onBlur = useCallback(function (e) {\n if (onblur) {\n onblur(e);\n }\n\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(e.target.value),\n hasFocus: false\n });\n }, [onblur, updateFloatingLabelState]);\n var onChange = useCallback(function (e) {\n var rawValue = e.target.value;\n var val = type === 'number' ? parseFloat(rawValue) : rawValue;\n\n if (onchange) {\n onchange(e, val);\n } else {\n setInputValue(rawValue);\n }\n\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(val),\n hasFocus: floatingLabelState.hasFocus\n });\n }, [type, onchange, updateFloatingLabelState, floatingLabelState.hasFocus]);\n var onPaste = useCallback(function (e) {\n if (preventPaste) {\n e.preventDefault();\n }\n }, [preventPaste]);\n useEffect(function () {\n if (autoFocus) {\n setTimeout(function () {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n window.setTimeout(onFocus, 10);\n }\n }, 100);\n }\n }, [autoFocus, onFocus]);\n useEffect(function () {\n if (!controlledLabel) {\n updateFloatingLabelState({\n isFilled: isFieldValueFilled(val),\n hasFocus: floatingLabelState.hasFocus\n });\n }\n }, [val, controlledLabel, floatingLabelState.hasFocus, updateFloatingLabelState]);\n var icon = useMemo(function () {\n if (type === 'password' && allowUnmask) {\n return React.createElement(Button, {\n type: maskPassword ? 'show' : 'hide',\n onClick: function onClick() {\n return setMaskPassword(!maskPassword);\n },\n tabIndex: -1\n }, React.createElement(\"i\", {\n className: \"fal fa-lg \".concat(maskPassword ? 'fa-lock-alt' : 'fa-lock-open-alt')\n }));\n }\n\n return undefined;\n }, [type, maskPassword, allowUnmask]);\n var fieldType = useMemo(function () {\n if (type === 'number') {\n return type;\n }\n\n if (!maskPassword) {\n return 'text';\n }\n\n return type;\n }, [maskPassword, type]);\n return React.createElement(React.Fragment, null, React.createElement(FloatingLabel, {\n id: name,\n className: error ? 'invalid' : '',\n label: placeholder || label || name,\n prefix: prefix,\n icon: icon,\n state: floatingLabelState,\n disabled: disabled\n }, React.createElement(\"textarea\", Object.assign({\n className: \"flabel-input\",\n id: name,\n value: isFieldValueFilled(val) ? val : '',\n disabled: disabled,\n autoComplete: name,\n onFocus: onFocus,\n onBlur: onBlur,\n onChange: onChange,\n onPaste: onPaste\n }, rest, {\n style: {\n minHeight: '200px'\n }\n }))));\n};","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nimport _ from 'lodash';\nimport { useLocalize } from '../../../hooks';\nimport { Text } from '../';\nimport { TextareaInput } from '../../fields/Textarea';\nexport var TextareaField = function TextareaField(_a) {\n var field = _a.field,\n form = _a.form,\n id = _a.id,\n label = _a.label,\n labelPrefix = _a.labelPrefix,\n rest = tslib_1.__rest(_a, [\"field\", \"form\", \"id\", \"label\", \"labelPrefix\"]);\n\n var defaultLabelId = rest.defaultLabelId;\n var values = form.values,\n errors = form.errors,\n touched = form.touched,\n submitCount = form.submitCount;\n\n var value = _.get(values, id);\n\n var error = _.get(touched, id) ? _.get(errors, id) : undefined;\n\n var _useLocalize = useLocalize(),\n getFieldTranslationId = _useLocalize.getFieldTranslationId;\n\n var isPhoneNumber = _.includes(id, 'phone');\n\n var formatPhoneNumber = function formatPhoneNumber(value) {\n if (!value) return value;\n var phoneNumber = value.replace(/[^\\d]/g, '');\n if (phoneNumber.length < 4) return phoneNumber;\n\n if (phoneNumber.length < 7) {\n return \"\".concat(phoneNumber.slice(0, 3), \"-\").concat(phoneNumber.slice(3));\n }\n\n if (phoneNumber.length <= 10) {\n return \"\".concat(phoneNumber.slice(0, 3), \"-\").concat(phoneNumber.slice(3, 6), \"-\").concat(phoneNumber.slice(6));\n }\n\n if (phoneNumber.length === 11) {\n return \"\".concat(phoneNumber.slice(0, 1), \"-\").concat(phoneNumber.slice(1, 4), \"-\").concat(phoneNumber.slice(4, 7), \"-\").concat(phoneNumber.slice(7));\n }\n\n return \"\".concat(phoneNumber.slice(0, 2), \"-\").concat(phoneNumber.slice(2, 6), \"-\").concat(phoneNumber.slice(6));\n };\n\n var formatValue = function formatValue(value) {\n if (isPhoneNumber && value) {\n return formatPhoneNumber(value);\n } else {\n return value;\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(TextareaInput, Object.assign({\n name: id,\n label: label || React.createElement(Text, {\n id: getFieldTranslationId({\n id: id,\n defaultLabelId: defaultLabelId\n }),\n type: \"field\",\n data: labelPrefix && {\n prefix: labelPrefix\n }\n }),\n value: formatValue(value),\n error: error,\n onblur: field.onBlur,\n onchange: field.onChange,\n autoComplete: id\n }, rest)), error && !!submitCount && React.createElement(\"span\", {\n className: \"error\"\n }, React.createElement(Text, {\n id: id,\n textKey: \"\".concat(error),\n type: 'error',\n data: rest.data\n })));\n};","import * as tslib_1 from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { useLocalize } from '../../hooks';\n\nvar ButtonComponent = function ButtonComponent(_a) {\n var type = _a.type,\n translate = _a.translate,\n children = _a.children,\n rest = tslib_1.__rest(_a, [\"type\", \"translate\", \"children\"]);\n\n var _useLocalize = useLocalize(),\n getTranslationId = _useLocalize.getTranslationId;\n\n var title = useMemo(function () {\n var text = translate(getTranslationId({\n id: \"btns.\".concat(type)\n }));\n return _.isString(text) ? text : \"[\".concat(type.toUpperCase(), \"]\");\n }, [translate, type]);\n var btnProps = Object.assign({\n title: title\n }, _.pick(rest, ['onClick', 'tabIndex', 'className']));\n return React.createElement(\"button\", Object.assign({\n type: \"button\"\n }, btnProps), children);\n};\n\nexport var LocalizeButton = withLocalize(ButtonComponent);","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useState } from 'react';\nimport { Wrapper, Svg } from '../basic';\nimport { LocalizeButton } from './Button';\nexport var HelpIcon = function HelpIcon(_ref) {\n var iconSize = _ref.iconSize;\n return React.createElement(\"span\", {\n className: \"tb-icon \".concat(iconSize ? \"tb-icon-\".concat(iconSize) : '')\n }, React.createElement(Svg, {\n path: \"icon-help\"\n }));\n};\nexport var HelpText = function HelpText(_ref2) {\n var help = _ref2.help,\n iconSize = _ref2.iconSize,\n wrapper = _ref2.wrapper,\n className = _ref2.className,\n children = _ref2.children;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showHelp = _useState2[0],\n setShowHelp = _useState2[1];\n\n var onClick = function onClick(e) {\n e.preventDefault();\n setShowHelp(!showHelp);\n };\n\n return React.createElement(React.Fragment, null, React.createElement(Wrapper, {\n element: wrapper || 'p',\n className: className\n }, children, ' ', React.createElement(LocalizeButton, {\n type: \"info\",\n onClick: onClick\n }, React.createElement(HelpIcon, {\n iconSize: iconSize\n }))), showHelp && React.createElement(Wrapper, {\n element: \"p\"\n }, React.createElement(HelpIcon, null), \" \", help));\n};","import _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport * as React from 'react';\nimport { Wrapper } from '../basic';\nimport { Text } from './';\nimport { LoadingImage } from '..';\nexport var LocalizeLoading =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(LocalizeLoading, _React$Component);\n\n function LocalizeLoading() {\n _classCallCheck(this, LocalizeLoading);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(LocalizeLoading).apply(this, arguments));\n }\n\n _createClass(LocalizeLoading, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n text = _this$props.text,\n wrapper = _this$props.wrapper;\n return React.createElement(Wrapper, {\n element: wrapper\n }, text || React.createElement(Text, {\n id: \"loading\"\n }), \"... \", React.createElement(LoadingImage, null));\n }\n }]);\n\n return LocalizeLoading;\n}(React.Component);","import _slicedToArray from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useEffect, useState } from 'react';\nimport { LocalizeProvider, withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { AllLanguageTypes, allTranslations, getLocalizeOptions } from '@tradingblock/types';\n\nvar LocalizeWrapper = function LocalizeWrapper(_ref) {\n var initialize = _ref.initialize,\n addTranslationForLanguage = _ref.addTranslationForLanguage,\n children = _ref.children;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n localizeInitialized = _useState2[0],\n setLocalizeInitialized = _useState2[1];\n\n useEffect(function () {\n if (!localizeInitialized) {\n initialize(getLocalizeOptions(AllLanguageTypes));\n\n _.each(allTranslations, function (translations, lang) {\n addTranslationForLanguage(translations, lang);\n });\n\n window.setTimeout(function () {\n return setLocalizeInitialized(true);\n }, 10);\n }\n }, [localizeInitialized, initialize, addTranslationForLanguage]); // wait for localize to be initialized with data\n\n if (!localizeInitialized) {\n return null;\n }\n\n return React.createElement(React.Fragment, null, children);\n};\n\nvar LocalizeWrapperWithLocalize = withLocalize(LocalizeWrapper);\nexport var LocalizeProviderWrapper = function LocalizeProviderWrapper(_ref2) {\n var children = _ref2.children;\n return React.createElement(LocalizeProvider, null, React.createElement(LocalizeWrapperWithLocalize, null, children));\n};","import React, { useCallback } from 'react';\nimport { Modal as BootstrapModal } from 'react-bootstrap';\nexport var Modal = function Modal(_ref) {\n var children = _ref.children,\n show = _ref.show,\n size = _ref.size,\n backdrop = _ref.backdrop,\n isError = _ref.isError,\n keyboard = _ref.keyboard,\n setShow = _ref.setShow,\n className = _ref.className;\n var handleClose = useCallback(function () {\n setShow(false);\n }, [setShow]);\n return React.createElement(BootstrapModal, {\n size: size,\n show: show,\n onHide: handleClose,\n backdrop: 'static',\n keyboard: keyboard,\n dialogClassName: isError ? 'modal-error' : undefined,\n className: className\n }, children);\n};","import * as tslib_1 from \"tslib\";\nimport React from 'react';\nimport { calculateColumnWidth } from '..';\nvar InlineHeaderClass = 'inlineheader';\n/**\n * Responsive table cells\n */\n\nexport var ResponsiveTd = function ResponsiveTd(_a) {\n var header = _a.header,\n children = _a.children,\n numColumns = _a.numColumns,\n columnWidth = _a.columnWidth,\n props = tslib_1.__rest(_a, [\"header\", \"children\", \"numColumns\", \"columnWidth\"]);\n\n return React.createElement(\"td\", Object.assign({}, props, {\n style: Object.assign({\n width: columnWidth ? columnWidth : calculateColumnWidth(numColumns)\n }, props.style)\n }), React.createElement(\"div\", {\n className: InlineHeaderClass\n }, header), children || React.createElement(\"div\", null, \"\\xA0\"));\n};\nexport var ResponsiveTdMemo = React.memo(ResponsiveTd);","import _ from 'lodash';\nimport dayjs from 'dayjs';\nimport { SizeType } from '@tradingblock/types';\nimport { getClassNames } from '../../utilities';\nexport var getTableSize = function getTableSize(width, windowWidth) {\n if (windowWidth < 670) {\n return SizeType.sm;\n }\n\n return width;\n};\nexport var getTableClass = function getTableClass(className, tableClassName, responsiveDisabled) {\n return getClassNames([className, tableClassName, responsiveDisabled ? undefined : 'responsiveTable']);\n};\n/**\n * Determines if a td should have responsive styling applied to it\n * @param size The current size of the table\n * @return 'pivoted' if the table is small, undefined if the table is not\n */\n\nexport var getTableTdClass = function getTableTdClass(size) {\n if (size === SizeType.sm) {\n return 'pivoted';\n }\n\n return undefined;\n};\nexport var onDateSort = _.memoize(function (rowA, rowB, _columnId, desc) {\n var sort = rowA === rowB ? 0 : rowA > rowB ? 1 : -1;\n\n if (sort !== 0 && _.isString(rowA) && _.isString(rowB)) {\n sort = dayjs(rowA).isAfter(dayjs(rowB)) ? 1 : -1;\n }\n\n return sort * (desc ? -1 : 1);\n});\n/**\n * Calculates the percent width of one column of a table\n *\n * It does this by dividing 100 by the number of columns\n *\n * Thus, evenly distributing the widths\n * @param numColumn the number of columns in one row of the table\n * @returns the percent width as a string\n */\n\nexport var calculateColumnWidth = function calculateColumnWidth(numColumn) {\n return numColumn ? \"\".concat(100 / numColumn, \"%\") : '0%';\n};","import { Tabs as BootstrapTabs, Tab as BootstrapTab } from 'react-bootstrap';\nexport var Tabs = BootstrapTabs;\nexport var Tab = BootstrapTab;","import React from 'react';\nexport var NavigationContext = React.createContext({});\nexport function useNavigationContext() {\n var context = React.useContext(NavigationContext);\n\n if (!context) {\n throw new Error(\"Navigation compound components cannot be rendered outside the Navigation component\");\n }\n\n return context;\n}","export var CSS = {\n props: {\n inline: 'props-inline',\n value: 'props-value',\n title: 'props-title'\n }\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport axios from 'axios';\nexport var getAxiosClient = function getAxiosClient(config) {\n var headers = Object.assign({\n Authorization: config.authToken || undefined,\n Accept: 'application/json'\n }, config.headers || {});\n var client = axios.create({\n baseURL: config.url,\n headers: headers\n });\n return client;\n};\nexport var getHttpProvider = function getHttpProvider(axios, config) {\n var log = function log(value) {\n return axios.post(config.logEndpoint || 'log', value).then(function (cv) {\n return cv.status === 200 ? true : false;\n });\n };\n\n var get = function get(key) {\n return axios.get(key).then(function (cv) {\n return cv.data;\n });\n };\n\n var post = axios.post;\n\n var save = function save(key, value) {\n return post(key, value).then(function (cv) {\n return cv.data;\n });\n };\n\n var update = function update(key, value) {\n return axios.patch(key, value).then(function (cv) {\n return cv.data;\n });\n };\n\n var del = function del(key) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return axios.delete(key);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n };\n\n var httpProvider = {\n kind: 'http',\n update: update,\n save: save,\n get: get,\n delete: del,\n log: log,\n post: post\n };\n return httpProvider;\n};\nexport var HttpProvider = function HttpProvider(axios, config) {\n return getHttpProvider(axios, config);\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\nimport _classCallCheck from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport * as tslib_1 from \"tslib\";\nimport { HttpProvider, getAxiosClient } from './providers/httpProvider';\nimport { LocalStorageProvider } from './providers/localStorageProvider';\nexport var keyVal = function keyVal(key, prefix) {\n return prefix ? \"\".concat(prefix, \".\").concat(key) : key;\n};\nexport var StorageEngineFactory = function StorageEngineFactory(config) {\n return config.kind === 'http' ? HttpProvider(getAxiosClient(config), Object.assign({}, config, {\n logEndpoint: 'events'\n })) : LocalStorageProvider(config);\n};\nexport var HttpStorageEngineFactory = function HttpStorageEngineFactory(axios, config) {\n return HttpProvider(axios, Object.assign({}, config, {\n logEndpoint: 'events'\n }));\n};\nexport var StorageProvider =\n/*#__PURE__*/\nfunction () {\n function StorageProvider(storeConfig) {\n var _this = this;\n\n var engineFactory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : StorageEngineFactory;\n\n _classCallCheck(this, StorageProvider);\n\n this.delete = function (key) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.engine.delete(keyVal(key, this.config.prefix));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n };\n\n this.config = storeConfig;\n this.engineFactory = engineFactory;\n this.engine = engineFactory(storeConfig);\n } // const { providerType, prefix, authToken, headers, url, expires } = args;\n\n\n _createClass(StorageProvider, [{\n key: \"save\",\n value: function save(key, value) {\n return this.engine.save(keyVal(key, this.config.prefix), value);\n }\n }, {\n key: \"update\",\n value: function update(key, value) {\n return this.engine.update(keyVal(key, this.config.prefix), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.engine.get(keyVal(key, this.config.prefix));\n }\n }, {\n key: \"log\",\n value: function log(value) {\n return this.engine.log(value);\n }\n }, {\n key: \"setConfig\",\n value: function setConfig(newVal) {\n this.config = newVal;\n this.engine = this.engineFactory(newVal);\n }\n }]);\n\n return StorageProvider;\n}();","import localforage from 'localforage';\nexport var LocalStorageProvider = function LocalStorageProvider(_ref) {\n var prefix = _ref.prefix;\n\n var keyVal = function keyVal(key) {\n return prefix === undefined ? key : \"\".concat(prefix, \".\").concat(key);\n };\n\n var get = function get(key) {\n return localforage.getItem(keyVal(key));\n };\n\n var save = function save(key, value) {\n return localforage.setItem(keyVal(key), value);\n };\n\n var log = function log(value) {\n return Promise.resolve(false);\n };\n\n var del = function del(key) {\n return localforage.removeItem(keyVal(key));\n };\n\n var providerObj = {\n kind: 'localStorage',\n update: save,\n save: save,\n get: get,\n delete: del,\n log: log\n };\n return providerObj;\n};","import _regeneratorRuntime from \"/var/lib/jenkins/jobs/workspace/tradingblock_prod/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";\n\nvar _this = this;\n\nimport * as tslib_1 from \"tslib\";\nimport { createContext, useMemo } from 'react';\nimport constate from 'constate';\nimport { StorageProvider } from './storageProvider';\nexport var StorageContext = createContext({\n save: function save(path, value) {\n return Promise.resolve(value);\n },\n update: function update(path, value) {\n return Promise.resolve(value);\n },\n get: function get() {\n return Promise.resolve(null);\n },\n delete: function _delete() {\n return Promise.resolve();\n },\n log: function log(value) {\n return Promise.resolve(false);\n },\n config: {\n kind: 'http',\n url: 'fakeurl',\n authToken: 'AUTHTOKEN'\n },\n setConfig: function setConfig() {\n return Promise.resolve();\n }\n});\nexport function buildStore(config) {\n return new StorageProvider(config);\n}\nexport var TokenStorageKey = 'usertoken';\nexport var TokenFromStorage = function TokenFromStorage(storage) {\n return storage.get(TokenStorageKey).then(function (val) {\n return !val ? undefined : typeof val === 'string' ? val : val.value;\n });\n};\nexport var SaveTokenInStorage = function SaveTokenInStorage(storage, value) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return storage.save(TokenStorageKey, value);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\nexport var ExpireTokenInStorage = function ExpireTokenInStorage(storage) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return storage.save(TokenStorageKey, undefined);\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n};\nexport var SyncTabStorageKey = 'localTabSync';\nexport var SyncTabFromStorage = function SyncTabFromStorage(storage) {\n return storage.get(SyncTabStorageKey).then(function (val) {\n return !val ? undefined : typeof val === 'string' ? val : val.value;\n });\n};\nexport var SaveSyncTabInStorage = function SaveSyncTabInStorage(storage, value) {\n return tslib_1.__awaiter(_this, void 0, void 0,\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return storage.save(SyncTabStorageKey, value);\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n};\nexport function useStorageContext(config) {\n return useMemo(function () {\n return new StorageProvider(config);\n }, [config]);\n}\nexport var useStorage = constate(useStorageContext);\nexport var useLocalStorage = constate(function (args) {\n return useStorageContext(Object.assign({\n kind: 'localstorage'\n }, args));\n});","import { UserRequirementsInfo, ResponseCode, HeardAboutInfo, ApplicationStatus } from '@tradingblock/types';\nimport { ApplicationStep, SaveType, ApplicationModel, UploadKey } from '../types';\n\nexport interface ApplicationUIState {\n siteGrp?: string;\n clearer?: string;\n apiToken?: string; // used for TB api\n storageToken?: string; // used for mongo storage\n storageTokenExpired?: boolean;\n apiTokenExpired?: boolean;\n step?: ApplicationStep;\n numberOfSections: number;\n visibleSections: number;\n scrollToSection: boolean;\n nextPage?: string;\n stepSaved?: boolean;\n isFetching?: boolean;\n userRequirements?: UserRequirementsInfo;\n heardAbout?: HeardAboutInfo[];\n affiliate?: string;\n}\n\nexport interface ApplicationDataState {\n status?: ApplicationStatus | null;\n isFetchingStatus?: boolean;\n application?: ApplicationModel;\n isSaving?: boolean;\n saveType?: SaveType;\n saveStep?: ApplicationStep;\n uploadState: {\n [key in UploadKey]?: { uploadsInProgress?: number };\n };\n createdUser?: boolean;\n createdAccount?: boolean;\n errorCode?: ResponseCode;\n errorMessages?: string[];\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n };\n}\n\nexport interface ApplicationState {\n ui: ApplicationUIState;\n data: ApplicationDataState;\n}\n\nexport const InitialState: ApplicationState = {\n ui: {\n numberOfSections: 1,\n visibleSections: 1,\n scrollToSection: false,\n },\n data: {\n uploadState: {},\n },\n};\n","import { createStandardAction, ActionType } from 'typesafe-actions';\nimport { ApiResponse } from '@tradingblock/api';\nimport {\n CreateAccountInfo,\n UserRequirementsInfo,\n UploadedDocument,\n HeardAboutInfo,\n ApplicationStatus,\n} from '@tradingblock/types';\nimport {\n ApplicationStep,\n ApplicationModel,\n SaveType,\n UploadDocumentTag,\n UploadKey,\n DuplicateAccountCheckRequest,\n DuplicateAccountCheckResponse,\n EntityPartialSubmissionModel,\n} from '../types';\nimport { useStore } from '../context';\n\nconst UI_SET_SITE_GRP = '@ui/SET_SITE_GRP';\nconst UI_SET_AUTH_TOKEN = '@ui/SET_AUTH_TOKEN';\nconst UI_SET_STEP = '@ui/SET_STEP';\nconst UI_SHOW_NEXT_SECTION = '@ui/SHOW_NEXT_SECTION';\nconst UI_SCROLL_TO_SECTION = '@ui/SCROLL_TO_SECTION';\nconst UI_SET_NEXT_PAGE = '@ui/SET_NEXT_PAGE';\nconst UI_CLEAR_NEXT_PAGE = '@ui/CLEAR_NEXT_PAGE';\nconst UI_SET_CLEARER = '@ui/SET_CLEARER';\nconst UI_SET_AFFILIATE = '@ui/SET_AFFILIATE';\n\nexport const UiActions = {\n setSiteGrp: createStandardAction(UI_SET_SITE_GRP)(),\n setAuthToken: createStandardAction(UI_SET_AUTH_TOKEN)<{ apiToken: string; storageToken: string } | undefined>(),\n setStep: createStandardAction(UI_SET_STEP)<{ step: ApplicationStep; application: ApplicationModel }>(),\n showNextSection: createStandardAction(UI_SHOW_NEXT_SECTION)<{ scrollToSection: boolean }>(),\n setScrollToSection: createStandardAction(UI_SCROLL_TO_SECTION)<{ scrollToSection: boolean }>(),\n setNextPage: createStandardAction(UI_SET_NEXT_PAGE)(),\n clearNextPage: createStandardAction(UI_CLEAR_NEXT_PAGE)(),\n setClearer: createStandardAction(UI_SET_CLEARER)(),\n setAffiliate: createStandardAction(UI_SET_AFFILIATE)(),\n};\n\nconst APP_UI_DATA_REQUEST = '@app/UI_DATA_REQUEST';\nconst APP_UI_DATA_RECEIVE = '@app/UI_DATA_RECEIVE';\nconst APP_APPLICATION_STATUS_REQUEST = '@app/APPLICATION_STATUS_REQUEST';\nconst APP_APPLICATION_STATUS_RECEIVE = '@app/APPLICATION_STATUS_RECEIVE';\nconst APP_SAVE_APPLICATION_REQUEST = '@app/SAVE_APPLICATION_REQUEST';\nconst APP_SAVE_APPLICATION_RECEIVE = '@app/SAVE_APPLICATION_RECEIVE';\nconst APP_CREATE_USER_REQUEST = '@app/CREATE_USER_REQUEST';\nconst APP_CREATE_USER_RECEIVE = '@app/CREATE_USER_RECEIVE';\nconst APP_UPLOAD_FILES_REQUEST = '@app/UPLOAD_FILE_REQUEST';\nconst APP_UPLOAD_FILE_RECEIVE = '@app/UPLOAD_FILE_RECEIVE';\nconst APP_UPLOAD_FILE_REMOVE = '@app/UPLOAD_FILE_REMOVE';\nconst APP_CREATE_ACCOUNT_REQUEST = '@app/CREATE_ACCOUNT_REQUEST';\nconst APP_CREATE_ACCOUNT_RECEIVE = '@app/CREATE_ACCOUNT_RECEIVE';\nconst APP_DUPLICATE_ACCOUNT_CHECK_REQUEST = '@app/DUPLICATE_ACCOUNT_CHECK_REQUEST';\nconst APP_DUPLICATE_ACCOUNT_CHECK_RECEIVE = '@app/DUPLICATE_ACCOUNT_CHECK_RECEIVE';\nconst APP_CREATE_PARTIAL_ENTITY_REQUEST = '@app/CREATE_PARTIAL_ENTITY_REQUEST';\nconst APP_CREATE_PARTIAL_ENTITY_RECEIVE = '@app/CREATE_PARTIAL_ENTITY_RECEIVE';\n\nexport const ApplicationActions = {\n requestUiData: createStandardAction(APP_UI_DATA_REQUEST)<{ siteConfigId: number }>(),\n receiveUiData: createStandardAction(APP_UI_DATA_RECEIVE)<\n ApiResponse<{ userRequirements: UserRequirementsInfo; heardAbout: HeardAboutInfo[] } | undefined>\n >(),\n requestApplicationStatus: createStandardAction(APP_APPLICATION_STATUS_REQUEST)<{ accountId: number }>(),\n receiveApplicationStatus: createStandardAction(APP_APPLICATION_STATUS_RECEIVE)<\n ApiResponse\n >(),\n requestSaveApplication: createStandardAction(APP_SAVE_APPLICATION_REQUEST)<{\n application: ApplicationModel;\n saveType: SaveType;\n saveStep?: ApplicationStep;\n storage: ReturnType;\n }>(),\n receiveSaveApplication: createStandardAction(APP_SAVE_APPLICATION_RECEIVE)<{\n application: ApplicationModel | undefined;\n saveType: SaveType;\n saveStep?: ApplicationStep;\n }>(),\n requestPartialSaveApplication: createStandardAction(APP_SAVE_APPLICATION_REQUEST)<{\n application: ApplicationModel;\n storage: ReturnType;\n }>(),\n receivePartialSaveApplication: createStandardAction(APP_SAVE_APPLICATION_RECEIVE)<{\n application: ApplicationModel;\n }>(),\n requestCreateUser: createStandardAction(APP_CREATE_USER_REQUEST)<{ application: ApplicationModel }>(),\n receiveCreateUser: createStandardAction(APP_CREATE_USER_RECEIVE)>(),\n requestUploadDocuments: createStandardAction(APP_UPLOAD_FILES_REQUEST)<{\n documents: File[];\n uploadKey: UploadKey;\n tag: UploadDocumentTag;\n }>(),\n receiveUploadDocument: createStandardAction(APP_UPLOAD_FILE_RECEIVE)<\n ApiResponse<{ document: UploadedDocument; uploadKey: UploadKey }>\n >(),\n removeUploadDocument: createStandardAction(APP_UPLOAD_FILE_REMOVE)<{\n document: UploadedDocument;\n index: number;\n uploadKey: UploadKey;\n }>(),\n requestCreateAccount: createStandardAction(APP_CREATE_ACCOUNT_REQUEST)<{ application: ApplicationModel }>(),\n receiveCreateAccount: createStandardAction(APP_CREATE_ACCOUNT_RECEIVE)>(),\n requestDuplicateAccountCheck: createStandardAction(APP_DUPLICATE_ACCOUNT_CHECK_REQUEST)<\n DuplicateAccountCheckRequest\n >(),\n receiveDuplicateAccountCheck: createStandardAction(APP_DUPLICATE_ACCOUNT_CHECK_RECEIVE)<\n ApiResponse\n >(),\n requestCreatePartialEntityAccount: createStandardAction(APP_CREATE_PARTIAL_ENTITY_REQUEST)<{\n application: ApplicationModel;\n }>(),\n receiveCreatePartialEntityAccount: createStandardAction(APP_CREATE_PARTIAL_ENTITY_RECEIVE)<\n ApiResponse\n >(),\n};\n\nexport const TokenActions = {\n uiTokenExpired: createStandardAction('@uiToken/expired')(),\n};\n\nconst allActions = {\n ...TokenActions,\n ...UiActions,\n ...ApplicationActions,\n};\n\nexport type RootApplicationAction = ActionType;\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport _ from 'lodash';\nimport { AcceptedCountries } from '@tradingblock/types';\nimport { getCleanTranslationKey } from '@tradingblock/components';\nimport {\n AllApplicationSteps,\n ApplicationStep,\n TradeGoalType,\n RiskLevel,\n InvestmentObjectiveType,\n ApplicationType,\n BooleanToggleType,\n RetirementAccountType,\n ApplicationModel,\n AgreementKey,\n EntityAccountType,\n UnsupportedFeatureType,\n MismatchedDataType,\n MismatchedDataRulesForTradeGoalTypes,\n MismatchedDataRules,\n MismatchedDataRuleKey,\n RequiredDataRuleKey,\n RequiredExperienceDataRules,\n RequiredDataRules,\n RequiredDataRulesForTradeGoalTypes,\n ExperienceKey,\n UploadKey,\n UploadDocumentTag,\n MismatchedDataRulesForTradeGoalTypesRetirementAccount,\n AccountHolderModel,\n} from '../types';\nimport {\n getNumberOfSectionsInApplicationStep,\n getAllAgreementKeysForApplication,\n getAllTradeGoalTypesForApplication,\n validateApplication,\n} from './';\n\ndayjs.extend(utc);\n\nexport const getApplicationStepUrl = (step: ApplicationStep | 'summary', siteGrp?: string) => {\n return siteGrp ? `/apply/${step}?grp=${siteGrp}` : `/apply/${step}`;\n};\n\nexport const isPreviouslyTouchedApplicationStep = (\n step: ApplicationStep,\n latestStepTouched: ApplicationStep | undefined\n) => {\n return latestStepTouched && _.indexOf(AllApplicationSteps, step) <= _.indexOf(AllApplicationSteps, latestStepTouched);\n};\n\nexport const canAccessApplicationStep = (step: ApplicationStep, application: ApplicationModel) => {\n // has saved the step\n if (isPreviouslyTouchedApplicationStep(step, application.latestStepSaved)) {\n return true;\n }\n // can always see first step\n if (step === ApplicationStep.SecureAccount) {\n return true;\n }\n // If clearer has already been set by param, allow user to skip over the service level selection step\n if (step === ApplicationStep.AccountType && application.clearer) {\n return true;\n }\n // check if has completed the previous step\n return isPreviouslyTouchedApplicationStep(getPrevApplicationStep(step), application.latestStepCompleted);\n};\n\nexport const isApplicationStepInvalid = (\n step: ApplicationStep,\n application: ApplicationModel | undefined,\n verifyMismatchedData = true,\n siteGrp?: string,\n clearer?: string\n) => {\n // If siteGrp is set to 'mb', ClearerType is automatically set and the user should not be allowed to access the step to change it\n if (\n (application && step === ApplicationStep.ClearerType && siteGrp === 'mb') ||\n (application && step === ApplicationStep.ClearerType && clearer)\n ) {\n return true;\n }\n if (application && canAccessApplicationStep(step, application)) {\n // if on final steps, check errors\n if (isFinalApplicationSteps(step)) {\n // invalid if any mismatched data\n if (verifyMismatchedData && _.some(AllApplicationSteps, s => !!checkForMismatchedDataType(application, s))) {\n return true;\n }\n const errors =\n application &&\n validateApplication(application, step === ApplicationStep.Sign ? [ApplicationStep.Agreements] : []);\n // invalid if previous steps have errors\n return !_.isEmpty(errors);\n }\n // step is valid\n return false;\n }\n return true;\n};\n\nexport const isApplicationComplete = (application: ApplicationModel) => {\n // if final step is valid (no errors or mismatched data), application is complete\n return !isApplicationStepInvalid(ApplicationStep.Sign, application);\n};\n\nexport const getNextApplicationStep = (latestStep: ApplicationStep) => {\n return AllApplicationSteps[_.indexOf(AllApplicationSteps, latestStep) + 1];\n};\n\nexport const getPrevApplicationStep = (latestStep: ApplicationStep) => {\n return AllApplicationSteps[_.indexOf(AllApplicationSteps, latestStep) - 1];\n};\n\nexport const isFinalApplicationSteps = (step: ApplicationStep) => {\n return _.includes([ApplicationStep.Agreements, ApplicationStep.Sign], step);\n};\n\nexport const updateApplication = (\n latestStep: ApplicationStep,\n incrementSection: boolean,\n isStepCompleted: boolean | undefined,\n values: ApplicationModel,\n sectionsVisible: number,\n isPartialEntitySubmission?: boolean\n): ApplicationModel => {\n const numberOfSections = getNumberOfSectionsInApplicationStep(latestStep, values);\n const visibleSections = sectionsVisible || 1;\n const nextStep = getNextApplicationStep(latestStep);\n\n const data = {\n ...values,\n latestStepSaved: values.latestStepSaved || latestStep,\n latestStepVisibleSections: values.latestStepVisibleSections || 1,\n lastSavedOn: dayjs()\n .utc()\n .toDate(),\n };\n\n // set step saved if hasn't been saved yet\n if (!isPreviouslyTouchedApplicationStep(latestStep, data.latestStepSaved)) {\n data.latestStepSaved = latestStep;\n }\n\n // set step save+completed if latest step hasn't be completed yet\n if (isStepCompleted && !isPreviouslyTouchedApplicationStep(latestStep, data.latestStepCompleted)) {\n data.latestStepCompleted = latestStep;\n data.latestStepVisibleSections = 1;\n } else {\n const isFinalSteps = isFinalApplicationSteps(latestStep);\n if ((data.latestStepSaved === latestStep || isFinalSteps) && incrementSection) {\n data.latestStepVisibleSections = visibleSections + (numberOfSections > visibleSections ? 1 : 0);\n }\n if (!nextStep || isFinalSteps) {\n data.latestStepSaved = latestStep || data.latestStepSaved;\n }\n if (isPartialEntitySubmission) {\n data.isPartialEntitySubmission = true;\n }\n }\n\n return data;\n};\n\nconst getUnsupportedFeatureType = (values: ApplicationModel | undefined) => {\n // check for unsupported features\n if (values) {\n if (values.ownerCountry && !_.includes(AcceptedCountries, values.ownerCountry)) {\n return UnsupportedFeatureType.Country;\n }\n // if (\n // _.some(\n // [values.primaryAccountHolder, values.secondaryAccountHolder],\n // a => a && a.disclosures && a.disclosures.irsWithholding === BooleanToggleType.Yes\n // )\n // ) {\n // return UnsupportedFeatureType.IrsWithholding;\n // }\n if (values.accountDisclosures && values.accountDisclosures.entityIssuesBearerShares === BooleanToggleType.Yes) {\n return UnsupportedFeatureType.BearerShares;\n }\n }\n return undefined;\n};\n\nexport const getForcedOffRampUrl = (values: ApplicationModel | undefined) => {\n if (values) {\n const unsupportedFeature = getUnsupportedFeatureType(values);\n // unsupported feature\n if (unsupportedFeature) {\n return `/apply/unsupported/${unsupportedFeature}`;\n }\n // offline PDF (for Coverdell IRA type)\n if (\n values.type === ApplicationType.Individual &&\n values.retirementAccount === BooleanToggleType.Yes &&\n values.retirementAccountType === RetirementAccountType.CoverDell\n ) {\n return '/apply/offline';\n }\n // customer service (if declined an agreement)\n if (\n _.some(\n getAllAgreementKeysForApplication(values),\n (a: AgreementKey) => values.agreements && values.agreements[a] === BooleanToggleType.No\n )\n ) {\n return '/apply/customer-service';\n }\n }\n return undefined;\n};\n\nexport const getTradeGoalsWithDataVerification = (\n values: ApplicationModel | undefined\n): { tradeGoalType: TradeGoalType; verified: boolean }[] => {\n const tradeGoalTypes = getAllTradeGoalTypesForApplication(values);\n return _.map(tradeGoalTypes, tradeGoalType => {\n const mismatchedRules = MismatchedDataRulesForTradeGoalTypes[tradeGoalType];\n const requiredRules = RequiredDataRulesForTradeGoalTypes[tradeGoalType];\n const verified =\n verifyMismatchedDataRules(values, mismatchedRules || {}) && verifyRequiredDataRules(values, requiredRules || {});\n return { tradeGoalType, verified };\n });\n};\n\nexport const getTradeGoalsWithDataVerificationRetirementAccount = (\n values: ApplicationModel | undefined\n): { tradeGoalType: TradeGoalType; verified: boolean }[] => {\n const tradeGoalTypes = getAllTradeGoalTypesForApplication(values);\n return _.map(tradeGoalTypes, tradeGoalType => {\n const mismatchedRules = MismatchedDataRulesForTradeGoalTypesRetirementAccount[tradeGoalType];\n const requiredRules = RequiredDataRulesForTradeGoalTypes[tradeGoalType];\n const verified =\n verifyMismatchedDataRules(values, mismatchedRules || {}) && verifyRequiredDataRules(values, requiredRules || {});\n return { tradeGoalType, verified };\n });\n};\n\nconst verifyMismatchedDataRules = (values: ApplicationModel | undefined, rules: MismatchedDataRules) => {\n const ruleKeys = _.keys(rules);\n return _.every(ruleKeys, (key: MismatchedDataRuleKey) => verifyMismatchedDataRule(values, key, rules[key]));\n};\n\nconst verifyMismatchedDataRule = (\n values: ApplicationModel | undefined,\n key: MismatchedDataRuleKey,\n mismatchedData: string[] | undefined\n) => {\n if (values) {\n return !_.includes(mismatchedData, values[key]);\n }\n return true;\n};\n\nconst verifyRequiredDataRules = (values: ApplicationModel | undefined, rules: RequiredDataRules) => {\n const ruleKeys = _.keys(rules);\n return _.every(ruleKeys, (key: RequiredDataRuleKey) => {\n if (key === 'experience') {\n return verifyRequiredExperienceDataRule(values, key, rules[key]);\n }\n return verifyRequiredDataRule(values, key, rules[key]);\n });\n};\n\nconst verifyRequiredDataRule = (\n values: ApplicationModel | undefined,\n key: keyof Pick,\n requiredData: string | undefined\n) => {\n if (values) {\n return values[key] && (!requiredData || values[key] === requiredData);\n }\n return true;\n};\n\nconst verifyRequiredExperienceDataRule = (\n values: ApplicationModel | undefined,\n key: keyof Pick,\n requiredData: RequiredExperienceDataRules | undefined\n) => {\n if (values && requiredData) {\n const experienceKeys = _.keys(requiredData);\n const experience = values[key] || {};\n return _.every(experienceKeys, (e: ExperienceKey) =>\n _.includes(requiredData[e], _.get(experience, `[${e}].years`))\n );\n }\n return true;\n};\n\nconst getMismatchedDataType = (\n values: ApplicationModel | undefined,\n step: ApplicationStep | undefined\n): MismatchedDataType | undefined => {\n if (step === ApplicationStep.InvestingProfile && values && values.retirementAccount !== 'yes') {\n const tradeGoalsWithVerification = getTradeGoalsWithDataVerification(values);\n // if selected trade goal not verified, return mismatched type\n if (values && _.some(tradeGoalsWithVerification, t => !t.verified && t.tradeGoalType === values.tradeGoalType)) {\n return 'investing-profile';\n }\n } else if (step === ApplicationStep.InvestingProfile && values && values.retirementAccount === 'yes') {\n const tradeGoalsWithVerification = getTradeGoalsWithDataVerificationRetirementAccount(values);\n // if selected trade goal not verified, return mismatched type\n if (values && _.some(tradeGoalsWithVerification, t => !t.verified && t.tradeGoalType === values.tradeGoalType)) {\n return 'investing-profile';\n }\n }\n return undefined;\n};\n\nexport const checkForMismatchedDataType = (\n values: ApplicationModel | undefined,\n step: ApplicationStep | undefined\n): MismatchedDataType | undefined => {\n const type = getMismatchedDataType(values, step);\n // console.1warn('checkForMismatchedDataType :: ', type, step, ' step, application values: ', values);\n\n // only return mismatched data type if not already confirmed\n if (type && !_.includes(values && values.confirmedMismatchedDataTypes, type)) {\n return type;\n }\n\n return undefined;\n};\n\nexport const getRiskLevelForTradeGoalType = (type: TradeGoalType) => {\n switch (type) {\n case TradeGoalType.StocksBonds:\n return RiskLevel.None;\n case TradeGoalType.AllAbovePlusCallsPuts:\n return RiskLevel.VeryLow;\n case TradeGoalType.AllAbovePlusOptionSpreads:\n return RiskLevel.Low;\n case TradeGoalType.AllAbovePlusPutWriting:\n return RiskLevel.Moderate;\n case TradeGoalType.AllAbovePlusAllOptionStrategies:\n return RiskLevel.High;\n default:\n throw new Error('Unknown TradeGoalType: ' + type);\n }\n};\n\nexport const getRiskLevelForInvestmentObjectiveType = (type: InvestmentObjectiveType) => {\n switch (type) {\n case InvestmentObjectiveType.CapitalPreservation:\n case InvestmentObjectiveType.Income:\n case InvestmentObjectiveType.Growth:\n case InvestmentObjectiveType.GrowthAndIncome:\n return RiskLevel.Moderate;\n case InvestmentObjectiveType.Speculation:\n return RiskLevel.High;\n default:\n throw new Error('Unknown InvestmentObjectiveType: ' + type);\n }\n};\n\nexport const getOwnerNamesForSignStep = (application: Partial | undefined) => {\n // Helper function to format account holder name with type guard\n const formatName = (accountHolder: AccountHolderModel | null | undefined): string => {\n if (!accountHolder) return ''; // Handle null or undefined account holder\n const { firstName = '', middleInitial = '', lastName = '', suffix = '' } = accountHolder;\n return [firstName, middleInitial, lastName, suffix].filter(Boolean).join(' ');\n };\n\n // Function to get account holders based on application type\n const getAccountHolders = (): (AccountHolderModel | undefined)[] => {\n if (application && application.type === 'Ugma') {\n return [application.primaryAccountHolder].map(holder => holder || undefined);\n } else {\n return [application && application.primaryAccountHolder, application && application.secondaryAccountHolder].map(\n holder => holder || undefined\n );\n }\n };\n\n // Map and filter account holders to formatted names\n return getAccountHolders()\n .map(formatName)\n .filter(name => name); // Remove any empty names\n};\nexport const getUploadDocumentTagForUploadKey = (key: UploadKey): UploadDocumentTag => {\n switch (key) {\n case 'articlesOfIncorporation':\n case 'articlesOfOrganization':\n case 'partnershipAgreement':\n case 'trusteeCertification':\n return 'AffiliatedApproval'; // ?\n case 'photoId':\n case 'socialSecurity':\n case 'visa':\n return 'IdDocument';\n default:\n throw new Error('Unknown UploadKey: ' + key);\n }\n};\n\nexport const getErrorData = (\n key: string,\n prefixes: { [key: string]: JSX.Element },\n defaults?: { [key: string]: JSX.Element }\n) => {\n let data = { ...(defaults || {}) };\n if (prefixes && prefixes[key]) {\n data = { ...data, prefix: prefixes[key] };\n }\n if (!_.isEmpty(data)) {\n return data;\n }\n const match = /^(signedNames)\\[?(\\d+)?\\]?$/.exec(key);\n if (match) {\n return { number: _.parseInt(match[2]) + 1 };\n }\n return undefined;\n};\n\ntype DefaultFieldType = 'address' | 'dateOfBirth' | 'phones' | 'ssn';\n\nconst getDefaultFieldMatch = (field: string, type: DefaultFieldType) => {\n const match = /^(.+?)(\\.)?(address|dateOfBirth|phones|ssn)(?:\\[\\d+\\])?(?:\\.(\\w+))?$/i.exec(field);\n return match && match[3].toLowerCase() === type ? match : undefined;\n};\n\nconst getDefaultField = (field: string, type: DefaultFieldType) => {\n const match = getDefaultFieldMatch(field, type);\n if (match) {\n return match[4];\n }\n return undefined;\n};\n\nconst getDefaultFieldType = (field: string, type: DefaultFieldType) => {\n const match = getDefaultFieldMatch(field, type);\n if (match) {\n const key = (match[1] || '') + (match[2] || '') + (!match[1] || !match[2] ? match[3] : '');\n return getCleanTranslationKey(key);\n }\n return undefined;\n};\n\nconst getAccountHolderOrDefaultField = (field: string) => {\n return field.replace(/(primaryAccountHolder|secondaryAccountHolder)/, 'accountHolders');\n};\n\nexport const getPrefixTextPropsForField = (field: string, application: ApplicationModel | undefined) => {\n const isPersonalTrust = application && application.entityAccountType === EntityAccountType.PersonalTrust;\n const beneficiaryStepFields = ['beneficiaries', 'ownersOfficers', 'trustedContact'];\n\n const addressType = getDefaultFieldType(field, 'address');\n if (addressType) {\n return {\n id: `${getAccountHolderOrDefaultField(addressType)}.${isPersonalTrust ? 'trust' : 'label'}`,\n page: _.includes(beneficiaryStepFields, addressType)\n ? ApplicationStep.Beneficiaries\n : ApplicationStep.AccountInformation,\n };\n }\n const dobType = getDefaultFieldType(field, 'dateOfBirth');\n if (dobType) {\n return {\n id: `${dobType}.label`,\n page: _.includes(beneficiaryStepFields, dobType)\n ? ApplicationStep.Beneficiaries\n : ApplicationStep.AccountInformation,\n };\n }\n const phoneType = getDefaultFieldType(field, 'phones');\n if (phoneType) {\n return {\n id: `${phoneType}.label`,\n page: _.includes(beneficiaryStepFields, phoneType)\n ? ApplicationStep.Beneficiaries\n : ApplicationStep.AccountInformation,\n };\n }\n const ssnType = getDefaultFieldType(field, 'ssn');\n if (ssnType) {\n return {\n id: `${ssnType}.label`,\n page: _.includes(beneficiaryStepFields, ssnType)\n ? ApplicationStep.Beneficiaries\n : ApplicationStep.AccountInformation,\n };\n }\n if (field === 'entity.entityName' || field === 'entity.entityTaxId') {\n return {\n id: `entity.${isPersonalTrust ? 'trust' : 'defaults'}`,\n page: ApplicationStep.AccountInformation,\n };\n }\n // console.warn('getPrefixTextPropsForField :: field', field);\n return undefined;\n};\n\nexport const getITINTextPropsForField = (field: string) => {\n const ssnType = getDefaultFieldType(field, 'ssn');\n if (ssnType) {\n return {\n id: `itin.label`,\n page: 'defaults',\n };\n }\n return undefined;\n};\n\nexport const getErrorKeyForField = (field: string, error: string) => {\n const defaultFieldTypes: DefaultFieldType[] = ['address', 'dateOfBirth', 'phones', 'ssn'];\n const defaultFieldType = _.find(defaultFieldTypes, t => !!getDefaultFieldType(field, t));\n if (defaultFieldType) {\n const defaultField = getDefaultField(field, defaultFieldType);\n return `defaults.${defaultFieldType}.${defaultField || error}`;\n }\n return `${getAccountHolderOrDefaultField(field)}.${error}`;\n};\n\n// create a map of the affiliates/heardAboutUs values that are currently available for auto-setting via parameters\n// can add additional affiliates here as needed\nexport const getAffiliateHeardAboutUs = (affiliate: string) => {\n const autoSetHeardAboutUs = new Map();\n autoSetHeardAboutUs.set('SPRH', {\n heardAboutId: '30',\n description: 'SpreadHunter',\n repId: 268,\n needsApiAgreement: false,\n officeCodes: {\n apex: '3OC',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('POAR', {\n heardAboutId: '35',\n description: 'Portfolio Armor',\n repId: 333,\n needsApiAgreement: false,\n officeCodes: {\n apex: '3OC',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('NBS', {\n heardAboutId: '18',\n description: 'Newport Brokerage Services (JO1)',\n repId: '159',\n needsApiAgreement: false,\n officeCodes: {\n apex: '3OD',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('ML1', {\n heardAboutId: '18',\n description: 'Michael Lavelle (ML1)',\n repId: '157',\n needsApiAgreement: false,\n officeCodes: {\n apex: '3OD',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('MN1', {\n heardAboutId: '18',\n description: 'MLN Investments (MN1)',\n repId: '202',\n needsApiAgreement: false,\n officeCodes: {\n apex: '3OD',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('INT', {\n heardAboutId: '31',\n description: 'Interactive Trader',\n needsApiAgreement: true,\n repId: '275',\n officeCodes: {\n apex: '3OC',\n rqd: 'TBC',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('TRSP', {\n heardAboutId: '24',\n description: 'Tradespoon',\n needsApiAgreement: false,\n repId: '18',\n officeCodes: {\n apex: '3OC',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('CAMCA', {\n heardAboutId: '34',\n description: 'Cambria Capital',\n });\n autoSetHeardAboutUs.set('MIPO', {\n heardAboutId: '34',\n description: 'Cambria Capital',\n needsApiAgreement: false,\n repId: '304',\n officeCodes: {\n apex: '3OG',\n },\n serviceLevel: 'Skip',\n });\n autoSetHeardAboutUs.set('TT', {\n heardAboutId: '36',\n description: 'Trade Tool',\n needsApiAgreement: true,\n repId: '275',\n officeCodes: {\n apex: '3OC',\n rqd: 'TBC',\n },\n serviceLevel: 'ZeroOrFull',\n });\n\n if (autoSetHeardAboutUs.has(affiliate)) {\n return autoSetHeardAboutUs.get(affiliate);\n }\n};\n","import _ from 'lodash';\nconst isTruthyValue = (value: string | undefined) =>\n value && ['1', 'true', 'True', 'TRUE', 'yes', true].includes(value) ? true : false;\nexport const config = {\n userPoolId: process.env.REACT_APP_USER_POOL_ID, // no longer used\n userPoolClientId: process.env.REACT_APP_USER_POOL_CLIENT_ID, // no longer used\n dataUrl: process.env.REACT_APP_DATA_URL,\n authRedirect: process.env.REACT_APP_APPLICATION_AUTH_REDIRECT,\n loginUrl: process.env.REACT_APP_LOGIN_URL,\n tradingApi: process.env.REACT_APP_TRADING_API_URL,\n dashboardUrl: process.env.REACT_APP_DASHBOARD_URL,\n gaUaTrackingCode: process.env.REACT_APP_GA_UA_TRACKING_CODE_APPLICATION || '',\n ga4TrackingCode: process.env.REACT_APP_GA_TRACKING_ID || '',\n ga4VTTrackingCode: process.env.REACT_APP_VT_GA_TRACKING_ID || '',\n isProduction: process.env.REACT_APP_ENVIRONMENT === 'production',\n isVirtual: isTruthyValue(process.env.REACT_APP_IS_VIRTUAL) as boolean,\n publicDir: process.env.TB_PUBLIC_DIR as string,\n subdirectory: (process.env.REACT_APP_TB_SUBDIRECTORY as string)\n ? (process.env.REACT_APP_TB_SUBDIRECTORY as string)\n : '',\n uspsId: process.env.REACT_APP_USPS_ID as string,\n uspsSecret: process.env.REACT_APP_USPS_SECRET as string,\n uspsBaseUrl: process.env.REACT_APP_USPS_BASE_URL as string,\n};\ntype EnvConfigType = typeof config;\nexport default config;\n","import _ from 'lodash';\nimport dayjs from 'dayjs';\nimport { isFieldValueFilled } from '@tradingblock/components';\nimport {\n AllExperienceKeys,\n ApplicationStep,\n BooleanToggleType,\n ApplicationType,\n FlexibilityType,\n DateModel,\n PhoneModel,\n ApplicationModel,\n TradingBlockAccountModel,\n EntityAccountType,\n RetirementAccountType,\n AllTradeGoalTypes,\n TradeGoalType,\n UploadKey,\n VisaType,\n AllExperienceYearTypes,\n ExperienceYearType,\n JointAccountType,\n ClearerType,\n} from '../types';\nimport { isPreviouslyTouchedApplicationStep } from '.';\nimport { Country, TradeAuthorizationType } from '@tradingblock/types';\n\nexport const isDateFilled = (value: DateModel | null | undefined) => {\n return (\n !!value && (isFieldValueFilled(value.month) || isFieldValueFilled(value.day) || isFieldValueFilled(value.year))\n );\n};\n\nexport const isPhoneFilled = (value: PhoneModel | null | undefined) => {\n return !!value && (isFieldValueFilled(value.type) || isFieldValueFilled(value.phoneNumber));\n};\n\nexport const isAccountFilled = (value: TradingBlockAccountModel | null | undefined) => {\n return !!value && (isFieldValueFilled(value.accountNumber) || isFieldValueFilled(value.accountName));\n};\n\nexport const isNonZeroYear = (value: string | undefined) => {\n if (value && _.includes(AllExperienceYearTypes, value)) {\n return value !== ExperienceYearType.Zero;\n }\n return !!value && _.parseInt(value) > 0;\n};\n\nexport const getDatePartOptions = (part: keyof DateModel, forPastDates?: boolean) => {\n const min = part === 'year' ? (forPastDates ? 1900 : dayjs().year()) : 1;\n const max = part === 'year' ? (forPastDates ? dayjs().year() : 2030) : part === 'day' ? 31 : 12;\n const options = _.map(_.range(min, max + 1), v => v);\n if (part === 'year' && forPastDates) {\n return _.reverse(options);\n }\n return options;\n};\n\nexport const getNumberOfApplicationInformationEntitySections = (application: ApplicationModel | undefined) => {\n if (application && application.type === ApplicationType.Entity) {\n return application.entityAccountType !== EntityAccountType.PersonalTrust ? 2 : 1;\n }\n return 0;\n};\n\nexport const getNumberOfAgreementDisclosureSections = (application: ApplicationModel | undefined) => {\n return application && (application.type === ApplicationType.Joint || application.type === ApplicationType.UGMA)\n ? 2\n : 1;\n};\n\nexport const getNumberOfSectionsInApplicationStep = (\n step: ApplicationStep,\n application: ApplicationModel | undefined\n) => {\n switch (step) {\n case ApplicationStep.SecureAccount:\n case ApplicationStep.InvestingProfile:\n return 2;\n case ApplicationStep.AccountInformation:\n const entitySections = getNumberOfApplicationInformationEntitySections(application);\n const jointOwnerSections = application && application.type === ApplicationType.Joint ? 2 : 0;\n const ugmaOwnerSections = application && application.type === ApplicationType.UGMA ? 2 : 0;\n return 2 + entitySections + jointOwnerSections + ugmaOwnerSections;\n case ApplicationStep.Agreements:\n const jointOwnerSection = application && application.type === ApplicationType.Joint ? 1 : 0;\n return 3 + jointOwnerSection;\n default:\n return 1;\n }\n};\n\nexport const getVisibleSectionsForApplicationStep = (latestStep: ApplicationStep, application: ApplicationModel) => {\n // if step completed, use total number of sections\n if (isPreviouslyTouchedApplicationStep(latestStep, application.latestStepCompleted)) {\n return getNumberOfSectionsInApplicationStep(latestStep, application);\n }\n // if step is last saved, use last number of visible sections\n if (application.latestStepSaved === latestStep) {\n return application.latestStepVisibleSections;\n }\n return undefined;\n};\n\nexport const getDateFromModel = (date: DateModel | undefined) => {\n if (date && date.day && date.month && date.year) {\n return dayjs(\n `${date.year}-${_.toNumber(date.month) < 10 ? '0' : ''}${date.month}-${_.toNumber(date.day) < 10 ? '0' : ''}${\n date.day\n }`\n );\n }\n return undefined;\n};\n\nexport const getAllExperienceKeysForApplication = (application: ApplicationModel | undefined) => {\n return _.filter(\n AllExperienceKeys,\n exp => exp !== 'margins' || !application || application.flexibilityType !== FlexibilityType.CashOnly\n );\n};\n\nexport const getAllTradeGoalTypesForApplication = (application: ApplicationModel | undefined) => {\n return _.filter(\n AllTradeGoalTypes,\n t =>\n application !== undefined && \n (\n ( \n application.retirementAccount === BooleanToggleType.Yes &&\n t !== TradeGoalType.AllAbovePlusAllOptionStrategies\n ) ||\n (\n application.type === ApplicationType.UGMA && \n t !== TradeGoalType.AllAbovePlusAllOptionStrategies &&\n t !== TradeGoalType.AllAbovePlusPutWriting\n ) || (\n application.type !== ApplicationType.UGMA &&\n application.retirementAccount !== BooleanToggleType.Yes\n )\n )\n );\n};\n\nexport const getAllAgreementKeysForApplication = (\n application: ApplicationModel | undefined,\n needsApiAgreement?: boolean\n) => {\n const isIra = application && application.retirementAccount === BooleanToggleType.Yes;\n const isEntity = application && application.type === ApplicationType.Entity;\n const isMargin = application && application.flexibilityType === FlexibilityType.Margin;\n // only first trade goal (stocks/ETFs/mutual funds/bonds) doesn't include options\n const isOptionsInTradeGoals =\n application && application.tradeGoalType && application.tradeGoalType !== TradeGoalType.StocksBonds;\n\n const allAgreementKeys: string[] = [\n 'clientRelationshipSummary',\n 'electronicConsent',\n 'onlineServices',\n 'exchangeDataAgreement',\n ];\n\n if (application && application.clearer === ClearerType.Apex) {\n allAgreementKeys.push('customerAndPrivacyPolicy');\n if (application.tradingAuthorization) {\n // if trading authorization type is set to full, then we need to show the full agreement\n if (application.tradingAuthorization.type === TradeAuthorizationType.Full) {\n allAgreementKeys.push('fullTradingAuthorization');\n }\n // if trading authorization type is set to limited or simple, then we need to show the limited agreement\n if (application.tradingAuthorization.type === TradeAuthorizationType.Limited) {\n allAgreementKeys.push('limitedTradingAuthorization');\n }\n }\n } else if (application && application.clearer === ClearerType.RQD) {\n allAgreementKeys.push('rqdCustomerAgreement');\n allAgreementKeys.push('rqdExecutionDisclosures');\n allAgreementKeys.push('rqdClearingDisclosures');\n allAgreementKeys.push('rqdCustomerInformationBrochure');\n allAgreementKeys.push('rqdPrivacyPolicy');\n allAgreementKeys.push('rqdPrivacyNotice');\n allAgreementKeys.push('rqdResponsibilitiesOfIbAndCarryingBroker');\n allAgreementKeys.push('rqdSpecialStatementForUncoveredOptionWriters');\n\n if (application && application.tradingAuthorization) {\n if (application.tradingAuthorization.type === TradeAuthorizationType.Full) {\n allAgreementKeys.push('rqdPowerOfAttorney');\n }\n if (application.tradingAuthorization.type === TradeAuthorizationType.Limited) {\n allAgreementKeys.push('rqdLimitedTradingAuthorization');\n }\n }\n }\n\n if (application && isIra) {\n if (application.clearer === ClearerType.RQD) {\n allAgreementKeys.push('rqdIRADisclosure');\n } else {\n if (application.retirementAccountType === RetirementAccountType.Roth) {\n allAgreementKeys.push('iRARothAdoption');\n } else if (application.retirementAccountType === RetirementAccountType.Simple) {\n allAgreementKeys.push('iRASimpleAdoption');\n } else if (application.retirementAccountType === RetirementAccountType.CoverDell) {\n allAgreementKeys.push('iRACoverDellAdoption');\n } else if (application.retirementAccountType === RetirementAccountType.RothBeneficiary) {\n allAgreementKeys.push('iRARothAdoption');\n } else {\n // SEP agreement applies to all other IRA types\n allAgreementKeys.push('iRASepAdoption');\n }\n }\n }\n if (isOptionsInTradeGoals) {\n if (application && application.clearer === ClearerType.Apex) {\n allAgreementKeys.push('option');\n } else if (application && application.clearer === ClearerType.RQD) {\n allAgreementKeys.push('rqdOption');\n }\n allAgreementKeys.push('riskDisclosure');\n }\n if (isMargin) {\n if (application && application.clearer === ClearerType.Apex) {\n if (isIra) {\n allAgreementKeys.push('limitedMargin');\n } else {\n allAgreementKeys.push('margin');\n }\n } else if (application && application.clearer === ClearerType.RQD) {\n if (isIra) {\n allAgreementKeys.push('rqdLimitedMargin');\n } else {\n allAgreementKeys.push('rqdMargin');\n }\n }\n }\n if (isEntity) {\n if (isOptionsInTradeGoals) {\n allAgreementKeys.push('entityOption');\n }\n if (isMargin) {\n allAgreementKeys.push('entityMargin');\n }\n }\n if (\n application &&\n isEntity &&\n _.includes([EntityAccountType.LlcCCorporation, EntityAccountType.LlcSCorporation], application.entityAccountType)\n ) {\n allAgreementKeys.push('llcAccount');\n }\n if (\n application &&\n isEntity &&\n _.includes([EntityAccountType.CCorporation, EntityAccountType.SCorporation], application.entityAccountType)\n ) {\n if (isMargin) {\n allAgreementKeys.push('corporateMargin');\n } else {\n allAgreementKeys.push('corporateCash');\n }\n }\n if (application && application.type === ApplicationType.Joint && application.jointAccountType === 'Community') {\n allAgreementKeys.push('jointCommunity');\n }\n if (application && application.type === ApplicationType.Joint && application.jointAccountType === 'Survivor') {\n allAgreementKeys.push('jointSurvivor');\n }\n if (application && application.type === ApplicationType.Joint && application.jointAccountType === 'TenantsInCommon') {\n allAgreementKeys.push('jointTenantsInCommon');\n }\n if (\n application &&\n application.type === ApplicationType.Joint &&\n application.jointAccountType === 'TenantsInEntirety'\n ) {\n allAgreementKeys.push('jointTenantsInEntirety');\n }\n if (application && needsApiAgreement) {\n allAgreementKeys.push('apiAgreement');\n }\n\n // if the clearer is Apex, then move the customer and privacy policy to the second item in the array\n if (application && application.clearer === ClearerType.Apex) {\n const customerAndPrivacyPolicyIndex = allAgreementKeys.indexOf('customerAndPrivacyPolicy');\n if (customerAndPrivacyPolicyIndex > -1) {\n allAgreementKeys.splice(customerAndPrivacyPolicyIndex, 1);\n allAgreementKeys.splice(1, 0, 'customerAndPrivacyPolicy');\n }\n }\n\n return allAgreementKeys;\n};\n\nexport const getAllUploadKeysForApplication = (application: ApplicationModel | undefined) => {\n const allUploadKeys: UploadKey[] = ['photoId', 'socialSecurity'];\n\n if (\n application &&\n application.primaryAccountHolder &&\n application.primaryAccountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica\n ) {\n allUploadKeys.push('visa');\n if (_.includes([VisaType.E1, VisaType.E2, VisaType.E3], application.primaryAccountHolder.visaType)) {\n // not sure if this will be needed...\n // allUploadKeys.push('proofOfEmployment');\n }\n }\n\n if (application && application.type === ApplicationType.Entity) {\n if (_.includes([EntityAccountType.CCorporation, EntityAccountType.SCorporation], application.entityAccountType)) {\n allUploadKeys.push('articlesOfIncorporation');\n } else if (\n _.includes([EntityAccountType.LlcCCorporation, EntityAccountType.LlcSCorporation], application.entityAccountType)\n ) {\n allUploadKeys.push('articlesOfOrganization');\n } else if (application.entityAccountType === EntityAccountType.Partnership) {\n allUploadKeys.push('partnershipAgreement');\n } else if (application.entityAccountType === EntityAccountType.PersonalTrust) {\n allUploadKeys.push('trusteeCertification');\n }\n }\n\n // return allUploadKeys;\n\n // this feature may or may not be needed in some cases... for now, if any uploads are needed, those are handled after application submitted\n return [];\n};\n\nexport const showBeneficiariesFields = (application: ApplicationModel | undefined) => {\n // show beneficiaries for any IRA type account\n return application && application.retirementAccount === BooleanToggleType.Yes;\n};\n\nexport const showOwnersOfficersFields = (application: ApplicationModel | undefined) => {\n // show owners/officers for non-Trust Entities\n return (\n application &&\n application.type === ApplicationType.Entity &&\n application.entityAccountType !== EntityAccountType.PersonalTrust\n );\n};\n\nexport const showTrustedContactFields = (application: ApplicationModel | undefined) => {\n // show trusted contact if non-Entity type OR if Trust\n return (\n application &&\n (application.type !== ApplicationType.Entity || application.entityAccountType === EntityAccountType.PersonalTrust)\n );\n};\n\nexport const showTenantsInCommonInterestPercentFields = (application: ApplicationModel | undefined) => {\n // show interest percent for tenants in common joint account\n return application && application.jointAccountType === JointAccountType.TenantsInCommon;\n};\n","import _ from 'lodash';\nimport { Country, DeliveryType, HeardAboutInfo, MarketDataEntitlementTypes } from '@tradingblock/types';\nimport {\n AllExperienceKeys,\n ApplicationStep,\n BooleanToggleType,\n EmploymentType,\n PersonType,\n ApplicationType,\n FlexibilityType,\n ApplicationModel,\n AccountHolderDisclosureContingentFields,\n ExperienceKey,\n EntityAccountType,\n RetirementAccountType,\n AccountDisclosureKey,\n AccountHolderDisclosureKey,\n AccountDisclosureContingentFields,\n JointAccountType,\n AccountDisclosureContingentFieldsDefaults,\n ExperienceYearType,\n ExperienceModel,\n AccountHolderField,\n DefaultAccountHolder,\n FieldsToStrip,\n IncomeRangeType,\n MonetaryRangeType,\n TradeGoalType,\n InvestmentObjectiveType,\n AllApplicationSteps,\n UploadModel,\n UploadKey,\n DefaultPersonDetails,\n AccountHolderModel,\n ForeignDueDiligenceModel,\n DateModel,\n PersonDetailsModel,\n OwnerEntityModel,\n BeneficiaryModel,\n RiskToleranceType,\n ServiceProfileKey,\n DefaultSecondaryAccountHolder,\n DefaultUgmaAccountHolder,\n ClearerType,\n ProSubscriptionType,\n DefaultTradingAuthorization,\n BeneficiaryType,\n} from '../types';\nimport { getNextApplicationStep } from './Application';\nimport { isNonZeroYear } from './Form';\n\nexport const copyAccountHolderPrimaryAddresses = (values: ApplicationModel) => {\n return {\n ...values,\n secondaryAccountHolder: {\n ...DefaultSecondaryAccountHolder,\n ...values.secondaryAccountHolder,\n address: values.primaryAccountHolder && values.primaryAccountHolder.address,\n differentMailingAddress: values.primaryAccountHolder && values.primaryAccountHolder.differentMailingAddress,\n mailingAddress: values.primaryAccountHolder && values.primaryAccountHolder.mailingAddress,\n },\n };\n};\n\nconst resetApplicationLastStep = (values: ApplicationModel, step = ApplicationStep.AccountType) => {\n const nextStep = getNextApplicationStep(step);\n // only reset step if already completed step\n const resetStep =\n values.latestStepCompleted &&\n _.indexOf(AllApplicationSteps, values.latestStepCompleted) >= _.indexOf(AllApplicationSteps, step);\n // resetting all data entered on agreements/disclosures step\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n latestStepCompleted: resetStep ? step : values.latestStepCompleted,\n latestStepSaved: resetStep ? nextStep : values.latestStepSaved,\n latestStepVisibleSections: resetStep ? 1 : values.latestStepVisibleSections,\n tradeAuthorization: null,\n tradeAuthorizationAgentName: null,\n primaryAccountHolder: {\n ...values.primaryAccountHolder,\n disclosures: {\n govOfficial: null,\n irsWithholding: null,\n stakeholder: null,\n industryEmployed: null,\n },\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n },\n secondaryAccountHolder: values.secondaryAccountHolder && {\n ...values.secondaryAccountHolder,\n disclosuresGovOfficialImmediateFamily: '',\n disclosuresGovOfficialPoliticalOrg: '',\n disclosuresIndustryEmployedFirmName: '',\n disclosuresStakeholderTickerSymbol: '',\n },\n accountDisclosures: {\n foreignBank: null,\n foreignShellBank: null,\n foreignFinancialInstitution: null,\n proprietarySecuritiesAccount: null,\n entityIssuesBearerShares: null,\n entityNegativeNews: null,\n entityPublicOfficials: null,\n entityServicesForeignShellBanks: null,\n },\n serviceProfile: {\n issuerDirectCommunication: null,\n },\n disclosuresForeignBankUSAgent: '',\n disclosuresEntityNegativeNewsInfo: '',\n disclosuresEntityPublicOfficials: [],\n agreeToElectronicConsent: null,\n agreements: {\n corporateCash: null,\n corporateMargin: null,\n customerAndPrivacyPolicy: null,\n entityMargin: null,\n entityOption: null,\n iRARothAdoption: null,\n iRASepAdoption: null,\n iRASimpleAdoption: null,\n iRACoverDellAdoption: null,\n jointCommunity: null,\n jointSurvivor: null,\n jointTenantsInCommon: null,\n jointTenantsInEntirety: null,\n limitedMargin: null,\n llcAccount: null,\n margin: null,\n option: null,\n riskDisclosure: null,\n electronicConsent: null,\n onlineServices: null,\n exchangeDataAgreement: null,\n clientRelationshipSummary: null,\n apiAgreement: null,\n rqdCustomerAgreement: null,\n rqdOption: null,\n rqdMargin: null,\n rqdLimitedMargin: null,\n rqdExecutionDisclosures: null,\n rqdClearingDisclosures: null,\n rqdCustomerInformationBrochure: null,\n rqdPrivacyPolicy: null,\n rqdPrivacyNotice: null,\n rqdResponsibilitiesOfIbAndCarryingBroker: null,\n rqdSpecialStatementForUncoveredOptionWriters: null,\n rqdPowerOfAttorney: null,\n rqdLimitedTradingAuthorization: null,\n },\n signedNames: [],\n uploadedDocuments: null,\n };\n};\n\nconst resetConfirmedMismatchedDataTypes = (values: ApplicationModel) => {\n return {\n ...values,\n confirmedMismatchedDataTypes: null,\n };\n};\n\nexport const updateFieldsDependentOnOwnerCountry = (values: ApplicationModel, ownerCountry: Country) => {\n values.primaryAccountHolder.address.country = ownerCountry;\n values.primaryAccountHolder.citizenshipCountry = ownerCountry;\n values.primaryAccountHolder.birthCountry = ownerCountry;\n return {\n ...resetApplicationLastStep(values),\n ownerCountry,\n retirementAccount: ownerCountry !== Country.UnitedStatesOfAmerica ? BooleanToggleType.No : values.retirementAccount,\n retirementAccountType: ownerCountry !== Country.UnitedStatesOfAmerica ? null : values.retirementAccountType,\n jointCommunityPropertyState: null,\n };\n};\n\nexport const updateFieldsDependentOnApplicationType = (\n values: ApplicationModel,\n type: ApplicationType\n): ApplicationModel => {\n return {\n ...resetApplicationLastStep(values),\n type,\n ...(type !== ApplicationType.Individual && values.clearer !== ClearerType.RQD\n ? {\n retirementAccount: null,\n retirementAccountType: null,\n beneficiaries: null,\n }\n : {}),\n ...(type !== ApplicationType.Joint\n ? {\n jointAccountType: null,\n secondaryAccountHolder: null,\n jointCommunityPropertyState: null,\n }\n : {\n secondaryAccountHolder: values.secondaryAccountHolder || DefaultSecondaryAccountHolder,\n }),\n ...(type === ApplicationType.UGMA\n ? {\n secondaryAccountHolder: values.secondaryAccountHolder || DefaultUgmaAccountHolder,\n }\n : {}),\n flexibilityType: type === ApplicationType.UGMA ? FlexibilityType.CashOnly : values.flexibilityType,\n ...(type !== ApplicationType.Entity\n ? {\n entity: null,\n entityAccountType: null,\n ownersOfficers: null,\n }\n : {}),\n primaryAccountHolder: {\n ...values.primaryAccountHolder,\n ...(type === ApplicationType.Entity\n ? {\n dependents: '',\n maritalStatus: '',\n visaType: null,\n visaExpirationDate: null,\n }\n : {}),\n ...(type === ApplicationType.Entity && values.entityAccountType !== EntityAccountType.PersonalTrust\n ? {\n employmentType: '',\n employer: null,\n jobPosition: null,\n yearsEmployed: null,\n employerAddress: {\n address1: '',\n address2: '',\n country: '',\n city: '',\n postalCode: null,\n state: null,\n },\n }\n : {}),\n },\n marketData: {\n ...values.marketData,\n ...(type === ApplicationType.Entity\n ? {\n corporationTrading: BooleanToggleType.Yes,\n }\n : {\n corporationTrading: BooleanToggleType.No,\n }),\n },\n };\n};\n\nexport const updateFieldsDependentOnRetirementAccount = (\n values: ApplicationModel,\n retirementAccount: BooleanToggleType\n) => {\n return {\n ...resetApplicationLastStep(values),\n retirementAccount,\n retirementAccountType: retirementAccount === BooleanToggleType.No ? null : values.retirementAccountType,\n beneficiaries: retirementAccount === BooleanToggleType.No ? null : values.beneficiaries,\n };\n};\n\nexport const updateFieldsDependentOnRetirementAccountType = (\n values: ApplicationModel,\n retirementAccountType: RetirementAccountType\n) => {\n if (\n retirementAccountType === RetirementAccountType.Beneficiary ||\n retirementAccountType === RetirementAccountType.RothBeneficiary\n ) {\n return {\n ...resetApplicationLastStep(values),\n retirementAccountType,\n beneficiaryIraDecedentName: '',\n };\n }\n return {\n ...resetApplicationLastStep(values),\n retirementAccountType,\n flexibilityType:\n retirementAccountType === RetirementAccountType.CoverDell ? FlexibilityType.CashOnly : values.flexibilityType,\n };\n};\n\nexport const updateFieldsDependentOnJointAccountType = (\n values: ApplicationModel,\n jointAccountType: JointAccountType\n) => {\n if (jointAccountType === JointAccountType.Community) {\n return {\n ...resetApplicationLastStep(values),\n jointAccountType,\n jointCommunityPropertyState: null,\n };\n } else {\n return {\n ...resetApplicationLastStep(values),\n jointAccountType,\n };\n }\n};\n\nexport const updateFieldsDependentOnEntityType = (values: ApplicationModel, entityAccountType: EntityAccountType) => {\n return {\n ...resetApplicationLastStep(values),\n entityAccountType: entityAccountType,\n };\n};\n\nexport const updateFieldsDependentOnFlexibilityType = (values: ApplicationModel, flexibilityType: FlexibilityType) => {\n return {\n ...resetApplicationLastStep(values),\n flexibilityType,\n };\n};\n\nexport const updateFieldsDependentOnTradeGoalType = (values: ApplicationModel, tradeGoalType: TradeGoalType) => {\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n tradeGoalType,\n };\n};\n\nexport const updateFieldsDependentOnInvestmentObjectiveType = (\n values: ApplicationModel,\n investmentObjectiveType: InvestmentObjectiveType\n) => {\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n investmentObjectiveType,\n characteristics: {\n ...values.characteristics,\n risk:\n investmentObjectiveType === InvestmentObjectiveType.Speculation\n ? RiskToleranceType.High\n : values.investmentObjectiveType === InvestmentObjectiveType.Speculation\n ? ''\n : values.characteristics.risk,\n },\n };\n};\n\nexport const updateFieldsDependentOnExperienceYears = (\n values: ApplicationModel,\n key: ExperienceKey,\n value: ExperienceYearType\n) => {\n const experience = values.experience || null;\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n experience: _.reduce(\n AllExperienceKeys,\n (acc, exp: ExperienceKey) => {\n if (exp === key) {\n return {\n ...acc,\n [key]: {\n years: value,\n tradesPerYear: isNonZeroYear(value)\n ? experience && experience[key] && experience[key].tradesPerYear\n : null,\n },\n };\n }\n return acc;\n },\n (experience || {}) as { [key in ExperienceKey]: ExperienceModel }\n ),\n };\n};\n\nexport const updateFieldsDependentOnAnnualIncome = (values: ApplicationModel, annualIncome: IncomeRangeType) => {\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n annualIncome,\n };\n};\n\nexport const updateFieldsDependentOnTotalNetWorth = (values: ApplicationModel, totalNetWorth: MonetaryRangeType) => {\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n totalNetWorth,\n };\n};\n\nexport const updateFieldsDependentOnLiquidNetWorth = (values: ApplicationModel, liquidNetWorth: MonetaryRangeType) => {\n return {\n ...resetConfirmedMismatchedDataTypes(values),\n liquidNetWorth,\n };\n};\n\nexport const updateFieldsDependentOnDifferentMailingAddress = (\n values: ApplicationModel,\n accountHolderField: AccountHolderField,\n differentMailingAddress: boolean\n) => {\n return {\n ...values,\n [accountHolderField]: {\n ...values[accountHolderField],\n differentMailingAddress,\n ...(differentMailingAddress\n ? {\n mailingAddress: {\n country: '',\n address1: '',\n address2: '',\n city: '',\n postalCode: null,\n state: null,\n },\n }\n : { mailingAddress: null }),\n },\n };\n};\n\nexport const updateFieldsDependentOnCitizen = (\n values: ApplicationModel,\n accountHolderField: AccountHolderField,\n citizen: boolean\n) => {\n const accountHolder = values[accountHolderField] || DefaultAccountHolder;\n return {\n ...values,\n ...(!citizen && accountHolder.address.country !== Country.UnitedStatesOfAmerica\n ? {\n foreignDueDiligence: {\n expectedWithdrawalFrequency: '',\n initialContact: '',\n initialDepositAmount: 0,\n initialDepositType: '',\n primaryBanking: [''],\n referredName: '',\n referredRelationship: '',\n referredToBroker: true,\n },\n }\n : { foreignDueDiligence: null }),\n [accountHolderField]: {\n ...values[accountHolderField],\n citizenshipCountry: citizen ? Country.UnitedStatesOfAmerica : null,\n ...(!citizen\n ? {\n ssn: null,\n visaType: accountHolder.visaType,\n visaExpirationDate: accountHolder.visaExpirationDate,\n }\n : {\n visaType: null,\n visaExpirationDate: null,\n }),\n },\n };\n};\n\nexport const updateFieldsDependentOnSecondaryCitizen = (\n values: ApplicationModel,\n accountHolderField: AccountHolderField,\n citizen: boolean\n) => {\n const accountHolder = values[accountHolderField] || DefaultAccountHolder;\n\n return {\n ...values,\n [accountHolderField]: {\n ...values[accountHolderField],\n citizenshipCountry: citizen ? Country.UnitedStatesOfAmerica : null,\n ...(!citizen\n ? {\n ssn: null,\n visaType: accountHolder.visaType,\n visaExpirationDate: accountHolder.visaExpirationDate,\n }\n : {\n visaType: null,\n visaExpirationDate: null,\n }),\n },\n };\n};\n\nexport const updateFieldsDependentOnEmploymentType = (\n values: ApplicationModel,\n accountHolderField: AccountHolderField,\n employmentType: EmploymentType\n) => {\n const accountHolder = values[accountHolderField] || DefaultAccountHolder;\n return {\n ...values,\n [accountHolderField]: {\n ...values[accountHolderField],\n employmentType,\n jobPosition: employmentType !== EmploymentType.Employed ? null : accountHolder.jobPosition,\n yearsEmployed: employmentType !== EmploymentType.Employed ? null : accountHolder.yearsEmployed,\n employer: employmentType !== EmploymentType.Employed ? null : accountHolder.employer,\n employerAddress: employmentType !== EmploymentType.Employed ? null : accountHolder.employerAddress,\n },\n };\n};\n\nexport const updateFieldsDependentOnEmploymentTypeTradeAuth = (\n values: ApplicationModel,\n employmentType: EmploymentType\n) => {\n return {\n ...values,\n tradingAuthorization: {\n ...values.tradingAuthorization,\n employmentType,\n jobPosition:\n employmentType !== EmploymentType.Employed\n ? null\n : values.tradingAuthorization && values.tradingAuthorization.jobPosition,\n employer:\n employmentType !== EmploymentType.Employed\n ? null\n : values.tradingAuthorization && values.tradingAuthorization.employer,\n },\n };\n};\n\nexport const updateFieldsDependentOnAddTrustedContact = (values: ApplicationModel, addTrustedContact: boolean) => {\n return {\n ...values,\n addTrustedContact,\n trustedContact: addTrustedContact ? DefaultPersonDetails : null,\n };\n};\n\nexport const updateFieldsDependentOnTrustedContactType = (values: ApplicationModel, contactType: PersonType) => {\n return {\n ...values,\n trustedContact: {\n ...values.trustedContact,\n contactType,\n address: {},\n phones: [{}],\n email: '',\n emailConfirm: '',\n },\n };\n};\n\nexport const updateFieldsDependentOnTradeAuthorization = (\n values: ApplicationModel,\n tradeAuthorization: BooleanToggleType\n) => {\n return {\n ...values,\n tradeAuthorization,\n tradingAuthorization: tradeAuthorization === BooleanToggleType.Yes ? DefaultTradingAuthorization : {},\n };\n};\n\nexport const updateFieldsDependentOnAccountDisclosure = (\n values: ApplicationModel,\n key: AccountDisclosureKey,\n value: BooleanToggleType\n) => {\n const contingentFields = AccountDisclosureContingentFields[key] || [];\n return {\n ...values,\n accountDisclosures: {\n ...values.accountDisclosures,\n [key]: value,\n },\n ..._.zipObject(\n contingentFields,\n _.map(contingentFields, f =>\n value === BooleanToggleType.Yes ? values[f] || AccountDisclosureContingentFieldsDefaults[f] : null\n )\n ),\n };\n};\n\nexport const updateFieldsDependentOnAccountHolderDisclosure = (\n values: ApplicationModel,\n accountHolderField: AccountHolderField,\n key: AccountHolderDisclosureKey,\n value: BooleanToggleType\n) => {\n const contingentFields = AccountHolderDisclosureContingentFields[key] || [];\n const accountHolder = values[accountHolderField] || DefaultAccountHolder;\n return {\n ...values,\n [accountHolderField]: {\n ...accountHolder,\n disclosures: {\n ...accountHolder.disclosures,\n [key]: value,\n },\n ..._.zipObject(\n contingentFields,\n _.map(contingentFields, f => (value === BooleanToggleType.Yes ? accountHolder[f] : null))\n ),\n },\n };\n};\n\nconst getDocumentIdsForUploadModel = (model: UploadModel | undefined) => {\n const documentIds = _.filter(_.map(model && model.documents, d => d.id || ''), id => !_.isEmpty(id));\n return !_.isEmpty(documentIds) ? documentIds : null;\n};\n\nexport const getHeardAbout = (heardAbout: HeardAboutInfo[] | undefined, hearAboutUsId: number | string | undefined) => {\n return _.find(heardAbout, h => h.heardAboutId === _.toNumber(hearAboutUsId));\n};\n\nexport const cleanApplicationForStorage = (values: ApplicationModel): ApplicationModel => {\n // don't store sensitive user fields\n return {\n ..._.omit(values, ['userName', 'password', 'passwordConfirm', 'securityChallenges']),\n } as ApplicationModel;\n};\n\nexport const cleanApplicationForSubmission = (\n values: ApplicationModel,\n heardAboutData: HeardAboutInfo[] | undefined\n) => {\n // make sure experience is an empty object\n const experience = values.experience || {};\n const isPrimaryForeign = values.primaryAccountHolder.address.country !== Country.UnitedStatesOfAmerica;\n\n // transform BooleanToggleType in retirementAccount, tradeAuthorization, accountDisclosures, agreements\n const retirementAccount = cleanBooleanToggleType(values.retirementAccount);\n const tradeAuthorization = cleanBooleanToggleType(values.tradeAuthorization);\n const accountDisclosures = cleanBooleanToggleTypes(values.accountDisclosures);\n const agreements = cleanBooleanToggleTypes(values.agreements);\n const marketD = _.omit(values.marketData, 'employmentFunctions');\n const marketData = cleanBooleanToggleTypes(marketD);\n let foreignDueDiligence = values.foreignDueDiligence;\n\n if (!isPrimaryForeign) {\n foreignDueDiligence = null;\n }\n\n // transform heard about data into one object\n const heardAboutInfo = getHeardAbout(heardAboutData, values.hearAboutUsId);\n let officeCode = undefined;\n if (heardAboutInfo) {\n if (heardAboutInfo.officeCodes !== undefined) {\n if (values.clearer === ClearerType.RQD) {\n officeCode = heardAboutInfo.officeCodes['rqd'];\n } else {\n officeCode = heardAboutInfo.officeCodes['apex'];\n }\n } else {\n const repId = _.toNumber(values.repId);\n const reps = heardAboutInfo.representatives;\n if (reps !== undefined) {\n const rep = reps.find(rep => rep.repId === repId);\n if (rep !== undefined) {\n if (values.clearer === ClearerType.RQD) {\n officeCode = rep.officeCodes['rqd'];\n } else {\n officeCode = rep.officeCodes['apex'];\n }\n }\n }\n }\n }\n\n const heardAbout = {\n hearAboutUsId: (heardAboutInfo && heardAboutInfo.heardAboutId) || 0,\n //TODO: When Toby updates new endpoint we reorder the heardAboutInfo and will probably remove this \"clean up\" spot\n officeCode: officeCode,\n repId: _.toNumber(values.repId) || 0,\n };\n\n const tradingAuthorization = {\n ..._.omitBy(values.tradingAuthorization, _.isEmpty),\n dateOfBirth: values.tradingAuthorization && cleanDateModel(values.tradingAuthorization.dateOfBirth),\n disclosures: {\n industryEmployed:\n values.tradingAuthorization &&\n values.tradingAuthorization.disclosures &&\n cleanBooleanToggleType(values.tradingAuthorization.disclosures.industryEmployed),\n stakeholder:\n values.tradingAuthorization &&\n values.tradingAuthorization.disclosures &&\n cleanBooleanToggleType(values.tradingAuthorization.disclosures.stakeholder),\n },\n };\n\n const cleanValues = _.omitBy(values, _.isEmpty);\n\n return {\n ..._.omit(cleanValues, FieldsToStrip.root),\n primaryAccountHolder: cleanAccountHolder(cleanValues.primaryAccountHolder),\n secondaryAccountHolder:\n cleanValues.secondaryAccountHolder && cleanAccountHolder(cleanValues.secondaryAccountHolder),\n entity: cleanValues.entity && cleanOwnerEntity(cleanValues.entity),\n beneficiaries: cleanValues.beneficiaries && _.map(cleanValues.beneficiaries, cleanBeneficiary),\n ownersOfficers: cleanValues.ownersOfficers && _.map(cleanValues.ownersOfficers, cleanPersonDetails),\n experience,\n retirementAccount,\n tradingAuthorization: tradeAuthorization ? tradingAuthorization : undefined,\n accountDisclosures,\n agreements,\n heardAbout,\n marketData: {\n employmentFunctions: values.marketData.employmentFunctions || 'N/A',\n ...marketData,\n },\n marketDataType: values.marketDataType || ProSubscriptionType.Delayed,\n foreignDueDiligence,\n };\n};\n\nconst cleanAccountHolder = (value: AccountHolderModel | null) => {\n // transform person details\n const personDetails = cleanPersonDetails(value);\n // transform DateModel in visaExpirationDate, BooleanToggleType in citizen and disclosures\n\n const accountHolder = {\n ...personDetails,\n visaExpirationDate: value && cleanDateModel(value.visaExpirationDate),\n disclosures: value && cleanBooleanToggleTypes(value.disclosures),\n foreignTaxWithholding:\n personDetails.address.country !== Country.UnitedStatesOfAmerica\n ? {\n taxIdentificationNumber: value && value.foreignTaxWithholding.taxIdentificationNumber,\n letterOfExplanation: value && value.foreignTaxWithholding.letterOfExplanation,\n treatyCountry: value && value.foreignTaxWithholding.treatyCountry,\n foreignTINNotRequiredExplanation: value && value.foreignTaxWithholding.foreignTINNotRequiredExplanation,\n }\n : null,\n ssnSecret: (value && value.ssn === '') || (value && !value.ssn) ? null : value && value.ssn,\n };\n return _.omit(accountHolder, FieldsToStrip.accountHolder);\n};\n\nconst cleanBeneficiary = (value: BeneficiaryModel | null) => {\n // transform person details\n const beneficiary = cleanPersonDetails(value);\n\n if (value && value.beneficiaryType === BeneficiaryType.Trust) {\n return {\n ..._.omit(beneficiary, FieldsToStrip.trustBeneficiary),\n einSecret: value && value.ein,\n };\n }\n // strip values\n return {\n ..._.omit(beneficiary, FieldsToStrip.beneficiary),\n einSecret: value && value.ein,\n };\n};\n\nconst cleanPersonDetails = (value: PersonDetailsModel | null) => {\n // strip values and transform DateModel in dateOfBirth\n // if the middle intial or suffix is a string of spaces or just an empty string, we want to set it to null\n\n return {\n ..._.omit(value, FieldsToStrip.person),\n dateOfBirth: value && cleanDateModel(value.dateOfBirth),\n ssnSecret: value && value.ssn,\n middleInitial:\n value && value.middleInitial && value.middleInitial.trim() !== '' ? value.middleInitial.trim() : null,\n suffix: value && value.suffix && value.suffix.trim() !== '' ? value.suffix.trim() : null,\n };\n};\n\nconst cleanOwnerEntity = (value: OwnerEntityModel | null) => {\n // transform DateModel in trustCreatedDate\n const ownerEntity = {\n ...value,\n trustCreatedDate: value && cleanDateModel(value.trustCreatedDate),\n };\n return _.omit(ownerEntity, FieldsToStrip.entity);\n};\n\nconst cleanBooleanToggleTypes = (\n values: { [key: string]: BooleanToggleType | null | undefined } | null | undefined\n) => {\n return (\n values &&\n _.reduce(\n values,\n (acc: { [key: string]: boolean }, u, key) => {\n return {\n ...acc,\n [key]: cleanBooleanToggleType(u),\n };\n },\n {}\n )\n );\n};\n\nconst cleanBooleanToggleType = (value: BooleanToggleType | boolean | null | undefined) => {\n return value === BooleanToggleType.Yes || value === true ? true : false;\n};\n\nconst cleanDateModel = (value: DateModel | null | undefined) => {\n if (value) {\n return `${cleanDatePart(value.year)}-${cleanDatePart(value.month)}-${cleanDatePart(value.day)}`;\n }\n return null;\n};\n\nconst cleanDatePart = (value: number | undefined) => {\n return value && `${value < 10 ? '0' : ''}${value}`;\n};\n\nexport const cleanEntityApplicaitonForPartialSubmission = async (values: ApplicationModel, howDidYouHear: any) => {\n const howDidYouHearObject = howDidYouHear.filter((item: any) => item.heardAboutId == values.hearAboutUsId);\n const clearer = values.clearer === ClearerType.RQD ? 'rqd' : 'apex';\n let officeCodeValue;\n\n // if the howDidYouHearObject contains representatives, we need to pull the rep based on the repId and apply the officeCode there\n // check if the howDidYouHearObject has representatives\n if (howDidYouHearObject[0].representatives !== undefined) {\n // check if the repId is a string or number\n if (typeof values.repId === 'string') {\n // if the repId is a string, we need to convert it to a number\n const repId = parseInt(values.repId);\n // find the rep based on the repId\n const rep = howDidYouHearObject[0].representatives.find((rep: any) => rep.repId === repId);\n // if the rep is found, apply the officeCode\n if (rep !== undefined) {\n officeCodeValue = rep.officeCodes[clearer];\n }\n } else {\n // if the repId is a number, we can use it directly\n const rep = howDidYouHearObject[0].representatives.find((rep: any) => rep.repId === values.repId);\n // if the rep is found, apply the officeCode\n if (rep !== undefined) {\n officeCodeValue = rep.officeCodes[clearer];\n }\n }\n } else {\n // if the howDidYouHearObject does not have representatives, we can apply the officeCode directly\n officeCodeValue = howDidYouHearObject[0].officeCodes[clearer];\n }\n\n return {\n primaryAccountHolder: {\n email: values.primaryAccountHolder.email,\n firstName: values.primaryAccountHolder.firstName,\n lastName: values.primaryAccountHolder.lastName,\n },\n type: values.type,\n languageType: values.languageType,\n entityAccountType: values.entityAccountType,\n deliveryType: DeliveryType.Electronic,\n flexibilityType: FlexibilityType.Margin,\n tradeGoalType: TradeGoalType.AllAbovePlusCallsPuts,\n clearer: values.clearer,\n heardAbout: {\n hearAboutUsId: typeof values.hearAboutUsId === 'string' ? parseInt(values.hearAboutUsId) : values.hearAboutUsId,\n repId: values.repId,\n officeCode: officeCodeValue,\n },\n };\n};\n","import { isString, verify } from '@tradingblock/api';\nimport { LoginJwtValue } from '@tradingblock/types';\nimport { config } from '../config';\n\nexport const delayedScrollTo = (offset: number, offsetPadding = 125) => {\n window.setTimeout(() => {\n window.scrollTo({ behavior: 'smooth', left: 0, top: offset ? offset - offsetPadding : offsetPadding });\n }, 10);\n};\n\nexport const validateToken = async (id_token: string) => {\n const pubKey = await fetch(`${config.dataUrl}/publickey`).then(res => res.json());\n\n try {\n var decoded = await verify(pubKey.key, id_token, { algorithms: ['RS256'], ignoreExpiration: false, clientType: 'application' });\n if (!decoded || isString(decoded)) {\n console.error('jwt response was invalid, an object was expected ', decoded);\n return null;\n } else {\n const jwtValues = decoded as LoginJwtValue;\n return { value: id_token, decoded: jwtValues };\n }\n } catch (err) {\n console.log('validate token failed', err);\n return null;\n }\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { UserRequirementsInfo, FieldRequirements } from '@tradingblock/types';\nimport { ApplicationModel } from '../types';\n\nconst DefaultFieldRequirements: FieldRequirements = {\n maxLength: 0,\n minDigitCount: 0,\n minLength: 0,\n minLowerCount: 0,\n minSpecialCount: 0,\n minUpperCount: 0,\n};\n\nexport const getFieldRequirements = (\n field: keyof Pick,\n userRequirements: UserRequirementsInfo | undefined\n) => {\n if (userRequirements) {\n if (field === 'userName') {\n return userRequirements.nameRequirements;\n }\n if (field === 'password') {\n const requirements = userRequirements.passwordRequirements;\n // password requirements has min/max char that we need to use to generate unicode range\n const acceptableSpecialChars = generateSpecialCharUnicodeRange(\n requirements.minCharAllowed,\n requirements.maxCharAllowed\n );\n return { ...requirements, acceptableSpecialChars };\n }\n }\n return DefaultFieldRequirements;\n};\n\nexport const getSpecialCharsAsHtml = (acceptableSpecialChars: string | undefined) => {\n // set special chars string as html, to interpret unicode html entities\n if (acceptableSpecialChars) {\n return ;\n }\n return undefined;\n};\n\nexport const isUserNameEqualToEmail = ({ userName, primaryAccountHolder: { email } }: ApplicationModel) => {\n return _.isEqual(_.toLower(_.trim(userName)), _.toLower(_.trim(email)));\n};\n\nexport const isUserNameContainedInPassword = ({ password, userName }: ApplicationModel) => {\n return _.includes(_.toLower(_.trim(password)), _.toLower(_.trim(userName)));\n};\n\nexport const isUserNameValid = (\n userName: string,\n requirements: UserRequirementsInfo | undefined,\n values: ApplicationModel\n) => {\n // separate from dynamic requirements, don't allow userName to be same as login email\n if (isUserNameEqualToEmail(values)) {\n return false;\n }\n if (!requirements) return false;\n const {\n minLength,\n maxLength,\n minDigitCount,\n minSpecialCount,\n acceptableSpecialChars,\n } = requirements.nameRequirements;\n if (!isRequiredLengthValid(userName, minLength, maxLength)) {\n return false;\n }\n if (!isRequiredDigitsValid(userName, minDigitCount)) {\n return false;\n }\n if (!isRequiredSpecialCharsValid(userName, minSpecialCount, acceptableSpecialChars)) {\n return false;\n }\n return true;\n};\n\nexport const isPasswordValid = (\n password: string,\n requirements: UserRequirementsInfo | undefined,\n values: ApplicationModel\n) => {\n // separate from dynamic requirements, don't allow password to contain userName\n if (isUserNameContainedInPassword(values)) {\n return false;\n }\n if (!requirements) return false;\n const {\n minLength,\n maxLength,\n minLowerCount,\n minUpperCount,\n minDigitCount,\n minSpecialCount,\n minCharAllowed,\n maxCharAllowed,\n } = requirements.passwordRequirements;\n const acceptableSpecialChars = generateSpecialCharUnicodeRange(minCharAllowed, maxCharAllowed);\n if (!isRequiredLengthValid(password, minLength, maxLength)) {\n return false;\n }\n if (!isRequiredDigitsValid(password, minDigitCount)) {\n return false;\n }\n if (!isRequiredLowercaseValid(password, minLowerCount)) {\n return false;\n }\n if (!isRequiredUppercaseValid(password, minUpperCount)) {\n return false;\n }\n if (!isRequiredSpecialCharsValid(password, minSpecialCount, acceptableSpecialChars)) {\n return false;\n }\n return true;\n};\n\nconst getRequirementsRegex = (minLength: number, maxLength: number, acceptableSpecialChars: string | undefined) => {\n // Escape hyphen in acceptableSpecialChars to ensure it's treated as a literal character\n const escapedSpecialChars = acceptableSpecialChars ? acceptableSpecialChars.replace(/-/g, '\\\\-') : '';\n return new RegExp(`^[a-z0-9${escapedSpecialChars}-]{${minLength},${maxLength || ''}}$`, 'i');\n};\n\nexport const isRequiredLengthValid = (value: string, minLength: number, maxLength: number) => {\n // pass in current value as acceptable special chars, to only validate length\n const re = getRequirementsRegex(minLength, maxLength, _.escapeRegExp(value));\n return re.test(value);\n};\n\nexport const isRequiredSpecialCharsValid = (\n value: string,\n minSpecialCount: number,\n acceptableSpecialChars: string | undefined\n) => {\n const re = getRequirementsRegex(minSpecialCount, 0, acceptableSpecialChars);\n if (acceptableSpecialChars) {\n return (\n re.test(value) &&\n (!minSpecialCount || countNumberOfChars(value, new RegExp(`[${acceptableSpecialChars}]`)) >= minSpecialCount)\n );\n }\n return true;\n};\n\nexport const isRequiredDigitsValid = (value: string, minDigitCount: number) => {\n if (minDigitCount) {\n return countNumberOfChars(value, /\\d/) >= minDigitCount;\n }\n return true;\n};\n\nexport const isRequiredLowercaseValid = (value: string, minLowerCount: number) => {\n if (minLowerCount) {\n return countNumberOfChars(value, /[a-z]/) >= minLowerCount;\n }\n return true;\n};\n\nexport const isRequiredUppercaseValid = (value: string, minUpperCount: number) => {\n if (minUpperCount) {\n return countNumberOfChars(value, /[A-Z]/) >= minUpperCount;\n }\n return true;\n};\n\nconst countNumberOfChars = (value: string, charMatch: RegExp) => {\n return _.sumBy(value, c => (charMatch.test(c) ? 1 : 0));\n};\n\nconst generateSpecialCharUnicodeRange = (minChar: string | undefined, maxChar: string | undefined) => {\n let range = '';\n if (minChar && maxChar) {\n // generate ranges for non-special chars that need to be excluded\n const numbersAndLettersRange = [\n ...generateUnicodeDecimalRange('0', '9'),\n ...generateUnicodeDecimalRange('A', 'Z'),\n ...generateUnicodeDecimalRange('a', 'z'),\n ];\n const charRange = generateUnicodeDecimalRange(minChar, maxChar);\n for (let i = 0; i < charRange.length; i++) {\n if (!_.includes(numbersAndLettersRange, charRange[i])) {\n var hex = charRange[i].toString(16);\n range += `\\\\u${'0000'.substring(0, 4 - hex.length)}${hex}`;\n }\n }\n }\n return range;\n};\n\nconst generateUnicodeDecimalRange = (minChar: string, maxChar: string) => {\n const range: number[] = [];\n const minCodePoint = minChar.codePointAt(0) || 0;\n const maxCodePoint = maxChar.codePointAt(0) || -1;\n for (let i = minCodePoint; i <= maxCodePoint; i++) {\n range.push(i);\n }\n return range;\n};\n","import _ from 'lodash';\nimport { Country, UserRequirementsInfo, TradeAuthorizationType, ExperienceYearType } from '@tradingblock/types';\nimport {\n AllApplicationSteps,\n AllCharacteristicsKeys,\n ExperienceKey,\n ApplicationModel,\n PhoneModel,\n ApplicationStep,\n BooleanToggleType,\n ErrorType,\n ApplicationType,\n EmploymentType,\n BeneficiaryType,\n PersonType,\n DateModel,\n DataValue,\n RE_EMAIL,\n RE_SSN,\n RE_EIN,\n RE_PO_BOX,\n TotalSecurityChallenges,\n EntityAccountType,\n DefaultAccountHolder,\n AccountHolderModel,\n ForeignDueDiligenceModel,\n AccountDisclosureKey,\n AccountHolderDisclosureKey,\n AllAccountHolderDisclosureKeys,\n AllEntityAccountDisclosureKeys,\n AllEntityNonTrustAccountDisclosureKeys,\n TradeGoalType,\n AccountHolderField,\n DefaultForeignDueDiligence,\n RetirementAccountType,\n RE_VALID_FIRST_NAME,\n RE_VALID_LAST_NAME,\n RE_VALID_FIRST_NAME_WITH_NUMBERS,\n RE_VALID_LAST_NAME_WITH_NUMBERS,\n RE_VALID_MIDDLE_INITIAL,\n RE_VALID_SUFFIX,\n RE_PREFIX_PATTERN,\n} from '../types';\nimport {\n getOwnerNamesForSignStep,\n getDateFromModel,\n getAllExperienceKeysForApplication,\n isUserNameValid,\n isPasswordValid,\n} from './';\nimport {\n getAllAgreementKeysForApplication,\n showBeneficiariesFields,\n showOwnersOfficersFields,\n showTrustedContactFields,\n showTenantsInCommonInterestPercentFields,\n} from './Form';\nimport config from '../config';\nimport dayjs from 'dayjs';\nimport xml2js from 'xml2js';\n\nexport const isValidDate = (date: DateModel) => {\n const dayjs = getDateFromModel(date);\n // need to compare dayjs parts to original date parts, since dayjs.isValid doesn't check for non-existant dates (e.g. Feb 31)\n return (\n dayjs &&\n dayjs.year() === _.toNumber(date.year) &&\n dayjs.month() + 1 === _.toNumber(date.month) && // like Date object, month is zero-indexed\n dayjs.date() === _.toNumber(date.day)\n );\n};\n\nconst getError = (value: DataValue, error: ErrorType) => {\n if (!value && !_.isNumber(value)) {\n return error;\n }\n return undefined;\n};\n\nconst getDuplicateError = (value: DataValue, message: string | string[] | undefined) => {\n if (!value && !_.isNumber(value)) {\n return message;\n }\n return undefined;\n};\n\nconst getRequiredError = (value: DataValue) => {\n return getError(value, ErrorType.Required);\n};\n\nconst getInvalidError = (value: DataValue) => {\n return getError(value, ErrorType.Invalid);\n};\n\nconst getDuplicateAccountError = (value: DataValue, message?: string | string[]) => {\n return getDuplicateError(value, message);\n};\n\nconst getAmountError = (value: DataValue) => {\n return getError(value, ErrorType.Amount);\n};\n\nconst getMismatchError = (value: DataValue) => {\n return getError(value, ErrorType.Mismatch);\n};\n\nconst getEmailError = (value: string | null | undefined) => {\n return getRequiredError(value) || getInvalidError(value && RE_EMAIL.test(value));\n};\n\nconst getInvalidDateError = (value: DateModel | undefined) => {\n return value && getInvalidError(isValidDate(value));\n};\n\nconst getContingentError = (value: DataValue) => {\n return getError(value, ErrorType.Contingent);\n};\n\nconst getInvalidLengthError = (value: DataValue) => {\n return getError(value, ErrorType.InvalidLength);\n};\n\nconst getInvalidLegalNameError = (value: DataValue) => {\n return getError(value, ErrorType.InvalidLegalName);\n};\n\nexport const validateApplicationStepAsync = async (\n step: ApplicationStep | undefined,\n values: ApplicationModel,\n visibleSections: number | undefined,\n requirements?: UserRequirementsInfo,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n let errors = {};\n switch (step) {\n case ApplicationStep.SecureAccount:\n errors = validateSecureAccount(values, visibleSections, requirements);\n break;\n case ApplicationStep.ClearerType:\n errors = validateClearerType(values);\n break;\n case ApplicationStep.AccountType:\n errors = validateAccountType(values);\n break;\n case ApplicationStep.InvestingProfile:\n errors = validateInvestingProfile(values, visibleSections);\n break;\n case ApplicationStep.AccountInformation:\n errors = validateAccountInformation(values, visibleSections, duplicateAccountCheck);\n break;\n case ApplicationStep.Beneficiaries:\n errors = validateBeneficiaries(values, duplicateAccountCheck);\n break;\n case ApplicationStep.Agreements:\n errors = validateAgreements(values, visibleSections);\n break;\n case ApplicationStep.Sign:\n errors = validateSign(values);\n break;\n }\n\n return new Promise(resolve => resolve(_.pickBy(errors, err => !!err))).then(errs => {\n if (!_.isEmpty(errs)) {\n if (/localhost/.test(window.location.host)) {\n console.warn(`validateApplicationStepAsync :: INVALID: `, errs);\n }\n // throw errs;\n }\n return errs;\n });\n};\n\n// for use on summary to validate all steps, except 1st (secure), and optionally which final steps (agreements/sign)\nexport const validateApplication = (\n application: ApplicationModel,\n finalStepsToValidate: ApplicationStep[] = [],\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n const errors = _.reduce(\n AllApplicationSteps,\n (acc: { [key: string]: ErrorType | false | undefined }, step) => {\n switch (step) {\n case ApplicationStep.ClearerType:\n return {\n ...acc,\n ...validateClearerType(application),\n };\n case ApplicationStep.AccountType:\n return {\n ...acc,\n ...validateAccountType(application),\n };\n case ApplicationStep.InvestingProfile:\n return {\n ...acc,\n ...validateInvestingProfile(application, undefined),\n };\n case ApplicationStep.AccountInformation:\n return {\n ...acc,\n ...validateAccountInformation(application, undefined, duplicateAccountCheck),\n };\n case ApplicationStep.Beneficiaries:\n return {\n ...acc,\n ...validateBeneficiaries(application, duplicateAccountCheck),\n };\n case ApplicationStep.Agreements:\n if (_.includes(finalStepsToValidate, ApplicationStep.Agreements)) {\n return {\n ...acc,\n ...validateAgreements(application, undefined),\n };\n }\n return acc;\n default:\n return acc;\n }\n },\n {}\n );\n\n // if the application is a partialEntitySubmission then only return the errors for the ClearerType & AccountType steps\n if (application.isPartialEntitySubmission) {\n return _.pick(errors, [ApplicationStep.ClearerType, ApplicationStep.AccountType]);\n }\n return _.pickBy(errors, err => !!err);\n};\n\nconst validateSecureAccount = (\n values: ApplicationModel,\n visibleSections: number | undefined,\n requirements: UserRequirementsInfo | undefined\n) => {\n let errorsSection1 = {\n ...validatePerson(values, 'primaryAccountHolder', PersonType.AccountHolder),\n };\n\n // \"heard about\" fields not shown on virtual application\n if (!config.isVirtual) {\n errorsSection1 = {\n ...errorsSection1,\n hearAboutUsId: getRequiredError(values.hearAboutUsId),\n repId: values.hearAboutUsId ? getRequiredError(values.repId) : undefined,\n };\n }\n\n // Section #2\n let errorsSection2 = {};\n if (!visibleSections || visibleSections > 1) {\n errorsSection2 = {\n userName:\n getRequiredError(values.userName) ||\n getInvalidError(values.userName && isUserNameValid(values.userName, requirements, values)),\n password:\n getRequiredError(values.password) ||\n getInvalidError(values.password && isPasswordValid(values.password, requirements, values)),\n ...(values.password\n ? {\n passwordConfirm:\n getRequiredError(values.passwordConfirm) ||\n getInvalidError(_.isEqual(values.password, values.passwordConfirm)),\n }\n : undefined),\n ..._.reduce(\n _.range(0, TotalSecurityChallenges),\n (acc: { [key: string]: string | undefined }, i) => {\n return {\n ...acc,\n [`securityChallenges[${i}].securityQuestionType`]:\n getRequiredError(\n values.securityChallenges &&\n values.securityChallenges[i] &&\n values.securityChallenges[i].securityQuestionType\n ) ||\n getInvalidError(\n _.every(\n values.securityChallenges,\n (sc, idx) =>\n idx === i ||\n !values.securityChallenges ||\n !values.securityChallenges[i] ||\n sc.securityQuestionType !== values.securityChallenges[i].securityQuestionType\n )\n ),\n [`securityChallenges[${i}].answer`]: getRequiredError(\n values.securityChallenges && values.securityChallenges[i] && values.securityChallenges[i].answer\n ),\n };\n },\n {}\n ),\n };\n }\n\n return {\n ...errorsSection1,\n ...errorsSection2,\n };\n};\n\nconst validateClearerType = (values: ApplicationModel) => {\n return {\n clearer: getRequiredError(values.clearer),\n };\n};\n\nconst validateAccountType = (values: ApplicationModel) => {\n return {\n ownerCountry: getRequiredError(values.ownerCountry), // || getInvalidError(_.includes(AcceptedCountries, values.ownerCountry)),\n ...(values.type === ApplicationType.Individual\n ? {\n retirementAccount: getRequiredError(values.retirementAccount),\n retirementAccountType:\n values.retirementAccount === BooleanToggleType.Yes && getRequiredError(values.retirementAccountType),\n simpleIraPlanName:\n values.retirementAccount === BooleanToggleType.Yes &&\n values.retirementAccountType === RetirementAccountType.Simple &&\n getRequiredError(values.simpleIraPlanName),\n beneficiaryIraDecedentName:\n values.retirementAccount === BooleanToggleType.Yes &&\n (values.retirementAccountType === RetirementAccountType.Beneficiary ||\n values.retirementAccountType === RetirementAccountType.RothBeneficiary) &&\n getRequiredError(values.beneficiaryIraDecedentName),\n }\n : undefined),\n ...(values.type === ApplicationType.Joint\n ? {\n jointAccountType: getRequiredError(values.jointAccountType),\n jointCommunityPropertyState: getRequiredError(values.jointCommunityPropertyState),\n }\n : undefined),\n ...(values.type === ApplicationType.Entity\n ? {\n entityAccountType: getRequiredError(values.entityAccountType),\n }\n : undefined),\n };\n};\n\nconst validateInvestingProfile = (values: ApplicationModel, visibleSections: number | undefined) => {\n const errorsSection1 = {\n tradeGoalType: getRequiredError(values.tradeGoalType),\n investmentObjectiveType: getRequiredError(values.investmentObjectiveType),\n };\n\n // Section #2\n let errorsSection2 = {};\n if (!visibleSections || visibleSections > 1) {\n errorsSection2 = {\n ...(values.tradeGoalType !== TradeGoalType.StocksBonds\n ? _.reduce(\n getAllExperienceKeysForApplication(values),\n (acc: { [key: string]: string | undefined }, key: ExperienceKey) => {\n return {\n ...acc,\n [`experience.${key}.years`]: getRequiredError(\n values.experience && values.experience[key] && values.experience[key].years\n ),\n [`experience.${key}.tradesPerYear`]: getRequiredError(\n values.experience &&\n values.experience[key] &&\n values.experience[key].years &&\n values.experience[key].years !== ExperienceYearType.Zero\n ? values.experience[key].tradesPerYear\n : true\n ),\n };\n },\n {}\n )\n : {}),\n annualIncome: getRequiredError(values.annualIncome),\n totalNetWorth: getRequiredError(values.totalNetWorth),\n liquidNetWorth: getRequiredError(values.liquidNetWorth),\n ..._.reduce(\n AllCharacteristicsKeys,\n (acc: { [key: string]: string | undefined }, key) => {\n return {\n ...acc,\n [`characteristics.${key}`]: getRequiredError(_.get(values, `characteristics.${key}`)),\n };\n },\n {}\n ),\n };\n }\n\n return {\n ...errorsSection1,\n ...errorsSection2,\n };\n};\n\n// TODO: Implement taxId validation for entity applications\nconst validateAccountInformation = (\n values: ApplicationModel,\n visibleSections: number | undefined,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n let optionalSections = 0;\n // Section #1 (optional, visible for entity owner type)\n let errorsSection1 = {};\n\n // Comment this out due to possible old code for Entity Validation that is not needed\n // if (values.type === ApplicationType.Entity) {\n // optionalSections++;\n // errorsSection1 = {\n // 'entity.entityName': getRequiredError(values.entity && values.entity.entityName),\n // 'entity.entityTaxId': getRequiredError(values.entity && values.entity.entityTaxId),\n // ...(values.entityAccountType === EntityAccountType.PersonalTrust\n // ? {\n // ...validateDate(values, 'entity.trustCreatedDate'),\n // }\n // : {\n // 'entity.entityYourTitle': getRequiredError(values.entity && values.entity.entityYourTitle),\n // 'entity.usStateOfRegistration':\n // values.ownerCountry === Country.UnitedStatesOfAmerica\n // ? getRequiredError(values.entity && values.entity.usStateOfRegistration)\n // : undefined,\n // 'entity.businessNature': getRequiredError(values.entity && values.entity.businessNature),\n // }),\n // ...validateAddress(values, 'entity.address'),\n // ...(values.entityAccountType !== EntityAccountType.PersonalTrust\n // ? {\n // 'entity.businessPhone': getRequiredError(values.entity && values.entity.businessPhone),\n // }\n // : undefined),\n // };\n // }\n\n // Section #2 (optional, visible for entity owner type AND non-trust entity types)\n let errorsSection2 = {};\n if (\n values.type === ApplicationType.Entity &&\n values.entityAccountType !== EntityAccountType.PersonalTrust &&\n (!visibleSections || visibleSections > 1)\n ) {\n optionalSections++;\n errorsSection2 = {\n 'entity.officeLocations': getRequiredError(values.entity && values.entity.officeLocations),\n 'entity.accountActivity': getRequiredError(values.entity && values.entity.accountActivity),\n 'entity.initialDepositAmount': getRequiredError(values.entity && values.entity.initialDepositAmount),\n 'entity.initialDepositMethod': getRequiredError(values.entity && values.entity.initialDepositMethod),\n 'entity.primarySourceOfFunds': getRequiredError(values.entity && values.entity.primarySourceOfFunds),\n 'entity.expectedWithdrawalFrequency': getRequiredError(\n values.entity && values.entity.expectedWithdrawalFrequency\n ),\n 'entity.primaryBankName': getRequiredError(values.entity && values.entity.primaryBankName),\n ..._.reduce(\n values.entity && values.entity.tradingBlockAccounts,\n (acc: { [key: string]: string | undefined }, account, i) => {\n return {\n ...acc,\n [`entity.tradingBlockAccounts[${i}].accountNumber`]: getRequiredError(account.accountNumber),\n [`entity.tradingBlockAccounts[${i}].accountName`]: getRequiredError(account.accountName),\n };\n },\n {}\n ),\n };\n }\n\n const primaryAccountHolderPrefix = 'primaryAccountHolder';\n // Section #3\n let errorsSection3 = {};\n if (!visibleSections || visibleSections > optionalSections) {\n errorsSection3 = {\n ...validatePhones(values, primaryAccountHolderPrefix),\n ...validateAddress(values, `${primaryAccountHolderPrefix}.address`, true),\n ...(values.primaryAccountHolder && values.primaryAccountHolder.differentMailingAddress\n ? validateAddress(values, `${primaryAccountHolderPrefix}.mailingAddress`)\n : undefined),\n };\n }\n // Section #4\n let errorsSection4 = {};\n if (!visibleSections || visibleSections > 1 + optionalSections) {\n errorsSection4 = validateAccountHolder(\n values,\n values.primaryAccountHolder || DefaultAccountHolder,\n primaryAccountHolderPrefix,\n duplicateAccountCheck\n );\n }\n\n const jointAccountHolderPrefix = 'secondaryAccountHolder';\n // Section #5 (optional, visible for joint owner type)\n let errorsSection5 = {};\n if (\n (values.type === ApplicationType.Joint || values.type === ApplicationType.UGMA) &&\n (!visibleSections || visibleSections > 2 + optionalSections)\n ) {\n errorsSection5 = {\n ...validatePerson(values, jointAccountHolderPrefix, PersonType.AccountHolder),\n ...validatePhones(values, jointAccountHolderPrefix),\n ...validateAddress(values, `${jointAccountHolderPrefix}.address`, true),\n ...(values.secondaryAccountHolder && values.secondaryAccountHolder.differentMailingAddress\n ? validateAddress(values, `${jointAccountHolderPrefix}.mailingAddress`)\n : undefined),\n };\n }\n // Section #6 (optional, visible for joint owner type)\n let errorsSection6 = {};\n if (\n (values.type === ApplicationType.Joint || values.type === ApplicationType.UGMA) &&\n (!visibleSections || visibleSections > 3 + optionalSections)\n ) {\n errorsSection6 = validateAccountHolder(\n values,\n values.secondaryAccountHolder || DefaultAccountHolder,\n jointAccountHolderPrefix,\n duplicateAccountCheck\n );\n }\n\n return {\n ...errorsSection1,\n ...errorsSection2,\n ...errorsSection3,\n ...errorsSection4,\n ...errorsSection5,\n ...errorsSection6,\n };\n};\n\nconst validateAccountHolder = (\n values: ApplicationModel,\n accountHolder: AccountHolderModel,\n accountHolderPrefix: string,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n const errorMessage = (duplicateAccountCheck && duplicateAccountCheck.errorMessage) || '';\n const isForeign =\n accountHolder &&\n accountHolder.citizenshipCountry &&\n accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica;\n // need to validate ssn only if it is not foreign\n return {\n ...validatePersonDetails(values, accountHolderPrefix, false, duplicateAccountCheck),\n ...(!values.entityAccountType\n ? {\n [`${accountHolderPrefix}.maritalStatus`]: getRequiredError(accountHolder.maritalStatus),\n [`${accountHolderPrefix}.dependents`]:\n getRequiredError(accountHolder.dependents) ||\n getInvalidError(\n _.isNumber(accountHolder.dependents) &&\n accountHolder.dependents > -1 &&\n _.parseInt(`${accountHolder.dependents}`) === _.toNumber(accountHolder.dependents)\n ),\n }\n : undefined),\n ...(accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica\n ? {\n [`${accountHolderPrefix}.citizenshipCountry`]: getRequiredError(accountHolder.citizenshipCountry),\n }\n : undefined),\n ...(accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica\n ? {\n [`${accountHolderPrefix}.birthCountry`]: getRequiredError(accountHolder.birthCountry),\n }\n : undefined),\n ...(accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica &&\n accountHolder.address.country === Country.UnitedStatesOfAmerica &&\n !values.entityAccountType\n ? {\n [`${accountHolderPrefix}.visaType`]: getRequiredError(accountHolder.visaType),\n ...validateDate(values, `${accountHolderPrefix}.visaExpirationDate`),\n }\n : undefined),\n ...(values.type !== ApplicationType.Entity || values.entityAccountType === EntityAccountType.PersonalTrust\n ? {\n [`${accountHolderPrefix}.employmentType`]: getRequiredError(accountHolder.employmentType),\n ...(accountHolder.employmentType === EmploymentType.Employed\n ? {\n [`${accountHolderPrefix}.jobPosition`]: getRequiredError(accountHolder.jobPosition),\n [`${accountHolderPrefix}.yearsEmployed`]: getRequiredError(accountHolder.yearsEmployed),\n [`${accountHolderPrefix}.employer`]: getRequiredError(accountHolder.employer),\n ...validateAddress(values, `${accountHolderPrefix}.employerAddress`),\n }\n : undefined),\n }\n : undefined),\n // need to validate ssn only if it is not foreign\n ...(!isForeign\n ? {\n [`${accountHolderPrefix}.ssn`]:\n getRequiredError(accountHolder.ssn) ||\n getInvalidError(RE_SSN.test(accountHolder.ssn)) ||\n getDuplicateAccountError(\n duplicateAccountCheck && !duplicateAccountCheck.error && errorMessage !== '',\n errorMessage\n ),\n }\n : undefined),\n\n ...validateForeignDueDiligence(\n accountHolder,\n values.foreignDueDiligence || DefaultForeignDueDiligence,\n accountHolderPrefix\n ),\n ...validateForeignTaxWithholding(accountHolder, accountHolderPrefix),\n };\n};\n\nconst validateForeignDueDiligence = (\n accountHolder: AccountHolderModel,\n foreignDueDiligence: ForeignDueDiligenceModel,\n accountHolderPrefix: string\n) => {\n if (\n accountHolderPrefix != 'primaryAccountHolder' ||\n accountHolder.citizenshipCountry === Country.UnitedStatesOfAmerica ||\n accountHolder.address.country === Country.UnitedStatesOfAmerica\n ) {\n return undefined;\n }\n\n return {\n [`foreignDueDiligence.initialDepositAmount`]: getRequiredError(foreignDueDiligence.initialDepositAmount),\n [`foreignDueDiligence.initialDepositType`]: getRequiredError(foreignDueDiligence.initialDepositType),\n [`foreignDueDiligence.expectedWithdrawalFrequency`]: getRequiredError(\n foreignDueDiligence.expectedWithdrawalFrequency\n ),\n [`foreignDueDiligence.primaryBanking[0]`]: getRequiredError(foreignDueDiligence.primaryBanking[0]),\n ...(foreignDueDiligence.referredToBroker === false\n ? {\n [`foreignDueDiligence.initialContact`]: getRequiredError(foreignDueDiligence.initialContact),\n }\n : {\n [`foreignDueDiligence.referredName`]: getRequiredError(foreignDueDiligence.referredName),\n [`foreignDueDiligence.referredRelationship`]: getRequiredError(foreignDueDiligence.referredRelationship),\n }),\n };\n};\n\nconst validateForeignTaxWithholding = (accountHolder: AccountHolderModel, accountHolderPrefix: string) => {\n const { foreignTaxWithholding } = accountHolder;\n const { jurisdictionDoesNotIssueTIN, notIssuedForeignTIN } = foreignTaxWithholding;\n\n if (accountHolder.address.country === Country.UnitedStatesOfAmerica) {\n return undefined;\n }\n\n if (\n !accountHolder.foreignTaxWithholding.taxIdentificationNumber &&\n accountHolder.mailingAddress &&\n accountHolder.mailingAddress.country === Country.UnitedStatesOfAmerica &&\n accountHolder.address.country !== Country.UnitedStatesOfAmerica\n ) {\n return {\n [`${accountHolderPrefix}.foreignTaxWithholding.taxIdentificationNumber`]: getRequiredError(\n !jurisdictionDoesNotIssueTIN && !notIssuedForeignTIN ? false : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.jurisdictionDoesNotIssueTIN`]: getRequiredError(\n accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === null ? false : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.notIssuedForeignTIN`]:\n getRequiredError(accountHolder.foreignTaxWithholding.notIssuedForeignTIN === null ? false : true) ||\n getInvalidError(\n !accountHolder.foreignTaxWithholding.taxIdentificationNumber &&\n (accountHolder.foreignTaxWithholding.notIssuedForeignTIN === BooleanToggleType.No &&\n accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === BooleanToggleType.No)\n )\n ? false\n : true,\n [`${accountHolderPrefix}.foreignTaxWithholding.letterOfExplanation`]: getRequiredError(\n accountHolder.foreignTaxWithholding.letterOfExplanation === null ||\n _.isEmpty(accountHolder.foreignTaxWithholding.letterOfExplanation)\n ? false\n : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.foreignTINNotRequiredExplanation`]: getRequiredError(\n accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation === null ||\n _.isEmpty(accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation)\n ? false\n : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.treatyCountry`]: getRequiredError(\n accountHolder.foreignTaxWithholding.treatyCountry === null ? false : true\n ),\n };\n }\n if (\n !accountHolder.foreignTaxWithholding.taxIdentificationNumber &&\n accountHolder.address.country !== Country.UnitedStatesOfAmerica\n ) {\n return {\n [`${accountHolderPrefix}.foreignTaxWithholding.taxIdentificationNumber`]: getRequiredError(\n !jurisdictionDoesNotIssueTIN && !notIssuedForeignTIN ? false : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.jurisdictionDoesNotIssueTIN`]:\n getRequiredError(accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === null ? false : true) ||\n getInvalidError(\n !accountHolder.foreignTaxWithholding.taxIdentificationNumber &&\n (accountHolder.foreignTaxWithholding.notIssuedForeignTIN === BooleanToggleType.No &&\n accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === BooleanToggleType.No)\n )\n ? false\n : true,\n [`${accountHolderPrefix}.foreignTaxWithholding.notIssuedForeignTIN`]:\n getRequiredError(accountHolder.foreignTaxWithholding.notIssuedForeignTIN === null ? false : true) ||\n getInvalidError(\n !accountHolder.foreignTaxWithholding.taxIdentificationNumber &&\n (accountHolder.foreignTaxWithholding.notIssuedForeignTIN === BooleanToggleType.No &&\n accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === BooleanToggleType.No)\n )\n ? false\n : true,\n [`${accountHolderPrefix}.foreignTaxWithholding.treatyCountry`]: getRequiredError(\n accountHolder.foreignTaxWithholding.treatyCountry === null ? false : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.foreignTINNotRequiredExplanation`]:\n getRequiredError(\n !jurisdictionDoesNotIssueTIN &&\n (accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation === null ||\n _.isEmpty(accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation))\n ? false\n : true\n ) ||\n getInvalidLengthError(\n jurisdictionDoesNotIssueTIN &&\n accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation &&\n accountHolder.foreignTaxWithholding.foreignTINNotRequiredExplanation.length <= 255\n ? false\n : true\n ),\n };\n }\n\n if (\n accountHolder.mailingAddress &&\n accountHolder.mailingAddress.country === Country.UnitedStatesOfAmerica &&\n accountHolder.address.country !== Country.UnitedStatesOfAmerica\n ) {\n return {\n [`${accountHolderPrefix}.foreignTaxWithholding.letterOfExplanation`]: getRequiredError(\n accountHolder.foreignTaxWithholding.letterOfExplanation === null ? false : true\n ),\n [`${accountHolderPrefix}.foreignTaxWithholding.treatyCountry`]: getRequiredError(\n accountHolder.foreignTaxWithholding.treatyCountry === null ? false : true\n ),\n };\n }\n if (!accountHolder.foreignTaxWithholding.treatyCountry) {\n return {\n [`${accountHolderPrefix}.foreignTaxWithholding.treatyCountry`]: getRequiredError(\n accountHolder.foreignTaxWithholding.treatyCountry === null ? false : true\n ),\n };\n }\n};\n\nconst validateBeneficiaries = (\n values: ApplicationModel,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n const showBeneficiaries = showBeneficiariesFields(values);\n const showOwnersOfficers = showOwnersOfficersFields(values);\n const showTrustedContact = showTrustedContactFields(values);\n const showTenantsInCommonInterestPercent = showTenantsInCommonInterestPercentFields(values);\n\n return {\n ...(showBeneficiaries ? validateBeneficiariesFields(values, duplicateAccountCheck) : {}),\n ...(showOwnersOfficers ? validateOwnersOfficersFields(values, duplicateAccountCheck) : {}),\n ...(showTrustedContact ? validateTrustedContactFields(values) : {}),\n ...(showTenantsInCommonInterestPercent ? validateTenantsInCommonPercent(values) : {}),\n };\n};\n\nconst validateBeneficiariesFields = (\n values: ApplicationModel,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n const primaryBeneficiaries = values.beneficiaries\n ? values.beneficiaries.filter(b => b.beneficiaryAccountType === 'Primary')\n : [];\n const contingentBeneficiaries = values.beneficiaries\n ? values.beneficiaries.filter(b => b.beneficiaryAccountType === 'Contingent')\n : [];\n const totalPrimaryPercent = _.sumBy(primaryBeneficiaries, b => _.toNumber(b.percent));\n const totalContingentPercent = _.sumBy(contingentBeneficiaries, b => _.toNumber(b.percent));\n\n const allSSNs = _.map(values.beneficiaries, b => b.ssn);\n\n const ssnMatchErrors = _.reduce(\n allSSNs,\n (acc, ssn, i) => {\n if (allSSNs.filter(s => s === ssn).length > 1) {\n acc[`beneficiaries[${i}].ssn`] = getInvalidError(ssn);\n }\n return acc;\n },\n {} as { [errorString: string]: ErrorType | undefined }\n );\n\n return {\n ...ssnMatchErrors,\n ..._.reduce(\n values.beneficiaries,\n (acc, b, i) => ({\n ...acc,\n [`beneficiaries[${i}].beneficiaryAccountType`]: getRequiredError(b.beneficiaryAccountType),\n [`beneficiaries[${i}].beneficiaryType`]: getRequiredError(b.beneficiaryType),\n ...(b.beneficiaryType === BeneficiaryType.Individual\n ? {\n [`beneficiaries[${i}].relationship`]: getRequiredError(b.relationship),\n ...validatePersonDetails(values, `beneficiaries[${i}]`, true, duplicateAccountCheck),\n }\n : {\n // BeneficiaryType.Trust\n [`beneficiaries[${i}].trustName`]: getRequiredError(b.trustName),\n [`beneficiaries[${i}].ein`]: getRequiredError(b.ein) || getInvalidError(b.ein && RE_EIN.test(b.ein)),\n }),\n ...validateAddress(values, `beneficiaries[${i}].address`),\n [`beneficiaries[${i}].ssn`]: getRequiredError(b.ssn) || getInvalidError(RE_SSN.test(b.ssn)),\n [`beneficiaries[${i}].percent`]:\n getRequiredError(b.percent) ||\n getInvalidError(b.percent && _.isInteger(b.percent)) ||\n getAmountError(b.beneficiaryAccountType === 'Primary' ? totalPrimaryPercent === 100 : true) ||\n getAmountError(b.beneficiaryAccountType === 'Contingent' ? totalContingentPercent === 100 : true) ||\n getContingentError(totalPrimaryPercent !== 100 && totalContingentPercent > 0 ? false : true),\n }),\n {}\n ),\n };\n};\n\nconst validateOwnersOfficersFields = (\n values: ApplicationModel,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n return {\n ..._.reduce(\n values.ownersOfficers,\n (acc, o, i) => ({\n ...acc,\n ...validatePersonDetails(values, `ownersOfficers[${i}]`, false, duplicateAccountCheck),\n ...validateAddress(values, `ownersOfficers[${i}].address`),\n [`ownersOfficers[${i}].isOwner`]: getRequiredError(o.isOwner || o.isOfficer),\n }),\n {}\n ),\n };\n};\n\nconst validateTrustedContactFields = (values: ApplicationModel) => {\n if (values.addTrustedContact) {\n let emailError = getEmailError(values.trustedContact && values.trustedContact.email);\n if (!emailError) {\n // validate that email is different from primary account holder\n emailError = getMismatchError(\n values.trustedContact &&\n values.primaryAccountHolder &&\n values.trustedContact.email !== values.primaryAccountHolder.email\n );\n }\n\n // validate that the first and last name are different from the primary account holder\n let nameError;\n if (values.trustedContact && values.primaryAccountHolder) {\n nameError = getMismatchError(\n values.trustedContact &&\n values.primaryAccountHolder &&\n (values.trustedContact.firstName !== values.primaryAccountHolder.firstName ||\n values.trustedContact.lastName !== values.primaryAccountHolder.lastName)\n );\n }\n\n // validate that the address is different from the primary account holder\n let addressError;\n if (values.trustedContact && values.primaryAccountHolder) {\n addressError = getMismatchError(\n values.trustedContact &&\n values.primaryAccountHolder &&\n !_.isEqual(values.trustedContact.address, values.primaryAccountHolder.address)\n );\n }\n\n return {\n ...validatePerson(values, 'trustedContact', PersonType.TrustedContact),\n ...validateAddress(values, 'trustedContact.address'),\n 'trustedContact.email': emailError,\n ...validatePhone(_.first(values.trustedContact && values.trustedContact.phones), 'trustedContact.phones[0]'),\n 'trustedContact.firstName': nameError && addressError,\n 'trustedContact.lastName': nameError && addressError,\n 'trustedContact.address.address1': addressError && nameError,\n };\n }\n return {};\n};\n\nconst validateTenantsInCommonPercent = (values: ApplicationModel) => {\n const primaryPercent = values.primaryAccountHolder.jointTenantsInCommonInterestPercent;\n const secondaryPercent = values.secondaryAccountHolder\n ? values.secondaryAccountHolder.jointTenantsInCommonInterestPercent\n : null;\n\n if (primaryPercent && secondaryPercent) {\n const totalPercent = primaryPercent + secondaryPercent;\n\n return {\n [`primaryAccountHolder.jointTenantsInCommonInterestPercent`]:\n getRequiredError(primaryPercent === null ? false : true) || getAmountError(totalPercent === 100),\n [`secondaryAccountHolder.jointTenantsInCommonInterestPercent`]:\n getRequiredError(secondaryPercent === null ? false : true) || getAmountError(totalPercent === 100),\n };\n } else {\n return {\n [`primaryAccountHolder.jointTenantsInCommonInterestPercent`]: getRequiredError(\n primaryPercent === null ? false : true\n ),\n [`secondaryAccountHolder.jointTenantsInCommonInterestPercent`]: getRequiredError(\n primaryPercent === null ? false : true\n ),\n };\n }\n};\n\nfunction removeUndefinedKeys(obj: any) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n\n // Recursively process each property of the object\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n obj[key] = removeUndefinedKeys(obj[key]);\n\n // Remove properties with undefined values\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n }\n if (_.isEmpty(obj)) {\n return undefined;\n }\n return obj;\n}\n\nconst validateTradingAuthorization = (values: ApplicationModel) => {\n if (values.tradingAuthorization && values.tradeAuthorization === BooleanToggleType.Yes) {\n const disclosures = values.tradingAuthorization.disclosures;\n const industryEmployed = disclosures && disclosures.industryEmployed;\n const stakeholder = disclosures && disclosures.stakeholder;\n const type = values.tradingAuthorization.type;\n const signedName = values.tradingAuthorization.signedName;\n const { firstName, lastName } = values.tradingAuthorization;\n const nameMatch = firstName && lastName && signedName && signedName === `${firstName} ${lastName}`;\n\n const isForeign =\n values.tradingAuthorization &&\n values.tradingAuthorization.citizenshipCountry &&\n values.tradingAuthorization.citizenshipCountry !== Country.UnitedStatesOfAmerica;\n\n const errors = {\n [`tradingAuthorization.type`]: getRequiredError(values.tradingAuthorization.type),\n ...validatePhone(\n _.first(values.tradingAuthorization && values.tradingAuthorization.phones),\n 'tradingAuthorization.phones[0]'\n ),\n [`tradingAuthorization.email`]: getEmailError(values.tradingAuthorization && values.tradingAuthorization.email),\n\n ...validatePerson(values, 'tradingAuthorization', PersonType.TradeAuthorization),\n [`tradingAuthorization.disclosures.industryEmployed`]: getRequiredError(\n type === TradeAuthorizationType.Full ? industryEmployed : true\n ),\n [`tradingAuthorization.disclosures.stakeholder`]: getRequiredError(\n type === TradeAuthorizationType.Full ? stakeholder : true\n ),\n [`tradingAuthorization.disclosuresIndustryEmployedFirmName`]: getRequiredError(\n industryEmployed === BooleanToggleType.Yes\n ? values.tradingAuthorization.disclosuresIndustryEmployedFirmName\n : true\n ),\n [`tradingAuthorization.disclosuresStakeholderTickerSymbol`]: getRequiredError(\n stakeholder === BooleanToggleType.Yes ? values.tradingAuthorization.disclosuresStakeholderTickerSymbol : true\n ),\n [`tradingAuthorization.signedName`]: getRequiredError(signedName) || getMismatchError(nameMatch),\n [`tradingAuthorization.ssnSecret`]:\n (!isForeign &&\n (getRequiredError(_.get(values, `tradingAuthorization.ssnSecret`)) ||\n getInvalidError(RE_SSN.test(_.get(values, `tradingAuthorization.ssnSecret`))))) ||\n undefined,\n ['tradingAuthorization.employmentType']: getRequiredError(values.tradingAuthorization.employmentType),\n [`tradingAuthorization.employer`]:\n // check if employment type is employed, if so check if employer is populated\n // if employer is populated check that it is below 60 characters and return error if not\n (values.tradingAuthorization.employmentType === EmploymentType.Employed &&\n getRequiredError(values.tradingAuthorization.employer)) ||\n (values.tradingAuthorization.employmentType === EmploymentType.Employed &&\n getInvalidLengthError(\n values.tradingAuthorization.employer && values.tradingAuthorization.employer.length <= 60\n )),\n [`tradingAuthorization.jobPosition`]:\n values.tradingAuthorization.employmentType === EmploymentType.Employed &&\n getRequiredError(values.tradingAuthorization.jobPosition),\n ['tradingAuthorization.dateOfBirth']: { ...validateDate(values, 'tradingAuthorization.dateOfBirth', true) },\n };\n\n const filteredErrors = removeUndefinedKeys(errors);\n return filteredErrors;\n } else {\n return {};\n }\n};\n\nconst validateAgreements = (values: ApplicationModel, visibleSections: number | undefined) => {\n let optionalSections = 0;\n\n // Section #1\n const errorsSection1 = {\n tradeAuthorization: getRequiredError(values.tradeAuthorization),\n ...validateTradingAuthorization(values),\n ...validateAccountHolderDisclosures(values, 'primaryAccountHolder'),\n };\n\n // Section #2 (optional, visible for joint owner type)\n let errorsSection2 = {};\n if (values.type === ApplicationType.Joint && (!visibleSections || visibleSections > 1)) {\n optionalSections++;\n errorsSection2 = validateAccountHolderDisclosures(values, 'secondaryAccountHolder');\n }\n\n // Section #3\n let errorsSection3 = {};\n if (!visibleSections || visibleSections > 1 + optionalSections) {\n errorsSection3 = {\n ...validateAccountDisclosures(values),\n ...validateServiceProfile(values),\n ...validateMarketDataQuestionnaire(values),\n disclosuresForeignBankUSAgent: getRequiredError(\n values.accountDisclosures && values.accountDisclosures.foreignBank === BooleanToggleType.Yes\n ? values.disclosuresForeignBankUSAgent\n : true\n ),\n };\n if (values.type === ApplicationType.Entity) {\n errorsSection3 = {\n ...errorsSection3,\n accountDisclosures:\n _.get(errorsSection3, 'accountDisclosures') ||\n getRequiredError(\n _.every(\n AllEntityAccountDisclosureKeys,\n (d: AccountDisclosureKey) => values.accountDisclosures && !!values.accountDisclosures[d]\n )\n ),\n };\n\n if (values.entityAccountType !== EntityAccountType.PersonalTrust) {\n errorsSection3 = {\n ...errorsSection3,\n accountDisclosures:\n _.get(errorsSection3, 'accountDisclosures') ||\n getRequiredError(\n _.every(\n AllEntityNonTrustAccountDisclosureKeys,\n (d: AccountDisclosureKey) => values.accountDisclosures && !!values.accountDisclosures[d]\n )\n ),\n disclosuresEntityNegativeNewsInfo: getRequiredError(\n values.accountDisclosures && values.accountDisclosures.entityNegativeNews === BooleanToggleType.Yes\n ? values.disclosuresEntityNegativeNewsInfo\n : true\n ),\n ...(values.accountDisclosures && values.accountDisclosures.entityPublicOfficials === BooleanToggleType.Yes\n ? validatePublicOfficialsFields(values)\n : {}),\n };\n }\n }\n }\n\n // Section #4\n let errorsSection4 = {};\n if (!visibleSections || visibleSections > 2 + optionalSections) {\n errorsSection4 = {\n agreeToElectronicConsent: getRequiredError(values.agreeToElectronicConsent),\n ...validateAccountAgreements(values),\n };\n }\n\n return {\n ...errorsSection1,\n ...errorsSection2,\n ...errorsSection3,\n ...errorsSection4,\n };\n};\n\nconst validateAccountHolderDisclosures = (values: ApplicationModel, accountHolderPrefix: AccountHolderField) => {\n const accountHolder = values[accountHolderPrefix];\n const disclosures = accountHolder && accountHolder.disclosures;\n const accountDisclosures = values.accountDisclosures;\n return {\n [`${accountHolderPrefix}.disclosures`]: getRequiredError(\n _.every(AllAccountHolderDisclosureKeys, (d: AccountHolderDisclosureKey) => disclosures && !!disclosures[d])\n ),\n [`${accountHolderPrefix}.disclosures.stakeholder`]: getRequiredError(\n disclosures && disclosures.stakeholder === null ? false : true\n ),\n [`${accountHolderPrefix}.disclosures.govOfficial`]: getRequiredError(\n disclosures && disclosures.govOfficial === null ? false : true\n ),\n [`${accountHolderPrefix}.disclosures.irsWithholding`]: getRequiredError(\n disclosures && disclosures.irsWithholding === null ? false : true\n ),\n [`${accountHolderPrefix}.disclosures.industryEmployed`]: getRequiredError(\n disclosures && disclosures.industryEmployed === null ? false : true\n ),\n\n [`${accountHolderPrefix}.disclosuresStakeholderTickerSymbol`]: getRequiredError(\n disclosures && disclosures.stakeholder === BooleanToggleType.Yes\n ? accountHolder && accountHolder.disclosuresStakeholderTickerSymbol\n : true\n ),\n [`${accountHolderPrefix}.disclosuresIndustryEmployedFirmName`]: getRequiredError(\n disclosures && disclosures.industryEmployed === BooleanToggleType.Yes\n ? accountHolder && accountHolder.disclosuresIndustryEmployedFirmName\n : true\n ),\n [`${accountHolderPrefix}.disclosuresGovOfficialImmediateFamily`]: getRequiredError(\n disclosures && disclosures.govOfficial === BooleanToggleType.Yes\n ? accountHolder && accountHolder.disclosuresGovOfficialImmediateFamily\n : true\n ),\n [`${accountHolderPrefix}.disclosuresGovOfficialPoliticalOrg`]: getRequiredError(\n disclosures && disclosures.govOfficial === BooleanToggleType.Yes\n ? accountHolder && accountHolder.disclosuresGovOfficialPoliticalOrg\n : true\n ),\n };\n};\n\nconst validateAccountDisclosures = (values: ApplicationModel) => {\n const accountDisclosures = values.accountDisclosures;\n\n return {\n [`accountDisclosures.foreignBank`]: getRequiredError(\n accountDisclosures && accountDisclosures.foreignBank === null ? false : true\n ),\n [`accountDisclosures.foreignShellBank`]: getRequiredError(\n accountDisclosures && accountDisclosures.foreignShellBank === null ? false : true\n ),\n [`accountDisclosures.foreignFinancialInstitution`]: getRequiredError(\n accountDisclosures && accountDisclosures.foreignFinancialInstitution === null ? false : true\n ),\n [`accountDisclosures.proprietarySecuritiesAccount`]: getRequiredError(\n accountDisclosures && accountDisclosures.proprietarySecuritiesAccount === null ? false : true\n ),\n };\n};\n\nconst validateMarketDataQuestionnaire = (values: ApplicationModel) => {\n const marketData = values.marketData;\n const marketDataType = values.marketDataType;\n\n const isProCheck = (values: ApplicationModel) => {\n const { primaryAccountHolder } = values;\n const { disclosures } = primaryAccountHolder;\n const { marketData } = values;\n\n if (\n disclosures.industryEmployed === BooleanToggleType.Yes ||\n disclosures.stakeholder === BooleanToggleType.Yes ||\n disclosures.govOfficial === BooleanToggleType.Yes ||\n marketData.personalUse === BooleanToggleType.No ||\n marketData.associationRegistration === BooleanToggleType.Yes ||\n marketData.benefitsReceived === BooleanToggleType.Yes ||\n marketData.capitalTrading === BooleanToggleType.Yes ||\n marketData.corporationTrading === BooleanToggleType.Yes ||\n marketData.investmentProfessional === BooleanToggleType.Yes ||\n marketData.secCftcRegistration === BooleanToggleType.Yes ||\n marketData.jobFunctions === BooleanToggleType.Yes\n ) {\n return true;\n } else {\n return false;\n }\n };\n\n const isPro = isProCheck(values);\n\n const {\n associationRegistration,\n benefitsReceived,\n capitalTrading,\n investmentProfessional,\n jobFunctions,\n personalUse,\n secCftcRegistration,\n } = marketData;\n\n if (!personalUse) {\n return {\n [`marketData.personalUse`]: getRequiredError(personalUse),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n investmentProfessional === BooleanToggleType.Yes &&\n capitalTrading === BooleanToggleType.Yes &&\n isPro &&\n !marketDataType\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n [`marketData.capitalTrading`]: getRequiredError(capitalTrading),\n [`marketData.benefitsReceived`]: getRequiredError(benefitsReceived),\n [`marketDataType`]: getRequiredError(marketDataType),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n investmentProfessional === BooleanToggleType.Yes &&\n capitalTrading === BooleanToggleType.Yes &&\n !isPro\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n [`marketData.capitalTrading`]: getRequiredError(capitalTrading),\n [`marketData.benefitsReceived`]: getRequiredError(benefitsReceived),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n investmentProfessional === BooleanToggleType.Yes &&\n isPro &&\n !marketDataType\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n [`marketData.capitalTrading`]: getRequiredError(capitalTrading),\n [`marketDataType`]: getRequiredError(marketDataType),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n investmentProfessional === BooleanToggleType.Yes &&\n !isPro\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n [`marketData.capitalTrading`]: getRequiredError(capitalTrading),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n isPro &&\n !marketDataType\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n [`marketDataType`]: getRequiredError(marketDataType),\n };\n }\n\n if (\n personalUse === BooleanToggleType.Yes &&\n (associationRegistration === BooleanToggleType.Yes ||\n secCftcRegistration === BooleanToggleType.Yes ||\n jobFunctions === BooleanToggleType.Yes) &&\n !isPro\n ) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n [`marketData.investmentProfessional`]: getRequiredError(investmentProfessional),\n };\n }\n\n if (personalUse === BooleanToggleType.Yes && (!associationRegistration || !secCftcRegistration || !jobFunctions)) {\n return {\n [`marketData.associationRegistration`]: getRequiredError(associationRegistration),\n [`marketData.secCftcRegistration`]: getRequiredError(secCftcRegistration),\n [`marketData.jobFunctions`]: getRequiredError(jobFunctions),\n };\n }\n};\n\nconst validateServiceProfile = (values: ApplicationModel) => {\n const serviceProfile = values.serviceProfile;\n\n return {\n [`serviceProfile.issuerDirectCommunication`]: getRequiredError(\n serviceProfile && serviceProfile.issuerDirectCommunication === null ? false : true\n ),\n };\n};\n\nconst validateAccountAgreements = (values: ApplicationModel) => {\n const agreementValues = values.agreements;\n const agreeToElectronicConsent = values.agreeToElectronicConsent;\n const accountAgreementKeys = getAllAgreementKeysForApplication(values);\n let errorAgreements = [];\n let errors: { [key: string]: any } = {};\n\n if (agreeToElectronicConsent) {\n for (let index = 0; index < accountAgreementKeys.length; index++) {\n const agreementKey = accountAgreementKeys[index];\n const value = _.get(agreementValues, agreementKey);\n if (value === null || value === 'no') {\n errorAgreements.push(agreementKey);\n }\n }\n\n for (let index = 0; index < errorAgreements.length; index++) {\n const error = errorAgreements[index];\n errors[error] = 'error';\n }\n\n const agreements = {\n agreements: errors,\n };\n\n if (_.isEmpty(errors)) {\n return null;\n }\n return agreements;\n } else {\n return null;\n }\n};\n\nconst validatePublicOfficialsFields = (values: ApplicationModel) => {\n return {\n ..._.reduce(\n values.disclosuresEntityPublicOfficials,\n (acc, p, i) => ({\n ...acc,\n [`disclosuresEntityPublicOfficials[${i}].name`]: getRequiredError(p.name),\n [`disclosuresEntityPublicOfficials[${i}].role`]: getRequiredError(p.role),\n [`disclosuresEntityPublicOfficials[${i}].title`]: getRequiredError(p.title),\n [`disclosuresEntityPublicOfficials[${i}].organization`]: getRequiredError(p.organization),\n [`disclosuresEntityPublicOfficials[${i}].familyNames`]: getRequiredError(p.familyNames),\n }),\n {}\n ),\n };\n};\n\nconst validateSign = (values: ApplicationModel) => {\n const ownerNames = getOwnerNamesForSignStep(values);\n return {\n ..._.reduce(\n ownerNames,\n (acc: { [key: string]: string | undefined }, name, i) => {\n return {\n ...acc,\n [`signedNames[${i}]`]:\n getRequiredError(values.signedNames && values.signedNames[i]) ||\n getInvalidError(values.signedNames && values.signedNames[i] && values.signedNames[i] === name),\n };\n },\n {}\n ),\n 'entity.secretaryName':\n values.type === ApplicationType.Entity &&\n _.includes([EntityAccountType.CCorporation, EntityAccountType.SCorporation], values.entityAccountType)\n ? getRequiredError(values.entity && values.entity.secretaryName)\n : undefined,\n };\n};\n\nconst validateDate = (values: ApplicationModel, key: string, testOver18 = false) => {\n const prefix = `${key}.`;\n const date = dayjs(\n `${_.get(values, `${prefix}month`)}/${_.get(values, `${prefix}day`)}/${_.get(values, `${prefix}year`)}`\n );\n\n return {\n [`${prefix}month`]: getRequiredError(_.get(values, `${prefix}month`)),\n [`${prefix}day`]: getRequiredError(_.get(values, `${prefix}day`)) || getInvalidDateError(_.get(values, key)),\n [`${prefix}year`]:\n getRequiredError(_.get(values, `${prefix}year`)) ||\n (testOver18 && getInvalidError(date.isValid() && date.isBefore(dayjs().subtract(18, 'year')))),\n };\n};\n\n// Promise parser for parsing xml to json\nconst promisesParser = (string: string) => {\n return new Promise(function(resolve, reject) {\n xml2js.parseString(string, (err, result) => {\n if (err) {\n return reject(err);\n } else {\n return resolve(result);\n }\n });\n });\n};\n\n// USPS Address Verification\nconst uspsVerification = async (values: ApplicationModel, field?: string) => {\n const prefix = `${field || 'address'}.`;\n const baseURL = config.uspsBaseUrl;\n const uspsId = config.uspsId;\n\n const requestConfig = {\n Headers: {\n 'Content-Type': 'text/xml',\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Credentials': true,\n 'Access-Control-Allow-Methods': 'GET',\n },\n method: 'get',\n };\n\n // User Input - Address Values\n let address = {\n address1: _.get(values, `${prefix}address1`),\n address2: _.get(values, `${prefix}address2`),\n city: _.get(values, `${prefix}city`),\n state: _.get(values, `${prefix}state`),\n postalCode: _.get(values, `${prefix}postalCode`),\n country: _.get(values, `${prefix}country`),\n };\n\n const { address1, address2, city, state, postalCode, country } = address;\n\n // Build XML Request\n const xml = `
${encodeURIComponent(\n address1\n )}${encodeURIComponent(\n address2\n )}${city}${state}${postalCode}
`;\n\n // Utility function to simplify address for comparison\n // Removes common suffixes, unit indicators, directional abbreviations, and whitespace\n const simplifyAddress = (address: string) => {\n return address\n .toUpperCase()\n .replace(\n /\\b(STREET|ST\\.?|ROAD|RD\\.?|AVENUE|AVE\\.?|BOULEVARD|BLVD\\.?|DRIVE|DR\\.?|LANE|LN\\.?|COURT|CT\\.?|CIRCLE|CIR\\.?|TERRACE|TER\\.?|PLACE|PL\\.?|LOOP|LOOP|HIGHWAY|HWY\\.?|PARKWAY|PKWY\\.?|ALLEY|ALY\\.?|PLAZA|PLZ\\.?|PATH|PATH|WAY|WAY)\\b/gi,\n '' // Remove common street suffixes\n )\n .replace(/\\b(UNIT|APT|APARTMENT|SUITE|STE|#)\\b/gi, '') // Normalize unit indicators\n .replace(/\\b(SOUTH|S\\.?|NORTH|N\\.?|EAST|E\\.?|WEST|W\\.?)\\b/gi, '') // Normalize directional abbreviations\n .replace(/\\s+/g, ' ') // Replace multiple whitespace with a single space\n .trim();\n };\n\n // Function to check if addresses are flipped in USPS validation response based on simplified comparison\n const isFlipped = (address1: string, address2: string) => {\n return _.includes(simplifyAddress(address1), simplifyAddress(address2));\n };\n\n // If address has been provided, excluding postal code, and country is US, then perform USPS verification\n try {\n if (address1 && city && state && country === Country.UnitedStatesOfAmerica) {\n const response = await fetch(`${baseURL}${xml}`, requestConfig);\n const xmlText = await response.text();\n const xmlResult: any = await promisesParser(xmlText);\n const { AddressValidateResponse } = xmlResult;\n const { Address } = AddressValidateResponse;\n\n const { City, State, Zip5, Zip4, Address1, Address2, Error } = Address[0];\n if (Error) {\n // Handle API error response\n const { Number, Source, Description } = Error[0];\n return {\n error: {\n number: Number[0],\n source: Source[0],\n description: Description[0],\n },\n };\n } else {\n // Extract address lines from API response\n let address1Value = Address1 ? Address1[0] : null;\n let address2Value = Address2 ? Address2[0] : null;\n\n // Correct the address lines if they have been flipped\n if (!address1Value) {\n address1Value = address2Value;\n address2Value = null;\n } else if (Address1 && isFlipped(address1, address2Value)) {\n // Swap the address lines using array destructuring\n [address1Value, address2Value] = [address2Value, address1Value];\n }\n\n // Return the corrected and standardized address components\n return {\n city: City[0] || '',\n state: State[0] || '',\n zip5: Zip5[0] || '',\n zip4: Zip4[0] || '',\n uspsAddress1: address1Value || '',\n uspsAddress2: address2Value || null,\n };\n }\n }\n } catch (err) {\n console.error(err);\n }\n};\n\n// Function to get USPS response from storage\nconst getUspsResponseFromStorage = (prefix: any) => {\n const uspsResponseFromStorage = localStorage.getItem(`${prefix}uspsResponse`);\n return uspsResponseFromStorage && uspsResponseFromStorage !== 'undefined' ? uspsResponseFromStorage : null;\n};\n\n// Async function to handle USPS verification\nconst getUSPS = async (values: ApplicationModel, field: string | undefined) => {\n await new Promise(resolve => setTimeout(resolve, 100));\n return await uspsVerification(values, field);\n};\n\n// Function to validate the address using the USPS response\nconst validateWithUspsResponse = (\n uspsResponse: any,\n address: any,\n prefix: any,\n values: ApplicationModel,\n field: string\n) => {\n let isValidAddress = false;\n let uspsResponseValue;\n\n // Destructuring address object to get individual address components\n const { address1, address2, city, state, country } = address;\n\n // Check if a USPS response exists and is not 'undefined'\n if (uspsResponse && uspsResponse !== 'undefined') {\n // Parse the USPS response\n uspsResponseValue = JSON.parse(uspsResponse);\n\n // Extract relevant data from the parsed USPS response\n const { city, state, zip5, error, uspsAddress1, uspsAddress2 } = uspsResponseValue;\n\n // Format the city name for comparison\n const formattedCityCapitalized = _.capitalize(city);\n const startCaseCity = _.startCase(formattedCityCapitalized);\n\n // Compare each component of the address with the USPS response\n const isCityEqual = _.toLower(startCaseCity) === _.toLower(_.get(values, `${prefix}city`));\n const isZipEqual = zip5 === _.get(values, `${prefix}postalCode`);\n const isStateEqual = state === _.get(values, `${prefix}state`);\n const isAddressEqual = uspsAddress2\n ? uspsAddress1 === _.get(values, `${prefix}address1`).toUpperCase() &&\n uspsAddress2 === _.get(values, `${prefix}address2`).toUpperCase()\n : uspsAddress1 === _.get(values, `${prefix}address1`).toUpperCase();\n const isAddressCorrect = !error && isCityEqual && isZipEqual && isStateEqual && isAddressEqual;\n\n // Set the flag based on the address comparison results\n isValidAddress = isAddressCorrect;\n }\n // If address has been provided, excluding postal code, country is US but the current address is not valid, then perform USPS verification to retrieve valid address items or errors\n if (\n (address1 && city && state && country === Country.UnitedStatesOfAmerica && !isValidAddress) ||\n (address1 && address2 && city && state && country === Country.UnitedStatesOfAmerica && !isValidAddress)\n ) {\n // Set USPS Verification result to localStorage\n getUSPS(values, field).then(result => {\n localStorage.setItem(`${prefix}uspsResponse`, JSON.stringify(result));\n });\n }\n\n if (uspsResponseValue && address.country === Country.UnitedStatesOfAmerica) {\n const { city, state, zip5, error, uspsAddress1, uspsAddress2 } = uspsResponseValue;\n if (error && address.address1 && address.city && address.state && address.postalCode) {\n return {\n [`${prefix}postalCode`]: `${error.description.trim()} Please review the entered address.`,\n [`${prefix}city`]: `${error.description.trim()} Please review the entered address.`,\n [`${prefix}state`]: `${error.description.trim()} Please review the entered address.`,\n [`${prefix}address1`]: `${error.description.trim()} Please review the entered address.`,\n };\n }\n\n if (!address.address1 || !address.city) {\n localStorage.setItem(`${prefix}uspsResponse`, 'undefined');\n }\n\n if (city && state && zip5) {\n // Formatting for error message display of USPS response\n const formattedCityCapitalized = _.capitalize(city);\n const startCaseCity = _.startCase(formattedCityCapitalized);\n const isCityEqual = _.toLower(startCaseCity) === _.toLower(_.get(values, `${prefix}city`));\n const isZipEqual = zip5 === _.get(values, `${prefix}postalCode`);\n const isStateEqual = state === _.get(values, `${prefix}state`);\n const isAddress1Equal = uspsAddress1 === _.get(values, `${prefix}address1`).toUpperCase();\n const isAddress2Equal = uspsAddress2 === _.get(values, `${prefix}address2`).toUpperCase();\n\n const formattedAddress1 = uspsAddress1\n .toLowerCase()\n .split(' ')\n .map((s: string) => s.charAt(0).toUpperCase() + s.substring(1))\n .join(' ');\n const formattedAddress2 = uspsAddress2\n ? uspsAddress2\n .toLowerCase()\n .split(' ')\n .map((s: string) => s.charAt(0).toUpperCase() + s.substring(1))\n .join(' ')\n : null;\n\n // Required Errors\n if (!address.postalCode) {\n return {\n [`${prefix}postalCode`]: getRequiredError(_.get(values, `${prefix}postalCode`)),\n };\n }\n\n if (!address.city) {\n return {\n [`${prefix}city`]: getRequiredError(_.get(values, `${prefix}city`)),\n };\n }\n\n // USPS Verification Errors\n let errors = {};\n if (!isCityEqual) {\n errors = {\n ...errors,\n [`${prefix}city`]: `Please verify city. USPS Provided City: ${startCaseCity}`,\n };\n }\n if (!isZipEqual) {\n errors = {\n ...errors,\n [`${prefix}postalCode`]: `Please verify the zip code. USPS Provided Zip Code: ${zip5}`,\n };\n }\n if (!isStateEqual) {\n errors = {\n ...errors,\n [`${prefix}state`]: `Please verify the state. USPS Provided State: ${state}`,\n };\n }\n if (!isAddress1Equal) {\n errors = {\n ...errors,\n [`${prefix}address1`]: `Please utilize the USPS provided formatting: ${formattedAddress1}`,\n };\n }\n if (uspsAddress2 && !isAddress2Equal) {\n errors = {\n ...errors,\n [`${prefix}address2`]: `Please utilize the USPS provided formatting: ${formattedAddress2}`,\n };\n }\n return errors;\n }\n }\n};\n\n// TODO: Review localStorage usage\nconst validateAddress = (values: ApplicationModel, field?: string, validatePoBox = false) => {\n const prefix = `${field || 'address'}.`;\n const isMailing = _.toLower(prefix).includes('mailing');\n // are there other countries we need to require state for?\n const stateOrPostalCodeRequired = _.get(values, `${prefix}country`) === Country.UnitedStatesOfAmerica;\n\n const address = {\n address1: _.get(values, `${prefix}address1`),\n address2: _.get(values, `${prefix}address2`),\n city: _.get(values, `${prefix}city`),\n state: _.get(values, `${prefix}state`),\n postalCode: _.get(values, `${prefix}postalCode`),\n country: _.get(values, `${prefix}country`),\n };\n\n let uspsResponseFromStorage = getUspsResponseFromStorage(prefix);\n\n const uspsValidationErrors = validateWithUspsResponse(\n uspsResponseFromStorage,\n address,\n prefix,\n values,\n field || 'address'\n );\n if (Object.keys(uspsValidationErrors || {}).length > 0) {\n return uspsValidationErrors || {};\n }\n\n if (!isMailing) {\n return {\n [`${prefix}country`]: getRequiredError(_.get(values, `${prefix}country`)),\n [`${prefix}address1`]:\n getRequiredError(_.get(values, `${prefix}address1`)) ||\n getInvalidError(!RE_PO_BOX.test(_.get(values, `${prefix}address1`))) ||\n getInvalidLengthError(_.get(values, `${prefix}address1`).length <= 30) ||\n (_.get(values, `${prefix}address1`) && getInvalidError(_.trim(_.get(values, `${prefix}address1`)) !== '')),\n [`${prefix}address2`]:\n (_.get(values, `${prefix}address2`) && getInvalidError(!RE_PO_BOX.test(_.get(values, `${prefix}address2`)))) ||\n (_.get(values, `${prefix}address2`) &&\n getInvalidLengthError(_.get(values, `${prefix}address2`).length <= 30)) ||\n (_.get(values, `${prefix}address2`) && getInvalidError(_.trim(_.get(values, `${prefix}address2`)) !== '')),\n [`${prefix}postalCode`]: getRequiredError(\n stateOrPostalCodeRequired ? _.get(values, `${prefix}postalCode`) : true\n ),\n [`${prefix}city`]: getRequiredError(_.get(values, `${prefix}city`)),\n [`${prefix}state`]: getRequiredError(stateOrPostalCodeRequired ? _.get(values, `${prefix}state`) : true),\n };\n } else if (isMailing) {\n return {\n [`${prefix}country`]: getRequiredError(_.get(values, `${prefix}country`)),\n [`${prefix}address1`]:\n getRequiredError(_.get(values, `${prefix}address1`)) ||\n (_.get(values, `${prefix}address1`) && getInvalidError(_.trim(_.get(values, `${prefix}address1`)) !== '')),\n [`${prefix}address2`]:\n _.get(values, `${prefix}address2`) && getInvalidError(_.trim(_.get(values, `${prefix}address2`)) !== ''),\n [`${prefix}postalCode`]: getRequiredError(\n stateOrPostalCodeRequired ? _.get(values, `${prefix}postalCode`) : true\n ),\n [`${prefix}city`]: getRequiredError(_.get(values, `${prefix}city`)),\n [`${prefix}state`]: getRequiredError(stateOrPostalCodeRequired ? _.get(values, `${prefix}state`) : true),\n };\n }\n};\n\nconst validatePhones = (values: ApplicationModel, field?: string) => {\n const prefix = field ? `${field}.` : '';\n return _.reduce(\n _.get(values, `${prefix}phones`) || [{ type: undefined, phoneNumber: undefined }],\n (acc: { [key: string]: string | undefined }, phone: PhoneModel, i: number) => {\n return {\n ...acc,\n ...validatePhone(phone, `${prefix}phones[${i}]`, i === 0),\n };\n },\n {}\n );\n};\n\nconst validatePhoneNumber = (value: string) => {\n // Correct the regex pattern to allow multiple digits, underscores, and hyphens\n var regex = /^[0-9_-]+$/;\n // Check if the value matches the regex and if its length (not including \"-\") is greater than 10\n return regex.test(value) && value.replace(/-/g, '').length >= 10;\n};\n\nconst validatePhone = (value: PhoneModel | undefined, field: string, validateAllFields = true) => {\n return {\n [`${field}.type`]: getRequiredError(validateAllFields || (value && value.phoneNumber) ? value && value.type : true),\n [`${field}.phoneNumber`]:\n getRequiredError(validateAllFields || (value && value.type) ? value && value.phoneNumber : true) ||\n getInvalidError(\n validateAllFields || (value && value.phoneNumber) ? value && validatePhoneNumber(value.phoneNumber) : true\n ),\n };\n};\n\nconst validatePerson = (\n values: ApplicationModel,\n field: string | undefined,\n contactType?: PersonType | false,\n validateName = true\n) => {\n const prefix = field ? `${field}.` : '';\n const isDevelopmentEnv = process.env.REACT_APP_ENVIRONMENT === 'dev';\n\n return {\n [`${prefix}firstName`]:\n (validateName &&\n (getRequiredError(_.get(values, `${prefix}firstName`)) ||\n getInvalidError(\n isDevelopmentEnv\n ? RE_VALID_FIRST_NAME_WITH_NUMBERS.test(_.get(values, `${prefix}firstName`))\n : RE_VALID_FIRST_NAME.test(_.get(values, `${prefix}firstName`))\n ))) ||\n getInvalidLengthError(_.get(values, `${prefix}firstName`) && _.get(values, `${prefix}firstName`).length <= 40) ||\n getInvalidLegalNameError(\n _.get(values, `${prefix}firstName`).length + _.get(values, `${prefix}lastName`).length <= 60\n ),\n // middle initial should either be an empty string or a single letter\n [`${prefix}middleInitial`]:\n _.get(values, `${prefix}middleInitial`) &&\n (getInvalidError(RE_VALID_MIDDLE_INITIAL.test(_.get(values, `${prefix}middleInitial`))) ||\n getInvalidLengthError(_.get(values, `${prefix}middleInitial`).length <= 1)),\n [`${prefix}lastName`]:\n (validateName &&\n (getRequiredError(_.get(values, `${prefix}lastName`)) ||\n getInvalidError(\n isDevelopmentEnv\n ? RE_VALID_LAST_NAME_WITH_NUMBERS.test(_.get(values, `${prefix}lastName`))\n : RE_VALID_LAST_NAME.test(_.get(values, `${prefix}lastName`))\n ))) ||\n getInvalidLengthError(_.get(values, `${prefix}lastName`) && _.get(values, `${prefix}lastName`).length <= 40) ||\n getInvalidLegalNameError(\n _.get(values, `${prefix}firstName`).length + _.get(values, `${prefix}lastName`).length <= 60\n ),\n // suffix should either be an empty string or a string of letters\n [`${prefix}suffix`]:\n _.get(values, `${prefix}suffix`) &&\n (getInvalidError(RE_VALID_SUFFIX.test(_.get(values, `${prefix}suffix`))) ||\n getInvalidLengthError(_.get(values, `${prefix}suffix`).length <= 10) ||\n getInvalidError(_.get(values, `${prefix}suffix`) && !RE_PREFIX_PATTERN.test(_.get(values, `${prefix}suffix`)))),\n\n ...(contactType !== PersonType.AccountHolder ? validateAddress(values, `${prefix}address`) : {}),\n ...(contactType === PersonType.AccountHolder\n ? {\n [`${prefix}email`]: getEmailError(_.get(values, `${prefix}email`)),\n ...(_.get(values, `${prefix}email`)\n ? {\n [`${prefix}emailConfirm`]:\n getRequiredError(_.get(values, `${prefix}emailConfirm`)) ||\n getInvalidError(_.isEqual(_.get(values, `${prefix}email`), _.get(values, `${prefix}emailConfirm`))),\n }\n : undefined),\n }\n : {}),\n };\n};\n\nconst validatePersonDetails = (\n values: ApplicationModel,\n field: string | undefined,\n validateName = true,\n duplicateAccountCheck?: {\n isFetching: boolean;\n error?: boolean;\n errorMessage?: string[] | string | undefined;\n }\n) => {\n const prefix = field ? `${field}.` : '';\n const { isFetching, error, errorMessage } = duplicateAccountCheck || {\n isFetching: false,\n error: false,\n errorMessage: undefined,\n };\n\n const isForeign =\n values.primaryAccountHolder &&\n values.primaryAccountHolder.citizenshipCountry &&\n values.primaryAccountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica;\n if (values.type === 'Ugma' && prefix === 'secondaryAccountHolder.') {\n return {\n ...validatePerson(values, field, false, validateName),\n ...validateDate(values, `${prefix}dateOfBirth`, false),\n [`${prefix}ssn`]:\n (!isForeign &&\n (getRequiredError(_.get(values, `${prefix}ssn`)) ||\n getInvalidError(RE_SSN.test(_.get(values, `${prefix}ssn`))))) ||\n error\n ? errorMessage\n : undefined,\n };\n }\n return {\n ...validatePerson(values, field, false, validateName),\n ...validateDate(values, `${prefix}dateOfBirth`, true),\n [`${prefix}ssn`]:\n (!isForeign &&\n (getRequiredError(_.get(values, `${prefix}ssn`)) ||\n getInvalidError(RE_SSN.test(_.get(values, `${prefix}ssn`))))) ||\n error\n ? errorMessage\n : undefined,\n };\n};\n","import { combineReducers } from 'redux';\nimport { getType } from 'typesafe-actions';\nimport _ from 'lodash';\nimport dayjs from 'dayjs';\nimport { APINotAuthorizedResponseCode, ResponseCodes, SuccessResponseCode } from '@tradingblock/types';\nimport { InitialState, ApplicationUIState, ApplicationDataState } from './types';\nimport { UiActions, RootApplicationAction, ApplicationActions, TokenActions } from './actions';\nimport { getNumberOfSectionsInApplicationStep, getVisibleSectionsForApplicationStep } from '../services';\nimport { ApplicationStep, DefaultApplicationModel } from '../types';\n\nconst ui = (state = InitialState.ui, action: RootApplicationAction): ApplicationUIState => {\n switch (action.type) {\n case getType(UiActions.setSiteGrp): {\n const siteGrp = action.payload || '';\n return {\n ...state,\n siteGrp,\n };\n }\n case getType(UiActions.setClearer): {\n const clearer = action.payload || '';\n return {\n ...state,\n clearer,\n };\n }\n case getType(UiActions.setAffiliate): {\n const affiliate = action.payload || '';\n return {\n ...state,\n affiliate,\n };\n }\n case getType(UiActions.setAuthToken): {\n const { apiToken, storageToken } = action.payload || { apiToken: undefined, storageToken: undefined };\n return {\n ...state,\n apiToken,\n storageToken,\n };\n }\n case getType(ApplicationActions.receiveApplicationStatus): {\n const { responseCode } = action.payload;\n const apiRequestFailed = responseCode === APINotAuthorizedResponseCode;\n return {\n ...state,\n apiTokenExpired: apiRequestFailed ? true : state.apiTokenExpired,\n };\n }\n case getType(TokenActions.uiTokenExpired): {\n return {\n ...state,\n storageTokenExpired: true,\n };\n }\n case getType(ApplicationActions.requestSaveApplication): {\n return {\n ...state,\n scrollToSection: false,\n };\n }\n case getType(UiActions.setScrollToSection): {\n return {\n ...state,\n scrollToSection: action.payload.scrollToSection,\n };\n }\n case getType(UiActions.showNextSection): {\n return {\n ...state,\n visibleSections: state.visibleSections + 1,\n scrollToSection: action.payload.scrollToSection,\n };\n }\n case getType(UiActions.setStep): {\n const { step, application } = action.payload;\n const currentStep = state.step;\n const nextNumberOfSections = getNumberOfSectionsInApplicationStep(step, application);\n const nextVisibleSections = getVisibleSectionsForApplicationStep(step, application) || 1;\n\n if (\n step === currentStep &&\n state.numberOfSections === nextNumberOfSections &&\n state.visibleSections === nextVisibleSections\n ) {\n console.warn('attempting to update application step state to current values. skipping');\n return state;\n }\n return {\n ...state,\n step,\n numberOfSections: nextNumberOfSections,\n visibleSections: nextVisibleSections,\n };\n }\n case getType(UiActions.setNextPage): {\n const nextPage = action.payload;\n return {\n ...state,\n nextPage,\n };\n }\n case getType(UiActions.clearNextPage): {\n return {\n ...state,\n nextPage: undefined,\n };\n }\n case getType(ApplicationActions.requestUiData): {\n return {\n ...state,\n isFetching: true,\n };\n }\n case getType(ApplicationActions.receiveUiData): {\n const { responseCode, payload } = action.payload;\n const { userRequirements, heardAbout } = payload || { userRequirements: undefined, heardAbout: undefined };\n if (responseCode !== SuccessResponseCode) {\n console.warn('Fetching UI data failed: ', ResponseCodes[responseCode] && ResponseCodes[responseCode].name);\n }\n return {\n ...state,\n isFetching: false,\n userRequirements,\n heardAbout,\n };\n }\n\n default:\n return state;\n }\n};\n\nconst data = (state = InitialState.data, action: RootApplicationAction): ApplicationDataState => {\n switch (action.type) {\n case getType(ApplicationActions.requestApplicationStatus): {\n return {\n ...state,\n isFetchingStatus: true,\n status: undefined,\n };\n }\n case getType(ApplicationActions.receiveApplicationStatus): {\n const { payload, responseCode } = action.payload;\n const success = responseCode === SuccessResponseCode;\n return {\n ...state,\n isFetchingStatus: false,\n status: success ? payload : null,\n };\n }\n case getType(ApplicationActions.requestSaveApplication): {\n const { saveStep, saveType } = action.payload;\n return {\n ...state,\n isSaving: true,\n saveStep,\n saveType,\n createdUser: undefined,\n createdAccount: undefined,\n errorCode: undefined,\n };\n }\n case getType(ApplicationActions.receiveSaveApplication): {\n const { application, saveStep, saveType } = action.payload;\n return {\n ...state,\n isSaving: false,\n application,\n saveStep,\n saveType,\n };\n }\n case getType(ApplicationActions.requestPartialSaveApplication): {\n return {\n ...state,\n isSaving: true,\n saveType: 'partial',\n };\n }\n case getType(ApplicationActions.receivePartialSaveApplication): {\n const { application } = action.payload;\n return {\n ...state,\n isSaving: false,\n application,\n };\n }\n case getType(UiActions.showNextSection): {\n return {\n ...state,\n saveStep: undefined,\n saveType: undefined,\n };\n }\n case getType(UiActions.clearNextPage): {\n return {\n ...state,\n saveStep: undefined,\n saveType: undefined,\n };\n }\n case getType(ApplicationActions.requestCreateUser): {\n return {\n ...state,\n isSaving: true,\n saveStep: ApplicationStep.SecureAccount,\n saveType: 'continue',\n errorCode: undefined,\n };\n }\n case getType(ApplicationActions.receiveCreateUser): {\n const { errors, responseCode } = action.payload;\n const success = responseCode === SuccessResponseCode;\n const errorCode = success ? undefined : responseCode;\n return {\n ...state,\n isSaving: false,\n saveStep: undefined,\n saveType: undefined,\n createdUser: success,\n errorCode,\n errorMessages: errors,\n };\n }\n case getType(ApplicationActions.requestCreateAccount): {\n return {\n ...state,\n isSaving: true,\n errorCode: undefined,\n };\n }\n case getType(ApplicationActions.receiveCreateAccount): {\n const { payload, responseCode, errors } = action.payload;\n const success = responseCode === SuccessResponseCode;\n const errorCode = success ? undefined : responseCode;\n const application = {\n ...(state.application || DefaultApplicationModel),\n accountId: success && payload ? payload.accountId : undefined,\n applicationSentOn: dayjs()\n .utc()\n .toDate(),\n };\n return {\n ...state,\n isSaving: false,\n application: success ? application : state.application,\n createdAccount: success,\n errorCode,\n errorMessages: errors ? errors : undefined,\n };\n }\n case getType(ApplicationActions.requestDuplicateAccountCheck): {\n return {\n ...state,\n duplicateAccountCheck: {\n isFetching: true,\n },\n };\n }\n case getType(ApplicationActions.receiveDuplicateAccountCheck): {\n const { payload, responseCode } = action.payload;\n const success = responseCode === SuccessResponseCode;\n const duplicateAccountCheck = {\n isFetching: false,\n error: !success && payload ? true : false,\n errorMessage: !success && payload ? payload[0].toString() : undefined,\n };\n return {\n ...state,\n duplicateAccountCheck,\n };\n }\n case getType(ApplicationActions.requestCreatePartialEntityAccount): {\n return {\n ...state,\n isSaving: true,\n errorCode: undefined,\n };\n }\n case getType(ApplicationActions.receiveCreatePartialEntityAccount): {\n const { payload, responseCode } = action.payload;\n const success = responseCode === SuccessResponseCode;\n const errorCode = success ? undefined : responseCode;\n const application = {\n ...(state.application || DefaultApplicationModel),\n accountId: success && payload ? payload.accountId : undefined,\n applicationSentOn: dayjs()\n .utc()\n .toDate(),\n };\n return {\n ...state,\n isSaving: false,\n application: success ? application : state.application,\n createdAccount: success,\n errorCode,\n };\n }\n\n default:\n return state;\n }\n};\n\nexport const RootReducer = combineReducers({\n ui,\n data,\n});\n","import { createSelector } from 'reselect';\nimport { useSelector } from 'react-redux';\nimport _ from 'lodash';\nimport { ApplicationState } from './types';\nimport { SiteIds, AllSiteIds } from '../types';\n\nconst uiRootSelector = (state: ApplicationState) => state.ui;\nconst dataRootSelector = (state: ApplicationState) => state.data;\nconst siteGrp = createSelector(\n uiRootSelector,\n ui => ui.siteGrp\n);\nconst clearer = createSelector(\n uiRootSelector,\n ui => ui.clearer\n);\nexport const data = {\n ui: {\n siteGrp,\n siteId: createSelector(\n siteGrp,\n grp => {\n if (_.isNil(grp)) {\n return SiteIds.tb;\n }\n const cleanId = _.toLower(grp).trim();\n if (AllSiteIds.includes(cleanId)) {\n return cleanId;\n }\n return SiteIds.tb;\n }\n ),\n clearer,\n siteGrpParam: createSelector(\n uiRootSelector,\n ui => (ui.siteGrp ? `?grp=${ui.siteGrp}` : '')\n ),\n apiToken: createSelector(\n uiRootSelector,\n ui => ui.apiToken\n ),\n apiTokenExpired: createSelector(\n uiRootSelector,\n ui => ui.apiTokenExpired\n ),\n storageToken: createSelector(\n uiRootSelector,\n ui => ui.storageToken\n ),\n storageTokenExpired: createSelector(\n uiRootSelector,\n ui => (ui.storageTokenExpired === true ? true : false)\n ),\n step: createSelector(\n uiRootSelector,\n ui => ui.step\n ),\n visibleSections: createSelector(\n uiRootSelector,\n ui => ui.visibleSections\n ),\n sectionInfo: createSelector(\n uiRootSelector,\n ui => ({\n visibleSections: ui.visibleSections,\n numberOfSections: ui.numberOfSections,\n scrollToSection: ui.scrollToSection,\n })\n ),\n nextPage: createSelector(\n uiRootSelector,\n ui => ui.nextPage\n ),\n isFetching: createSelector(\n uiRootSelector,\n ui => ui.isFetching\n ),\n userRequirements: createSelector(\n uiRootSelector,\n ui => ui.userRequirements\n ),\n heardAbout: createSelector(\n uiRootSelector,\n ui => ui.heardAbout\n ),\n affiliate: createSelector(\n uiRootSelector,\n ui => ui.affiliate\n ),\n },\n data: {\n status: createSelector(\n dataRootSelector,\n data => data.status\n ),\n isFetchingStatus: createSelector(\n dataRootSelector,\n data => data.isFetchingStatus\n ),\n application: createSelector(\n dataRootSelector,\n data => data.application\n ),\n saveInfo: createSelector(\n dataRootSelector,\n data => ({ isSaving: data.isSaving, saveType: data.saveType, saveStep: data.saveStep })\n ),\n createdUser: createSelector(\n dataRootSelector,\n data => data.createdUser\n ),\n uploadState: createSelector(\n dataRootSelector,\n data => data.uploadState\n ),\n createdAccount: createSelector(\n dataRootSelector,\n data => data.createdAccount\n ),\n createErrorCode: createSelector(\n dataRootSelector,\n data => data.errorCode\n ),\n createErrorMessages: createSelector(\n dataRootSelector,\n data => data.errorMessages\n ),\n duplicateAccountValidation: createSelector(\n dataRootSelector,\n data => data.duplicateAccountCheck\n ),\n },\n};\n\ntype DataSelectors = typeof data;\n\nexport const useStateSelector = (sel: (state: ApplicationState) => T) =>\n useSelector(sel, _.isEqual);\nexport const useData = (sel: (selectors: DataSelectors) => (state: ApplicationState) => T) =>\n useSelector(sel(data), _.isEqual);\n","import { ApiFactory } from '@tradingblock/api';\nimport { useMemo } from 'react';\nimport { config } from '../config';\nimport { useData } from '../state/selectors';\n\nexport const buildApiClient = (url?: string, token?: string) => ApiFactory(url || config.tradingApi || '', token || '');\n\nexport const useApi = (): ReturnType => {\n const authToken = useData(d => d.ui.apiToken);\n const url = config.tradingApi;\n const api = useMemo(() => buildApiClient(url, authToken), [url, authToken]);\n return api;\n};\n","import { useState } from 'react';\nimport constate from 'constate';\nimport { MismatchedDataModalState } from '../types';\n\nconst ApplicationContext = () => {\n // use as tri-state:\n // undefined == nothing fetched (default)\n // true == currently fetching\n // false == finished fetch\n const [isFetching, setIsFetching] = useState();\n // use as tri-state:\n // undefined == not configured (default)\n // MismatchedDataModalState == current state\n // false == modal closed\n const [mismatchedDataModal, setMismatchedDataModal] = useState();\n const [navMenuOpen, setNavMenuOpen] = useState(false);\n const [formSubmitted, setFormSubmitted] = useState(false);\n\n const state = { isFetching, mismatchedDataModal, navMenuOpen, formSubmitted };\n const actions = { setIsFetching, setMismatchedDataModal, setNavMenuOpen, setFormSubmitted };\n const context: [typeof state, typeof actions] = [state, actions];\n return context;\n};\n\nexport const useApplication = constate(ApplicationContext);\n","import { useEffect } from 'react';\r\nimport { useHttpStore } from '@tradingblock/storage';\r\nimport { IStorageProvider, HttpProviderConfig } from '@tradingblock/types';\r\nimport { config } from '../config';\r\nimport { useData } from '../state/selectors';\r\nimport { useDispatch } from 'react-redux';\r\nimport { applicationApiClient } from '../api/apiClient';\r\n\r\nexport const useStore = () => {\r\n const baseDataUrl = config.dataUrl;\r\n const authToken = useData(d => d.ui.storageToken);\r\n if (!baseDataUrl) {\r\n console.warn('baseDataUrl must be set!');\r\n }\r\n const storage: IStorageProvider = useHttpStore(baseDataUrl || '', authToken);\r\n useEffect(() => {\r\n if (authToken && !storage.config.authToken) {\r\n storage.setConfig({ ...storage.config, authToken });\r\n }\r\n }, [authToken, storage]);\r\n return storage;\r\n};\r\n\r\nexport const useApplicationStore = () => {\r\n const dispatch = useDispatch();\r\n const storage: IStorageProvider = useStore();\r\n const apiClient = applicationApiClient(storage, dispatch);\r\n return apiClient;\r\n};\r\n","import { useStorageContext, buildStore } from '..';\nexport var getHttpStore = function getHttpStore(apiUrl, authToken) {\n return buildStore({\n kind: 'http',\n url: apiUrl,\n authToken: authToken\n });\n};\nexport var useHttpStore = function useHttpStore(apiUrl, authToken) {\n var store = useStorageContext({\n kind: 'http',\n url: apiUrl,\n authToken: authToken\n });\n return store;\n};","import { useStore } from '../context/StorageContext';\nimport { Dispatch } from 'redux';\nimport { RootApplicationAction, TokenActions } from '../state/actions';\nexport const applicationApiClient = (storage: ReturnType, dispatch: Dispatch) => {\n return {\n get: (key: string): Promise => {\n return storage.get(key).catch(err => {\n if (err && err.response) {\n const response = err.response;\n const status = response.status;\n if (status === 403) {\n dispatch(TokenActions.uiTokenExpired());\n }\n return undefined;\n }\n });\n },\n save: (key: string, value: T): Promise => {\n return storage.save(key, value).catch(err => {\n if (err && err.response) {\n const response = err.response;\n const status = response.status;\n if (status === 403) {\n dispatch(TokenActions.uiTokenExpired());\n }\n return undefined;\n }\n });\n },\n };\n};\nexport type ApplicationApiClient = ReturnType;\n","import { ApplicationModel } from '../types';\nimport { useStore } from '../context';\nimport { ApplicationApiClient } from './apiClient';\n\nexport const tryGetApplication = async (storage: ApplicationApiClient) => {\n try {\n const res = await storage.get('application');\n return res;\n } catch (err) {\n console.warn('storage get error ', err);\n return Promise.resolve(undefined);\n }\n};\n\nexport const trySaveApplication = async (storage: ApplicationApiClient, data: ApplicationModel) => {\n try {\n await storage.save('application', data);\n return true;\n } catch (err) {\n console.warn('storage save error ', err, data);\n return Promise.resolve(false);\n }\n};\n","import { getType, ActionType } from 'typesafe-actions';\nimport { Middleware, Dispatch } from 'redux';\nimport _ from 'lodash';\nimport { GenericErrorResponseCode, SuccessResponseCode, CreateUserData, SecurityChallenge } from '@tradingblock/types';\nimport { TryLogin, ApiFactory } from '@tradingblock/api';\nimport { RootApplicationAction, ApplicationActions, UiActions } from '../actions';\nimport { ApplicationState } from '../types';\nimport { buildApiClient } from '../../context';\nimport {\n cleanApplicationForSubmission,\n validateToken,\n getUploadDocumentTagForUploadKey,\n cleanApplicationForStorage,\n cleanEntityApplicaitonForPartialSubmission,\n} from '../../services';\nimport { trySaveApplication } from '../../api';\nimport { config } from '../../config';\nimport { UploadKey } from '../../types';\nimport { data } from '../selectors';\n\n// reference https://redux.js.org/advanced/middleware/ for best practices\n\nexport const applicationMiddleware: Middleware, ApplicationState> = middleware => (\n next: Dispatch\n) => (action: RootApplicationAction) => {\n try {\n const result = next(action);\n const state = middleware.getState();\n\n switch (action.type) {\n case getType(ApplicationActions.requestUiData):\n fetchUiData(middleware.dispatch, action);\n break;\n case getType(ApplicationActions.requestApplicationStatus):\n handleApplicationStatus(middleware.dispatch, state, action);\n break;\n case getType(ApplicationActions.requestSaveApplication):\n handleSaveApplication(middleware.dispatch, action);\n break;\n case getType(ApplicationActions.requestPartialSaveApplication):\n handlePartialSaveApplication(middleware.dispatch, action);\n break;\n case getType(ApplicationActions.requestCreateUser):\n handleCreateUser(middleware.dispatch, state, action);\n break;\n case getType(ApplicationActions.requestUploadDocuments):\n handleUploadDocuments(middleware.dispatch, state, action);\n break;\n case getType(ApplicationActions.requestCreateAccount):\n handleCreateAccount(middleware.dispatch, state, action);\n break;\n case getType(ApplicationActions.requestDuplicateAccountCheck):\n handleDuplicateAccountCheck(middleware.dispatch, state, action);\n break;\n case getType(ApplicationActions.requestCreatePartialEntityAccount):\n handleCreatePartialEntityAccount(middleware.dispatch, state, action);\n break;\n }\n return result;\n } catch (err) {\n console.error('applicationMiddleware :: Caught an exception for action ', action, err);\n }\n};\n\nconst fetchUiData = async (\n dispatch: Dispatch,\n action: ActionType\n) => {\n const { siteConfigId } = action.payload;\n const api = buildApiClient();\n const isVirtual = config.isVirtual;\n try {\n const responseUserRequirements = await api.application.getUserRequirements();\n const responseHeardAbout = !isVirtual\n ? await api.application.getHeardAbout(siteConfigId)\n : { payload: [], responseCode: SuccessResponseCode };\n const response = {\n responseCode: responseUserRequirements.responseCode || responseHeardAbout.responseCode,\n payload: {\n userRequirements: responseUserRequirements.payload,\n heardAbout: responseHeardAbout.payload,\n },\n };\n dispatch(ApplicationActions.receiveUiData(response));\n } catch (err) {\n console.error('applicationMiddleware :: fetching UI data for application failed: ', err);\n dispatch(ApplicationActions.receiveUiData({ payload: undefined, responseCode: GenericErrorResponseCode }));\n }\n};\n\nconst handleDuplicateAccountCheck = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient(undefined, state.ui.apiToken);\n try {\n const response = await api.application.duplicateAccountCheck(action.payload);\n dispatch(ApplicationActions.receiveDuplicateAccountCheck(response));\n } catch (err) {\n console.error('applicationMiddleware :: checking for duplicate account failed: ', err);\n }\n};\n\nconst handleApplicationStatus = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient(undefined, state.ui.apiToken);\n try {\n const response = await api.application.getApplicationStatus(action.payload.accountId);\n dispatch(ApplicationActions.receiveApplicationStatus(response));\n } catch (err) {\n console.error('applicationMiddleware :: fetching status for application failed: ', err);\n dispatch(ApplicationActions.receiveApplicationStatus({ payload: null, responseCode: GenericErrorResponseCode }));\n }\n};\n\nconst handleSaveApplication = async (\n dispatch: Dispatch,\n action: ActionType\n) => {\n const { application, saveStep, saveType, storage } = action.payload;\n\n let result = true;\n const data = cleanApplicationForStorage(application);\n if (storage && storage.config.authToken) {\n // try to save application data\n result = await trySaveApplication(storage, data);\n } else {\n // for now ignore saving if we don't have authToken\n console.warn('applicationMiddleware :: SKIPPED saving application b/c no authToken ', data);\n }\n if (result) {\n dispatch(ApplicationActions.receiveSaveApplication({ application: data, saveStep, saveType }));\n } else {\n dispatch(ApplicationActions.receiveSaveApplication({ application: undefined, saveStep, saveType }));\n }\n};\n\nconst handlePartialSaveApplication = async (\n dispatch: Dispatch,\n action: ActionType\n) => {\n const { application, storage } = action.payload;\n const data = cleanApplicationForStorage(application);\n let result = true;\n if (storage && storage.config.authToken) {\n // try to save application data\n result = await trySaveApplication(storage, data);\n } else {\n // for now ignore saving if we don't have authToken\n console.warn('applicationMiddleware :: SKIPPED saving application b/c no authToken ', data);\n }\n\n if (result) {\n dispatch(ApplicationActions.receivePartialSaveApplication({ application: data }));\n } else {\n // dispatch(ApplicationActions.receivePartialSaveApplication({application: undefined}));\n }\n};\n\nconst handleCreateUser = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient();\n const { application } = action.payload;\n\n const securityChallenges: SecurityChallenge[] = _.map(application.securityChallenges as SecurityChallenge[], s => ({\n securityQuestionType: s.securityQuestionType,\n answer: s.answer,\n }));\n const createData: CreateUserData = {\n // \"createInstantAccount\" should only be true for virtual environment\n createInstantAccount: config.isVirtual,\n firstName: (application.primaryAccountHolder && application.primaryAccountHolder.firstName) || '',\n lastName: (application.primaryAccountHolder && application.primaryAccountHolder.lastName) || '',\n email: (application.primaryAccountHolder && application.primaryAccountHolder.email) || '',\n userName: application.userName || '',\n passwordSecret: application.password || '',\n securityChallenges,\n siteId: data.ui.siteId(state),\n };\n\n try {\n // try to create the new user\n const response = await api.application.createUser(createData);\n\n // if createUser succeeded and not for virtual application, try to login so we can store authToken\n if (response.responseCode === SuccessResponseCode && !config.isVirtual) {\n const authToken = await TryLogin(\n { username: createData.userName, password: createData.passwordSecret, clientType: 'application' },\n { host: config.loginUrl, subdirectory: config.subdirectory }\n ).then(({ token, success }) => (success ? token : undefined));\n const tokenRes = await validateToken(authToken || '');\n if (!tokenRes) {\n throw new Error('TryLogin failed for new user credentials');\n }\n // store new token in state\n dispatch(UiActions.setAuthToken({ apiToken: tokenRes.decoded.token, storageToken: tokenRes.value }));\n }\n dispatch(ApplicationActions.receiveCreateUser(response));\n } catch (err) {\n console.error('applicationMiddleware :: creating user for application failed: ', err, createData);\n dispatch(ApplicationActions.receiveCreateUser({ payload: undefined, responseCode: GenericErrorResponseCode }));\n }\n};\n\nconst handleUploadDocuments = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient(undefined, state.ui.apiToken);\n const { documents, uploadKey } = action.payload;\n _.forEach(documents, d => uploadDocument(api, dispatch, d, uploadKey));\n};\n\nconst uploadDocument = async (\n api: ReturnType,\n dispatch: Dispatch,\n document: File,\n uploadKey: UploadKey\n) => {\n try {\n const response = await api.application.uploadDocument(document, getUploadDocumentTagForUploadKey(uploadKey));\n dispatch(\n ApplicationActions.receiveUploadDocument({ ...response, payload: { document: response.payload, uploadKey } })\n );\n } catch (err) {\n console.error('applicationMiddleware :: uploading document for application failed: ', err, document);\n dispatch(\n ApplicationActions.receiveUploadDocument({\n payload: { document: { filename: document.name }, uploadKey },\n responseCode: GenericErrorResponseCode,\n })\n );\n }\n};\n\nconst handleCreateAccount = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient(undefined, state.ui.apiToken);\n const { application } = action.payload;\n\n try {\n const heardAbout = state.ui.heardAbout;\n const data = cleanApplicationForSubmission(application, heardAbout);\n const response = await api.application.createAccount(data);\n dispatch(ApplicationActions.receiveCreateAccount(response));\n } catch (err) {\n console.error('applicationMiddleware :: creating account for application failed: ', err, application);\n dispatch(ApplicationActions.receiveCreateAccount({ payload: undefined, responseCode: GenericErrorResponseCode }));\n }\n};\n\nconst handleCreatePartialEntityAccount = async (\n dispatch: Dispatch,\n state: ApplicationState,\n action: ActionType\n) => {\n const api = buildApiClient(undefined, state.ui.apiToken);\n const { application } = action.payload;\n\n try {\n const heardAbout = state.ui.heardAbout;\n const data = await cleanEntityApplicaitonForPartialSubmission(application, heardAbout);\n const response = await api.application.createAccount(data);\n dispatch(ApplicationActions.receiveCreatePartialEntityAccount(response));\n } catch (err) {\n console.error(\n 'applicationMiddleware :: creating partial entity account for application failed: ',\n err,\n application\n );\n dispatch(\n ApplicationActions.receiveCreatePartialEntityAccount({\n payload: undefined,\n responseCode: GenericErrorResponseCode,\n })\n );\n }\n};\n","import createSagaMiddleware from 'redux-saga';\nimport { applyMiddleware } from 'redux';\nimport { applicationMiddleware } from './applicationMiddleware';\n\n// Create the middleware instance.\nconst sagaMiddleware = createSagaMiddleware();\nexport const setupMiddleware = () => {\n const middleware = applyMiddleware(...[sagaMiddleware, applicationMiddleware]);\n return {\n middleware,\n sagaMiddleware,\n };\n};\n","import { createStore, compose } from 'redux';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport _ from 'lodash';\nimport { RootReducer } from './reducer';\nimport { config } from '../config';\nimport { setupMiddleware } from './middleware';\n\nconst composeEnhancers = config.isProduction\n ? compose\n : composeWithDevTools({\n predicate: (state, action) => _.get(action, 'meta.verbose', false) !== true,\n });\n\n// Setup the middleware instance.\nconst { middleware } = setupMiddleware();\nexport const DataStore = createStore(RootReducer, composeEnhancers(middleware));\n","import { Dispatch } from 'redux';\nimport { useDispatch } from 'react-redux';\nimport { RootApplicationAction } from '../state/actions';\n\nexport const useDispatcher = () => {\n return useDispatch>();\n};\n","import { useCallback } from 'react';\nimport { useLocalStorage, ExpireTokenInStorage } from '@tradingblock/storage';\nimport { useDispatch } from 'react-redux';\nimport { UiActions, ApplicationActions } from '../state/actions';\n\nexport const useLogout = () => {\n const localStorage = useLocalStorage();\n const dispatch = useDispatch();\n const logout = useCallback(() => {\n ExpireTokenInStorage(localStorage);\n dispatch(UiActions.setAuthToken(undefined));\n dispatch(ApplicationActions.receiveSaveApplication({ application: undefined, saveType: 'unload' }));\n }, [localStorage]);\n return logout;\n};\n","import React, { useEffect, useState, useMemo, useRef } from 'react';\nimport _ from 'lodash';\nimport { useLocalStorage, ExpireTokenInStorage, TokenFromStorage } from '@tradingblock/storage';\nimport { Section, LocalizeLoading as Loading } from '@tradingblock/components';\nimport { ApplicationStep, AllApplicationSteps } from '../../types';\nimport { useApplication, useStore, useApplicationStore } from '../../context';\nimport { getApplicationStepUrl, validateToken } from '../../services';\nimport { tryGetApplication, applicationApiClient } from '../../api';\nimport { useData } from '../../state/selectors';\nimport { UiActions, ApplicationActions } from '../../state/actions';\nimport { useDispatcher } from '../hooks';\nimport config from '../../config';\nimport { useLogout } from '../../hooks/useLogout';\n\ninterface ApplicationLoaderProps {\n logout?: boolean;\n allowAnonymous?: boolean;\n empty?: boolean;\n defaultRedirect?: string;\n}\n\nexport const ApplicationLoader: React.FC = ({\n logout,\n allowAnonymous,\n empty,\n defaultRedirect,\n children,\n}) => {\n const mounted = useRef();\n const store = useApplicationStore();\n\n const localStorage = useLocalStorage();\n const dispatch = useDispatcher();\n const [{ isFetching }, { setIsFetching }] = useApplication();\n const authToken = useData(d => d.ui.apiToken);\n const application = useData(d => d.data.application);\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n const step = useData(d => d.ui.step);\n const userRequirements = useData(d => d.ui.userRequirements);\n const heardAbout = useData(d => d.ui.heardAbout);\n const isFetchingUiData = useData(d => d.ui.isFetching);\n const nextPage = useData(d => d.ui.nextPage);\n\n const onLogout = useLogout();\n const [isRehydrating, setIsRehydrating] = useState();\n\n const isApplicationLoading = useMemo(() => {\n const urlMatch = /^\\/apply\\/(\\w+)$/.exec(window.location.pathname);\n if (urlMatch) {\n // handle first step different, since token might not be present\n if (urlMatch[1] === ApplicationStep.SecureAccount) {\n return false;\n }\n if (_.includes(AllApplicationSteps, urlMatch[1])) {\n return !step || (authToken && !application);\n }\n if (urlMatch[1] === 'summary') {\n return !application;\n }\n }\n return false;\n }, [step, authToken, application]);\n useEffect(() => {\n if (!userRequirements || !heardAbout) {\n dispatch(ApplicationActions.requestUiData({ siteConfigId: siteGrp === 'mb' ? 4 : 2 }));\n }\n }, [userRequirements, heardAbout, dispatch, siteGrp]);\n\n const sendToNextStep = useMemo(() => {\n let nextStep: ApplicationStep | 'summary' | 'home' | undefined = undefined;\n if (!authToken) {\n if (logout) {\n nextStep = 'home';\n } else if (!allowAnonymous) {\n nextStep = ApplicationStep.SecureAccount;\n }\n }\n if (nextStep && nextStep !== step && isRehydrating === false && isFetching === false) {\n // console.warn('sendToNextStep :: ', { nextStep, step, allowAnonymous });\n return nextStep;\n }\n return undefined;\n }, [authToken, isRehydrating, isFetching, logout, allowAnonymous, step]);\n\n const sendToNextUrl = useMemo(() => {\n if (sendToNextStep) {\n if (defaultRedirect) {\n return defaultRedirect;\n } else if (sendToNextStep === 'home') {\n return '/';\n } else {\n // console.warn('sending to nextStep url... ', sendToNextStep);\n return getApplicationStepUrl(sendToNextStep);\n }\n }\n return undefined;\n }, [sendToNextStep, defaultRedirect]);\n\n // rehydrate auth token from localStorage\n useEffect(() => {\n if (authToken) {\n if (logout) {\n onLogout();\n } else {\n setIsRehydrating(false);\n }\n } else if (isRehydrating === undefined) {\n setIsRehydrating(true);\n\n TokenFromStorage(localStorage)\n .then(async token => await validateToken(token || ''))\n .then(tokenRes => {\n // console.warn('ApplicationLoader :: fetched valid token from localstorage ', tokenRes);\n if (mounted.current) {\n if (tokenRes) {\n dispatch(UiActions.setAuthToken({ apiToken: tokenRes.decoded.token, storageToken: tokenRes.value }));\n }\n } else {\n console.warn('fetched authToken but ApplicationLoader is no longer mounted!');\n }\n setIsRehydrating(false);\n })\n .catch(() => {\n console.warn('failed to fetch authToken from storage!');\n setIsRehydrating(false);\n });\n }\n }, [authToken, isRehydrating, logout, onLogout, localStorage, dispatch]);\n\n // try to load application if needed\n useEffect(() => {\n const loadApplication = async () => {\n const res = await tryGetApplication(store);\n if (!mounted.current) {\n console.warn('loaded application but ApplicationLoader is no longer mounted!');\n return;\n }\n\n if (!_.isUndefined(res)) {\n const data = res || {};\n dispatch(ApplicationActions.receiveSaveApplication({ saveType: 'load', application: data }));\n }\n setIsFetching(false);\n };\n if (_.isUndefined(isFetching) && !application && isRehydrating === false && !sendToNextStep) {\n if (authToken && store && !config.isVirtual) {\n setIsFetching(true);\n loadApplication();\n } else {\n // if not signed in or on virtual app, don't fetch application\n setIsFetching(false);\n }\n }\n }, [isFetching, application, isRehydrating, authToken, sendToNextStep, store, setIsFetching, dispatch]);\n\n useEffect(() => {\n // send to next page if needed\n if (sendToNextUrl && !nextPage) {\n dispatch(UiActions.setNextPage(sendToNextUrl));\n }\n }, [sendToNextUrl, nextPage, dispatch]);\n\n useEffect(() => {\n mounted.current = true;\n // TODO: review the use of this effect, was limiting partial application's ability to load\n // return () => {\n // // keep track of mounted state of component\n // mounted.current = false;\n // };\n }, []);\n\n if (empty || (!authToken && !allowAnonymous)) {\n return null;\n }\n\n if (isFetching || isRehydrating || isApplicationLoading || nextPage) {\n return (\n
\n \n
\n );\n }\n\n return <>{children};\n};\n","import React, { useMemo, useCallback } from 'react';\nimport _ from 'lodash';\nimport { Section, Text, useLocalize, Errors as BaseErrors } from '@tradingblock/components';\nimport { BaseFormProps, ApplicationModel } from '../types';\nimport { getErrorData, getPrefixTextPropsForField, getErrorKeyForField, getITINTextPropsForField } from '../services';\n\ninterface ErrorsProps extends Pick, 'errors'> {\n values?: ApplicationModel;\n submitCount?: number;\n}\n\nexport const Errors: React.FC = ({ errors, submitCount, values, children }) => {\n const { getCleanTranslationKey } = useLocalize();\n const cleanErrors = useMemo(\n () =>\n _.reduce(\n errors,\n (errs: {}, err, key) => {\n if (\n err &&\n key &&\n (getCleanTranslationKey(key) !== getCleanTranslationKey(_.last(_.keys(errs)) || '') ||\n err !== _.last(_.values(errs)))\n ) {\n return { ...errs, [key]: err };\n }\n return errs;\n },\n {}\n ),\n [errors, getCleanTranslationKey]\n );\n\n const errorPrefixes = useMemo(\n () =>\n _.reduce(\n cleanErrors,\n (prefixes: { [key: string]: JSX.Element }, _err, key) => {\n const prefixTextProps = getPrefixTextPropsForField(key, values);\n if (prefixTextProps) {\n return {\n ...prefixes,\n [key]: ,\n };\n }\n return prefixes;\n },\n {}\n ),\n [cleanErrors, values]\n );\n\n const errorDefaults = useMemo(\n () =>\n _.reduce(\n cleanErrors,\n (defaults: { [key: string]: JSX.Element }, _err, key) => {\n const itinTextProps = getITINTextPropsForField(key);\n if (itinTextProps) {\n return {\n ...defaults,\n itin: ,\n };\n }\n return defaults;\n },\n {}\n ),\n [cleanErrors]\n );\n\n const renderError = useCallback(\n (err: string, key: string) => {\n // if error has spaces, must be raw error text returned from api instead of error text key\n if (err && /\\s+/.test(err)) {\n return err;\n }\n return (\n \n );\n },\n [errorPrefixes, errorDefaults]\n );\n\n if (_.isEmpty(cleanErrors) || submitCount === 0) {\n return null;\n }\n\n return (\n
\n \n {children}\n
\n );\n};\n","import React from 'react';\nimport { FooterTeaser } from '@tradingblock/components';\nimport { useData } from '../state/selectors';\n\nexport const PageFooter: React.FC = () => {\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n const origin = useData(d => d.ui.siteGrp);\n\n return (\n
\n \n
\n );\n};\n","import React, { useMemo, useCallback } from 'react';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport _ from 'lodash';\nimport {\n Text,\n ContactPhone,\n BootstrapDropdown as Dropdown,\n Header,\n SubHeader,\n SiteLogo,\n ContactEmail,\n} from '@tradingblock/components';\nimport { ApplicationStep, AllApplicationSteps } from '../types';\nimport { getApplicationStepUrl, isApplicationStepInvalid } from '../services';\nimport { useApplication } from '../context';\nimport { useData } from '../state/selectors';\nimport { ApplicationType } from '@tradingblock/types';\n\nconst PageHeaderComponent: React.FC = ({ history }) => {\n const application = useData(d => d.data.application);\n const step = useData(d => d.ui.step);\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n const clearer = useData(d => d.ui.clearer);\n const [{ navMenuOpen }, { setNavMenuOpen }] = useApplication();\n\n const url = history.location.pathname;\n\n const showNavigation = useMemo(() => {\n // if already created account, always hide nav\n if (application && application.accountId) {\n return false;\n }\n // show nav when on a application page, and have application data loaded or not on customer service for new accts\n return _.startsWith(url, '/apply/') && (application || !_.endsWith(url, '/customer-service'));\n }, [url, application]);\n\n const currentStep = useMemo(() => (!_.endsWith(url, '/summary') ? step : undefined), [url, step]);\n const latestStep = useMemo(() => application && application.latestStepSaved, [application]);\n\n const canEdit = useCallback(\n (step: ApplicationStep) => {\n const stepIndex = _.indexOf(AllApplicationSteps, step);\n const latestStepIndex = latestStep && _.indexOf(AllApplicationSteps, latestStep);\n return (\n ((stepIndex === 0 || (!!latestStepIndex && latestStepIndex >= stepIndex)) &&\n !isApplicationStepInvalid(step, application, false, siteGrp, clearer)) && (application && application.type !== ApplicationType.Entity)\n );\n },\n [latestStep, application]\n );\n\n const onMenuToggle = (e: React.MouseEvent) => {\n e.preventDefault();\n setNavMenuOpen(!navMenuOpen);\n };\n\n const onMenuClose = () => {\n setNavMenuOpen(false);\n };\n\n return (\n
\n \n \n \n \n\n {showNavigation && (\n \n )}\n
\n );\n};\n\nexport const PageHeader = withRouter(PageHeaderComponent);\n\ninterface NavigationStepProps {\n step: ApplicationStep;\n current?: ApplicationStep;\n canEdit?: boolean;\n showLabel?: boolean;\n onClickLabel?: () => void;\n}\n\nconst NavigationStep: React.FC = ({ step, current, canEdit, showLabel, onClickLabel }) => {\n const stepIndex = useMemo(() => _.indexOf(AllApplicationSteps, step), [step]);\n const currentIndex = useMemo(() => _.indexOf(AllApplicationSteps, current), [current]);\n const isCurrent = useMemo(() => stepIndex > -1 && stepIndex === currentIndex, [stepIndex, currentIndex]);\n\n const className = useMemo(() => {\n if (isCurrent) {\n return 'nav-step nav-present';\n }\n if (canEdit) {\n return 'nav-step nav-past';\n }\n return 'nav-step nav-future';\n }, [isCurrent, canEdit]);\n\n const label = useMemo(() => {\n if (!showLabel) {\n return '';\n }\n const text = ;\n if (!isCurrent && canEdit) {\n return {text};\n }\n return text;\n }, [step, showLabel, isCurrent, canEdit]);\n\n return (\n
  • \n {label}\n
  • \n );\n};\n","import React, { useEffect } from 'react';\nimport { withLocalize, LocalizeContextProps } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { useLocalize, GetTradingBlockSiteName, setPageTitle } from '@tradingblock/components';\nimport { useData } from '../state/selectors';\n\ninterface PageTitleProps extends LocalizeContextProps {\n page: string;\n titleKey?: string;\n}\n\nconst PageTitleComponent: React.FC = ({ page, titleKey, translate }) => {\n const { getTranslationId } = useLocalize();\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n\n useEffect(() => {\n const siteName = GetTradingBlockSiteName(undefined, siteGroup);\n const title = translate(getTranslationId({ id: titleKey || 'title', page }), { siteGroup });\n if (_.isString(title) && !_.startsWith(title, 'Missing translationId')) {\n setPageTitle(title, siteName);\n }\n }, [page, titleKey, siteGroup, translate, getTranslationId]);\n\n return null;\n};\n\nexport const PageTitle = withLocalize(PageTitleComponent);\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { Redirect } from 'react-router';\nimport _ from 'lodash';\nimport { Section, Text } from '@tradingblock/components';\nimport { useDispatcher } from '../components/hooks';\nimport { ApplicationActions } from '../state/actions';\nimport { useStore } from '../context';\nimport { useData } from '../state/selectors';\nimport { PageTitle, ApplicationLoader, Errors } from '../components';\nimport { DefaultApplicationModel, ApplicationStep, ApplicationType } from '../types';\nimport { getApplicationStepUrl } from '../services';\nimport config from '../config';\n\nconst HomePage: React.FC = () => {\n const storage = useStore();\n const dispatch = useDispatcher();\n\n const authToken = useData(d => d.ui.apiToken);\n const application = useData(d => d.data.application);\n const { isSaving, saveType } = useData(d => d.data.saveInfo);\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n\n const showReset = authToken && /localhost/.test(window.location.host);\n\n const onResetApplication = () => {\n console.warn('HomePage :: clearing application...');\n const emptyApplication = { ..._.pick(application, 'objectKey'), ...DefaultApplicationModel };\n dispatch(ApplicationActions.requestSaveApplication({ saveType: 'unload', application: emptyApplication, storage }));\n };\n\n if (config.isVirtual) {\n return ;\n }\n\n // isNewOrContinue is a boolean that checks if the application is new or a continuation of an existing application\n // It is true if:\n // - application is falsy (null, undefined, etc.)\n // - application is truthy, application.accountId is falsy and application.type is ApplicationType.Entity and application.isPartialEntitySubmission is falsy\n // - application is an empty object\n const isNewOrContinue =\n !application ||\n (!(application.accountId && application.type === ApplicationType.Entity) &&\n !application.isPartialEntitySubmission) ||\n _.isEmpty(application);\n\n const isSubmitted = application && !_.isNil(application.applicationSentOn);\n\n // isCheckStatus is a boolean that checks if the application is eligible for status check\n // It is true if:\n // - application is truthy (not null, undefined, etc.)\n // - application.accountId is not null or undefined\n // - application.type is ApplicationType.Entity and application.isPartialEntitySubmission is truthy\n // The Boolean() function ensures that isCheckStatus is always either true or false, never undefined\n const isCheckStatus = Boolean(\n application &&\n (!_.isNil(application.accountId) ||\n (application.type === ApplicationType.Entity && application.isPartialEntitySubmission))\n );\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n \n
    \n
    \n \n
    \n {/*

    \n \n

    \n \n \n \n \n \n */}\n
    \n\n {!authToken && (\n

    \n \n \n \n

    \n )}\n {isNewOrContinue && !isSubmitted && (\n

    \n \n \n \n

    \n )}\n {isCheckStatus && (\n

    \n \n \n \n

    \n )}\n {showReset && (\n <>\n

    \n \n

    \n {!isSaving && saveType === 'unload' && (\n

    \n Application has been reset!\n

    \n )}\n \n )}\n {authToken && (\n

    \n \n \n \n

    \n )}\n
    \n \n );\n};\n\nexport default HomePage;\n","import React, { useEffect, useState } from 'react';\nimport useMount from 'react-use/lib/useMount';\nimport { Redirect } from 'react-router';\nimport _ from 'lodash';\nimport qs from 'qs';\nimport { IStorageEngine } from '@tradingblock/types';\nimport { useLocalStorage, TokenFromStorage, SaveTokenInStorage } from '@tradingblock/storage';\nimport { config } from '../config';\nimport { validateToken, getApplicationStepUrl } from '../services';\nimport { useData } from '../state/selectors';\nimport { useDispatcher } from '../components/hooks';\nimport { UiActions } from '../state/actions';\n\nconst tryGetToken = async (storage: IStorageEngine, tokenFromUrl?: string, tokenFromState?: string) => {\n const tokenFromLS = await TokenFromStorage(storage);\n const tokenVal = tokenFromUrl || tokenFromLS || tokenFromState;\n\n if (tokenVal) {\n const tokenResult = await validateToken(tokenVal);\n if (!tokenResult) {\n console.warn('token found was invalid', tokenVal);\n return null;\n }\n const { value, decoded } = tokenResult;\n const tokenPayload = { ...decoded, value };\n await SaveTokenInStorage(storage, value);\n return tokenPayload;\n } else {\n console.warn('token not found from url or local storage');\n return null;\n }\n};\n\nconst AuthenticationPage: React.FC = () => {\n const dispatch = useDispatcher();\n const storage = useLocalStorage();\n const tokenFromState = useData(d => d.ui.storageToken);\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n const urlParams = qs.parse(_.drop(window.location.hash, 1).join(''));\n const tokenFromUrl = _.isString(urlParams.id_token) ? (urlParams.id_token as string) : undefined;\n const nextPage = _.isString(urlParams.next)\n ? (urlParams.next as string)\n : getApplicationStepUrl('summary', siteGrp || urlParams.grp);\n\n const [currentToken, setCurrentToken] = useState();\n\n useMount(() =>\n tryGetToken(storage, tokenFromUrl, tokenFromState).then(tokenRes => {\n if (tokenRes) {\n dispatch(UiActions.setAuthToken({ apiToken: tokenRes.token, storageToken: tokenRes.value }));\n if (window.location.pathname.includes('/auth')) {\n setCurrentToken(tokenRes.token);\n }\n } else {\n setCurrentToken(null);\n }\n })\n );\n\n useEffect(() => {\n if (currentToken === null) {\n if (!siteGrp) {\n window.location.href = `${config.loginUrl}/?type=application&redirect=${config.authRedirect}/auth?grp=${urlParams.grp}`;\n } else {\n window.location.href = `${config.loginUrl}/?type=application&grp=${siteGrp}&redirect=${config.authRedirect}/auth?grp=${siteGrp}`;\n }\n }\n }, [currentToken, siteGrp]);\n\n if (!_.isNil(currentToken)) {\n return ;\n }\n\n return null;\n};\n\nexport default AuthenticationPage;\n","import React, { createContext, useContext, useEffect, useState } from 'react';\n\n// Define the context shape\ninterface LinkClickedContextType {\n linkClicked: boolean;\n setLinkClicked: React.Dispatch>;\n}\n\n// Create the context with an undefined default value (it will be set in the provider)\nconst LinkClickedContext = createContext(undefined);\n\n// Export a custom hook for consuming the context\nexport const useLinkClicked = () => {\n const context = useContext(LinkClickedContext);\n if (!context) {\n throw new Error('useLinkClicked must be used within a LinkClickedProvider');\n }\n return context;\n};\n\n// Context provider component\nexport const LinkClickedProvider: React.FC = ({ children }) => {\n const [linkClicked, setLinkClicked] = useState(false);\n\n return {children};\n};\n","import React from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Section, FormGroup, TextboxField, StepperField } from '@tradingblock/components';\nimport {\n AccountHolderDisclosureKey,\n AllAccountHolderDisclosureKeys,\n BooleanToggleType,\n AccountHolderDisclosureContingentFields,\n AllBooleanToggleTypes,\n ApplicationFormSection,\n AccountHolderType,\n ApplicationStep,\n AccountHolderField,\n DefaultAccountHolder,\n} from '../../../../types';\nimport { updateFieldsDependentOnAccountHolderDisclosure } from '../../../../services';\n\ninterface AccountHolderDisclosuresSectionProps extends ApplicationFormSection {\n type: AccountHolderType;\n}\n\nconst AccountHolderDisclosuresSection: React.FC = ({\n type,\n values,\n setValues,\n getText,\n}) => {\n const accountHolderIdx = type !== 'primary' ? 1 : 0;\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = values[fieldPrefix] || DefaultAccountHolder;\n\n // disclosure contingent fields (shown if answered yes)\n const getDisclosureContingentFields = (key: AccountHolderDisclosureKey) => {\n if (!AccountHolderDisclosureContingentFields[key]) {\n return null;\n }\n return (\n \n {_.map(AccountHolderDisclosureContingentFields[key], id => (\n
    \n \n
    \n
    \n ))}\n
    \n );\n };\n\n return (\n <>\n
    \n

    \n {getText(`accountHolderDisclosures.${type}`)}\n

    \n

    {getText('accountHolderDisclosures', 'description')}

    \n\n {_.map(AllAccountHolderDisclosureKeys, (d: AccountHolderDisclosureKey, i) => (\n
    \n

    {getText(`accountHolderDisclosures.${d}`)}

    \n \n \n setValues(updateFieldsDependentOnAccountHolderDisclosure(values, fieldPrefix, d, value))\n }\n />\n \n {accountHolder &&\n accountHolder.disclosures &&\n accountHolder.disclosures[d] === BooleanToggleType.Yes &&\n getDisclosureContingentFields(d)}\n
    \n ))}\n
    \n \n );\n};\n\nexport const PrimaryAccountHolderDisclosuresSection: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderDisclosuresSection: React.FC = props => {\n return ;\n};\n","import React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { DateModel } from '../../types';\nimport { isDateFilled, getDatePartOptions } from '../../services';\nimport {\n BaseFieldProps,\n FloatingLabelWrapper,\n FloatingLabelState,\n SelectDropdownField,\n Text,\n} from '@tradingblock/components';\n\ninterface DateFieldProps extends BaseFieldProps {}\n\nexport const DateField: React.FC = ({\n form,\n id,\n disabled,\n defaultLabelId,\n controlledLabel,\n onLabelStateChange,\n}) => {\n const { values, touched, errors, submitCount } = form;\n const value = useMemo(() => _.get(values, id), [values, id]);\n const error = _.get(touched, id) ? _.pickBy(errors, (err, key) => err && _.startsWith(key, id)) : undefined;\n const forPastDates = useMemo(() => _.endsWith(id, 'dateOfBirth') || _.endsWith(id, 'CreatedDate'), [id]);\n const [floatingLabelState, setFloatingLabelState] = useState({ isFilled: isDateFilled(value) });\n const updateFloatingLabelState = useCallback(\n (state: FloatingLabelState) => {\n setFloatingLabelState(state);\n if (onLabelStateChange) {\n onLabelStateChange(state);\n }\n },\n [onLabelStateChange]\n );\n useEffect(() => {\n if (!controlledLabel) {\n updateFloatingLabelState({ isFilled: isDateFilled(value), hasFocus: floatingLabelState.hasFocus });\n }\n }, [value, controlledLabel, floatingLabelState.hasFocus, updateFloatingLabelState]);\n const handleLabelStateChange = (state: FloatingLabelState) => {\n updateFloatingLabelState({\n isFilled: isDateFilled(value),\n hasFocus: !_.isUndefined(state.hasFocus) ? state.hasFocus : floatingLabelState.hasFocus,\n });\n };\n const getFieldProps = (key: keyof DateModel) => {\n return {\n component: SelectDropdownField,\n id: `${id}.${key}`,\n options: getDatePartOptions(key, forPastDates),\n disabled,\n defaultLabelId: defaultLabelId && `${defaultLabelId}.${key}`,\n optionsDefaultLabelId: key,\n useRawOptions: key === 'day' || key === 'year',\n controlledLabel: true,\n onLabelStateChange: handleLabelStateChange,\n };\n };\n\n return (\n <>\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n {!_.isEmpty(error) && !!submitCount && (\n \n \n \n )}\n \n );\n};\n","import React, { useMemo, useCallback } from 'react';\nimport { LocalizeContextProps, TranslatePlaceholderData, withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { Text, useLocalize } from '@tradingblock/components';\nimport { FieldRequirementType } from '../../types';\n\ninterface FieldRequirementProps extends LocalizeContextProps {\n type: FieldRequirementType;\n min: number | undefined;\n max?: number;\n valid?: boolean;\n data?: TranslatePlaceholderData;\n color?: string;\n}\n\nconst FieldRequirementContent: React.FC = ({ type, min, max, valid, data, translate, color }) => {\n const { getTranslationId } = useLocalize();\n\n const formatNumberAsTranslatedDigit = useCallback(\n (value: number | undefined) => {\n if (value && value < 10) {\n const translatedDigit = translate(getTranslationId({ id: `digits.${value}`, type: 'page' }));\n if (_.isString(translatedDigit)) {\n return translatedDigit;\n }\n }\n return `${value}`;\n },\n [translate, getTranslationId]\n );\n\n const fieldLabel = useMemo(() => {\n switch (type) {\n case 'length-min':\n case 'length-range':\n case 'special-min':\n case 'special-acceptable':\n return 'characters';\n case 'lower-min':\n case 'upper-min':\n return 'letters';\n case 'digit-min':\n return 'digits';\n case 'contains-username':\n case 'equals-email':\n return type;\n }\n }, [type]);\n\n const typeLabel = useMemo(() => {\n const fieldTypeId = `${fieldLabel}-label.${!min || min !== 1 ? 'plural' : 'singular'}`;\n const translatedLabel = translate(getTranslationId({ id: fieldTypeId, type: 'page' }));\n return _.isString(translatedLabel) ? translatedLabel : fieldLabel;\n }, [fieldLabel, min, translate, getTranslationId]);\n\n const textData = useMemo(\n () => ({\n ...data,\n min: max ? min : formatNumberAsTranslatedDigit(min),\n max,\n label: typeLabel,\n }),\n [data, min, max, typeLabel, formatNumberAsTranslatedDigit]\n );\n\n if (!min) {\n return null;\n }\n return (\n
  • \n {!_.isUndefined(valid) && (\n <>\n {' '}\n \n )}\n \n
  • \n );\n};\n\nexport const FieldRequirement = withLocalize(FieldRequirementContent);\n","import React, { useMemo, useCallback } from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { useData } from '../../state/selectors';\nimport { ApplicationModel, FieldRequirementType } from '../../types';\nimport { getFieldRequirements, isRequiredLengthValid, isRequiredDigitsValid, isRequiredLowercaseValid, isRequiredUppercaseValid, isRequiredSpecialCharsValid, getSpecialCharsAsHtml, isUserNameContainedInPassword, isUserNameEqualToEmail } from '../../services';\nimport { FieldRequirement } from './FieldRequirement';\n\ninterface FieldRequirementsHelpProps {\n values: ApplicationModel;\n field: keyof Pick;\n formSubmitted?: boolean;\n}\n\nexport const FieldRequirementsHelp: React.FC = ({ values, field, formSubmitted }) => {\n const value = values[field] || '';\n const userRequirements = useData(d => d.ui.userRequirements);\n const requirements = getFieldRequirements(field, userRequirements);\n\n const charData = useMemo(() => {\n return {\n chars: getSpecialCharsAsHtml(requirements.acceptableSpecialChars),\n };\n }, [requirements]);\n\n const hintValidation = (validationFunction: boolean) => {\n return validationFunction ? 'var(--teal)' : 'red'\n }\n\n const getFieldRequirementProps = useCallback(\n (type: FieldRequirementType) => {\n switch (type) {\n case 'length-min':\n case 'length-range':\n return {\n type,\n min: requirements.minLength,\n max: requirements.maxLength,\n valid: formSubmitted ? isRequiredLengthValid(value, requirements.minLength, requirements.maxLength) : undefined,\n color: hintValidation(isRequiredLengthValid(value, requirements.minLength, requirements.maxLength))\n };\n case 'lower-min':\n return {\n type,\n min: requirements.minLowerCount,\n valid: formSubmitted ? isRequiredLowercaseValid(value, requirements.minLowerCount) : undefined,\n color: hintValidation(isRequiredLowercaseValid(value, requirements.minLowerCount))\n };\n case 'upper-min':\n return {\n type,\n min: requirements.minUpperCount,\n valid: formSubmitted ? isRequiredUppercaseValid(value, requirements.minUpperCount) : undefined,\n color: hintValidation(isRequiredUppercaseValid(value, requirements.minUpperCount))\n };\n case 'digit-min':\n return {\n type,\n min: requirements.minDigitCount,\n valid: formSubmitted ? isRequiredDigitsValid(value, requirements.minDigitCount) : undefined,\n color: hintValidation(isRequiredDigitsValid(value, requirements.minDigitCount))\n };\n case 'special-min':\n return {\n type,\n min: requirements.minSpecialCount,\n valid: formSubmitted ? isRequiredSpecialCharsValid(value, requirements.minSpecialCount, requirements.acceptableSpecialChars) : undefined,\n color: hintValidation(isRequiredSpecialCharsValid(value, requirements.minSpecialCount, requirements.acceptableSpecialChars)),\n data: charData,\n };\n case 'special-acceptable':\n return {\n type,\n min: -1,\n valid: formSubmitted ? isRequiredSpecialCharsValid(value, 0, requirements.acceptableSpecialChars) : undefined,\n color: hintValidation(isRequiredSpecialCharsValid(value, 0, requirements.acceptableSpecialChars)),\n data: charData,\n };\n case 'contains-username':\n return {\n type,\n min: -1,\n valid: formSubmitted && field === 'password' ? !isUserNameContainedInPassword(values) : undefined,\n color: hintValidation(field === 'password' && !isUserNameContainedInPassword(values)),\n };\n case 'equals-email':\n return {\n type,\n min: -1,\n valid: formSubmitted && field === 'userName' ? !isUserNameEqualToEmail(values) : undefined,\n color: hintValidation(field === 'userName' && !isUserNameEqualToEmail(values)),\n };\n }\n },\n [requirements, field, value, values, formSubmitted, charData]\n );\n\n return (\n <>\n \n
      \n \n \n \n \n \n {!requirements.minSpecialCount && requirements.acceptableSpecialChars && }\n {field === 'userName' && }\n {field === 'password' && }\n
    \n \n );\n};\n","import React from 'react';\nimport { Field } from 'formik';\nimport { BaseFieldProps, FormGroup, TextboxField, AddressField } from '@tradingblock/components';\nimport { AllStates, getGroupedCountryOptions } from '@tradingblock/types';\nimport { PersonType } from '../../types';\n\ninterface PersonFieldProps extends BaseFieldProps {\n personType: PersonType;\n}\n\nexport const PersonField: React.FC = ({ id, personType, labelPrefix, form }) => {\n const prefix = id ? `${id}.` : '';\n const { errors, touched, submitCount } = form;\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n\n {personType === PersonType.AccountHolder && (\n <>\n \n \n \n \n \n \n \n )}\n\n {personType !== PersonType.AccountHolder && (\n <>\n {personType === PersonType.TradeAuthorization && (\n \n \n \n )}\n\n \n \n )}\n \n );\n};\n","import React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { AllPhoneTypes, PhoneModel } from '../../types';\nimport { isPhoneFilled } from '../../services';\nimport {\n BaseFieldProps,\n FormGroup,\n LocalizeButton as Button,\n FloatingLabelWrapper,\n FloatingLabelState,\n TextboxField,\n SelectDropdownField,\n Text,\n} from '@tradingblock/components';\n\ninterface PhoneFieldProps extends BaseFieldProps {\n onRemove?: () => void;\n}\n\nexport const PhoneField: React.FC = ({\n form,\n id,\n disabled,\n defaultLabelId,\n controlledLabel,\n onLabelStateChange,\n onRemove,\n}) => {\n const { values, touched, errors, submitCount } = form;\n const value = useMemo(() => _.get(values, id), [values, id]);\n const error = _.get(touched, id) ? _.pickBy(errors, (err, key) => err && _.startsWith(key, id)) : undefined;\n const [floatingLabelState, setFloatingLabelState] = useState({ isFilled: isPhoneFilled(value) });\n const updateFloatingLabelState = useCallback(\n (state: FloatingLabelState) => {\n setFloatingLabelState(state);\n if (onLabelStateChange) {\n onLabelStateChange(state);\n }\n },\n [onLabelStateChange]\n );\n useEffect(() => {\n if (!controlledLabel) {\n updateFloatingLabelState({ isFilled: isPhoneFilled(value), hasFocus: floatingLabelState.hasFocus });\n }\n }, [value, controlledLabel, floatingLabelState.hasFocus, updateFloatingLabelState]);\n const handleLabelStateChange = (state: FloatingLabelState) => {\n updateFloatingLabelState({\n isFilled: isPhoneFilled(value),\n hasFocus: !_.isUndefined(state.hasFocus) ? state.hasFocus : floatingLabelState.hasFocus,\n });\n };\n const getFieldProps = (key: keyof PhoneModel, component: any) => {\n return {\n component,\n id: `${id}.${key}`,\n disabled,\n defaultLabelId: defaultLabelId && `${defaultLabelId}.${key}`,\n controlledLabel: true,\n onLabelStateChange: handleLabelStateChange,\n };\n };\n\n const getTextKey = () => {\n if (_.includes(error, 'invalid')) {\n return 'invalid';\n }\n if (_.includes(error, 'error')) {\n return 'error';\n }\n };\n\n return (\n <>\n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n {onRemove && (\n
    \n \n
    \n )}\n \n {!_.isEmpty(error) && !!submitCount && (\n \n \n \n )}\n
    \n \n );\n};\n","import React from 'react';\nimport { Field, FieldArray } from 'formik';\nimport _ from 'lodash';\nimport { PhoneModel, MaxNumberOfPhones } from '../../types';\nimport { BaseFieldProps, Text, AddIcon } from '@tradingblock/components';\nimport { PhoneField } from './';\n\ninterface PhonesArrayFieldProps extends BaseFieldProps {\n value?: PhoneModel[];\n}\n\nexport const PhonesArrayField: React.FC = ({ id, value }) => {\n const prefix = id ? `${id}.` : '';\n return (\n (\n <>\n {_.map(value, (_p, i) => (\n
    \n 1 ? () => arrHelpers.remove(i) : undefined}\n />\n
    \n ))}\n {_.size(value) < MaxNumberOfPhones && (\n

    \n {\n e.preventDefault();\n arrHelpers.push({});\n }}\n type=\"button\"\n >\n \n \n \n \n \n

    \n )}\n \n )}\n />\n );\n};\n","import React from 'react';\nimport { Field } from 'formik';\nimport { BaseFieldProps, FormGroup, TextboxField } from '@tradingblock/components';\nimport { PublicOfficialModel } from '../../types';\n\ninterface PublicOfficialFieldProps extends BaseFieldProps {\n value?: PublicOfficialModel;\n}\n\nexport const PublicOfficialField: React.FC = ({ id, value }) => {\n const prefix = id ? `${id}.` : '';\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import React, { useState } from 'react';\nimport {\n ClearerType,\n InvestigationDocuments,\n RequestedInvestigationDocument,\n ResponseCodes,\n} from '@tradingblock/types';\nimport { Button, FormGroup, Text } from '@tradingblock/components';\nimport { FileError, useDropzone } from 'react-dropzone';\nimport { useApi } from '../../context';\nimport { useCallback } from 'react';\nimport { ApiResponse } from '@tradingblock/api';\nimport { useDispatcher } from '../hooks';\nimport { ApplicationActions } from '../../state/actions';\n\n/**\n * InvestigationUpload component properties\n *\n * @property {RequestedInvestigationDocument} requestedInvestigationDocument Requested document infomation.\n * @property {string} requestedInvestigationDocument Type of requsted document. Application is internal, investigation is apex related documents.\n * @property {number} accountId The account ID for the upload.\n * @property {number} [accountHolderId] The account holder id, needed only for application uploads.\n * @property {number} [investigationId] The investigation id, needed only for investigation uploads.\n */\nexport interface InvestigationUploadProps {\n requestedInvestigationDocument: RequestedInvestigationDocument;\n type: 'application' | 'investigation';\n accountId: number;\n accountHolderId?: number;\n investigationId?: number;\n clearer?: ClearerType | null;\n}\n\n/**\n * An independent upload widget for uploading investigations and application specific documents\n *\n * @param {InvestigationUploadProps} props\n * @returns {JSX.Element}\n */\nexport default function InvestigationUpload({\n requestedInvestigationDocument,\n type,\n accountId,\n accountHolderId,\n investigationId,\n clearer,\n}: InvestigationUploadProps) {\n // Checks that accountHolderId is set for application uploads\n // and investigationId for investigation uploads\n if (type === 'application' && accountHolderId === undefined) {\n throw new Error('accountHolderId is required for an application upload');\n } else if (type === 'investigation' && investigationId === undefined) {\n throw new Error('investigationId is required for an investigation upload');\n }\n if (requestedInvestigationDocument.requestedDocuments.length <= 0) {\n throw new Error('Need one requested document to process');\n }\n\n // Used hooks\n const api = useApi();\n const dispatch = useDispatcher();\n\n // Used states\n const [uploadingDocument, setUploadingDocument] = useState(false);\n const [uploadSuccess, setUploadSuccess] = useState(false);\n const [errors, setErrors] = useState([]);\n const [selectedDocumentName, setSelectedDocumentName] = useState(\n requestedInvestigationDocument.requestedDocuments[0]\n );\n const [needToSelectDocumentName, setNeedToSelectDocumentName] = useState(\n requestedInvestigationDocument.requestedDocuments.length > 1\n );\n\n const fetchStatus = (accountId: number) => {\n dispatch(ApplicationActions.requestApplicationStatus({ accountId }));\n };\n //Processes the upload response from the api\n const processUploadResponse = useCallback(\n (response: ApiResponse) => {\n // check if the upload was not successful and set the errors/initial states.\n if (response.responseCode !== 0) {\n setUploadingDocument(false);\n setSelectedDocumentName(requestedInvestigationDocument.requestedDocuments[0]);\n setNeedToSelectDocumentName(requestedInvestigationDocument.requestedDocuments.length > 0);\n setErrors([\n {\n message: ResponseCodes[response.responseCode].description as string,\n code: ResponseCodes[response.responseCode].name,\n },\n ]);\n } else {\n // There were no errors, reset the states and set success to true\n setUploadSuccess(true);\n setErrors([]);\n const fetchStatusTimer = setTimeout(fetchStatus, 1500, accountId);\n return () => clearTimeout(fetchStatusTimer);\n }\n },\n [requestedInvestigationDocument]\n );\n const isRqdIdCard =\n (selectedDocumentName === InvestigationDocuments.DriversLicense ||\n selectedDocumentName === InvestigationDocuments.StateIdCard) &&\n clearer === ClearerType.RQD;\n\n const maxFiles = isRqdIdCard ? 2 : 1;\n\n // Dropzone properties for the upload input field\n const { getRootProps, getInputProps, acceptedFiles } = useDropzone({\n onDrop: () => {\n setUploadingDocument(true);\n },\n onDropAccepted: acceptedFiles => {\n // If the files where accepted from frontend validation\n // The base on the type, upload the document to the backend\n if (type === 'application' && accountHolderId !== undefined) {\n api.application\n .uploadApplicationDocument(acceptedFiles[0], accountId, accountHolderId, selectedDocumentName)\n .then(response => {\n processUploadResponse(response);\n });\n } else if (type === 'investigation' && investigationId !== undefined) {\n if (isRqdIdCard) {\n if (acceptedFiles.length !== 2) {\n setErrors([\n {\n message: 'Error: Please ensure you upload both the front and back images of your ID.',\n code: 'INVALID_DOCUMENT',\n },\n ]);\n setUploadingDocument(false);\n return;\n }\n }\n // need to upload both accepted files if the document is a drivers license or state id card\n // upload the first file, then the second file\n if (isRqdIdCard) {\n api.application\n .uploadInvestigationDocument(acceptedFiles[0], accountId, investigationId, selectedDocumentName)\n .then(response => {\n processUploadResponse(response);\n api.application\n .uploadInvestigationDocument(acceptedFiles[1], accountId, investigationId, selectedDocumentName)\n .then(response => {\n processUploadResponse(response);\n });\n });\n } else {\n api.application\n .uploadInvestigationDocument(acceptedFiles[0], accountId, investigationId, selectedDocumentName)\n .then(response => {\n processUploadResponse(response);\n });\n }\n }\n },\n onDropRejected: fileRejections => {\n //Set the upload failed and the file errors to display\n setUploadingDocument(false);\n setErrors(fileRejections[0].errors);\n },\n maxSize: 15728640,\n maxFiles: maxFiles,\n accept: 'image/png, image/jpeg, image/jpg, image/gif, application/pdf, capture=camera',\n });\n\n return (\n \n ),\n }}\n />\n }\n >\n

    \n \n \n \n

    \n {!uploadSuccess ? (\n <>\n {needToSelectDocumentName && (\n <>\n \n \n \n
      \n {/** TODO: This should be in a checklist/radio list component, however, current one is too tied to formik\n * We will refactor when components are in audit phase.\n */}\n {requestedInvestigationDocument.requestedDocuments.map(requestedDocumentOption => (\n
    • \n \n
    • \n ))}\n
    \n \n )}\n
    \n \n {!uploadingDocument ? (\n <>\n \n {isRqdIdCard && (\n <>\n
    \n
    \n \n \n \n \n )}\n {isRqdIdCard &&
    }\n
    \n \n \n \n \n ) : (\n \n {' '}\n \n \n )}\n
    \n \n ) : (\n \n {' '}\n \n \n )}\n {errors.length > 0 && (\n
    \n
      \n {errors.map((error, errorIndex) => (\n // if the error code is INVALID_DOCUMENT, apply some CSS to make the error more visible\n \n {error.message}\n \n ))}\n
    \n
    \n )}\n \n );\n}\n","import React from 'react';\nimport { Field, FieldArray } from 'formik';\nimport _ from 'lodash';\nimport { BaseFieldProps, Text, AddIcon, LocalizeButton as Button } from '@tradingblock/components';\nimport { PublicOfficialModel } from '../../types';\nimport { PublicOfficialField } from './';\n\ninterface PublicOfficialsArrayFieldProps extends BaseFieldProps {\n value?: PublicOfficialModel[];\n}\n\nexport const PublicOfficialsArrayField: React.FC = ({ id, value }) => {\n return (\n (\n <>\n {_.map(value, (_p, i) => (\n
    \n

    \n \n

    \n {_.size(value) > 1 && (\n
    \n \n
    \n )}\n \n
    \n ))}\n

    \n {\n e.preventDefault();\n arrHelpers.push({});\n }}\n type=\"button\"\n >\n \n \n \n \n \n

    \n \n )}\n />\n );\n};\n","import React, { useCallback } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Section, FormGroup, TextboxField, StepperField } from '@tradingblock/components';\nimport {\n AllAccountDisclosureKeys,\n AccountDisclosureKey,\n BooleanToggleType,\n AccountDisclosureContingentFields,\n AllBooleanToggleTypes,\n ApplicationFormSection,\n ApplicationStep,\n AllEntityAccountDisclosureKeys,\n AllEntityNonTrustAccountDisclosureKeys,\n ApplicationType,\n EntityAccountType,\n AllServiceProfileKeys,\n ServiceProfileKey,\n AllIssuerDirectCommunicationTypes,\n AllMarketDataRegulatoryKeys,\n MarketDataQuestionnaireKey,\n AllMarketDataInvestmentProKeys,\n AllMarketDataCapitalTradingKeys,\n AllMarketDataBenefitsKeys,\n ApplicationModel,\n AllProSubscriptionTypes,\n} from '../../../../types';\nimport { updateFieldsDependentOnAccountDisclosure, getNumberOfAgreementDisclosureSections } from '../../../../services';\nimport { PublicOfficialsArrayField } from '../../../fields/PublicOfficialsArray';\n\nexport const AccountDisclosuresSection: React.FC = ({ values, setValues, getText }) => {\n const disclosureSections = getNumberOfAgreementDisclosureSections(values);\n const isPro = (values: ApplicationModel) => {\n const { primaryAccountHolder } = values;\n const { disclosures } = primaryAccountHolder;\n const { marketData } = values;\n\n if (\n disclosures.industryEmployed === BooleanToggleType.Yes ||\n disclosures.stakeholder === BooleanToggleType.Yes ||\n disclosures.govOfficial === BooleanToggleType.Yes ||\n marketData.personalUse === BooleanToggleType.No ||\n marketData.associationRegistration === BooleanToggleType.Yes ||\n marketData.benefitsReceived === BooleanToggleType.Yes ||\n marketData.capitalTrading === BooleanToggleType.Yes ||\n marketData.corporationTrading === BooleanToggleType.Yes ||\n marketData.investmentProfessional === BooleanToggleType.Yes ||\n marketData.secCftcRegistration === BooleanToggleType.Yes ||\n marketData.jobFunctions === BooleanToggleType.Yes\n ) {\n return true;\n } else {\n return false;\n }\n };\n\n // disclosure contingent fields (shown if answered yes)\n const getDisclosureContingentFields = useCallback(\n (key: AccountDisclosureKey) => {\n if (\n values.accountDisclosures &&\n values.accountDisclosures[key] === BooleanToggleType.Yes &&\n AccountDisclosureContingentFields[key]\n ) {\n const id = _.first(AccountDisclosureContingentFields[key]);\n // special case for public officials\n if (id === 'disclosuresEntityPublicOfficials') {\n return (\n \n \n \n );\n }\n\n return (\n \n {_.map(AccountDisclosureContingentFields[key], id => (\n
    \n \n
    \n
    \n ))}\n
    \n );\n }\n return null;\n },\n [values]\n );\n\n return (\n <>\n
    \n

    {getText('accountDisclosures')}

    \n

    \n {getText('accountDisclosures', 'description')}\n

    \n\n {_.map(AllAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n \n \n setValues(updateFieldsDependentOnAccountDisclosure(values, d, value))\n }\n />\n \n {getDisclosureContingentFields(d)}\n
    \n ))}\n\n {values.type === ApplicationType.Entity && (\n <>\n
    \n

    \n {getText('accountDisclosures.entityDisclosures')}\n

    \n {_.map(AllEntityAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n \n \n setValues(updateFieldsDependentOnAccountDisclosure(values, d, value))\n }\n />\n \n {getDisclosureContingentFields(d)}\n
    \n ))}\n\n {values.entityAccountType !== EntityAccountType.PersonalTrust && (\n <>\n
    \n

    \n {getText('accountDisclosures.entityNonTrustDisclosures')}\n

    \n {_.map(AllEntityNonTrustAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n \n \n setValues(updateFieldsDependentOnAccountDisclosure(values, d, value))\n }\n />\n \n {getDisclosureContingentFields(d)}\n
    \n ))}\n \n )}\n \n )}\n\n

    {getText('serviceProfile')}

    \n {_.map(AllServiceProfileKeys, (d: ServiceProfileKey, i) => (\n
    \n

    {getText(`serviceProfile.${d}`)}

    \n \n \n \n
    \n ))}\n\n

    {getText('marketData')}

    \n
    \n

    {getText('marketData.personalUse')}

    \n \n \n \n
    \n {values.marketData.personalUse === BooleanToggleType.Yes && (\n <>\n {_.map(AllMarketDataRegulatoryKeys, (d: MarketDataQuestionnaireKey, i) => (\n
    \n

    {getText(`marketData.${d}`)}

    \n \n \n \n
    \n ))}\n \n )}\n {(values.marketData.secCftcRegistration === 'yes' ||\n values.marketData.associationRegistration === 'yes' ||\n values.marketData.jobFunctions === 'yes') && (\n <>\n {_.map(AllMarketDataInvestmentProKeys, (d: MarketDataQuestionnaireKey, i) => (\n
    \n

    {getText(`marketData.${d}`)}

    \n \n \n \n
    \n ))}\n \n )}\n {values.marketData.investmentProfessional === 'yes' && (\n <>\n {_.map(AllMarketDataCapitalTradingKeys, (d: MarketDataQuestionnaireKey, i) => (\n
    \n

    {getText(`marketData.${d}`)}

    \n \n \n \n
    \n ))}\n \n )}\n {values.marketData.capitalTrading === 'yes' && (\n <>\n {_.map(AllMarketDataBenefitsKeys, (d: MarketDataQuestionnaireKey, i) => (\n
    \n

    {getText(`marketData.${d}`)}

    \n \n \n \n
    \n ))}\n \n )}\n {isPro(values) && (\n <>\n

    {getText('proSubscriber.header')}

    \n
    \n

    {getText('proSubscriber')}

    \n

    {getText('proSubscriber.next')}

    \n
      \n
    • {getText('proSubscriber.NYSE')}
    • \n
    • {getText('proSubscriber.AMEX')}
    • \n
    • {getText('proSubscriber.NASDAQ')}
    • \n
    • {getText('proSubscriber.OPRA')}
    • \n
    \n

    {getText('proSubscriber.final')}

    \n

    {getText('proSubscriber.label')}

    \n \n \n \n
    \n \n )}\n
    \n \n );\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Section, StepperField, CheckboxField, ExternalLink, Text } from '@tradingblock/components';\nimport {\n AgreementKey,\n AllBooleanToggleTypes,\n ApplicationFormSection,\n ApplicationStep,\n BooleanToggleType,\n} from '../../../../types';\nimport { getNumberOfAgreementDisclosureSections, getAllAgreementKeysForApplication } from '../../../../services';\nimport { useStateSelector } from '../../../../state/selectors';\nimport config from '../../../../config';\nimport { useDispatch } from 'react-redux';\nimport { ApplicationActions } from '../../../../state/actions';\nimport { useStore } from '../../../../context';\n\nexport const AccountAgreementsSection: React.FC = ({ values, setValues, getText }) => {\n const [clickedAgreements, setClickedAgreements] = useState([]);\n const disclosureSections = getNumberOfAgreementDisclosureSections(values);\n const agreementCheckboxRef = useRef(null);\n const dispatch = useDispatch();\n const storage = useStore();\n const onClickedAgreementLink = useCallback(\n (agreement: AgreementKey) => {\n setClickedAgreements([...clickedAgreements, agreement]);\n },\n [clickedAgreements]\n );\n const heardAboutList = useStateSelector(s => s.ui.heardAbout);\n const { hearAboutUsId } = values;\n\n const heardAbout = heardAboutList && heardAboutList.find(h => h.heardAboutId == hearAboutUsId);\n const apiAgreementRequired = heardAbout && heardAbout.needsApiAgreement;\n\n const getAgreementDisabledOptions = useCallback(\n (agreement: AgreementKey) => {\n // if haven't clicked agreement, disable toggle buttons\n if (!_.includes(clickedAgreements, agreement)) {\n return AllBooleanToggleTypes;\n }\n return undefined;\n },\n [clickedAgreements]\n );\n \n useEffect(() => {\n if (values.agreeToElectronicConsent === true && agreementCheckboxRef.current !== null) {\n agreementCheckboxRef.current.scrollIntoView();\n }\n }, [agreementCheckboxRef])\n\n useEffect(() => {\n dispatch(ApplicationActions.requestPartialSaveApplication({ application: values, storage}));\n }, [values.agreeToElectronicConsent]);\n\n return (\n <>\n
    \n

    {getText('agreements')}

    \n\n

    \n \n

    \n {values.agreeToElectronicConsent && (\n <>\n

    {getText('agreements.agreeToAll')}

    \n {_.map(\n getAllAgreementKeysForApplication(values, apiAgreementRequired),\n (agreementKey: AgreementKey, i: number) => (\n
    \n

    \n onClickedAgreementLink(agreementKey)}\n >\n {getText(`agreements.${agreementKey}`)}\n {' '}\n

    \n
    \n )\n )}\n
    \n\n {\n const agreementKeys = getAllAgreementKeysForApplication(values, apiAgreementRequired);\n let agreementKeysObject = {};\n if (value === 'yes') {\n agreementKeys.forEach(a => {\n agreementKeysObject = {\n ...agreementKeysObject,\n [a]: BooleanToggleType.Yes,\n };\n });\n setValues({ ...values, agreeToAll: BooleanToggleType.Yes, agreements: agreementKeysObject });\n } else {\n agreementKeys.forEach(a => {\n agreementKeysObject = {\n ...agreementKeysObject,\n [a]: BooleanToggleType.No,\n };\n });\n setValues({ ...values, agreeToAll: BooleanToggleType.No, agreements: agreementKeysObject });\n }\n }}\n />\n\n {_.some(values.agreements, value => value === BooleanToggleType.No) && (\n

    \n \n {getText('agreements.declined', undefined, {\n data: {\n contactUsLink: (\n {}\n ),\n },\n })}\n \n

    \n )}\n \n )}\n
    \n \n );\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { Field, FieldArray, Form } from 'formik';\nimport _ from 'lodash';\nimport {\n FormGroup,\n AddIcon,\n LocalizeButton as Button,\n TextboxField,\n StepperField,\n AddressField,\n Text,\n SelectDropdownField,\n} from '@tradingblock/components';\nimport {\n AllStates,\n ApiResponse,\n getGroupedCountryOptions,\n DuplicateAccountCheckResponse,\n BeneficiariesRelationships,\n} from '@tradingblock/types';\nimport {\n AllBeneficiaryTypes,\n BeneficiaryType,\n AllBeneficiaryAccountTypes,\n ApplicationStepProps,\n DefaultPhone,\n DuplicateAccountCheckRequest,\n ApplicationType,\n EntityAccountType,\n RE_SSN,\n RE_EIN,\n} from '../../../../types';\nimport { DateField } from '../../../fields';\nimport { useApi } from '../../../../context';\n\ninterface BeneficiariesFieldsProps extends Pick {\n max: number;\n}\n\nexport const BeneficiariesFields: React.FC = ({\n values,\n setValues,\n getText,\n errors,\n max,\n}) => {\n const total = _.size(values.beneficiaries);\n const totalPercentageError = errors.beneficiaries;\n\n //TODO: Once Entity applications are allowed through site, ensure that the duplicate account check behaves as expected\n // interface DuplicateAccountErrors {\n // message: string[] | string;\n // index: number;\n // }\n // const dispatch = useDispatch();\n // useEffect(() => {\n // if (values.type === ApplicationType.Entity && values.entityAccountType !== EntityAccountType.PersonalTrust) {\n // const beneficiaries = values.beneficiaries;\n // const individualBeneficiaryTaxIds = beneficiaries && beneficiaries.map(beneficiary => beneficiary.ssn);\n // const trustBeneficiaryTaxIds = beneficiaries && beneficiaries.map(beneficiary => beneficiary.ein);\n\n // individualBeneficiaryTaxIds &&\n // individualBeneficiaryTaxIds.forEach((taxId, index) => {\n // if (taxId && RE_SSN.test(taxId)) {\n // const requestValues: DuplicateAccountCheckRequest = {\n // entityAccountType: values.entityAccountType ? values.entityAccountType : undefined,\n // flexibilityType: values.flexibilityType,\n // primaryTaxIdSecret: taxId,\n // type: values.type,\n // };\n // dispatch(ApplicationActions.requestDuplicateAccountCheck(requestValues));\n // }\n // });\n\n // trustBeneficiaryTaxIds &&\n // trustBeneficiaryTaxIds.forEach((taxId, index) => {\n // if (taxId && RE_EIN.test(taxId)) {\n // const requestValues: DuplicateAccountCheckRequest = {\n // entityAccountType: values.entityAccountType ? values.entityAccountType : undefined,\n // flexibilityType: values.flexibilityType,\n // primaryTaxIdSecret: taxId,\n // type: values.type,\n // };\n // dispatch(ApplicationActions.requestDuplicateAccountCheck(requestValues));\n // }\n // });\n // }\n // }, [\n // values.entityAccountType,\n // values.flexibilityType,\n // values.type,\n // values.beneficiaries && values.beneficiaries.length,\n // ]);\n\n return (\n (\n <>\n {_.map(values.beneficiaries, (b, i) => (\n
    \n

    {getText('beneficiaries.name', undefined, { data: { number: i + 1 } })}

    \n\n \n \n \n
    \n \n
    \n \n \n setValues({\n ...values,\n beneficiaries: _.map(values.beneficiaries, (b, j) => {\n if (i === j) {\n const isIndividual = beneficiaryType === BeneficiaryType.Individual;\n return {\n ...b,\n beneficiaryType,\n relationship: isIndividual ? b.relationship : undefined,\n firstName: isIndividual ? b.firstName : '',\n lastName: isIndividual ? b.lastName : '',\n middleInitial: isIndividual ? b.middleInitial : '',\n suffix: isIndividual ? b.suffix : '',\n dateOfBirth: isIndividual ? b.dateOfBirth : {},\n ssn: isIndividual ? b.ssn : '',\n trustName: isIndividual ? undefined : b.trustName,\n ein: isIndividual ? undefined : b.ein,\n };\n }\n return b;\n }),\n })\n }\n />\n \n {b.beneficiaryType === BeneficiaryType.Individual && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }} />}\n type=\"password\"\n allowUnmask={true}\n />\n {/* {duplicateAccountErrors && duplicateAccountErrors.some(error => error.index === i) && (\n \n {duplicateAccountErrors.filter(error => error.index === i).map(error => error.message)}\n \n )} */}\n \n \n )}\n {b.beneficiaryType === BeneficiaryType.Trust && (\n <>\n \n \n \n \n \n {/* {duplicateAccountErrors && duplicateAccountErrors.some(error => error.index === i) && (\n \n {duplicateAccountErrors.filter(error => error.index === i).map(error => error.message)}\n \n )} */}\n \n \n )}\n \n \n \n \n {totalPercentageError && (\n

    \n {totalPercentageError}{' '}\n {getText('beneficiaries.percent', undefined, { type: 'error' })}\n

    \n )}\n
    \n ))}\n {total < max && (\n

    \n {\n e.currentTarget.blur();\n e.preventDefault();\n arrHelpers.push({\n beneficiaryAccountType: '',\n beneficiaryType: '',\n relationship: '',\n trustName: '',\n ein: '',\n percent: null,\n dateOfBirth: {\n day: undefined,\n month: undefined,\n year: undefined,\n },\n ssn: '',\n firstName: '',\n lastName: '',\n address: {\n address1: '',\n address2: '',\n city: '',\n postalCode: null,\n country: '',\n state: null,\n },\n email: '',\n phones: [DefaultPhone],\n });\n }}\n type=\"button\"\n >\n \n {getText('beneficiaries.add')}\n {' '}\n ( 0 ? 'partial' : 'all'}`} data={{ max, left: max - total }} />)\n

    \n )}\n \n )}\n />\n );\n};\n","import React, { useEffect } from 'react';\nimport { Field, FieldArray } from 'formik';\nimport _ from 'lodash';\nimport {\n FormGroup,\n AddIcon,\n LocalizeButton as Button,\n TextboxField,\n AddressField,\n Text,\n CheckboxField,\n} from '@tradingblock/components';\nimport { AllStates, getGroupedCountryOptions } from '@tradingblock/types';\nimport { ApplicationStepProps } from '../../../../types';\nimport { DateField } from '../../../fields';\n\ninterface OwnersOfficersFieldsProps extends Pick {\n max: number;\n}\n\nexport const OwnersOfficersFields: React.FC = ({ values, setValues, getText, max }) => {\n const total = _.size(values.ownersOfficers);\n\n return (\n (\n <>\n {_.map(values.ownersOfficers, (o, i) => (\n
    \n

    {getText('ownersOfficers.name', undefined, { data: { number: i + 1 } })}

    \n\n \n \n \n
    \n \n
    \n \n \n \n \n \n \n \n }} />}\n type=\"password\"\n allowUnmask={true}\n />\n \n \n \n \n \n \n \n \n
    \n ))}\n {total < max && (\n

    \n {\n e.currentTarget.blur();\n e.preventDefault();\n arrHelpers.push({});\n }}\n type=\"button\"\n >\n \n {getText('ownersOfficers.add')}\n {' '}\n ( 0 ? 'partial' : 'all'}`} data={{ max, left: max - total }} />)\n

    \n )}\n \n )}\n />\n );\n};\n","import React from 'react';\nimport { Field, FieldArray } from 'formik';\nimport _ from 'lodash';\nimport { FormGroup, TextboxField } from '@tradingblock/components';\nimport { ApplicationStepProps } from '../../../../types';\n\ninterface InCommonInterestPercentFieldsProps\n extends Pick {}\n\nexport const InCommonInterestPercentFields: React.FC = ({ values }) => {\n const accountHolders = [values.primaryAccountHolder, values.secondaryAccountHolder];\n\n const getPrefix = (index: number) => {\n return index === 0 ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n };\n\n return (\n (\n <>\n {_.map(accountHolders, (h, i) => (\n <>\n
    \n

    \n {h ? h.firstName : null} {h ? h.lastName : null}\n

    \n \n \n \n
    \n \n ))}\n \n )}\n />\n );\n};\n","import React, { useCallback } from 'react';\nimport { Field } from 'formik';\nimport { Section, HelpText, CheckboxField, AddressField } from '@tradingblock/components';\nimport { AllStates, AcceptedCountries, getGroupedCountryOptions, Country } from '@tradingblock/types';\nimport {\n ApplicationFormSection,\n AccountHolderType,\n DefaultAccountHolder,\n PersonType,\n ApplicationStep,\n AccountHolderField,\n ClearerType,\n} from '../../../../types';\nimport { PhonesArrayField, PersonField } from '../../../fields';\nimport {\n updateFieldsDependentOnDifferentMailingAddress,\n copyAccountHolderPrimaryAddresses,\n getNumberOfApplicationInformationEntitySections,\n} from '../../../../services';\n\ninterface AccountHolderContactSectionProps extends ApplicationFormSection {\n type: AccountHolderType;\n}\n\nconst AccountHolderContactSection: React.FC = ({\n type,\n getText,\n values,\n setValues,\n}) => {\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = values[fieldPrefix] || DefaultAccountHolder;\n // number of optional entity sections\n const entitySections = getNumberOfApplicationInformationEntitySections(values);\n const totalPreceedingSections = entitySections + (type !== 'primary' ? 2 : 0);\n const isUgma = type === 'ugma';\n\n const touchAddress = useCallback(() => {\n const address1 = document.getElementById(`${fieldPrefix}.address.address1`);\n if (address1) {\n address1.focus();\n address1.blur();\n }\n }, [fieldPrefix]);\n\n const onCopyAddress = useCallback(() => {\n setValues(copyAccountHolderPrimaryAddresses(values));\n // when copying primary address, need to 'touch' a field to trigger an update to form validation state\n window.setTimeout(touchAddress, 200);\n }, [values, setValues, touchAddress]);\n\n return (\n
    \n

    \n {isUgma ? getText('ugmaAccountHolder') : getText(fieldPrefix)}\n

    \n\n {type !== 'primary' && }\n

    {getText('defaults.phones')}

    \n

    {getText('defaults.phones', 'description')}

    \n\n \n\n

    {getText('accountHolders.address')}

    \n \n {getText('accountHolders.address.help')}\n \n\n {type !== 'primary' && (\n

    \n \n

    \n )}\n\n \n\n

    \n \n setValues(updateFieldsDependentOnDifferentMailingAddress(values, fieldPrefix, differentMailingAddress))\n }\n />\n

    \n\n {accountHolder.differentMailingAddress && (\n <>\n

    {getText('accountHolders.mailingAddress')}

    \n

    {getText('accountHolders.mailingAddress', 'description')}

    \n \n \n )}\n
    \n );\n};\n\nexport const PrimaryAccountHolderContactSection: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderContactSection: React.FC = props => {\n return ;\n};\n\nexport const UgmaAccountHolderContactSection: React.FC = props => {\n return ;\n};\n","import React, { useCallback, useEffect } from 'react';\nimport { Field } from 'formik';\nimport {\n Section,\n FormGroup,\n HelpText,\n TextboxField,\n StepperField,\n SelectDropdownField,\n AddressField,\n Text,\n StepperInput,\n TextareaField,\n} from '@tradingblock/components';\nimport { AllStates, getGroupedCountryOptions, Country } from '@tradingblock/types';\nimport {\n ApplicationFormSection,\n ApplicationStep,\n AllMaritalStatusTypes,\n AllVisaTypes,\n AllEmploymentTypes,\n EmploymentType,\n AllYearsEmployed,\n AllWithdrawalFrequencyTypes,\n AccountHolderType,\n DefaultAccountHolder,\n DefaultForeignDueDiligence,\n ApplicationType,\n EntityAccountType,\n AccountHolderField,\n RE_SSN,\n DuplicateAccountCheckRequest,\n ClearerType,\n} from '../../../../types';\nimport { DateField } from '../../../fields';\nimport {\n updateFieldsDependentOnCitizen,\n updateFieldsDependentOnEmploymentType,\n getNumberOfApplicationInformationEntitySections,\n updateFieldsDependentOnSecondaryCitizen,\n} from '../../../../services';\nimport _ from 'lodash';\nimport { useDispatch } from 'react-redux';\nimport { ApplicationActions } from '../../../../state/actions';\n\ninterface AccountHolderPersonalInfoSectionProps extends ApplicationFormSection {\n type: AccountHolderType;\n}\n\nconst AccountHolderPersonalInfoSection: React.FC = ({\n type,\n getText,\n values,\n errors,\n setValues,\n}) => {\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = values[fieldPrefix] || DefaultAccountHolder;\n const foreignDueDiligence = values.foreignDueDiligence || DefaultForeignDueDiligence;\n // number of optional entity sections\n const entitySections = getNumberOfApplicationInformationEntitySections(values);\n const totalPreceedingSections = entitySections + (type !== 'primary' ? 2 : 0);\n const isUgma = type === 'ugma';\n const dispatch = useDispatch();\n\n const getNotIssuedForeignTINOptions = useCallback(() => {\n if (accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN === true) {\n return [\n {\n label: 'Yes',\n value: true,\n },\n {\n label: 'No',\n value: false,\n disabled: true,\n },\n ];\n }\n }, [accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN]);\n\n useEffect(() => {\n let requestValues: DuplicateAccountCheckRequest = {\n flexibilityType: values.flexibilityType,\n primaryTaxIdSecret: values.primaryAccountHolder.ssn,\n retirementAccountType: values.retirementAccount ? values.retirementAccountType : undefined,\n type: values.type,\n };\n // Set up requestValues for individual account types\n if (values.type === ApplicationType.Individual && RE_SSN.test(values.primaryAccountHolder.ssn)) {\n dispatch(ApplicationActions.requestDuplicateAccountCheck(requestValues));\n }\n //TODO: Once Entity applications are allowed through site, ensure that the duplicate account check behaves as expected\n // if (s\n // values.type === ApplicationType.Entity &&\n // values.entityAccountType === EntityAccountType.PersonalTrust &&\n // RE_EIN.test(values.primaryAccountHolder.ssn)\n // ) {\n // dispatch(ApplicationActions.requestDuplicateAccountCheck(requestValues));\n // }\n // Set up requestValues for Non-Individual/Entity account types\n if (values.type !== ApplicationType.Individual && values.type !== ApplicationType.Entity) {\n // Set up requestValues for secondary account holder\n if (\n fieldPrefix === 'secondaryAccountHolder' &&\n values.secondaryAccountHolder &&\n RE_SSN.test(values.secondaryAccountHolder.ssn) &&\n RE_SSN.test(values.primaryAccountHolder.ssn)\n ) {\n requestValues = {\n ...requestValues,\n secondaryTaxIdSecret: values.secondaryAccountHolder.ssn,\n };\n dispatch(ApplicationActions.requestDuplicateAccountCheck(requestValues));\n }\n }\n }, [\n values.type,\n values.primaryAccountHolder.ssn,\n values.secondaryAccountHolder && values.secondaryAccountHolder.ssn,\n ]);\n\n return (\n
    \n

    \n {isUgma ? getText('ugmaAccountHolder') : getText(fieldPrefix)}\n

    \n

    {getText('accountHolders.personal-info')}

    \n \n {getText('accountHolders.personal-info', 'description')}\n \n\n \n \n \n \n \n \n {values.type !== ApplicationType.Entity && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n fieldPrefix === 'primaryAccountHolder'\n ? setValues(updateFieldsDependentOnCitizen(values, fieldPrefix, option))\n : setValues(updateFieldsDependentOnSecondaryCitizen(values, fieldPrefix, option))\n }\n />\n \n {accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica && (\n <>\n \n \n \n\n {values.type !== ApplicationType.Entity && accountHolder.address.country === Country.UnitedStatesOfAmerica && (\n <>\n \n \n \n \n \n \n\n \n }} />}\n type=\"password\"\n allowUnmask={true}\n />\n \n \n )}\n \n )}\n\n {accountHolder.address.country !== Country.UnitedStatesOfAmerica && (\n <>\n \n \n \n \n \n \n {!accountHolder.foreignTaxWithholding.taxIdentificationNumber && (\n <>\n \n \n \n\n {!accountHolder.foreignTaxWithholding.jurisdictionDoesNotIssueTIN && (\n \n \n \n )}\n {accountHolder.foreignTaxWithholding.notIssuedForeignTIN && (\n \n \n \n )}\n \n )}\n\n {accountHolder.mailingAddress &&\n accountHolder.mailingAddress.country === Country.UnitedStatesOfAmerica &&\n accountHolder.address.country !== Country.UnitedStatesOfAmerica && (\n <>\n \n \n \n \n )}\n \n )}\n\n {fieldPrefix === 'primaryAccountHolder' && accountHolder.address.country !== Country.UnitedStatesOfAmerica && (\n <>\n

    {getText('foreignDueDiligence')}

    \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n setValues(updateFieldsDependentOnCitizen(values, fieldPrefix, citizen))}\n />\n \n\n {foreignDueDiligence.referredToBroker === true && (\n <>\n \n \n \n \n \n \n \n )}\n\n {foreignDueDiligence.referredToBroker === false && (\n <>\n \n \n \n \n )}\n \n )}\n\n {accountHolder.citizenshipCountry === Country.UnitedStatesOfAmerica && (\n \n }} />}\n type=\"password\"\n allowUnmask={true}\n />\n \n )}\n\n {(values.type !== ApplicationType.Entity || values.entityAccountType === EntityAccountType.PersonalTrust) && (\n <>\n

    {getText('accountHolders.employment')}

    \n\n \n \n setValues(updateFieldsDependentOnEmploymentType(values, fieldPrefix, employmentType))\n }\n />\n \n {accountHolder.employmentType === EmploymentType.Employed && (\n <>\n \n \n \n \n \n \n {fieldPrefix === 'primaryAccountHolder' && (\n \n \n \n )}\n \n \n \n \n \n )}\n \n )}\n
    \n );\n};\n\nexport const PrimaryAccountHolderPersonalInfoSection: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderPersonalInfoSection: React.FC = props => {\n return ;\n};\n\nexport const UgmaAccountHolderPersonalInfoSection: React.FC = props => {\n return ;\n};\n","import React, { useMemo, useCallback, useEffect } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { LanguageType, AllLanguageTypes } from '@tradingblock/types';\nimport {\n Section,\n FormGroup,\n StepperField,\n SelectDropdownField,\n Text,\n ContactEmail,\n ContactPhone,\n} from '@tradingblock/components';\nimport { PersonType, ApplicationFormSection } from '../../../../types';\nimport { PersonField } from '../../../fields';\nimport { useData } from '../../../../state/selectors';\nimport { getHeardAbout } from '../../../../services';\nimport config from '../../../../config';\n\nexport const UserInfoSection: React.FC = ({\n getText,\n values,\n setValues,\n setActiveLanguage,\n}) => {\n const authToken = useData(d => d.ui.apiToken);\n const showLanguageSelection = false;\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n const affiliate = useData(d => d.ui.affiliate);\n\n const heardAbout = useData(d => d.ui.heardAbout);\n const heardAboutSelected = useMemo(() => getHeardAbout(heardAbout, values.hearAboutUsId), [values, heardAbout]);\n\n const heardAboutOptions = useMemo(() => _.map(heardAbout, h => `${h.heardAboutId}`), [heardAbout]);\n // if siteGroup is MB we need to filter out the \"Other\" option, automatically select the first option and disable the dropdown\n if (siteGroup === 'mb') {\n const otherIndex = _.findIndex(heardAbout, h => h.description === 'Other');\n if (otherIndex > -1) {\n heardAboutOptions.splice(otherIndex, 1);\n }\n }\n useEffect(() => {\n if (siteGroup === 'mb') {\n if (!values.hearAboutUsId) {\n setValues({\n ...values,\n hearAboutUsId: heardAboutOptions[0],\n });\n }\n }\n }, [heardAboutOptions, siteGroup, values, setValues]);\n\n const heardAboutOptionsLabels = useMemo(() => {\n return _.reduce(\n heardAbout,\n (acc: { [option: string]: string }, h) => ({ ...acc, [`${h.heardAboutId}`]: h.description }),\n {}\n );\n }, [heardAbout]);\n\n if (siteGroup === 'mb') {\n // remove the \"Other\" option from heardAboutSelected.representatives if it exists\n const otherIndex = _.findIndex(heardAboutSelected && heardAboutSelected.representatives, r => r.repId === 42);\n if (otherIndex > -1 && heardAboutSelected && heardAboutSelected.representatives) {\n heardAboutSelected.representatives.splice(otherIndex, 1);\n }\n }\n\n const representativesOptions = useMemo(\n () =>\n heardAboutSelected &&\n heardAboutSelected.representatives &&\n _.map(heardAboutSelected.representatives, r => `${r.repId}`),\n [heardAboutSelected]\n );\n const representativesOptionsLabels = useMemo(() => {\n if (heardAboutSelected && heardAboutSelected.representatives) {\n return _.reduce(\n heardAboutSelected.representatives,\n (acc: { [option: string]: string }, r) => ({ ...acc, [`${r.repId}`]: r.description }),\n {}\n );\n }\n return undefined;\n }, [heardAboutSelected]);\n\n const onHeardAboutChanged = useCallback(\n (hearAboutUsId: number) => {\n const heardAboutToSelect = getHeardAbout(heardAbout, hearAboutUsId);\n setValues({\n ...values,\n hearAboutUsId,\n repId: heardAboutToSelect && heardAboutToSelect.repId,\n });\n },\n [heardAbout, values, setValues]\n );\n\n const assistanceEl = document.getElementById('assistance');\n\n return (\n
    \n

    \n {getText(!authToken ? `registration${config.isVirtual ? '-virtual' : ''}` : 'authenticated')}\n

    \n

    \n {!authToken && <>{getText('registration', 'description')} }\n {getText('registration.help', undefined, {\n data: {\n helpLink: (\n {\n e.preventDefault();\n if (assistanceEl) {\n assistanceEl.style.display === 'none'\n ? (assistanceEl.style.display = 'block')\n : (assistanceEl.style.display = 'none');\n }\n }}\n >\n {getText('registration.helpLink')}\n \n ),\n },\n })}\n

    \n
    \n

    \n \n

    \n

    \n ,\n phone: ,\n }}\n />\n

    \n
    \n\n {showLanguageSelection && (\n \n {\n setValues({\n ...values,\n languageType,\n });\n if (setActiveLanguage) {\n setActiveLanguage(languageType);\n }\n }}\n />\n \n )}\n\n \n\n {!config.isVirtual && (\n <>\n \n \n \n {representativesOptions && (\n \n \n \n )}\n \n )}\n
    \n );\n};\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { Redirect } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Section, FormGroup, TextboxField, SelectDropdownField } from '@tradingblock/components';\nimport { SaveTokenInStorage, useLocalStorage } from '@tradingblock/storage';\nimport {\n AllSecurityQuestionTypes,\n ApplicationStep,\n TotalSecurityChallenges,\n ApplicationFormSection,\n ApplicationModel,\n SecurityChallengeModel,\n} from '../../../../types';\nimport { useStore } from '../../../../context';\nimport { useData } from '../../../../state/selectors';\nimport { updateApplication, validateToken } from '../../../../services';\nimport { useDispatcher } from '../../../hooks';\nimport { ApplicationActions } from '../../../../state/actions';\nimport { FieldRequirementsHelp } from '../../../fields';\nimport config from '../../../../config';\n\nexport const UserCredentialsSection: React.FC = ({ getText, values, formSubmitted }) => {\n const mounted = useRef();\n const storage = useStore();\n const localStorage = useLocalStorage();\n const dispatch = useDispatcher();\n const storageToken = useData(d => d.ui.storageToken);\n\n const application = useData(d => d.data.application);\n const { isSaving } = useData(d => d.data.saveInfo);\n const visibleSections = useData(d => d.ui.visibleSections);\n const createdUser = useData(d => d.data.createdUser);\n\n const [username, setUsername] = useState();\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n\n const getSecurityQuestionTypes = useCallback(\n (index: number) => {\n const otherValues = _.filter(values.securityChallenges, (_c, i) => i !== index).map(c => c.securityQuestionType);\n return _.filter(AllSecurityQuestionTypes, t => !_.includes(otherValues, t));\n },\n [values.securityChallenges]\n );\n\n useEffect(() => {\n mounted.current = true;\n return () => {\n // keep track of mounted state of component\n mounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n const fetchUsernameFromToken = async (token: string) => {\n const validatedToken = await validateToken(token);\n if (validatedToken && mounted.current) {\n setUsername(validatedToken.decoded.username);\n }\n };\n // when token present, use it to get decoded username\n if (storageToken) {\n fetchUsernameFromToken(storageToken);\n }\n }, [storageToken]);\n\n useEffect(() => {\n const storeTokenInLocalStorage = async (token: string) => {\n await SaveTokenInStorage(localStorage, token);\n };\n\n // when a new user is created and authenticated, save application to continue to next step\n if (createdUser === true && storageToken && !isSaving) {\n // store token in localstorage first\n storeTokenInLocalStorage(storageToken);\n\n const saveStep = ApplicationStep.SecureAccount;\n const data = updateApplication(saveStep, false, true, values, visibleSections);\n dispatch(\n ApplicationActions.requestSaveApplication({ application: data, saveType: 'continue', saveStep, storage })\n );\n }\n }, [storageToken, createdUser, isSaving, values, visibleSections, dispatch, storage, localStorage]);\n\n // if completed virtual application, send to thank you page\n if (createdUser && config.isVirtual) {\n return ;\n }\n\n // if already signed in, don't show user credential fields\n if (storageToken && !createdUser) {\n return (\n
    \n

    {getText('userName', undefined, { data: { siteGroup } })}

    \n

    \n {getText('authenticated', 'description', { data: { username } })}{' '}\n {getText('authenticated.signout', 'description', {\n data: {\n signoutLink: {getText('authenticated.signout')},\n },\n })}\n

    \n
    \n );\n }\n\n return (\n
    \n

    {getText('userName', undefined, { data: { siteGroup } })}

    \n

    {getText(config.isVirtual ? 'userName-virtual' : 'userName', 'description', { data: { siteGroup } })}

    \n\n }>\n \n \n\n

    {getText('password')}

    \n }>\n \n \n \n \n \n\n

    {getText('securityQuestions')}

    \n

    {getText('securityQuestions', 'description')}

    \n\n {_.map(_.range(0, TotalSecurityChallenges), idx => (\n \n
    \n \n \n \n \n \n \n
    \n
    \n ))}\n
    \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Country, State as StateEnum } from '@tradingblock/types';\nimport { FieldValue } from '.';\n\nconst State: React.FC<{ value: string | undefined; country: string | undefined }> = ({ value, country }) => {\n const usState = country === Country.UnitedStatesOfAmerica && _.includes(Object.values(StateEnum), value);\n return ;\n};\n\nexport const StateValue = State;\n","import React from 'react';\nimport { AddressModel, DefaultAddress } from '../../types';\nimport { FieldValue } from './';\nimport { StateValue } from './State';\n\nconst Address: React.FC<{ value: AddressModel | null | undefined }> = ({ value }) => {\n const address = value || DefaultAddress;\n return (\n \n {address.address1}\n {address.address2 && (\n <>\n
    \n {address.address2}\n \n )}\n {address.city && address.state && (\n <>\n
    \n {address.city}, {address.postalCode}\n \n )}\n {address.country && (\n <>\n
    \n \n \n )}\n \n );\n};\n\nexport const AddressValue = Address;\n","import React from 'react';\nimport { Language } from 'react-localize-redux';\nimport { DateModel } from '../../types';\nimport { getDateFromModel, isValidDate } from '../../services';\nimport { FieldValue } from './';\n\nconst Date: React.FC<{ value: DateModel | null | undefined; activeLanguage: Language }> = ({ value }) => {\n const date = value && isValidDate(value) && getDateFromModel(value);\n return {date && date.format('MMMM, D, YYYY')};\n};\n\nexport const DateValue = Date;\n","import React, { useMemo } from 'react';\nimport { LocalizeContextProps, withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { Text, useLocalize } from '@tradingblock/components';\nimport { DataValue } from '../../types';\n\ninterface FieldProps extends LocalizeContextProps {\n value: DataValue;\n textPrefix?: string;\n errorPrefix?: JSX.Element;\n}\n\nconst Field: React.FC = ({ value, textPrefix, errorPrefix, translate, children }) => {\n const { getTranslationId } = useLocalize();\n\n const isValid = useMemo(() => {\n return _.isNumber(value) || (!!value && (!_.isString(value) || !!_.trim(value)));\n }, [value]);\n\n const incompleteText = useMemo(() => {\n // only need incomplete text if not valid\n if (!isValid) {\n const text = translate(getTranslationId({ id: 'incomplete', page: 'summary' }));\n return _.isString(text) ? text : '[incomplete]';\n }\n return undefined;\n }, [isValid, translate, getTranslationId]);\n\n // show 'incomplete' text if not valid\n if (!isValid) {\n return (\n \n {errorPrefix} {incompleteText}\n \n );\n }\n // use custom content if children passed in\n if (children) {\n return <>{children};\n }\n // use language text if prefix passed in\n if (textPrefix) {\n return ;\n }\n // default to raw value\n return <>{value};\n};\n\nexport const FieldValue = withLocalize(Field);\n","import React from 'react';\nimport { FieldValue } from './';\n\nconst Masked: React.FC<{ value: string | undefined }> = ({ value }) => {\n const masked = value || '';\n const prefix = 'xxx-xx-'; // could potentially pass in as prop or determine from value length...\n // reveal last 4 chars\n const unmaskedIdx = masked.length - 4;\n return (\n \n {unmaskedIdx > 0 && `${prefix}${masked.substr(unmaskedIdx)}`}\n \n );\n}\n\nexport const MaskedValue = Masked;\n","import React from 'react';\nimport { PersonType, PersonModel, DefaultPersonDetails } from '../../types';\nimport { FieldValue, AddressValue } from './';\n\nconst Person: React.FC<{ value: PersonModel | null | undefined; personType: PersonType }> = ({\n value,\n personType,\n children,\n}) => {\n const person = value || DefaultPersonDetails;\n return (\n \n \n
    \n\n {personType === PersonType.AccountHolder && {person.email}}\n\n {personType !== PersonType.AccountHolder && }\n\n
    \n {children}\n
    \n );\n};\n\nexport const PersonValue = Person;\n","import React from 'react';\nimport _ from 'lodash';\nimport { PhoneModel, DefaultPhone } from '../../types';\nimport { FieldValue } from './';\n\nconst Phone: React.FC<{ value: PhoneModel | null | undefined }> = ({ value }) => {\n const phone = value || DefaultPhone;\n return (\n \n {phone.type ? (\n <>\n :{' '}\n \n ) : (\n ''\n )}\n {phone.phoneNumber}\n {!_.isEqual(phone, {}) &&
    }\n
    \n );\n};\n\nconst Phones: React.FC<{ value: PhoneModel[] | undefined }> = ({ value }) => {\n const phones = value || [];\n return (\n

    \n {phones.map((p, i) => (\n \n ))}\n

    \n );\n};\n\nexport const PhoneValue = Phone;\nexport const PhonesValue = Phones;\n","import dayjs from 'dayjs';\nimport React from 'react';\nimport { ApplicationInvestigationUploadedDocument } from '../../types';\nimport { FieldValue } from './';\nimport { Text } from '@tradingblock/components';\n\nexport const UploadedDocuments: React.FC<{ value: ApplicationInvestigationUploadedDocument }> = ({ value }) => {\n const uploadedDocument = value;\n const { documentName, originalFileName, takenOn, state } = uploadedDocument;\n\n return (\n \n \n \n \n
    \n Original Document Name: {originalFileName}\n
    \n \n Status:{' '}\n \n \n \n \n {takenOn && (\n <>\n
    \n Taken On: {dayjs(takenOn).format('MM/DD/YYYY')}\n \n )}\n
    \n );\n};\n","import React from 'react';\nimport { Country } from '@tradingblock/types';\nimport { Text } from '@tradingblock/components';\nimport { SummaryStepProps, EntityAccountType } from '../../../../types';\nimport { AddressValue, FieldValue, DateValue } from '../../../values';\nimport { StateValue } from '../../../values/State';\n\nexport const EntitySummary: React.FC = ({ application, getText, activeLanguage }) => {\n const entity = application && application.entity;\n if (!application || !entity) {\n return null;\n }\n const entityTypeTextPrefix = application.entityAccountType === EntityAccountType.PersonalTrust ? 'trust' : 'defaults';\n return (\n <>\n

    \n {getText(`entity.${entityTypeTextPrefix}`)}\n

    \n\n

    \n \n {entity.entityName}\n \n
    \n : \n
    \n {application.entityAccountType === EntityAccountType.PersonalTrust && (\n <>\n : \n \n )}\n {application.entityAccountType !== EntityAccountType.PersonalTrust && (\n <>\n : \n
    \n {application.ownerCountry === Country.UnitedStatesOfAmerica && (\n <>\n : \n
    \n \n )}\n : \n \n )}\n

    \n\n

    \n {getText('entity', `${entityTypeTextPrefix}.address.text`)}\n
    \n \n

    \n\n {application.entityAccountType !== EntityAccountType.PersonalTrust && (\n

    \n {getText('entity.businessPhone')}\n
    \n \n

    \n )}\n \n );\n};\n","import React from 'react';\nimport { Text } from '@tradingblock/components';\nimport {\n SummaryStepProps,\n AccountHolderType,\n PersonType,\n AccountHolderField,\n DefaultAccountHolder,\n} from '../../../../types';\nimport { PhonesValue, AddressValue, PersonValue } from '../../../values';\n\ninterface AccountHolderContactSummaryProps extends SummaryStepProps {\n type: AccountHolderType;\n}\n\nconst AccountHolderContactSummary: React.FC = ({ type, application, getText }) => {\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = (application && application[fieldPrefix]) || DefaultAccountHolder;\n const isUgma = type === 'ugma';\n\n if (!application || !accountHolder) {\n return null;\n }\n\n return (\n <>\n

    \n {isUgma ? getText('ugmaAccountHolder') : getText(fieldPrefix)}\n

    \n\n {type !== 'primary' && (\n

    \n \n

    \n )}\n\n

    {getText('defaults.phones')}

    \n \n\n

    {getText('accountHolders.addresses')}

    \n

    \n {getText('accountHolders.address.label')}\n
    \n \n

    \n

    \n {getText('accountHolders.mailingAddress.label')}\n
    \n {accountHolder.differentMailingAddress && }\n {!accountHolder.differentMailingAddress && }\n

    \n \n );\n};\n\nexport const PrimaryAccountHolderContactSummary: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderContactSummary: React.FC = props => {\n return ;\n};\n\nexport const UgmaAccountHolderContactSummary: React.FC = props => {\n return ;\n};\n","import React from 'react';\nimport { Text } from '@tradingblock/components';\nimport {\n EmploymentType,\n SummaryStepProps,\n AccountHolderType,\n ApplicationType,\n EntityAccountType,\n AccountHolderField,\n DefaultAccountHolder,\n DefaultForeignDueDiligence,\n DefaultForeignTaxWithholding,\n} from '../../../../types';\nimport { FieldValue, AddressValue, DateValue, MaskedValue } from '../../../values';\nimport { Country } from '@tradingblock/types';\n\ninterface AccountHolderPersonalInfoSummaryProps extends SummaryStepProps {\n type: AccountHolderType;\n}\n\nconst AccountHolderPersonalInfoSummary: React.FC = ({\n type,\n application,\n getText,\n activeLanguage,\n}) => {\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = (application && application[fieldPrefix]) || DefaultAccountHolder;\n const foreignDueDiligence = (application && application.foreignDueDiligence) || DefaultForeignDueDiligence;\n const foreignTaxWithholding = accountHolder.foreignTaxWithholding || DefaultForeignTaxWithholding;\n\n if (!application || !accountHolder) {\n return null;\n }\n\n const formatBoolean = (value: any) => {\n return value === true ? 'Yes' : 'No';\n };\n\n return (\n <>\n

    {getText('accountHolders.personal-info')}

    \n

    \n {getText('accountHolders.personal-info.dateOfBirth')}:{' '}\n \n {application.primaryAccountHolder.citizenshipCountry === Country.UnitedStatesOfAmerica && (\n <>\n
    \n {getText('ssn', undefined, { defaultPage: true, data: { itin: } })}:{' '}\n \n \n )}\n {application.type !== ApplicationType.Entity && (\n <>\n
    \n {getText('accountHolders.personal-info.maritalStatus')}:{' '}\n \n
    \n {getText('accountHolders.personal-info.dependents')}: \n \n )}\n

    \n\n

    {getText('accountHolders.citizen')}

    \n

    \n \n {accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica && (\n <>\n
    \n {getText('accountHolders.citizen.citizenshipCountry')}:{' '}\n \n
    \n {getText('accountHolders.citizen.birthCountry')}:{' '}\n \n
    \n {getText('taxIdentificationNumber')}:{' '}\n {foreignTaxWithholding.taxIdentificationNumber ? (\n \n ) : (\n 'N/A'\n )}\n
    \n {getText('treatyCountry')}:{' '}\n {foreignTaxWithholding.treatyCountry ? : 'N/A'}\n
    \n {foreignTaxWithholding.letterOfExplanation && (\n <>\n {getText('letterOfExplanation')}:\n
    \n \n
    \n \n )}\n {foreignTaxWithholding.jurisdictionDoesNotIssueTIN && (\n <>\n {getText('jurisdictionDoesNotIssueTIN')}:{' '}\n \n
    \n {getText('notIssuedForeignTIN')}:{' '}\n \n \n )}\n {foreignTaxWithholding.notIssuedForeignTIN && (\n <>\n {getText('foreignTINNotRequiredExplanation')}:
    \n \n \n )}\n {application.type !== ApplicationType.Entity &&\n accountHolder.citizenshipCountry !== Country.UnitedStatesOfAmerica &&\n accountHolder.address.country === Country.UnitedStatesOfAmerica && (\n <>\n
    \n {getText('accountHolders.citizen.visaType')}:{' '}\n \n
    \n {getText('accountHolders.citizen.visaExpirationDate')}:{' '}\n \n {accountHolder.ssn && (\n <>\n
    \n {getText('ssn', undefined, { defaultPage: true, data: { itin: } })}:{' '}\n \n \n )}\n \n )}\n {accountHolder.address.country !== Country.UnitedStatesOfAmerica && (\n <>\n
    \n {getText('foreignDueDiligence')}\n
    \n {getText('foreignDueDiligence.initialDepositAmount')}:{' '}\n \n
    \n {getText('foreignDueDiligence.initialDepositType')}:{' '}\n \n
    \n {getText('foreignDueDiligence.expectedWithdrawalFrequency')}:{' '}\n \n
    \n {getText('foreignDueDiligence.primaryBanking')}:{' '}\n \n {foreignDueDiligence.referredToBroker === true && (\n <>\n
    \n {getText('foreignDueDiligence.referredToBroker')}:{' '}\n \n
    \n {getText('foreignDueDiligence.referredName')}:{' '}\n \n
    \n {getText('foreignDueDiligence.referredRelationship')}:{' '}\n \n \n )}\n {foreignDueDiligence.referredToBroker === false && (\n <>\n
    \n {getText('foreignDueDiligence.initialContact')}:{' '}\n \n \n )}\n \n )}\n \n )}\n

    \n\n {(application.type !== ApplicationType.Entity ||\n application.entityAccountType === EntityAccountType.PersonalTrust) && (\n <>\n

    {getText('accountHolders.employment')}

    \n

    \n {getText('accountHolders.employment.employmentType')}:{' '}\n \n {accountHolder.employmentType === EmploymentType.Employed && (\n <>\n
    \n {getText('accountHolders.employment.employer')}: \n
    \n {getText('accountHolders.employment.jobPosition')}: \n
    \n {getText('accountHolders.employment.yearsEmployed')}:{' '}\n \n
    \n {getText('accountHolders.employerAddress')}\n
    \n \n \n )}\n

    \n \n )}\n \n );\n};\n\nexport const PrimaryAccountHolderPersonalInfoSummary: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderPersonalInfoSummary: React.FC = props => {\n return ;\n};\n\nexport const UgmaAccountHolderPersonalInfoSummary: React.FC = props => {\n return ;\n};\n","import React from 'react';\nimport { Text, Number } from '@tradingblock/components';\nimport { SummaryStepProps } from '../../../../types';\nimport { FieldValue } from '../../../values';\nimport _ from 'lodash';\n\nexport const EntityFinancialActivitySummary: React.FC = ({ application, getText }) => {\n const entity = application && application.entity;\n if (!application || !entity) {\n return null;\n }\n return (\n <>\n

    {getText('entity.financialActivity')}

    \n

    \n : \n
    \n : \n
    \n : {entity.initialDepositAmount && }\n
    \n : \n
    \n : \n
    \n : \n
    \n : \n

    \n\n {entity.hasTradingBlockAccounts && (\n

    \n {getText('entity.tradingBlockAccounts')}:\n
    \n {_.map(entity.tradingBlockAccounts, (account, i) => (\n \n : \n {' / '}\n : \n {!_.isEqual(account, {}) &&
    }\n
    \n ))}\n

    \n )}\n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { BeneficiaryType, SummaryStepProps } from '../../../../types';\nimport { FieldValue, DateValue, MaskedValue, AddressValue } from '../../../values';\n\ninterface BeneficiariesListProps extends Pick {}\n\nexport const BeneficiariesList: React.FC = ({ application, getText, activeLanguage }) => {\n return (\n <>\n {_.isEmpty(application && application.beneficiaries) && (\n

    \n \n

    \n )}\n {_.map(application && application.beneficiaries, (b, i) => (\n
    \n

    \n {getText('beneficiaries.name', undefined, { data: { number: i + 1 } })}\n

    \n

    \n \n (\n )\n \n {b.beneficiaryType === BeneficiaryType.Individual && (\n <>\n
    \n \n
    \n \n
    \n {getText('dateOfBirth', undefined, { defaultPage: true })}:{' '}\n \n
    \n {getText('ssn', undefined, { defaultPage: true, data: { itin: } })}:{' '}\n \n \n )}\n {b.beneficiaryType === BeneficiaryType.Trust && (\n <>\n
    \n {getText('beneficiaries.trustName')}: \n
    \n {getText('beneficiaries.ein')}: \n \n )}\n
    \n {getText('beneficiaries.address')}\n
    \n \n
    \n \n {getText('beneficiaries.percent', undefined, { data: { percent: b.percent } })}\n \n

    \n
    \n ))}\n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { SummaryStepProps } from '../../../../types';\nimport { FieldValue, DateValue, MaskedValue, AddressValue } from '../../../values';\n\ninterface OwnersOfficersListProps extends Pick {}\n\nexport const OwnersOfficersList: React.FC = ({ application, getText, activeLanguage }) => {\n return (\n <>\n {_.isEmpty(application && application.ownersOfficers) && (\n

    \n \n

    \n )}\n {_.map(application && application.ownersOfficers, (o, i) => (\n
    \n

    \n {getText('ownersOfficers.name', undefined, { data: { number: i + 1 } })}\n

    \n

    \n \n \n \n
    \n {getText('dateOfBirth', undefined, { defaultPage: true })}: \n
    \n {getText('ssn', undefined, { defaultPage: true, data: { itin: } })}: \n
    \n \n {o.isOwner && (\n <>\n
    \n - \n \n )}\n {o.isOfficer && (\n <>\n
    \n - \n \n )}\n

    \n
    \n ))}\n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport {\n AllAccountHolderDisclosureKeys,\n AccountHolderDisclosureKey,\n AccountHolderDisclosureContingentFields,\n BooleanToggleType,\n SummaryStepProps,\n AccountHolderType,\n AccountHolderField,\n DefaultAccountHolder,\n} from '../../../../types';\nimport { FieldValue } from '../../../values';\n\ninterface AccountHolderDisclosuresSummaryProps extends SummaryStepProps {\n type: AccountHolderType;\n}\n\nconst AccountHolderDisclosuresSummary: React.FC = ({\n type,\n application,\n getText,\n}) => {\n const fieldPrefix: AccountHolderField = type === 'primary' ? 'primaryAccountHolder' : 'secondaryAccountHolder';\n const accountHolder = (application && application[fieldPrefix]) || DefaultAccountHolder;\n if (!accountHolder) {\n return null;\n }\n return (\n <>\n

    \n {getText(`accountHolderDisclosures.${type}`)}\n

    \n {_.map(AllAccountHolderDisclosureKeys, (d: AccountHolderDisclosureKey, i) => {\n return (\n
    \n

    {getText(`accountHolderDisclosures.${d}`)}

    \n

    \n \n \n \n {accountHolder.disclosures &&\n accountHolder.disclosures[d] === BooleanToggleType.Yes &&\n _.map(AccountHolderDisclosureContingentFields[d], id => (\n \n
    \n \n {': '}\n \n {accountHolder[id]}\n \n
    \n ))}\n

    \n
    \n );\n })}\n \n );\n};\n\nexport const PrimaryAccountHolderDisclosuresSummary: React.FC = props => {\n return ;\n};\n\nexport const JointAccountHolderDisclosuresSummary: React.FC = props => {\n return ;\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { PublicOfficialModel, DefaultPublicOfficial } from '../../types';\nimport { FieldValue } from './';\n\nconst PublicOfficial: React.FC<{ value: PublicOfficialModel | undefined }> = ({ value }) => {\n const publicOfficial = value || DefaultPublicOfficial;\n return (\n \n {publicOfficial.name}\n
    \n \n {': '}\n \n
    \n \n {': '}\n \n
    \n \n {': '}\n \n
    \n \n {': '}\n \n \n );\n};\n\nconst PublicOfficials: React.FC<{ value: PublicOfficialModel[] | undefined }> = ({ value }) => {\n return (\n <>\n {_.map(value, (p, i) => (\n

    \n \n \n \n
    \n \n

    \n ))}\n \n );\n};\n\nexport const PublicOfficialsValue = PublicOfficials;\n","import React, { useCallback } from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { AllAccountDisclosureKeys, AccountDisclosureKey, AccountDisclosureContingentFields, BooleanToggleType, SummaryStepProps, ApplicationType, EntityAccountType, AllEntityAccountDisclosureKeys, AllEntityNonTrustAccountDisclosureKeys } from '../../../../types';\nimport { FieldValue } from '../../../values';\nimport { PublicOfficialsValue } from '../../../values/PublicOfficials';\n\nexport const AccountDisclosuresSummary: React.FC = ({ application, getText }) => {\n const getDisclosureContingentFields = useCallback(\n (key: AccountDisclosureKey) => {\n if (application && application.accountDisclosures && application.accountDisclosures[key] === BooleanToggleType.Yes && AccountDisclosureContingentFields[key]) {\n const id = _.first(AccountDisclosureContingentFields[key]);\n // special case for public officials\n if (id === 'disclosuresEntityPublicOfficials') {\n return ;\n }\n\n return (\n

    \n {_.map(AccountDisclosureContingentFields[key], id => (\n \n \n {': '}\n \n {application[id]}\n \n
    \n
    \n ))}\n

    \n );\n }\n return null;\n },\n [application]\n );\n\n if (!application) {\n return null;\n }\n\n return (\n <>\n

    {getText('accountDisclosures')}

    \n {_.map(AllAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n

    \n \n \n \n

    \n {getDisclosureContingentFields(d)}\n
    \n ))}\n\n {application.type === ApplicationType.Entity && (\n <>\n
    \n

    \n {getText('accountDisclosures.entityDisclosures')}\n

    \n {_.map(AllEntityAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n

    \n \n \n \n

    \n {getDisclosureContingentFields(d)}\n
    \n ))}\n\n {application.entityAccountType !== EntityAccountType.PersonalTrust && (\n <>\n
    \n

    \n {getText('accountDisclosures.entityNonTrustDisclosures')}\n

    \n {_.map(AllEntityNonTrustAccountDisclosureKeys, (d: AccountDisclosureKey, i) => (\n
    \n

    {getText(`accountDisclosures.${d}`)}

    \n

    \n \n \n \n

    \n {getDisclosureContingentFields(d)}\n
    \n ))}\n \n )}\n \n )}\n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { AgreementKey, SummaryStepProps } from '../../../../types';\nimport { FieldValue } from '../../../values';\nimport { getAllAgreementKeysForApplication } from '../../../../services';\n\nexport const AccountAgreementsSummary: React.FC = ({ application, getText }) => {\n if (!application) {\n return null;\n }\n return (\n <>\n

    {getText('agreements')}

    \n {_.map(getAllAgreementKeysForApplication(application), (a: AgreementKey, i) => {\n return (\n
    \n

    {getText(`agreements.${a}`)}

    \n

    \n \n \n \n

    \n
    \n );\n })}\n \n );\n};\n","import { Section } from '@tradingblock/components';\nimport React, { useMemo } from 'react';\nimport { useApplication, useStore } from '../../../../context';\nimport { getForcedOffRampUrl, isApplicationStepInvalid, updateApplication } from '../../../../services';\nimport { ApplicationActions } from '../../../../state/actions';\nimport { useData } from '../../../../state/selectors';\nimport {\n ApplicationFormSection,\n ClearerType,\n ApplicationStep,\n ApplicationModel,\n AllApplicationSteps,\n BooleanToggleType,\n} from '../../../../types';\nimport _ from 'lodash';\nimport { Country } from '@tradingblock/types';\nimport { useDispatch } from 'react-redux';\n\nexport const ClearerTypeSection: React.FC = ({ getText, values }) => {\n const step = useData(d => d.ui.step);\n const authToken = useData(d => d.ui.apiToken);\n const dispatch = useDispatch();\n const [{ mismatchedDataModal, formSubmitted }, { setMismatchedDataModal, setFormSubmitted }] = useApplication();\n const { numberOfSections, visibleSections, scrollToSection } = useData(d => d.ui.sectionInfo);\n const isOnLastSectionOfStep = useMemo(\n () => !!numberOfSections && !!visibleSections && visibleSections >= numberOfSections,\n [numberOfSections, visibleSections]\n );\n const stepIndex = useMemo(() => _.indexOf(AllApplicationSteps, step), [step]);\n const storage = useStore();\n\n const handleClick = async (e: any, clearerType: ClearerType) => {\n e.preventDefault();\n saveStepAndContinue({\n ...values,\n clearer: clearerType,\n ownerCountry: clearerType === ClearerType.RQD ? Country.UnitedStatesOfAmerica : undefined,\n retirementAccount: clearerType === ClearerType.RQD ? BooleanToggleType.No : undefined,\n primaryAccountHolder: {\n ...values.primaryAccountHolder,\n address: {\n ...values.primaryAccountHolder.address,\n country: clearerType === ClearerType.RQD ? Country.UnitedStatesOfAmerica : '',\n },\n citizenshipCountry: clearerType === ClearerType.RQD ? Country.UnitedStatesOfAmerica : null,\n },\n });\n };\n\n const saveStepAndContinue = async (values: ApplicationModel) => {\n // check for any off ramp conditions\n const forcedNextUrl = getForcedOffRampUrl(values);\n // check if current step is valid\n const isStepValid = step && !isApplicationStepInvalid(step, values);\n // can only move past current step if on last section and no offramp url\n const isStepCompleted = isOnLastSectionOfStep && isStepValid && !forcedNextUrl;\n\n // if no authToken, need to create user first\n if (!authToken && isStepCompleted && step === ApplicationStep.SecureAccount) {\n dispatch(ApplicationActions.requestCreateUser({ application: values }));\n return;\n }\n\n // reset mismatched data modal state\n if (mismatchedDataModal === false) {\n setMismatchedDataModal(undefined);\n }\n\n // update status fields on application\n const data = updateApplication(\n step || ApplicationStep.SecureAccount,\n !isStepCompleted,\n isStepCompleted,\n values,\n visibleSections\n );\n // if completing last step, use saveType = 'complete'\n const saveType = isStepCompleted && stepIndex + 1 === AllApplicationSteps.length ? 'complete' : 'continue';\n // save application\n dispatch(ApplicationActions.requestSaveApplication({ application: data, saveType, saveStep: step, storage }));\n };\n\n return (\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.title')}\n
    \n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.rqd')}\n
    \n
    \n {getText('defaults.clearerType.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.best.title')}\n
    \n
    \n {getText('defaults.clearerType.best.rqd')}\n
    \n
    \n {getText('defaults.clearerType.best.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.assetTypes.title')}\n
    \n
    \n {getText('defaults.clearerType.assetTypes.rqd')}\n
    \n
    \n {getText('defaults.clearerType.assetTypes.apex')}\n
    \n ({getText('defaults.clearerType.assetTypes.apexSubText')})\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.stockETFCommission.title')}\n
    \n
    \n {getText('defaults.clearerType.stockETFCommission.rqd')}\n
    \n
    \n {getText('defaults.clearerType.stockETFCommission.apex.1')}\n
    \n {getText('defaults.clearerType.stockETFCommission.apex.2')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.optionCommission.title')}\n
    \n
    \n {getText('defaults.clearerType.optionCommission.rqd')}\n
    \n
    \n {getText('defaults.clearerType.optionCommission.apex.1')}\n
    \n {getText('defaults.clearerType.optionCommission.apex.2')}\n
    \n
    \n {/*
    \n
    \n {getText('defaults.clearerType.fractionalShares.title')}\n
    \n
    \n {getText('defaults.clearerType.fractionalShares.rqd')}\n
    \n
    \n {getText('defaults.clearerType.fractionalShares.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.fractionalOptions.title')}\n
    \n
    \n {getText('defaults.clearerType.fractionalOptions.rqd')}\n
    \n
    \n {getText('defaults.clearerType.fractionalOptions.apex')}\n
    \n
    */}\n
    \n
    \n {getText('defaults.clearerType.brokerAssisted.title')}\n
    \n
    \n {getText('defaults.clearerType.brokerAssisted.rqd')}\n
    \n
    \n {getText('defaults.clearerType.brokerAssisted.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.cashieringMethods.title')}\n
    \n
    \n {getText('defaults.clearerType.cashieringMethods.rqd')}\n
    \n
    \n {getText('defaults.clearerType.cashieringMethods.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.accountTypes.title')}\n
    \n
    \n {getText('defaults.clearerType.accountTypes.rqd')}\n
    \n
    \n {getText('defaults.clearerType.accountTypes.apex')}\n
    \n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.best.title')}\n
    \n
    \n {getText('defaults.clearerType.best.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.assetTypes.title')}\n
    \n
    \n {getText('defaults.clearerType.assetTypes.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.stockETFCommission.title')}\n
    \n
    \n {getText('defaults.clearerType.stockETFCommission.apex.1')}\n
    \n {getText('defaults.clearerType.stockETFCommission.apex.2')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.optionCommission.title')}\n
    \n
    \n {getText('defaults.clearerType.optionCommission.apex.1')}\n
    \n {getText('defaults.clearerType.optionCommission.apex.2')}\n
    \n
    \n {/*
    \n
    \n {getText('defaults.clearerType.fractionalShares.title')}\n
    \n
    \n {getText('defaults.clearerType.fractionalShares.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.fractionalOptions.title')}\n
    \n
    \n {getText('defaults.clearerType.fractionalOptions.apex')}\n
    \n
    */}\n
    \n
    \n {getText('defaults.clearerType.brokerAssisted.title')}\n
    \n
    \n {getText('defaults.clearerType.brokerAssisted.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.cashieringMethods.title')}\n
    \n
    \n {getText('defaults.clearerType.cashieringMethods.apex')}\n
    \n
    \n
    \n
    \n {getText('defaults.clearerType.accountTypes.title')}\n
    \n
    \n {getText('defaults.clearerType.accountTypes.apex')}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n {getText('defaults.clearerType.disclaimer')}\n \n
    \n
    \n );\n};\n","import React, { useMemo } from 'react';\nimport { useData } from '../state/selectors';\nimport { AllApplicationSteps } from '../types';\nimport { ApplicationModel, ApplicationStep, ClearerType, HeardAboutInfo } from '@tradingblock/types';\nimport _ from 'lodash';\nimport { useFormik, useFormikContext } from 'formik';\n\n\nexport function shouldRemoveClearerOption(\n selectedHeardAboutUsId: number | string | undefined,\n selectedHeardAboutUsRepId: number | string | undefined,\n heardAboutUsItems: HeardAboutInfo[] | undefined\n) {\n if (heardAboutUsItems && selectedHeardAboutUsId !== undefined) {\n const selectedHeardAboutUs = heardAboutUsItems.find(heardAboutItem => heardAboutItem.heardAboutId.toString() === selectedHeardAboutUsId);\n //Check if there is a rep selected to check if it has RQD office codes\n if (selectedHeardAboutUs !== undefined && selectedHeardAboutUs.representatives !== undefined && selectedHeardAboutUs.representatives.length > 0) {\n if (selectedHeardAboutUsRepId !== undefined) {\n const repOfficeCodes = selectedHeardAboutUs.representatives.find(rep => rep.repId.toString() === selectedHeardAboutUsRepId);\n //If it does not then we delete the clearer step\n if (repOfficeCodes !== undefined && repOfficeCodes.officeCodes.rqd === undefined) {\n return true;\n }\n }\n } else if (selectedHeardAboutUs !== undefined && selectedHeardAboutUs.officeCodes !== undefined) {\n //If we do not have a reps attached to the hear about us item. Then we need to use the root office codes.\n //If there is not any rqd then we delete the clearer step.\n if (selectedHeardAboutUs.officeCodes.rqd === undefined) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * A hook that checks what steps should be available base on \n * @returns {ApplicationStep[]} application steps allowed for the app\n */\nexport function useApplicationSteps() {\n const heardAbout = useData(d => d.ui.heardAbout);\n const context = useFormikContext();\n\n const allApplicationSteps = useMemo(() => {\n let applicationSteps = _.clone(AllApplicationSteps);\n \n if (context && context.values && shouldRemoveClearerOption(context.values.hearAboutUsId, context.values.repId, heardAbout)) {\n const clearerTypeStepIdIndex = applicationSteps.findIndex(step => step === ApplicationStep.ClearerType);\n if (clearerTypeStepIdIndex) {\n delete applicationSteps[clearerTypeStepIdIndex];\n }\n }\n return applicationSteps;\n }, [heardAbout, context]);\n\n return allApplicationSteps;\n}","import { Section } from '@tradingblock/components';\nimport _ from 'lodash';\nimport React, { useEffect, useMemo } from 'react';\nimport { useData } from '../../../state/selectors';\nimport { ApplicationFormSection, ApplicationStep, ApplicationStepProps, ClearerType } from '../../../types';\nimport { Link } from 'react-router-dom';\nimport config from '../../../config';\nimport { ClearerTypeSection } from './clearer-type/ClearerTypeSection';\nimport { shouldRemoveClearerOption } from '../../../hooks/useApplicationSteps';\nimport { updateApplication } from '../../../services';\nimport { ApplicationActions } from '../../../state/actions';\nimport { useDispatch } from 'react-redux';\nimport { useStore } from '../../../context';\n\nexport const ClearerTypeForm: React.FC = ({ getText, ...sectionProps }) => {\n const authToken = useData(d => d.ui.apiToken);\n const visibleSections = useData(d => d.ui.visibleSections);\n const heardAbout = useData(d => d.ui.heardAbout);\n const dispatch = useDispatch();\n const storage = useStore();\n const shouldSkipStep = shouldRemoveClearerOption(sectionProps.values.hearAboutUsId, sectionProps.values.repId, heardAbout);\n\n useEffect(() => {\n if (shouldSkipStep) {\n // update status fields on application\n const data = updateApplication(\n ApplicationStep.ClearerType,\n true,\n true,\n {\n ...sectionProps.values,\n clearer: ClearerType.Apex\n },\n visibleSections\n );\n // save application\n dispatch(ApplicationActions.requestSaveApplication({\n application: data,\n saveType: 'continue',\n saveStep: ApplicationStep.ClearerType,\n storage\n }));\n }\n }, [heardAbout, dispatch, storage, shouldSkipStep]);\n\n const sections = useMemo(() => {\n let allSections: React.FC[] = [];\n if (!shouldSkipStep) {\n allSections.push(ClearerTypeSection);\n }\n return _.take(allSections, visibleSections || 1);\n }, [visibleSections]);\n \n\n return (\n <>\n {_.map(sections, (ChildSection, index) => (\n \n ))}\n\n {!config.isVirtual && !authToken && (!visibleSections || visibleSections <= 1) && (\n
    \n

    {getText('signin')}

    \n

    \n {getText('signin', 'description', {\n data: { signinLink: {getText('signin.signinLink')} },\n })}\n

    \n
    \n )}\n \n );\n};\n","import React from 'react';\nimport { Modal as BootstrapModal } from 'react-bootstrap';\nimport { Modal, Text, LoadingImage } from '@tradingblock/components';\nimport { MismatchedDataType } from '../../types';\nimport { useData } from '../../state/selectors';\n\ninterface MismatchedDataModalProps {\n type: MismatchedDataType;\n onEdit: () => void;\n onContinue: () => void;\n onClose: () => void;\n}\n\nexport const MismatchedDataModal: React.FC = ({\n type,\n onEdit,\n onContinue,\n onClose,\n children,\n}) => {\n const { isSaving } = useData(d => d.data.saveInfo);\n return (\n onClose()} show={true} backdrop=\"static\">\n \n \n \n \n \n \n

    \n \n

    \n {children}\n

    \n \n

    \n

    \n \n

    \n
    \n \n \n {!isSaving && (\n \n )}\n {isSaving && }\n \n
    \n );\n};\n","import React, { useMemo } from 'react';\nimport { LocalizeContextProps, withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { RiskLevel } from '../../types';\nimport { useLocalize } from '@tradingblock/components';\n\ninterface RiskLevelIconProps {\n level: RiskLevel;\n}\n\nconst RiskLevelIconComponent: React.FC = ({ level, translate }) => {\n const { getTranslationId } = useLocalize();\n\n const title = useMemo(() => {\n const text = translate(getTranslationId({ id: `riskLevel.${level}` }));\n return _.isString(text) ? text : `[level ${level}]`;\n }, [level, translate, getTranslationId]);\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport const RiskLevelIcon = withLocalize(RiskLevelIconComponent);\n","import React from 'react';\nimport _ from 'lodash';\nimport { ApplicationModel } from '../../types';\nimport { getTradeGoalsWithDataVerification, getTradeGoalsWithDataVerificationRetirementAccount } from '../../services';\nimport { TradeGoalText } from '.';\n\ninterface TradeGoalsVerificationProps {\n application: ApplicationModel | undefined;\n}\n\nexport const TradeGoalsVerification: React.FC = ({ application }) => {\n if (application && application.retirementAccount !== 'yes') {\n return (\n
      \n {_.map(getTradeGoalsWithDataVerification(application), ({ tradeGoalType, verified }, i) => (\n
    • \n {' '}\n \n
    • \n ))}\n
    \n );\n } else if (application && application.retirementAccount === 'yes') {\n return (\n
      \n {_.map(getTradeGoalsWithDataVerificationRetirementAccount(application), ({ tradeGoalType, verified }, i) => (\n
    • \n {' '}\n \n
    • \n ))}\n
    \n );\n }\n return null;\n};\n","import React, { useMemo } from 'react';\nimport { LocalizeContextProps, withLocalize } from 'react-localize-redux';\nimport _ from 'lodash';\nimport { Text, useLocalize } from '@tradingblock/components';\nimport { TradeGoalType, ApplicationModel, BooleanToggleType } from '../../types';\n\ninterface TradeGoalTextProps extends LocalizeContextProps {\n application: ApplicationModel | undefined;\n type: TradeGoalType;\n}\n\nconst TradeGoalTextContent: React.FC = ({ application, type, translate }) => {\n const { getTranslationId } = useLocalize();\n\n const tradeGoalOptionPrefix = useMemo(() => {\n if (application && application.retirementAccount === BooleanToggleType.Yes && type === TradeGoalType.AllAbovePlusPutWriting) {\n const prefix = translate(getTranslationId({ id: 'tradeGoalType.prefix-ira', type: 'field' }));\n return _.isString(prefix) ? prefix : '';\n }\n return '';\n }, [application, type, translate, getTranslationId]);\n\n return ;\n};\n\nexport const TradeGoalText = withLocalize(TradeGoalTextContent);\n","import { ApplicationStep } from '../../types';\nimport { AccountTypeForm } from './form-steps/AccountType';\nimport { AgreementsForm } from './form-steps/Agreements';\nimport { BeneficiariesForm } from './form-steps/Beneficiaries';\nimport { AccountInformationForm } from './form-steps/AccountInformation';\nimport { InvestingProfileForm } from './form-steps/InvestingProfile';\nimport { SecureAccountForm } from './form-steps/SecureAccount';\nimport { SignForm } from './form-steps/Sign';\nimport { SecureAccountSummary } from './summary-steps/SecureAccount';\nimport { AccountTypeSummary } from './summary-steps/AccountType';\nimport { InvestingProfileSummary } from './summary-steps/InvestingProfile';\nimport { AccountInformationSummary } from './summary-steps/AccountInformation';\nimport { BeneficiariesSummary } from './summary-steps/Beneficiaries';\nimport { AgreementsSummary } from './summary-steps/Agreements';\nimport { ClearerTypeForm } from './form-steps/ClearerType';\nimport { ClearerTypeSummary } from './summary-steps/ClearerType';\n\nexport * from './ApplicationLoader';\nexport * from './MismatchedDataModal';\nexport * from './RiskLevelIcon';\nexport * from './TradeGoalsVerification';\nexport * from './TradeGoalText';\n\nexport const ApplicationFormComponents = {\n [ApplicationStep.SecureAccount]: SecureAccountForm,\n [ApplicationStep.ClearerType]: ClearerTypeForm,\n [ApplicationStep.AccountType]: AccountTypeForm,\n [ApplicationStep.InvestingProfile]: InvestingProfileForm,\n [ApplicationStep.AccountInformation]: AccountInformationForm,\n [ApplicationStep.Beneficiaries]: BeneficiariesForm,\n [ApplicationStep.Agreements]: AgreementsForm,\n [ApplicationStep.Sign]: SignForm,\n};\n\nexport const ApplicationSummaryComponents = {\n [ApplicationStep.SecureAccount]: SecureAccountSummary,\n [ApplicationStep.ClearerType]: ClearerTypeSummary,\n [ApplicationStep.AccountType]: AccountTypeSummary,\n [ApplicationStep.InvestingProfile]: InvestingProfileSummary,\n [ApplicationStep.AccountInformation]: AccountInformationSummary,\n [ApplicationStep.Beneficiaries]: BeneficiariesSummary,\n [ApplicationStep.Agreements]: AgreementsSummary,\n};\n","import React, { useEffect, useMemo } from 'react';\nimport { Link } from 'react-router-dom';\nimport _, { create } from 'lodash';\nimport { ExternalLink, GetTradingBlockDomain, Section } from '@tradingblock/components';\nimport {\n ApplicationDuplicateUsernameResponseCode,\n ApplicationDuplicateAccountTypeSSNResponseCode,\n Country,\n TradingBlockUrlsLookup,\n} from '@tradingblock/types';\nimport { ApplicationStepProps, ApplicationFormSection, ClearerType, BooleanToggleType } from '../../../types';\nimport { useData, useStateSelector } from '../../../state/selectors';\nimport { Errors } from '../..';\nimport { UserInfoSection } from './secure-account/UserInfoSection';\nimport { UserCredentialsSection } from './secure-account/UserCredentialsSection';\nimport config from '../../../config';\nimport { useDispatcher } from '../../hooks';\nimport { ApplicationActions } from '../../../state/actions';\nimport { getAffiliateHeardAboutUs } from '../../../services';\n\nexport const SecureAccountForm: React.FC = ({ getText, ...sectionProps }) => {\n const { setValues, values } = sectionProps;\n const authToken = useData(d => d.ui.apiToken);\n\n const { isSaving } = useData(d => d.data.saveInfo);\n const visibleSections = useData(d => d.ui.visibleSections);\n const createErrorCode = useData(d => d.data.createErrorCode);\n const createErrorMessages = useData(d => d.data.createErrorMessages);\n const dispatch = useDispatcher();\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n const clearer = useStateSelector(s => s.ui.clearer);\n const affiliate: string | undefined = useStateSelector(s => s.ui.affiliate);\n const affiliateValue = affiliate && getAffiliateHeardAboutUs(affiliate);\n\n useEffect(() => {\n if (affiliate && affiliateValue && !values.hearAboutUsId && !values.repId) {\n setValues({\n ...values,\n hearAboutUsId: affiliateValue.heardAboutId,\n repId: affiliateValue.repId,\n });\n }\n }, [affiliate, affiliateValue]);\n\n useEffect(() => {\n if (clearer === 'rqd') {\n setValues({\n ...values,\n clearer: ClearerType.RQD,\n ownerCountry: Country.UnitedStatesOfAmerica,\n retirementAccount: BooleanToggleType.No,\n primaryAccountHolder: {\n ...values.primaryAccountHolder,\n address: {\n ...values.primaryAccountHolder.address,\n country: Country.UnitedStatesOfAmerica,\n },\n citizenshipCountry: Country.UnitedStatesOfAmerica,\n },\n });\n } else if (clearer === 'apex') {\n setValues({\n ...values,\n clearer: ClearerType.Apex,\n });\n }\n }, [clearer]);\n\n useEffect(() => {\n if (siteGroup === 'mb') {\n setValues({\n ...values,\n clearer: ClearerType.Apex,\n });\n }\n }, [siteGroup]);\n\n const errors = useMemo(() => {\n if (createErrorCode) {\n if (createErrorCode === ApplicationDuplicateAccountTypeSSNResponseCode) {\n return {\n user: `An account with this account type and SSN already exists. Please change the account type or reach out to Account Services for assistance.`,\n };\n }\n if (!_.isEmpty(createErrorMessages)) {\n return { user: `There was a problem creating your user account:` };\n }\n return { user: createErrorCode === ApplicationDuplicateUsernameResponseCode ? 'duplicate' : 'failed' };\n }\n return undefined;\n }, [createErrorCode, createErrorMessages]);\n\n const sections = useMemo(() => {\n let allSections: React.FC[] = [UserInfoSection, UserCredentialsSection];\n return _.take(allSections, visibleSections || 1);\n }, [visibleSections]);\n\n useEffect(() => {\n dispatch(ApplicationActions.requestUiData({ siteConfigId: siteGroup === 'mb' ? 4 : 2 }));\n }, [siteGroup]);\n\n const crsFormLink = siteGroup === 'mb' ? TradingBlockUrlsLookup.MB_CRS : TradingBlockUrlsLookup.TB_CRS;\n const domain = GetTradingBlockDomain(undefined, siteGroup);\n\n // combine domain and crsFormLink\n const crsFormLinkURL = `//legacy.${domain}${crsFormLink}`;\n\n return (\n <>\n {_.map(sections, (ChildSection, index) => (\n \n ))}\n\n {!config.isVirtual && !authToken && (!visibleSections || visibleSections <= 1) && (\n
    \n

    {getText('signin')}

    \n

    \n {getText('signin', 'description', {\n data: { signinLink: {getText('signin.signinLink')} },\n })}\n

    \n

    \n {getText('crs', 'description', {\n data: {\n crsLink: (\n \n {getText('crs.crsLink')}\n \n ),\n },\n })}\n

    \n
    \n )}\n\n {errors && !isSaving && (\n \n {!_.isEmpty(createErrorMessages) && (\n
      \n {_.map(createErrorMessages, (err, i) => (\n
    • {err}
    • \n ))}\n
    \n )}\n
    \n )}\n \n );\n};\n","import React, { useContext } from 'react';\nimport { Field } from 'formik';\nimport { AllStates, Country, getGroupedCountryOptions } from '@tradingblock/types';\nimport { Section, FormGroup, SelectDropdownField, StepperField, TextboxField } from '@tradingblock/components';\n\nimport {\n AllApplicationTypes,\n AllFlexibilityTypes,\n AllRetirementAccountTypes,\n AllJointAccountTypes,\n BooleanToggleType,\n ApplicationType,\n FlexibilityType,\n ApplicationStepProps,\n AllBooleanToggleTypes,\n RetirementAccountType,\n JointAccountType,\n AllEntityTypes,\n EntityAccountType,\n ClearerType,\n RQDRetirementAccountTypes,\n} from '../../../types';\nimport {\n updateFieldsDependentOnOwnerCountry,\n updateFieldsDependentOnRetirementAccount,\n updateFieldsDependentOnApplicationType,\n updateFieldsDependentOnRetirementAccountType,\n updateFieldsDependentOnJointAccountType,\n updateFieldsDependentOnFlexibilityType,\n updateFieldsDependentOnEntityType,\n} from '../../../services';\nimport { useStateSelector } from '../../../state/selectors';\nimport { useLinkClicked } from './LinkClickedContext';\n\nexport const AccountTypeForm: React.FC = ({ getText, values, setValues }) => {\n const siteGrp = useStateSelector(s => s.ui.siteGrp);\n const entityListLinks = {\n tb: {\n llc: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/TB_AppPack_LLC.pdf',\n corp: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/TB_AppPack_Corporate.pdf',\n partnership: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/TB_AppPack_Partnership.pdf',\n personalTrust: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/TB_AppPack_Trust_ind.pdf',\n businessTrust: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/TB_AppPack_Trust.pdf',\n },\n mb: {\n llc: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/MB_AppPack_LLC.pdf',\n corp: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/MB_AppPack_Corporate.pdf',\n partnership: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/MB_AppPack_Partnership.pdf',\n personalTrust: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/MB_AppPack_Trust_ind.pdf',\n businessTrust: 'https://legacy.tradingblock.com/docs/EntityAccountAppPDFs/MB_AppPack_Trust.pdf',\n },\n rqd: {\n entityApplicationPacket: 'https://legacy.tradingblock.com/Admin/Forms/RQD/AppPacks/TB_RQD_Entity_AppPack.pdf',\n entityDisclosurePacket:\n 'https://legacy.tradingblock.com/Admin/Forms/RQD/Disclosures/TB_RQD_Disclosure_Packet_Review_and_Retain.pdf',\n },\n };\n\n const disabledFlexibilityTypeOptions =\n values.type === ApplicationType.UGMA ||\n (values.retirementAccount === BooleanToggleType.Yes &&\n values.retirementAccountType === RetirementAccountType.CoverDell)\n ? [FlexibilityType.Margin]\n : undefined;\n\n const { setLinkClicked } = useLinkClicked();\n return (\n <>\n
    \n \n setValues(updateFieldsDependentOnOwnerCountry(values, ownerCountry))}\n />\n \n\n \n setValues(updateFieldsDependentOnApplicationType(values, type))}\n />\n \n\n {values.type === ApplicationType.Individual && (\n <>\n \n \n setValues(updateFieldsDependentOnRetirementAccount(values, retirementAccount))\n }\n disabledOptions={\n values.ownerCountry !== Country.UnitedStatesOfAmerica ? [BooleanToggleType.Yes] : undefined\n }\n />\n \n {values.retirementAccount === BooleanToggleType.Yes && (\n <>\n \n \n setValues(updateFieldsDependentOnRetirementAccountType(values, retirementAccountType))\n }\n />\n \n {values.retirementAccountType === RetirementAccountType.Simple && (\n \n \n \n )}\n {(values.retirementAccountType === RetirementAccountType.Beneficiary ||\n values.retirementAccountType === RetirementAccountType.RothBeneficiary) && (\n \n \n \n )}\n \n )}\n \n )}\n\n {values.type === ApplicationType.Joint && (\n \n \n setValues(updateFieldsDependentOnJointAccountType(values, jointAccountType))\n }\n />\n {values.jointAccountType === 'Community' && values.ownerCountry === Country.UnitedStatesOfAmerica && (\n
    \n \n
    \n )}\n {values.jointAccountType === 'Community' && values.ownerCountry !== Country.UnitedStatesOfAmerica && (\n
    \n \n
    \n )}\n \n )}\n\n {values.type === ApplicationType.Entity && (\n <>\n {getText('entityDescription')}\n \n entityType !== EntityAccountType.PersonalTrust)\n : AllEntityTypes\n }\n onChanged={(entityAccountType: EntityAccountType) =>\n setValues(updateFieldsDependentOnEntityType(values, entityAccountType))\n }\n />\n \n\n {values.entityAccountType && (\n <>\n

    {getText('entityList.header')}

    \n
      \n {(values.entityAccountType === EntityAccountType.LlcCCorporation ||\n values.entityAccountType === EntityAccountType.LlcSCorporation) &&\n values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.llc')}\n \n
    • \n )}\n {(values.entityAccountType === EntityAccountType.CCorporation ||\n values.entityAccountType === EntityAccountType.SCorporation) &&\n values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.corp')}\n \n
    • \n )}\n {values.entityAccountType === EntityAccountType.Partnership && values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.partnership')}\n \n
    • \n )}\n {values.entityAccountType === EntityAccountType.LlcPartnership && values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.llcPartnership')}\n \n
    • \n )}\n {values.entityAccountType === EntityAccountType.PersonalTrust && values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.personalTrust')}\n \n
    • \n )}\n {values.entityAccountType === EntityAccountType.BusinessTrust && values.clearer !== ClearerType.RQD && (\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.businessTrust')}\n \n
    • \n )}\n {values.clearer === ClearerType.RQD && (\n <>\n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.rqd.entityPacket')}\n \n
    • \n
    • \n setLinkClicked(true)}\n >\n {getText('entityList.rqd.disclosurePacket')}\n \n
    • \n \n )}\n
    \n

    \n Important: Please make sure to click the link provided above to complete your\n registration process. Your account setup is not finished until you've followed the link and submitted\n the PDF. If you have any questions or need further assistance, don't hesitate to reach out to us.\n

    \n \n )}\n\n {/* TODO: Once entity applications can be handled through web app, uncomment code for additional documents required for opening entity accounts\n \n

    {getText('review-documents', 'description')}

    \n {getText('review-documents.files')}\n\n {(values.entityAccountType === EntityAccountType.LlcCCorporation ||\n values.entityAccountType === EntityAccountType.LlcSCorporation) && (\n <>\n
      \n
    • {getText('review-documents.llc.articles-of-incorp')}
    • \n
    • {getText('review-documents.llc.operating-agreement')}
    • \n
    • {getText('review-documents.llc.photo-id')}
    • \n
    • {getText('review-documents.llc.3210')}
    • \n
    \n \n )}\n\n {(values.entityAccountType === EntityAccountType.CCorporation ||\n values.entityAccountType === EntityAccountType.SCorporation) && (\n <>\n
      \n
    • {getText('review-documents.corporate.articles-of-incorp')}
    • \n
    • {getText('review-documents.corporate.photo-id')}
    • \n
    • {getText('review-documents.corporate.3210')}
    • \n
    \n \n )}\n\n {values.entityAccountType === EntityAccountType.Partnership && (\n <>\n
      \n
    • {getText('review-documents.partnerships.cert-limited-partnership')}
    • \n
    • {getText('review-documents.partnerships.photo-id')}
    • \n
    • {getText('review-documents.partnerships.ppm-blank-sub')}
    • \n
    • {getText('review-documents.partnerships.3210')}
    • \n
    \n \n )}\n\n {(values.entityAccountType === EntityAccountType.BusinessTrust ||\n values.entityAccountType === EntityAccountType.PersonalTrust) && (\n <>\n
      \n
    • {getText('review-documents.trusts.trust-agreement')}
    • \n
    • {getText('review-documents.trusts.photo-id')}
    • \n
    • {getText('review-documents.trusts.w9')}
    • \n
    • {getText('review-documents.trusts.3210')}
    • \n
    \n \n )}\n\n {values.ownerCountry && values.ownerCountry !== Country.UnitedStatesOfAmerica && (\n <>\n

    {getText('review-documents.foreign')}

    \n
      \n
    • {getText('review-documents.foreign.drivers-license')}
    • \n
    • {getText('review-documents.foreign.passport')}
    • \n
    • {getText('review-documents.foreign.signature-image')}
    • \n
    \n \n )}\n
    */}\n \n )}\n {values.type !== ApplicationType.Entity && (\n <>\n \n \n setValues(updateFieldsDependentOnFlexibilityType(values, flexibilityType))\n }\n />\n \n \n

    {getText('review-documents', 'description')}

    \n {getText('review-documents.files')}\n {values.type === ApplicationType.Individual &&\n (values.retirementAccount === BooleanToggleType.No || !values.retirementAccount) && (\n <>\n
      \n
    • {getText('review-documents.individual.photo-id')}
    • \n
    • {getText('review-documents.individual.ss-card')}
    • \n
    • {getText('review-documents.individual.3210')}
    • \n
    \n \n )}\n {values.type === ApplicationType.Individual &&\n (values.retirementAccount === BooleanToggleType.Yes &&\n values.retirementAccountType !== RetirementAccountType.CoverDell) && (\n <>\n
      \n
    • {getText('review-documents.iras.photo-id')}
    • \n
    • {getText('review-documents.iras.ss-card')}
    • \n
    • {getText('review-documents.iras.3210')}
    • \n
    \n \n )}\n {values.type === ApplicationType.Individual &&\n (values.retirementAccount === BooleanToggleType.Yes &&\n values.retirementAccountType === RetirementAccountType.CoverDell) && (\n <>\n
      \n
    • {getText('review-documents.coverdell.photo-id')}
    • \n
    • {getText('review-documents.coverdell.ss-card')}
    • \n
    • {getText('review-documents.coverdell.3210')}
    • \n
    \n \n )}\n {values.type === ApplicationType.Joint && (\n <>\n
      \n {getText('review-documents.joint')}\n
    • {getText('review-documents.joint.photo-id')}
    • \n
    • {getText('review-documents.joint.ss-card')}
    • \n
    • {getText('review-documents.joint.3210')}
    • \n
    \n \n )}\n {values.type === ApplicationType.UGMA && (\n <>\n
      \n
    • {getText('review-documents.ugma.photo-id')}
    • \n
    • {getText('review-documents.ugma.ss-card')}
    • \n
    • {getText('review-documents.ugma.3210')}
    • \n
    \n \n )}\n {values.ownerCountry && values.ownerCountry !== Country.UnitedStatesOfAmerica && (\n <>\n

    {getText('review-documents.foreign')}

    \n
      \n
    • {getText('review-documents.foreign.drivers-license')}
    • \n
    • {getText('review-documents.foreign.passport')}
    • \n
    • {getText('review-documents.foreign.signature-image')}
    • \n
    \n \n )}\n
    \n \n )}\n
    \n \n );\n};\n","import React, { useCallback, useEffect } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport {\n AllRiskToleranceTypes,\n AllTaxbracketTypes,\n AllTimeHorizonTypes,\n AllLiquidityNeedTypes,\n AllExperienceYearTypes,\n AllTradeExperienceYearTypes,\n AllMonetaryRangeTypes,\n AllInvestmentObjectiveTypes,\n ApplicationStep,\n InvestmentObjectiveType,\n ExperienceKey,\n ApplicationStepProps,\n TradeGoalType,\n ExperienceYearType,\n AllIncomeRangeTypes,\n IncomeRangeType,\n MonetaryRangeType,\n RiskToleranceType,\n} from '../../../types';\nimport { Section, FormGroup, HelpText, CheckListField, SelectDropdownField } from '@tradingblock/components';\nimport {\n getRiskLevelForTradeGoalType,\n getRiskLevelForInvestmentObjectiveType,\n isNonZeroYear,\n updateFieldsDependentOnExperienceYears,\n getAllExperienceKeysForApplication,\n getAllTradeGoalTypesForApplication,\n updateFieldsDependentOnAnnualIncome,\n updateFieldsDependentOnTotalNetWorth,\n updateFieldsDependentOnLiquidNetWorth,\n updateFieldsDependentOnTradeGoalType,\n updateFieldsDependentOnInvestmentObjectiveType,\n} from '../../../services';\nimport { RiskLevelIcon, TradeGoalText, MismatchedDataModal, TradeGoalsVerification } from '..';\nimport { useData } from '../../../state/selectors';\n\nexport const InvestingProfileForm: React.FC = ({\n getText,\n values,\n setValues,\n mismatchedDataModal,\n closeMismatchedDataModal,\n}) => {\n const visibleSections = useData(d => d.ui.visibleSections);\n\n const getRiskToleranceTypes = useCallback(() => {\n if (values.investmentObjectiveType === InvestmentObjectiveType.Speculation) {\n return [RiskToleranceType.High];\n }\n return AllRiskToleranceTypes;\n }, [values.investmentObjectiveType]);\n\n return (\n <>\n {mismatchedDataModal && mismatchedDataModal.type && (\n closeMismatchedDataModal({ scrollToTop: true })}\n onContinue={() => closeMismatchedDataModal({ confirmMismatchedData: true, formValues: values })}\n onClose={closeMismatchedDataModal}\n >\n \n \n )}\n\n
    \n \n \n {getText('tradeGoalType', 'description')}\n \n ({\n value: t,\n icon: ,\n }))}\n type=\"radio\"\n renderOption={(opt: { value: TradeGoalType }) => }\n onchange={(_e: any, tradeGoalType: TradeGoalType) =>\n setValues(updateFieldsDependentOnTradeGoalType(values, tradeGoalType))\n }\n />\n \n\n \n

    {getText('investmentObjectiveType', 'description')}

    \n ({\n value: t,\n icon: ,\n }))}\n type=\"radio\"\n className=\"checklist-descriptions\"\n renderOption={(opt: { value: InvestmentObjectiveType }) => (\n <>\n {getText(`investmentObjectiveType.${opt.value}`, undefined, { type: 'field' })}\n \n {getText(`investmentObjectiveType.${opt.value}`, 'description', { type: 'field' })}\n \n \n )}\n onchange={(_e: any, investmentObjectiveType: InvestmentObjectiveType) =>\n setValues(updateFieldsDependentOnInvestmentObjectiveType(values, investmentObjectiveType))\n }\n />\n
    \n
    \n\n {visibleSections && visibleSections > 1 && (\n
    \n {values.tradeGoalType !== TradeGoalType.StocksBonds && (\n <>\n

    {getText('experience')}

    \n

    {getText('experience', 'description')}

    \n\n {_.map(getAllExperienceKeysForApplication(values), (exp: ExperienceKey, i) => (\n \n
    \n
    \n \n setValues(updateFieldsDependentOnExperienceYears(values, exp, years))\n }\n />\n
    \n
    \n \n
    \n
    \n
    \n ))}\n \n )}\n\n

    \n {getText('income-net-worth')}\n

    \n

    {getText('income-net-worth', 'description')}

    \n\n \n \n setValues(updateFieldsDependentOnAnnualIncome(values, annualIncome))\n }\n />\n \n \n \n setValues(updateFieldsDependentOnTotalNetWorth(values, totalNetWorth))\n }\n />\n \n \n \n setValues(updateFieldsDependentOnLiquidNetWorth(values, liquidNetWorth))\n }\n />\n \n\n

    {getText('characteristics')}

    \n

    {getText('characteristics', 'description')}

    \n\n \n {values.investmentObjectiveType === InvestmentObjectiveType.Speculation && (\n

    {getText('characteristics.risk')}

    \n )}\n \n
    \n \n \n \n \n \n \n \n \n \n
    \n )}\n \n );\n};\n","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { ApplicationStepProps, EntityAccountType, ApplicationFormSection, ApplicationType } from '../../../types';\nimport { useData } from '../../../state/selectors';\nimport {\n PrimaryAccountHolderContactSection,\n JointAccountHolderContactSection,\n UgmaAccountHolderContactSection,\n} from './account-information/AccountHolderContactSection';\nimport {\n PrimaryAccountHolderPersonalInfoSection,\n JointAccountHolderPersonalInfoSection,\n UgmaAccountHolderPersonalInfoSection,\n} from './account-information/AccountHolderPersonalInfoSection';\nimport { EntitySection } from './account-information/EntitySection';\nimport { EntityFinancialActivitySection } from './account-information/EntityFinancialActivitySection';\n\nexport const AccountInformationForm: React.FC = ({\n getText,\n values,\n setValues,\n errors,\n touched,\n submitCount,\n}) => {\n const visibleSections = useData(d => d.ui.visibleSections);\n const sections = useMemo(() => {\n let allSections: React.FC[] = [];\n // if (values.entityAccountType) {\n // // entity details\n // allSections = [...allSections, EntitySection];\n // if (values.entityAccountType !== EntityAccountType.PersonalTrust) {\n // // non-trust entity financial activity\n // allSections = [...allSections, EntityFinancialActivitySection];\n // }\n // }\n // primary account holder contact / personal info\n allSections = [...allSections, PrimaryAccountHolderContactSection, PrimaryAccountHolderPersonalInfoSection];\n if (values.type === ApplicationType.Joint) {\n // joint account holder contact / personal info\n allSections = [...allSections, JointAccountHolderContactSection, JointAccountHolderPersonalInfoSection];\n }\n if (values.type === ApplicationType.UGMA) {\n allSections = [...allSections, UgmaAccountHolderContactSection, UgmaAccountHolderPersonalInfoSection];\n }\n\n if(values.type === ApplicationType.Entity) {\n allSections = []\n }\n\n return _.take(allSections, visibleSections || 1);\n }, [values.entityAccountType, values.type, visibleSections]);\n return (\n <>\n {_.map(sections, (ChildSection, index) => (\n \n ))}\n \n );\n};\n","import React, { useEffect } from 'react';\nimport { Field } from 'formik';\nimport { Section, CheckboxField, TextboxField, FormGroup } from '@tradingblock/components';\nimport { ApplicationStepProps, PersonType } from '../../../types';\nimport {\n updateFieldsDependentOnAddTrustedContact,\n showBeneficiariesFields,\n showOwnersOfficersFields,\n showTrustedContactFields,\n showTenantsInCommonInterestPercentFields,\n} from '../../../services';\nimport { PersonField, PhoneField } from '../../fields';\nimport { BeneficiariesFields } from './beneficiaries/BeneficiariesFields';\nimport { OwnersOfficersFields } from './beneficiaries/OwnersOfficersFields';\nimport { InCommonInterestPercentFields } from './beneficiaries/InCommonInterestPercentFields';\n\nexport const BeneficiariesForm: React.FC = ({ getText, values, errors, setValues }) => {\n const showBeneficiaries = showBeneficiariesFields(values);\n const showOwnersOfficers = showOwnersOfficersFields(values);\n const showTrustedContact = showTrustedContactFields(values);\n const showTenantsInCommonInterestPercent = showTenantsInCommonInterestPercentFields(values);\n\n return (\n <>\n {showBeneficiaries && (\n <>\n
    \n

    {getText('beneficiaries.header')}

    \n

    {getText('beneficiaries', 'description')}

    \n \n
    \n \n )}\n\n {showOwnersOfficers && (\n <>\n
    \n

    {getText('ownersOfficers.header')}

    \n

    {getText('ownersOfficers', 'description')}

    \n \n
    \n \n )}\n\n {showTenantsInCommonInterestPercent && (\n <>\n
    \n

    {getText('tenantsInCommon.header')}

    \n

    {getText('tenantsInCommon', 'description')}

    \n \n
    \n \n )}\n\n {showTrustedContact && (\n <>\n
    \n

    {getText('trustedContact.header')}

    \n

    {getText('trustedContact', 'description')}

    \n

    \n \n setValues(updateFieldsDependentOnAddTrustedContact(values, addTrustedContact))\n }\n />\n

    \n\n {values.addTrustedContact && (\n <>\n

    {getText('trustedContact')}

    \n \n \n \n \n \n \n \n \n )}\n
    \n \n )}\n \n );\n};\n","import React, { useMemo } from 'react';\nimport { Field } from 'formik';\nimport _ from 'lodash';\nimport { Section, FormGroup, StepperField, TextboxField, SelectDropdownField, Text } from '@tradingblock/components';\nimport {\n AllDeliveryTypes,\n DeliveryType,\n ApplicationStepProps,\n ApplicationType,\n ApplicationFormSection,\n AllBooleanToggleTypes,\n BooleanToggleType,\n AllEmploymentTypes,\n EmploymentType,\n ClearerType,\n} from '../../../types';\nimport { useData } from '../../../state/selectors';\nimport {\n PrimaryAccountHolderDisclosuresSection,\n JointAccountHolderDisclosuresSection,\n} from './agreements/AccountHolderDisclosuresSection';\nimport { AccountDisclosuresSection } from './agreements/AccountDisclosuresSection';\nimport { AccountAgreementsSection } from './agreements/AccountAgreementsSection';\nimport {\n Country,\n getGroupedCountryOptions,\n TradeAuthorizationType,\n AllTradeAuthorizationTypes,\n} from '@tradingblock/types';\nimport { DateField, PersonField, PhonesArrayField } from '../../fields';\nimport {\n updateFieldsDependentOnEmploymentTypeTradeAuth,\n updateFieldsDependentOnTradeAuthorization,\n} from '../../../services';\n\nexport const AgreementsForm: React.FC = ({\n values,\n setValues,\n getText,\n errors,\n submitCount,\n touched,\n}) => {\n const visibleSections = useData(d => d.ui.visibleSections);\n const sections = useMemo(() => {\n let allSections: React.FC[] = [];\n // primary account holder disclosures\n allSections = [...allSections, PrimaryAccountHolderDisclosuresSection];\n if (values.type === ApplicationType.Joint) {\n // joint account holder disclosures\n allSections = [...allSections, JointAccountHolderDisclosuresSection];\n }\n // account disclosures and agreements\n allSections = [...allSections, AccountDisclosuresSection, AccountAgreementsSection];\n\n return _.take(allSections, visibleSections || 1);\n }, [values.type, visibleSections]);\n\n return (\n <>\n
    \n

    {getText('deliveryType')}

    \n

    {getText('deliveryType.fees')}

    \n\n \n \n \n\n {values.deliveryType === DeliveryType.Paper && getText('deliveryType.fees', 'description')}\n\n

    {getText('tradeAuthorization')}

    \n

    {getText('tradeAuthorization', 'description')}

    \n\n \n {\n setValues(updateFieldsDependentOnTradeAuthorization(values, value));\n }}\n />\n \n\n {values.tradeAuthorization === BooleanToggleType.Yes && (\n <>\n

    {getText('tradingAuthorization.type')}

    \n

    {getText('tradingAuthorization.type', 'description')}

    \n \n \n \n {values.tradingAuthorization && values.tradingAuthorization.type && (\n <>\n

    {getText('tradingAuthorization.personal-info')}

    \n \n \n \n\n

    {getText('tradingAuthorization.phones', 'description')}

    \n \n \n \n\n \n \n \n\n {values.tradingAuthorization &&\n values.tradingAuthorization.citizenshipCountry === Country.UnitedStatesOfAmerica && (\n \n }} />}\n type=\"password\"\n allowUnmask={true}\n />\n \n )}\n\n {values.tradingAuthorization &&\n values.tradingAuthorization.citizenshipCountry !== Country.UnitedStatesOfAmerica && (\n <>\n \n \n \n \n \n \n \n )}\n\n \n \n \n\n

    {getText('tradingAuthorization.employment')}

    \n \n \n setValues(updateFieldsDependentOnEmploymentTypeTradeAuth(values, employmentType))\n }\n />\n \n {values.tradingAuthorization && values.tradingAuthorization.employmentType === EmploymentType.Employed && (\n <>\n \n \n \n \n \n \n \n )}\n\n {values.tradingAuthorization && values.tradingAuthorization.type === TradeAuthorizationType.Full && (\n <>\n

    {getText('tradingAuthorization.disclosures')}

    \n

    {getText('tradingAuthorization.disclosures', 'description')}

    \n

    {getText('tradingAuthorization.disclosures.industryEmployed', 'description')}

    \n \n \n \n {values.tradingAuthorization.disclosures &&\n values.tradingAuthorization.disclosures.industryEmployed === BooleanToggleType.Yes && (\n <>\n \n \n \n \n )}\n\n

    {getText('tradingAuthorization.disclosures.stakeholder', 'description')}

    \n \n \n \n {values.tradingAuthorization.disclosures &&\n values.tradingAuthorization.disclosures.stakeholder === BooleanToggleType.Yes && (\n <>\n \n \n \n \n )}\n \n )}\n

    {getText('tradingAuthorization.signedName')}

    \n \n \n \n \n )}\n \n )}\n
    \n\n {_.map(sections, (ChildSection, index) => (\n \n ))}\n \n );\n};\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { Field } from 'formik';\nimport { Modal as BootstrapModal } from 'react-bootstrap';\nimport _ from 'lodash';\nimport {\n Section,\n FormGroup,\n HelpText,\n TextboxField,\n UploadFileField,\n LocalizeButton as Button,\n Modal,\n} from '@tradingblock/components';\nimport { UploadedDocument, ResponseCodes, GenericErrorResponseCode } from '@tradingblock/types';\nimport { UploadKey, ApplicationStepProps, ApplicationType, EntityAccountType } from '../../../types';\nimport { getOwnerNamesForSignStep } from '../../../services';\nimport { useData } from '../../../state/selectors';\nimport { Errors } from '../..';\nimport { useDispatcher } from '../../hooks';\nimport { ApplicationActions } from '../../../state/actions';\n\nexport const SignForm: React.FC = ({ values, setValues, getText }) => {\n const dispatch = useDispatcher();\n\n const { isSaving } = useData(d => d.data.saveInfo);\n const uploadState = useData(d => d.data.uploadState);\n const createErrorCode = useData(d => d.data.createErrorCode);\n const errors = useData(d => d.data.createErrorMessages);\n\n const ownerNames = getOwnerNamesForSignStep(values);\n\n return (\n <>\n
    \n

    {getText('signedNames')}

    \n

    {getText('signedNames', 'description')}

    \n\n

    \n {ownerNames.map((n, i) => (\n \n {i > 0 && i < ownerNames.length && ownerNames.length > 2 ? ', ' : ''}\n {i > 0 && i === ownerNames.length - 1 && <> {getText('signedNames.delimiter')} }\n {n}\n \n ))}\n :\n

    \n\n {ownerNames.map((n, i) => (\n \n \n \n ))}\n {values.type === ApplicationType.Entity &&\n _.includes([EntityAccountType.CCorporation, EntityAccountType.SCorporation], values.entityAccountType) && (\n \n \n \n )}\n
    \n\n {createErrorCode && !isSaving && }\n \n );\n};\n","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { PersonType, SummaryStepProps } from '../../../types';\nimport { FieldValue, PersonValue } from '../../values';\nimport { useData } from '../../../state/selectors';\nimport { getHeardAbout } from '../../../services';\n\nexport const SecureAccountSummary: React.FC = ({ application }) => {\n const heardAbout = useData(d => d.ui.heardAbout);\n const heardAboutSelected = useMemo(() => application && getHeardAbout(heardAbout, application.hearAboutUsId), [\n application,\n heardAbout,\n ]);\n const representatives = useMemo(() => heardAboutSelected && heardAboutSelected.representatives, [heardAboutSelected]);\n const siteGroup = process.env.REACT_APP_TB_SITE_GROUP;\n\n const representativeSelected = useMemo(() => {\n if (representatives && application) {\n return _.find(representatives, r => r.repId === _.toNumber(application.repId));\n }\n return undefined;\n }, [application, representatives]);\n\n if (!application) {\n return null;\n }\n\n return (\n <>\n

    \n \n

    \n

    \n \n {': '}\n {heardAbout && (\n \n {heardAboutSelected && heardAboutSelected.description}\n \n )}\n {representatives && (\n <>\n
    \n \n {': '}\n \n {representativeSelected && representativeSelected.description}\n \n \n )}\n

    \n \n );\n};\n","import React from 'react';\nimport { SummaryStepProps, ClearerType } from '../../../types';\nimport { FieldValue } from '../../values';\n\nexport const ClearerTypeSummary: React.FC = ({ application, getText }) => {\n if (!application) {\n return null;\n }\n const value = application.clearer === ClearerType.RQD ? 'Zero Commission' : 'Full Service';\n return (\n <>\n

    {getText('defaults.clearerType.summaryTitle')}

    \n

    \n \n

    \n \n );\n};\n","import React from 'react';\nimport { BooleanToggleType, ApplicationType, SummaryStepProps, RetirementAccountType } from '../../../types';\nimport { FieldValue } from '../../values';\n\nexport const AccountTypeSummary: React.FC = ({ application, getText }) => {\n if (!application) {\n return null;\n }\n return (\n <>\n

    {getText('ownerCountry')}

    \n

    \n \n

    \n\n

    {getText('applicationType')}

    \n

    \n \n

    \n\n {application.type === ApplicationType.Individual && (\n <>\n

    {getText('retirementAccount')}

    \n

    \n \n

    \n {application.retirementAccount === BooleanToggleType.Yes && (\n <>\n

    {getText('retirementAccountType')}

    \n

    \n \n

    \n {application.retirementAccountType === RetirementAccountType.Simple && (\n <>\n

    {getText('simpleIraPlanName')}

    \n

    \n \n

    \n \n )}\n {application.retirementAccountType === RetirementAccountType.Beneficiary && (\n <>\n

    {getText('beneficiaryIraDecedentName')}

    \n

    \n \n

    \n \n )}\n \n )}\n \n )}\n\n {application.type === ApplicationType.Joint && (\n <>\n

    {getText('jointAccountType')}

    \n

    \n \n

    \n \n )}\n\n {application.type === ApplicationType.Entity && (\n <>\n

    {getText('entityAccountType')}

    \n

    \n \n

    \n \n )}\n\n

    {getText('flexibilityType')}

    \n

    \n \n

    \n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { ExperienceKey, SummaryStepProps, TradeGoalType, ApplicationStep, ExperienceYearType } from '../../../types';\nimport { getRiskLevelForTradeGoalType, getRiskLevelForInvestmentObjectiveType, getAllExperienceKeysForApplication } from '../../../services';\nimport { FieldValue } from '../../values';\nimport { RiskLevelIcon, MismatchedDataModal, TradeGoalsVerification } from '..';\n\nexport const InvestingProfileSummary: React.FC = ({ application, visibleSections, getText, mismatchedDataModal, closeMismatchedDataModal }) => {\n if (!application) {\n return null;\n }\n return (\n <>\n {mismatchedDataModal && mismatchedDataModal.type && (\n closeMismatchedDataModal({ nextStep: ApplicationStep.InvestingProfile })} onContinue={() => closeMismatchedDataModal({ confirmMismatchedData: true })} onClose={closeMismatchedDataModal}>\n \n \n )}\n\n

    {getText('tradeGoalType')}

    \n

    \n {application.tradeGoalType && }\n \n

    \n

    {getText('investmentObjectiveType')}

    \n

    \n \n {application.investmentObjectiveType && (\n <>\n \n \n \n )}\n \n

    \n {visibleSections === 2 && (\n <>\n {application.tradeGoalType !== TradeGoalType.StocksBonds && (\n <>\n

    {getText('experience')}

    \n

    \n {_.map(getAllExperienceKeysForApplication(application), (ex: ExperienceKey) => {\n const experience = application.experience && application.experience[ex];\n return (\n \n \n {': '}\n \n {experience && experience.years && experience.years !== ExperienceYearType.Zero && (\n <>\n {', '}\n } />\n \n )}\n
    \n
    \n );\n })}\n

    \n \n )}\n\n

    {getText('income-net-worth')}

    \n

    \n : \n
    \n : \n
    \n : \n

    \n\n

    {getText('characteristics')}

    \n

    \n : \n
    \n : \n
    \n : \n
    \n : \n

    \n \n )}\n \n );\n};\n","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { SummaryStepProps, EntityAccountType, ApplicationType } from '../../../types';\nimport { EntitySummary } from './account-information/EntitySummary';\nimport {\n PrimaryAccountHolderContactSummary,\n JointAccountHolderContactSummary,\n UgmaAccountHolderContactSummary,\n} from './account-information/AccountHolderContactSummary';\nimport {\n PrimaryAccountHolderPersonalInfoSummary,\n JointAccountHolderPersonalInfoSummary,\n UgmaAccountHolderPersonalInfoSummary,\n} from './account-information/AccountHolderPersonalInfoSummary';\nimport { EntityFinancialActivitySummary } from './account-information/EntityFinancialActivitySummary';\n\nexport const AccountInformationSummary: React.FC = props => {\n const { application, visibleSections } = props;\n\n const sections = useMemo(() => {\n if (application === undefined) {\n return [];\n }\n\n let allSections: React.FC[] = [];\n if (application.entityAccountType) {\n // entity details\n allSections = [...allSections, EntitySummary];\n if (application.entityAccountType !== EntityAccountType.PersonalTrust) {\n // non-trust entity financial activity\n allSections = [...allSections, EntityFinancialActivitySummary];\n }\n }\n // primary account holder contact / personal info\n allSections = [...allSections, PrimaryAccountHolderContactSummary, PrimaryAccountHolderPersonalInfoSummary];\n if (application.type === ApplicationType.Joint) {\n // joint account holder contact / personal info\n allSections = [...allSections, JointAccountHolderContactSummary, JointAccountHolderPersonalInfoSummary];\n }\n if (application.type === ApplicationType.UGMA) {\n allSections = [...allSections, UgmaAccountHolderContactSummary, UgmaAccountHolderPersonalInfoSummary];\n }\n\n return _.take(allSections, visibleSections || 1);\n }, [application, visibleSections]);\n\n return (\n <>\n {_.map(sections, (ChildSummary, index) => (\n \n ))}\n \n );\n};\n","import React from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { PersonType, SummaryStepProps } from '../../../types';\nimport { FieldValue, PersonValue, PhoneValue } from '../../values';\nimport { showBeneficiariesFields, showOwnersOfficersFields, showTrustedContactFields } from '../../../services';\nimport { BeneficiariesList } from './beneficiaries/BeneficiariesList';\nimport { OwnersOfficersList } from './beneficiaries/OwnersOfficersList';\n\nexport const BeneficiariesSummary: React.FC = ({ application, getText, activeLanguage }) => {\n const showBeneficiaries = showBeneficiariesFields(application);\n const showOwnersOfficers = showOwnersOfficersFields(application);\n const showTrustedContact = showTrustedContactFields(application);\n if (!application) {\n return null;\n }\n return (\n <>\n {showBeneficiaries && (\n <>\n

    {getText('beneficiaries')}

    \n \n \n )}\n\n {showOwnersOfficers && (\n <>\n

    {getText('ownersOfficers')}

    \n \n \n )}\n\n {showTrustedContact && (\n <>\n

    {getText('trustedContact.label')}

    \n {!application.addTrustedContact && (\n

    \n \n

    \n )}\n {application.addTrustedContact && (\n

    \n \n \n
    \n \n
    \n

    \n )}\n \n )}\n \n );\n};\n","import React, { useMemo } from 'react';\nimport _ from 'lodash';\nimport { Text } from '@tradingblock/components';\nimport { SummaryStepProps, ApplicationType, BooleanToggleType } from '../../../types';\nimport { FieldValue } from '../../values';\nimport {\n PrimaryAccountHolderDisclosuresSummary,\n JointAccountHolderDisclosuresSummary,\n} from './agreements/AccountHolderDisclosuresSummary';\nimport { AccountDisclosuresSummary } from './agreements/AccountDisclosuresSummary';\nimport { AccountAgreementsSummary } from './agreements/AccountAgreementsSummary';\n\nexport const AgreementsSummary: React.FC = props => {\n const { application, visibleSections, getText } = props;\n\n const sections = useMemo(() => {\n if (!application) {\n return [];\n }\n let allSections: React.FC[] = [];\n // primary account holder disclosures\n allSections = [...allSections, PrimaryAccountHolderDisclosuresSummary];\n if (application.type === ApplicationType.Joint) {\n // joint account holder disclosures\n allSections = [...allSections, JointAccountHolderDisclosuresSummary];\n }\n // account disclosures and agreements\n allSections = [...allSections, AccountDisclosuresSummary, AccountAgreementsSummary];\n\n return _.take(allSections, visibleSections || 1);\n }, [application, visibleSections]);\n\n return (\n <>\n

    {getText('deliveryType')}

    \n

    \n \n

    \n

    {getText('tradeAuthorization')}

    \n

    \n \n

    \n {application && application.tradingAuthorization && !_.isEmpty(application.tradingAuthorization) && (\n

    \n \n {': '}\n \n

    \n )}\n {_.map(sections, (ChildSummary, index) => (\n \n ))}\n \n );\n};\n","import React, { useCallback, useMemo, useEffect } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\nimport { withLocalize, LocalizeContextProps } from 'react-localize-redux';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { ApplicationStep, ApplicationType, DefaultApplicationModel, MismatchedDataModalOptions } from '../types';\nimport { useApplication, useStore } from '../context';\nimport {\n getApplicationStepUrl,\n isPreviouslyTouchedApplicationStep,\n validateApplication,\n checkForMismatchedDataType,\n getVisibleSectionsForApplicationStep,\n getNextApplicationStep,\n isFinalApplicationSteps,\n isApplicationStepInvalid,\n} from '../services';\nimport { Section, Text, TextOptions, Footer, Svg } from '@tradingblock/components';\nimport { PageTitle, Errors } from '../components';\nimport { ApplicationLoader, ApplicationSummaryComponents } from '../components/application';\nimport { useData } from '../state/selectors';\nimport { useDispatcher } from '../components/hooks';\nimport { ApplicationActions, UiActions } from '../state/actions';\nimport { shouldRemoveClearerOption } from '../hooks/useApplicationSteps';\n\ninterface SummaryPageProps extends LocalizeContextProps {}\n\nconst SummaryPage: React.FC = ({ activeLanguage }) => {\n const storage = useStore();\n const dispatch = useDispatcher();\n const [{ mismatchedDataModal }, { setMismatchedDataModal }] = useApplication();\n\n const application = useData(d => d.data.application);\n\n const app = application || DefaultApplicationModel;\n const { latestStepSaved, latestStepCompleted, accountId } = app;\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n const clearer = useData(d => d.ui.clearer);\n\n const accountCreated = useMemo(() => !!accountId, [accountId]);\n const onFinalSteps = useMemo(() => latestStepSaved && isFinalApplicationSteps(latestStepSaved), [latestStepSaved]);\n const canBeginFinalSteps = useMemo(\n () => latestStepCompleted && isFinalApplicationSteps(getNextApplicationStep(latestStepCompleted)),\n [latestStepCompleted]\n );\n const nextStep = useMemo(() => {\n // if account has been created, cannot continue to next step\n if (accountCreated) {\n return undefined;\n }\n if (canBeginFinalSteps && latestStepCompleted === ApplicationStep.Beneficiaries) {\n return ApplicationStep.Agreements;\n }\n return latestStepSaved;\n }, [canBeginFinalSteps, latestStepSaved, latestStepCompleted, accountCreated]);\n\n // page used for text translation ids\n const page = useMemo(() => (canBeginFinalSteps ? 'review' : 'summary'), [canBeginFinalSteps]);\n\n // validate entire application (including agreements if on final steps)\n const errors = useMemo(() => {\n return validateApplication(app, latestStepSaved === ApplicationStep.Sign ? [ApplicationStep.Agreements] : []);\n }, [app, latestStepSaved]);\n\n // prevent clicking continue btn if errors present on final steps\n const continueDisabled = useMemo(() => {\n const isInvalid = latestStepSaved && onFinalSteps && isApplicationStepInvalid(latestStepSaved, app, false);\n const isPartialSubmission = app.isPartialEntitySubmission;\n // don't return a null value here\n return isInvalid || isPartialSubmission ? true : false;\n }, [latestStepSaved, onFinalSteps, app]);\n\n const primaryBtnProps = useMemo(() => {\n if (canBeginFinalSteps) {\n if (nextStep === ApplicationStep.Sign && !isApplicationStepInvalid(nextStep, app)) {\n return {\n id: 'sign-and-submit',\n page,\n };\n }\n // default continue btn\n return {\n id: 'btns.continue',\n };\n }\n return {\n id: 'resume',\n page,\n };\n }, [canBeginFinalSteps, nextStep, app, page]);\n\n const checkForMismatchedData = useCallback(() => {\n const mismatchedDataType = checkForMismatchedDataType(application, ApplicationStep.InvestingProfile);\n if (mismatchedDataType) {\n setMismatchedDataModal({ type: mismatchedDataType });\n }\n }, [application, setMismatchedDataModal]);\n\n const onPrimaryBtnClick = useCallback(() => {\n if (nextStep) {\n if (isApplicationStepInvalid(nextStep, application)) {\n checkForMismatchedData();\n } else {\n dispatch(UiActions.setNextPage(getApplicationStepUrl(nextStep)));\n }\n }\n }, [nextStep, application, checkForMismatchedData, dispatch]);\n\n useEffect(() => {\n // check for mismatched data once past first 2 steps\n if (\n latestStepCompleted &&\n !_.includes([ApplicationStep.SecureAccount, ApplicationStep.AccountType], latestStepCompleted)\n ) {\n checkForMismatchedData();\n }\n }, [latestStepCompleted, checkForMismatchedData]);\n\n const heardAbout = useData(d => d.ui.heardAbout);\n const shouldSkipClearer = shouldRemoveClearerOption(\n application ? application.hearAboutUsId : undefined,\n application ? application.repId : undefined,\n heardAbout\n );\n\n const isStepVisible = useCallback(\n (step: ApplicationStep) => {\n return (\n isPreviouslyTouchedApplicationStep(step, latestStepSaved) &&\n !isApplicationStepInvalid(step, application) &&\n ((step === ApplicationStep.ClearerType && !shouldSkipClearer) || step !== ApplicationStep.ClearerType)\n );\n },\n [latestStepSaved, application]\n );\n\n const closeMismatchedDataModal = useCallback(\n async (options?: MismatchedDataModalOptions) => {\n setMismatchedDataModal(false);\n if (application && mismatchedDataModal && options && options.confirmMismatchedData) {\n // save application to confirm data mismatch\n const applicationWithConfirmation = {\n ...application,\n confirmedMismatchedDataTypes: [mismatchedDataModal.type, ...(application.confirmedMismatchedDataTypes || [])],\n };\n dispatch(\n ApplicationActions.requestSaveApplication({\n application: applicationWithConfirmation,\n saveType: 'confirm-data-mismatch',\n storage,\n })\n );\n } else if (options && options.nextStep) {\n dispatch(UiActions.setNextPage(getApplicationStepUrl(options.nextStep)));\n }\n },\n [application, mismatchedDataModal, setMismatchedDataModal, dispatch, storage]\n );\n\n const getStepProps = (step: ApplicationStep) => ({\n application,\n visibleSections: getVisibleSectionsForApplicationStep(step, app),\n getText: (id: string, textKey?: string, options?: TextOptions) => (\n \n ),\n activeLanguage,\n mismatchedDataModal: mismatchedDataModal || undefined,\n closeMismatchedDataModal,\n });\n\n // if nothing saved yet, send to first step\n if (application && !latestStepSaved) {\n return ;\n }\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n\n {application && application.accountId && (\n
    \n

    \n \n \n \n

    \n \n \n \n
    \n )}\n {application && !application.accountId && application.isPartialEntitySubmission && (\n
    \n

    \n \n \n \n

    \n \n \n \n
    \n )}\n\n {continueDisabled && !_.isEmpty(errors) && (\n
    \n

    \n \n

    \n
    \n )}\n\n {_.map(\n ApplicationSummaryComponents,\n (Step, key: ApplicationStep) =>\n (key === ApplicationStep.SecureAccount || isStepVisible(key)) && (\n
    \n

    \n \n

    \n \n {!accountCreated && application && application.type !== ApplicationType.Entity && (\n

    \n

    \n )}\n
    \n )\n )}\n\n {onFinalSteps && !_.isEmpty(errors) && }\n\n \n {' '}\n \n \n \n \n )\n }\n secondaryPanel={\n \n \n \n }\n />\n
    \n );\n};\n\nexport default withLocalize(SummaryPage);\n","import React, { useEffect } from 'react';\nimport { useFormikContext } from 'formik';\nimport { ApplicationModel } from '../types';\n\nexport const ErrorScrollWrapper: React.FunctionComponent<{}> = props => {\n const { children } = props;\n const context = useFormikContext();\n\n useEffect(() => {\n if (context.isSubmitting && !context.isValidating) {\n let keys = Object.keys(context.errors);\n if (keys.length > 0) {\n const selector = '.error';\n const errorElement = document.querySelector(selector) as HTMLElement;\n if (errorElement) {\n errorElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\n errorElement.focus({ preventScroll: true });\n }\n }\n }\n }, [context.errors, context.isSubmitting, context.isValidating]);\n\n return (\n <>\n
    {children}
    \n \n );\n};\n","import React, { useEffect, useMemo, useCallback } from 'react';\nimport { Redirect, RouteComponentProps } from 'react-router';\nimport { withLocalize, LocalizeContextProps } from 'react-localize-redux';\nimport { Formik, FormikHelpers } from 'formik';\nimport _ from 'lodash';\nimport {\n Section,\n LoadingImage,\n Text,\n TextOptions,\n Footer,\n Svg,\n GetTradingBlockSiteName,\n} from '@tradingblock/components';\nimport {\n AllApplicationSteps,\n ApplicationStep,\n ApplicationModel,\n DefaultApplicationModel,\n BaseFormProps,\n MismatchedDataModalOptions,\n ApplicationType,\n ClearerType,\n} from '../types';\nimport {\n getApplicationStepUrl,\n updateApplication,\n getForcedOffRampUrl,\n validateApplicationStepAsync,\n checkForMismatchedDataType,\n delayedScrollTo,\n isFinalApplicationSteps,\n isApplicationStepInvalid,\n canAccessApplicationStep,\n isApplicationComplete,\n getNextApplicationStep,\n} from '../services';\nimport { useApplication, useStore } from '../context';\nimport { PageTitle } from '../components';\nimport { ApplicationLoader, ApplicationFormComponents } from '../components/application';\nimport { useData, useStateSelector } from '../state/selectors';\nimport { useDispatcher } from '../components/hooks';\nimport { UiActions, ApplicationActions } from '../state/actions';\nimport config from '../config';\nimport { ErrorScrollWrapper } from '../components/ErrorScrollWrapper';\nimport { Optional } from 'utility-types';\nimport { shouldRemoveClearerOption } from '../hooks/useApplicationSteps';\nimport { useLinkClicked } from '../components/application/form-steps/LinkClickedContext';\n\ninterface ApplyPageProps extends RouteComponentProps<{ step: ApplicationStep }>, LocalizeContextProps {}\n\nconst ApplyPage: React.FC = props => {\n const {\n match: { params },\n } = props;\n\n const storage = useStore();\n const dispatch = useDispatcher();\n const [{ isFetching }, { setFormSubmitted }] = useApplication();\n\n const application = useData(d => d.data.application);\n const createdAccount = useData(d => d.data.createdAccount);\n const { numberOfSections, visibleSections, scrollToSection } = useData(d => d.ui.sectionInfo);\n const { isSaving, saveType, saveStep } = useData(d => d.data.saveInfo);\n const step = useData(d => d.ui.step);\n const nextPage = useData(d => d.ui.nextPage);\n const clearer = application && application.clearer;\n\n const stepIndex = useMemo(() => _.indexOf(AllApplicationSteps, step), [step]);\n const isOnLastSectionOfStep = useMemo(\n () => !!numberOfSections && !!visibleSections && visibleSections >= numberOfSections,\n [numberOfSections, visibleSections]\n );\n\n // try to update step from url\n useEffect(() => {\n const nextStep = _.includes(AllApplicationSteps, params.step) ? params.step : undefined;\n if (!nextStep) {\n dispatch(UiActions.setNextPage('/'));\n } else if (nextStep !== step && !_.isUndefined(isFetching) && !isFetching && !nextPage) {\n if (\n application &&\n isFinalApplicationSteps(nextStep) &&\n canAccessApplicationStep(nextStep, application) &&\n isApplicationStepInvalid(nextStep, application)\n ) {\n // force user to review errors on summary page if can access next step but it's invalid\n dispatch(UiActions.setNextPage(getApplicationStepUrl('summary')));\n } else if (application && !canAccessApplicationStep(nextStep, application)) {\n // if can't access step, send back to last saved step\n dispatch(\n UiActions.setNextPage(getApplicationStepUrl(application.latestStepSaved || ApplicationStep.SecureAccount))\n );\n } else {\n dispatch(UiActions.setStep({ step: nextStep, application: application || DefaultApplicationModel }));\n }\n }\n }, [params, application, isFetching, step, nextPage, dispatch]);\n\n // scroll to next visible section\n useEffect(() => {\n if (visibleSections && visibleSections > 1 && scrollToSection) {\n const section = document.getElementById(`${step}-section-${visibleSections}`);\n if (section) {\n delayedScrollTo(section.offsetTop);\n }\n }\n }, [step, visibleSections, scrollToSection]);\n\n const getNextPage = useCallback(\n (sendToNextPage?: boolean) => {\n if (saveType === 'partial') {\n return getApplicationStepUrl('summary');\n } else if (saveType === 'continue' || saveType === 'confirm-data-mismatch') {\n if (sendToNextPage) {\n // if next step is agreements, send to review/summary first\n if (stepIndex + 1 === _.indexOf(AllApplicationSteps, ApplicationStep.Agreements)) {\n return getApplicationStepUrl('summary');\n } else if (step && isFinalApplicationSteps(step) && isApplicationStepInvalid(step, application)) {\n // send user to summary to review errors if current step isn't invalid\n return getApplicationStepUrl('summary');\n } else if (step === ApplicationStep.SecureAccount && clearer) {\n return getApplicationStepUrl(ApplicationStep.AccountType);\n } else {\n return getApplicationStepUrl(AllApplicationSteps[stepIndex + 1]);\n }\n }\n }\n return undefined;\n },\n [stepIndex, saveType, step, application]\n );\n\n useEffect(() => {\n if (!isSaving && saveType && saveStep === step && !nextPage) {\n let nextUrl = getNextPage();\n if (saveType === 'continue' || saveType === 'confirm-data-mismatch') {\n // check for any off ramp conditions\n const forcedNextUrl = getForcedOffRampUrl(application);\n\n // only move past current step if on last section and no errors\n nextUrl = getNextPage(isOnLastSectionOfStep);\n if (forcedNextUrl) {\n nextUrl = forcedNextUrl;\n } else if (!nextUrl) {\n // if staying on same step, increment # of visible sections\n dispatch(UiActions.showNextSection({ scrollToSection: true }));\n // reset form submitted flag\n setFormSubmitted(false);\n }\n }\n\n if (nextUrl) {\n dispatch(UiActions.setNextPage(nextUrl));\n // reset form submitted flag\n setFormSubmitted(false);\n }\n }\n }, [\n application,\n step,\n nextPage,\n saveStep,\n saveType,\n isSaving,\n isOnLastSectionOfStep,\n getNextPage,\n setFormSubmitted,\n dispatch,\n ]);\n\n useEffect(() => {\n if (!isSaving && saveType === 'complete') {\n if (createdAccount) {\n // save application to storage\n if (application) {\n dispatch(ApplicationActions.requestSaveApplication({ application, saveType, storage }));\n }\n // send to thank you page\n dispatch(UiActions.setNextPage('/thanks'));\n } else if (_.isUndefined(createdAccount) && application && isApplicationComplete(application)) {\n // create the TB account after application saved and complete\n dispatch(ApplicationActions.requestCreateAccount({ application }));\n }\n }\n }, [saveType, isSaving, createdAccount, application, dispatch, storage]);\n\n // if already created account, don't allow access to any apply form steps\n if (application && application.accountId) {\n return ;\n }\n\n return (\n \n {step && }\n \n \n );\n};\n\nconst ApplyForm: React.FC = ({ match, setActiveLanguage }) => {\n const storage = useStore();\n const dispatch = useDispatcher();\n const [{ mismatchedDataModal, formSubmitted }, { setMismatchedDataModal, setFormSubmitted }] = useApplication();\n\n const authToken = useData(d => d.ui.apiToken);\n const application = useData(d => d.data.application);\n const { numberOfSections, visibleSections } = useData(d => d.ui.sectionInfo);\n const { isSaving, saveType } = useData(d => d.data.saveInfo);\n const createErrorCode = useData(d => d.data.createErrorCode);\n const step = useData(d => d.ui.step);\n const nextPage = useData(d => d.ui.nextPage);\n const userRequirements = useData(d => d.ui.userRequirements);\n const siteGrpParam = process.env.REACT_APP_TB_SITE_GROUP;\n const stepIndex = useMemo(() => _.indexOf(AllApplicationSteps, step), [step]);\n const isOnLastSectionOfStep = useMemo(\n () => !!numberOfSections && !!visibleSections && visibleSections >= numberOfSections,\n [numberOfSections, visibleSections]\n );\n\n const initialValues = useMemo(() => {\n if (application && !_.isEmpty(application)) {\n return { ...application };\n }\n return DefaultApplicationModel;\n }, [application]);\n\n const closeMismatchedDataModal = useCallback(\n (options?: MismatchedDataModalOptions) => {\n const mismatchedDataType = mismatchedDataModal && mismatchedDataModal.type;\n // use false to mark as closed\n setMismatchedDataModal(false);\n // save application to confirm data mismatch and complete current step\n if (step && mismatchedDataType && options && options.confirmMismatchedData && options.formValues) {\n const applicationWithConfirmation = {\n ...options.formValues,\n confirmedMismatchedDataTypes: [\n mismatchedDataType,\n ...(options.formValues.confirmedMismatchedDataTypes || []),\n ],\n };\n // update status fields on application\n const data = updateApplication(step, false, true, applicationWithConfirmation, visibleSections);\n dispatch(\n ApplicationActions.requestSaveApplication({\n application: data,\n saveType: 'confirm-data-mismatch',\n saveStep: step,\n storage,\n })\n );\n } else if (options && options.scrollToTop) {\n delayedScrollTo(0);\n }\n },\n [mismatchedDataModal, step, visibleSections, setMismatchedDataModal, dispatch, storage]\n );\n\n const getStepProps = (step: ApplicationStep, props: BaseFormProps) => ({\n ...props,\n getText: (id: string, textKey?: string, options?: TextOptions) => {\n const textOptions = {\n ...options,\n data: {\n ...(options && options.data),\n siteName: GetTradingBlockSiteName(undefined, siteGrpParam),\n },\n };\n return ;\n },\n setActiveLanguage,\n mismatchedDataModal,\n closeMismatchedDataModal,\n formSubmitted,\n });\n\n // build id of submit btn, used for translation id\n const submitButtonId = useMemo(() => {\n if (step === ApplicationStep.Beneficiaries) {\n return 'review';\n }\n if (step === ApplicationStep.Sign) {\n return 'submit';\n }\n if (config.isVirtual && isOnLastSectionOfStep) {\n return 'submit';\n }\n return 'continue';\n }, [step, isOnLastSectionOfStep]);\n\n const duplicateAccountCheckState = useStateSelector(s => s.data.duplicateAccountCheck);\n\n // handle validate\n const onValidate = (values: ApplicationModel) => {\n // console.warn('ApplyPage :: onValidate ', step, visibleSections, values);\n // if already logged in, only validate first section of secure acct step\n const visibleSectionsToValidate = authToken && step === ApplicationStep.SecureAccount ? 1 : visibleSections;\n return validateApplicationStepAsync(\n step,\n values,\n visibleSectionsToValidate,\n userRequirements,\n duplicateAccountCheckState\n );\n };\n\n // handle submit\n const onSubmit = (values: ApplicationModel, formikHelpers: FormikHelpers) => {\n // once valid form submitted, reset touched fields\n formikHelpers.setTouched({});\n // submitting virtual application (first step of application only)\n if (step === ApplicationStep.SecureAccount && isOnLastSectionOfStep && config.isVirtual) {\n dispatch(ApplicationActions.requestCreateUser({ application: values }));\n } else if (step === ApplicationStep.SecureAccount && visibleSections === 1) {\n // skip saving on very first step and section, show next section right away\n dispatch(UiActions.showNextSection({ scrollToSection: true }));\n setFormSubmitted(false);\n } else {\n // check for mismatched data\n const mismatchedDataType = isOnLastSectionOfStep ? checkForMismatchedDataType(values, step) : undefined;\n if (mismatchedDataType) {\n setMismatchedDataModal({ type: mismatchedDataType });\n } else {\n // save and continue\n saveStepAndContinue(values);\n }\n }\n };\n\n const saveStepAndContinue = async (values: ApplicationModel) => {\n // check for any off ramp conditions\n const forcedNextUrl = getForcedOffRampUrl(values);\n // check if current step is valid\n const isStepValid = step && !isApplicationStepInvalid(step, values);\n // can only move past current step if on last section and no offramp url\n const isStepCompleted = isOnLastSectionOfStep && isStepValid && !forcedNextUrl;\n // check if we should skip clearer and set it to APEX\n const shouldSkipClearer = shouldRemoveClearerOption(values.hearAboutUsId, values.repId, heardAbout);\n\n // if no authToken, need to create user first\n if (!authToken && isStepCompleted && step === ApplicationStep.SecureAccount) {\n dispatch(ApplicationActions.requestCreateUser({ application: values }));\n return;\n }\n\n // reset mismatched data modal state\n if (mismatchedDataModal === false) {\n setMismatchedDataModal(undefined);\n }\n\n // If we should skip clearer step, then we need to set clearer to apex.\n if (shouldSkipClearer) {\n values = {\n ...values,\n clearer: ClearerType.Apex,\n };\n } else if (step === ApplicationStep.SecureAccount && !shouldSkipClearer) {\n // On every update to this page, we will need to ask what commission style they want.\n values = {\n ...values,\n clearer: null,\n };\n }\n\n // update status fields on application\n const data = updateApplication(\n step || ApplicationStep.ClearerType, // Need to force the next step to be clearer\n !isStepCompleted,\n isStepCompleted,\n values,\n visibleSections\n );\n // if completing last step, use saveType = 'complete'\n const saveType = isStepCompleted && stepIndex + 1 === AllApplicationSteps.length ? 'complete' : 'continue';\n // save application\n dispatch(ApplicationActions.requestSaveApplication({ application: data, saveType, saveStep: step, storage }));\n };\n\n const onSaveForLater = async (values: ApplicationModel) => {\n // update status fields on application with incrementSection = false, isStepCompleted = false\n const data = updateApplication(step || ApplicationStep.SecureAccount, false, false, values, visibleSections);\n // save application with saveType = 'partial'\n dispatch(\n ApplicationActions.requestSaveApplication({ application: data, saveType: 'partial', saveStep: step, storage })\n );\n };\n\n const onHandleSubmit = (handler: () => void, e: React.FormEvent) => {\n e.preventDefault();\n // set submitted flag\n setFormSubmitted(true);\n // fire formik handler\n handler();\n };\n\n const handlePartialEntityAccountSubmission = (values: ApplicationModel) => {\n const data = updateApplication(step || ApplicationStep.SecureAccount, false, false, values, visibleSections, true);\n // save the application with saveType = 'partial'\n dispatch(\n ApplicationActions.requestSaveApplication({ application: data, saveType: 'partial', saveStep: step, storage })\n );\n if (values.entityAccountType) {\n dispatch(ApplicationActions.requestCreatePartialEntityAccount({ application: data }));\n }\n };\n\n const heardAbout = useData(d => d.ui.heardAbout);\n\n const { linkClicked } = useLinkClicked();\n\n return (\n \n {(props: BaseFormProps) => (\n \n
    onHandleSubmit(props.handleSubmit, e)} autoComplete={'off'}>\n
    \n
    \n

    {step && }

    \n
    \n
    \n\n {_.map(\n ApplicationFormComponents,\n (Step: any, key: ApplicationStep) =>\n step === key && (\n
    \n \n
    \n )\n )}\n {props.values.type === ApplicationType.Entity && !props.values.entityAccountType && (\n \n \n \n )}\n {step !== ApplicationStep.ClearerType && (\n \n {props.values.type !== ApplicationType.Entity && (\n \n )}\n {props.values.type === ApplicationType.Entity && (\n {\n handlePartialEntityAccountSubmission(props.values);\n }}\n >\n \n \n )}\n \n }\n secondaryPanel={\n step !== ApplicationStep.SecureAccount && (\n onSaveForLater(props.values)}\n tabIndex={-1}\n >\n {saveType === 'partial' || !!nextPage ? : }\n \n )\n }\n />\n )}\n \n
    \n )}\n \n );\n};\n\nexport default withLocalize(ApplyPage);\n","import React, { useEffect, useMemo } from 'react';\nimport { Redirect } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { Section, Text, Svg, ContactPhone, GetTradingBlockSiteName, ContactEmail } from '@tradingblock/components';\nimport { getForcedOffRampUrl } from '../services';\nimport { ApplicationLoader } from '../components/application';\nimport { PageTitle } from '../components';\nimport { useData } from '../state/selectors';\nimport config from '../config';\nimport { ApplicationInvestigationUploadedDocument, DefaultApplicationModel } from '../types';\nimport { useDispatcher } from '../components/hooks';\nimport { ApplicationActions } from '../state/actions';\nimport {\n ApplicationStatusApplicationDocuments,\n ApplicationStatusInvestigations,\n RequestedInvestigationDocument,\n} from '@tradingblock/types';\nimport { getRequestedParticipantsDocuments } from '@tradingblock/api';\n\nconst ThankYouPage: React.FC = () => {\n const application = useData(d => d.data.application);\n const createdUser = useData(d => d.data.createdUser);\n const siteGrpParam = process.env.REACT_APP_TB_SITE_GROUP;\n const offrampUrl = getForcedOffRampUrl(application);\n const isOffline = offrampUrl === '/apply/offline';\n const applicationStatus = useData(d => d.data.status);\n\n const { accountId } = application || DefaultApplicationModel;\n const { state, investigations, applications } = applicationStatus || {\n state: undefined,\n investigations: [],\n applications: [],\n };\n const authToken = useData(d => d.ui.apiToken);\n const authTokenExpired = useData(d => d.ui.apiTokenExpired);\n const dispatch = useDispatcher();\n\n useEffect(() => {\n // check for application status if account already created\n if (accountId && authToken && !authTokenExpired) {\n dispatch(ApplicationActions.requestApplicationStatus({ accountId }));\n }\n }, [accountId, dispatch, authToken, authTokenExpired]);\n\n const requestedParticipantsDocuments = useMemo(() => {\n return getRequestedParticipantsDocuments(investigations, applications);\n }, [investigations, applications]);\n\n // boolean to check if we have any requested documents\n const areDocumentsRequested = useMemo(() => {\n return requestedParticipantsDocuments.some(\n participant =>\n participant.requestedCatagories.investigations.length > 0 ||\n participant.requestedCatagories.application.length > 0\n );\n }, [requestedParticipantsDocuments]);\n\n const contentTextKey = config.isVirtual ? 'content-virtual' : 'content';\n const contactTextId = useMemo(() => `contact.${GetTradingBlockSiteName(undefined, siteGrpParam)}`, [siteGrpParam]);\n\n // since api token not used for virtual application, need to allow anonymous access if created user login\n const allowAnonymous = config.isVirtual && createdUser;\n\n if (!config.isVirtual && (!application || !application.applicationSentOn)) {\n return ;\n }\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n

    \n \n

    \n\n

    \n \n

    \n\n {!config.isVirtual && (\n <>\n

    \n \n

    \n

    \n {!areDocumentsRequested && (\n \n \n \n )}\n {areDocumentsRequested && (\n \n \n \n )}\n

    \n

    \n {/* eslint-disable-next-line */}\n \n \n \n

    \n

    \n {/* eslint-disable-next-line */}\n \n \n \n

    \n \n )}\n
    \n
    \n

    \n \n \n {' '}\n ,\n email: ,\n phone: (\n \n \n \n ),\n }}\n />\n

    \n
    \n
    \n );\n};\n\nexport default ThankYouPage;\n","import React, { useState } from 'react';\nimport { Redirect } from 'react-router';\nimport { Section, Text, Footer, LoadingImage, Svg, ExternalLink } from '@tradingblock/components';\nimport { PageTitle } from '../components';\nimport { ApplicationLoader } from '../components/application';\nimport { useData } from '../state/selectors';\nimport { RetirementAccountType } from '../types';\nimport config from '../config';\n\nconst OfflinePage: React.FC = () => {\n const application = useData(d => d.data.application);\n const isCoverDell =\n application &&\n application.retirementAccountType &&\n application.retirementAccountType === RetirementAccountType.CoverDell;\n const siteGrp = process.env.REACT_APP_TB_SITE_GROUP;\n let urlPrefix = siteGrp === 'tb' ? 'https://www.tradingblock.com' : 'https://www.moneyblock.com';\n let url;\n\n if (isCoverDell) {\n url = `${urlPrefix}/Admin/Forms/Apex/New_Accounts/Coverdell_Account_Application.pdf`;\n }\n\n const [isSaving, setIsSaving] = useState();\n const onSaveClick = () => {\n setIsSaving(true);\n\n // send application via api...\n\n window.setTimeout(() => {\n setIsSaving(false);\n }, 1500);\n };\n\n if (isSaving === false) {\n return ;\n }\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n

    \n \n

    \n

    \n \n

    \n

    \n \n \n \n

    \n
    \n \n {isSaving ? : }{' '}\n \n \n \n \n }\n />\n
    \n );\n};\n\nexport default OfflinePage;\n","import React from 'react';\nimport { Section, Text, ContactPhone, ContactEmail } from '@tradingblock/components';\nimport { ApplicationLoader } from '../components/application';\nimport { PageTitle } from '../components';\nimport { useData } from '../state/selectors';\n\nconst CustomerServicePage: React.FC = () => {\n const siteGrpParam = process.env.REACT_APP_TB_SITE_GROUP;\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n

    \n \n

    \n

    \n ,\n phone: ,\n }}\n />\n

    \n
    \n
    \n );\n};\n\nexport default CustomerServicePage;\n","import React, { useMemo } from 'react';\nimport { RouteComponentProps } from 'react-router';\nimport { Section, Text } from '@tradingblock/components';\nimport { PageTitle } from '../components';\nimport { ApplicationLoader } from '../components/application';\nimport { FieldValue } from '../components/values';\nimport { UnsupportedFeatureType } from '../types';\nimport { useData } from '../state/selectors';\n\nconst UnsupportedFeaturePage: React.FC> = ({ match }) => {\n const { type } = match.params;\n const application = useData(d => d.data.application);\n\n const textData = useMemo(() => {\n if (type === UnsupportedFeatureType.Country) {\n return { country: application && };\n }\n if (type === UnsupportedFeatureType.IrsWithholding) {\n return {\n irsWithholding: application && ,\n };\n }\n return undefined;\n }, [type, application]);\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n

    \n \n

    \n

    \n \n

    \n
    \n
    \n );\n};\n\nexport default UnsupportedFeaturePage;\n","import React, { useMemo, useCallback } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ContactPhone, Section, Text } from '@tradingblock/components';\nimport { PageTitle } from '../components';\nimport { ApplicationLoader } from '../components/application';\nimport { ApplicationStep } from '../types';\nimport { getApplicationStepUrl } from '../services';\nimport { config } from '../config';\nimport { useData } from '../state/selectors';\n\nconst PendingPage: React.FC = () => {\n const application = useData(d => d.data.application);\n const siteGrpParam = process.env.REACT_APP_TB_SITE_GROUP;\n\n const dashboardLogoutUrl = `${config.dashboardUrl}/logout`;\n\n const type = useMemo(() => {\n if (application && application.latestStepCompleted === ApplicationStep.Sign && application.applicationSentOn) {\n return 'unapproved';\n }\n return 'incomplete';\n }, [application]);\n\n const gotoApplication = useCallback(() => {\n window.location.href = getApplicationStepUrl(\n (application && application.latestStepSaved) || ApplicationStep.SecureAccount\n );\n }, [application]);\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n

    \n ,\n }}\n />\n

    \n {type === 'incomplete' && (\n

    \n \n

    \n )}\n

    \n \n \n \n

    \n
    \n
    \n );\n};\n\nexport default PendingPage;\n","import React from 'react';\nimport _ from 'lodash';\nimport qs from 'qs';\nimport { ApplicationLoader } from '../components';\n\nconst LogoutPage: React.FC = () => {\n const urlParams = qs.parse(_.drop(window.location.hash, 1).join(''));\n const nextPage = _.isString(urlParams.next) ? (urlParams.next as string) : '/';\n return ;\n};\n\nexport default LogoutPage;\n","import React, { useEffect, useMemo } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ContactEmail, ContactPhone, Loading, Section, Text } from '@tradingblock/components';\nimport _ from 'lodash';\nimport { PageTitle } from '../components';\nimport { ApplicationLoader } from '../components/application';\nimport { getApplicationStepUrl } from '../services';\nimport { useData } from '../state/selectors';\nimport { DefaultApplicationModel } from '../types';\nimport { useDispatcher } from '../components/hooks';\nimport { ApplicationActions } from '../state/actions';\nimport InvestigationUpload from '../components/fields/InvestigationUpload';\nimport { UploadedDocuments } from '../components/values';\nimport { getRequestedParticipantsDocuments } from '@tradingblock/api';\n\nconst StatusPage: React.FC = () => {\n const dispatch = useDispatcher();\n\n const siteGrpParam = process.env.REACT_APP_TB_SITE_GROUP;\n const authToken = useData(d => d.ui.apiToken);\n const authTokenExpired = useData(d => d.ui.apiTokenExpired);\n const application = useData(d => d.data.application);\n const applicationStatus = useData(d => d.data.status);\n const applicationStatusIsFetching = useData(d => d.data.isFetchingStatus);\n\n const { accountId, clearer } = application || DefaultApplicationModel;\n const { state, investigations, applications } = applicationStatus || {\n state: undefined,\n investigations: [],\n applications: [],\n };\n\n // Reduce and union both investigations and applications requested documents\n const requestedParticipantsDocuments = useMemo(() => {\n return getRequestedParticipantsDocuments(investigations, applications);\n }, [investigations, applications]);\n\n // boolean to check if we have any requested documents\n const areDocumentsRequested = useMemo(() => {\n return requestedParticipantsDocuments.some(\n participant =>\n participant.requestedCatagories.investigations.length > 0 ||\n participant.requestedCatagories.application.length > 0\n );\n }, [requestedParticipantsDocuments]);\n\n useEffect(() => {\n // check for application status if account already created\n if (accountId && authToken && !authTokenExpired) {\n dispatch(ApplicationActions.requestApplicationStatus({ accountId }));\n }\n }, [accountId, dispatch, authToken, authTokenExpired]);\n\n return (\n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n {applicationStatusIsFetching && (\n
    \n \n
    \n )}\n {!applicationStatusIsFetching && (\n
    \n {!authTokenExpired ? (\n <>\n {(state === 'InvestigationSubmitted' ||\n state === 'ReadyForBackOffice' ||\n state === 'BackOffice' ||\n state === 'AccountSetup') && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n {(state === 'PendingSubmit' ||\n state === 'ActionRequired' ||\n state === 'Suspended' ||\n state === 'Pending') && (\n <>\n {!areDocumentsRequested && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n {areDocumentsRequested && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n \n )}\n {(state === 'Error' || state === 'Cancelled' || state === 'Rejected') && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n {state === 'Complete' && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n {state === undefined && (\n <>\n {!areDocumentsRequested && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n {areDocumentsRequested && (\n <>\n

    \n :{' '}\n \n \n \n

    \n

    \n \n

    \n
    \n \n )}\n \n )}\n {(siteGrpParam === 'tb' || !siteGrpParam) && (\n <>\n ,\n phone: ,\n }}\n />\n
    \n \n
    \n \n )}\n\n {siteGrpParam === 'mb' && (\n ,\n phone: ,\n }}\n />\n )}\n
    \n\n {requestedParticipantsDocuments.map(\n (participant, index) =>\n (participant.requestedCatagories.application.length > 0 ||\n participant.requestedCatagories.investigations.length > 0 ||\n participant.uploadedDocuments.length > 0) && (\n
    \n {participant.uploadedDocuments.length > 0 && (\n <>\n

    \n \n

    \n
      \n {participant.uploadedDocuments.map((uploadedDocument, index) => (\n \n
    • \n \n
    • \n
      \n
      \n ))}\n
    \n \n )}\n {(participant.requestedCatagories.application.length > 0 ||\n participant.requestedCatagories.investigations.length > 0) && (\n <>\n

    \n \n

    \n\n
      \n {participant.requestedCatagories.application.map((requestedDocument, index) => (\n
    • \n \n
    • \n ))}\n {participant.requestedCatagories.investigations.map((requestedDocument, index) => (\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 phone: ,\n }}\n />\n

    \n
    \n
    \n {!authTokenExpired && (\n

    \n \n \n \n

    \n )}\n

    \n \n \n \n

    \n
    \n
    \n );\n};\n\nexport default StatusPage;\n","import React, { useEffect } from 'react';\nimport { Section, Text, ContactPhone, ContactEmail } from '@tradingblock/components';\nimport { ApplicationLoader } from '../components/application';\nimport { PageTitle } from '../components';\nimport { useData } from '../state/selectors';\nimport { Link } from 'react-router-dom';\nimport { useLogout } from '../hooks/useLogout';\nimport { config } from '../config';\n\nconst ExpiredTokenPage: React.FC = () => {\n const isExpired = useData(d => d.ui.storageTokenExpired);\n const onLogout = useLogout();\n useEffect(() => {\n if (isExpired) {\n onLogout();\n }\n }, [isExpired, onLogout]);\n return (\n \n
    \n

    \n \n

    \n

    \n \n \n \n

    \n
    \n
    \n );\n};\n\nexport default ExpiredTokenPage;\n","import React, { useMemo, useEffect } from 'react';\nimport { Route, Switch, Redirect, RouteComponentProps, withRouter } from 'react-router-dom';\nimport _ from 'lodash';\nimport { setPageTitle } from '@tradingblock/components';\nimport HomePage from './pages/Home';\nimport AuthenticationPage from './pages/Auth';\nimport SummaryPage from './pages/Summary';\nimport ApplyPage from './pages/Apply';\nimport ThankYouPage from './pages/ThankYou';\nimport OfflinePage from './pages/Offline';\nimport CustomerServicePage from './pages/CustomerService';\nimport UnsupportedFeaturePage from './pages/Unsupported';\nimport PendingPage from './pages/Pending';\nimport LogoutPage from './pages/Logout';\nimport StatusPage from './pages/Status';\nimport { useSiteGroup } from './hooks/useSiteGroup';\nimport { useClearer } from './hooks/useClearer';\nimport ExpiredTokenPage from './pages/ExpiredToken';\nimport { useAffiliate } from './hooks/useAffiliate';\n\nexport const ApplicationRouter: React.FC = () => {\n useSiteGroup();\n useClearer();\n useAffiliate();\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nconst ResetRouteComponent: React.FC = ({ location }) => {\n const shouldScrollToTop = useMemo(() => {\n if (location.state && _.isBoolean(location.state.scrollToTop)) {\n return location.state.scrollToTop;\n }\n return true;\n }, [location]);\n\n useEffect(() => {\n setPageTitle('');\n if (shouldScrollToTop) {\n window.scrollTo(0, 0);\n }\n }, [location, shouldScrollToTop]);\n\n return null;\n};\n\nconst ResetRoute = withRouter(ResetRouteComponent);\n","import { useEffect } from 'react';\nimport { GetUrlParams } from '@tradingblock/api';\nimport { useDispatcher } from '../components/hooks';\nimport { UiActions } from '../state/actions';\nimport { useData } from '../state/selectors';\n\nexport const useSiteGroup = () => {\n const dispatch = useDispatcher();\n const params = GetUrlParams(window.location.search);\n const siteGrp = useData(d => d.ui.siteGrp);\n useEffect(() => {\n const grp = process.env.REACT_APP_TB_SITE_GROUP;\n if (grp && siteGrp !== grp) {\n // if arriving with grp param, store in state\n dispatch(UiActions.setSiteGrp(grp));\n }\n }, [params, siteGrp, dispatch]);\n};\n","import { useEffect } from 'react';\nimport { GetUrlParams } from '@tradingblock/api';\nimport { useDispatcher } from '../components/hooks';\nimport { UiActions } from '../state/actions';\nimport { useData } from '../state/selectors';\n\nexport const useClearer = () => {\n const dispatch = useDispatcher();\n const params = GetUrlParams(window.location.search);\n const clearer = useData(d => d.ui.clearer);\n useEffect(() => {\n const clearer = params['clearer'];\n if (clearer && clearer !== 'undefined') {\n // if arriving with clearer param, store in state\n dispatch(UiActions.setClearer(clearer));\n }\n }, [params, clearer, dispatch]);\n};\n","import { useEffect } from 'react';\nimport { GetUrlParams } from '@tradingblock/api';\nimport { useDispatcher } from '../components/hooks';\nimport { UiActions } from '../state/actions';\nimport { useData } from '../state/selectors';\n\nexport const useAffiliate = () => {\n const dispatch = useDispatcher();\n const params = GetUrlParams(window.location.search);\n const affiliate = useData(d => d.ui.affiliate);\n useEffect(() => {\n const affiliate = params['affiliate'];\n if (affiliate && affiliate !== 'undefined') {\n // if arriving with affiliate param, store in state\n dispatch(UiActions.setAffiliate(affiliate));\n }\n }, [params, affiliate, dispatch]);\n};\n","import React, { useEffect, FC } from 'react';\nimport useMount from 'react-use/lib/useMount';\nimport { Provider, useDispatch } from 'react-redux';\nimport { BrowserRouter, withRouter, RouteComponentProps } from 'react-router-dom';\nimport { LocalizeProviderWrapper, useTracking } from '@tradingblock/components';\nimport { useLocalStorage } from '@tradingblock/storage';\nimport { DataStore } from './state/store';\nimport { useApi, useApplication } from './context';\nimport { delayedScrollTo } from './services';\nimport { PageHeader, PageFooter } from './components';\nimport { ApplicationRouter } from './ApplicationRouter';\nimport { useData } from './state/selectors';\nimport { useDispatcher } from './components/hooks';\nimport { ApplicationActions, TokenActions, UiActions } from './state/actions';\nimport './App.css';\nimport config from './config';\nimport ReactGA from 'react-ga4';\nimport { LinkClickedProvider } from './components/application/form-steps/LinkClickedContext';\n\n// Use vt tracking code if virtual\nconst TRACKING_ID = config.isVirtual ? config.ga4VTTrackingCode : config.ga4TrackingCode;\nif (TRACKING_ID) {\n ReactGA.initialize(TRACKING_ID);\n}\nconst TokenHandler: FC<{}> = () => {\n const isExpired = useData(d => d.ui.storageTokenExpired);\n const dispatch = useDispatch();\n useEffect(() => {\n if (isExpired) {\n console.log('token is expired');\n dispatch(UiActions.setNextPage('/expired'));\n }\n }, [isExpired]);\n return <>;\n};\n\nconst AppContent: React.FC = ({ history }) => {\n const dispatch = useDispatcher();\n const api = useApi();\n const [, { setNavMenuOpen }] = useApplication();\n\n const currentPage = window.location.pathname;\n const nextPage = useData(d => d.ui.nextPage);\n\n useEffect(() => {\n // Allow pages that do not need auth tokens to be not tested for expired token...\n if (\n currentPage !== '/' &&\n currentPage !== '/home' &&\n currentPage !== '/apply/secure' &&\n currentPage !== '/auth' &&\n currentPage === nextPage\n ) {\n api.user\n .profile()\n .then(result => {\n if (result.responseCode !== 0) {\n dispatch(TokenActions.uiTokenExpired());\n }\n })\n .catch(() => {\n dispatch(TokenActions.uiTokenExpired());\n });\n }\n if (nextPage) {\n // once arriving on nextPage, reset nextPage in state\n if (currentPage === nextPage) {\n dispatch(UiActions.clearNextPage());\n } else {\n // send to next page\n const redirectTo = nextPage;\n window.setTimeout(() => {\n history.push(redirectTo);\n delayedScrollTo(0, 0);\n }, 1);\n }\n }\n }, [currentPage, nextPage, dispatch, history]);\n\n const onMenuClose = () => {\n setNavMenuOpen(false);\n };\n\n return (\n
    \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n );\n};\n\nconst AppContentWithRouter = withRouter(AppContent);\n\nconst App: React.FC = () => {\n useEffect(() => {\n ReactGA.pageview(window.location.pathname + window.location.search);\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport * as Sentry from \"@sentry/react\";\n\nif (process.env.REACT_APP_ENVIRONMENT !== \"local\") {\nSentry.init({\n dsn: \"https://6d2ba992b6e750ec6f6588ec73144401@o4505086872977408.ingest.sentry.io/4505625333202944\",\n integrations: [\n new Sentry.BrowserTracing(),\n new Sentry.Replay(),\n ],\n // Performance Monitoring\n tracesSampleRate: 1.0, // Capture 100% of the transactions, reduce in production!\n // Session Replay\n replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n});\n}\n\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}