{"version":3,"file":"it-digital-signature.mjs","names":["t","e","exports","module","define","amd","n","r","i","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","u","f","_","a","h","E","y","S","A","R","C","g","v","P","U","I","D","b","O","G","N","T","M","L","K","k","w","B","F","x","Y","j","V","H","X","z","J","q","Z","W","$","tt","et","nt","rt","Q","ot","st","at","ut","ct","it","ft","_t","pt","ht","Et","yt","lt","Ct","dt","At","mt","Rt","Tt","St","vt","Pt","Ut","gt","Dt","bt","Ot","It","wt","Mt","Lt","Kt","Gt","Nt","xt","Bt","Ft","Ht","Yt","jt","kt","Wt","Xt","zt","Vt","qt","Zt","Qt","$t","te","Jt","ne","re","ie","oe","se","ae","ue","ee","le","fe","_e","pe","he","Ee","ye","Se","Ce","de","ce","me","Re","Te","Ae","ve","Pe","Ue","ge","De","be","Oe","Ge","Ie","we","Me","Le","Ke","ke","Ne","Fe","He","Ye","je","Ve","xe","Be","Xe","ze","Je","qe","Ze","We","JS","SW","MS","Undifferenced","CA","CAServer","RAAdministrator","EndUser","CMP","TSP","OCSP","Unknown","DSTU4145","RSA","ECDSA","GOST34311","SHA1","SHA224","SHA256","SHA384","SHA512","DSTU7564_256","DSTU7564_384","DSTU7564_512","DigitalSignature","NonRepudation","KeyAgreement","Revoke","Hold","KeyCompromise","NewIssued","None","DSTUAndECDHWithGOST","RSAWithSHA","ECDSAWithSHA","DSTUAndECDHWithDSTU","EC_191","EC_257","EC_307","File","Cert","EC_431","EC_571","N_1024","N_2048","N_3072","N_4096","EC_192","EC_256","EC_384","EC_521","uaDS","uaKEP","intRSA","Kyivstar","Vodafone","Lifecell","IIT","UKey","PB","DIIA","Default","Name","Phone","Email","CAdES_BES","CAdES_T","CAdES_C","CAdES_X_Long","CAdES_X_Long_Trusted","Detached","Enveloped","DSTU4145WithGOST34311","DSTU4145WithDSTU7564","DownloadEUCerts","SearchEUCerts","SHA160","CAdES","XAdES","Enveloping","B_B","B_T","B_LT","B_LTA","All","ConfirmKSPOperation","PAdES","ASiC","MapFromKeyMedia","SetTypeIndex","typeIndex","SetDevIndex","devIndex","SetPassword","user","password","MapToProxySettings","useProxy","GetUseProxy","address","GetAddress","port","GetPort","anonymous","GetAnonymous","GetUser","GetPassword","savePassword","GetSavePassword","MapFromProxySettings","SetUseProxy","SetAddress","SetPort","SetAnonymous","SetUser","SetSavePassword","MapEndUserOwnerInfo","isFilled","IsFilled","issuer","GetIssuer","issuerCN","GetIssuerCN","serial","GetSerial","subject","GetSubject","subjCN","GetSubjCN","subjOrg","GetSubjOrg","subjOrgUnit","GetSubjOrgUnit","subjTitle","GetSubjTitle","subjState","GetSubjState","subjLocality","GetSubjLocality","subjFullName","GetSubjFullName","subjAddress","GetSubjAddress","subjPhone","GetSubjPhone","subjEMail","GetSubjEMail","subjDNS","GetSubjDNS","subjEDRPOUCode","GetSubjEDRPOUCode","subjDRFOCode","GetSubjDRFOCode","MapToEndUserCertificateInfoEx","version","GetVersion","subjNBUCode","GetSubjNBUCode","subjSPFMCode","GetSubjSPFMCode","subjOCode","GetSubjOCode","subjOUCode","GetSubjOUCode","subjUserCode","GetSubjUserCode","certBeginTime","GetCertBeginTime","certEndTime","GetCertEndTime","isPrivKeyTimesAvail","IsPrivKeyTimesAvail","privKeyBeginTime","GetPrivKeyBeginTime","privKeyEndTime","GetPrivKeyEndTime","publicKeyBits","GetPublicKeyBits","publicKey","GetPublicKey","publicKeyID","GetPublicKeyID","issuerPublicKeyID","GetIssuerPublicKeyID","keyUsage","GetKeyUsage","extKeyUsages","GetExtKeyUsages","policies","GetPolicies","crlDistribPoint1","GetCRLDistribPoint1","crlDistribPoint2","GetCRLDistribPoint2","isPowerCert","IsPowerCert","isSubjTypeAvail","IsSubjTypeAvail","isSubjCA","IsSubjCA","chainLength","GetChainLength","UPN","GetUPN","publicKeyType","GetPublicKeyType","keyUsageType","GetKeyUsageType","RSAModul","GetRSAModul","RSAExponent","GetRSAExponent","OCSPAccessInfo","GetOCSPAccessInfo","issuerAccessInfo","GetIssuerAccessInfo","TSPAccessInfo","GetTSPAccessInfo","isLimitValueAvailable","IsLimitValueAvail","limitValue","GetLimitValue","limitValueCurrency","GetLimitValueCurrency","subjType","GetSubjType","subjSubType","GetSubjSubType","subjUNZR","GetSubjUNZR","subjCountry","GetSubjCountry","fingerprint","GetFingerprint","isQSCD","IsQSCD","subjUserID","GetSubjUserID","certHashType","GetCertHashType","MapToEndUserParams","SN","GetSN","commonName","GetCommonName","locality","GetLocality","state","GetState","organization","GetOrganization","orgUnit","GetOrgUnit","title","GetTitle","street","GetStreet","phone","GetPhone","surname","GetSurname","givenname","GetGivenname","EMail","GetEMail","DNS","GetDNS","EDRPOUCode","GetEDRPOUCode","DRFOCode","GetDRFOCode","NBUCode","GetNBUCode","SPFMCode","GetSPFMCode","information","GetInformation","passPhrase","GetPassPhrase","isPublishCertificate","GetIsPublishCertificate","RAAdminSN","GetRAAdminSN","MapToEndUserTimeInfo","isTimeAvail","IsTimeAvail","isTimeStamp","IsTimeStamp","time","GetTime","isSignTimeStampAvail","IsSignTimeStampAvail","signTimeStamp","GetSignTimeStamp","MapToEndUserSignInfo","ownerInfo","GetOwnerInfo","timeInfo","GetTimeInfo","EndUserTimeInfo","data","GetData","signLevel","MapToEndUserSenderInfo","MapToEndUserCertificate","infoEx","GetInfoEx","MapFromEndUserInfo","SetCommonName","SetLocality","SetState","SetOrganization","SetOrgUnit","SetTitle","SetStreet","SetPhone","SetSurname","SetGivenname","SetEMail","SetDNS","SetEDRPOUCode","SetDRFOCode","SetNBUCode","SetSPFMCode","SetOCode","OCode","SetOUCode","OUCode","SetUserCode","userCode","SetUPN","SetUNZR","UNZR","SetCountry","country","MapToEndUserRequestInfo","GetRequest","type","GetRequestType","fileName","GetDefaultRequestFileName","isSimple","IsSimple","isSelfSigned","IsSelfSigned","signIssuer","GetSignIssuer","signSerial","GetSignSerial","MapToEndUserReference","name","GetName","val","MapFromEndUserReference","SetName","SetData","MapToEndUserSession","handle","GetHandle","MapFromEndUserSession","SetHandle","vendor","classVersion","className","encode","length","charCodeAt","decode","String","fromCharCode","join","push","m_cp1251_table","m_ut8_table","unescape","charAt","GetCoder","toUpperCase","ArrayToString","ERROR_BAD_PARAMETER","getErrorDescriptionEx","dateDelimeter","timeDelimeter","dateTimeDelimeter","format","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","split","parseInt","Date","m_map","m_codes","_getTextDecoder","TextDecoder","encoding","_encodePart","Uint8Array","slice","Math","floor","indexOf","deferred","arguments","unshift","apply","shift","eu_wait","_getBrowserInfo","m_name","m_version","m_arch","_getArch","m_os_name","_getOSName","BROWSER_NAME_IE","BROWSER_NAME_OPERA","BROWSER_NAME_CHROME","BROWSER_NAME_FIREFOX","BROWSER_NAME_SAFARI","BROWSER_NAME_EDGE","BROWSER_NAME_EU_SIGN_AGENT","BROWSER_NAME_UNKNOWN","OS_NAME_WINDOWS","OS_NAME_LINUX","OS_NAME_UNIX","OS_NAME_MAC","OS_NAME_ANDROID","OS_NAME_IOS","OS_NAME_UNKNOWN","BROWSER_ARCH_NAME_X86","BROWSER_ARCH_NAME_X64","BROWSER_ARCH_NAME_ARM","BROWSER_ARCH_NAME_UNKNOWN","navigator","userAgent","match","test","exec","replace","appName","appVersion","splice","platform","toLowerCase","userAgentData","includes","document","maxTouchPoints","GetArch","GetOSName","Vendor","ClassVersion","ClassName","m_type","m_log","_logFunction","m_uri","m_callbacks","_registerOnExtensionRecieveEventHandler","m_requests","m_session_id","_loadSessionId","toString","_log","console","log","sessionStorage","getItem","_saveSessionId","setItem","_removeSessionId","removeItem","createXMLHttpRequest","XMLHttpRequest","ActiveXObject","makeRequest","jsonrpc","id","method","params","session_id","JSON","stringify","verifyResponse","error","result","code","message","handleResponse","parse","_sendHttp","open","setRequestHeader","onload","status","response","onerror","send","window","addEventListener","sender","callback_id","request_id","callback","_sendExtension","getElementsByClassName","request","postMessage","_getPluginObject","getElementsByTagName","classid","attributes","_sendPlugin","ProcessData","set","setTimeout","execute","WEB_LIBRARY_OS_NOT_SUPPORTED","WEB_LIBRARY_NOT_INSTALLED_OR_RUN","WEB_LIBRARY_JAVA_APPLET_NOT_LOADED","WEB_LIBRARY_INSTALLED_VERSION_NOT_SUPPORTED","WEB_LIBRARY_INSTALL_PACKAGE","WEB_LIBRARY_UPDATE_PACKAGE","WEB_LIBRARY_USER_MANUAL","WEB_LIBRARY_WEB_EXTENSION_INSTALL_PACKAGE","WEB_LIBRARY_CHECK_JRE_VERSION","WEB_LIBRARY_WEB_EXTENSION_NOT_INSTALLED_OR_RUN","DESCRIPTIONS","getString","m_id","m_library","m_language","m_supportedLibraryTypes","m_supportedLibraryTypesIndex","m_noJavaApplet","m_webExtensionFirst","m_errorResult","LIBRARY_TYPE_JAVA_APPLET","LIBRARY_TYPE_SIGN_AGENT","LIBRARY_TYPE_WEB_EXTENSION","LIBRARY_TYPE_NPAPI","LIBRARY_TYPE_ACTIVE_X","m_libraryType","LIBRARY_TYPE_DEFAULT","isWebExtensionSupported","isSignAgentSupported","isNPAPISupported","isActiveXSupported","isJavaAppletSupported","getLibraryType","EU_DEFAULT_LANG","EU_UA_LANG","EU_RU_LANG","EU_EN_LANG","isWebExtensionInstalled","load","_load","unload","getElementById","parentNode","removeChild","_loadSignApplet","_loadSignAgent","_loadWebExtension","_loadNPAPI","_loadActiveX","_onLoad","_onLoadError","msg","library","createElement","setAttribute","body","appendChild","_waitForSignAppletLoad","SetUIMode","ERROR_LIBRARY_COMUNICATION_FAILED","_appendWebWrapperObject","height","style","visibility","_onLoadWebLibraryError","GetErrorCode","ERROR_LIBRARY_VERSION_NOT_SUPPORTED","GetInstallURL","GetUpdateURL","GetWebExtensionInstallURL","GetHelpURL","_loadWebLibrary","Load","location","protocol","_loadPlugin","_waitForPluginLoad","parentClassName","m_array","add","clear","size","Error","subarray","Array","buffer","byteLength","fields","makeTransferable","constructor","base64Coder","dateCoder","setClassInfo","initializeFields","classFields","GetTypeIndex","GetDevIndex","path","checkCRLs","autoRefresh","ownCRLsOnly","fullAndDeltaCRLs","autoDownloadCRLs","saveLoadedCerts","expireTime","GetPath","SetPath","GetCheckCRLs","SetCheckCRLs","GetAutoRefresh","SetAutoRefresh","GetOwnCRLsOnly","SetOwnCRLsOnly","GetFullAndDeltaCRLs","SetFullAndDeltaCRLs","GetAutoDownloadCRLs","SetAutoDownloadCRLs","GetSaveLoadedCerts","SetSaveLoadedCerts","GetExpireTime","SetExpireTime","getStamps","GetGetStamps","SetGetStamps","useOCSP","beforeStore","GetUseOCSP","SetUseOCSP","GetBeforeStore","SetBeforeStore","useLDAP","GetUseLDAP","SetUseLDAP","useCMP","GetUseCMP","SetUseCMP","offlineMode","GetOfflineMode","SetOfflineMode","enabled","GetEnabled","SetEnabled","SetIssuerCN","sourceType","showErrors","keyMedia","GetSourceType","SetSourceType","GetShowErrors","SetShowErrors","GetKeyMedia","SetKeyMedia","useTSL","autoDownloadTSL","tslAddress","GetUseTSL","SetUseTSL","GetAutoDownloadTSL","SetAutoDownloadTSL","GetTSLAddress","SetTSLAddress","GetDataString","isECDHPublicKeyAvail","ECDHPublicKeyBits","ECDHPublicKey","ECDHPublicKeyID","IsECDHPublicKeyAvail","GetECDHPublicKeyBits","GetECDHPublicKey","GetECDHPublicKeyID","IsLimitValueAvailable","SetInfoEx","crlNumber","thisUpdate","nextUpdate","GetCRLNumber","GetThisUpdate","GetNextUpdate","revokedItemsCount","GetRevokedItemsCount","privateKey","privateKeyInfo","GetPrivateKey","SetPrivateKey","GetPrivateKeyInfo","SetPrivateKeyInfo","certificates","GetCertificate","GetCertificatesCount","GetCertificates","requestType","defaultRequestFileName","GetOCode","GetOUCode","GetUserCode","GetUNZR","GetCountry","SetSN","SetInformation","SetPassPhrase","SetIsPublishCertificate","SetRAAdminSN","activeSessions","gatedSessions","unprotectedData","protectedData","GetActiveSessions","GetGatedSessions","GetUnprotectedData","GetProtectedData","receiptNumber","cryptoData","GetReceiptNumber","GetCryptoData","caType","headerType","headerSize","GetCAType","GetHeaderType","GetHeaderSize","hash","signature","statusCode","GetError","GetHash","GetSignature","GetStatusCode","GetStatus","cmpRequest","GetCMPRequest","deviceNameAlias","isDeviceNameAliasAvailable","isPasswordAttemptsAvailable","leftPasswordAttempts","maxPasswordAttempts","isUAKeysAvailable","isUAKeysExists","GetDeviceNameAlias","IsDeviceNameAliasAvailable","IsPasswordAttemptsAvailable","GetLeftPasswordAttempts","GetMaxPasswordAttempts","IsUAKeysAvailable","IsUAKeysExists","errorCode","GetMessage","ERROR_NONE","ERROR_UNKNOWN","ERROR_NOT_SUPPORTED","ERROR_NOT_INITIALIZED","ERROR_LIBRARY_LOAD","ERROR_READ_SETTINGS","ERROR_TRANSMIT_REQUEST","ERROR_MEMORY_ALLOCATION","WARNING_END_OF_ENUM","ERROR_PROXY_NOT_AUTHORIZED","ERROR_NO_GUI_DIALOGS","ERROR_DOWNLOAD_FILE","ERROR_WRITE_SETTINGS","ERROR_CANCELED_BY_GUI","ERROR_OFFLINE_MODE","ERROR_KEY_MEDIAS_FAILED","ERROR_KEY_MEDIAS_ACCESS_FAILED","ERROR_KEY_MEDIAS_READ_FAILED","ERROR_KEY_MEDIAS_WRITE_FAILED","WARNING_KEY_MEDIAS_READ_ONLY","ERROR_KEY_MEDIAS_DELETE","ERROR_KEY_MEDIAS_CLEAR","ERROR_BAD_PRIVATE_KEY","ERROR_PKI_FORMATS_FAILED","ERROR_CSP_FAILED","ERROR_BAD_SIGNATURE","ERROR_AUTH_FAILED","ERROR_NOT_RECEIVER","ERROR_STORAGE_FAILED","ERROR_BAD_CERT","ERROR_CERT_NOT_FOUND","ERROR_INVALID_CERT_TIME","ERROR_CERT_IN_CRL","ERROR_BAD_CRL","ERROR_NO_VALID_CRLS","ERROR_GET_TIME_STAMP","ERROR_BAD_TSP_RESPONSE","ERROR_TSP_SERVER_CERT_NOT_FOUND","ERROR_TSP_SERVER_CERT_INVALID","ERROR_GET_OCSP_STATUS","ERROR_BAD_OCSP_RESPONSE","ERROR_CERT_BAD_BY_OCSP","ERROR_OCSP_SERVER_CERT_NOT_FOUND","ERROR_OCSP_SERVER_CERT_INVALID","ERROR_LDAP_ERROR","ERROR_BROWSER_NOT_SUPPORTED","ERROR_OPEN_FILE","ERROR_READ_FILE","ERROR_WRITE_FILE","ERROR_DESCRIPTIONS_EX","isError","isSuccess","SUBJECT_TYPE_UNDIFFERENCED","SUBJECT_TYPE_CA","SUBJECT_TYPE_CA_SERVER","SUBJECT_TYPE_RA_ADMINISTRATOR","SUBJECT_TYPE_END_USER","EU_SUBJECT_TYPE_UNDIFFERENCED","EU_SUBJECT_TYPE_CA","EU_SUBJECT_TYPE_CA_SERVER","EU_SUBJECT_TYPE_RA_ADMINISTRATOR","EU_SUBJECT_TYPE_END_USER","SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED","SUBJECT_CA_SERVER_SUB_TYPE_CMP","SUBJECT_CA_SERVER_SUB_TYPE_TSP","SUBJECT_CA_SERVER_SUB_TYPE_OCSP","EU_SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED","EU_SUBJECT_CA_SERVER_SUB_TYPE_CMP","EU_SUBJECT_CA_SERVER_SUB_TYPE_TSP","EU_SUBJECT_CA_SERVER_SUB_TYPE_OCSP","CERT_KEY_TYPE_UNKNOWN","CERT_KEY_TYPE_DSTU4145","CERT_KEY_TYPE_RSA","CERT_KEY_TYPE_ECDSA","EU_CERT_KEY_TYPE_UNKNOWN","EU_CERT_KEY_TYPE_DSTU4145","EU_CERT_KEY_TYPE_RSA","EU_CERT_KEY_TYPE_ECDSA","EU_CERT_HASH_TYPE_UNKNOWN","EU_CERT_HASH_TYPE_GOST34311","EU_CERT_HASH_TYPE_SHA1","EU_CERT_HASH_TYPE_SHA224","EU_CERT_HASH_TYPE_SHA256","EU_CERT_HASH_TYPE_SHA384","EU_CERT_HASH_TYPE_SHA512","EU_CERT_HASH_TYPE_DSTU7564_256","EU_CERT_HASH_TYPE_DSTU7564_384","EU_CERT_HASH_TYPE_DSTU7564_512","KEY_USAGE_UNKNOWN","KEY_USAGE_DIGITAL_SIGNATUR","KEY_KEY_USAGE_KEY_AGREEMENT","EU_KEY_USAGE_UNKNOWN","EU_KEY_USAGE_DIGITAL_SIGNATURE","EU_KEY_USAGE_NON_REPUDATION","EU_KEY_USAGE_KEY_AGREEMENT","EU_KEYS_REQUEST_TYPE_UA_DS","EU_KEYS_REQUEST_TYPE_UA_KEP","EU_KEYS_REQUEST_TYPE_INTERNATIONAL","EU_KEYS_TYPE_NONE","EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_GOSTS","EU_KEYS_TYPE_RSA_WITH_SHA","EU_KEYS_TYPE_ECDSA_WITH_SHA","EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_DSTU","EU_KEYS_LENGTH_DS_UA_191","EU_KEYS_LENGTH_DS_UA_257","EU_KEYS_LENGTH_DS_UA_307","EU_KEYS_LENGTH_DS_UA_FILE","EU_KEYS_LENGTH_DS_UA_CERT","EU_KEYS_LENGTH_KEP_UA_257","EU_KEYS_LENGTH_KEP_UA_431","EU_KEYS_LENGTH_KEP_UA_571","EU_KEYS_LENGTH_KEP_UA_FILE","EU_KEYS_LENGTH_KEP_UA_CERT","EU_KEYS_LENGTH_DS_RSA_1024","EU_KEYS_LENGTH_DS_RSA_2048","EU_KEYS_LENGTH_DS_RSA_3072","EU_KEYS_LENGTH_DS_RSA_4096","EU_KEYS_LENGTH_DS_RSA_FILE","EU_KEYS_LENGTH_DS_RSA_CERT","EU_KEYS_LENGTH_DS_ECDSA_192","EU_KEYS_LENGTH_DS_ECDSA_256","EU_KEYS_LENGTH_DS_ECDSA_384","EU_KEYS_LENGTH_DS_ECDSA_521","EU_KEYS_LENGTH_DS_ECDSA_FILE","EU_KEYS_LENGTH_DS_ECDSA_CERT","EU_RECIPIENT_APPEND_ISSUER_AND_SERIAL","EU_RECIPIENT_APPEND_KEY_ID","EU_RECIPIENT_APPEND_KEY_ID_USC_COMPAT","EU_SAVE_SETTINGS_PARAMETER","EU_RESOLVE_OIDS_PARAMETER","EU_MAKE_PKEY_PFX_CONTAINER_PARAMETER","EU_SIGN_INCLUDE_CONTENT_TIME_STAMP_PARAMETER","EU_SIGN_TYPE_PARAMETER","EU_SIGN_INCLUDE_CA_CERTIFICATES_PARAMETER","EU_FS_CALCULATE_FINGERPRINT","EU_FORCE_USE_TSP_FROM_SETTINGS_PARAMETER","EU_STRING_ENCODING_PARAMETER","EU_CHECK_CERT_CHAIN_ON_SIGN_TIME_PARAMETER","EU_CONNECTIONS_TIMEOUT_PARAMETER","EU_LOG_EVENTS_THRESHOLD_PARAMETER","EU_USE_SLOGIN_PRIVATE_KEY","EU_SETTINGS_ID_NONE","EU_SETTINGS_ID_MANDATORY","EU_SETTINGS_ID_ALL","EU_SETTINGS_ID_FSTORE","EU_SETTINGS_ID_PROXY","EU_SETTINGS_ID_TSP","EU_SETTINGS_ID_OCSP","EU_SETTINGS_ID_LDAP","EU_SETTINGS_ID_MODE","EU_SETTINGS_ID_CMP","EU_SETTINGS_ID_KM","EU_SETTINGS_ID_OCSP_ACCESS_INFO_MODE","EU_SETTINGS_ID_OCSP_ACCESS_INFO","EU_SETTINGS_ID_TSL","EU_SETTINGS_ID_LOG","EU_HEADER_CA_TYPE","EU_HEADER_PART_TYPE_SIGNED","EU_HEADER_PART_TYPE_ENCRYPTED","EU_HEADER_PART_TYPE_STAMPED","EU_HEADER_PART_TYPE_CERTCRYPT","EU_HEADER_MAX_CA_TYPE_SIZE","EU_SIGNED_CRYPTO_HEADER","EU_ENCRYPTED_CRYPTO_HEADER","EU_TIMESTAMPED_CRYPTO_HEADER","EU_CERTCRYPT_CRYPTO_HEADER","EU_CONTENT_ENC_ALGO_DEFAULT","EU_CONTENT_ENC_ALGO_GOST28147_CFB","EU_CONTENT_ENC_ALGO_TDES_CBC","EU_CONTENT_ENC_ALGO_AES_128_CBC","EU_CONTENT_ENC_ALGO_AES_192_CBC","EU_CONTENT_ENC_ALGO_AES_256_CBC","EU_CONTENT_ENC_ALGO_DSTU7624_256_OFB","EU_CONTENT_ENC_ALGO_DSTU7624_256_CFB","EU_DEV_CTX_MIN_PUBLIC_DATA_ID","EU_DEV_CTX_MAX_PRIVATE_DATA_ID","EU_UA_OID_EXT_KEY_USAGE_STAMP","EU_CCS_TYPE_REVOKE","EU_CCS_TYPE_HOLD","EU_REVOCATION_REASON_UNKNOWN","EU_REVOCATION_REASON_KEY_COMPROMISE","EU_REVOCATION_REASON_NEW_ISSURED","EU_SIGN_TYPE_UNKNOWN","EU_SIGN_TYPE_CADES_BES","EU_SIGN_TYPE_CADES_T","EU_SIGN_TYPE_CADES_C","EU_SIGN_TYPE_CADES_X_LONG","EU_SIGN_TYPE_CADES_X_LONG_TRUSTED","EU_CHECK_PRIVATE_KEY_CONTEXT_PARAMETER","EU_RESOLVE_OIDS_CONTEXT_PARAMETER","EU_EXPORATABLE_CONTEXT_CONTEXT_PARAMETER","EU_ENCODE_ECDSA_SIGN_VALUE_CONTEXT_PARAMETER","EU_USE_SLOGIN_PRIVATE_KEY_CONTEXT_PARAMETER","EU_RECIPIENT_APPEND_TYPE_BY_ISSUER_SERIAL","EU_RECIPIENT_APPEND_TYPE_BY_KEY_ID","EU_CTX_HASH_ALGO_UNKNOWN","EU_CTX_HASH_ALGO_GOST34311","EU_CTX_HASH_ALGO_SHA160","EU_CTX_HASH_ALGO_SHA224","EU_CTX_HASH_ALGO_SHA256","EU_CTX_HASH_ALGO_SHA384","EU_CTX_HASH_ALGO_SHA512","EU_CTX_HASH_ALGO_DSTU7564_256","EU_CTX_HASH_ALGO_DSTU7564_384","EU_CTX_HASH_ALGO_DSTU7564_512","EU_CTX_SIGN_UNKNOWN","EU_CTX_SIGN_DSTU4145_WITH_GOST34311","EU_CTX_SIGN_RSA_WITH_SHA","EU_CTX_SIGN_ECDSA_WITH_SHA","EU_CTX_SIGN_DSTU4145_WITH_DSTU7564","EU_FILE_PROCESS_CHUNK_SIZE","EU_ASIC_TYPE_UNKNOWN","EU_ASIC_TYPE_S","EU_ASIC_TYPE_E","EU_ASIC_SIGN_TYPE_UNKNOWN","EU_ASIC_SIGN_TYPE_CADES","EU_ASIC_SIGN_TYPE_XADES","EU_ASIC_SIGN_LEVEL_BES","EU_ASIC_SIGN_LEVEL_T","EU_ASIC_SIGN_LEVEL_C","EU_ASIC_SIGN_LEVEL_X_LONG","EU_ASIC_SIGN_LEVEL_X_LONG_TRUSTED","EU_XADES_SIGN_TYPE_UNKNOWN","EU_XADES_TYPE_DETACHED","EU_XADES_TYPE_ENVELOPING","EU_XADES_TYPE_ENVELOPED","EU_XADES_SIGN_LEVEL_BES","EU_XADES_SIGN_LEVEL_T","EU_XADES_SIGN_LEVEL_B_LT","EU_XADES_SIGN_LEVEL_B_LTA","EU_PADES_SIGN_LEVEL_B_B","EU_PADES_SIGN_LEVEL_B_T","EU_PADES_SIGN_LEVEL_B_LT","EU_PADES_SIGN_LEVEL_B_LTA","EU_CP_ACP_ENCODING","EU_CP_1251_ENCODING","EU_UTF8_ENCODING","m_lastErrorCode","m_lastError","m_charset","m_stringCoder","m_base64Coder","m_dateCoder","m_browserInfo","m_jsonRpcClient","m_monitorLibraryTimer","_funcMakeParams","isArray","_funcCall","IsAsync","_funcHandleResult","MakeError","_funcDecodeResult","_checkVersion","_stringToBytes","_bytesToString","_base64Encode","_base64Decode","_copyArrayData","_startMonitorLibraryStatus","setInterval","IsInitialized","_stopMonitorLibraryStatus","clearInterval","_getAndroidAppIntentURL","encodeURIComponent","origin","RaiseError","GetInstallPath","SelectFile","SelectFileEx","SelectFolder","SelectFolderEx","CreateFolder","ReadFile","GetFileSize","ReadFileWithOffset","buf","curLength","WriteFile","WriteFileWithOffset","Copy","DeleteFile","AppendFile","CopyFileWithOffset","Initialize","Finalize","ResetOperation","SetLanguage","SetCharset","SetRuntimeParameter","GetStorageParameter","SetStorageParameter","CreateArrayList","GetLastError","GetLastErrorCode","BASE64Encode","BASE64Decode","StringToBytes","BytesToString","Concatenate","concat","SetSettings","DoesNeedSetSettings","InitializeMandatorySettings","CreateFileStoreSettings","SetFileStoreSettings","GetProxySettings","GetSystemProxySettings","SetProxySettings","CreateProxySettings","CreateTSPSettings","SetTSPSettings","CreateLDAPSettings","SetLDAPSettings","CreateOCSPSettings","SetOCSPSettings","CreateModeSettings","GetModeSettings","SetModeSettings","CreateKeyMediaSettings","GetKeyMediaSettings","SetKeyMediaSettings","GetFileStoreSettings","GetOCSPSettings","CreateOCSPAccessInfoModeSettings","GetOCSPAccessInfoModeSettings","SetOCSPAccessInfoModeSettings","CreateOCSPAccessInfoSettings","EnumOCSPAccessInfoSettings","GetOCSPAccessInfoSettings","SetOCSPAccessInfoSettings","DeleteOCSPAccessInfoSettings","GetTSPSettings","GetLDAPSettings","CreateCMPSettings","GetCMPSettings","SetCMPSettings","SetOCSPResponseExpireTime","CreateTSLSettings","GetTSLSettings","SetTSLSettings","RefreshFileStore","ShowCertificates","SelectCertificateInfo","GetCACertificatesCount","GetCAServerCertificatesCount","GetCMPServerCertificatesCount","GetOCSPServerCertificatesCount","GetTSPServerCertificatesCount","GetRAAdministratorCertificatesCount","GetEndUserCertificatesCount","EnumCertificates","EnumCACertificates","EnumCAServerCertificates","EnumCMPServerCertificatesCount","EnumOCSPServerCertificatesCount","EnumTSPServerCertificatesCount","EnumRAAdministratorCertificatesCount","EnumEndUserCertificatesCount","GetCertificateInfo","GetCertificateInfoEx","CheckCertificateByIssuerAndSerial","CheckCertificate","ParseCertificate","ParseCertificateEx","SaveCertificate","SaveCertificates","SaveCertificatesEx","GetCertificatesFromLDAPByEDRPOUCode","GetCertificateByEmail","GetCertificateByNBUCode","GetReceiversCertificates","GetReceiversCertificatesInArrayList","GetCertificateByFingerprint","GetCertificatesByEDRPOUAndDRFOCode","ShowCRLs","GetCRLsCount","EnumCRLs","GetCRLDetailedInfo","SaveCRL","GetTSPByAccessInfo","CheckTSP","GetOCSPResponseByAccessInfo","CheckOCSPResponse","CreateKeyMedia","GetPrivateKeyMedia","EnumKeyMediaTypes","EnumKeyMediaDevices","GetKeyMediaTypes","GetKeyMediaDevices","GetKeyMediaDeviceInfo","IsPrivateKeyReaded","ReadPrivateKey","ReadPrivateKeySilently","ReadPrivateKeyBinary","ReadPrivateKeyFile","CtxReadPrivateKey","CtxReadPrivateKeyBinary","ResetPrivateKey","CtxFreePrivateKey","ShowOwnCertificate","GetOwnCertificate","EnumOwnCertificates","GetPrivateKeyOwnerInfo","CtxEnumOwnCertificates","CtxGetOwnCertificate","GetKeyInfo","GetKeyInfoSilently","GetKeyInfoBinary","GetKeyInfoFile","GetCertificateByKeyInfo","GetCertificatesByKeyInfo","ChangeSoftwarePrivateKeyPassword","EnumJKSPrivateKeys","EnumJKSPrivateKeysFile","GetJKSPrivateKey","GetJKSPrivateKeyFile","CreatePrivateKeyInfo","CreateEndUserInfo","_generatePrivateKey","GeneratePrivateKeyEx","GeneratePrivateKey","_generatePrivateKeyEx","GetCRInfo","IsHardwareKeyMedia","IsPrivateKeyExists","ChangePrivateKeyPassword","BackupPrivateKey","DestroyPrivateKey","SetKeyMediaPassword","SetKeyMediaUserPassword","ChangeOwnCertificatesStatus","CtxChangeOwnCertificatesStatus","MakeNewCertificate","MakeNewCertificateEx","MakeNewOwnCertificate","CtxMakeNewOwnCertificate","CtxMakeNewOwnCertificateEx","CtxMakeNewOwnCertificateWithCR","CtxMakeDeviceCertificate","GetOwnEUserParams","ModifyOwnEUserParams","CtxGetOwnEUserParams","CtxModifyOwnEUserParams","Hash","ContinueHash","EndHash","HashWithParams","HashBeginWithParams","HashFile","HashFileWithParams","CtxHash","hashContext","CtxHashFree","CtxHashBegin","CtxHashEnd","CtxHashContinue","ShowSignInfo","IsSigned","IsSignedFile","GetSignType","GetFileSignType","GetSignsCount","GetSignerInfo","GetSignerCertificate","GetFileSignsCount","GetFileSignerInfo","GetFileSignerCertificate","CtxGetSignerInfo","Sign","Verify","ContinueSign","EndSign","BeginVerify","ContinueVerify","EndVerify","SignHash","VerifyHash","SignInternal","VerifyInternal","VerifyInternalString","SignFile","VerifyFile","VerifyFileWithExternalSign","VerifyFileWithInternalSign","IsAlreadySigned","IsFileAlreadySigned","AppendSign","VerifySpecific","AppendSignBegin","VerifyDataSpecificBegin","AppendSignHash","VerifyHashSpecific","AppendSignInternal","VerifySpecificInternal","VerifySpecificInternalString","AppendSignFile","VerifyFileSpecific","VerifyFileWithExternalSignSpecific","VerifyFileWithInternalSignSpecific","CreateEmptySign","CreateSigner","CreateSignerEx","AppendSigner","AppendValidationDataToSignerEx","IsDataInSignedDataAvailable","IsDataInSignedFileAvailable","GetDataFromSignedData","GetDataFromSignedFile","GetCertificateFromSignedData","GetCertificateFromSignedFile","GetSignTimeInfo","GetFileSignTimeInfo","VerifyHashOnTime","VerifyHashOnTimeEx","VerifyDataOnTime","VerifyDataOnTimeEx","VerifyDataInternalOnTime","VerifyDataInternalOnTimeEx","VerifyDataInternalOnTimeString","VerifyDataInternalOnTimeStringEx","VerifyDataOnTimeBegin","VerifyDataOnTimeBeginEx","VerifyFileOnTime","VerifyFileWithExternalSignOnTime","VerifyFileWithExternalSignOnTimeEx","VerifyFileWithInternalSignOnTime","VerifyFileWithInternalSignOnTimeEx","ContinueSignCtx","ContinueSignCtxWithOffset","EndSignCtx","BeginVerifyCtx","ContinueVerifyCtx","EndVerifyCtx","ResetOperationCtx","SignHashRSA","SignRSA","ContinueRSASign","ContinueRSASignWithOffset","EndRSASign","SignRSAFile","ContinueRSASignCtx","ContinueRSASignCtxWithOffset","EndRSASignCtx","SignECDSA","RawSign","RawVerify","RawSignHash","RawVerifyHash","RawSignFile","RawVerifyFile","NBUSign","NBUVerify","CtxSignHash","CtxSign","CtxSignFile","CtxAppendSignHash","CtxAppendSign","CtxAppendSignFile","CtxGetSignValue","CtxCreateSignerEx","ShowSenderInfo","IsEnveloped","IsEnvelopedFile","Envelop","Develop","EnvelopFile","DevelopFile","EnvelopEx","DevelopEx","EnvelopFileEx","EnvelopToRecipients","EnvelopFileToRecipients","EnvelopToRecipientsEx","EnvelopFileToRecipientsEx","EnvelopToRecipientsWithOCode","EnvelopExWithDynamicKey","EnvelopFileExWithDynamicKey","EnvelopToRecipientsWithDynamicKey","EnvelopFileToRecipientsWithDynamicKey","EnvelopToRecipientsWithSettings","RawEnvelop","RawDevelop","EnvelopRSA","EnvelopRSAEx","EnvelopFileRSA","EnvelopFileRSAEx","EnvelopToRecipientsRSA","EnvelopFileToRecipientsRSA","CtxEnvelop","CtxEnvelopFile","CtxEnvelopWithDynamicKey","CtxEnvelopFileWithDynamicKey","CtxDevelop","CtxDevelopFile","CtxCreateAuthData","ProtectDataByPassword","UnprotectDataByPassword","CreateEndUserSession","SessionIsInitialized","SessionClose","ClientSessionCreateStep1","ServerSessionCreateStep1","ClientSessionCreateStep2","ServerSessionCreateStep2","SessionSave","SessionLoad","SessionCheckCertificates","SessionEncrypt","SessionDecrypt","SessionEncryptContinue","SessionDecryptContinue","SessionGetPeerCertificateInfo","ClientDynamicKeySessionCreate","ServerDynamicKeySessionCreate","ClientDynamicKeySessionLoad","SCClientIsRunning","SCClientStart","SCClientStop","SCClientAddGate","SCClientRemoveGate","SCClientGetStatistic","AppendTransportHeader","ParseTransportHeader","AppendCryptoHeader","ParseCryptoHeader","AppendFileTransportHeader","ParseFileTransportHeader","AppendFileCryptoHeader","ParseFileCryptoHeader","DevCtxEnum","DevCtxOpen","CreateDeviceContext","DevCtxEnumVirtual","DevCtxClose","DevCtxGetData","DevCtxChangePassword","GetHostInfo","IsRemotelyControlled","CtxCreate","CtxFree","CtxSetParameter","CreateReference","ASiCGetASiCType","ASiCGetSignType","ASiCGetSignsCount","ASiCGetSignerInfo","ASiCGetSignTimeInfo","ASiCGetSignReferences","ASiCGetReference","ASiCSign","ASiCAppendSign","ASiCVerify","CtxASiCSign","CtxASiCAppendSign","CtxASiCGetSignerInfo","ASiCGetSignLevel","ASiCIsAllContentCovered","PDFGetSignType","PDFGetSignsCount","PDFGetSignerInfo","PDFGetSignTimeInfo","PDFSign","PDFVerify","CtxPDFSign","CtxPDFGetSignerInfo","XAdESGetType","XAdESGetSignsCount","XAdESGetSignLevel","XAdESGetSignerInfo","XAdESGetSignTimeInfo","XAdESGetSignReferences","XAdESGetReference","XAdESSign","XAdESVerify","CtxXAdESSign","CtxXAdESGetSignerInfo","SServerClientGeneratePrivateKeyAsync","SServerClientCheckGeneratePrivateKeyStatus","SServerClientSignHashAsync","SServerClientCheckSignHashStatus","SServerClientSignHashesAsync","SServerClientCheckSignHashesStatus","EndUserLibraryLoader","EUSignCP","EndUserError","EndUserLibraryType","Destroy","AddEventListener","GetLibraryInfo","GetCAs","GetKeyMedias","GetJKSPrivateKeys","ResetOperationKSP","ReadPrivateKeySIM","ReadPrivateKeyKSP","GetOwnCertificates","MakeDeviceCertificate","ChangePrivateKeyPasswordBinary","GeneratePrivateKeyBinary","GetClientRegistrationTokenKSP","HashData","GetSigner","SignData","SignDataInternal","SignDataEx","GetSignValue","VerifyData","VerifyDataInternal","EnvelopData","DevelopData","CreateAuthData","CtxGetOwnCertificates","CtxSignData","CtxEnvelopData","CtxDevelopData","ProtectTaxReports","UnprotectTaxReceipts","ASiCGetSigner","ASiCSignData","ASiCVerifyData","PDFGetSigner","PDFSignData","PDFVerifyData","XAdESGetSigner","XAdESSignData","XAdESVerifyData","GetSignContainerInfo","Promise","EndUserSignContainerType","subType","EndUserCAdESType","asicSignType","EndUserASiCSignType","MutationObserver","WebKitMutationObserver","self","Uint8ClampedArray","importScripts","MessageChannel","_state","_result","nextTick","createTextNode","observe","characterData","port1","onmessage","port2","runOnLoop","runOnContext","crypto","getRandomValues","Uint32Array","substring","then","resolve","_label","TypeError","_onerror","_subscribers","_instanceConstructor","promise","_input","_remaining","_enumerate","Function","cast","_eachEntry","_settledAt","_willSettleAt","all","race","reject","_setScheduler","_setAsap","_asap","catch","polyfill","supported","loaded","isNativeLibraryNeedUpdate","nativeLibraryInstallURL","nativeLibraryUpdateURL","webExtensionInstallURL","helpURL","device","visibleName","EU_USER_INFO_VERSION","EndUserEventType","m_worker","OnEvent","m_eventListeners","terminate","cmd","hostname","pathname","loadWorker","m_promises","forEach","URL","webkitURL","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","append","getBlob","Blob","Worker","createObjectURL","m_context","m_initialized","onMessage","initialize","MakeExpireDate","setTime","getTime","m_settings","m_kmTypes","m_kmActiveOperation","m_pkContext","m_resolveOIDs","m_origin","MapError","EU_ERROR_UNKNOWN","ProcessArray","DataToNamedDataArray","DataToResult","NamedDataToReference","CheckInitialize","EU_ERROR_NOT_INITIALIZED","BeginKMOperation","EndKMOperation","GetCASettings","CAs","issuerCNs","GetDefaultTSPSettings","TSPServer","tspAddress","tspAddressPort","IsCMPCompatible","cmpAddress","cmpCompatibility","IsCMPsAvailable","EndUserCMPCompatibility","allowForeignCAs","EU_ERROR_WRITE_SETTINGS","alias","info","digitalStamp","EndUserCertificate","SaveCertificatesInternal","CtxReadPrivateKeyInternal","pkContext","EU_ERROR_CERT_NOT_FOUND","SearchPrivateKeyCertificatesWithCMP","certs","ReadPrivateKeyInternal","ResetPrivateKeyInternal","EU_ERROR_TRANSMIT_REQUEST","CACommonName","GetUserCertificatesFromCertificates","GeneratePrivateKeyInternal","key","requests","GetSignAlgoByCertificate","EndUserCertKeyType","EndUserCertHashType","EndUserSignAlgo","GetHashAlgoBySignAlgo","EndUserHashAlgo","EU_ERROR_BAD_PARAMETER","CtxSignHashInternal","EU_ERROR_BAD_CERT","previousSign","CtxSignDataInternal","dataOrHash","LoadTaxReportPKey","EndUserKeyUsage","signPKCtx","signCert","envelopPKCtx","envelopCert","ProtectTaxReport","reportData","ownCert","signedData","EU_ERROR_NONE","UnprotectTaxReceipt","initiators","EU_ERROR_PKI_FORMATS_FAILED","headerInfo","GetKSPSettings","KSPs","ksp","GetPollingInterval","pollingInterval","MakeNewCertificateKSP","kspSettings","userId","operationId","systemId","signAlgos","IsSupported","IsSignAgentSupported","IsWebExtensionSupported","IsNPAPISupported","IsActiveXSupported","IsWebExtensionInstalled","nativeLibraryInstallURLs","nativeLibraryUpdateURLs","IsLibraryVersionNotSupportedError","offline","tspSettings","language","DownloadData","ocspAccessPointAddress","ocspAccessPointPort","CACertificates","TSLAddress","connectionTimeout","ocspResponseExpireTime","useSLoginPrivateKey","signInfoTmpl","allowedKeyMediaDevices","devices","allowedKeyMediaTypes","EndUserKeyMedia","EU_ERROR_NOT_SUPPORTED","makeCertResult","context","signersInfo","accountant","director","stamp","EndUserASiCType","endsWith","CtxCreateEmptySign","MakeURL","substr","lastIndexOf","IsLibraryLoadError","toLocaleLowerCase","readyState","responseText","responseType","clearTimeout","run","fun","array","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","EndUserCertificate","EndUserConstants","EndUserError","downloadData","url","dataType","token","postData","Promise","resolve","reject","makeUrl","xmlHttp","XMLHttpRequest","onerror","e","console","error","status","onload","readyState","DONE","XMLHttpStatusDone","blob","Uint8Array","response","JSON","parse","responseText","replace","responseXML","Blob","type","BlobBuilder","window","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","append","getBlob","responseType","open","setRequestHeader","jsonData","stringify","send","origin","location","pathname","indexOf","substr","lastIndexOf","format","args","Array","prototype","slice","call","arguments","match","number","readFile","file","reader","FileReader","onloadend","result","readAsArrayBuffer","arrayToBase64","array","base64Str","m_map","bytes","bytesLength","length","i","substring","base64ToArray","str","raw","atob","rawLength","ArrayBuffer","charCodeAt","stringToArray","s","utf8","unescape","encodeURIComponent","arr","push","arrayToString","ret","chr","String","fromCharCode","decodeURIComponent","escape","join","convertToBase64","convertFromBase64","signAlgoToHashAlgo","signAlgo","EndUserSignAlgo","RSAWithSHA","ECDSAWithSHA","EndUserHashAlgo","SHA256","DSTU4145WithGOST34311","GOST34311","DSTU4145WithDSTU7564","DSTU7564_256","Unknown","getSupportedSignAlgos","certificates","glsign","signAlgos","forEach","certificate","infoEx","keyUsageType","EndUserKeyUsage","DigitalSignature","publicKeyType","EndUserCertKeyType","DSTU4145","certHashType","EU_CERT_HASH_TYPE_GOST34311","EU_CERT_HASH_TYPE_DSTU7564_256","HashAlgorithm","RSA","ECDSA","isUrlValid","URL","getFileNameFromUrl","searchParams","get","split","pop","downloadAndSignFiles","fileUrl","signFunc","isParamValid","name","val","isArray","every","code","EU_ERROR_BAD_PARAMETER","message","returnNamedData","all","map","signs","sign","isDefaultValue","value","IS_DSTU_7564_DAY","Date","now","dateWithoutTimezone","date","tzoffset","getTimezoneOffset","withoutTimezone","valueOf","toISOString","EndUserConstants","EndUserKSP","getDefaultKSPs","convertFromBase64","IS_DSTU_7564_DAY","GlSign","constructor","value","settingArray","split","AllowSavePassword","_getZoneValue","AutoSetParams","_getSubZoneValue","ProviderName","SaveCert","CheckCrls","OwnCrlsOnly","FullAndDeltaCrls","AutoDownloadCrls","UseTsp","TspAddress","TspPort","parseInt","UseOcsp","OcspAddress","OcspPort","OcspBeforeStore","UseOcspAccess","UseCmp","CmpAddress","CmpPort","UseLdap","LdapAddress","LdapPort","ValidateOwner","StrongCheck","DontEraseKey","IdleTimeout","DeviceType","MainCrl","HashAlgorithm","PreferHarware","HideMobileId","UseProxy","ProxyAddress","ProxyPort","ProxyUser","ProxyPassword","applyProxySettings","trim","ApplyProxySettings","AllowTestKeys","AgentSignWeb","TestCAConnection","DontSaveToRegistry","ksps","directAccess","DirectAccess","PreLoadClientLibraries","fileSize","WebClientFileSize","UseTSL","UmcaservicePort","KSPs","JSON","parse","error","console","length","forEach","element","ksp","DIIA","IIT","PB","VTOKEN","address","includes","Array","isArray","signAlgos","EndUserSignAlgo","DSTU4145WithDSTU7564","DSTU4145WithGOST34311","zones","zone","zoneValue","separator","subzone","subZones","EndUserCertificate","EndUserError","EndUserOwnerInfo","EndUserConstants","KSPSettings","EndUser","EndUserTaxReport","GlSign","downloadData","arrayToBase64","base64ToArray","signAlgoToHashAlgo","getSupportedSignAlgos","IS_DSTU_7564_DAY","DigitalSignatureSettings","constructor","language","userId","httpProxyServiceURL","certificatesProvider","libraryUrl","DefaultSettingProvider","apiPath","workerPath","code","EU_ERROR_BAD_PARAMETER","message","endsWith","substring","length","getGlSign","getSettings","_settings","DefaultCertificatesProvider","WebserviceSettingProvider","undefined","calcId","args","ticket","json","FILECAS","FILECERT","LegacySettingsProvider","basePath","glsign","testMode","LegacyCertificatesProvider","CertificatesProvider","loadCertificates","EU_ERROR_NOT_SUPPORTED","_storagePrefix","_getItem","key","localStorage","getItem","_setItem","value","setItem","_removeItem","removeItem","CAsUri","CACertificatesUri","CAs","CACertificates","Promise","all","error","console","EU_ERROR_DOWNLOAD_FILE","versionUri","CACertificatesVersion","currentVersion","JSON","parse","stringify","DigitalSignatureLibraryTypeJS","DigitalSignatureLibraryTypeSW","DigitalSignatureLibraryType","JS","SW","DigitalSignatureKeyTypeFile","DigitalSignatureKeyTypeToken","DigitalSignatureKeyTypeKSP","DigitalSignatureKeyTypeWindowsCertStore","DigitalSignatureKeyTypeUmCAService","DigitalSignatureKeyType","File","Token","KSP","WindowsCertStore","UmCAService","EU_KSP_VTOKEN","EU_KSP_GRYADA","EU_KSP_IIT","EU_KSP_PB","EU_KSP_DIIA","EndUserKSP","IIT","PB","DIIA","GRYADA","VTOKEN","EU_KSP_ClientIdType","EndUserKSPClientIdType","Default","Name","Phone","Email","NamePassword","PrivateKeyInfo","keyType","ownerInfo","certificates","visibleName","id","isDigitalStamp","Array","isArray","certificate","infoEx","publicKeyType","EndUserCertKeyType","DSTU4145","keyUsageType","EndUserKeyUsage","DigitalSignature","extKeyUsages","indexOf","EU_UA_OID_EXT_KEY_USAGE_STAMP","supportSigning","supportEncryption","KeyAgreement","getSignAlgo","ksp","signAlgos","signAlgo","EndUserSignAlgo","DSTU4145WithDSTU7564","_glsign","HashAlgorithm","includes","DSTU4145WithGOST34311","Unknown","getHashAlgo","certHashType","hashType","EndUserHashAlgo","GOST34311","DSTU7564_256","FilePrivateKeyInfo","privateKey","password","subjCN","serial","HardwarePrivateKeyInfo","keyMedia","KspPrivateKeyInfo","keyId","getDefaultKSPs","allowTest","depositsign","name","address","clientIdPrefix","directAccess","needQRCode","diia","mobileAppName","systemId","smartId","confirmationURL","vchasno","vchasnoQR","cloudKey","esign","smartSignTax","port","clientIdType","pumb","ugb","alliance","vtoken","amokey","tascombank","edinQr","edin","ukrsibbank","ksps","push","KSPKeyMediasResponse","token","isTwoFactor","keys","KSPKeyMedia","subject","issuer","isStamp","KSPUserAuthData","userName","KSPPrivateKeyAuthData","pin","twoFactorCode","ProtectTaxReportParams","accountantPrivateKeyContext","directorPrivateKeyContext","stampPrivateKeyContext","senderEMail","recipientCertificate","reports","returnIntermediateSign","EndUserConstants","EndUserError","arrayToBase64","base64ToArray","UmCAService","constructor","port","String","baseUrl","trim","tryConnect","responce","fetch","ok","json","AppID","error","getKeys","code","EU_ERROR_TRANSMIT_REQUEST","message","Message","keys","map","key","description","Description","ki","indexOf","substring","alias","Certs","CertificateSerialNumber","visibleName","certificates","c","Base64","password","signData","toSign","signType","asByteArray","sigType","type","EU_SIGN_CONTAINER_TYPE_PADES","signLevel","EU_SIGN_TYPE_CADES_C","subType","EU_CADES_TYPE_ENVELOPED","returnArray","Array","isArray","i","length","d","val","name","formatData","results","data","request","Request","method","headers","body","JSON","stringify","Data","Certificate","Pin","SigType","AsBlob","AsResource","DataAsLink","sign","push","r","toBase64","EndUser","EndUserConstants","EndUserProxySettings","EndUserError","KSPSettings","EndUserCertificate","EndUserKeyMedia","EndUserSignContainerInfo","EndUserCertificateInfoEx","EndUserTaxReport","DigitalSignatureKeyType","PrivateKeyInfo","FilePrivateKeyInfo","HardwarePrivateKeyInfo","KspPrivateKeyInfo","EndUserKSP","KSPKeyMediasResponse","KSPUserAuthData","KSPPrivateKeyAuthData","DigitalSignatureKeyTypeWindowsCertStore","ProtectTaxReportParams","arrayToBase64","base64ToArray","convertToBase64","dateWithoutTimezone","downloadAndSignFiles","downloadData","format","isDefaultValue","readFile","UmCAService","Resourses","GlSign","PRIVATE_KEY_TYPE","PRIVATE_KEY_INFO","DigitalSignature","constructor","settingsProvider","_settingsProvider","_glSign","_settings","_euSignFile","_euSignKeyMedia","_euSign","_selectedCA","_KSPs","_readedKey","readedKey","_selectedIssuerCN","issuerCNs","getLibraryType","keyType","setLibraryType","type","Token","IsInitialized","undefined","_preferredKeyType","initialise","Promise","resolve","getGlSign","getSettings","AllowTestKeys","libraryUrl","EndUserLibraryType","JS","WebClientFileSize","SW","PreferHarware","glSign","UmcaservicePort","tryConnect","code","EU_ERROR_LIBRARY_LOAD","message","_resourses","UmCAServiceConnectError","euSign","library","GetLibraryInfo","supported","LibraryNotSupported","loaded","isNativeLibraryNeedUpdate","LibraryNeedsUpdate","reload","urls","href","nativeLibraryUpdateURL","caption","LibraryUpdate","helpURL","LibraryUserManual","isWebExtensionSupported","isWebExtensionInstalled","LibraryNeedsExtensionInstall","webExtensionInstallURL","WebExtensionInstall","LibraryNeedsInstall","nativeLibraryInstallURL","LibraryInstall","isInitialised","_euSettings","certificates","certificatesProvider","loadCertificates","error","EU_ERROR_DOWNLOAD_FILE","DownloadingRootCertificatesError","language","_language","encoding","httpProxyServiceURL","directAccess","DirectAccess","CAs","CACertificates","KSPs","allowedKeyMediaTypes","Initialize","ApplyProxySettings","UseProxy","ProxyAddress","ProxyPort","ProxyUser","ProxyPassword","proxy","useProxy","address","port","anonymous","user","password","savePassword","SetProxySettings","SetRuntimeParameter","EU_SIGN_TYPE_PARAMETER","EndUserSignType","CAdES_X_Long","setLanguage","SetLanguage","parseCertificate","cert","File","res","data","infoEx","m_library","m_worker","postMessage","getKeyMedias","GetKeyMedias","readPrivateKeyByInfo","keyInfo","EU_ERROR_BAD_PARAMETER","BadParameter","readFileKey","privateKey","readHardwareKey","keyMedia","KSP","readPrivateKeyKSP","ksp","userId","keyId","readPrivateKeyUmCAService","WindowsCertStore","readWindowsCertStorePrivateKey","certs","PasswordNotSet","Array","isArray","length","all","map","Blob","ownerInfo","ReadPrivateKey","GetOwnCertificates","EU_ERROR_CERT_NOT_FOUND","ReadPrivateKeyCAAutoDetectError","cmpAddress","ReadPrivateKeyNeedCertificateError","ReadPrivateKeyInvalidCAError","ReadPrivateKeyBinary","getJKSPrivateKeys","jks","GetJKSPrivateKeys","isJKSContainer","file","name","endsWith","readPrivateKeyDepositsign","getCerts","deposit","find","id","readPrivateKeyDiia","diia","authData","EU_KSP_DIIA","_diiaCheckAccess","ReadPrivateKeyKSP","EU_ERROR_KEY_MEDIAS_READ_FAILED","PrivateKeyNotReaded","getKeyMediasKSP","kspSettings","setTwoFactorCodeKSP","addConfirmKSPOperationEventListener","event","AddEventListener","EndUserEventType","ConfirmKSPOperation","qrCode","c","push","signType","EndUserSignContainerType","CAdES","subType","EndUserCAdESType","Enveloped","signLevel","CAdES_BES","sign","signData","info","VerifyDataInternal","visibleName","alias","EU_ERROR_BAD_PRIVATE_KEY","UmCAServiceWrongPassword","getKeyMediasUmCAService","getKeys","SignerDigital","getSelectedCertificate","String","JSON","parse","certInfo","Cert","subjCN","CertThumbPrint","isPrivateKeyReaded","IsPrivateKeyReaded","resetPrivateKey","ResetPrivateKey","resetKSPOperation","ResetOperationKSP","getCAs","GetCAs","setCA","CA","ca","issuerCN","needPrivateKeyCertificates","asByteArray","Detached","EU_SIGN_CONTAINER_TYPE_CADES","EU_SIGN_CONTAINER_TYPE_PADES","EU_ERROR_NOT_SUPPORTED","KSPSignFormatError","GRYADA","KSPSignPAdESError","hash","HashData","getHashAlgo","signedData","_signHashWindowsCertificateStore","signAlgo","getSignAlgo","ASiC","asicSignType","EndUserASiCSignType","EndUserXAdESSignLevel","B_LT","ASiCSignData","XAdES","returnArray","e","i","val","signs","result","XAdESSignData","PAdES","EndUserPAdESSignLevel","B_T","PDFSignData","SignHash","SignDataEx","BadSignatureType","signFile","fileUrl","signHash","signFileHash","hashUrl","getSignContainerInfo","GetSignContainerInfo","verifyData","signIndex","Number","isInteger","signContainerInfo","ASiCVerifyData","PDFVerifyData","XAdESVerifyData","VerifyData","verifyFile","signUrl","verifyDataInternal","verifyFileInternal","verifyHash","VerifyHash","verifyFileHash","signDataEx","_formatSignInfo","signFileEx","signHashEx","isHash","that","getSignInfo","signInfo","pop","signer","getSigner","certBeginTime","certEndTime","publicKeyType","keyUsageType","certHashType","timeInfo","time","isSignTimeStampAvail","signTimeStamp","isTimeStamp","timestamp","privateKeyType","Success","Sign","SignatureInfo","DateTimeStr","Signer","OwnerInfo","containerInfo","signerInfo","GetSigner","EU_SIGN_CONTAINER_TYPE_XADES","XAdESGetSigner","PDFGetSigner","EU_SIGN_CONTAINER_TYPE_ASIC","ASiCGetSigner","hashType","EU_CTX_HASH_ALGO_SHA512","EU_CTX_HASH_ALGO_SHA384","EU_CTX_HASH_ALGO_SHA256","EU_CTX_HASH_ALGO_SHA224","EU_CTX_HASH_ALGO_SHA160","signFunc","signValue","signHashCms","EU_ERROR_BAD_CERT","namedDataFunction","results","hashValue","envelopData","recipientCertificates","EnvelopData","developData","envelopedData","senderCert","DevelopData","envelopFile","url","developFile","envelopedFileUri","protectTaxReports","params","ProtectTaxReports","accountantPrivateKeyContext","keyContext","directorPrivateKeyContext","stampPrivateKeyContext","senderEMail","recipientCertificate","reports","returnIntermediateSign","ctxReadHardwareKey","ctx","CtxCreate","keyCtx","CtxReadPrivateKey","CtxGetOwnCertificates","context","ctxReadFileKey","CtxReadPrivateKeyBinary","ctxFreePrivateKey","privateKeyContext","CtxFreePrivateKey","CtxFree","getPrivateKeyInfoFromStorage","fromLocalStorage","storage","localStorage","sessionStorage","storedKeys","_userId","ls","UnprotectDataByPassword","filter","key","forEach","Uint8Array","Object","assign","certObj","storePrivateKeyInfo","privateKeyInfo","toLocalStorage","needQRCode","keys","getStoredPrivateKeyInfo","ProtectDataByPassword","stringify","local","session","concat","removeStoredPrivateKeyInfo","removeItem","localStoredKeys","sessionStoredKeys","item","keyIndex","findIndex","element","splice","parseInt","replace","EU_ERROR_TRANSMIT_REQUEST","DiiaError","window","origin","health","trim","toLowerCase","DiiaHealthCheckError","console"],"sources":["../euscp/euscp.js","../src/Utils.js","../src/GlSign.js","../src/Models.js","../src/umcaservice.js","../src/Resourses.json","../src/DigitalSignature.js"],"sourcesContent":["!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)(\"object\"==typeof exports?exports:t)[r]=n[r]}}(this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=4)}([function(t,e,n){\"use strict\";n.r(e),n.d(e,\"EU_LIBRARY_TYPE_JS\",(function(){return i})),n.d(e,\"EU_LIBRARY_TYPE_SW\",(function(){return o})),n.d(e,\"EU_LIBRARY_TYPE_MS\",(function(){return s})),n.d(e,\"EndUserLibraryType\",(function(){return r})),n.d(e,\"EU_SUBJECT_TYPE_UNDIFFERENCED\",(function(){return u})),n.d(e,\"EU_SUBJECT_TYPE_CA\",(function(){return c})),n.d(e,\"EU_SUBJECT_TYPE_CA_SERVER\",(function(){return l})),n.d(e,\"EU_SUBJECT_TYPE_RA_ADMINISTRATOR\",(function(){return f})),n.d(e,\"EU_SUBJECT_TYPE_END_USER\",(function(){return _})),n.d(e,\"EndUserSubjectType\",(function(){return a})),n.d(e,\"EU_SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED\",(function(){return h})),n.d(e,\"EU_SUBJECT_CA_SERVER_SUB_TYPE_CMP\",(function(){return E})),n.d(e,\"EU_SUBJECT_CA_SERVER_SUB_TYPE_TSP\",(function(){return y})),n.d(e,\"EU_SUBJECT_CA_SERVER_SUB_TYPE_OCSP\",(function(){return S})),n.d(e,\"EndUserSubjectCAServerSubType\",(function(){return p})),n.d(e,\"EU_CERT_KEY_TYPE_UNKNOWN\",(function(){return d})),n.d(e,\"EU_CERT_KEY_TYPE_DSTU4145\",(function(){return A})),n.d(e,\"EU_CERT_KEY_TYPE_RSA\",(function(){return m})),n.d(e,\"EU_CERT_KEY_TYPE_ECDSA\",(function(){return R})),n.d(e,\"EndUserCertKeyType\",(function(){return C})),n.d(e,\"EU_CERT_HASH_TYPE_UNKNOWN\",(function(){return g})),n.d(e,\"EU_CERT_HASH_TYPE_GOST34311\",(function(){return v})),n.d(e,\"EU_CERT_HASH_TYPE_SHA1\",(function(){return P})),n.d(e,\"EU_CERT_HASH_TYPE_SHA224\",(function(){return U})),n.d(e,\"EU_CERT_HASH_TYPE_SHA256\",(function(){return I})),n.d(e,\"EU_CERT_HASH_TYPE_SHA384\",(function(){return D})),n.d(e,\"EU_CERT_HASH_TYPE_SHA512\",(function(){return b})),n.d(e,\"EU_CERT_HASH_TYPE_DSTU7564_256\",(function(){return O})),n.d(e,\"EU_CERT_HASH_TYPE_DSTU7564_384\",(function(){return G})),n.d(e,\"EU_CERT_HASH_TYPE_DSTU7564_512\",(function(){return N})),n.d(e,\"EndUserCertHashType\",(function(){return T})),n.d(e,\"EU_KEY_USAGE_UNKNOWN\",(function(){return M})),n.d(e,\"EU_KEY_USAGE_DIGITAL_SIGNATURE\",(function(){return L})),n.d(e,\"EU_KEY_USAGE_NON_REPUDATION\",(function(){return K})),n.d(e,\"EU_KEY_USAGE_KEY_AGREEMENT\",(function(){return k})),n.d(e,\"EndUserKeyUsage\",(function(){return w})),n.d(e,\"EU_CCS_TYPE_REVOKE\",(function(){return B})),n.d(e,\"EU_CCS_TYPE_HOLD\",(function(){return F})),n.d(e,\"EndUserCCSType\",(function(){return x})),n.d(e,\"EU_REVOCATION_REASON_UNKNOWN\",(function(){return Y})),n.d(e,\"EU_REVOCATION_REASON_KEY_COMPROMISE\",(function(){return j})),n.d(e,\"EU_REVOCATION_REASON_NEW_ISSUED\",(function(){return V})),n.d(e,\"EndUserRevocationReason\",(function(){return H})),n.d(e,\"EU_KEYS_TYPE_NONE\",(function(){return X})),n.d(e,\"EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_GOST\",(function(){return z})),n.d(e,\"EU_KEYS_TYPE_RSA_WITH_SHA\",(function(){return J})),n.d(e,\"EU_KEYS_TYPE_ECDSA_WITH_SHA\",(function(){return q})),n.d(e,\"EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_DSTU\",(function(){return Z})),n.d(e,\"EndUserKeysType\",(function(){return W})),n.d(e,\"EU_KEYS_LENGTH_DS_UA_191\",(function(){return $})),n.d(e,\"EU_KEYS_LENGTH_DS_UA_257\",(function(){return tt})),n.d(e,\"EU_KEYS_LENGTH_DS_UA_307\",(function(){return et})),n.d(e,\"EU_KEYS_LENGTH_DS_UA_FILE\",(function(){return nt})),n.d(e,\"EU_KEYS_LENGTH_DS_UA_CERT\",(function(){return rt})),n.d(e,\"EndUserKeysLengthDSUA\",(function(){return Q})),n.d(e,\"EU_KEYS_LENGTH_KEP_UA_257\",(function(){return ot})),n.d(e,\"EU_KEYS_LENGTH_KEP_UA_431\",(function(){return st})),n.d(e,\"EU_KEYS_LENGTH_KEP_UA_571\",(function(){return at})),n.d(e,\"EU_KEYS_LENGTH_KEP_UA_FILE\",(function(){return ut})),n.d(e,\"EU_KEYS_LENGTH_KEP_UA_CERT\",(function(){return ct})),n.d(e,\"EndUserKeysLengthKEPUA\",(function(){return it})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_1024\",(function(){return ft})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_2048\",(function(){return _t})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_3072\",(function(){return pt})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_4096\",(function(){return ht})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_FILE\",(function(){return Et})),n.d(e,\"EU_KEYS_LENGTH_DS_RSA_CERT\",(function(){return yt})),n.d(e,\"EndUserKeysLengthDSRSA\",(function(){return lt})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_192\",(function(){return Ct})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_256\",(function(){return dt})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_384\",(function(){return At})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_521\",(function(){return mt})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_FILE\",(function(){return Rt})),n.d(e,\"EU_KEYS_LENGTH_DS_ECDSA_CERT\",(function(){return Tt})),n.d(e,\"EndUserKeysLengthDSECDSA\",(function(){return St})),n.d(e,\"EU_KEYS_REQUEST_TYPE_UA_DS\",(function(){return vt})),n.d(e,\"EU_KEYS_REQUEST_TYPE_UA_KEP\",(function(){return Pt})),n.d(e,\"EU_KEYS_REQUEST_TYPE_INT_RSA\",(function(){return Ut})),n.d(e,\"EndUserRequestTypes\",(function(){return gt})),n.d(e,\"EU_MOBILE_OPERATOR_ID_KYIVSTAR\",(function(){return Dt})),n.d(e,\"EU_MOBILE_OPERATOR_ID_VODAFONE\",(function(){return bt})),n.d(e,\"EU_MOBILE_OPERATOR_ID_LIFECELL\",(function(){return Ot})),n.d(e,\"EndUserMobileOperatorID\",(function(){return It})),n.d(e,\"EU_KSP_IIT\",(function(){return wt})),n.d(e,\"EU_KSP_UKEY\",(function(){return Mt})),n.d(e,\"EU_KSP_PB\",(function(){return Lt})),n.d(e,\"EU_KSP_DIIA\",(function(){return Kt})),n.d(e,\"EndUserKSP\",(function(){return Gt})),n.d(e,\"EndUserKSPClientIdType\",(function(){return Nt})),n.d(e,\"EU_SIGN_TYPE_UNKNOWN\",(function(){return xt})),n.d(e,\"EU_SIGN_TYPE_CADES_BES\",(function(){return Bt})),n.d(e,\"EU_SIGN_TYPE_CADES_T\",(function(){return Ft})),n.d(e,\"EU_SIGN_TYPE_CADES_C\",(function(){return Ht})),n.d(e,\"EU_SIGN_TYPE_CADES_X_LONG\",(function(){return Yt})),n.d(e,\"EU_SIGN_TYPE_CADES_X_LONG_TRUSTED\",(function(){return jt})),n.d(e,\"EndUserSignType\",(function(){return kt})),n.d(e,\"EU_CADES_TYPE_UNKNOWN\",(function(){return Wt})),n.d(e,\"EU_CADES_TYPE_DETACHED\",(function(){return Xt})),n.d(e,\"EU_CADES_TYPE_ENVELOPED\",(function(){return zt})),n.d(e,\"EndUserCAdESType\",(function(){return Vt})),n.d(e,\"EU_CTX_SIGN_UNKNOWN\",(function(){return qt})),n.d(e,\"EU_CTX_SIGN_DSTU4145_WITH_GOST34311\",(function(){return Zt})),n.d(e,\"EU_CTX_SIGN_RSA_WITH_SHA\",(function(){return Qt})),n.d(e,\"EU_CTX_SIGN_ECDSA_WITH_SHA\",(function(){return $t})),n.d(e,\"EU_CTX_SIGN_DSTU4145_WITH_DSTU7564\",(function(){return te})),n.d(e,\"EndUserSignAlgo\",(function(){return Jt})),n.d(e,\"EU_SIGN_TYPE_PARAMETER\",(function(){return ne})),n.d(e,\"EU_USE_SLOGIN_PRIVATE_KEY\",(function(){return re})),n.d(e,\"EU_FS_CALCULATE_FINGERPRINT\",(function(){return ie})),n.d(e,\"EU_CHECK_PRIVATE_KEY_CONTEXT_PARAMETER\",(function(){return oe})),n.d(e,\"EU_USE_SLOGIN_PRIVATE_KEY_CONTEXT_PARAMETER\",(function(){return se})),n.d(e,\"EU_UA_OID_EXT_KEY_USAGE_STAMP\",(function(){return ae})),n.d(e,\"EU_USER_INFO_VERSION\",(function(){return ue})),n.d(e,\"EndUserCMPCompatibility\",(function(){return ee})),n.d(e,\"EU_CTX_HASH_ALGO_UNKNOWN\",(function(){return le})),n.d(e,\"EU_CTX_HASH_ALGO_GOST34311\",(function(){return fe})),n.d(e,\"EU_CTX_HASH_ALGO_SHA160\",(function(){return _e})),n.d(e,\"EU_CTX_HASH_ALGO_SHA224\",(function(){return pe})),n.d(e,\"EU_CTX_HASH_ALGO_SHA256\",(function(){return he})),n.d(e,\"EU_CTX_HASH_ALGO_SHA384\",(function(){return Ee})),n.d(e,\"EU_CTX_HASH_ALGO_SHA512\",(function(){return ye})),n.d(e,\"EU_CTX_HASH_ALGO_DSTU7564_256\",(function(){return Se})),n.d(e,\"EU_CTX_HASH_ALGO_DSTU7564_384\",(function(){return Ce})),n.d(e,\"EU_CTX_HASH_ALGO_DSTU7564_512\",(function(){return de})),n.d(e,\"EndUserHashAlgo\",(function(){return ce})),n.d(e,\"EU_ASIC_TYPE_UNKNOWN\",(function(){return me})),n.d(e,\"EU_ASIC_TYPE_S\",(function(){return Re})),n.d(e,\"EU_ASIC_TYPE_E\",(function(){return Te})),n.d(e,\"EndUserASiCType\",(function(){return Ae})),n.d(e,\"EU_ASIC_SIGN_TYPE_UNKNOWN\",(function(){return ve})),n.d(e,\"EU_ASIC_SIGN_TYPE_CADES\",(function(){return Pe})),n.d(e,\"EU_ASIC_SIGN_TYPE_XADES\",(function(){return Ue})),n.d(e,\"EndUserASiCSignType\",(function(){return ge})),n.d(e,\"EU_XADES_TYPE_UNKNOWN\",(function(){return De})),n.d(e,\"EU_XADES_TYPE_DETACHED\",(function(){return be})),n.d(e,\"EU_XADES_TYPE_ENVELOPING\",(function(){return Oe})),n.d(e,\"EU_XADES_TYPE_ENVELOPED\",(function(){return Ge})),n.d(e,\"EndUserXAdESType\",(function(){return Ie})),n.d(e,\"EU_XADES_SIGN_LEVEL_UNKNOWN\",(function(){return we})),n.d(e,\"EU_XADES_SIGN_LEVEL_B_B\",(function(){return Me})),n.d(e,\"EU_XADES_SIGN_LEVEL_B_T\",(function(){return Le})),n.d(e,\"EU_XADES_SIGN_LEVEL_B_LT\",(function(){return Ke})),n.d(e,\"EU_XADES_SIGN_LEVEL_B_LTA\",(function(){return ke})),n.d(e,\"EndUserXAdESSignLevel\",(function(){return Ne})),n.d(e,\"EU_PADES_SIGN_LEVEL_UNKNOWN\",(function(){return Fe})),n.d(e,\"EU_PADES_SIGN_LEVEL_B_B\",(function(){return He})),n.d(e,\"EU_PADES_SIGN_LEVEL_B_T\",(function(){return Ye})),n.d(e,\"EU_PADES_SIGN_LEVEL_B_LT\",(function(){return je})),n.d(e,\"EU_PADES_SIGN_LEVEL_B_LTA\",(function(){return Ve})),n.d(e,\"EndUserPAdESSignLevel\",(function(){return xe})),n.d(e,\"EndUserEventType\",(function(){return Be})),n.d(e,\"EU_SIGN_CONTAINER_TYPE_UNKNOWN\",(function(){return Xe})),n.d(e,\"EU_SIGN_CONTAINER_TYPE_CADES\",(function(){return ze})),n.d(e,\"EU_SIGN_CONTAINER_TYPE_XADES\",(function(){return Je})),n.d(e,\"EU_SIGN_CONTAINER_TYPE_PADES\",(function(){return qe})),n.d(e,\"EU_SIGN_CONTAINER_TYPE_ASIC\",(function(){return Ze})),n.d(e,\"EndUserSignContainerType\",(function(){return We}));var r,i=1,o=2,s=3;!function(t){t[t.JS=i]=\"JS\",t[t.SW=o]=\"SW\",t[t.MS=s]=\"MS\"}(r||(r={}));var a,u=0,c=1,l=2,f=3,_=4;!function(t){t[t.Undifferenced=u]=\"Undifferenced\",t[t.CA=c]=\"CA\",t[t.CAServer=l]=\"CAServer\",t[t.RAAdministrator=f]=\"RAAdministrator\",t[t.EndUser=_]=\"EndUser\"}(a||(a={}));var p,h=0,E=1,y=2,S=3;!function(t){t[t.Undifferenced=h]=\"Undifferenced\",t[t.CMP=E]=\"CMP\",t[t.TSP=y]=\"TSP\",t[t.OCSP=S]=\"OCSP\"}(p||(p={}));var C,d=0,A=1,m=2,R=4;!function(t){t[t.Unknown=d]=\"Unknown\",t[t.DSTU4145=A]=\"DSTU4145\",t[t.RSA=m]=\"RSA\",t[t.ECDSA=R]=\"ECDSA\"}(C||(C={}));var T,g=0,v=1,P=2,U=3,I=4,D=5,b=6,O=7,G=8,N=9;!function(t){t[t.Unknown=g]=\"Unknown\",t[t.GOST34311=v]=\"GOST34311\",t[t.SHA1=P]=\"SHA1\",t[t.SHA224=U]=\"SHA224\",t[t.SHA256=I]=\"SHA256\",t[t.SHA384=D]=\"SHA384\",t[t.SHA512=b]=\"SHA512\",t[t.DSTU7564_256=O]=\"DSTU7564_256\",t[t.DSTU7564_384=G]=\"DSTU7564_384\",t[t.DSTU7564_512=N]=\"DSTU7564_512\"}(T||(T={}));var w,M=0,L=1,K=2,k=16;!function(t){t[t.Unknown=d]=\"Unknown\",t[t.DigitalSignature=L]=\"DigitalSignature\",t[t.NonRepudation=K]=\"NonRepudation\",t[t.KeyAgreement=k]=\"KeyAgreement\"}(w||(w={}));var x,B=1,F=2;!function(t){t[t.Revoke=B]=\"Revoke\",t[t.Hold=F]=\"Hold\"}(x||(x={}));var H,Y=0,j=1,V=2;!function(t){t[t.Unknown=Y]=\"Unknown\",t[t.KeyCompromise=j]=\"KeyCompromise\",t[t.NewIssued=V]=\"NewIssued\"}(H||(H={}));var W,X=0,z=1,J=2,q=4,Z=8;!function(t){t[t.None=X]=\"None\",t[t.DSTUAndECDHWithGOST=z]=\"DSTUAndECDHWithGOST\",t[t.RSAWithSHA=J]=\"RSAWithSHA\",t[t.ECDSAWithSHA=q]=\"ECDSAWithSHA\",t[t.DSTUAndECDHWithDSTU=Z]=\"DSTUAndECDHWithDSTU\"}(W||(W={}));var Q,$=1,tt=2,et=3,nt=4,rt=5;!function(t){t[t.EC_191=$]=\"EC_191\",t[t.EC_257=tt]=\"EC_257\",t[t.EC_307=et]=\"EC_307\",t[t.File=nt]=\"File\",t[t.Cert=rt]=\"Cert\"}(Q||(Q={}));var it,ot=1,st=2,at=3,ut=4,ct=5;!function(t){t[t.EC_257=ot]=\"EC_257\",t[t.EC_431=st]=\"EC_431\",t[t.EC_571=at]=\"EC_571\",t[t.File=nt]=\"File\",t[t.Cert=rt]=\"Cert\"}(it||(it={}));var lt,ft=1,_t=2,pt=3,ht=4,Et=5,yt=6;!function(t){t[t.N_1024=ft]=\"N_1024\",t[t.N_2048=_t]=\"N_2048\",t[t.N_3072=pt]=\"N_3072\",t[t.N_4096=ht]=\"N_4096\",t[t.File=nt]=\"File\",t[t.Cert=rt]=\"Cert\"}(lt||(lt={}));var St,Ct=1,dt=2,At=3,mt=4,Rt=5,Tt=6;!function(t){t[t.EC_192=Ct]=\"EC_192\",t[t.EC_256=dt]=\"EC_256\",t[t.EC_384=At]=\"EC_384\",t[t.EC_521=mt]=\"EC_521\",t[t.File=Rt]=\"File\",t[t.Cert=Tt]=\"Cert\"}(St||(St={}));var gt,vt=1,Pt=2,Ut=3;!function(t){t[t.uaDS=vt]=\"uaDS\",t[t.uaKEP=Pt]=\"uaKEP\",t[t.intRSA=Ut]=\"intRSA\"}(gt||(gt={}));var It,Dt=1,bt=2,Ot=3;!function(t){t[t.Kyivstar=Dt]=\"Kyivstar\",t[t.Vodafone=bt]=\"Vodafone\",t[t.Lifecell=Ot]=\"Lifecell\"}(It||(It={}));var Gt,Nt,wt=4,Mt=5,Lt=6,Kt=7;!function(t){t[t.Kyivstar=Dt]=\"Kyivstar\",t[t.Vodafone=bt]=\"Vodafone\",t[t.Lifecell=Ot]=\"Lifecell\",t[t.IIT=wt]=\"IIT\",t[t.UKey=Mt]=\"UKey\",t[t.PB=Lt]=\"PB\",t[t.DIIA=Kt]=\"DIIA\"}(Gt||(Gt={})),function(t){t[t.Default=0]=\"Default\",t[t.Name=1]=\"Name\",t[t.Phone=2]=\"Phone\",t[t.Email=3]=\"Email\"}(Nt||(Nt={}));var kt,xt=0,Bt=1,Ft=4,Ht=8,Yt=16,jt=128;!function(t){t[t.Unknown=xt]=\"Unknown\",t[t.CAdES_BES=Bt]=\"CAdES_BES\",t[t.CAdES_T=Ft]=\"CAdES_T\",t[t.CAdES_C=Ht]=\"CAdES_C\",t[t.CAdES_X_Long=Yt]=\"CAdES_X_Long\",t[t.CAdES_X_Long_Trusted=jt]=\"CAdES_X_Long_Trusted\"}(kt||(kt={}));var Vt,Wt=0,Xt=1,zt=3;!function(t){t[t.Unknown=Wt]=\"Unknown\",t[t.Detached=Xt]=\"Detached\",t[t.Enveloped=zt]=\"Enveloped\"}(Vt||(Vt={}));var Jt,qt=0,Zt=1,Qt=2,$t=3,te=4;!function(t){t[t.Unknown=qt]=\"Unknown\",t[t.DSTU4145WithGOST34311=Zt]=\"DSTU4145WithGOST34311\",t[t.RSAWithSHA=Qt]=\"RSAWithSHA\",t[t.ECDSAWithSHA=$t]=\"ECDSAWithSHA\",t[t.DSTU4145WithDSTU7564=te]=\"DSTU4145WithDSTU7564\"}(Jt||(Jt={}));var ee,ne=\"SignType\",re=\"UseSLoginPrivateKey\",ie=\"FSCalculateFingerprint\",oe=\"CheckPrivateKey\",se=\"UseSLoginPrivateKey\",ae=\"1.2.804.2.1.1.1.3.9\",ue=3;!function(t){t[t.None=0]=\"None\",t[t.DownloadEUCerts=1]=\"DownloadEUCerts\",t[t.SearchEUCerts=2]=\"SearchEUCerts\"}(ee||(ee={}));var ce,le=0,fe=1,_e=2,pe=3,he=4,Ee=5,ye=6,Se=7,Ce=8,de=9;!function(t){t[t.Unknown=le]=\"Unknown\",t[t.GOST34311=fe]=\"GOST34311\",t[t.SHA160=_e]=\"SHA160\",t[t.SHA224=pe]=\"SHA224\",t[t.SHA256=he]=\"SHA256\",t[t.SHA384=Ee]=\"SHA384\",t[t.SHA512=ye]=\"SHA512\",t[t.DSTU7564_256=Se]=\"DSTU7564_256\",t[t.DSTU7564_384=Ce]=\"DSTU7564_384\",t[t.DSTU7564_512=de]=\"DSTU7564_512\"}(ce||(ce={}));var Ae,me=0,Re=1,Te=2;!function(t){t[t.Unknown=me]=\"Unknown\",t[t.S=Re]=\"S\",t[t.E=Te]=\"E\"}(Ae||(Ae={}));var ge,ve=0,Pe=1,Ue=2;!function(t){t[t.Unknown=ve]=\"Unknown\",t[t.CAdES=Pe]=\"CAdES\",t[t.XAdES=Ue]=\"XAdES\"}(ge||(ge={}));var Ie,De=0,be=1,Oe=2,Ge=3;!function(t){t[t.Unknown=De]=\"Unknown\",t[t.Detached=be]=\"Detached\",t[t.Enveloping=Oe]=\"Enveloping\",t[t.Enveloped=Ge]=\"Enveloped\"}(Ie||(Ie={}));var Ne,we=0,Me=1,Le=4,Ke=16,ke=32;!function(t){t[t.Unknown=we]=\"Unknown\",t[t.B_B=Me]=\"B_B\",t[t.B_T=Le]=\"B_T\",t[t.B_LT=Ke]=\"B_LT\",t[t.B_LTA=ke]=\"B_LTA\"}(Ne||(Ne={}));var xe,Be,Fe=0,He=1,Ye=4,je=16,Ve=32;!function(t){t[t.Unknown=we]=\"Unknown\",t[t.B_B=He]=\"B_B\",t[t.B_T=Ye]=\"B_T\",t[t.B_LT=je]=\"B_LT\",t[t.B_LTA=Ve]=\"B_LTA\"}(xe||(xe={})),function(t){t[t.None=0]=\"None\",t[t.All=1]=\"All\",t[t.ConfirmKSPOperation=2]=\"ConfirmKSPOperation\"}(Be||(Be={}));var We,Xe=0,ze=1,Je=2,qe=3,Ze=4;!function(t){t[t.Unknown=Xe]=\"Unknown\",t[t.CAdES=ze]=\"CAdES\",t[t.XAdES=Je]=\"XAdES\",t[t.PAdES=qe]=\"PAdES\",t[t.ASiC=Ze]=\"ASiC\"}(We||(We={}))},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"EU_ERROR_NONE\",(function(){return r})),n.d(e,\"EU_ERROR_UNKNOWN\",(function(){return i})),n.d(e,\"EU_ERROR_NOT_SUPPORTED\",(function(){return o})),n.d(e,\"EU_ERROR_NOT_INITIALIZED\",(function(){return s})),n.d(e,\"EU_ERROR_BAD_PARAMETER\",(function(){return a})),n.d(e,\"EU_ERROR_LIBRARY_LOAD\",(function(){return u})),n.d(e,\"EU_ERROR_READ_SETTINGS\",(function(){return c})),n.d(e,\"EU_ERROR_TRANSMIT_REQUEST\",(function(){return l})),n.d(e,\"EU_ERROR_MEMORY_ALLOCATION\",(function(){return f})),n.d(e,\"EU_WARNING_END_OF_ENUM\",(function(){return _})),n.d(e,\"EU_ERROR_PROXY_NOT_AUTHORIZED\",(function(){return p})),n.d(e,\"EU_ERROR_NO_GUI_DIALOGS\",(function(){return h})),n.d(e,\"EU_ERROR_DOWNLOAD_FILE\",(function(){return E})),n.d(e,\"EU_ERROR_WRITE_SETTINGS\",(function(){return y})),n.d(e,\"EU_ERROR_CANCELED_BY_GUI\",(function(){return S})),n.d(e,\"EU_ERROR_OFFLINE_MODE\",(function(){return C})),n.d(e,\"EU_ERROR_KEY_MEDIAS_FAILED\",(function(){return d})),n.d(e,\"EU_ERROR_KEY_MEDIAS_ACCESS_FAILED\",(function(){return A})),n.d(e,\"EU_ERROR_KEY_MEDIAS_READ_FAILED\",(function(){return m})),n.d(e,\"EU_ERROR_KEY_MEDIAS_WRITE_FAILED\",(function(){return R})),n.d(e,\"EU_WARNING_KEY_MEDIAS_READ_ONLY\",(function(){return T})),n.d(e,\"EU_ERROR_KEY_MEDIAS_DELETE\",(function(){return g})),n.d(e,\"EU_ERROR_KEY_MEDIAS_CLEAR\",(function(){return v})),n.d(e,\"EU_ERROR_BAD_PRIVATE_KEY\",(function(){return P})),n.d(e,\"EU_ERROR_PKI_FORMATS_FAILED\",(function(){return U})),n.d(e,\"EU_ERROR_CSP_FAILED\",(function(){return I})),n.d(e,\"EU_ERROR_BAD_SIGNATURE\",(function(){return D})),n.d(e,\"EU_ERROR_AUTH_FAILED\",(function(){return b})),n.d(e,\"EU_ERROR_NOT_RECEIVER\",(function(){return O})),n.d(e,\"EU_ERROR_STORAGE_FAILED\",(function(){return G})),n.d(e,\"EU_ERROR_BAD_CERT\",(function(){return N})),n.d(e,\"EU_ERROR_CERT_NOT_FOUND\",(function(){return w})),n.d(e,\"EU_ERROR_INVALID_CERT_TIME\",(function(){return M})),n.d(e,\"EU_ERROR_CERT_IN_CRL\",(function(){return L})),n.d(e,\"EU_ERROR_BAD_CRL\",(function(){return K})),n.d(e,\"EU_ERROR_NO_VALID_CRLS\",(function(){return k})),n.d(e,\"EU_ERROR_GET_TIME_STAMP\",(function(){return x})),n.d(e,\"EU_ERROR_BAD_TSP_RESPONSE\",(function(){return B})),n.d(e,\"EU_ERROR_TSP_SERVER_CERT_NOT_FOUND\",(function(){return F})),n.d(e,\"EU_ERROR_TSP_SERVER_CERT_INVALID\",(function(){return H})),n.d(e,\"EU_ERROR_GET_OCSP_STATUS\",(function(){return Y})),n.d(e,\"EU_ERROR_BAD_OCSP_RESPONSE\",(function(){return j})),n.d(e,\"EU_ERROR_CERT_BAD_BY_OCSP\",(function(){return V})),n.d(e,\"EU_ERROR_OCSP_SERVER_CERT_NOT_FOUND\",(function(){return W})),n.d(e,\"EU_ERROR_OCSP_SERVER_CERT_INVALID\",(function(){return X})),n.d(e,\"EU_ERROR_LDAP_ERROR\",(function(){return z})),n.d(e,\"EndUserError\",(function(){return J}));var r=0,i=65535,o=65534,s=1,a=2,u=3,c=4,l=5,f=6,_=7,p=8,h=9,E=10,y=11,S=12,C=13,d=17,A=18,m=19,R=20,T=21,g=22,v=23,P=24,U=33,I=34,D=35,b=36,O=37,G=49,N=50,w=51,M=52,L=53,K=54,k=55,x=65,B=66,F=67,H=68,Y=81,j=82,V=83,W=84,X=85,z=97,J=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return s}));var r=n(8),i=n(10),o=n(4),s=function(){function t(){}return t.MapFromKeyMedia=function(t,e){return e.SetTypeIndex(t.typeIndex),e.SetDevIndex(t.devIndex),e.SetPassword(t.user?\"##\"+t.user+\"##\"+t.password:t.password),e},t.MapToProxySettings=function(t,e){return e.useProxy=t.GetUseProxy(),e.address=t.GetAddress(),e.port=t.GetPort(),e.anonymous=t.GetAnonymous(),e.user=t.GetUser(),e.password=t.GetPassword(),e.savePassword=t.GetSavePassword(),e},t.MapFromProxySettings=function(t,e){return e.SetUseProxy(t.useProxy),e.SetAddress(t.address),e.SetPort(t.port),e.SetAnonymous(t.anonymous),e.SetUser(t.user),e.SetPassword(t.password),e.SetSavePassword(t.savePassword),e},t.MapEndUserOwnerInfo=function(t,e){return e.isFilled=t.IsFilled(),e.issuer=t.GetIssuer(),e.issuerCN=t.GetIssuerCN(),e.serial=t.GetSerial(),e.subject=t.GetSubject(),e.subjCN=t.GetSubjCN(),e.subjOrg=t.GetSubjOrg(),e.subjOrgUnit=t.GetSubjOrgUnit(),e.subjTitle=t.GetSubjTitle(),e.subjState=t.GetSubjState(),e.subjLocality=t.GetSubjLocality(),e.subjFullName=t.GetSubjFullName(),e.subjAddress=t.GetSubjAddress(),e.subjPhone=t.GetSubjPhone(),e.subjEMail=t.GetSubjEMail(),e.subjDNS=t.GetSubjDNS(),e.subjEDRPOUCode=t.GetSubjEDRPOUCode(),e.subjDRFOCode=t.GetSubjDRFOCode(),e},t.MapToEndUserCertificateInfoEx=function(t,e){return e.isFilled=t.IsFilled(),e.version=t.GetVersion(),e.issuer=t.GetIssuer(),e.issuerCN=t.GetIssuerCN(),e.serial=t.GetSerial(),e.subject=t.GetSubject(),e.subjCN=t.GetSubjCN(),e.subjOrg=t.GetSubjOrg(),e.subjOrgUnit=t.GetSubjOrgUnit(),e.subjTitle=t.GetSubjTitle(),e.subjState=t.GetSubjState(),e.subjLocality=t.GetSubjLocality(),e.subjFullName=t.GetSubjFullName(),e.subjAddress=t.GetSubjAddress(),e.subjPhone=t.GetSubjPhone(),e.subjEMail=t.GetSubjEMail(),e.subjDNS=t.GetSubjDNS(),e.subjEDRPOUCode=t.GetSubjEDRPOUCode(),e.subjDRFOCode=t.GetSubjDRFOCode(),e.subjNBUCode=t.GetSubjNBUCode(),e.subjSPFMCode=t.GetSubjSPFMCode(),e.subjOCode=t.GetSubjOCode(),e.subjOUCode=t.GetSubjOUCode(),e.subjUserCode=t.GetSubjUserCode(),e.certBeginTime=t.GetCertBeginTime(),e.certEndTime=t.GetCertEndTime(),e.isPrivKeyTimesAvail=t.IsPrivKeyTimesAvail(),e.privKeyBeginTime=t.GetPrivKeyBeginTime(),e.privKeyEndTime=t.GetPrivKeyEndTime(),e.publicKeyBits=t.GetPublicKeyBits(),e.publicKey=t.GetPublicKey(),e.publicKeyID=t.GetPublicKeyID(),e.issuerPublicKeyID=t.GetIssuerPublicKeyID(),e.keyUsage=t.GetKeyUsage(),e.extKeyUsages=t.GetExtKeyUsages(),e.policies=t.GetPolicies(),e.crlDistribPoint1=t.GetCRLDistribPoint1(),e.crlDistribPoint2=t.GetCRLDistribPoint2(),e.isPowerCert=t.IsPowerCert(),e.isSubjTypeAvail=t.IsSubjTypeAvail(),e.isSubjCA=t.IsSubjCA(),e.chainLength=t.GetChainLength(),e.UPN=t.GetUPN(),e.publicKeyType=t.GetPublicKeyType(),e.keyUsageType=t.GetKeyUsageType(),e.RSAModul=t.GetRSAModul(),e.RSAExponent=t.GetRSAExponent(),e.OCSPAccessInfo=t.GetOCSPAccessInfo(),e.issuerAccessInfo=t.GetIssuerAccessInfo(),e.TSPAccessInfo=t.GetTSPAccessInfo(),e.isLimitValueAvailable=t.IsLimitValueAvail(),e.limitValue=t.GetLimitValue(),e.limitValueCurrency=t.GetLimitValueCurrency(),e.subjType=t.GetSubjType(),e.subjSubType=t.GetSubjSubType(),e.subjUNZR=t.GetSubjUNZR(),e.subjCountry=t.GetSubjCountry(),e.fingerprint=t.GetFingerprint(),e.isQSCD=t.IsQSCD(),e.subjUserID=t.GetSubjUserID(),e.certHashType=t.GetCertHashType(),e},t.MapToEndUserParams=function(t,e){return e.SN=t.GetSN(),e.commonName=t.GetCommonName(),e.locality=t.GetLocality(),e.state=t.GetState(),e.organization=t.GetOrganization(),e.orgUnit=t.GetOrgUnit(),e.title=t.GetTitle(),e.street=t.GetStreet(),e.phone=t.GetPhone(),e.surname=t.GetSurname(),e.givenname=t.GetGivenname(),e.EMail=t.GetEMail(),e.DNS=t.GetDNS(),e.EDRPOUCode=t.GetEDRPOUCode(),e.DRFOCode=t.GetDRFOCode(),e.NBUCode=t.GetNBUCode(),e.SPFMCode=t.GetSPFMCode(),e.information=t.GetInformation(),e.passPhrase=t.GetPassPhrase(),e.isPublishCertificate=t.GetIsPublishCertificate(),e.RAAdminSN=t.GetRAAdminSN(),e},t.MapToEndUserTimeInfo=function(t,e){return e.version=t.GetVersion(),e.isTimeAvail=t.IsTimeAvail(),e.isTimeStamp=t.IsTimeStamp(),e.time=t.GetTime(),e.isSignTimeStampAvail=t.IsSignTimeStampAvail(),e.signTimeStamp=t.GetSignTimeStamp(),e},t.MapToEndUserSignInfo=function(e,n){return n.ownerInfo=t.MapEndUserOwnerInfo(e.GetOwnerInfo(),new i.a),n.timeInfo=t.MapToEndUserTimeInfo(e.GetTimeInfo(),new o.EndUserTimeInfo),n.data=e.GetData(),n.signLevel=0,n},t.MapToEndUserSenderInfo=function(e,n){return n.ownerInfo=t.MapEndUserOwnerInfo(e.GetOwnerInfo(),new i.a),n.timeInfo=t.MapToEndUserTimeInfo(e.GetTimeInfo(),new o.EndUserTimeInfo),n.data=e.GetData(),n},t.MapToEndUserCertificate=function(e,n){return n.data=e.GetData(),n.infoEx=t.MapToEndUserCertificateInfoEx(e.GetInfoEx(),new r.a),n},t.MapFromEndUserInfo=function(t,e){return e.SetCommonName(t.commonName),e.SetLocality(t.locality),e.SetState(t.state),e.SetOrganization(t.organization),e.SetOrgUnit(t.orgUnit),e.SetTitle(t.title),e.SetStreet(t.street),e.SetPhone(t.phone),e.SetSurname(t.surname),e.SetGivenname(t.givenname),e.SetEMail(t.EMail),e.SetDNS(t.DNS),e.SetEDRPOUCode(t.EDRPOUCode),e.SetDRFOCode(t.DRFOCode),e.SetNBUCode(t.NBUCode),e.SetSPFMCode(t.SPFMCode),e.SetOCode(t.OCode),e.SetOUCode(t.OUCode),e.SetUserCode(t.userCode),e.SetUPN(t.UPN),e.SetUNZR(t.UNZR),e.SetCountry(t.country),e},t.MapToEndUserRequestInfo=function(t,e){return e.isFilled=!0,e.data=t.GetRequest(),e.type=t.GetRequestType(),e.fileName=t.GetDefaultRequestFileName(),e.isSimple=t.IsSimple(),e.subject=t.GetSubject(),e.subjCN=t.GetSubjCN(),e.subjOrg=t.GetSubjOrg(),e.subjOrgUnit=t.GetSubjOrgUnit(),e.subjTitle=t.GetSubjTitle(),e.subjState=t.GetSubjState(),e.subjLocality=t.GetSubjLocality(),e.subjFullName=t.GetSubjFullName(),e.subjAddress=t.GetSubjAddress(),e.subjPhone=t.GetSubjPhone(),e.subjEMail=t.GetSubjEMail(),e.subjDNS=t.GetSubjDNS(),e.subjEDRPOUCode=t.GetSubjEDRPOUCode(),e.subjDRFOCode=t.GetSubjDRFOCode(),e.subjNBUCode=t.GetSubjNBUCode(),e.subjSPFMCode=t.GetSubjSPFMCode(),e.subjOCode=t.GetSubjOCode(),e.subjOUCode=t.GetSubjOUCode(),e.subjUserCode=t.GetSubjUserCode(),e.certBeginTime=t.GetCertBeginTime(),e.certEndTime=t.GetCertEndTime(),e.isPrivKeyTimesAvail=t.IsPrivKeyTimesAvail(),e.privKeyBeginTime=t.GetPrivKeyBeginTime(),e.privKeyEndTime=t.GetPrivKeyEndTime(),e.publicKeyType=t.GetPublicKeyType(),e.publicKeyBits=t.GetPublicKeyBits(),e.RSAModul=t.GetRSAModul(),e.RSAExponent=t.GetRSAExponent(),e.publicKey=t.GetPublicKey(),e.publicKeyID=t.GetPublicKeyID(),e.extKeyUsages=t.GetExtKeyUsages(),e.crlDistribPoint1=t.GetCRLDistribPoint1(),e.crlDistribPoint2=t.GetCRLDistribPoint2(),e.isSubjTypeAvail=t.IsSubjTypeAvail(),e.subjType=t.GetSubjType(),e.subjSubType=t.GetSubjSubType(),e.isSelfSigned=t.IsSelfSigned(),e.signIssuer=t.GetSignIssuer(),e.signSerial=t.GetSignSerial(),e.subjUNZR=t.GetSubjUNZR(),e.subjCountry=t.GetSubjCountry(),e.isQSCD=t.IsQSCD(),e},t.MapToEndUserReference=function(t,e){return e.name=t.GetName(),e.val=t.GetData(),e},t.MapFromEndUserReference=function(t,e){return e.SetName(t.name),e.SetData(t.val),e},t.MapToEndUserSession=function(t,e){return e.handle=t.GetHandle(),e.data=t.GetData(),e},t.MapFromEndUserSession=function(t,e){return e.SetHandle(t.handle),e.SetData(t.data),e},t}()},function(t,e,n){var r,i,o;i=[],void 0===(o=\"function\"==typeof(r=function(){var t=\"https://chrome.google.com/webstore/detail/%D1%96%D1%96%D1%82-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87-%D1%86%D1%81%D0%BA-1-%D0%B1%D1%96%D0%B1%D0%BB/jffafkigfgmjafhpkoibhfefeaebmccg?utm_source=chrome-app-launcher-info-dialog\",e=function(){this.vendor=\"JSC IIT\",this.classVersion=1,this.className=\"EndUserUTF8Coder\"};e.prototype.encode=function(t){for(var e=[],n=0,r=0;r<t.length;r++){var i=t.charCodeAt(r);i<128?e[n++]=i:i<2048?(e[n++]=i>>6|192,e[n++]=63&i|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=63&i|128)}return e},e.prototype.decode=function(t){for(var e,n,r,i=[],o=0,s=0;o<t.length;)(e=t[o++])<128?i[s++]=String.fromCharCode(e):e>191&&e<224?(n=t[o++],i[s++]=String.fromCharCode((31&e)<<6|63&n)):(n=t[o++],r=t[o++],i[s++]=String.fromCharCode((15&e)<<12|(63&n)<<6|63&r));return i.join(\"\")};var n=function(){this.vendor=\"JSC IIT\",this.classVersion=1,this.className=\"EndUserUTF16LECoder\"};n.prototype.encode=function(t){for(var e,n=[],r=0;r<t.length;r++)e=t.charCodeAt(r),n.push(255&e),n.push((65280&e)>>8);return n},n.prototype.decode=function(t){var e,n=0,r=\"\";if(t.length%2!=0)return null;for((e=t.length)>0&&0==t[e-2]&&0==t[e-1]&&(e-=2);n<e;)r+=String.fromCharCode(t[n]|t[n+1]<<8),n+=2;return r};var r=function(){this.vendor=\"JSC IIT\",this.classVersion=1,this.className=\"EndUserCP1251Coder\",this.m_cp1251_table={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,1027:129,8225:135,1046:198,8222:132,1047:199,1168:165,1048:200,1113:154,1049:201,1045:197,1050:202,1028:170,160:160,1040:192,1051:203,164:164,166:166,167:167,169:169,171:171,172:172,173:173,174:174,1053:205,176:176,177:177,1114:156,181:181,182:182,183:183,8221:148,187:187,1029:189,1056:208,1057:209,1058:210,8364:136,1112:188,1115:158,1059:211,1060:212,1030:178,1061:213,1062:214,1063:215,1116:157,1064:216,1065:217,1031:175,1066:218,1067:219,1068:220,1069:221,1070:222,1032:163,8226:149,1071:223,1072:224,8482:153,1073:225,8240:137,1118:162,1074:226,1110:179,8230:133,1075:227,1033:138,1076:228,1077:229,8211:150,1078:230,1119:159,1079:231,1042:194,1080:232,1034:140,1025:168,1081:233,1082:234,8212:151,1083:235,1169:180,1084:236,1052:204,1085:237,1035:142,1086:238,1087:239,1088:240,1089:241,1090:242,1036:141,1041:193,1091:243,1092:244,8224:134,1093:245,8470:185,1094:246,1054:206,1095:247,1096:248,8249:139,1097:249,1098:250,1044:196,1099:251,1111:191,1055:207,1100:252,1038:161,8220:147,1101:253,8250:155,1102:254,8216:145,1103:255,1043:195,1105:184,1039:143,1026:128,1106:144,8218:130,1107:131,8217:146,1108:186,1109:190},this.m_ut8_table=unescape(\"%u0402%u0403%u201A%u0453%u201E%u2026%u2020%u2021%u20AC%u2030%u0409%u2039%u040A%u040C%u040B%u040F%u0452%u2018%u2019%u201C%u201D%u2022%u2013%u2014%u0000%u2122%u0459%u203A%u045A%u045C%u045B%u045F%u00A0%u040E%u045E%u0408%u00A4%u0490%u00A6%u00A7%u0401%u00A9%u0404%u00AB%u00AC%u00AD%u00AE%u0407%u00B0%u00B1%u0406%u0456%u0491%u00B5%u00B6%u00B7%u0451%u2116%u0454%u00BB%u0458%u0405%u0455%u0457\")};r.prototype.encode=function(t){for(var e=[],n=0;n<t.length;n++){var r=t.charCodeAt(n);if(!(r in this.m_cp1251_table))throw\"Character \"+t.charAt(n)+\" isn't supported by win1251!\";e.push(this.m_cp1251_table[r])}return e},r.prototype.decode=function(t){for(var e,n=\"\",r=0;r<t.length;r++)n+=(e=t[r])>=192&&e<=255?String.fromCharCode(e-192+1040):e>=128&&e<=191?this.m_ut8_table.charAt(e-128):String.fromCharCode(e);return n};var i={GetCoder:function(t){switch(t=t.toUpperCase()){case\"UTF-8\":return new e;case\"UTF-16LE\":return new n;case\"WINDOWS-1251\":return new r;default:return null}},ArrayToString:function(t,e){var n,r;if(void 0===t&&(t=\"UTF-8\"),null==(n=i.GetCoder(t)))throw new it(r=rt.ERROR_BAD_PARAMETER,rt.getErrorDescriptionEx(r,0));return n.decode(e)}},o=function(){this.vendor=\"JSC IIT\",this.classVersion=1,this.className=\"EndUserDateCoder\",this.dateDelimeter=\".\",this.timeDelimeter=\":\",this.dateTimeDelimeter=\" \",this.format=\"dd.MM.yyyy HH:mm:ss\"};o.prototype.encode=function(t){var e=t.getDate(),n=t.getMonth()+1,r=t.getFullYear(),i=t.getHours(),o=t.getMinutes(),s=t.getSeconds();return e+this.dateDelimeter+n+this.dateDelimeter+r+this.dateTimeDelimeter+i+this.timeDelimeter+o+this.timeDelimeter+s},o.prototype.decode=function(t){try{var e=t.split(this.dateTimeDelimeter),n=e[0].split(this.dateDelimeter),r=e[1].split(this.timeDelimeter),i=parseInt(n[0]),o=parseInt(n[1])-1,s=parseInt(n[2]);if(i<0||i>31||o<0||o>12||s<0)return null;var a=parseInt(r[0]),u=parseInt(r[1]),c=parseInt(r[2]);return a<0||a>23||u<0||u>59||c<0||c>59?null:new Date(s,o,i,a,u,c,0)}catch(t){return null}};var s=function(){this.vendor=\"JSC IIT\",this.classVersion=1,this.className=\"EndUserBase64Coder\",this.m_map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",this.m_codes=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47]};s.prototype._getTextDecoder=function(){try{if(\"undefined\"==typeof TextDecoder)return null;var t=new TextDecoder(\"utf-8\");return\"utf-8\"!=t.encoding?null:t}catch(t){return null}},s.prototype._encodePart=function(t,e,n){for(var r,i,o=[],s=e;s<n;s+=3)r=t[s]<<16|t[s+1]<<8|t[s+2],i=this.m_map[r>>18&63]+this.m_map[r>>12&63]+this.m_map[r>>6&63]+this.m_map[63&r],o.push(i);return o.join(\"\")},s.prototype.encode=function(t){var e,n,r,i,o,s,a=\"\";if(0==(o=(e=\"undefined\"==typeof Uint8Array?void 0===h?t.slice(0):new h(t):new Uint8Array(t)).length))return\"\";var u=this._getTextDecoder();if(null!=u){for(s=new Uint8Array(4*parseInt((o+2)/3)),n=0,r=0;n<o-o%3;n+=3,r+=4)i=e[n]<<16|e[n+1]<<8|e[n+2],s[r]=this.m_codes[i>>18&63],s[r+1]=this.m_codes[i>>12&63],s[r+2]=this.m_codes[i>>6&63],s[r+3]=this.m_codes[63&i];switch(o%3){case 1:i=e[n]<<16,s[r]=this.m_codes[i>>18&63],s[r+1]=this.m_codes[i>>12&63],s[r+2]=61,s[r+3]=61;break;case 2:i=e[n]<<16|e[n+1]<<8,s[r]=this.m_codes[i>>18&63],s[r+1]=this.m_codes[i>>12&63],s[r+2]=this.m_codes[i>>6&63],s[r+3]=61}a=u.decode(s)}else{var c,l=null,f=o-o%3,_=parseInt(f/15360);for(s=[],n=0;n<_;n++)l=this._encodePart(e,15360*n,15360*n+15360),s.push(l);switch(15360*_<f&&(l=this._encodePart(e,15360*n,f),s.push(l)),o%3){case 1:i=e[o-1]<<16,c=this.m_map[i>>18&63],c+=this.m_map[i>>12&63],c+=\"=\",c+=\"=\",s.push(c);break;case 2:i=e[o-2]<<16|e[o-1]<<8,c=this.m_map[i>>18&63],c+=this.m_map[i>>12&63],c+=this.m_map[i>>6&63],c+=\"=\",s.push(c)}a=s.join(\"\")}return a},s.prototype.decode=function(t){var e,n,r,i,o,s,a,u,c,l,f;if(\"\"==t||(3&t.length)>0)return\"undefined\"==typeof Uint8Array?void 0===h?[]:new h(0):new Uint8Array(0);for(n=(s=t.length)/4*3-(a=\"=\"==t[s-1]?\"=\"==t[s-2]?2:1:0),e=\"undefined\"==typeof Uint8Array?void 0===h?[]:new h(n):new Uint8Array(n),r=0,i=0,o=0;r<Math.floor((s-a)/4);r++)u=this.m_map.indexOf(t[i++]),c=this.m_map.indexOf(t[i++]),l=this.m_map.indexOf(t[i++]),f=this.m_map.indexOf(t[i++]),e[o++]=u<<2|c>>4,e[o++]=(15&c)<<4|l>>2,e[o++]=(3&l)<<6|63&f;switch(a){case 2:u=this.m_map.indexOf(t[i]),c=this.m_map.indexOf(t[i+1]),e[o++]=u<<2|c>>4;break;case 1:u=this.m_map.indexOf(t[i]),c=this.m_map.indexOf(t[i+1]),l=this.m_map.indexOf(t[i+2]),e[o++]=u<<2|c>>4,e[o++]=(15&c)<<4|l>>2}return e};var a=function(t){return new function(){var e=this,n=function(){var t;e.deferred.length&&((t=[].slice.call(arguments)).unshift(n),e.deferred[0].apply(e,t),e.deferred.shift())};this.deferred=[],this.eu_wait=function(t){return this.deferred.push(t),e},t(n)}},u=function(){var t=this._getBrowserInfo();this.m_name=t.name,this.m_version=t.version,this.m_arch=this._getArch(),this.m_os_name=this._getOSName()};u.BROWSER_NAME_IE=\"IE\",u.BROWSER_NAME_OPERA=\"Opera\",u.BROWSER_NAME_CHROME=\"Chrome\",u.BROWSER_NAME_FIREFOX=\"Firefox\",u.BROWSER_NAME_SAFARI=\"Safari\",u.BROWSER_NAME_EDGE=\"Edge\",u.BROWSER_NAME_EU_SIGN_AGENT=\"EUSignAgent\",u.BROWSER_NAME_UNKNOWN=\"Unknown\",u.OS_NAME_WINDOWS=\"Windows\",u.OS_NAME_LINUX=\"Linux\",u.OS_NAME_UNIX=\"Unix\",u.OS_NAME_MAC=\"Mac OS X\",u.OS_NAME_ANDROID=\"Android\",u.OS_NAME_IOS=\"iOS\",u.OS_NAME_UNKNOWN=\"Unknown\",u.BROWSER_ARCH_NAME_X86=\"x86\",u.BROWSER_ARCH_NAME_X64=\"x64\",u.BROWSER_ARCH_NAME_ARM=\"arm\",u.BROWSER_ARCH_NAME_UNKNOWN=\"Unknown\",u.prototype._getBrowserInfo=function(){var t,e={name:u.BROWSER_NAME_UNKNOWN,version:\"\"},n=navigator.userAgent,r=n.match(/(opera|chrome|safari|firefox|msie|trident|eusignagent(?=\\/))\\/?\\s*(\\d+)/i)||[];return/msie/i.test(r[1])||/trident/i.test(r[1])?(e.name=u.BROWSER_NAME_IE,/msie/i.test(r[1])?e.version=parseInt(r[2]):(t=/\\brv[ :]+(\\d+)/g.exec(n)||[],e.version=parseInt(t[1])),e):\"Chrome\"===r[1]&&null!=(t=n.match(/\\b(OPR|Edge)\\/(\\d+)/))?(e.name=t[1].replace(\"OPR\",u.BROWSER_NAME_OPERA),e.version=parseInt(t[2]),e):(r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,\"-?\"],null!=(t=n.match(/version\\/(\\d+)/i))&&r.splice(1,1,t[1]),e.name=r[0],e.version=parseInt(r[1]),e)},u.prototype._getOSName=function(){var t=navigator.platform||\"\",e=(navigator.userAgent||\"\").toLowerCase(),n=navigator.userAgentData||[];return-1!=t.indexOf(\"Win\")?u.OS_NAME_WINDOWS:-1!=t.indexOf(\"iPad\")||-1!=t.indexOf(\"iPhone\")||-1!=t.indexOf(\"iPod\")||-1!=t.indexOf(\"Android\")||e.includes(\"Mac\")&&\"ontouchend\"in document?u.OS_NAME_IOS:-1!=t.indexOf(\"Mac\")?u.OS_NAME_MAC:-1!=t.indexOf(\"Android\")||-1!=e.indexOf(\"android\")||\"Android\"==n.platform||-1!=t.indexOf(\"Linux\")&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1?u.OS_NAME_ANDROID:-1!=t.indexOf(\"Linux\")?u.OS_NAME_LINUX:-1!=t.indexOf(\"FreeBSD\")?u.OS_NAME_UNIX:u.OS_NAME_UNKNOWN},u.prototype._getArch=function(){var t,e=navigator.platform||\"\";switch(this._getOSName()){case u.OS_NAME_WINDOWS:t=-1!=e.indexOf(\"Win32\")?u.BROWSER_ARCH_NAME_X86:u.BROWSER_ARCH_NAME_X64;break;case u.OS_NAME_MAC:t=-1!=e.indexOf(\"MacIntel\")?u.BROWSER_ARCH_NAME_X86:u.BROWSER_ARCH_NAME_X64;break;case u.OS_NAME_IOS:t=u.BROWSER_ARCH_NAME_ARM;break;case u.OS_NAME_UNIX:case u.OS_NAME_LINUX:case u.OS_NAME_ANDROID:t=-1!=e.indexOf(\"armv\")?u.BROWSER_ARCH_NAME_ARM:-1!=e.indexOf(\"x86_64\")?u.BROWSER_ARCH_NAME_X64:u.BROWSER_ARCH_NAME_X86;break;default:t=u.BROWSER_ARCH_NAME_UNKNOWN}return t},u.prototype.GetName=function(){return this.m_name},u.prototype.GetVersion=function(){return this.m_version},u.prototype.GetArch=function(){return this.m_arch},u.prototype.GetOSName=function(){return this.m_os_name};var c=[];c[0]=\"Executed successfully\",c[-1]=\"Unknown error\",c[-32300]=\"Transport error\",c[-32400]=\"System error\",c[-32500]=\"Application error\",c[-32510]=\"Application error. Invalid session\",c[-32600]=\"Server error. Invalid rpc. Not conforming to spec\",c[-32601]=\"Server error. Requested method not found\",c[-32602]=\"Server error. Invalid method parameters\",c[-32603]=\"Server error. Internal rpc error\",c[-32700]=\"Parse error. Not well formed\",c[-32701]=\"Parse error. Unsupported encoding\",c[-32702]=\"Parse error. Invalid character for encoding\";var l=function(t,e,n,r){switch(this.Vendor=\"JSC IIT\",this.ClassVersion=\"1.0.2\",this.ClassName=\"JSONRPCClient\",this.m_type=t,this.m_log=!1,this._logFunction(\"Initialize\",arguments,[\"type\",\"address\",\"port\",\"useHttps\"]),t){case 2:this.m_uri=e,this.m_callbacks=[],this._registerOnExtensionRecieveEventHandler();break;case 3:case 4:this.m_uri=e,this.m_callbacks=[];break;case 1:default:this.m_uri=\"\",r&&e.indexOf(\"https://\")?this.m_uri+=\"https://\":0!=e.indexOf(\"http://\")&&(this.m_uri+=\"http://\"),this.m_uri+=e+\":\"+n}this.m_requests=0,this.m_session_id=this._loadSessionId()};l.prototype._logFunction=function(t,e,n){if(this.m_log){for(var r=\"(\",i=0;i<e.length;i++)r+=n[i]+\": \"+e[i].toString(),i!=e.length-1&&(r+=\", \");r+=\")\",this._log(t,r)}},l.prototype._log=function(t,e){this.m_log&&console.log(t+\": \"+e)},l.prototype._loadSessionId=function(){try{var t=sessionStorage.getItem(this.ClassName+\"session_id\");return void 0===t||null==t||\"\"==t?null:t}catch(t){return null}},l.prototype._saveSessionId=function(t){try{sessionStorage.setItem(this.ClassName+\"session_id\",t)}catch(t){}},l.prototype._removeSessionId=function(){try{sessionStorage.removeItem(this.ClassName+\"session_id\")}catch(t){}},l.prototype.createXMLHttpRequest=function(){return\"undefined\"==typeof XMLHttpRequest&&(XMLHttpRequest=function(){try{return new ActiveXObject(\"Msxml2.XMLHTTP.6.0\")}catch(t){}try{return new ActiveXObject(\"Msxml2.XMLHTTP.3.0\")}catch(t){}try{return new ActiveXObject(\"Msxml2.XMLHTTP\")}catch(t){}try{return new ActiveXObject(\"Microsoft.XMLHTTP\")}catch(t){}throw c[-32300]}),new XMLHttpRequest},l.prototype.makeRequest=function(t,e,n){var r=null;try{(r={}).jsonrpc=\"2.0\",r.id=n,r.method=t,r.params=e,r.session_id=this.m_session_id,r=JSON.stringify(r)}catch(t){}return r},l.prototype.verifyResponse=function(t,e){try{if(\"2.0\"!=e.jsonrpc)return!1;var n=e.error;if(void 0===n){if(e.id!=t||void 0===e.result)return!1}else{if(void 0===n.code||void 0===n.message)return!1;if(0!=n.code)return!1}if(void 0!==e.session_id)if(null!=this.m_session_id&&null!=e.session_id){if(this.m_session_id!=e.session_id)return!1}else this.m_session_id=e.session_id,this._saveSessionId(this.m_session_id);return!0}catch(t){return!1}},l.prototype.handleResponse=function(t,e){try{return e=JSON.parse(e),this.verifyResponse(t,e)?e:(this.m_session_id=null,this._removeSessionId(),null)}catch(t){return null}},l.prototype._sendHttp=function(t,e,n){var r,i,o=this;try{if((r=this.createXMLHttpRequest()).open(\"POST\",this.m_uri,null!=n),r.setRequestHeader(\"Content-Type\",\"application/json-rpc\"),null!=n&&(r.onload=function(){200==r.status?(i=o.handleResponse(e,r.response),n(null!=i?i.result:null)):n(null)},r.onerror=function(){n(null)}),r.send(t),null!=n)return;return 200!=r.status||null==(i=this.handleResponse(e,r.response))?null:i.result}catch(t){if(null==n)return null;n(null)}},l.prototype._registerOnExtensionRecieveEventHandler=function(){var t=this;window.addEventListener(\"message\",(function(e){if(e.data.sender==t.m_uri)try{var n=e.data.callback_id,r=t.m_callbacks[n-1];delete t.m_callbacks[n-1],t._logFunction(\"_registerOnExtensionRecieveEventHandler\",[r.request_id,e.data.data],[\"request_id\",\"data\"]);var i=t.handleResponse(r.request_id,e.data.data);if(null==i)return void r.callback(null);r.callback(i.result)}catch(t){}}),!1)},l.prototype._sendExtension=function(t,e,n){var r=this;if(r._logFunction(\"_sendExtension\",[arguments[0],arguments[1]],[\"request\",\"request_id\"]),!n)throw\"Synchronous calls for web extensions not supported\";if(1==document.getElementsByClassName(r.m_uri).length)try{var i={request_id:e,callback:n},o=r.m_callbacks.push(i),s={sender:r.ClassName,request:t,callback_id:o};window.postMessage(s,\"*\")}catch(t){n(null)}else n(null)},l.prototype._getPluginObject=function(){try{for(var t=document.getElementsByTagName(\"object\"),e=0;e<t.length;e++){var n=t[e].classid;if(!n&&t[e].attributes&&t[e].attributes.classid&&(n=t[e].attributes.classid.value),n===this.m_uri)return t[e]}return null}catch(t){return null}},l.prototype._sendPlugin=function(t,e,n){var r,o=this;o._logFunction(\"_sendPlugin\",[arguments[0],arguments[1]],[\"request\",\"request_id\"]);var a=o._getPluginObject();if(null==a)return null!=n&&n(null),null;var u=function(t){try{for(var e=new s,n=new h(0);;){var r=a.ProcessData(t),o=r.slice(0,5),u=r.slice(5,r.length-1);if(null!=u||\"\"!=u){var c=e.decode(u),l=new h(n.length+c.length);l.set(n),l.set(c,n.length),n=l}switch(o){case'\"part':t='\"next\"';continue;case'\"last':return i.ArrayToString(\"UTF-8\",n);default:return null}}}catch(t){return null}};try{return null!=n?void setTimeout((function(){r=u(t),o._logFunction(\"_sendPlugin\",[e,r],[\"request_id\",\"response\"]),null!=(r=o.handleResponse(e,r))?n(r.result):n(null)}),1):(r=u(t),null==(r=o.handleResponse(e,r))?null:r.result)}catch(t){n(null)}},l.prototype.send=function(t,e,n){switch(this.m_type){case 1:return this._sendHttp(t,e,n);case 2:return this._sendExtension(t,e,n);case 3:case 4:return this._sendPlugin(t,e,n)}},l.prototype.execute=function(t,e,n){var r,i;return r=this.m_requests,this.m_requests++,null==(i=this.makeRequest(t,e,r))?null!=n?void n(null):null:null==n?this.send(i,r,n):void this.send(i,r,n)};var f=function(){};f.WEB_LIBRARY_OS_NOT_SUPPORTED=131072,f.WEB_LIBRARY_NOT_INSTALLED_OR_RUN=131073,f.WEB_LIBRARY_JAVA_APPLET_NOT_LOADED=131074,f.WEB_LIBRARY_INSTALLED_VERSION_NOT_SUPPORTED=131075,f.WEB_LIBRARY_INSTALL_PACKAGE=131076,f.WEB_LIBRARY_UPDATE_PACKAGE=131077,f.WEB_LIBRARY_USER_MANUAL=131078,f.WEB_LIBRARY_WEB_EXTENSION_INSTALL_PACKAGE=131079,f.WEB_LIBRARY_CHECK_JRE_VERSION=131080,f.WEB_LIBRARY_WEB_EXTENSION_NOT_INSTALLED_OR_RUN=131081,(f.DESCRIPTIONS=[])[f.WEB_LIBRARY_OS_NOT_SUPPORTED]=[\"Інсталяційний пакет web-бібліотеки підпису для вашої системи відсутній\",\"Инсталяционный  пакет web-библиотеки подписи для вашей системы отсутствует\",\"The installation package of the library for the web signature for your system is absent\"],f.DESCRIPTIONS[f.WEB_LIBRARY_NOT_INSTALLED_OR_RUN]=[\"Бібліотеку web-підпису не запущено або не інстальовано у системі. Для продовження необхідно запустити або інсталювати бібліотеку web-підпису.\",\"Библиотеку web-подписи не запущено или не установлено в системе. Для продолжения необходимо запустить или установить библиотеку web-подписи.\",\"The library for the web signature isn't started or not installed in system. To continue, it is necessary to start or install library for the web signature.\"],f.DESCRIPTIONS[f.WEB_LIBRARY_INSTALLED_VERSION_NOT_SUPPORTED]=[\"Інстальована версія web-бібліотеки підпису більше не підтримується. Для продовження необхідно інсталювати оновлену версію web-бібліотеки підпису.\",\"Инсталированная версия web-библиотеки подписи больше не поддерживается. Для продолжения необходимо установить обновленную версию web-библиотеки подписи.\",\"The installed version of library for the web signature isn't supported any more. To continue, it is necessary to install the updated version of the library for the web signature.\"],f.DESCRIPTIONS[f.WEB_LIBRARY_JAVA_APPLET_NOT_LOADED]=[\"Java-апплет не завантажено. Необхідно перевірити версію JRE\",\"Java-апплет не загружен. Необходимо проверить версию JRE\",\"Java applet isn't loaded. It is necessary to check the version of JRE\"],f.DESCRIPTIONS[f.WEB_LIBRARY_INSTALL_PACKAGE]=[\"Інсталяційний пакет web-бібліотеки підпису\",\"Инсталяционный пакет web-библиотеки подписи\",\"Install package of library for the web signature\"],f.DESCRIPTIONS[f.WEB_LIBRARY_UPDATE_PACKAGE]=[\"Оновлення web-бібліотеки підпису\",\"Обновление web-библиотеки подписи\",\"Update of library for the web signature\"],f.DESCRIPTIONS[f.WEB_LIBRARY_USER_MANUAL]=[\"Настанова користувача\",\"Руководство пользователя\",\"User manual\"],f.DESCRIPTIONS[f.WEB_LIBRARY_WEB_EXTENSION_INSTALL_PACKAGE]=[\"Інсталяційний пакет бібліотеки підпису (web-розширення)\",\"Инсталяционный пакет библиотеки подписи (web-расширение)\",\"Install package of library for the web signature (web-extension)\"],f.DESCRIPTIONS[f.WEB_LIBRARY_CHECK_JRE_VERSION]=[\"Перевірити версію JRE\",\"Проверить версию JRE\",\"Check JRE version\"],f.DESCRIPTIONS[f.WEB_LIBRARY_WEB_EXTENSION_NOT_INSTALLED_OR_RUN]=[\"Веб-розширення для роботи бібліотеки web-підпису не запущено або не інстальовано в браузері. Для продовження необхідно запустити або інсталювати веб-розширення.\",\"Веб-расширение для работы библиотеки web-подписи не запущено или не установлено в браузере. Для продолжения необходимо запустить или установить веб-расширение.\",\"The web extension for the web signature library is not running or installed in the browser. To continue, you need to run or install the web extension.\"],f.getString=function(t,e){var n,r;return void 0===(n=f.DESCRIPTIONS[t])&&(n=\"\"),void 0===(r=n[e-1])?n[0]:r};var _=function(t,e,n,r,i){switch(this.m_id=e,this.m_library=null,this.m_language=n,this.m_supportedLibraryTypes=[],this.m_supportedLibraryTypesIndex=0,this.m_noJavaApplet=!1|r,this.m_webExtensionFirst=!1|i,this.m_errorResult=null,t){case _.LIBRARY_TYPE_JAVA_APPLET:case _.LIBRARY_TYPE_SIGN_AGENT:case _.LIBRARY_TYPE_WEB_EXTENSION:case _.LIBRARY_TYPE_NPAPI:case _.LIBRARY_TYPE_ACTIVE_X:this.m_libraryType=t;break;default:this.m_libraryType=_.LIBRARY_TYPE_DEFAULT}this.m_libraryType==_.LIBRARY_TYPE_DEFAULT?(this.m_webExtensionFirst&&_.isWebExtensionSupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_WEB_EXTENSION),_.isSignAgentSupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_SIGN_AGENT),!this.m_webExtensionFirst&&_.isWebExtensionSupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_WEB_EXTENSION),_.isNPAPISupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_NPAPI),_.isActiveXSupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_ACTIVE_X),!this.m_noJavaApplet&&_.isJavaAppletSupported()&&this.m_supportedLibraryTypes.push(_.LIBRARY_TYPE_JAVA_APPLET)):this.m_supportedLibraryTypes.push(this.m_libraryType),this.onload=function(t){},this.onerror=function(t,e,n){},this.getLibraryType=function(){return this.m_libraryType}};_.LIBRARY_TYPE_DEFAULT=0,_.LIBRARY_TYPE_JAVA_APPLET=1,_.LIBRARY_TYPE_SIGN_AGENT=2,_.LIBRARY_TYPE_WEB_EXTENSION=3,_.LIBRARY_TYPE_NPAPI=4,_.LIBRARY_TYPE_ACTIVE_X=5,_.EU_DEFAULT_LANG=0,_.EU_UA_LANG=1,_.EU_RU_LANG=2,_.EU_EN_LANG=3,_.isJavaAppletSupported=function(){var t=new u;if(this.m_noJavaApplet)return!1;switch(t.GetName()){case u.BROWSER_NAME_FIREFOX:case u.BROWSER_NAME_CHROME:return!(t.GetVersion()>44);case u.BROWSER_NAME_OPERA:return!(t.GetVersion()>30);case u.BROWSER_NAME_EDGE:case u.BROWSER_NAME_UNKNOWN:return!1;default:return!0}},_.isSignAgentSupported=function(){var t=new u;switch(t.GetName()){case u.BROWSER_NAME_IE:if(t.GetVersion()<10)return!1;break;case u.BROWSER_NAME_SAFARI:if(t.GetVersion()<7)return!1;break;case u.BROWSER_NAME_UNKNOWN:return!1}switch(t.GetOSName()){case u.OS_NAME_WINDOWS:case u.OS_NAME_MAC:break;case u.OS_NAME_IOS:return t.GetName()==u.BROWSER_NAME_EU_SIGN_AGENT;case u.OS_NAME_ANDROID:case u.OS_NAME_LINUX:break;case u.OS_NAME_UNKNOWN:default:return!1}return!0},_.isWebExtensionSupported=function(){var t=new u;switch(t.GetName()){case u.BROWSER_NAME_CHROME:break;case u.BROWSER_NAME_OPERA:if(t.GetVersion()<35)return!1;break;case u.BROWSER_NAME_FIREFOX:if(t.GetVersion()<50)return!1;break;case u.BROWSER_NAME_UNKNOWN:default:return!1}switch(t.GetOSName()){case u.OS_NAME_ANDROID:case u.OS_NAME_UNKNOWN:return!1}return!0},_.isNPAPISupported=function(){var t=new u;switch(t.GetName()){case u.BROWSER_NAME_FIREFOX:if(t.GetVersion()>51)return!1;break;default:return!1}return!0},_.isActiveXSupported=function(){var t=new u;switch(t.GetName()){case u.BROWSER_NAME_IE:if(t.GetVersion()<9||t.GetArch()==u.BROWSER_ARCH_NAME_X64)return!1;break;default:return!1}return!0},_.isWebExtensionInstalled=function(){var t=(new u).GetName()==u.BROWSER_NAME_FIREFOX?\"eusw@iit.com.ua\":\"chrome-extension://jffafkigfgmjafhpkoibhfefeaebmccg/\";return 1==document.getElementsByClassName(t).length},_.prototype.getLibraryType=function(){return this.m_libraryType},_.prototype.load=function(){var t=this;setTimeout((function(){t._load(t.m_supportedLibraryTypes[t.m_supportedLibraryTypesIndex])}),1)},_.prototype.unload=function(){var t=document.getElementById(this.m_id);t&&t.parentNode&&t.parentNode.removeChild(t)},_.prototype._load=function(t){switch(t){case _.LIBRARY_TYPE_JAVA_APPLET:return void this._loadSignApplet();case _.LIBRARY_TYPE_SIGN_AGENT:return void this._loadSignAgent();case _.LIBRARY_TYPE_WEB_EXTENSION:return void this._loadWebExtension();case _.LIBRARY_TYPE_NPAPI:return void this._loadNPAPI();case _.LIBRARY_TYPE_ACTIVE_X:return void this._loadActiveX()}},_.prototype._onLoad=function(){this.m_libraryType=this.m_supportedLibraryTypes[this.m_supportedLibraryTypesIndex];try{this.onload(this.m_library)}catch(t){console.log(t)}},_.prototype._onLoadError=function(t,e,n,r){null==this.m_errorResult&&(this.m_errorResult={msg:e,code:n,library:r});var i=document.getElementById(this.m_id);if(i&&i.parentNode&&i.parentNode.removeChild(i),t)if(this.m_supportedLibraryTypesIndex++,this.m_supportedLibraryTypesIndex>=this.m_supportedLibraryTypes.length)try{this.onerror(this.m_errorResult.msg,this.m_errorResult.code,this.m_errorResult.library)}catch(t){console.log(t)}else this.load();else try{this.onerror(this.m_errorResult.msg,this.m_errorResult.code,this.m_errorResult.library)}catch(t){console.log(t)}},_.prototype._loadSignApplet=function(){var t=document.createElement(\"applet\");t.setAttribute(\"codebase\",\"https://sign.eu.iit.com.ua\"),t.setAttribute(\"code\",\"com.iit.certificateAuthority.endUser.libraries.signJava.EndUser.class\"),t.setAttribute(\"archive\",\"EUSignJava.jar\"),t.setAttribute(\"cache_archive\",\"EUSignJava.jar\"),t.setAttribute(\"cache_version\",\"1.3.102\"),t.setAttribute(\"separate_jvm\",!0),t.setAttribute(\"id\",this.m_id),t.setAttribute(\"width\",\"100%\"),t.setAttribute(\"height\",\"1\"),document.body.appendChild(t),this.m_library=document.getElementById(this.m_id),this._waitForSignAppletLoad(this,100,1200)},_.prototype._waitForSignAppletLoad=function(t,e,n){try{t.m_library.SetUIMode(!1)}catch(i){if(0!=n)return void setTimeout((function(){t._waitForSignAppletLoad(t,e,n-1)}),e,n);var r=\"\";return r=rt.getErrorDescriptionEx(rt.ERROR_LIBRARY_COMUNICATION_FAILED,t.m_language)+\". \",r+=f.getString(f.WEB_LIBRARY_JAVA_APPLET_NOT_LOADED,t.m_language),r+=\"<br><br>\",r+='<a style=\"text-indent:18px\" href=\"https://www.java.com/ru/download/installed.jsp\">'+f.getString(f.WEB_LIBRARY_CHECK_JRE_VERSION,t.m_language)+\"</a>\",void t._onLoadError(!0,r,rt.ERROR_LIBRARY_COMUNICATION_FAILED,null)}t._onLoad(t.m_library)},_.prototype._appendWebWrapperObject=function(t,e,n,r){try{var i=new ot(t,e),o=document.createElement(\"object\");for(var s in o.setAttribute(\"id\",this.m_id),n?r?(o.setAttribute(\"classid\",t),o.setAttribute(\"height\",\"1px\")):(o.type=t,o.classid=t,o.height=\"1px\"):(o.classid=\"EUSignCP.class\",o.style=\"display:none\",o.style.visibility=\"hidden\"),document.body.appendChild(o),i)o[s]=i[s];return this.m_library=document.getElementById(this.m_id),!0}catch(t){return!1}},_.prototype._onLoadWebLibraryError=function(t){var e,n=this.m_library,r=!0,i=\"\";switch(e=_.isWebExtensionSupported()&&!_.isWebExtensionInstalled()&&this.m_webExtensionFirst,i+=rt.getErrorDescriptionEx(rt.ERROR_LIBRARY_COMUNICATION_FAILED,this.m_language),i+=\". \",t.GetErrorCode()){case rt.ERROR_LIBRARY_COMUNICATION_FAILED:i+=f.getString(e?f.WEB_LIBRARY_WEB_EXTENSION_NOT_INSTALLED_OR_RUN:f.WEB_LIBRARY_NOT_INSTALLED_OR_RUN,this.m_language);break;case rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED:i+=f.getString(f.WEB_LIBRARY_INSTALLED_VERSION_NOT_SUPPORTED,this.m_language),r=!1,this.m_errorResult=null;break;default:i+=rt.getErrorDescriptionEx(t.GetErrorCode(),this.m_language)+\".\"}i+=\"<br><br>\",null!=n.GetInstallURL()?(t.GetErrorCode()==rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED?i+='<div><a style=\"text-indent:18px\" href=\"'+n.GetUpdateURL()+'\">'+f.getString(f.WEB_LIBRARY_UPDATE_PACKAGE,this.m_language)+\"</a></div>\":i+=e?'<div><a style=\"text-indent:18px\" href=\"'+n.GetWebExtensionInstallURL()+'\">'+f.getString(f.WEB_LIBRARY_WEB_EXTENSION_INSTALL_PACKAGE,this.m_language)+\"</a></div>\":'<div><a style=\"text-indent:18px\" href=\"'+n.GetInstallURL()+'\">'+f.getString(f.WEB_LIBRARY_INSTALL_PACKAGE,this.m_language)+\"</a></div>\",i+='<div><a style=\"text-indent:18px\" href=\"'+n.GetHelpURL()+'\">'+f.getString(f.WEB_LIBRARY_USER_MANUAL,this.m_language)+\"</a></div>\"):i+=\"<div>\"+f.getString(f.WEB_LIBRARY_OS_NOT_SUPPORTED,this.m_language)+\"</div>\",this._onLoadError(r,i,t.GetErrorCode(),n)},_.prototype._loadWebLibrary=function(){var t=this;t.m_library.Load((function(){t._onLoad()}),(function(e){t._onLoadWebLibraryError(e)}))},_.prototype._loadSignAgent=function(){if(this._appendWebWrapperObject(\"localhost\",\"http:\"==window.location.protocol?\"8081\":\"8083\",!1,!1))this._loadWebLibrary();else{var t=rt.getErrorDescriptionEx(rt.ERROR_LIBRARY_COMUNICATION_FAILED,this.m_language);this._onLoadError(!0,t,rt.ERROR_LIBRARY_COMUNICATION_FAILED,null)}},_.prototype._loadWebExtension=function(){if(this._appendWebWrapperObject(\"chrome-extension://jffafkigfgmjafhpkoibhfefeaebmccg/\",\"\",!1,!1))this._loadWebLibrary();else{var t=rt.getErrorDescriptionEx(rt.ERROR_LIBRARY_COMUNICATION_FAILED,this.m_language);this._onLoadError(!0,t,rt.ERROR_LIBRARY_COMUNICATION_FAILED,null)}},_.prototype._loadPlugin=function(t,e,n,r){if(this._appendWebWrapperObject(t,\"\",!0,r))this._waitForPluginLoad(this,e,n);else{var i=rt.getErrorDescriptionEx(rt.ERROR_LIBRARY_COMUNICATION_FAILED,this.m_language);this._onLoadError(!0,i,rt.ERROR_LIBRARY_COMUNICATION_FAILED,null)}},_.prototype._waitForPluginLoad=function(t,e,n){t.m_library.Load((function(){t._onLoad()}),(function(r){r.GetErrorCode()!=rt.ERROR_LIBRARY_COMUNICATION_FAILED||0==n?t._onLoadWebLibraryError(r):setTimeout((function(){t._waitForPluginLoad(t,e,n-1)}),e,n)}))},_.prototype._loadNPAPI=function(){this._loadPlugin(\"application/x-eusign-cp\",100,50,!1)},_.prototype._loadActiveX=function(){this._loadPlugin(\"clsid:B7E24C75-E343-4DA2-A8D3-C80970FB7D7B\",100,50,!0)};var p=function(){this.vendor=\"JSC IIT\",this.parentClassName=\"Object\",this.className=\"EndUserArrayList\",this.classVersion=1,this.m_array=[]};p.prototype.add=function(t){return this.m_array.push(t),!0},p.prototype.clear=function(){this.m_array=[]},p.prototype.get=function(t){return this.m_array[t]},p.prototype.size=function(){return this.m_array.length},Object.create||(Object.create=function(t,e){if(\"object\"!=typeof t&&\"function\"!=typeof t||null===t||void 0!==e)throw new Error(\"Invalid arguments\");function n(){}return n.prototype=t,new n}),Uint8Array.prototype.slice||(Uint8Array.prototype.slice=Uint8Array.prototype.subarray);var h=null;function E(t){return null!=t&&\"object\"==typeof t&&(\"EndUserTransferableObject\"==t.className||\"EndUserTransferableObject\"==t.parentClassName)}h=\"undefined\"==typeof Uint8Array?function(t){var e;if(\"number\"==typeof t){e=new Array(t);for(var n=0;n<t;++n)e[n]=0}else e=t.slice(0);return e.buffer=e,e.subarray=function(t,n){return e.slice(t,n)},e.set=function(t,n){arguments.length<2&&(n=0);for(var r=0,i=t.length;r<i;++r,++n)e[n]=255&t[r]},e.byteLength=e.length,\"object\"==typeof t&&t.buffer&&(e.buffer=t.buffer),e}:Uint8Array;var y=function(){this.vendor=\"JSC IIT\",this.parentClassName=\"Object\",this.className=\"EndUserTransferableObject\",this.classVersion=1,this.isFilled=!1,this.fields={}};y.makeTransferable=function(t){var e,n;n=y,(e=t).prototype=Object.create(n.prototype),e.prototype.constructor=e,y[(new t).className]=t},y.prototype.base64Coder=new s,y.prototype.dateCoder=new o,y.prototype.setClassInfo=function(t,e){this.parentClassName=\"EndUserTransferableObject\",this.className=t,this.classVersion=e},y.prototype.initializeFields=function(){for(var t in this.fields)switch(this.fields[t]){case\"boolean\":this[t]=!1;break;case\"int\":case\"long\":case\"number\":this[t]=0;break;case\"string\":this[t]=\"\";break;case\"EndUserKeyMedia\":this[t]=new C;break;default:this[t]=null}},y.prototype.set=function(t){if(this.className!=t.className)throw\"invalid class\";for(var e in this.fields)this[e]=t[e]},y.prototype.encode=function(){var t,e;for(var n in e=new Object,t=new Object,this.fields)null!=this[n]?E(this[n])?e[n]=this[n].encode():\"byteArray\"==this.fields[n]?e[n]=this.base64Coder.encode(this[n]):\"time\"==this.fields[n]?e[n]=this.dateCoder.encode(this[n]):e[n]=this[n]:e[n]=null;return t.className=this.className,t.classVersion=this.classVersion,t.classFields=e,t},y.prototype.decode=function(t){try{if(null==t.classVersion||null==t.classFields)return!1;var e=t.classFields;for(var n in this.fields)if(\"time\"==this.fields[n])this[n]=this.dateCoder.decode(e[n]);else if(\"EndUserOwnerInfo\"==this.fields[n])this[n]=new b,this[n].decode(e[n]);else if(\"EndUserTimeInfo\"==this.fields[n])this[n]=new O,this[n].decode(e[n]);else if(\"EndUserKeyMedia\"==this.fields[n])this[n]=new C,this[n].decode(e[n]);else if(\"EndUserCertificateInfoEx\"==this.fields[n])this[n]=new M,this[n].decode(e[n]);else if(\"byteArray\"==this.fields[n])null!=e[n]&&(this[n]=this.base64Coder.decode(e[n]));else if(\"array\"==this.fields[n]){this[n]=[];for(var r=e[n],i=0;i<r.length;i++){var o=r[i].className,s=new y[o];if(void 0!==s){if(!s.decode(r[i]))throw\"invalid class\";\"EndUserByteArray\"==s.className&&(s=s.GetData()),this[n].push(s)}else this[n].push(r[i])}}else this[n]=e[n];return!0}catch(t){return this.isFilled=!1,!1}};var S=function(t){this.setClassInfo(\"EndUserByteArray\",1),this.fields={data:\"byteArray\"},this.initializeFields(),this.data=t};y.makeTransferable(S),S.prototype.GetData=function(){return this.data},S.prototype.SetData=function(t){this.data=t};var C=function(){this.setClassInfo(\"EndUserKeyMedia\",1),this.fields={typeIndex:\"long\",devIndex:\"long\",password:\"string\"},this.initializeFields()};y.makeTransferable(C),C.prototype.GetTypeIndex=function(){return this.typeIndex},C.prototype.SetTypeIndex=function(t){this.typeIndex=t},C.prototype.GetDevIndex=function(){return this.devIndex},C.prototype.SetDevIndex=function(t){this.devIndex=t},C.prototype.GetPassword=function(){return this.password},C.prototype.SetPassword=function(t){this.password=t};var d=function(){this.setClassInfo(\"EndUserFileStoreSettings\",1),this.fields={path:\"string\",checkCRLs:\"boolean\",autoRefresh:\"boolean\",ownCRLsOnly:\"boolean\",fullAndDeltaCRLs:\"boolean\",autoDownloadCRLs:\"boolean\",saveLoadedCerts:\"boolean\",expireTime:\"long\"},this.initializeFields(),this.expireTime=3600};y.makeTransferable(d),d.prototype.GetPath=function(){return this.path},d.prototype.SetPath=function(t){this.path=t},d.prototype.GetCheckCRLs=function(){return this.checkCRLs},d.prototype.SetCheckCRLs=function(t){this.checkCRLs=t},d.prototype.GetAutoRefresh=function(){return this.autoRefresh},d.prototype.SetAutoRefresh=function(t){this.autoRefresh=t},d.prototype.GetOwnCRLsOnly=function(){return this.ownCRLsOnly},d.prototype.SetOwnCRLsOnly=function(t){this.ownCRLsOnly=t},d.prototype.GetFullAndDeltaCRLs=function(){return this.fullAndDeltaCRLs},d.prototype.SetFullAndDeltaCRLs=function(t){this.fullAndDeltaCRLs=t},d.prototype.GetAutoDownloadCRLs=function(){return this.autoDownloadCRLs},d.prototype.SetAutoDownloadCRLs=function(t){this.autoDownloadCRLs=t},d.prototype.GetSaveLoadedCerts=function(){return this.saveLoadedCerts},d.prototype.SetSaveLoadedCerts=function(t){this.saveLoadedCerts=t},d.prototype.GetExpireTime=function(){return this.expireTime},d.prototype.SetExpireTime=function(t){this.expireTime=t};var A=function(){this.setClassInfo(\"EndUserProxySettings\",1),this.fields={useProxy:\"boolean\",anonymous:\"boolean\",address:\"string\",port:\"string\",user:\"string\",password:\"string\",savePassword:\"boolean\"},this.initializeFields(),this.port=\"80\"};y.makeTransferable(A),A.prototype.GetUseProxy=function(){return this.useProxy},A.prototype.SetUseProxy=function(t){this.useProxy=t},A.prototype.GetAnonymous=function(){return this.anonymous},A.prototype.SetAnonymous=function(t){this.anonymous=t},A.prototype.GetAddress=function(){return this.address},A.prototype.SetAddress=function(t){this.address=t},A.prototype.GetPort=function(){return this.port},A.prototype.SetPort=function(t){this.port=t},A.prototype.GetUser=function(){return this.user},A.prototype.SetUser=function(t){this.user=t},A.prototype.GetPassword=function(){return this.password},A.prototype.SetPassword=function(t){this.password=t},A.prototype.GetSavePassword=function(){return this.savePassword},A.prototype.SetSavePassword=function(t){this.savePassword=t};var m=function(){this.setClassInfo(\"EndUserTSPSettings\",1),this.fields={getStamps:\"boolean\",address:\"string\",port:\"string\"},this.initializeFields(),this.port=\"80\"};y.makeTransferable(m),m.prototype.GetGetStamps=function(){return this.getStamps},m.prototype.SetGetStamps=function(t){this.getStamps=t},m.prototype.GetAddress=function(){return this.address},m.prototype.SetAddress=function(t){this.address=t},m.prototype.GetPort=function(){return this.port},m.prototype.SetPort=function(t){this.port=t};var R=function(){this.setClassInfo(\"EndUserOCSPSettings\",1),this.fields={useOCSP:\"boolean\",beforeStore:\"boolean\",address:\"string\",port:\"string\"},this.initializeFields(),this.port=\"80\"};y.makeTransferable(R),R.prototype.GetUseOCSP=function(){return this.useOCSP},R.prototype.SetUseOCSP=function(t){this.useOCSP=t},R.prototype.GetBeforeStore=function(){return this.beforeStore},R.prototype.SetBeforeStore=function(t){this.beforeStore=t},R.prototype.GetAddress=function(){return this.address},R.prototype.SetAddress=function(t){this.address=t},R.prototype.GetPort=function(){return this.port},R.prototype.SetPort=function(t){this.port=t};var T=function(){this.setClassInfo(\"EndUserLDAPSettings\",1),this.fields={useLDAP:\"boolean\",address:\"string\",port:\"string\",anonymous:\"boolean\",user:\"string\",password:\"string\"},this.initializeFields(),this.port=\"389\"};y.makeTransferable(T),T.prototype.GetUseLDAP=function(){return this.useLDAP},T.prototype.SetUseLDAP=function(t){this.useLDAP=t},T.prototype.GetAddress=function(){return this.address},T.prototype.SetAddress=function(t){this.address=t},T.prototype.GetPort=function(){return this.port},T.prototype.SetPort=function(t){this.port=t},T.prototype.GetAnonymous=function(){return this.anonymous},T.prototype.SetAnonymous=function(t){this.anonymous=t},T.prototype.GetUser=function(){return this.user},T.prototype.SetUser=function(t){this.user=t},T.prototype.GetPassword=function(){return this.password},T.prototype.SetPassword=function(t){this.password=t};var g=function(){this.setClassInfo(\"EndUserCMPSettings\",1),this.fields={useCMP:\"boolean\",address:\"string\",port:\"string\",commonName:\"string\"},this.initializeFields(),this.port=\"80\"};y.makeTransferable(g),g.prototype.GetUseCMP=function(){return this.useCMP},g.prototype.SetUseCMP=function(t){this.useCMP=t},g.prototype.GetAddress=function(){return this.address},g.prototype.SetAddress=function(t){this.address=t},g.prototype.GetPort=function(){return this.port},g.prototype.SetPort=function(t){this.port=t},g.prototype.GetCommonName=function(){return this.commonName},g.prototype.SetCommonName=function(t){this.commonName=t};var v=function(){this.setClassInfo(\"EndUserModeSettings\",1),this.fields={offlineMode:\"boolean\"},this.initializeFields()};y.makeTransferable(v),v.prototype.GetOfflineMode=function(){return this.offlineMode},v.prototype.SetOfflineMode=function(t){this.offlineMode=t};var P=function(){this.setClassInfo(\"EndUserOCSPAccessInfoModeSettings\",1),this.fields={enabled:\"boolean\"},this.initializeFields()};y.makeTransferable(P),P.prototype.GetEnabled=function(){return this.enabled},P.prototype.SetEnabled=function(t){this.enabled=t};var U=function(){this.setClassInfo(\"EndUserOCSPAccessInfoSettings\",1),this.fields={issuerCN:\"string\",address:\"string\",port:\"string\"},this.initializeFields()};y.makeTransferable(U),U.prototype.GetIssuerCN=function(){return this.issuerCN},U.prototype.SetIssuerCN=function(t){this.issuerCN=t},U.prototype.GetAddress=function(){return this.address},U.prototype.SetAddress=function(t){this.address=t},U.prototype.GetPort=function(){return this.port},U.prototype.SetPort=function(t){this.port=t};var I=function(){this.setClassInfo(\"EndUserKeyMediaSettings\",1),this.fields={sourceType:\"long\",showErrors:\"boolean\",keyMedia:\"EndUserKeyMedia\"},this.initializeFields(),this.sourceType=1,this.showErrors=!0};y.makeTransferable(I),I.prototype.GetSourceType=function(){return this.sourceType},I.prototype.SetSourceType=function(t){this.sourceType=t},I.prototype.GetShowErrors=function(){return this.showErrors},I.prototype.SetShowErrors=function(t){this.showErrors=t},I.prototype.GetKeyMedia=function(){return this.keyMedia},I.prototype.SetKeyMedia=function(t){this.keyMedia=t};var D=function(){this.setClassInfo(\"EndUserTSLSettings\",1),this.fields={useTSL:\"boolean\",autoDownloadTSL:\"boolean\",tslAddress:\"string\"},this.initializeFields()};y.makeTransferable(D),D.prototype.GetUseTSL=function(){return this.useTSL},D.prototype.SetUseTSL=function(t){this.useTSL=t},D.prototype.GetAutoDownloadTSL=function(){return this.autoDownloadTSL},D.prototype.SetAutoDownloadTSL=function(t){this.autoDownloadTSL=t},D.prototype.GetTSLAddress=function(){return this.tslAddress},D.prototype.SetTSLAddress=function(t){this.tslAddress=t};var b=function(){this.setClassInfo(\"EndUserOwnerInfo\",1),this.fields={isFilled:\"boolean\",issuer:\"string\",issuerCN:\"string\",serial:\"string\",subject:\"string\",subjCN:\"string\",subjOrg:\"string\",subjOrgUnit:\"string\",subjTitle:\"string\",subjState:\"string\",subjLocality:\"string\",subjFullName:\"string\",subjAddress:\"string\",subjPhone:\"string\",subjEMail:\"string\",subjDNS:\"string\",subjEDRPOUCode:\"string\",subjDRFOCode:\"string\"},this.initializeFields()};y.makeTransferable(b),b.prototype.IsFilled=function(){return this.isFilled},b.prototype.GetIssuer=function(){return this.issuer},b.prototype.GetIssuerCN=function(){return this.issuerCN},b.prototype.GetSerial=function(){return this.serial},b.prototype.GetSubject=function(){return this.subject},b.prototype.GetSubjCN=function(){return this.subjCN},b.prototype.GetSubjOrg=function(){return this.subjOrg},b.prototype.GetSubjOrgUnit=function(){return this.subjOrgUnit},b.prototype.GetSubjTitle=function(){return this.subjTitle},b.prototype.GetSubjState=function(){return this.subjState},b.prototype.GetSubjLocality=function(){return this.subjLocality},b.prototype.GetSubjFullName=function(){return this.subjFullName},b.prototype.GetSubjAddress=function(){return this.subjAddress},b.prototype.GetSubjPhone=function(){return this.subjPhone},b.prototype.GetSubjEMail=function(){return this.subjEMail},b.prototype.GetSubjDNS=function(){return this.subjDNS},b.prototype.GetSubjEDRPOUCode=function(){return this.subjEDRPOUCode},b.prototype.GetSubjDRFOCode=function(){return this.subjDRFOCode};var O=function(){this.setClassInfo(\"EndUserTimeInfo\",2),this.fields={version:\"number\",isTimeAvail:\"boolean\",isTimeStamp:\"boolean\",time:\"time\",isSignTimeStampAvail:\"boolean\",signTimeStamp:\"time\"},this.initializeFields()};y.makeTransferable(O),O.prototype.GetVersion=function(){return this.version},O.prototype.IsTimeAvail=function(){return this.isTimeAvail},O.prototype.IsTimeStamp=function(){return this.isTimeStamp},O.prototype.GetTime=function(){return this.time},O.prototype.IsSignTimeStampAvail=function(){return this.isSignTimeStampAvail},O.prototype.GetSignTimeStamp=function(){return this.signTimeStamp};var G=function(){this.setClassInfo(\"EndUserSignInfo\",1),this.fields={ownerInfo:\"EndUserOwnerInfo\",timeInfo:\"EndUserTimeInfo\",data:\"byteArray\"},this.initializeFields()};y.makeTransferable(G),G.prototype.GetOwnerInfo=function(){return this.ownerInfo},G.prototype.GetTimeInfo=function(){return this.timeInfo},G.prototype.GetData=function(){return this.data},G.prototype.GetDataString=function(t){return i.ArrayToString(t,this.data)};var N=function(){this.setClassInfo(\"EndUserSenderInfo\",1),this.fields={ownerInfo:\"EndUserOwnerInfo\",timeInfo:\"EndUserTimeInfo\",data:\"byteArray\"},this.initializeFields()};y.makeTransferable(N),N.prototype.GetOwnerInfo=function(){return this.ownerInfo},N.prototype.GetTimeInfo=function(){return this.timeInfo},N.prototype.GetData=function(){return this.data},N.prototype.GetDataString=function(t){return i.ArrayToString(t,this.data)};var w=function(){this.setClassInfo(\"EndUserCertificateInfo\",1),this.fields={isFilled:\"boolean\",version:\"long\",issuer:\"string\",issuerCN:\"string\",serial:\"string\",subject:\"string\",subjCN:\"string\",subjOrg:\"string\",subjOrgUnit:\"string\",subjTitle:\"string\",subjState:\"string\",subjLocality:\"string\",subjFullName:\"string\",subjAddress:\"string\",subjPhone:\"string\",subjEMail:\"string\",subjDNS:\"string\",subjEDRPOUCode:\"string\",subjDRFOCode:\"string\",subjNBUCode:\"string\",subjSPFMCode:\"string\",subjOCode:\"string\",subjOUCode:\"string\",subjUserCode:\"string\",certBeginTime:\"time\",certEndTime:\"time\",isPrivKeyTimesAvail:\"boolean\",privKeyBeginTime:\"time\",privKeyEndTime:\"time\",publicKeyBits:\"long\",publicKey:\"string\",publicKeyID:\"string\",isECDHPublicKeyAvail:\"boolean\",ECDHPublicKeyBits:\"long\",ECDHPublicKey:\"string\",ECDHPublicKeyID:\"string\",issuerPublicKeyID:\"string\",keyUsage:\"string\",extKeyUsages:\"string\",policies:\"string\",crlDistribPoint1:\"string\",crlDistribPoint2:\"string\",isPowerCert:\"boolean\",isSubjTypeAvail:\"boolean\",isSubjCA:\"boolean\"},this.initializeFields()};y.makeTransferable(w),w.prototype.IsFilled=function(){return this.isFilled},w.prototype.GetVersion=function(){return this.version},w.prototype.GetIssuer=function(){return this.issuer},w.prototype.GetIssuerCN=function(){return this.issuerCN},w.prototype.GetSerial=function(){return this.serial},w.prototype.GetSubject=function(){return this.subject},w.prototype.GetSubjCN=function(){return this.subjCN},w.prototype.GetSubjOrg=function(){return this.subjOrg},w.prototype.GetSubjOrgUnit=function(){return this.subjOrgUnit},w.prototype.GetSubjTitle=function(){return this.subjTitle},w.prototype.GetSubjState=function(){return this.subjState},w.prototype.GetSubjLocality=function(){return this.subjLocality},w.prototype.GetSubjFullName=function(){return this.subjFullName},w.prototype.GetSubjAddress=function(){return this.subjAddress},w.prototype.GetSubjPhone=function(){return this.subjPhone},w.prototype.GetSubjEMail=function(){return this.subjEMail},w.prototype.GetSubjDNS=function(){return this.subjDNS},w.prototype.GetSubjEDRPOUCode=function(){return this.subjEDRPOUCode},w.prototype.GetSubjDRFOCode=function(){return this.subjDRFOCode},w.prototype.GetSubjNBUCode=function(){return this.subjNBUCode},w.prototype.GetSubjSPFMCode=function(){return this.subjSPFMCode},w.prototype.GetSubjOCode=function(){return this.subjOCode},w.prototype.GetSubjOUCode=function(){return this.subjOUCode},w.prototype.GetSubjUserCode=function(){return this.subjUserCode},w.prototype.GetCertBeginTime=function(){return this.certBeginTime},w.prototype.GetCertEndTime=function(){return this.certEndTime},w.prototype.IsPrivKeyTimesAvail=function(){return this.isPrivKeyTimesAvail},w.prototype.GetPrivKeyBeginTime=function(){return this.privKeyBeginTime},w.prototype.GetPrivKeyEndTime=function(){return this.privKeyEndTime},w.prototype.GetPublicKeyBits=function(){return this.publicKeyBits},w.prototype.GetPublicKey=function(){return this.publicKey},w.prototype.GetPublicKeyID=function(){return this.publicKeyID},w.prototype.IsECDHPublicKeyAvail=function(){return this.isECDHPublicKeyAvail},w.prototype.GetECDHPublicKeyBits=function(){return this.ECDHPublicKeyBits},w.prototype.GetECDHPublicKey=function(){return this.ECDHPublicKey},w.prototype.GetECDHPublicKeyID=function(){return this.ECDHPublicKeyID},w.prototype.GetIssuerPublicKeyID=function(){return this.issuerPublicKeyID},w.prototype.GetKeyUsage=function(){return this.keyUsage},w.prototype.GetExtKeyUsages=function(){return this.extKeyUsages},w.prototype.GetPolicies=function(){return this.policies},w.prototype.GetCRLDistribPoint1=function(){return this.crlDistribPoint1},w.prototype.GetCRLDistribPoint2=function(){return this.crlDistribPoint2},w.prototype.IsPowerCert=function(){return this.isPowerCert},w.prototype.IsSubjTypeAvail=function(){return this.isSubjTypeAvail},w.prototype.IsSubjCA=function(){return this.isSubjCA};var M=function(){this.setClassInfo(\"EndUserCertificateInfoEx\",8),this.fields={isFilled:\"boolean\",version:\"long\",issuer:\"string\",issuerCN:\"string\",serial:\"string\",subject:\"string\",subjCN:\"string\",subjOrg:\"string\",subjOrgUnit:\"string\",subjTitle:\"string\",subjState:\"string\",subjLocality:\"string\",subjFullName:\"string\",subjAddress:\"string\",subjPhone:\"string\",subjEMail:\"string\",subjDNS:\"string\",subjEDRPOUCode:\"string\",subjDRFOCode:\"string\",subjNBUCode:\"string\",subjSPFMCode:\"string\",subjOCode:\"string\",subjOUCode:\"string\",subjUserCode:\"string\",certBeginTime:\"time\",certEndTime:\"time\",isPrivKeyTimesAvail:\"boolean\",privKeyBeginTime:\"time\",privKeyEndTime:\"time\",publicKeyBits:\"long\",publicKey:\"string\",publicKeyID:\"string\",issuerPublicKeyID:\"string\",keyUsage:\"string\",extKeyUsages:\"string\",policies:\"string\",crlDistribPoint1:\"string\",crlDistribPoint2:\"string\",isPowerCert:\"boolean\",isSubjTypeAvail:\"boolean\",isSubjCA:\"boolean\",chainLength:\"int\",UPN:\"string\",publicKeyType:\"long\",keyUsageType:\"long\",RSAModul:\"string\",RSAExponent:\"string\",OCSPAccessInfo:\"string\",issuerAccessInfo:\"string\",TSPAccessInfo:\"string\",isLimitValueAvailable:\"boolean\",limitValue:\"long\",limitValueCurrency:\"string\",subjType:\"long\",subjSubType:\"long\",subjUNZR:\"string\",subjCountry:\"string\",fingerprint:\"string\",isQSCD:\"boolean\",subjUserID:\"string\",certHashType:\"number\"},this.initializeFields();var t=this;this.IsLimitValueAvailable=function(){return t.isLimitValueAvailable}};y.makeTransferable(M),M.prototype.IsFilled=function(){return this.isFilled},M.prototype.GetVersion=function(){return this.version},M.prototype.GetIssuer=function(){return this.issuer},M.prototype.GetIssuerCN=function(){return this.issuerCN},M.prototype.GetSerial=function(){return this.serial},M.prototype.GetSubject=function(){return this.subject},M.prototype.GetSubjCN=function(){return this.subjCN},M.prototype.GetSubjOrg=function(){return this.subjOrg},M.prototype.GetSubjOrgUnit=function(){return this.subjOrgUnit},M.prototype.GetSubjTitle=function(){return this.subjTitle},M.prototype.GetSubjState=function(){return this.subjState},M.prototype.GetSubjLocality=function(){return this.subjLocality},M.prototype.GetSubjFullName=function(){return this.subjFullName},M.prototype.GetSubjAddress=function(){return this.subjAddress},M.prototype.GetSubjPhone=function(){return this.subjPhone},M.prototype.GetSubjEMail=function(){return this.subjEMail},M.prototype.GetSubjDNS=function(){return this.subjDNS},M.prototype.GetSubjEDRPOUCode=function(){return this.subjEDRPOUCode},M.prototype.GetSubjDRFOCode=function(){return this.subjDRFOCode},M.prototype.GetSubjNBUCode=function(){return this.subjNBUCode},M.prototype.GetSubjSPFMCode=function(){return this.subjSPFMCode},M.prototype.GetSubjOCode=function(){return this.subjOCode},M.prototype.GetSubjOUCode=function(){return this.subjOUCode},M.prototype.GetSubjUserCode=function(){return this.subjUserCode},M.prototype.GetCertBeginTime=function(){return this.certBeginTime},M.prototype.GetCertEndTime=function(){return this.certEndTime},M.prototype.IsPrivKeyTimesAvail=function(){return this.isPrivKeyTimesAvail},M.prototype.GetPrivKeyBeginTime=function(){return this.privKeyBeginTime},M.prototype.GetPrivKeyEndTime=function(){return this.privKeyEndTime},M.prototype.GetPublicKeyBits=function(){return this.publicKeyBits},M.prototype.GetPublicKey=function(){return this.publicKey},M.prototype.GetPublicKeyID=function(){return this.publicKeyID},M.prototype.GetIssuerPublicKeyID=function(){return this.issuerPublicKeyID},M.prototype.GetKeyUsage=function(){return this.keyUsage},M.prototype.GetExtKeyUsages=function(){return this.extKeyUsages},M.prototype.GetPolicies=function(){return this.policies},M.prototype.GetCRLDistribPoint1=function(){return this.crlDistribPoint1},M.prototype.GetCRLDistribPoint2=function(){return this.crlDistribPoint2},M.prototype.IsPowerCert=function(){return this.isPowerCert},M.prototype.IsSubjTypeAvail=function(){return this.isSubjTypeAvail},M.prototype.IsSubjCA=function(){return this.isSubjCA},M.prototype.GetChainLength=function(){return this.chainLength},M.prototype.GetUPN=function(){return this.UPN},M.prototype.GetPublicKeyType=function(){return this.publicKeyType},M.prototype.GetKeyUsageType=function(){return this.keyUsageType},M.prototype.GetRSAModul=function(){return this.RSAModul},M.prototype.GetRSAExponent=function(){return this.RSAExponent},M.prototype.GetOCSPAccessInfo=function(){return this.OCSPAccessInfo},M.prototype.GetIssuerAccessInfo=function(){return this.issuerAccessInfo},M.prototype.GetTSPAccessInfo=function(){return this.TSPAccessInfo},M.prototype.IsLimitValueAvail=function(){return this.isLimitValueAvailable},M.prototype.GetLimitValue=function(){return this.limitValue},M.prototype.GetLimitValueCurrency=function(){return this.limitValueCurrency},M.prototype.GetSubjType=function(){return this.subjType},M.prototype.GetSubjSubType=function(){return this.subjSubType},M.prototype.GetSubjUNZR=function(){return this.subjUNZR},M.prototype.GetSubjCountry=function(){return this.subjCountry},M.prototype.GetFingerprint=function(){return this.fingerprint},M.prototype.IsQSCD=function(){return this.isQSCD},M.prototype.GetSubjUserID=function(){return this.subjUserID},M.prototype.GetCertHashType=function(){return this.certHashType};var L=function(){this.setClassInfo(\"EndUserCertificate\",1),this.fields={infoEx:\"EndUserCertificateInfoEx\",data:\"byteArray\"},this.initializeFields()};y.makeTransferable(L),L.prototype.GetInfoEx=function(){return this.infoEx},L.prototype.SetInfoEx=function(t){this.infoEx=t},L.prototype.GetData=function(){return this.data},L.prototype.SetData=function(t){this.data=t};var K=function(){this.setClassInfo(\"EndUserCRLInfo\",1,!0,!1),this.fields={isFilled:\"boolean\",issuer:\"string\",issuerCN:\"string\",crlNumber:\"long\",thisUpdate:\"time\",nextUpdate:\"time\"},this.initializeFields()};y.makeTransferable(K),K.prototype.IsFilled=function(){return this.isFilled},K.prototype.GetIssuer=function(){return this.issuer},K.prototype.GetIssuerCN=function(){return this.issuerCN},K.prototype.GetCRLNumber=function(){return this.crlNumber},K.prototype.GetThisUpdate=function(){return this.thisUpdate},K.prototype.GetNextUpdate=function(){return this.nextUpdate};var k=function(){this.setClassInfo(\"EndUserCRLDetailedInfo\",1),this.fields={isFilled:\"boolean\",version:\"long\",issuer:\"string\",issuerCN:\"string\",issuerPublicKeyID:\"string\",crlNumber:\"long\",thisUpdate:\"time\",nextUpdate:\"time\",revokedItemsCount:\"long\"},this.initializeFields()};y.makeTransferable(k),k.prototype.IsFilled=function(){return this.isFilled},k.prototype.GetVersion=function(){return this.version},k.prototype.GetIssuer=function(){return this.issuer},k.prototype.GetIssuerCN=function(){return this.issuerCN},k.prototype.GetIssuerPublicKeyID=function(){return this.issuerPublicKeyID},k.prototype.GetCRLNumber=function(){return this.crlNumber},k.prototype.GetThisUpdate=function(){return this.thisUpdate},k.prototype.GetNextUpdate=function(){return this.nextUpdate},k.prototype.GetRevokedItemsCount=function(){return this.revokedItemsCount};var x=function(){this.setClassInfo(\"EndUserPrivateKeyInfo\",1),this.fields={privateKey:\"byteArray\",privateKeyInfo:\"byteArray\"},this.initializeFields()};y.makeTransferable(x),x.prototype.GetPrivateKey=function(){return this.privateKey},x.prototype.SetPrivateKey=function(t){this.privateKey=t},x.prototype.GetPrivateKeyInfo=function(){return this.privateKeyInfo},x.prototype.SetPrivateKeyInfo=function(t){this.privateKeyInfo=t};var B=function(){this.setClassInfo(\"EndUserJKSPrivateKey\",1),this.fields={privateKey:\"byteArray\",certificates:\"array\"},this.initializeFields()};y.makeTransferable(B),B.prototype.GetPrivateKey=function(){return this.privateKey},B.prototype.GetCertificate=function(t){return t<0||t>=this.certificates.length?null:this.certificates[t]},B.prototype.GetCertificatesCount=function(){return this.certificates.length},B.prototype.GetCertificates=function(){return this.certificates};var F=function(){this.setClassInfo(\"EndUserRequestInfo\",4),this.fields={request:\"byteArray\",requestType:\"number\",defaultRequestFileName:\"string\",isSimple:\"boolean\",subject:\"string\",subjCN:\"string\",subjOrg:\"string\",subjOrgUnit:\"string\",subjTitle:\"string\",subjState:\"string\",subjLocality:\"string\",subjFullName:\"string\",subjAddress:\"string\",subjPhone:\"string\",subjEMail:\"string\",subjDNS:\"string\",subjEDRPOUCode:\"string\",subjDRFOCode:\"string\",subjNBUCode:\"string\",subjSPFMCode:\"string\",subjOCode:\"string\",subjOUCode:\" string\",subjUserCode:\"string\",certBeginTime:\"time\",certEndTime:\"time\",isPrivKeyTimesAvail:\"boolean\",privKeyBeginTime:\"time\",privKeyEndTime:\"time\",publicKeyType:\"number\",publicKeyBits:\"number\",RSAModul:\"string\",RSAExponent:\"string\",publicKey:\"string\",publicKeyID:\"string\",extKeyUsages:\"string\",crlDistribPoint1:\"string\",crlDistribPoint2:\"string\",isSubjTypeAvail:\"boolean\",subjType:\"number\",subjSubType:\"number\",isSelfSigned:\"boolean\",signIssuer:\"string\",signSerial:\"string\",subjUNZR:\"string\",subjCountry:\"string\",isQSCD:\"boolean\"},this.initializeFields()};y.makeTransferable(F),F.prototype.GetRequest=function(){return this.request},F.prototype.GetRequestType=function(){return this.requestType},F.prototype.GetDefaultRequestFileName=function(){return this.defaultRequestFileName},F.prototype.IsSimple=function(){return this.isSimple},F.prototype.GetSubject=function(){return this.subject},F.prototype.GetSubjCN=function(){return this.subjCN},F.prototype.GetSubjOrg=function(){return this.subjOrg},F.prototype.GetSubjOrgUnit=function(){return this.subjOrgUnit},F.prototype.GetSubjTitle=function(){return this.subjTitle},F.prototype.GetSubjState=function(){return this.subjState},F.prototype.GetSubjLocality=function(){return this.subjLocality},F.prototype.GetSubjFullName=function(){return this.subjFullName},F.prototype.GetSubjAddress=function(){return this.subjAddress},F.prototype.GetSubjPhone=function(){return this.subjPhone},F.prototype.GetSubjEMail=function(){return this.subjEMail},F.prototype.GetSubjDNS=function(){return this.subjDNS},F.prototype.GetSubjEDRPOUCode=function(){return this.subjEDRPOUCode},F.prototype.GetSubjDRFOCode=function(){return this.subjDRFOCode},F.prototype.GetSubjNBUCode=function(){return this.subjNBUCode},F.prototype.GetSubjSPFMCode=function(){return this.subjSPFMCode},F.prototype.GetSubjOCode=function(){return this.subjOCode},F.prototype.GetSubjOUCode=function(){return this.subjOUCode},F.prototype.GetSubjUserCode=function(){return this.subjUserCode},F.prototype.GetCertBeginTime=function(){return this.certBeginTime},F.prototype.GetCertEndTime=function(){return this.certEndTime},F.prototype.IsPrivKeyTimesAvail=function(){return this.isPrivKeyTimesAvail},F.prototype.GetPrivKeyBeginTime=function(){return this.privKeyBeginTime},F.prototype.GetPrivKeyEndTime=function(){return this.privKeyEndTime},F.prototype.GetPublicKeyType=function(){return this.publicKeyType},F.prototype.GetPublicKeyBits=function(){return this.publicKeyBits},F.prototype.GetRSAModul=function(){return this.RSAModul},F.prototype.GetRSAExponent=function(){return this.RSAExponent},F.prototype.GetPublicKey=function(){return this.publicKey},F.prototype.GetPublicKeyID=function(){return this.publicKeyID},F.prototype.GetExtKeyUsages=function(){return this.extKeyUsages},F.prototype.GetCRLDistribPoint1=function(){return this.crlDistribPoint1},F.prototype.GetCRLDistribPoint2=function(){return this.crlDistribPoint2},F.prototype.IsSubjTypeAvail=function(){return this.isSubjTypeAvail},F.prototype.GetSubjType=function(){return this.subjType},F.prototype.GetSubjSubType=function(){return this.subjSubType},F.prototype.IsSelfSigned=function(){return this.isSelfSigned},F.prototype.GetSignIssuer=function(){return this.signIssuer},F.prototype.GetSignSerial=function(){return this.signSerial},F.prototype.GetSubjUNZR=function(){return this.subjUNZR},F.prototype.GetSubjCountry=function(){return this.subjCountry},F.prototype.IsQSCD=function(){return this.isQSCD};var H=function(){this.setClassInfo(\"EndUserInfo\",3),this.fields={commonName:\"string\",locality:\"string\",state:\"string\",organization:\"string\",orgUnit:\"string\",title:\"string\",street:\"string\",phone:\"string\",surname:\"string\",givenname:\"string\",EMail:\"string\",DNS:\"string\",EDRPOUCode:\"string\",DRFOCode:\"string\",NBUCode:\"string\",SPFMCode:\"string\",OCode:\"string\",OUCode:\"string\",userCode:\"string\",UPN:\"string\",UNZR:\"string\",country:\"string\"},this.initializeFields()};y.makeTransferable(H),H.prototype.GetCommonName=function(){return this.commonName},H.prototype.SetCommonName=function(t){this.commonName=t},H.prototype.GetLocality=function(){return this.locality},H.prototype.SetLocality=function(t){this.locality=t},H.prototype.GetState=function(){return this.state},H.prototype.SetState=function(t){this.state=t},H.prototype.GetOrganization=function(){return this.organization},H.prototype.SetOrganization=function(t){this.organization=t},H.prototype.GetOrgUnit=function(){return this.orgUnit},H.prototype.SetOrgUnit=function(t){this.orgUnit=t},H.prototype.GetTitle=function(){return this.title},H.prototype.SetTitle=function(t){this.title=t},H.prototype.GetStreet=function(){return this.street},H.prototype.SetStreet=function(t){this.street=t},H.prototype.GetPhone=function(){return this.phone},H.prototype.SetPhone=function(t){this.phone=t},H.prototype.GetSurname=function(){return this.surname},H.prototype.SetSurname=function(t){this.surname=t},H.prototype.GetGivenname=function(){return this.givenname},H.prototype.SetGivenname=function(t){this.givenname=t},H.prototype.GetEMail=function(){return this.EMail},H.prototype.SetEMail=function(t){this.EMail=t},H.prototype.GetDNS=function(){return this.DNS},H.prototype.SetDNS=function(t){this.DNS=t},H.prototype.GetEDRPOUCode=function(){return this.EDRPOUCode},H.prototype.SetEDRPOUCode=function(t){this.EDRPOUCode=t},H.prototype.GetDRFOCode=function(){return this.DRFOCode},H.prototype.SetDRFOCode=function(t){this.DRFOCode=t},H.prototype.GetNBUCode=function(){return this.NBUCode},H.prototype.SetNBUCode=function(t){this.NBUCode=t},H.prototype.GetSPFMCode=function(){return this.SPFMCode},H.prototype.SetSPFMCode=function(t){this.SPFMCode=t},H.prototype.GetOCode=function(){return this.OCode},H.prototype.SetOCode=function(t){this.OCode=t},H.prototype.GetOUCode=function(){return this.OUCode},H.prototype.SetOUCode=function(t){this.OUCode=t},H.prototype.GetUserCode=function(){return this.userCode},H.prototype.SetUserCode=function(t){this.userCode=t},H.prototype.GetUPN=function(){return this.UPN},H.prototype.SetUPN=function(t){this.UPN=t},H.prototype.GetUNZR=function(){return this.UNZR},H.prototype.SetUNZR=function(t){this.UNZR=t},H.prototype.GetCountry=function(){return this.country},H.prototype.SetCountry=function(t){this.country=t};var Y=function(){this.setClassInfo(\"EndUserParams\",1),this.fields={SN:\"number\",commonName:\"string\",locality:\"string\",state:\"string\",organization:\"string\",orgUnit:\"string\",title:\"string\",street:\"string\",phone:\"string\",surname:\"string\",givenname:\"string\",EMail:\"string\",DNS:\"string\",EDRPOUCode:\"string\",DRFOCode:\"string\",NBUCode:\"string\",SPFMCode:\"string\",information:\"string\",passPhrase:\"string\",isPublishCertificate:\"boolean\",RAAdminSN:\"number\"},this.initializeFields()};y.makeTransferable(Y),Y.prototype.GetSN=function(){return this.SN},Y.prototype.SetSN=function(t){this.SN=t},Y.prototype.GetCommonName=function(){return this.commonName},Y.prototype.SetCommonName=function(t){this.commonName=t},Y.prototype.GetLocality=function(){return this.locality},Y.prototype.SetLocality=function(t){this.locality=t},Y.prototype.GetState=function(){return this.state},Y.prototype.SetState=function(t){this.state=t},Y.prototype.GetOrganization=function(){return this.organization},Y.prototype.SetOrganization=function(t){this.organization=t},Y.prototype.GetOrgUnit=function(){return this.orgUnit},Y.prototype.SetOrgUnit=function(t){this.orgUnit=t},Y.prototype.GetTitle=function(){return this.title},Y.prototype.SetTitle=function(t){this.title=t},Y.prototype.GetStreet=function(){return this.street},Y.prototype.SetStreet=function(t){this.street=t},Y.prototype.GetPhone=function(){return this.phone},Y.prototype.SetPhone=function(t){this.phone=t},Y.prototype.GetSurname=function(){return this.surname},Y.prototype.SetSurname=function(t){this.surname=t},Y.prototype.GetGivenname=function(){return this.givenname},Y.prototype.SetGivenname=function(t){this.givenname=t},Y.prototype.GetEMail=function(){return this.EMail},Y.prototype.SetEMail=function(t){this.EMail=t},Y.prototype.GetDNS=function(){return this.DNS},Y.prototype.SetDNS=function(t){this.DNS=t},Y.prototype.GetEDRPOUCode=function(){return this.EDRPOUCode},Y.prototype.SetEDRPOUCode=function(t){this.EDRPOUCode=t},Y.prototype.GetDRFOCode=function(){return this.DRFOCode},Y.prototype.SetDRFOCode=function(t){this.DRFOCode=t},Y.prototype.GetNBUCode=function(){return this.NBUCode},Y.prototype.SetNBUCode=function(t){this.NBUCode=t},Y.prototype.GetSPFMCode=function(){return this.SPFMCode},Y.prototype.SetSPFMCode=function(t){this.SPFMCode=t},Y.prototype.GetInformation=function(){return this.information},Y.prototype.SetInformation=function(t){this.information=t},Y.prototype.GetPassPhrase=function(){return this.passPhrase},Y.prototype.SetPassPhrase=function(t){this.passPhrase=t},Y.prototype.GetIsPublishCertificate=function(){return this.isPublishCertificate},Y.prototype.SetIsPublishCertificate=function(t){this.isPublishCertificate=t},Y.prototype.GetRAAdminSN=function(){return this.RAAdminSN},Y.prototype.SetRAAdminSN=function(t){this.RAAdminSN=t};var j=function(){this.setClassInfo(\"EndUserOperationContext\",1),this.fields={handle:\"string\"},this.initializeFields(),this.handle=null};y.makeTransferable(j),j.prototype.GetHandle=function(){return this.handle};var V=function(){this.setClassInfo(\"EndUserSession\",1),this.fields={handle:\"string\",data:\"byteArray\"},this.initializeFields()};y.makeTransferable(V),V.prototype.GetHandle=function(){return this.handle},V.prototype.SetHandle=function(t){this.handle=t},V.prototype.GetData=function(){return this.data},V.prototype.SetData=function(t){this.data=t};var W=function(){this.setClassInfo(\"EndUserSCClientStatistic\",1),this.fields={activeSessions:\"number\",gatedSessions:\"number\",unprotectedData:\"number\",protectedData:\"number\"},this.initializeFields()};y.makeTransferable(W),W.prototype.GetActiveSessions=function(){return this.activeSessions},W.prototype.GetGatedSessions=function(){return this.gatedSessions},W.prototype.GetUnprotectedData=function(){return this.unprotectedData},W.prototype.GetProtectedData=function(){return this.protectedData};var X=function(){this.setClassInfo(\"EndUserDeviceContext\",1),this.fields={handle:\"string\"},this.initializeFields(),this.handle=null};y.makeTransferable(X),X.prototype.GetHandle=function(){return this.handle};var z=function(){this.setClassInfo(\"EndUserTransportHeader\",1),this.fields={receiptNumber:\"number\",cryptoData:\"byteArray\"},this.initializeFields()};y.makeTransferable(z),z.prototype.GetReceiptNumber=function(){return this.receiptNumber},z.prototype.GetCryptoData=function(){return this.cryptoData};var J=function(){this.setClassInfo(\"EndUserCryptoHeader\",1),this.fields={caType:\"string\",headerType:\"number\",headerSize:\"number\",cryptoData:\"byteArray\"},this.initializeFields()};y.makeTransferable(J),J.prototype.GetCAType=function(){return this.caType},J.prototype.GetHeaderType=function(){return this.headerType},J.prototype.GetHeaderSize=function(){return this.headerSize},J.prototype.GetCryptoData=function(){return this.cryptoData};var q=function(){this.setClassInfo(\"EndUserContext\",1),this.fields={handle:\"string\"},this.initializeFields()};y.makeTransferable(q),q.prototype.GetHandle=function(){return this.handle};var Z=function(){this.setClassInfo(\"EndUserHashContext\",1),this.fields={handle:\"string\"},this.initializeFields()};y.makeTransferable(Z),Z.prototype.GetHandle=function(){return this.handle};var Q=function(){this.setClassInfo(\"EndUserPrivateKeyContext\",1),this.fields={handle:\"string\",ownerInfo:\"EndUserOwnerInfo\"},this.initializeFields()};y.makeTransferable(Q),Q.prototype.GetHandle=function(){return this.handle},Q.prototype.GetOwnerInfo=function(){return this.ownerInfo};var $=function(t,e){this.setClassInfo(\"EndUserReference\",1),this.fields={name:\"string\",data:\"byteArray\"},this.initializeFields(),this.name=t,this.data=e};y.makeTransferable($),$.prototype.GetName=function(){return this.name},$.prototype.SetName=function(t){this.name=t},$.prototype.GetData=function(){return this.data},$.prototype.SetData=function(t){this.data=t};var tt=function(t,e,n,r,i){this.setClassInfo(\"EndUserSSSignHashResult\",1),this.fields={error:\"number\",hash:\"string\",signature:\"string\",statusCode:\"number\",status:\"string\"},this.initializeFields(),this.error=t,this.hash=e,this.signature=n,this.statusCode=r,this.status=i};y.makeTransferable(tt),tt.prototype.GetError=function(){return this.error},tt.prototype.GetHash=function(){return this.hash},tt.prototype.GetSignature=function(){return this.signature},tt.prototype.GetStatusCode=function(){return this.statusCode},tt.prototype.GetStatus=function(){return this.status};var et=function(){this.setClassInfo(\"EndUserMakeCertificateResult\",1),this.fields={privateKey:\"byteArray\",certificates:\"array\",cmpRequest:\"byteArray\"},this.initializeFields()};y.makeTransferable(et),et.prototype.GetPrivateKey=function(){return this.privateKey},et.prototype.GetCertificate=function(t){return t<0||t>=this.certificates.length?null:this.certificates[t]},et.prototype.GetCertificatesCount=function(){return this.certificates.length},et.prototype.GetCertificates=function(){return this.certificates},et.prototype.GetCMPRequest=function(){return this.cmpRequest};var nt=function(){this.setClassInfo(\"EndUserKeyMediaDeviceInfo\",1),this.fields={version:\"number\",deviceNameAlias:\"string\",isDeviceNameAliasAvailable:\"boolean\",isPasswordAttemptsAvailable:\"boolean\",leftPasswordAttempts:\"number\",maxPasswordAttempts:\"number\",isUAKeysAvailable:\"boolean\",isUAKeysExists:\"boolean\"},this.initializeFields()};y.makeTransferable(nt),nt.prototype.GetVersion=function(){return this.version},nt.prototype.GetDeviceNameAlias=function(){return this.deviceNameAlias},nt.prototype.IsDeviceNameAliasAvailable=function(){return this.isDeviceNameAliasAvailable},nt.prototype.IsPasswordAttemptsAvailable=function(){return this.isPasswordAttemptsAvailable},nt.prototype.GetLeftPasswordAttempts=function(){return this.leftPasswordAttempts},nt.prototype.GetMaxPasswordAttempts=function(){return this.maxPasswordAttempts},nt.prototype.IsUAKeysAvailable=function(){return this.isUAKeysAvailable},nt.prototype.IsUAKeysExists=function(){return this.isUAKeysExists};var rt=function(t,e){this.errorCode=t,this.message=e,this.toString=function(){return this.message+\" (\"+this.errorCode+\")\"},this.GetErrorCode=function(){return this.errorCode},this.GetMessage=function(){return this.message}};function it(t,e){this.errorCode=t,this.message=e,this.toString=function(){return this.message+\" (\"+this.errorCode+\")\"},this.GetErrorCode=function(){return this.errorCode},this.GetMessage=function(){return this.message}}rt.ERROR_NONE=0,rt.ERROR_UNKNOWN=65535,rt.ERROR_NOT_SUPPORTED=65534,rt.ERROR_NOT_INITIALIZED=1,rt.ERROR_BAD_PARAMETER=2,rt.ERROR_LIBRARY_LOAD=3,rt.ERROR_READ_SETTINGS=4,rt.ERROR_TRANSMIT_REQUEST=5,rt.ERROR_MEMORY_ALLOCATION=6,rt.WARNING_END_OF_ENUM=7,rt.ERROR_PROXY_NOT_AUTHORIZED=8,rt.ERROR_NO_GUI_DIALOGS=9,rt.ERROR_DOWNLOAD_FILE=10,rt.ERROR_WRITE_SETTINGS=11,rt.ERROR_CANCELED_BY_GUI=12,rt.ERROR_OFFLINE_MODE=13,rt.ERROR_KEY_MEDIAS_FAILED=17,rt.ERROR_KEY_MEDIAS_ACCESS_FAILED=18,rt.ERROR_KEY_MEDIAS_READ_FAILED=19,rt.ERROR_KEY_MEDIAS_WRITE_FAILED=20,rt.WARNING_KEY_MEDIAS_READ_ONLY=21,rt.ERROR_KEY_MEDIAS_DELETE=22,rt.ERROR_KEY_MEDIAS_CLEAR=23,rt.ERROR_BAD_PRIVATE_KEY=24,rt.ERROR_PKI_FORMATS_FAILED=33,rt.ERROR_CSP_FAILED=34,rt.ERROR_BAD_SIGNATURE=35,rt.ERROR_AUTH_FAILED=36,rt.ERROR_NOT_RECEIVER=37,rt.ERROR_STORAGE_FAILED=49,rt.ERROR_BAD_CERT=50,rt.ERROR_CERT_NOT_FOUND=51,rt.ERROR_INVALID_CERT_TIME=52,rt.ERROR_CERT_IN_CRL=53,rt.ERROR_BAD_CRL=54,rt.ERROR_NO_VALID_CRLS=55,rt.ERROR_GET_TIME_STAMP=65,rt.ERROR_BAD_TSP_RESPONSE=66,rt.ERROR_TSP_SERVER_CERT_NOT_FOUND=67,rt.ERROR_TSP_SERVER_CERT_INVALID=68,rt.ERROR_GET_OCSP_STATUS=81,rt.ERROR_BAD_OCSP_RESPONSE=82,rt.ERROR_CERT_BAD_BY_OCSP=83,rt.ERROR_OCSP_SERVER_CERT_NOT_FOUND=84,rt.ERROR_OCSP_SERVER_CERT_INVALID=85,rt.ERROR_LDAP_ERROR=97,rt.ERROR_LIBRARY_COMUNICATION_FAILED=4097,rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED=4098,rt.ERROR_BROWSER_NOT_SUPPORTED=65537,rt.ERROR_OPEN_FILE=65552,rt.ERROR_READ_FILE=65553,rt.ERROR_WRITE_FILE=65554,rt.ERROR_DESCRIPTIONS_EX=[],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_NONE]=[\"Виконано успішно\",\"Выполнено успешно\",\"Executed successfully\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_NOT_SUPPORTED]=[\"Операція не підтримується\",\"Операция не поддерживается\",\"Operation is not supported\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_UNKNOWN]=[\"Невідома помилка\",\"Неизвестная ошибка\",\"Unknown error\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_LIBRARY_LOAD]=[\"Виникла помилка при завантаженні криптографічної бібліотеки\",\"Возникла ошибка при загрузке криптографической библиотеки\",\"Error at load crypto library\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_NOT_INITIALIZED]=[\"Бібліотека не ініціалізована\",\"Библиотека не инициализирована\",\"Library is not initialized\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_BAD_PARAMETER]=[\"Невірний параметр\",\"Неверный параметр\",\"Incorrect parameter\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_BAD_CERT]=[\"Сертифікат пошкоджений або не може бути використаний\",\"Сертификат поврежден или не может быть использован\",\"Certificate corrupted or cannot be used\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_CERT_NOT_FOUND]=[\"Сертифікат не знайдено\",\"Сертификат не найден\",\"Certificate not found\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_TRANSMIT_REQUEST]=[\"Виникла помилка при передачі запиту на сервер ЦСК за протоколом HTTP\",\"Возникла ошибка при передаче запроса на сервер ЦСК по протоколу HTTP\",\"Error at request transfer to CA's server by HTTP protocol\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_DOWNLOAD_FILE]=[\"Виникла помилка при завантаженні файлу з HTTP-сервера\",\"Возникла ошибка при загрузке файла с HTTP-сервера\",\"Error at the load of file from a HTTP-server\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_WRITE_SETTINGS]=[\"Виникла помилка при записі параметрів\",\"Возникла ошибка при записи параметров\",\"Error at the writing settings\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_PKI_FORMATS_FAILED]=[\"Виникла помилка при розборі чи формуванні даних (пошкоджені дані чи невірний формат)\",\"Возникла ошибка при разборе или формировании данных (поврежденные данные или неверный формат)\",\"Error at parsing or generating data (data corrupted or wrong format)\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_LIBRARY_COMUNICATION_FAILED]=[\"Виникла помилка при взаємодії з криптографічною бібліотекою\",\"Возникла ошибка при взаимодействии с криптографической библиотекой\",\"Error at comunication with crypto library\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED]=[\"Встановлена версія бібліотеки не підтримується\",\"Установленная версия библиотеки не поддерживается\",\"The installed version of the library is not supported\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_BROWSER_NOT_SUPPORTED]=[\"Ваш браузер не підтримується\",\"Ваш браузер не поддерживается\",\"Your browser is not supported\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_OPEN_FILE]=[\"Виникла помилка при відкритті файлу\",\"Возникла ошибка при открытии файла\",\"Error at open file\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_READ_FILE]=[\"Виникла помилка при зчитуванні файлу\",\"Возникла ошибка при чтении файла\",\"Error at read file\"],rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_WRITE_FILE]=[\"Виникла помилка при записі файлу\",\"Возникла ошибка при записи файла\",\"Error at write file\"],rt.isError=function(t){return t!=rt.ERROR_NONE},rt.isSuccess=function(t){return t==rt.ERROR_NONE},rt.getErrorDescriptionEx=function(t,e){var n,r;return void 0===(n=rt.ERROR_DESCRIPTIONS_EX[t])&&(n=rt.ERROR_DESCRIPTIONS_EX[rt.ERROR_UNKNOWN]),void 0===(r=n[e-1])?n[0]:r};var ot=function(t,n){this.vendor=\"JSC IIT\",this.classVersion=\"1.3.99\",this.className=\"EUSignCP\",this.SUBJECT_TYPE_UNDIFFERENCED=0,this.SUBJECT_TYPE_CA=1,this.SUBJECT_TYPE_CA_SERVER=2,this.SUBJECT_TYPE_RA_ADMINISTRATOR=3,this.SUBJECT_TYPE_END_USER=4,this.EU_SUBJECT_TYPE_UNDIFFERENCED=this.SUBJECT_TYPE_UNDIFFERENCED,this.EU_SUBJECT_TYPE_CA=this.SUBJECT_TYPE_CA,this.EU_SUBJECT_TYPE_CA_SERVER=this.SUBJECT_TYPE_CA_SERVER,this.EU_SUBJECT_TYPE_RA_ADMINISTRATOR=this.SUBJECT_TYPE_RA_ADMINISTRATOR,this.EU_SUBJECT_TYPE_END_USER=this.SUBJECT_TYPE_END_USER,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED=0,this.SUBJECT_CA_SERVER_SUB_TYPE_CMP=1,this.SUBJECT_CA_SERVER_SUB_TYPE_TSP=2,this.SUBJECT_CA_SERVER_SUB_TYPE_OCSP=3,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED=this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_CMP=this.SUBJECT_CA_SERVER_SUB_TYPE_CMP,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_TSP=this.SUBJECT_CA_SERVER_SUB_TYPE_TSP,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_OCSP=this.SUBJECT_CA_SERVER_SUB_TYPE_OCSP,this.CERT_KEY_TYPE_UNKNOWN=0,this.CERT_KEY_TYPE_DSTU4145=1,this.CERT_KEY_TYPE_RSA=2,this.CERT_KEY_TYPE_ECDSA=4,this.EU_CERT_KEY_TYPE_UNKNOWN=this.CERT_KEY_TYPE_UNKNOWN,this.EU_CERT_KEY_TYPE_DSTU4145=this.CERT_KEY_TYPE_DSTU4145,this.EU_CERT_KEY_TYPE_RSA=this.CERT_KEY_TYPE_RSA,this.EU_CERT_KEY_TYPE_ECDSA=this.CERT_KEY_TYPE_ECDSA,this.EU_CERT_HASH_TYPE_UNKNOWN=0,this.EU_CERT_HASH_TYPE_GOST34311=1,this.EU_CERT_HASH_TYPE_SHA1=2,this.EU_CERT_HASH_TYPE_SHA224=3,this.EU_CERT_HASH_TYPE_SHA256=4,this.EU_CERT_HASH_TYPE_SHA384=5,this.EU_CERT_HASH_TYPE_SHA512=6,this.EU_CERT_HASH_TYPE_DSTU7564_256=7,this.EU_CERT_HASH_TYPE_DSTU7564_384=8,this.EU_CERT_HASH_TYPE_DSTU7564_512=9,this.KEY_USAGE_UNKNOWN=0,this.KEY_USAGE_DIGITAL_SIGNATUR=1,this.KEY_KEY_USAGE_KEY_AGREEMENT=16,this.EU_KEY_USAGE_UNKNOWN=this.KEY_USAGE_UNKNOWN,this.EU_KEY_USAGE_DIGITAL_SIGNATURE=this.KEY_USAGE_DIGITAL_SIGNATUR,this.EU_KEY_USAGE_NON_REPUDATION=2,this.EU_KEY_USAGE_KEY_AGREEMENT=this.KEY_KEY_USAGE_KEY_AGREEMENT,this.EU_KEYS_REQUEST_TYPE_UA_DS=1,this.EU_KEYS_REQUEST_TYPE_UA_KEP=2,this.EU_KEYS_REQUEST_TYPE_INTERNATIONAL=3,this.EU_KEYS_TYPE_NONE=0,this.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_GOSTS=1,this.EU_KEYS_TYPE_RSA_WITH_SHA=2,this.EU_KEYS_TYPE_ECDSA_WITH_SHA=4,this.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_DSTU=8,this.EU_KEYS_LENGTH_DS_UA_191=1,this.EU_KEYS_LENGTH_DS_UA_257=2,this.EU_KEYS_LENGTH_DS_UA_307=3,this.EU_KEYS_LENGTH_DS_UA_FILE=4,this.EU_KEYS_LENGTH_DS_UA_CERT=5,this.EU_KEYS_LENGTH_KEP_UA_257=1,this.EU_KEYS_LENGTH_KEP_UA_431=2,this.EU_KEYS_LENGTH_KEP_UA_571=3,this.EU_KEYS_LENGTH_KEP_UA_FILE=4,this.EU_KEYS_LENGTH_KEP_UA_CERT=5,this.EU_KEYS_LENGTH_DS_RSA_1024=1,this.EU_KEYS_LENGTH_DS_RSA_2048=2,this.EU_KEYS_LENGTH_DS_RSA_3072=3,this.EU_KEYS_LENGTH_DS_RSA_4096=4,this.EU_KEYS_LENGTH_DS_RSA_FILE=5,this.EU_KEYS_LENGTH_DS_RSA_CERT=6,this.EU_KEYS_LENGTH_DS_ECDSA_192=1,this.EU_KEYS_LENGTH_DS_ECDSA_256=2,this.EU_KEYS_LENGTH_DS_ECDSA_384=3,this.EU_KEYS_LENGTH_DS_ECDSA_521=4,this.EU_KEYS_LENGTH_DS_ECDSA_FILE=5,this.EU_KEYS_LENGTH_DS_ECDSA_CERT=6,this.EU_RECIPIENT_APPEND_ISSUER_AND_SERIAL=1,this.EU_RECIPIENT_APPEND_KEY_ID=2,this.EU_RECIPIENT_APPEND_KEY_ID_USC_COMPAT=3,this.EU_SAVE_SETTINGS_PARAMETER=\"SaveSettings\",this.EU_RESOLVE_OIDS_PARAMETER=\"ResolveOIDs\",this.EU_MAKE_PKEY_PFX_CONTAINER_PARAMETER=\"MakePKeyPFXContainer\",this.EU_SIGN_INCLUDE_CONTENT_TIME_STAMP_PARAMETER=\"SignIncludeContentTimeStamp\",this.EU_SIGN_TYPE_PARAMETER=\"SignType\",this.EU_SIGN_INCLUDE_CA_CERTIFICATES_PARAMETER=\"SignIncludeCACertificates\",this.EU_FS_CALCULATE_FINGERPRINT=\"FSCalculateFingerprint\",this.EU_FORCE_USE_TSP_FROM_SETTINGS_PARAMETER=\"ForceUseTSPFromSettings\",this.EU_STRING_ENCODING_PARAMETER=\"StringEncoding\",this.EU_CHECK_CERT_CHAIN_ON_SIGN_TIME_PARAMETER=\"CheckCertChainOnSignTime\",this.EU_CONNECTIONS_TIMEOUT_PARAMETER=\"ConnectionsTimeout\",this.EU_LOG_EVENTS_THRESHOLD_PARAMETER=\"LogEventsThreshold\",this.EU_USE_SLOGIN_PRIVATE_KEY=\"UseSLoginPrivateKey\",this.EU_SETTINGS_ID_NONE=0,this.EU_SETTINGS_ID_MANDATORY=31,this.EU_SETTINGS_ID_ALL=1023,this.EU_SETTINGS_ID_FSTORE=1,this.EU_SETTINGS_ID_PROXY=2,this.EU_SETTINGS_ID_TSP=4,this.EU_SETTINGS_ID_OCSP=8,this.EU_SETTINGS_ID_LDAP=16,this.EU_SETTINGS_ID_MODE=32,this.EU_SETTINGS_ID_CMP=64,this.EU_SETTINGS_ID_KM=128,this.EU_SETTINGS_ID_OCSP_ACCESS_INFO_MODE=256,this.EU_SETTINGS_ID_OCSP_ACCESS_INFO=512,this.EU_SETTINGS_ID_TSL=1024,this.EU_SETTINGS_ID_LOG=2048,this.EU_HEADER_CA_TYPE=\"UA1\",this.EU_HEADER_PART_TYPE_SIGNED=1,this.EU_HEADER_PART_TYPE_ENCRYPTED=2,this.EU_HEADER_PART_TYPE_STAMPED=3,this.EU_HEADER_PART_TYPE_CERTCRYPT=4,this.EU_HEADER_MAX_CA_TYPE_SIZE=3,this.EU_SIGNED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_SIGNED,this.EU_ENCRYPTED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_ENCRYPTED,this.EU_TIMESTAMPED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_STAMPED,this.EU_CERTCRYPT_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_CERTCRYPT,this.EU_DEFAULT_LANG=0,this.EU_UA_LANG=1,this.EU_RU_LANG=2,this.EU_EN_LANG=3,this.EU_CONTENT_ENC_ALGO_DEFAULT=0,this.EU_CONTENT_ENC_ALGO_GOST28147_CFB=2,this.EU_CONTENT_ENC_ALGO_TDES_CBC=4,this.EU_CONTENT_ENC_ALGO_AES_128_CBC=5,this.EU_CONTENT_ENC_ALGO_AES_192_CBC=6,this.EU_CONTENT_ENC_ALGO_AES_256_CBC=7,this.EU_CONTENT_ENC_ALGO_DSTU7624_256_OFB=8,this.EU_CONTENT_ENC_ALGO_DSTU7624_256_CFB=9,this.EU_DEV_CTX_MIN_PUBLIC_DATA_ID=16,this.EU_DEV_CTX_MAX_PRIVATE_DATA_ID=175,this.EU_UA_OID_EXT_KEY_USAGE_STAMP=\"1.2.804.2.1.1.1.3.9\",this.EU_CCS_TYPE_REVOKE=1,this.EU_CCS_TYPE_HOLD=2,this.EU_REVOCATION_REASON_UNKNOWN=0,this.EU_REVOCATION_REASON_KEY_COMPROMISE=1,this.EU_REVOCATION_REASON_NEW_ISSURED=2,this.EU_SIGN_TYPE_UNKNOWN=0,this.EU_SIGN_TYPE_CADES_BES=1,this.EU_SIGN_TYPE_CADES_T=4,this.EU_SIGN_TYPE_CADES_C=8,this.EU_SIGN_TYPE_CADES_X_LONG=16,this.EU_SIGN_TYPE_CADES_X_LONG_TRUSTED=128,this.EU_CHECK_PRIVATE_KEY_CONTEXT_PARAMETER=\"CheckPrivateKey\",this.EU_RESOLVE_OIDS_CONTEXT_PARAMETER=\"ResolveOIDs\",this.EU_EXPORATABLE_CONTEXT_CONTEXT_PARAMETER=\"ExportableContext\",this.EU_ENCODE_ECDSA_SIGN_VALUE_CONTEXT_PARAMETER=\"EncodeECDSASignValue\",this.EU_USE_SLOGIN_PRIVATE_KEY_CONTEXT_PARAMETER=\"UseSLoginPrivateKey\",this.EU_RECIPIENT_APPEND_TYPE_BY_ISSUER_SERIAL=1,this.EU_RECIPIENT_APPEND_TYPE_BY_KEY_ID=2,this.EU_CTX_HASH_ALGO_UNKNOWN=0,this.EU_CTX_HASH_ALGO_GOST34311=1,this.EU_CTX_HASH_ALGO_SHA160=2,this.EU_CTX_HASH_ALGO_SHA224=3,this.EU_CTX_HASH_ALGO_SHA256=4,this.EU_CTX_HASH_ALGO_SHA384=5,this.EU_CTX_HASH_ALGO_SHA512=6,this.EU_CTX_HASH_ALGO_DSTU7564_256=7,this.EU_CTX_HASH_ALGO_DSTU7564_384=8,this.EU_CTX_HASH_ALGO_DSTU7564_512=9,this.EU_CTX_SIGN_UNKNOWN=0,this.EU_CTX_SIGN_DSTU4145_WITH_GOST34311=1,this.EU_CTX_SIGN_RSA_WITH_SHA=2,this.EU_CTX_SIGN_ECDSA_WITH_SHA=3,this.EU_CTX_SIGN_DSTU4145_WITH_DSTU7564=4,this.EU_FILE_PROCESS_CHUNK_SIZE=1048576,this.EU_ASIC_TYPE_UNKNOWN=0,this.EU_ASIC_TYPE_S=1,this.EU_ASIC_TYPE_E=2,this.EU_ASIC_SIGN_TYPE_UNKNOWN=0,this.EU_ASIC_SIGN_TYPE_CADES=1,this.EU_ASIC_SIGN_TYPE_XADES=2,this.EU_ASIC_SIGN_LEVEL_BES=1,this.EU_ASIC_SIGN_LEVEL_T=4,this.EU_ASIC_SIGN_LEVEL_C=8,this.EU_ASIC_SIGN_LEVEL_X_LONG=16,this.EU_ASIC_SIGN_LEVEL_X_LONG_TRUSTED=128,this.EU_XADES_SIGN_TYPE_UNKNOWN=0,this.EU_XADES_TYPE_DETACHED=1,this.EU_XADES_TYPE_ENVELOPING=2,this.EU_XADES_TYPE_ENVELOPED=3,this.EU_XADES_SIGN_LEVEL_BES=1,this.EU_XADES_SIGN_LEVEL_T=4,this.EU_XADES_SIGN_LEVEL_B_LT=16,this.EU_XADES_SIGN_LEVEL_B_LTA=32,this.EU_PADES_SIGN_LEVEL_B_B=1,this.EU_PADES_SIGN_LEVEL_B_T=4,this.EU_PADES_SIGN_LEVEL_B_LT=16,this.EU_PADES_SIGN_LEVEL_B_LTA=32,this.EU_CP_ACP_ENCODING=0,this.EU_CP_1251_ENCODING=1251,this.EU_UTF8_ENCODING=65001,this.m_language=this.EU_DEFAULT_LANG,this.m_lastErrorCode=rt.ERROR_NONE,this.m_lastError=\"\",this.m_charset=\"UTF-8\",this.m_stringCoder=new e,this.m_base64Coder=new s,this.m_dateCoder=new o,this.m_browserInfo=new u;var r=1;switch(t){case\"chrome-extension://jffafkigfgmjafhpkoibhfefeaebmccg/\":r=2,this.m_browserInfo.GetName()==u.BROWSER_NAME_FIREFOX&&(t=\"eusw@iit.com.ua\");break;case\"clsid:B7E24C75-E343-4DA2-A8D3-C80970FB7D7B\":r=4;break;case\"application/x-eusign-cp\":r=3}this.m_jsonRpcClient=new l(r,t,n,!(\"http:\"==window.location.protocol)),this.m_monitorLibraryTimer=null};return ot.prototype._funcMakeParams=function(t){var e=[];null==t&&(t=[]);for(var n=function(t){if(E(t))return t.encode();if(Array.isArray(t)){for(var e=t.length,r=[],i=0;i<e;i++)r[i]=n(t[i]);return r}return t},r=t.length,i=0;i<r;i++)e[i]=n(t[i]);return e},ot.prototype._funcCall=function(t,e,n,r,i){var o;if(!this.IsAsync(n,r))return o=this.m_jsonRpcClient.execute(t,e,null),o=this._funcHandleResult(o),i?i(o):o;var s=null==i?n:function(t){i(t,n,r)},a=this;this.m_jsonRpcClient.execute(t,e,(function(t){a._funcHandleResult(t,s,r)}))},ot.prototype._funcHandleResult=function(t,e,n){var r,i,o=this.IsAsync(e,n);if(null==t){if(r=this.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\"),o)return void n(r);throw new it(r.errorCode,r.message)}if(i=(r=t.error).code,rt.isError(i)){if(i==rt.WARNING_END_OF_ENUM)return o?void e(null):null;if(r=this.MakeError(i,r.message),o)return void n(r);throw new it(r.errorCode,r.message)}try{t=this._funcDecodeResult(t.result)}catch(t){if(r=this.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\"),o)return void n(r);throw new it(r.errorCode,r.message)}if(!o)return t;e(t)},ot.prototype._funcDecodeResult=function(t){if(null==t)return null;var e=function(t){if(Array.isArray(t)){for(var n=[],r=t.length,i=0;i<r;i++)n[i]=e(t[i]);return n}if(\"object\"==typeof t){var o,s=t.className;return(o=new y[s]).decode(t)?\"EndUserByteArray\"==o.className?o.GetData():o:null}return t};return e(t)},ot.prototype._checkVersion=function(t){try{var e=this.classVersion;if(e==t)return!0;if(e=e.split(\".\"),t=t.split(\".\"),e.length!=t.length)return!1;for(var n=0;n<t.length;n++)if(parseInt(e[n])>parseInt(t[n]))return!1}catch(t){return!1}return!0},ot.prototype._stringToBytes=function(t,e){try{return this.m_stringCoder.encode(t)}catch(t){var n=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(void 0!==e)return setTimeout((function(){e(n)}),1),null;throw new it(n.errorCode,n.message)}},ot.prototype._bytesToString=function(t,e){try{return this.m_stringCoder.decode(t)}catch(t){var n=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(void 0!==e)return setTimeout((function(){e(n)}),1),null;throw new it(n.errorCode,n.message)}},ot.prototype._base64Encode=function(t,e){try{return this.m_base64Coder.encode(t)}catch(t){var n=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(void 0!==e)return setTimeout((function(){e(n)}),1),null;throw new it(n.errorCode,n.message)}},ot.prototype._base64Decode=function(t,e){try{return this.m_base64Coder.decode(t)}catch(t){var n=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(void 0!==e)return setTimeout((function(){e(n)}),1),null;throw new it(n.errorCode,n.message)}},ot.prototype._copyArrayData=function(t,e){try{if(t.length!=e.length)return!1;if(Array.isArray(e)||Array.isArray(t))for(var n=0;n<e.length;n++)t[n]=e[n];else t.set(e);return!0}catch(t){return!1}},ot.prototype._startMonitorLibraryStatus=function(){var t=this;try{t.m_monitorLibraryTimer=setInterval((function(){t.IsInitialized((function(e){e||t._stopMonitorLibraryStatus()}),(function(e){t._stopMonitorLibraryStatus()}))}),6e5)}catch(t){}},ot.prototype._stopMonitorLibraryStatus=function(){try{if(null==this.m_monitorLibraryTimer)return;clearInterval(this.m_monitorLibraryTimer),this.m_monitorLibraryTimer=null}catch(t){}},ot.prototype._getAndroidAppIntentURL=function(t,e){var n=\"intent://addurlandstart?url={URL_LOCATION}#Intent;scheme=saclient;package=ua.com.iit.signagentmanagement;S.browser_fallback_url={URL_INSTALL};end;\";return n=(n=n.replace(\"{URL_LOCATION}\",encodeURIComponent(location.origin))).replace(\"{URL_INSTALL}\",encodeURIComponent(t+\"/\"+e))},ot.prototype.IsAsync=function(t,e){return void 0!==t&&void 0!==e},ot.prototype.MakeError=function(t,e){return\"\"==e&&(e=rt.getErrorDescriptionEx(t,this.m_language)),this.m_lastErrorCode=t,this.m_lastError=e,new rt(t,e)},ot.prototype.RaiseError=function(t,e){var n;throw new it((n=this.MakeError(t,e)).errorCode,n.message)},ot.prototype.GetInstallURL=function(t,e){var n=this,r=n.m_browserInfo.GetOSName(),i=n.m_browserInfo.GetArch(),o=[];e=e||\"https://iit.com.ua/download/productfiles\";var s,a=function(t){o.push(e+\"/\"+t)};switch(r){case u.OS_NAME_WINDOWS:a(\"EUSignWebInstall.exe\");break;case u.OS_NAME_MAC:a(\"EUSignWebInstall.pkg\");break;case u.OS_NAME_LINUX:i==u.BROWSER_ARCH_NAME_X86?(a(\"euswi.deb\"),a(\"euswi.rpm\"),a(\"euswi.tar\")):(a(\"euswi.64.deb\"),a(\"euswi.64.rpm\"),a(\"euswi.64.tar\"));break;case u.OS_NAME_ANDROID:s=\"EUSignWebInstall.apk\",o.push(n._getAndroidAppIntentURL(e,s));break;case u.OS_NAME_IOS:a(\"EUSignWebInstall.app\");break;default:return null}return t?o:o[0]},ot.prototype.GetUpdateURL=function(t,e){var n=this,r=n.m_browserInfo.GetOSName(),i=n.m_browserInfo.GetArch(),o=[];e=e||\"https://iit.com.ua/download/productfiles\";var s,a=function(t){o.push(e+\"/\"+t)};switch(r){case u.OS_NAME_WINDOWS:a(\"EUSignWebUpdate.exe\");break;case u.OS_NAME_MAC:a(\"EUSignWebInstall.pkg\");break;case u.OS_NAME_LINUX:i==u.BROWSER_ARCH_NAME_X86?(a(\"euswi.deb\"),a(\"euswi.rpm\"),a(\"euswi.tar\")):(a(\"euswi.64.deb\"),a(\"euswi.64.rpm\"),a(\"euswi.64.tar\"));break;case u.OS_NAME_ANDROID:s=\"EUSignWebInstall.apk\",o.push(n._getAndroidAppIntentURL(e,s));break;case u.OS_NAME_IOS:a(\"EUSignWebInstall.app\");break;default:return null}return t?o:o[0]},ot.prototype.GetHelpURL=function(t){switch(t=t||\"https://iit.com.ua/download/productfiles\",this.m_browserInfo.GetOSName()){case u.OS_NAME_WINDOWS:case u.OS_NAME_MAC:case u.OS_NAME_LINUX:return t+\"/EUSignWebOManual.pdf\";default:return null}},ot.prototype.GetWebExtensionInstallURL=function(){switch(this.m_browserInfo.GetName()){case u.BROWSER_NAME_CHROME:return t;case u.BROWSER_NAME_FIREFOX:return\"https://eu.iit.com.ua/download/productfiles/eusw@iit.com.ua.xpi\";case u.BROWSER_NAME_OPERA:return\"https://chrome.google.com/webstore/detail/%D1%96%D1%96%D1%82-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87-%D1%86%D1%81%D0%BA-1-%D0%B1%D1%96%D0%B1%D0%BB/jffafkigfgmjafhpkoibhfefeaebmccg?utm_source=chrome-app-launcher-info-dialog\";default:return null}},ot.prototype.GetInstallPath=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetInstallPath\",n,t,e,null)},ot.prototype.SelectFile=function(t,e,n,r){return this.SelectFileEx(t,e,null,null,null,null,n,r)},ot.prototype.SelectFileEx=function(t,e,n,r,i,o,s,a){var u;return u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"SelectFile\",u,s,a,null)},ot.prototype.SelectFolder=function(t,e){return this.SelectFolderEx(null,null,null,t,e)},ot.prototype.SelectFolderEx=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"SelectFolder\",o,r,i,null)},ot.prototype.CreateFolder=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"CreateFolder\",r,e,n,null)},ot.prototype.ReadFile=function(t,e,n){var r=this.IsAsync(e,n),i=this,o=i.EU_FILE_PROCESS_CHUNK_SIZE;if(!r){for(var s,a=i.GetFileSize(t),u=Math.floor(a/o),c=a%o,l=new Uint8Array(a),f=0;f<u;f++)s=i.ReadFileWithOffset(t,f*o,o),l.set(s,f*o,s.length);return 0!=c&&(s=i.ReadFileWithOffset(t,u*o,c),l.set(s,u*o,s.length)),l}var _={buf:null,length:0,curLength:0},p=function(r){if(r.curLength!=r.length){var s=r.length-r.curLength;s>o&&(s=o),i.ReadFileWithOffset(t,r.curLength,s,(function(t){r.buf.set(t,r.curLength,t.length),r.curLength+=t.length,p(r)}),n)}else e(r.buf)};i.GetFileSize(t,(function(t){_.buf=new Uint8Array(t),_.length=t,p(_)}),n)},ot.prototype.WriteFile=function(t,e,n,r){var i=this.IsAsync(n,r),o=this,s=o.EU_FILE_PROCESS_CHUNK_SIZE;if(i){var a={buf:null,length:0,curLength:0},u=function(e,i){if(i||e.curLength!=e.length){var a=e.length-e.curLength;a>s&&(a=s),o.WriteFileWithOffset(t,e.curLength,o.Copy(e.buf,e.curLength,s),(function(){e.curLength+=a,u(e,!1)}),r)}else n()};a.buf=e,a.length=e.length,u(a,!0)}else{for(var c=e.length,l=Math.floor(c/s),f=c%s,_=0;_<l;_++)o.WriteFileWithOffset(t,_*s,o.Copy(e,_*s,s));0==f&&0!=e.length||o.WriteFileWithOffset(t,l*s,o.Copy(e,l*s,f))}},ot.prototype.GetFileSize=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetFileSize\",r,e,n,null)},ot.prototype.ReadFileWithOffset=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"ReadFileWithOffset\",o,r,i,null)},ot.prototype.WriteFileWithOffset=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"WriteFileWithOffset\",o,r,i,null)},ot.prototype.DeleteFile=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"DeleteFile\",r,e,n,null)},ot.prototype.AppendFile=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"AppendFile\",i,n,r,null)},ot.prototype.CopyFileWithOffset=function(t,e,n,r,i,o){var s;s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"CopyFileWithOffset\",s,i,o,null)},ot.prototype.Load=function(t,e){var n=this.IsAsync(t,e),r=this;if(n)this.GetVersion((function(n){if(r._checkVersion(n))t();else{var i=r.MakeError(rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED,\"\");e(i)}}),(function(t){t=r.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\"),e(t)}));else{var i;try{i=this._checkVersion(this.GetVersion())}catch(t){this.RaiseError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\")}i||this.RaiseError(rt.ERROR_LIBRARY_VERSION_NOT_SUPPORTED,\"\")}},ot.prototype.GetVersion=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetVersion\",n,t,e,null)},ot.prototype.IsInitialized=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"IsInitialized\",n,t,e,null)},ot.prototype.Initialize=function(t,e){var n,r=this,i=this.IsAsync(t,e);n=this._funcMakeParams(null),this._funcCall(\"Initialize\",n,i?function(){r._startMonitorLibraryStatus(),t()}:t,e,null),i||r._startMonitorLibraryStatus()},ot.prototype.Finalize=function(t,e){var n;this._stopMonitorLibraryStatus(),n=this._funcMakeParams(null),this._funcCall(\"Finalize\",n,t,e,null)},ot.prototype.ResetOperation=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ResetOperation\",n,t,e,null)},ot.prototype.SetUIMode=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetUIMode\",r,e,n,null)},ot.prototype.SetLanguage=function(t,e,n){var r,i=this,o=this.IsAsync(e,n);r=this._funcMakeParams([t]),this._funcCall(\"SetLanguage\",r,o?function(){i.m_language=t,e()}:e,n,null),o||(this.m_language=t)},ot.prototype.SetCharset=function(t,e,n){var r,o=this.IsAsync(e,n);if(null==(r=i.GetCoder(t))){var s=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(o)return void setTimeout((function(){n(s)}),1);throw new it(s.errorCode,s.message)}this.m_stringCoder=r,this.m_charset=t,o&&setTimeout((function(){e()}),1)},ot.prototype.SetRuntimeParameter=function(t,e,n,r){var i;\"boolean\"==typeof e&&(e=e?1:0),i=this._funcMakeParams([t,e]),this._funcCall(\"SetRuntimeParameter\",i,n,r,null)},ot.prototype.GetStorageParameter=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetStorageParameter\",i,n,r,null)},ot.prototype.SetStorageParameter=function(t,e,n,r,i){var o;o=this._funcMakeParams([t,e,n]),this._funcCall(\"SetStorageParameter\",o,r,i,null)},ot.prototype.CreateArrayList=function(){return new p},ot.prototype.GetLastError=function(){return this.m_lastError},ot.prototype.GetLastErrorCode=function(){return this.m_lastErrorCode},ot.prototype.BASE64Encode=function(t,e,n){var r=this._base64Encode(t,n);if(!this.IsAsync(e,n))return r;setTimeout((function(){e(r)}),1)},ot.prototype.BASE64Decode=function(t,e,n){var r=this._base64Decode(t,n);if(!this.IsAsync(e,n))return r;setTimeout((function(){e(r)}),1)},ot.prototype.StringToBytes=function(t,e,n){var r=this._stringToBytes(t,n);if(!this.IsAsync(e,n))return r;setTimeout((function(){e(r)}),1)},ot.prototype.BytesToString=function(t,e,n){var r=this._bytesToString(t,n);if(!this.IsAsync(e,n))return r;setTimeout((function(){e(r)}),1)},ot.prototype.Concatenate=function(t,e){if(Array.isArray(t)&&Array.isArray(e))return t.concat(e);var n,r=t.length+e.length;if(Array.isArray(t)||Array.isArray(e)){var i,o;for(n=new Array(r),i=0;i<t.length;i++)n[i]=t[i];for(o=0;o<e.length;i++,o++)n[i]=e[o]}else(n=new h(r)).set(t),n.set(e,t.length);return n},ot.prototype.Copy=function(t,e,n){return t.slice(e,e+n)},ot.prototype.SetSettings=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"SetSettings\",n,t,e,null)},ot.prototype.DoesNeedSetSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"DoesNeedSetSettings\",n,t,e,null)},ot.prototype.InitializeMandatorySettings=function(t,e){var n=this;if(this.IsAsync(t,e))a((function(t){var r=n.CreateFileStoreSettings();n.SetFileStoreSettings(r,t,e)})).eu_wait((function(t){n.GetProxySettings((function(e){t()}),(function(r){n.GetSystemProxySettings((function(r){n.SetProxySettings(r,t,e)}),(function(r){var i=n.CreateProxySettings();n.SetProxySettings(i,t,e)}))}))})).eu_wait((function(t){var r=n.CreateTSPSettings();n.SetTSPSettings(r,t,e)})).eu_wait((function(t){var r=n.CreateLDAPSettings();n.SetLDAPSettings(r,t,e)})).eu_wait((function(){var r=n.CreateOCSPSettings();n.SetOCSPSettings(r,t,e)}));else{var r,i=n.CreateFileStoreSettings();n.SetFileStoreSettings(i);try{r=n.GetProxySettings()}catch(t){r=n.CreateProxySettings();try{r=n.GetSystemProxySettings()}catch(t){}n.SetProxySettings(r)}var o=n.CreateTSPSettings();n.SetTSPSettings(o);var s=n.CreateLDAPSettings();n.SetLDAPSettings(s);var u=n.CreateOCSPSettings();n.SetOCSPSettings(u)}},ot.prototype.CreateModeSettings=function(){return new v},ot.prototype.GetModeSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetModeSettings\",n,t,e,null)},ot.prototype.SetModeSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetModeSettings\",r,e,n,null)},ot.prototype.CreateKeyMediaSettings=function(){return new I},ot.prototype.GetKeyMediaSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetKeyMediaSettings\",n,t,e,null)},ot.prototype.SetKeyMediaSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetKeyMediaSettings\",r,e,n,null)},ot.prototype.CreateFileStoreSettings=function(){return new d},ot.prototype.GetFileStoreSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetFileStoreSettings\",n,t,e,null)},ot.prototype.SetFileStoreSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetFileStoreSettings\",r,e,n,null)},ot.prototype.CreateProxySettings=function(){return new A},ot.prototype.GetProxySettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetProxySettings\",n,t,e,null)},ot.prototype.SetProxySettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetProxySettings\",r,e,n,null)},ot.prototype.CreateOCSPSettings=function(){return new R},ot.prototype.GetOCSPSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetOCSPSettings\",n,t,e,null)},ot.prototype.SetOCSPSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetOCSPSettings\",r,e,n,null)},ot.prototype.CreateOCSPAccessInfoModeSettings=function(){return new P},ot.prototype.GetOCSPAccessInfoModeSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetOCSPAccessInfoModeSettings\",n,t,e,null)},ot.prototype.SetOCSPAccessInfoModeSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetOCSPAccessInfoModeSettings\",r,e,n,null)},ot.prototype.CreateOCSPAccessInfoSettings=function(){return new U},ot.prototype.EnumOCSPAccessInfoSettings=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"EnumOCSPAccessInfoSettings\",r,e,n,null)},ot.prototype.GetOCSPAccessInfoSettings=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetOCSPAccessInfoSettings\",r,e,n,null)},ot.prototype.SetOCSPAccessInfoSettings=function(t,e,n){var r,i=this,o=i.IsAsync(e,n);if(t=Array.isArray(t)?t:[t],o){var s=function(o){o>=t.length?e():(r=i._funcMakeParams([t[o]]),i._funcCall(\"SetOCSPAccessInfoSettings\",r,(function(){s(o+1)}),n,null))};s(0)}else for(var a=0;a<t.length;a++)r=i._funcMakeParams([t[a]]),i._funcCall(\"SetOCSPAccessInfoSettings\",r,e,n,null)},ot.prototype.DeleteOCSPAccessInfoSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"DeleteOCSPAccessInfoSettings\",r,e,n,null)},ot.prototype.CreateTSPSettings=function(){return new m},ot.prototype.GetTSPSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetTSPSettings\",n,t,e,null)},ot.prototype.SetTSPSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetTSPSettings\",r,e,n,null)},ot.prototype.CreateLDAPSettings=function(){return new T},ot.prototype.GetLDAPSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetLDAPSettings\",n,t,e,null)},ot.prototype.SetLDAPSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetLDAPSettings\",r,e,n,null)},ot.prototype.CreateCMPSettings=function(){return new g},ot.prototype.GetCMPSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetCMPSettings\",n,t,e,null)},ot.prototype.SetCMPSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetCMPSettings\",r,e,n,null)},ot.prototype.GetSystemProxySettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetSystemProxySettings\",n,t,e,null)},ot.prototype.SetOCSPResponseExpireTime=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetOCSPResponseExpireTime\",r,e,n,null)},ot.prototype.CreateTSLSettings=function(){return new D},ot.prototype.GetTSLSettings=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetTSLSettings\",n,t,e,null)},ot.prototype.SetTSLSettings=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SetTSLSettings\",r,e,n,null)},ot.prototype.RefreshFileStore=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"RefreshFileStore\",r,e,n,null)},ot.prototype.ShowCertificates=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ShowCertificates\",n,t,e,null)},ot.prototype.SelectCertificateInfo=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"SelectCertificateInfo\",n,t,e,null)},ot.prototype.GetCertificatesCount=function(t,e,n,r){var i;return\"number\"==typeof t&&\"number\"==typeof e||(n=t,r=e,t=this.SUBJECT_TYPE_UNDIFFERENCED,e=this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED),i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificatesCount\",i,n,r,null)},ot.prototype.GetCACertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_CA,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,t,e)},ot.prototype.GetCAServerCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,t,e)},ot.prototype.GetCMPServerCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_CMP,t,e)},ot.prototype.GetOCSPServerCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_OCSP,t,e)},ot.prototype.GetTSPServerCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_TSP,t,e)},ot.prototype.GetRAAdministratorCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_RA_ADMINISTRATOR,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,t,e)},ot.prototype.GetEndUserCertificatesCount=function(t,e){return this.GetCertificatesCount(this.SUBJECT_TYPE_END_USER,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,t,e)},ot.prototype.EnumCertificates=function(t,e,n,r,i){var o;return\"number\"==typeof e&&\"number\"==typeof n||(r=e,i=n,n=t,t=this.SUBJECT_TYPE_UNDIFFERENCED,e=this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED),o=this._funcMakeParams([t,e,n]),this._funcCall(\"EnumCertificates\",o,r,i,null)},ot.prototype.EnumCACertificates=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_CA,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,e,n)},ot.prototype.EnumCAServerCertificates=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,e,n)},ot.prototype.EnumCMPServerCertificatesCount=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_CMP,e,n)},ot.prototype.EnumOCSPServerCertificatesCount=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_OCSP,e,n)},ot.prototype.EnumTSPServerCertificatesCount=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_CA_SERVER,this.SUBJECT_CA_SERVER_SUB_TYPE_TSP,e,n)},ot.prototype.EnumRAAdministratorCertificatesCount=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_RA_ADMINISTRATOR,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,e,n)},ot.prototype.EnumEndUserCertificatesCount=function(t,e,n){return this.EnumCertificates(t,this.SUBJECT_TYPE_END_USER,this.SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED,e,n)},ot.prototype.GetCertificateInfo=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificateInfo\",i,n,r,null)},ot.prototype.GetCertificateInfoEx=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificateInfoEx\",i,n,r,null)},ot.prototype.GetCertificate=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificate\",i,n,r,null)},ot.prototype.CheckCertificateByIssuerAndSerial=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"CheckCertificateByIssuerAndSerial\",i,n,r,null)},ot.prototype.CheckCertificate=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"CheckCertificate\",r,e,n,null)},ot.prototype.ParseCertificate=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ParseCertificate\",r,e,n,null)},ot.prototype.ParseCertificateEx=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ParseCertificateEx\",r,e,n,null)},ot.prototype.SaveCertificate=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"SaveCertificate\",r,e,n,null)},ot.prototype.SaveCertificates=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"SaveCertificates\",r,e,n,null)},ot.prototype.SaveCertificatesEx=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e?new S(e):null]),this._funcCall(\"SaveCertificatesEx\",i,n,r,null)},ot.prototype.GetCertificatesFromLDAPByEDRPOUCode=function(t,e,n,r,i,o,s){var a;return null!=r&&null!=i?(\"EndUserArrayList\"==r.className&&(r=r.m_array),\"EndUserArrayList\"==i.className&&(i=i.m_array)):(r=null,i=null),a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"GetCertificatesFromLDAPByEDRPOUCode\",a,o,s,null)},ot.prototype.GetCertificateByEmail=function(t,e,n,r,i,o){var s;return\"string\"!=typeof r&&(r=this.m_dateCoder.encode(r)),s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"GetCertificateByEmail\",s,i,o,null)},ot.prototype.GetCertificateByNBUCode=function(t,e,n,r,i,o){var s;return\"string\"!=typeof r&&(r=this.m_dateCoder.encode(r)),s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"GetCertificateByNBUCode\",s,i,o,null)},ot.prototype.GetReceiversCertificates=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetReceiversCertificates\",n,t,e,null)},ot.prototype.GetReceiversCertificatesInArrayList=function(t,e){var n,r=this;return n=this._funcMakeParams(null),this._funcCall(\"GetReceiversCertificates\",n,t,e,(function(t,e,n){var i=r.IsAsync(e,n);try{for(var o=new p,s=0;s<t.length;s++)o.add(t[s]);if(!i)return o;e(o)}catch(t){var a=r.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(i)return void n(a);throw new it(a.errorCode,a.message)}}))},ot.prototype.GetCertificates=function(t,e,n,r){var i,o=this;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificates\",i,n,r,(function(t,e,n){var r=o.IsAsync(e,n);try{for(var i=new p,s=0;s<t.length;s++)i.add(t[s]);if(!r)return i;e(i)}catch(t){var a=o.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(r)return void n(a);throw new it(a.errorCode,a.message)}}))},ot.prototype.GetCertificateByFingerprint=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetCertificateByFingerprint\",r,e,n,null)},ot.prototype.GetCertificatesByEDRPOUAndDRFOCode=function(t,e,n,r){var i,o=this;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificatesByEDRPOUAndDRFOCode\",i,n,r,(function(t,e,n){var r=o.IsAsync(e,n);try{for(var i=new p,s=0;s<t.length;s++)i.add(t[s]);if(!r)return i;e(i)}catch(t){var a=o.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(r)return void n(a);throw new it(a.errorCode,a.message)}}))},ot.prototype.ShowCRLs=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ShowCRLs\",n,t,e,null)},ot.prototype.GetCRLsCount=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetCRLsCount\",n,t,e,null)},ot.prototype.EnumCRLs=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"EnumCRLs\",r,e,n,null)},ot.prototype.GetCRLDetailedInfo=function(t,e,n,r){var i;return i=this._funcMakeParams([t,parseInt(e)]),this._funcCall(\"GetCRLDetailedInfo\",i,n,r,null)},ot.prototype.SaveCRL=function(t,e,n,r){var i;return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SaveCRL\",i,n,r,null)},ot.prototype.GetTSPByAccessInfo=function(t,e,n,r,i,o){var s;if(\"string\"==typeof e||null!=(e=this._base64Encode(e,o)))return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"GetTSPByAccessInfo\",s,i,o,null)},ot.prototype.CheckTSP=function(t,e,n,r,i){var o;\"string\"==typeof t&&null==(t=this._base64Decode(t,i))||null!=n&&\"string\"!=typeof n&&null==(n=this._base64Encode(n,i))||(o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"CheckTSP\",o,r,i,null))},ot.prototype.GetOCSPResponseByAccessInfo=function(t,e,n,r,i){var o;return o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"GetOCSPResponseByAccessInfo\",o,r,i,null)},ot.prototype.CheckOCSPResponse=function(t,e,n,r){var i;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,r)))return null!=e&&\"string\"!=typeof e&&(e=this.m_dateCoder.encode(e)),i=this._funcMakeParams([new S(t),e]),this._funcCall(\"CheckOCSPResponse\",i,n,r,null)},ot.prototype.CreateKeyMedia=function(){return new C},ot.prototype.GetPrivateKeyMedia=function(t,e,n){var r;return\"string\"!=typeof t&&(t=null),r=this._funcMakeParams([t]),this._funcCall(\"GetPrivateKeyMedia\",r,e,n,null)},ot.prototype.EnumKeyMediaTypes=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"EnumKeyMediaTypes\",r,e,n,null)},ot.prototype.EnumKeyMediaDevices=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"EnumKeyMediaDevices\",i,n,r,null)},ot.prototype.GetKeyMediaTypes=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetKeyMediaTypes\",n,t,e,null)},ot.prototype.GetKeyMediaDevices=function(t,e,n){var r;return\"number\"==typeof t&&(t=[t]),t&&(t=new S(t)),r=this._funcMakeParams([t]),this._funcCall(\"GetKeyMediaDevices\",r,e,n,null)},ot.prototype.GetKeyMediaDeviceInfo=function(t,e,n,r){var i,o;return\"number\"==typeof t?((o=new C).typeIndex=t,o.devIndex=e,o.password=\"\"):(o=t,r=n,n=e),i=this._funcMakeParams([o]),this._funcCall(\"GetKeyMediaDeviceInfo\",i,n,r,null)},ot.prototype.IsPrivateKeyReaded=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"IsPrivateKeyReaded\",n,t,e,null)},ot.prototype.ReadPrivateKey=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ReadPrivateKey\",n,t,e,null)},ot.prototype.ReadPrivateKeySilently=function(t,e,n,r,i){var o,s;\"number\"==typeof t?((s=new C).typeIndex=t,s.devIndex=e,s.password=n):(s=t,r=e,i=n),o=this._funcMakeParams([s]),this._funcCall(\"ReadPrivateKeySilently\",o,r,i,null)},ot.prototype.ReadPrivateKeyBinary=function(t,e,n,r){var i;i=this._funcMakeParams([new S(t),e]),this._funcCall(\"ReadPrivateKeyBinary\",i,n,r,null)},ot.prototype.ReadPrivateKeyFile=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"ReadPrivateKeyFile\",i,n,r,null)},ot.prototype.CtxReadPrivateKey=function(t,e,n,r,i,o){var s,a;return\"number\"==typeof e?((a=new C).typeIndex=e,a.devIndex=n,a.password=r):(a=e,i=n,o=r),s=this._funcMakeParams([t,a]),this._funcCall(\"CtxReadPrivateKey\",s,i,o,null)},ot.prototype.CtxReadPrivateKeyBinary=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,new S(e),n]),this._funcCall(\"CtxReadPrivateKeyBinary\",o,r,i,null)},ot.prototype.ResetPrivateKey=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ResetPrivateKey\",n,t,e,null)},ot.prototype.CtxFreePrivateKey=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"CtxFreePrivateKey\",r,e,n,null)},ot.prototype.ShowOwnCertificate=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"ShowOwnCertificate\",n,t,e,null)},ot.prototype.GetOwnCertificate=function(t,e,n,r){var i;return\"number\"==typeof t&&\"number\"==typeof e||(n=t,r=e,t=null,e=null),i=this._funcMakeParams([t,e]),this._funcCall(\"GetOwnCertificate\",i,n,r,null)},ot.prototype.EnumOwnCertificates=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"EnumOwnCertificates\",r,e,n,null)},ot.prototype.GetPrivateKeyOwnerInfo=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetPrivateKeyOwnerInfo\",n,t,e,null)},ot.prototype.CtxEnumOwnCertificates=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"CtxEnumOwnCertificates\",i,n,r,null)},ot.prototype.CtxGetOwnCertificate=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxGetOwnCertificate\",o,r,i,null)},ot.prototype.GetKeyInfo=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetKeyInfo\",r,e,n,null)},ot.prototype.GetKeyInfoSilently=function(t,e,n,r,i){var o;return(o=new C).typeIndex=t,o.devIndex=e,o.password=n,this.GetKeyInfo(o,r,i)},ot.prototype.GetKeyInfoBinary=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"GetKeyInfoBinary\",i,n,r,null)},ot.prototype.GetKeyInfoFile=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetKeyInfoFile\",i,n,r,null)},ot.prototype.GetCertificateByKeyInfo=function(t,e,n,r){var i,o=[];return\"number\"==typeof t&&\"number\"==typeof e||(r=n,n=e),\"number\"==typeof t&&\"number\"==typeof e?(o.push(t),o.push(e),o.push(null)):(o.push(null),o.push(null),o.push(new S(t))),i=this._funcMakeParams(o),this._funcCall(\"GetCertificateByKeyInfo\",i,n,r,null)},ot.prototype.GetCertificatesByKeyInfo=function(t,e,n,r,i){var o;return\"EndUserPrivateKeyInfo\"==t.className&&(t=t.GetPrivateKeyInfo()),null!=e&&null!=n?(\"EndUserArrayList\"==e.className&&(e=e.m_array),\"EndUserArrayList\"==n.className&&(n=n.m_array)):(e=null,n=null),o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"GetCertificatesByKeyInfo\",o,r,i,null)},ot.prototype.ChangeSoftwarePrivateKeyPassword=function(t,e,n,r,i){var o;return o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"ChangeSoftwarePrivateKeyPassword\",o,r,i,null)},ot.prototype.EnumJKSPrivateKeys=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"EnumJKSPrivateKeys\",i,n,r,null)},ot.prototype.EnumJKSPrivateKeysFile=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"EnumJKSPrivateKeysFile\",i,n,r,null)},ot.prototype.GetJKSPrivateKey=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"GetJKSPrivateKey\",i,n,r,null)},ot.prototype.GetJKSPrivateKeyFile=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetJKSPrivateKeyFile\",i,n,r,null)},ot.prototype.CreatePrivateKeyInfo=function(){return new x},ot.prototype.CreateEndUserInfo=function(){return new H},ot.prototype._generatePrivateKey=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E){if(!this.IsAsync(h,E))return this.GeneratePrivateKeyEx(t,e,n,r,!1,i,o,s,a,u,c,l,f,null,null,_,p,h,E).m_array;this.GeneratePrivateKeyEx(t,e,n,r,!1,i,o,s,a,u,c,l,f,null,null,_,p,(function(t){h(t.m_array)}),E)},ot.prototype.GeneratePrivateKey=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E){if(\"boolean\"==typeof t)return this._generatePrivateKeyEx(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E);if(\"boolean\"==typeof n)return this._generatePrivateKey(!0,0,0,\"\",t,e,n,r,i,o,s,a,null,!1,u,c);if(\"string\"==typeof n)return this._generatePrivateKey(!1,t,e,n,r,i,o,s,a,u,c,l,null,!1,f,_);if(\"number\"==typeof n)return this._generatePrivateKey(!1,0,0,t,e,n,r,i,o,s,a,u,c,!0,l,f);var y=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");throw new it(y.errorCode,y.message)},ot.prototype._generatePrivateKeyEx=function(t,e,n,r,i,o,s,a,u,c,l,f,_,h,E,y,S,d,A){var m,R,T=this;return t?R=null:((R=new C).typeIndex=e,R.devIndex=n,R.password=\"string\"!=typeof r?\"\":r),null==y&&(S=!1),m=this._funcMakeParams([t,R,i,o,s,a,u,c,l,f,_,h,E,null!=y,S]),this._funcCall(\"GeneratePrivateKeyEx\",m,d,A,(function(t,e,n){var r=T.IsAsync(e,n);try{for(var i=t[0],o=new p,s=0;s<i.length;s++)o.add(i[s]);if(null!=y&&y.set(t[1]),!r)return o;e(o)}catch(t){var a=T.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(r)return void n(a);throw new it(a.errorCode,a.message)}}))},ot.prototype.GeneratePrivateKeyEx=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,C){if(\"boolean\"==typeof t)return\"boolean\"==typeof i?this._generatePrivateKeyEx(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,C):this._generatePrivateKeyEx(t,e,n,r,!1,i,o,s,a,u,c,l,f,null,null,_,p,h,E);if(\"boolean\"==typeof n)return void 0!==c&&null==c||\"string\"==typeof c?this._generatePrivateKeyEx(!0,0,0,\"\",!1,t,e,n,r,i,o,s,a,u,c,null,!1,l,f):this._generatePrivateKeyEx(!0,0,0,\"\",!1,t,e,n,r,i,o,s,a,null,null,null,!1,u,c);if(\"number\"==typeof t)return\"boolean\"==typeof r?this._generatePrivateKeyEx(!1,t,e,n,r,i,o,s,a,u,c,l,f,_,p,null,!1,h,E):this._generatePrivateKeyEx(!1,t,e,n,!1,r,i,o,s,a,u,c,l,null,null,null,!1,f,_);if(\"string\"==typeof t)return void 0!==l&&null==l||\"string\"==typeof l?this._generatePrivateKeyEx(!1,0,0,t,!1,e,n,r,i,o,s,a,u,c,l,f,!0,_,p):this._generatePrivateKeyEx(!1,0,0,t,!1,e,n,r,i,o,s,a,u,null,null,c,!0,l,f);var d=this.MakeError(rt.ERROR_BAD_PARAMETER,\"\");throw new it(d.errorCode,d.message)},ot.prototype.GetCRInfo=function(t,e,n,r,i){var o;return o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"GetCRInfo\",o,r,i,null)},ot.prototype.IsHardwareKeyMedia=function(t,e,n,r,i){var o,s;return\"number\"==typeof t?((s=new C).typeIndex=t,s.devIndex=e,s.password=n):(s=null,r=t,i=e),o=this._funcMakeParams([s]),this._funcCall(\"IsHardwareKeyMedia\",o,r,i,null)},ot.prototype.IsPrivateKeyExists=function(t,e,n,r,i){var o,s;return\"number\"==typeof t?((s=new C).typeIndex=t,s.devIndex=e,s.password=n):(s=null,r=t,i=e),o=this._funcMakeParams([s]),this._funcCall(\"IsPrivateKeyExists\",o,r,i,null)},ot.prototype.ChangePrivateKeyPassword=function(t,e,n,r,i,o){var s,a;\"number\"==typeof t?((a=new C).typeIndex=t,a.devIndex=e,a.password=n):(a=null,r=null,i=t,o=e),s=this._funcMakeParams([a,r]),this._funcCall(\"ChangePrivateKeyPassword\",s,i,o,null)},ot.prototype.BackupPrivateKey=function(t,e,n,r,i,o,s,a){var u,c,l;\"number\"==typeof t?((c=new C).typeIndex=t,c.devIndex=e,c.password=n,(l=new C).typeIndex=r,l.devIndex=i,l.password=o):(c=null,l=null,s=t,a=e),u=this._funcMakeParams([c,l]),this._funcCall(\"BackupPrivateKey\",u,s,a,null)},ot.prototype.DestroyPrivateKey=function(t,e,n,r,i){var o,s;\"number\"==typeof t?((s=new C).typeIndex=t,s.devIndex=e,s.password=n):(s=null,r=t,i=e),o=this._funcMakeParams([s]),this._funcCall(\"DestroyPrivateKey\",o,r,i,null)},ot.prototype.SetKeyMediaPassword=function(t,e,n,r,i){var o,s;\"number\"==typeof t?((s=new C).typeIndex=t,s.devIndex=e,s.password=n):(s=null,r=t,i=e),o=this._funcMakeParams([s]),this._funcCall(\"SetKeyMediaPassword\",o,r,i,null)},ot.prototype.SetKeyMediaUserPassword=function(t,e,n,r,i,o){var s,a;\"number\"==typeof e?((a=new C).typeIndex=e,a.devIndex=n,a.password=r):(a=null,i=e,o=n),s=this._funcMakeParams([t,a]),this._funcCall(\"SetKeyMediaUserPassword\",s,i,o,null)},ot.prototype.ChangeOwnCertificatesStatus=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"ChangeOwnCertificatesStatus\",i,n,r,null)},ot.prototype.CtxChangeOwnCertificatesStatus=function(t,e,n,r,i){var o;o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxChangeOwnCertificatesStatus\",o,r,i,null)},ot.prototype.MakeNewCertificate=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h){var E;return null!=e&&(e=new S(e)),E=this._funcMakeParams([t,e,n,r,i,o,s,a,u,c,l,f,_]),this._funcCall(\"MakeNewCertificate\",E,p,h,null)},ot.prototype.MakeNewCertificateEx=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y){var C;return null!=e&&(e=new S(e)),C=this._funcMakeParams([t,e,n,r,i,o,s,a,u,c,l,f,_,p,h]),this._funcCall(\"MakeNewCertificateEx\",C,E,y,null)},ot.prototype.MakeNewOwnCertificate=function(t,e,n,r,i,o,s,a,u,c){var l;return l=this._funcMakeParams([t,e,n,r,i,o,s,a]),this._funcCall(\"MakeNewOwnCertificate\",l,u,c,null)},ot.prototype.CtxMakeNewOwnCertificate=function(t,e,n,r,i,o,s,a,u,c,l){var f;return f=this._funcMakeParams([t,e,n,r,i,o,s,a,u]),this._funcCall(\"CtxMakeNewOwnCertificate\",f,c,l,null)},ot.prototype.CtxMakeNewOwnCertificateEx=function(t,e,n,r,i,o,s,a,u,c,l,f,_){var p;return p=this._funcMakeParams([t,e,n,r,i,o,s,a,u,c,l]),this._funcCall(\"CtxMakeNewOwnCertificateEx\",p,f,_,null)},ot.prototype.CtxMakeNewOwnCertificateWithCR=function(t,e,n,r,i,o,s){var a;return null!=e&&(e=new S(e)),null!=n&&(n=new S(n)),null!=r&&(r=new S(r)),null!=i&&(i=new S(i)),a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"CtxMakeNewOwnCertificateWithCR\",a,o,s,null)},ot.prototype.CtxMakeDeviceCertificate=function(t,e,n,r,i,o,s,a,u,c){var l;return null!=n&&(n=new S(n)),null!=r&&(r=new S(r)),null!=i&&(i=new S(i)),null!=o&&(o=new S(o)),l=this._funcMakeParams([t,e,n,r,i,o,s,a]),this._funcCall(\"CtxMakeDeviceCertificate\",l,u,c,null)},ot.prototype.GetOwnEUserParams=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetOwnEUserParams\",n,t,e,null)},ot.prototype.ModifyOwnEUserParams=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"ModifyOwnEUserParams\",i,n,r,null)},ot.prototype.CtxGetOwnEUserParams=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"CtxGetOwnEUserParams\",r,e,n,null)},ot.prototype.CtxModifyOwnEUserParams=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxModifyOwnEUserParams\",o,r,i,null)},ot.prototype.Hash=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"Hash\",r,e,n,null)},ot.prototype.ContinueHash=function(t,e,n,r,i){var o;\"number\"==typeof e&&\"number\"==typeof n||(r=e,i=n),\"string\"==typeof t&&null==(t=this._stringToBytes(t,i))||(\"number\"==typeof e&&\"number\"==typeof n&&(t=t.slice(e,e+n)),o=this._funcMakeParams([new S(t)]),this._funcCall(\"ContinueHash\",o,r,i,null))},ot.prototype.EndHash=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"EndHash\",n,t,e,null)},ot.prototype.HashWithParams=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._stringToBytes(e,r)))return i=this._funcMakeParams([new S(t),new S(e)]),this._funcCall(\"HashWithParams\",i,n,r,null)},ot.prototype.HashBeginWithParams=function(t,e,n){var r;r=this._funcMakeParams([new S(t)]),this._funcCall(\"HashBeginWithParams\",r,e,n,null)},ot.prototype.HashFile=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"HashFile\",r,e,n,null)},ot.prototype.HashFileWithParams=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"HashFileWithParams\",i,n,r,null)},ot.prototype.CtxHash=function(t,e,n,r,i,o){var s=this,u=this.IsAsync(i,o),c=s.EU_FILE_PROCESS_CHUNK_SIZE;if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))if(u){var l={hashContext:null,hash:null},f=function(t){null==l.hashContext?o(t):s.CtxHashFree(l.hashContext,(function(){o(t)}),(function(){o(t)}))};a((function(r){s.CtxHashBegin(t,e,n,r,f)})).eu_wait((function(t,e){l.hashContext=e;var n=function(i){if(i>=r.length)s.CtxHashEnd(e,t,f);else{var o=r.length-i;o>c&&(o=c);var a=r.slice(i,i+o);s.CtxHashContinue(e,a,(function(){n(i+o)}),f)}};n(0)})).eu_wait((function(t,e){l.hash=e,s.CtxHashFree(l.hashContext,t,o)})).eu_wait((function(){i(l.hash)}))}else{var _=null;try{var p,h=0;for(_=s.CtxHashBegin(t,e,n);;){var E=r.length-h;E>c&&(E=c);var y=r.slice(h,h+E);if(s.CtxHashContinue(_,y),!((h+=E)<r.length))break}return p=s.CtxHashEnd(_),s.CtxHashFree(_),_=null,p}catch(t){throw null!=_&&s.CtxHashFree(_),t}}},ot.prototype.CtxHashBegin=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n?new S(n):null]),this._funcCall(\"CtxHashBegin\",o,r,i,null)},ot.prototype.CtxHashContinue=function(t,e,n,r){var i;i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"CtxHashContinue\",i,n,r,null)},ot.prototype.CtxHashEnd=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"CtxHashEnd\",r,e,n,null)},ot.prototype.CtxHashFree=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"CtxHashFree\",r,e,n,null)},ot.prototype.ShowSignInfo=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"ShowSignInfo\",r,e,n,null)},ot.prototype.IsSigned=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"IsSigned\",r,e,n,null)},ot.prototype.IsSignedFile=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"IsSignedFile\",r,e,n,null)},ot.prototype.GetSignType=function(t,e,n,r){var i;if(\"string\"==typeof e||null!=(e=this._base64Encode(e,r)))return i=this._funcMakeParams([t,e]),this._funcCall(\"GetSignType\",i,n,r,null)},ot.prototype.GetFileSignType=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetFileSignType\",i,n,r,null)},ot.prototype.GetSignsCount=function(t,e,n){var r;if(\"string\"==typeof t||null!=(t=this._base64Encode(t,n)))return r=this._funcMakeParams([t]),this._funcCall(\"GetSignsCount\",r,e,n,null)},ot.prototype.GetSignerInfo=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetSignerInfo\",i,n,r,null)},ot.prototype.GetSignerCertificate=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetSignerCertificate\",i,n,r,null)},ot.prototype.GetFileSignsCount=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetFileSignsCount\",r,e,n,null)},ot.prototype.GetFileSignerInfo=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetFileSignerInfo\",i,n,r,null)},ot.prototype.GetFileSignerCertificate=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetFileSignerCertificate\",i,n,r,null)},ot.prototype.CtxGetSignerInfo=function(t,e,n,r,i){var o;if(\"string\"==typeof n||null!=(n=this._base64Encode(n,i)))return o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxGetSignerInfo\",o,r,i,null)},ot.prototype.Sign=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"Sign\",r,e,n,null)},ot.prototype.Verify=function(t,e,n,r,i){var o,s=[];if(\"boolean\"!=typeof n&&(i=r,r=n),\"string\"!=typeof e||null!=(e=this._stringToBytes(e,i)))return s.push(t),s.push(new S(e)),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"Verify\",o,r,i,null)},ot.prototype.ContinueSign=function(t,e,n,r,i){var o;\"number\"==typeof e&&\"number\"==typeof n||(r=e,i=n),\"string\"==typeof t&&null==(t=this._stringToBytes(t,i))||(\"number\"==typeof e&&\"number\"==typeof n&&(t=t.slice(e,e+n)),o=this._funcMakeParams([new S(t)]),this._funcCall(\"ContinueSign\",o,r,i,null))},ot.prototype.EndSign=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"EndSign\",n,t,e,null)},ot.prototype.BeginVerify=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"BeginVerify\",r,e,n,null)},ot.prototype.ContinueVerify=function(t,e,n,r,i){var o;\"number\"==typeof e&&\"number\"==typeof n||(r=e,i=n),\"string\"==typeof t&&null==(t=this._stringToBytes(t,i))||(\"number\"==typeof e&&\"number\"==typeof n&&(t=t.slice(e,e+n)),o=this._funcMakeParams([new S(t)]),this._funcCall(\"ContinueVerify\",o,r,i,null))},ot.prototype.EndVerify=function(t,e,n){var r,i=[];return\"boolean\"!=typeof t&&(n=e,e=t),\"boolean\"!=typeof t?i.push(t):i.push(null),r=this._funcMakeParams(i),this._funcCall(\"EndVerify\",r,e,n,null)},ot.prototype.SignHash=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"SignHash\",r,e,n,null)},ot.prototype.VerifyHash=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"VerifyHash\",o,r,i,null)},ot.prototype.SignInternal=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._stringToBytes(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SignInternal\",i,n,r,null)},ot.prototype.VerifyInternal=function(t,e,n,r){var i,o=[];return\"boolean\"!=typeof e&&(r=n,n=e),o.push(t),\"boolean\"==typeof e?o.push(e):o.push(null),i=this._funcMakeParams(o),this._funcCall(\"VerifyInternal\",i,n,r,null)},ot.prototype.VerifyInternalString=function(t,e,n,r){var i=this;if(\"boolean\"!=typeof e&&(r=n,n=e),!this.IsAsync(n,r)){var o=this.VerifyInternal(t,e);return this.BytesToString(o)}this.VerifyInternal(t,e,(function(t){i.BytesToString(t,n,r)}),r)},ot.prototype.SignFile=function(t,e,n,r,i){var o;o=this._funcMakeParams([t,e,n]),this._funcCall(\"SignFile\",o,r,i,null)},ot.prototype.VerifyFile=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"VerifyFile\",o,r,i,null)},ot.prototype.VerifyFileWithExternalSign=function(t,e,n,r,i){return this.VerifyFile(e,t,n,r,i)},ot.prototype.VerifyFileWithInternalSign=function(t,e,n,r,i){return this.VerifyFile(t,e,n,r,i)},ot.prototype.IsAlreadySigned=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"IsAlreadySigned\",r,e,n,null)},ot.prototype.IsFileAlreadySigned=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"IsFileAlreadySigned\",r,e,n,null)},ot.prototype.AppendSign=function(t,e,n,r){var i;if(!(\"string\"==typeof t&&null==(t=this._stringToBytes(t,r))||\"string\"!=typeof e&&null==(e=this._base64Encode(e,r))))return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"AppendSign\",i,n,r,null)},ot.prototype.VerifySpecific=function(t,e,n,r,i,o){var s,a=[];if(\"boolean\"!=typeof r&&(o=i,i=r),\"string\"!=typeof e||null!=(e=this._stringToBytes(e,o)))return a.push(t),a.push(new S(e)),a.push(n),\"boolean\"==typeof r?a.push(r):a.push(null),s=this._funcMakeParams(a),this._funcCall(\"VerifySpecific\",s,i,o,null)},ot.prototype.AppendSignBegin=function(t,e,n){var r;\"string\"!=typeof t&&null==(t=this._base64Encode(t,n))||(r=this._funcMakeParams([t]),this._funcCall(\"AppendSignBegin\",r,e,n,null))},ot.prototype.VerifyDataSpecificBegin=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"VerifyDataSpecificBegin\",i,n,r,null)},ot.prototype.AppendSignHash=function(t,e,n,r){var i;if(!(\"string\"!=typeof t&&null==(t=this._base64Encode(t,r))||\"string\"!=typeof e&&null==(e=this._base64Encode(e,r))))return i=this._funcMakeParams([t,e]),this._funcCall(\"AppendSignHash\",i,n,r,null)},ot.prototype.VerifyHashSpecific=function(t,e,n,r,i,o){var s,a=[];return\"boolean\"!=typeof r&&(o=i,i=r),a.push(t),a.push(e),a.push(n),\"boolean\"==typeof r?a.push(r):a.push(null),s=this._funcMakeParams(a),this._funcCall(\"VerifyHashSpecific\",s,i,o,null)},ot.prototype.AppendSignInternal=function(t,e,n,r){var i;if(\"string\"==typeof e||null!=(e=this._base64Encode(e,r)))return i=this._funcMakeParams([t,e]),this._funcCall(\"AppendSignInternal\",i,n,r,null)},ot.prototype.VerifySpecificInternal=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"VerifySpecificInternal\",o,r,i,null)},ot.prototype.VerifySpecificInternalString=function(t,e,n,r,i){var o=this;if(\"boolean\"!=typeof n&&(i=r,r=n),!this.IsAsync(r,i)){var s=this.VerifySpecificInternal(t,e,n);return this.BytesToString(s)}this.VerifySpecificInternal(t,e,n,(function(t){o.BytesToString(t,r,i)}),i)},ot.prototype.AppendSignFile=function(t,e,n,r,i,o){var s;return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"AppendSignFile\",s,i,o,null)},ot.prototype.VerifyFileSpecific=function(t,e,n,r,i,o){var s,a=[];return\"boolean\"!=typeof r&&(o=i,i=r),a.push(t),a.push(e),a.push(n),\"boolean\"==typeof r?a.push(r):a.push(null),s=this._funcMakeParams(a),this._funcCall(\"VerifyFileSpecific\",s,i,o,null)},ot.prototype.VerifyFileWithExternalSignSpecific=function(t,e,n,r,i,o){return this.VerifyFileSpecific(t,e,n,r,i,o)},ot.prototype.VerifyFileWithInternalSignSpecific=function(t,e,n,r,i,o){return this.VerifyFileSpecific(t,e,n,r,i,o)},ot.prototype.CreateEmptySign=function(t,e,n){var r,i=[];if(2==arguments.length&&(n=e,e=t),\"string\"!=typeof t||null!=(t=this._stringToBytes(t,n)))return 1==arguments.length||3==arguments.length?i.push(new S(t)):i.push(null),r=this._funcMakeParams(i),this._funcCall(\"CreateEmptySign\",r,e,n,null)},ot.prototype.CreateSigner=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"CreateSigner\",r,e,n,null)},ot.prototype.CreateSignerEx=function(t,e,n,r,i){var o;if(\"string\"==typeof t||null!=(t=this._base64Encode(t,i)))return o=this._funcMakeParams([t,e,n]),this._funcCall(\"CreateSignerEx\",o,r,i,null)},ot.prototype.AppendSigner=function(t,e,n,r,i){var o,s=[];return s.push(t),null!=e?s.push(new S(e)):s.push(null),s.push(n),o=this._funcMakeParams(s),this._funcCall(\"AppendSigner\",o,r,i,null)},ot.prototype.AppendValidationDataToSignerEx=function(t,e,n,r,i){var o,s=[];if(\"string\"==typeof t||null!=(t=this._base64Encode(t,i)))return s.push(t),null!=e?s.push(new S(e)):s.push(null),s.push(n),o=this._funcMakeParams(s),this._funcCall(\"AppendValidationDataToSignerEx\",o,r,i,null)},ot.prototype.IsDataInSignedDataAvailable=function(t,e,n){var r;if(\"string\"==typeof t||null!=(t=this._base64Encode(t,n)))return r=this._funcMakeParams([t]),this._funcCall(\"IsDataInSignedDataAvailable\",r,e,n,null)},ot.prototype.IsDataInSignedFileAvailable=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"IsDataInSignedFileAvailable\",r,e,n,null)},ot.prototype.GetDataFromSignedData=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"GetDataFromSignedData\",r,e,n,null)},ot.prototype.GetDataFromSignedFile=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"GetDataFromSignedFile\",i,n,r,null)},ot.prototype.GetCertificateFromSignedData=function(t,e,n,r){var i;if(\"string\"==typeof e||null!=(e=this._base64Encode(e,r)))return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificateFromSignedData\",i,n,r,null)},ot.prototype.GetCertificateFromSignedFile=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetCertificateFromSignedFile\",i,n,r,null)},ot.prototype.GetSignTimeInfo=function(t,e,n,r){var i;if(\"string\"==typeof e||null!=(e=this._base64Encode(e,r)))return i=this._funcMakeParams([t,e]),this._funcCall(\"GetSignTimeInfo\",i,n,r,null)},ot.prototype.GetFileSignTimeInfo=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"GetFileSignTimeInfo\",i,n,r,null)},ot.prototype.VerifyHashOnTime=function(t,e,n,r,i,o,s){return this.VerifyHashOnTimeEx(t,e,n,r,null!=r,!1,i,o,s)},ot.prototype.VerifyHashOnTimeEx=function(t,e,n,r,i,o,s,a,u){var c,l=[];if(\"boolean\"!=typeof s&&(u=a,a=s),!(\"string\"!=typeof t&&null==(t=this._base64Encode(t,u))||\"string\"!=typeof n&&null==(n=this._base64Encode(n,u))))return l=[t,e,n,r,i,o],\"boolean\"==typeof s?l.push(s):l.push(null),c=this._funcMakeParams(l),this._funcCall(\"VerifyHashOnTimeEx\",c,a,u,null)},ot.prototype.VerifyDataOnTime=function(t,e,n,r,i,o,s){return this.VerifyDataOnTimeEx(t,e,n,r,null!=r,!1,i,o,s)},ot.prototype.VerifyDataOnTimeEx=function(t,e,n,r,i,o,s,a,u){var c,l=[];if(\"boolean\"!=typeof s&&(u=a,a=s),!(\"string\"==typeof t&&null==(t=this._stringToBytes(t,u))||\"string\"!=typeof n&&null==(n=this._base64Encode(n,u))))return l=[new S(t),e,n,r,i,o],\"boolean\"==typeof s?l.push(s):l.push(null),c=this._funcMakeParams(l),this._funcCall(\"VerifyDataOnTimeEx\",c,a,u,null)},ot.prototype.VerifyDataInternalOnTime=function(t,e,n,r,i,o){return this.VerifyDataInternalOnTimeEx(t,e,n,null!=n,!1,r,i,o)},ot.prototype.VerifyDataInternalOnTimeEx=function(t,e,n,r,i,o,s,a){var u,c=[];if(\"boolean\"!=typeof o&&(a=s,s=o),\"string\"==typeof t||null!=(t=this._base64Encode(t,a)))return c=[t,e,n,r,i],\"boolean\"==typeof o?c.push(o):c.push(null),u=this._funcMakeParams(c),this._funcCall(\"VerifyDataInternalOnTimeEx\",u,s,a,null)},ot.prototype.VerifyDataInternalOnTimeString=function(t,e,n,r,i,o){return this.VerifyDataInternalOnTimeStringEx(t,e,n,null!=n,!1,r,i,o)},ot.prototype.VerifyDataInternalOnTimeStringEx=function(t,e,n,r,i,o,s,a){var u=this;if(\"boolean\"!=typeof o&&(a=s,s=o),!this.IsAsync(s,a)){var c=this.VerifyDataInternalOnTimeEx(t,e,n,r,i,o);return this.BytesToString(c)}this.VerifyDataInternalOnTimeEx(t,e,n,r,i,o,(function(t){u.BytesToString(t,s,a)}),a)},ot.prototype.VerifyDataOnTimeBegin=function(t,e,n,r,i){this.VerifyDataOnTimeBeginEx(t,e,n,null!=n,!1,r,i)},ot.prototype.VerifyDataOnTimeBeginEx=function(t,e,n,r,i,o,s){var a;a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"VerifyDataOnTimeBeginEx\",a,o,s,null)},ot.prototype.VerifyFileOnTime=function(t,e,n,r,i,o,s,a,u){var c,l=[];return\"boolean\"!=typeof s&&(u=a,a=s),l=[t,e,n,r,i,o],\"boolean\"==typeof s?l.push(s):l.push(null),c=this._funcMakeParams(l),this._funcCall(\"VerifyFileOnTimeEx\",c,a,u,null)},ot.prototype.VerifyFileWithExternalSignOnTime=function(t,e,n,r,i,o,s){return this.VerifyFileOnTime(t,n,e,r,null!=r,!1,i,o,s)},ot.prototype.VerifyFileWithExternalSignOnTimeEx=function(t,e,n,r,i,o,s,a,u){return this.VerifyFileOnTime(t,n,e,r,i,o,s,a,u)},ot.prototype.VerifyFileWithInternalSignOnTime=function(t,e,n,r,i,o,s){return this.VerifyFileOnTime(t,e,n,r,null!=r,!1,i,o,s)},ot.prototype.VerifyFileWithInternalSignOnTimeEx=function(t,e,n,r,i,o,s,a,u){return this.VerifyFileOnTime(t,n,e,r,i,o,s,a,u)},ot.prototype.ContinueSignCtx=function(t,e,n,r){var i;if(null==t&&(t=new j),\"string\"!=typeof e||null!=(e=this._stringToBytes(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ContinueSignCtx\",i,n,r,null)},ot.prototype.ContinueSignCtxWithOffset=function(t,e,n,r,i,o){return e=e.slice(n,n+r),this.ContinueSignCtx(t,e,i,o)},ot.prototype.EndSignCtx=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"EndSignCtx\",i,n,r,null)},ot.prototype.BeginVerifyCtx=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"BeginVerifyCtx\",r,e,n,null)},ot.prototype.ContinueVerifyCtx=function(t,e,n,r,i,o){var s;\"number\"==typeof n&&\"number\"==typeof r||(i=n,o=r),\"string\"==typeof e&&null==(e=this._stringToBytes(e,o))||(\"number\"==typeof n&&\"number\"==typeof r&&(e=e.slice(n,n+r)),s=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ContinueVerifyCtx\",s,i,o,null))},ot.prototype.EndVerifyCtx=function(t,e,n,r){var i,o=[];return\"boolean\"!=typeof e&&(r=n=e),o.push(t),\"boolean\"==typeof e?o.push(e):o.push(null),i=this._funcMakeParams(o),this._funcCall(\"EndVerifyCtx\",i,n,r,null)},ot.prototype.ResetOperationCtx=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"ResetOperationCtx\",r,e,n,null)},ot.prototype.SignHashRSA=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"SignHashRSA\",r,e,n,null)},ot.prototype.SignRSA=function(t,e,n,r,i){var o;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,i)))return o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"SignRSA\",o,r,i,null)},ot.prototype.ContinueRSASign=function(t,e,n){var r;\"string\"==typeof t&&null==(t=this._stringToBytes(t,n))||(r=this._funcMakeParams([new S(t)]),this._funcCall(\"ContinueRSASign\",r,e,n,null))},ot.prototype.ContinueRSASignWithOffset=function(t,e,n,r,i){return t=t.slice(e,e+n),this.ContinueRSASign(t,r,i)},ot.prototype.EndRSASign=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"EndRSASign\",r,e,n,null)},ot.prototype.SignRSAFile=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"SignRSAFile\",o,r,i,null)},ot.prototype.ContinueRSASignCtx=function(t,e,n,r){var i;if(null==t&&(t=new j),\"string\"!=typeof e||null!=(e=this._stringToBytes(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ContinueRSASignCtx\",i,n,r,null)},ot.prototype.ContinueRSASignCtxWithOffset=function(t,e,n,r,i,o){return e=e.slice(n,n+r),this.ContinueRSASignCtx(e,i,o)},ot.prototype.EndRSASignCtx=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"EndRSASignCtx\",i,n,r,null)},ot.prototype.SignECDSA=function(t,e,n,r,i){var o;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,i)))return o=this._funcMakeParams([new S(t),e,n]),this._funcCall(\"SignECDSA\",o,r,i,null)},ot.prototype.RawSign=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"RawSign\",r,e,n,null)},ot.prototype.RawVerify=function(t,e,n,r,i){var o,s=[];if(\"boolean\"!=typeof n&&(i=r,r=n),\"string\"!=typeof e||null!=(e=this._stringToBytes(e,i)))return s.push(t),s.push(new S(e)),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"RawVerify\",o,r,i,null)},ot.prototype.RawSignHash=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"RawSignHash\",r,e,n,null)},ot.prototype.RawVerifyHash=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"RawVerifyHash\",o,r,i,null)},ot.prototype.RawSignFile=function(t,e,n,r){var i;i=this._funcMakeParams([t,e]),this._funcCall(\"RawSignFile\",i,n,r,null)},ot.prototype.RawVerifyFile=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"RawVerifyFile\",o,r,i,null)},ot.prototype.NBUSign=function(t,e,n,r){var i;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,r)))return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"NBUSign\",i,n,r,null)},ot.prototype.NBUVerify=function(t,e,n,r,i,o,s){var a,u=[];if(\"boolean\"!=typeof i&&(s=o,o=i),\"string\"!=typeof n||null!=(n=this._stringToBytes(n,s)))return u.push(t),u.push(e),u.push(new S(n)),u.push(r),\"boolean\"==typeof i?u.push(i):u.push(null),a=this._funcMakeParams(u),this._funcCall(\"NBUVerify\",a,o,s,null)},ot.prototype.CtxSignHash=function(t,e,n,r,i,o){var s;if(\"string\"==typeof n||null!=(n=this._base64Encode(n,o)))return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"CtxSignHash\",s,i,o,null)},ot.prototype.CtxSign=function(t,e,n,r,i,o,s){var a;if(\"string\"!=typeof n||null!=(n=this._stringToBytes(n,s)))return a=this._funcMakeParams([t,e,new S(n),r,i]),this._funcCall(\"CtxSign\",a,o,s,null)},ot.prototype.CtxSignFile=function(t,e,n,r,i,o,s,a){var u;u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"CtxSignFile\",u,s,a,null)},ot.prototype.CtxAppendSignHash=function(t,e,n,r,i,o,s){var a;if(!(\"string\"!=typeof n&&null==(n=this._base64Encode(n,s))||\"string\"!=typeof r&&null==(r=this._base64Encode(r,s))))return a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"CtxAppendSignHash\",a,o,s,null)},ot.prototype.CtxAppendSign=function(t,e,n,r,i,o,s){var a;if(!(null!=n&&\"string\"==typeof n&&null==(n=this._stringToBytes(n,s))||\"string\"!=typeof r&&null==(r=this._base64Encode(r,s))))return a=this._funcMakeParams([t,e,n?new S(n):null,r,i]),this._funcCall(\"CtxAppendSign\",a,o,s,null)},ot.prototype.CtxAppendSignFile=function(t,e,n,r,i,o,s,a){var u;u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"CtxAppendSignFile\",u,s,a,null)},ot.prototype.CtxGetSignValue=function(t,e,n,r,i){var o;if(\"string\"==typeof n||null!=(n=this._base64Encode(n,i)))return o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxGetSignValue\",o,r,i,null)},ot.prototype.CtxCreateSignerEx=function(t,e,n,r,i,o,s){var a;if(\"string\"==typeof n||null!=(n=this._base64Encode(n,s)))return a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"CtxCreateSignerEx\",a,o,s,null)},ot.prototype.ShowSenderInfo=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"ShowSenderInfo\",r,e,n,null)},ot.prototype.IsEnveloped=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"IsEnveloped\",r,e,n,null)},ot.prototype.IsEnvelopedFile=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"IsEnvelopedFile\",r,e,n,null)},ot.prototype.Envelop=function(t,e,n,r,i,o){var s;if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([t,e,n,new S(r)]),this._funcCall(\"Envelop\",s,i,o,null)},ot.prototype.Develop=function(t,e,n,r){var i,o=[];if(\"boolean\"!=typeof e&&(r=n,n=e),\"string\"==typeof t||null!=(t=this._base64Encode(t,r)))return o.push(t),\"boolean\"==typeof e?o.push(e):o.push(null),i=this._funcMakeParams(o),this._funcCall(\"Develop\",i,n,r,null)},ot.prototype.EnvelopFile=function(t,e,n,r,i,o,s){var a;a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"EnvelopFile\",a,o,s,null)},ot.prototype.DevelopFile=function(t,e,n,r,i){var o,s=[];return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(e),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"DevelopFile\",o,r,i,null)},ot.prototype.EnvelopEx=function(t,e,n,r,i,o){var s;if(\"EndUserArrayList\"==t.className&&(t=t.m_array),\"EndUserArrayList\"==e.className&&(e=e.m_array),\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([t,e,n,new S(r)]),this._funcCall(\"EnvelopEx\",s,i,o,null)},ot.prototype.DevelopEx=function(t,e,n,r,i){var o,s=[];if(\"boolean\"!=typeof n&&(i=r,r=n),\"string\"==typeof t||null!=(t=this._base64Encode(t,i)))return s.push(t),s.push(e?new S(e):null),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"DevelopEx\",o,r,i,null)},ot.prototype.EnvelopFileEx=function(t,e,n,r,i,o,s){var a;\"EndUserArrayList\"==t.className&&(t=t.m_array),\"EndUserArrayList\"==e.className&&(e=e.m_array),a=this._funcMakeParams([t,e,n,r,i]),this._funcCall(\"EnvelopFileEx\",a,o,s,null)},ot.prototype.EnvelopToRecipients=function(t,e,n,r,i){var o;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var s=[],a=0;a<t.length;a++)s.push(new S(t[a]));if(\"string\"!=typeof n||null!=(n=this._stringToBytes(n,i)))return o=this._funcMakeParams([s,e,new S(n)]),this._funcCall(\"EnvelopToRecipients\",o,r,i,null)},ot.prototype.EnvelopFileToRecipients=function(t,e,n,r,i,o){var s;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var a=[],u=0;u<t.length;u++)a.push(new S(t[u]));s=this._funcMakeParams([a,e,n,r]),this._funcCall(\"EnvelopFileToRecipients\",s,i,o,null)},ot.prototype.EnvelopToRecipientsEx=function(t,e,n,r,i,o){var s;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var a=[],u=0;u<t.length;u++)a.push(new S(t[u]));if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([a,e,n,new S(r)]),this._funcCall(\"EnvelopToRecipientsEx\",s,i,o,null)},ot.prototype.EnvelopFileToRecipientsEx=function(t,e,n,r,i,o,s){var a;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var u=[],c=0;c<t.length;c++)u.push(new S(t[c]));a=this._funcMakeParams([u,e,n,r,i]),this._funcCall(\"EnvelopFileToRecipientsEx\",a,o,s,null)},ot.prototype.EnvelopToRecipientsWithOCode=function(t,e,n,r,i,o){var s;if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([t,e,n,new S(r)]),this._funcCall(\"EnvelopToRecipientsWithOCode\",s,i,o,null)},ot.prototype.EnvelopExWithDynamicKey=function(t,e,n,r,i,o,s){var a;if(\"EndUserArrayList\"==t.className&&(t=t.m_array),\"EndUserArrayList\"==e.className&&(e=e.m_array),\"string\"!=typeof i||null!=(i=this._stringToBytes(i,s)))return a=this._funcMakeParams([t,e,n,r,new S(i)]),this._funcCall(\"EnvelopExWithDynamicKey\",a,o,s,null)},ot.prototype.EnvelopFileExWithDynamicKey=function(t,e,n,r,i,o,s,a){var u;\"EndUserArrayList\"==t.className&&(t=t.m_array),\"EndUserArrayList\"==e.className&&(e=e.m_array),u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"EnvelopFileExWithDynamicKey\",u,s,a,null)},ot.prototype.EnvelopToRecipientsWithDynamicKey=function(t,e,n,r,i,o){var s;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var a=[],u=0;u<t.length;u++)a.push(new S(t[u]));if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([a,e,n,new S(r)]),this._funcCall(\"EnvelopToRecipientsWithDynamicKey\",s,i,o,null)},ot.prototype.EnvelopFileToRecipientsWithDynamicKey=function(t,e,n,r,i,o,s){var a;\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var u=[],c=0;c<t.length;c++)u.push(new S(t[c]));a=this._funcMakeParams([u,e,n,r,i]),this._funcCall(\"EnvelopFileToRecipientsWithDynamicKey\",a,o,s,null)},ot.prototype.EnvelopToRecipientsWithSettings=function(t,e,n,r,i,o,s,a,u){var c;if(\"string\"!=typeof n||null!=(n=this._stringToBytes(n,u))){\"EndUserArrayList\"==t.className&&(t=t.m_array);for(var l=[],f=0;f<t.length;f++)l.push(new S(t[f]));return c=this._funcMakeParams([l,e,new S(n),r,i,o,s]),this._funcCall(\"EnvelopToRecipientsWithSettings\",c,a,u,null)}},ot.prototype.RawEnvelop=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._stringToBytes(e,r)))return i=this._funcMakeParams([new S(t),new S(e)]),this._funcCall(\"RawEnvelop\",i,n,r,null)},ot.prototype.RawDevelop=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"RawDevelop\",i,n,r,null)},ot.prototype.EnvelopRSA=function(t,e,n,r,i,o,s){return this.EnvelopRSAEx(t,[e],[n],r,i,o,s)},ot.prototype.EnvelopFileRSA=function(t,e,n,r,i,o,s,a){this.EnvelopFileRSAEx(t,[e],[n],r,i,o,s,a)},ot.prototype.EnvelopRSAEx=function(t,e,n,r,i,o,s){var a;if(\"EndUserArrayList\"==e.className&&(e=e.m_array),\"EndUserArrayList\"==n.className&&(n=n.m_array),\"string\"!=typeof i||null!=(i=this._stringToBytes(i,s)))return a=this._funcMakeParams([t,e,n,r,new S(i)]),this._funcCall(\"EnvelopRSAEx\",a,o,s,null)},ot.prototype.EnvelopFileRSAEx=function(t,e,n,r,i,o,s,a){var u;\"EndUserArrayList\"==e.className&&(e=e.m_array),\"EndUserArrayList\"==n.className&&(n=n.m_array),u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"EnvelopFileRSAEx\",u,s,a,null)},ot.prototype.EnvelopToRecipientsRSA=function(t,e,n,r,i,o){var s;\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var a=[],u=0;u<e.length;u++)a.push(new S(e[u]));if(\"string\"!=typeof r||null!=(r=this._stringToBytes(r,o)))return s=this._funcMakeParams([t,a,n,new S(r)]),this._funcCall(\"EnvelopToRecipientsRSA\",s,i,o,null)},ot.prototype.EnvelopFileToRecipientsRSA=function(t,e,n,r,i,o,s){var a;\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var u=[],c=0;c<e.length;c++)u.push(new S(e[c]));a=this._funcMakeParams([t,u,n,r,i]),this._funcCall(\"EnvelopFileToRecipientsRSA\",a,o,s,null)},ot.prototype.CtxEnvelop=function(t,e,n,r,i,o,s,a){var u;if(\"string\"!=typeof o||null!=(o=this._stringToBytes(o,a))){\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var c=[],l=0;l<e.length;l++)c.push(new S(e[l]));return u=this._funcMakeParams([t,c,n,r,i,new S(o)]),this._funcCall(\"CtxEnvelop\",u,s,a,null)}},ot.prototype.CtxEnvelopFile=function(t,e,n,r,i,o,s,a,u){var c;\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var l=[],f=0;f<e.length;f++)l.push(new S(e[f]));c=this._funcMakeParams([t,l,n,r,i,o,s]),this._funcCall(\"CtxEnvelopFile\",c,a,u,null)},ot.prototype.CtxEnvelopWithDynamicKey=function(t,e,n,r,i,o,s,a){var u;if(\"string\"!=typeof o||null!=(o=this._stringToBytes(o,a))){\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var c=[],l=0;l<e.length;l++)c.push(new S(e[l]));return u=this._funcMakeParams([t,c,n,r,i,new S(o)]),this._funcCall(\"CtxEnvelopWithDynamicKey\",u,s,a,null)}},ot.prototype.CtxEnvelopFileWithDynamicKey=function(t,e,n,r,i,o,s,a,u){var c;\"EndUserArrayList\"==e.className&&(e=e.m_array);for(var l=[],f=0;f<e.length;f++)l.push(new S(e[f]));c=this._funcMakeParams([t,l,n,r,i,o,s]),this._funcCall(\"CtxEnvelopFileWithDynamicKey\",c,a,u,null)},ot.prototype.CtxDevelop=function(t,e,n,r,i,o){var s,a=[];if(\"boolean\"!=typeof r&&(o=i,i=r),\"string\"==typeof e||null!=(e=this._base64Encode(e,o)))return a.push(t),a.push(e),a.push(n?new S(n):null),\"boolean\"==typeof r?a.push(r):a.push(null),s=this._funcMakeParams(a),this._funcCall(\"CtxDevelop\",s,i,o,null)},ot.prototype.CtxDevelopFile=function(t,e,n,r,i,o,s){var a,u=[];return\"boolean\"!=typeof i&&(s=o,o=i),u.push(t),u.push(e),u.push(n?new S(n):null),u.push(r),\"boolean\"==typeof i?u.push(i):u.push(null),a=this._funcMakeParams(u),this._funcCall(\"CtxDevelopFile\",a,o,s,null)},ot.prototype.CtxCreateAuthData=function(t,e,n,r,i){var o;if(\"string\"!=typeof n||null!=(n=this._stringToBytes(n,i)))return o=this._funcMakeParams([t,new S(e),new S(n)]),this._funcCall(\"CtxCreateAuthData\",o,r,i,null)},ot.prototype.ProtectDataByPassword=function(t,e,n,r){var i;if(\"string\"!=typeof t||null!=(t=this._stringToBytes(t,r)))return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"ProtectDataByPassword\",i,n,r,null)},ot.prototype.UnprotectDataByPassword=function(t,e,n,r){var i;if(\"string\"==typeof t||null!=(t=this._base64Encode(t,r)))return i=this._funcMakeParams([t,e]),this._funcCall(\"UnprotectDataByPassword\",i,n,r,null)},ot.prototype.CreateEndUserSession=function(){return new V},ot.prototype.SessionIsInitialized=function(t,e,n){var r;return t.SetData(null),r=this._funcMakeParams([t]),this._funcCall(\"SessionIsInitialized\",r,e,n,null)},ot.prototype.SessionClose=function(t,e,n){var r;t.SetData(null),r=this._funcMakeParams([t]),this._funcCall(\"SessionClose\",r,e,n,null)},ot.prototype.ClientSessionCreateStep1=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"ClientSessionCreateStep1\",r,e,n,null)},ot.prototype.ServerSessionCreateStep1=function(t,e,n,r){var i;return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ServerSessionCreateStep1\",i,n,r,null)},ot.prototype.ClientSessionCreateStep2=function(t,e,n,r){var i,o=this;t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ClientSessionCreateStep2\",i,n,r,(function(e,n,r){t.SetData(e.GetData()),o.IsAsync(n,r)&&n()}))},ot.prototype.ServerSessionCreateStep2=function(t,e,n,r){var i;t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ServerSessionCreateStep2\",i,n,r,null)},ot.prototype.SessionSave=function(t,e,n){var r;return t.SetData(null),r=this._funcMakeParams([t]),this._funcCall(\"SessionSave\",r,e,n,null)},ot.prototype.SessionLoad=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"SessionLoad\",r,e,n,null)},ot.prototype.SessionCheckCertificates=function(t,e,n){var r;return t.SetData(null),r=this._funcMakeParams([t]),this._funcCall(\"SessionCheckCertificates\",r,e,n,null)},ot.prototype.SessionEncrypt=function(t,e,n,r){var i,o=!1,s=this;if(\"string\"!=typeof e||(o=!0,null!=(e=this._stringToBytes(e,r))))return t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SessionEncrypt\",i,n,r,o?function(t,e,n){return s.BASE64Encode(t,e,n)}:null)},ot.prototype.SessionDecrypt=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SessionDecrypt\",i,n,r,null)},ot.prototype.SessionEncryptContinue=function(t,e,n,r){var i,o=this,s=!1;if(\"string\"!=typeof e||(s=!0,null!=(e=this._stringToBytes(e,r))))return t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SessionEncryptContinue\",i,n,r,(function(t,n,r){if(s)return o.BASE64Encode(t,n,r);var i=o.IsAsync(n,r);if(!o._copyArrayData(e,t)){var a=o.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(i)return void r(a);throw new it(a.errorCode,a.message)}if(!i)return e;n(e)}))},ot.prototype.SessionDecryptContinue=function(t,e,n,r){var i,o=this;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return t.SetData(null),i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"SessionDecryptContinue\",i,n,r,(function(t,n,r){var i=o.IsAsync(n,r);if(!o._copyArrayData(e,t)){var s=o.MakeError(rt.ERROR_BAD_PARAMETER,\"\");if(i)return void r(s);throw new it(s.errorCode,s.message)}if(!i)return e;n(e)}))},ot.prototype.SessionGetPeerCertificateInfo=function(t,e,n){var r;return t.SetData(null),r=this._funcMakeParams([t]),this._funcCall(\"SessionGetPeerCertificateInfo\",r,e,n,null)},ot.prototype.ClientDynamicKeySessionCreate=function(t,e,n,r,i){var o,s=[];return\"string\"==typeof e&&\"string\"==typeof n||(i=r,r=n),s.push(t),\"string\"==typeof e&&\"string\"==typeof n?(s.push(e),s.push(n),s.push(null)):(s.push(null),s.push(null),s.push(new S(e))),o=this._funcMakeParams(s),this._funcCall(\"ClientDynamicKeySessionCreate\",o,r,i,null)},ot.prototype.ServerDynamicKeySessionCreate=function(t,e,n,r){var i;return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ServerDynamicKeySessionCreate\",i,n,r,null)},ot.prototype.ClientDynamicKeySessionLoad=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ClientDynamicKeySessionLoad\",r,e,n,null)},ot.prototype.SCClientIsRunning=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"SCClientIsRunning\",n,t,e,null)},ot.prototype.SCClientStart=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"SCClientStart\",n,t,e,null)},ot.prototype.SCClientStop=function(t,e){var n;n=this._funcMakeParams(null),this._funcCall(\"SCClientStop\",n,t,e,null)},ot.prototype.SCClientAddGate=function(t,e,n,r,i,o,s,a){var u;\"string\"!=typeof i&&(s=i,a=o,i=null,o=null),u=this._funcMakeParams([t,e,n,r,i,o]),this._funcCall(\"SCClientAddGate\",u,s,a,null)},ot.prototype.SCClientRemoveGate=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"SCClientRemoveGate\",r,e,n,null)},ot.prototype.SCClientGetStatistic=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"SCClientGetStatistic\",n,t,e,null)},ot.prototype.AppendTransportHeader=function(t,e,n,r,i,o,s){var a;return a=this._funcMakeParams([t,e,n,new S(r),new S(i)]),this._funcCall(\"AppendTransportHeader\",a,o,s,null)},ot.prototype.ParseTransportHeader=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ParseTransportHeader\",r,e,n,null)},ot.prototype.AppendCryptoHeader=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"AppendCryptoHeader\",o,r,i,null)},ot.prototype.ParseCryptoHeader=function(t,e,n){var r;return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ParseCryptoHeader\",r,e,n,null)},ot.prototype.AppendFileTransportHeader=function(t,e,n,r,i,o,s,a){var u;u=this._funcMakeParams([t,e,n,new S(r),i,o]),this._funcCall(\"AppendFileTransportHeader\",u,s,a,null)},ot.prototype.ParseFileTransportHeader=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"ParseFileTransportHeader\",i,n,r,null)},ot.prototype.AppendFileCryptoHeader=function(t,e,n,r,i,o){var s;s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"AppendFileCryptoHeader\",s,i,o,null)},ot.prototype.ParseFileCryptoHeader=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"ParseFileCryptoHeader\",i,n,r,null)},ot.prototype.DevCtxEnum=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"DevCtxEnum\",r,e,n,null)},ot.prototype.DevCtxOpen=function(t,e,n,r,i){var o;return o=this._funcMakeParams([t,e,n]),this._funcCall(\"DevCtxOpen\",o,r,i,null)},ot.prototype.CreateDeviceContext=function(){return new X},ot.prototype.DevCtxEnumVirtual=function(t,e,n){var r,i=this;return r=this._funcMakeParams([t]),this._funcCall(\"DevCtxEnumVirtual\",r,e,n,(function(e,n,r){var o=i.IsAsync(n,r);try{if(null==e){if(!o)return null;n(null)}if(t.set(e[1]),!o)return e[0];n(e[0])}catch(t){var s=i.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(o)return void r(s);throw new it(s.errorCode,s.message)}}))},ot.prototype.DevCtxClose=function(t,e,n){var r;return r=this._funcMakeParams([t]),this._funcCall(\"DevCtxClose\",r,e,n,null)},ot.prototype.DevCtxGetData=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"DevCtxGetData\",i,n,r,null)},ot.prototype.DevCtxChangePassword=function(t,e,n,r){var i;return i=this._funcMakeParams([t,e]),this._funcCall(\"DevCtxChangePassword\",i,n,r,null)},ot.prototype.GetHostInfo=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"GetHostInfo\",n,t,e,null)},ot.prototype.IsRemotelyControlled=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"IsRemotelyControlled\",n,t,e,null)},ot.prototype.CtxCreate=function(t,e){var n;return n=this._funcMakeParams(null),this._funcCall(\"CtxCreate\",n,t,e,null)},ot.prototype.CtxFree=function(t,e,n){var r;r=this._funcMakeParams([t]),this._funcCall(\"CtxFree\",r,e,n,null)},ot.prototype.CtxSetParameter=function(t,e,n,r,i){var o;\"boolean\"==typeof n&&(n=n?1:0),o=this._funcMakeParams([t,e,n]),this._funcCall(\"CtxSetParameter\",o,r,i,null)},ot.prototype.CreateReference=function(t,e){return new $(t,e)},ot.prototype.ASiCGetASiCType=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ASiCGetASiCType\",r,e,n,null)},ot.prototype.ASiCGetSignType=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ASiCGetSignType\",r,e,n,null)},ot.prototype.ASiCGetSignsCount=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"ASiCGetSignsCount\",r,e,n,null)},ot.prototype.ASiCGetSignerInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ASiCGetSignerInfo\",i,n,r,null)},ot.prototype.ASiCGetSignTimeInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ASiCGetSignTimeInfo\",i,n,r,null)},ot.prototype.ASiCGetSignReferences=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ASiCGetSignReferences\",i,n,r,null)},ot.prototype.ASiCGetReference=function(t,e,n,r){var i;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,r)))return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"ASiCGetReference\",i,n,r,null)},ot.prototype.ASiCSign=function(t,e,n,r,i,o){for(var s,a=[],u=[],c=0;c<r.length;c++)a.push(r[c].GetName()),u.push(new S(r[c].GetData()));return s=this._funcMakeParams([t,e,n,a,u]),this._funcCall(\"ASiCSign\",s,i,o,null)},ot.prototype.ASiCAppendSign=function(t,e,n,r,i){var o;if(\"string\"!=typeof n||null!=(n=this._base64Decode(n,i)))return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"ASiCAppendSign\",o,r,i,null)},ot.prototype.ASiCVerify=function(t,e,n,r,i){var o,s=[];if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,i)))return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(new S(e)),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"ASiCVerify\",o,r,i,null)},ot.prototype.CtxASiCSign=function(t,e,n,r,i,o,s,a){for(var u,c=[],l=[],f=0;f<o.length;f++)c.push(o[f].GetName()),l.push(new S(o[f].GetData()));return u=this._funcMakeParams([t,e,n,r,i,c,l]),this._funcCall(\"CtxASiCSign\",u,s,a,null)},ot.prototype.CtxASiCAppendSign=function(t,e,n,r,i,o,s){var a;if(\"string\"!=typeof i||null!=(i=this._base64Decode(i,s)))return a=this._funcMakeParams([t,e,n,r,new S(i)]),this._funcCall(\"CtxASiCAppendSign\",a,o,s,null)},ot.prototype.CtxASiCGetSignerInfo=function(t,e,n,r,i){var o;if(\"string\"!=typeof n||null!=(n=this._base64Decode(n,i)))return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"CtxASiCGetSignerInfo\",o,r,i,null)},ot.prototype.ASiCGetSignLevel=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ASiCGetSignLevel\",i,n,r,null)},ot.prototype.ASiCIsAllContentCovered=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"ASiCIsAllContentCovered\",i,n,r,null)},ot.prototype.PDFGetSignType=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"PDFGetSignType\",i,n,r,null)},ot.prototype.PDFGetSignsCount=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"PDFGetSignsCount\",r,e,n,null)},ot.prototype.PDFGetSignerInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"PDFGetSignerInfo\",i,n,r,null)},ot.prototype.PDFGetSignTimeInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"PDFGetSignTimeInfo\",i,n,r,null)},ot.prototype.PDFSign=function(t,e,n,r){var i;return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"PDFSign\",i,n,r,null)},ot.prototype.PDFVerify=function(t,e,n,r,i){var o,s=[];if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,i)))return\"boolean\"!=typeof n&&(i=r,r=n),s.push(t),s.push(new S(e)),\"boolean\"==typeof n?s.push(n):s.push(null),o=this._funcMakeParams(s),this._funcCall(\"PDFVerify\",o,r,i,null)},ot.prototype.CtxPDFSign=function(t,e,n,r,i,o){var s;return s=this._funcMakeParams([t,e,new S(n),r]),this._funcCall(\"CtxPDFSign\",s,i,o,null)},ot.prototype.CtxPDFGetSignerInfo=function(t,e,n,r,i){var o;if(\"string\"!=typeof n||null!=(n=this._base64Decode(n,i)))return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"CtxPDFGetSignerInfo\",o,r,i,null)},ot.prototype.XAdESGetType=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"XAdESGetType\",r,e,n,null)},ot.prototype.XAdESGetSignsCount=function(t,e,n){var r;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,n)))return r=this._funcMakeParams([new S(t)]),this._funcCall(\"XAdESGetSignsCount\",r,e,n,null)},ot.prototype.XAdESGetSignLevel=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"XAdESGetSignLevel\",i,n,r,null)},ot.prototype.XAdESGetSignerInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"XAdESGetSignerInfo\",i,n,r,null)},ot.prototype.XAdESGetSignTimeInfo=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"XAdESGetSignTimeInfo\",i,n,r,null)},ot.prototype.XAdESGetSignReferences=function(t,e,n,r){var i;if(\"string\"!=typeof e||null!=(e=this._base64Decode(e,r)))return i=this._funcMakeParams([t,new S(e)]),this._funcCall(\"XAdESGetSignReferences\",i,n,r,null)},ot.prototype.XAdESGetReference=function(t,e,n,r){var i;if(\"string\"!=typeof t||null!=(t=this._base64Decode(t,r)))return i=this._funcMakeParams([new S(t),e]),this._funcCall(\"XAdESGetReference\",i,n,r,null)},ot.prototype.XAdESSign=function(t,e,n,r,i){for(var o,s=[],a=[],u=0;u<n.length;u++)s.push(n[u].GetName()),a.push(new S(n[u].GetData()));return o=this._funcMakeParams([t,e,s,a]),this._funcCall(\"XAdESSign\",o,r,i,null)},ot.prototype.XAdESVerify=function(t,e,n,r,i,o){var s,a=[],u=null,c=null;if(null!=t){u=[],c=[];for(var l=0;l<t.length;l++)u.push(t[l].GetName()),c.push(new S(t[l].GetData()))}if(\"string\"!=typeof n||null!=(n=this._base64Decode(n,o)))return\"boolean\"!=typeof r&&(o=i,i=r),a.push(u),a.push(c),a.push(e),a.push(new S(n)),\"boolean\"==typeof r?a.push(r):a.push(null),s=this._funcMakeParams(a),this._funcCall(\"XAdESVerify\",s,i,o,null)},ot.prototype.CtxXAdESSign=function(t,e,n,r,i,o,s){for(var a,u=[],c=[],l=0;l<i.length;l++)u.push(i[l].GetName()),c.push(new S(i[l].GetData()));return a=this._funcMakeParams([t,e,n,r,u,c]),this._funcCall(\"CtxXAdESSign\",a,o,s,null)},ot.prototype.CtxXAdESGetSignerInfo=function(t,e,n,r,i){var o;if(\"string\"!=typeof n||null!=(n=this._base64Decode(n,i)))return o=this._funcMakeParams([t,e,new S(n)]),this._funcCall(\"CtxXAdESGetSignerInfo\",o,r,i,null)},ot.prototype.SServerClientGeneratePrivateKeyAsync=function(t,e,n,r,i,o,s,a,u,c,l,f,_){var p;return p=this._funcMakeParams([t,e,n,r,i,o,s,a,u,c,l]),this._funcCall(\"SServerClientGeneratePrivateKeyAsync\",p,f,_,null)},ot.prototype.SServerClientCheckGeneratePrivateKeyStatus=function(t,e,n,r,i,o){var s,a=this;return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"SServerClientCheckGeneratePrivateKeyStatus\",s,i,o,(function(t,e,n){var r=a.IsAsync(e,n);try{for(var i=new p,o=0;o<t.length;o++)i.add(t[o]);if(0==i.size()&&(i=null),!r)return i;e(i)}catch(t){var s=a.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(r)return void n(s);throw new it(s.errorCode,s.message)}}))},ot.prototype.SServerClientSignHashAsync=function(t,e,n,r,i,o,s,a,u){var c;if(\"string\"==typeof o||null!=(o=this._base64Encode(o,u)))return c=this._funcMakeParams([t,e,n,r,i,o,s]),this._funcCall(\"SServerClientSignHashAsync\",c,a,u,null)},ot.prototype.SServerClientCheckSignHashStatus=function(t,e,n,r,i,o){var s;return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"SServerClientCheckSignHashStatus\",s,i,o,null)},ot.prototype.SServerClientSignHashesAsync=function(t,e,n,r,i,o,s,a,u,c){var l;return\"EndUserArrayList\"==o.className&&(o=o.m_array),\"EndUserArrayList\"==s.className&&(s=s.m_array),l=this._funcMakeParams([t,e,n,r,i,o,s,a]),this._funcCall(\"SServerClientSignHashesAsync\",l,u,c,null)},ot.prototype.SServerClientCheckSignHashesStatus=function(t,e,n,r,i,o){var s,a=this;return s=this._funcMakeParams([t,e,n,r]),this._funcCall(\"SServerClientCheckSignHashesStatus\",s,i,o,(function(t,e,n){var r=a.IsAsync(e,n);try{for(var i=new p,o=0;o<t.length;o++)i.add(t[o]);if(0==i.size()&&(i=null),!r)return i;e(i)}catch(t){var s=a.MakeError(rt.ERROR_LIBRARY_COMUNICATION_FAILED,\"\");if(r)return void n(s);throw new it(s.errorCode,s.message)}}))},{EndUserLibraryLoader:_,EUSignCP:ot,EndUserError:rt}})?r.apply(e,i):r)||(t.exports=o)},function(t,e,n){\"use strict\";n.r(e),function(t){n.d(e,\"EndUser\",(function(){return v}));var r=n(1);n.d(e,\"EndUserError\",(function(){return r}));var i=n(14);n.d(e,\"EndUserLibraryInfoJS\",(function(){return i.a})),n.d(e,\"EndUserLibraryInfoSW\",(function(){return i.b}));var o=n(9);n.d(e,\"CASettings\",(function(){return o.a})),n.d(e,\"KSPSettings\",(function(){return o.d})),n.d(e,\"EndUserSettings\",(function(){return o.c})),n.d(e,\"EndUserProxySettings\",(function(){return o.b}));var s=n(10);n.d(e,\"EndUserOwnerInfo\",(function(){return s.a}));var a=n(8);n.d(e,\"EndUserCertificateInfoEx\",(function(){return a.a}));var u=n(20);n.d(e,\"EndUserCertificate\",(function(){return u.a}));var c=n(21);n.d(e,\"EndUserKeyMedia\",(function(){return c.a}));var l=n(15);n.d(e,\"EndUserJKSPrivateKeyInfo\",(function(){return l.a}));var f=n(18);n.d(e,\"EndUserContext\",(function(){return f.a})),n.d(e,\"EndUserPrivateKeyContext\",(function(){return f.b}));var _=n(0);n.d(e,\"EndUserConstants\",(function(){return _}));var p=n(11);n.d(e,\"EndUserTaxReport\",(function(){return p.b})),n.d(e,\"EndUserTaxReceipt\",(function(){return p.a}));var h=n(6);n.d(e,\"EndUserTimeInfo\",(function(){return h.a}));var E=n(7);n.d(e,\"EndUserSignContainerInfo\",(function(){return E.a}));var y=n(5);n.d(e,\"EndUserSignInfo\",(function(){return y.a}));var S=n(12);n.d(e,\"EndUserSenderInfo\",(function(){return S.a}));var C=n(16);n.d(e,\"EndUserParams\",(function(){return C.a}));var d=n(22);n.d(e,\"EndUserInfo\",(function(){return d.a}));var A=n(17);n.d(e,\"EndUserRequestInfo\",(function(){return A.a}));var m=n(19);n.d(e,\"EndUserClientRegistrationParameters\",(function(){return m.a})),n.d(e,\"EndUserClientRegistrationToken\",(function(){return m.b}));var R=n(23);n.d(e,\"EndUserEvents\",(function(){return R}));var T=n(24),g=n(26),v=function(){function e(t,e,n){switch(void 0===e&&(e=_.EndUserLibraryType.JS),void 0===n&&(n=5),e){case _.EndUserLibraryType.SW:this.m_library=new g.a;break;case _.EndUserLibraryType.JS:case _.EndUserLibraryType.MS:default:this.m_library=new T.a(t,n)}}return e.prototype.Destroy=function(){var e=this;return new t((function(t,n){e.m_library.Finalize(),e.m_library=null,t()}))},e.prototype.AddEventListener=function(t,e){return this.m_library.AddEventListener(t,e)},e.prototype.GetLibraryInfo=function(t){return this.m_library.GetLibraryInfo(t)},e.prototype.IsInitialized=function(){return this.m_library.IsInitialized()},e.prototype.Initialize=function(t){return this.m_library.Initialize(t)},e.prototype.SetLanguage=function(t){return this.m_library.SetLanguage(t)},e.prototype.SetRuntimeParameter=function(t,e){return this.m_library.SetRuntimeParameter(t,e)},e.prototype.GetStorageParameter=function(t,e){return void 0===e&&(e=!1),this.m_library.GetStorageParameter(t,e)},e.prototype.SetStorageParameter=function(t,e,n){return void 0===n&&(n=!1),this.m_library.SetStorageParameter(t,e,n)},e.prototype.GetCAs=function(){return this.m_library.GetCAs()},e.prototype.GetProxySettings=function(){return this.m_library.GetProxySettings()},e.prototype.SetProxySettings=function(t){return this.m_library.SetProxySettings(t)},e.prototype.GetHostInfo=function(){return this.m_library.GetHostInfo()},e.prototype.GetKeyMedias=function(){return this.m_library.GetKeyMedias()},e.prototype.GetJKSPrivateKeys=function(t){return this.m_library.GetJKSPrivateKeys(t)},e.prototype.IsPrivateKeyReaded=function(){return this.m_library.IsPrivateKeyReaded()},e.prototype.ResetPrivateKey=function(){return this.m_library.ResetPrivateKey()},e.prototype.ResetOperationKSP=function(){return this.m_library.ResetOperationKSP()},e.prototype.ReadPrivateKey=function(t,e,n){return this.m_library.ReadPrivateKey(t,e,n)},e.prototype.ReadPrivateKeyBinary=function(t,e,n,r){return this.m_library.ReadPrivateKeyBinary(t,e,n,r)},e.prototype.ReadPrivateKeySIM=function(t,e,n,r){return void 0===n&&(n=!0),void 0===r&&(r=0),this.m_library.ReadPrivateKeySIM(t,e,n,r)},e.prototype.ReadPrivateKeyKSP=function(t,e,n,r,i,o,s){return void 0===n&&(n=!0),void 0===r&&(r=0),void 0===i&&(i=null),void 0===o&&(o=null),void 0===s&&(s=null),this.m_library.ReadPrivateKeyKSP(t,e,n,r,i,o,s)},e.prototype.GetOwnCertificates=function(){return this.m_library.GetOwnCertificates()},e.prototype.GetOwnEUserParams=function(){return this.m_library.GetOwnEUserParams()},e.prototype.ChangeOwnCertificatesStatus=function(t,e){return this.m_library.ChangeOwnCertificatesStatus(t,e)},e.prototype.MakeNewCertificate=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,C,d){return void 0===E&&(E=!1),void 0===y&&(y=null),void 0===S&&(S=null),void 0===C&&(C=0),void 0===d&&(d=null),this.m_library.MakeNewCertificate(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,C,d)},e.prototype.MakeDeviceCertificate=function(t,e,n,r,i){return this.m_library.MakeDeviceCertificate(t,e,n,r,i)},e.prototype.SetKeyMediaUserPassword=function(t,e){return this.m_library.SetKeyMediaUserPassword(t,e)},e.prototype.ChangePrivateKeyPassword=function(t,e){return this.m_library.ChangePrivateKeyPassword(t,e)},e.prototype.ChangePrivateKeyPasswordBinary=function(t,e,n){return this.m_library.ChangePrivateKeyPasswordBinary(t,e,n)},e.prototype.GeneratePrivateKey=function(t,e,n,r,i,o,s,a,u,c,l,f){return this.m_library.GeneratePrivateKey(t,e,n,r,i,o,s,a,u,c,l,f)},e.prototype.GeneratePrivateKeyBinary=function(t,e,n,r,i,o,s,a,u,c,l){return this.m_library.GeneratePrivateKeyBinary(t,e,n,r,i,o,s,a,u,c,l)},e.prototype.GetKeyInfo=function(t){return this.m_library.GetKeyInfo(t)},e.prototype.GetKeyInfoBinary=function(t,e){return this.m_library.GetKeyInfoBinary(t,e)},e.prototype.GetClientRegistrationTokenKSP=function(t,e){return this.m_library.GetClientRegistrationTokenKSP(t,e)},e.prototype.HashData=function(t,e,n){return this.m_library.HashData(t,e,n)},e.prototype.GetSigner=function(t,e,n){return this.m_library.GetSigner(t,e,n)},e.prototype.SignData=function(t,e){return void 0===e&&(e=!1),this.m_library.SignData(t,e)},e.prototype.SignDataInternal=function(t,e,n){return void 0===n&&(n=!1),this.m_library.SignDataInternal(t,e,n)},e.prototype.SignHash=function(t,e,n,r){return void 0===r&&(r=!1),this.m_library.SignHash(t,e,n,r)},e.prototype.SignDataEx=function(t,e,n,r,i){return void 0===i&&(i=!1),this.m_library.SignDataEx(t,e,n,r,i)},e.prototype.AppendSign=function(t,e,n,r,i){return void 0===i&&(i=!1),this.m_library.AppendSign(t,e,n,r,i)},e.prototype.AppendSignHash=function(t,e,n,r,i){return this.m_library.AppendSignHash(t,e,n,r,i)},e.prototype.GetSignValue=function(t,e,n,r){return void 0===r&&(r=!1),this.m_library.GetSignValue(t,e,n,r)},e.prototype.VerifyHash=function(t,e,n){return void 0===n&&(n=-1),this.m_library.VerifyHash(t,e,n)},e.prototype.VerifyData=function(t,e,n){return void 0===n&&(n=-1),this.m_library.VerifyData(t,e,n)},e.prototype.VerifyDataInternal=function(t,e){return void 0===e&&(e=-1),this.m_library.VerifyDataInternal(t,e)},e.prototype.EnvelopData=function(t,e,n,r,i,o){return void 0===o&&(o=!1),this.m_library.EnvelopData(t,e,n,r,i,o)},e.prototype.DevelopData=function(t,e){return this.m_library.DevelopData(t,e)},e.prototype.ProtectDataByPassword=function(t,e,n){return this.m_library.ProtectDataByPassword(t,e,n)},e.prototype.UnprotectDataByPassword=function(t,e,n){return this.m_library.UnprotectDataByPassword(t,e,n)},e.prototype.CreateAuthData=function(t,e,n){return this.m_library.CreateAuthData(t,e,n)},e.prototype.GetTSPByAccessInfo=function(t,e,n,r,i){return this.m_library.GetTSPByAccessInfo(t,e,n,r,i)},e.prototype.CheckTSP=function(t,e,n){return this.m_library.CheckTSP(t,e,n)},e.prototype.ClientDynamicKeySessionCreate=function(t){return this.m_library.ClientDynamicKeySessionCreate(t)},e.prototype.SessionClose=function(t){return this.m_library.SessionClose(t)},e.prototype.SessionEncrypt=function(t,e,n){return this.m_library.SessionEncrypt(t,e,n)},e.prototype.SessionDecrypt=function(t,e){return this.m_library.SessionDecrypt(t,e)},e.prototype.CtxCreate=function(){return this.m_library.CtxCreate()},e.prototype.CtxFree=function(t){return this.m_library.CtxFree(t)},e.prototype.CtxSetParameter=function(t,e,n){return this.m_library.CtxSetParameter(t,e,n)},e.prototype.CtxReadPrivateKey=function(t,e,n,r){return void 0===t&&(t=null),this.m_library.CtxReadPrivateKey(t,e,n,r)},e.prototype.CtxReadPrivateKeyBinary=function(t,e,n,r,i){return void 0===t&&(t=null),this.m_library.CtxReadPrivateKeyBinary(t,e,n,r,i)},e.prototype.CtxFreePrivateKey=function(t){return this.m_library.CtxFreePrivateKey(t)},e.prototype.CtxGetOwnCertificates=function(t){return this.m_library.CtxGetOwnCertificates(t)},e.prototype.CtxSignHash=function(t,e,n,r,i){return this.m_library.CtxSignHash(t,e,n,r,i)},e.prototype.CtxSignData=function(t,e,n,r,i,o){return this.m_library.CtxSignData(t,e,n,r,i,o)},e.prototype.CtxAppendSignHash=function(t,e,n,r,i,o){return this.m_library.CtxAppendSignHash(t,e,n,r,i,o)},e.prototype.CtxAppendSign=function(t,e,n,r,i,o){return this.m_library.CtxAppendSign(t,e,n,r,i,o)},e.prototype.CtxGetSignValue=function(t,e,n,r,i){return void 0===i&&(i=!1),this.m_library.CtxGetSignValue(t,e,n,r,i)},e.prototype.CtxEnvelopData=function(t,e,n,r,i,o,s){return this.m_library.CtxEnvelopData(t,e,n,r,i,o,s)},e.prototype.CtxDevelopData=function(t,e,n){return this.m_library.CtxDevelopData(t,e,n)},e.prototype.ProtectTaxReports=function(t,e,n,r,i,o,s){return void 0===t&&(t=null),void 0===e&&(e=null),void 0===n&&(n=null),this.m_library.ProtectTaxReports(t,e,n,r,i,o,s)},e.prototype.UnprotectTaxReceipts=function(t,e){return this.m_library.UnprotectTaxReceipts(t,e)},e.prototype.ASiCGetSigner=function(t,e,n){return this.m_library.ASiCGetSigner(t,e,n)},e.prototype.ASiCSignData=function(t,e,n,r,i,o){return this.m_library.ASiCSignData(t,e,n,r,i,o)},e.prototype.ASiCAppendSign=function(t,e,n,r,i){return this.m_library.ASiCAppendSign(t,e,n,r,i)},e.prototype.ASiCVerifyData=function(t,e){return this.m_library.ASiCVerifyData(t,e)},e.prototype.PDFGetSigner=function(t,e,n){return this.m_library.PDFGetSigner(t,e,n)},e.prototype.PDFSignData=function(t,e,n,r){return this.m_library.PDFSignData(t,e,n,r)},e.prototype.PDFVerifyData=function(t,e){return this.m_library.PDFVerifyData(t,e)},e.prototype.XAdESGetSigner=function(t,e,n){return this.m_library.XAdESGetSigner(t,e,n)},e.prototype.XAdESSignData=function(t,e,n,r,i){return this.m_library.XAdESSignData(t,e,n,r,i)},e.prototype.XAdESVerifyData=function(t,e,n){return this.m_library.XAdESVerifyData(t,e,n)},e.prototype.GetSignContainerInfo=function(t){return this.m_library.GetSignContainerInfo(t)},e}()}.call(this,n(13).Promise)},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));var r=n(0),i=function(){this.type=r.EndUserSignContainerType.Unknown,this.subType=r.EndUserCAdESType.Unknown,this.asicSignType=r.EndUserASiCSignType.Unknown}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r})),n.d(e,\"d\",(function(){return i})),n.d(e,\"c\",(function(){return o})),n.d(e,\"b\",(function(){return s}));var r=function(){},i=function(){},o=function(){},s=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return r})),n.d(e,\"a\",(function(){return i}));var r=function(){},i=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){(function(e,r){var i;\r\n/*!\r\n * @overview es6-promise - a tiny implementation of Promises/A+.\r\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\r\n * @license   Licensed under MIT license\r\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\r\n * @version   3.3.1\r\n */i=function(){\"use strict\";function t(t){return\"function\"==typeof t}var i=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},o=0,s=void 0,a=void 0,u=function(t,e){E[o]=t,E[o+1]=e,2===(o+=2)&&(a?a(y):m())},c=\"undefined\"!=typeof window?window:void 0,l=c||{},f=l.MutationObserver||l.WebKitMutationObserver,_=\"undefined\"==typeof self&&void 0!==e&&\"[object process]\"==={}.toString.call(e),p=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function h(){var t=setTimeout;return function(){return t(y,1)}}var E=new Array(1e3);function y(){for(var t=0;t<o;t+=2)(0,E[t])(E[t+1]),E[t]=void 0,E[t+1]=void 0;o=0}var S,C,d,A,m=void 0;function R(t,e){var n=arguments,r=this,i=new this.constructor(v);void 0===i[g]&&x(i);var o,s=r._state;return s?(o=n[s-1],u((function(){return K(s,i,o,r._result)}))):N(r,i,t,e),i}function T(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(v);return D(e,t),e}_?m=function(){return e.nextTick(y)}:f?(C=0,d=new f(y),A=document.createTextNode(\"\"),d.observe(A,{characterData:!0}),m=function(){A.data=C=++C%2}):p?((S=new MessageChannel).port1.onmessage=y,m=function(){return S.port2.postMessage(0)}):m=void 0===c?function(){try{var t=n(31);return s=t.runOnLoop||t.runOnContext,function(){s(y)}}catch(t){return h()}}():h();var g=Math.random().toString(36).substring(16);function v(){}var P=new M;function U(t){try{return t.then}catch(t){return P.error=t,P}}function I(e,n,r){n.constructor===e.constructor&&r===R&&n.constructor.resolve===T?function(t,e){1===e._state?O(t,e._result):2===e._state?G(t,e._result):N(e,void 0,(function(e){return D(t,e)}),(function(e){return G(t,e)}))}(e,n):r===P?G(e,P.error):void 0===r?O(e,n):t(r)?function(t,e,n){u((function(t){var r=!1,i=function(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}(n,e,(function(n){r||(r=!0,e!==n?D(t,n):O(t,n))}),(function(e){r||(r=!0,G(t,e))}),t._label);!r&&i&&(r=!0,G(t,i))}),t)}(e,n,r):O(e,n)}function D(t,e){var n;t===e?G(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(n=e)||\"object\"==typeof n&&null!==n?I(t,e,U(e)):O(t,e)}function b(t){t._onerror&&t._onerror(t._result),w(t)}function O(t,e){void 0===t._state&&(t._result=e,t._state=1,0!==t._subscribers.length&&u(w,t))}function G(t,e){void 0===t._state&&(t._state=2,t._result=e,u(b,t))}function N(t,e,n,r){var i=t._subscribers,o=i.length;t._onerror=null,i[o]=e,i[o+1]=n,i[o+2]=r,0===o&&t._state&&u(w,t)}function w(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,i=void 0,o=t._result,s=0;s<e.length;s+=3)r=e[s],i=e[s+n],r?K(n,r,i,o):i(o);t._subscribers.length=0}}function M(){this.error=null}var L=new M;function K(e,n,r,i){var o=t(r),s=void 0,a=void 0,u=void 0,c=void 0;if(o){if((s=function(t,e){try{return t(e)}catch(t){return L.error=t,L}}(r,i))===L?(c=!0,a=s.error,s=null):u=!0,n===s)return void G(n,new TypeError(\"A promises callback cannot return that same promise.\"))}else s=i,u=!0;void 0!==n._state||(o&&u?D(n,s):c?G(n,a):1===e?O(n,s):2===e&&G(n,s))}var k=0;function x(t){t[g]=k++,t._state=void 0,t._result=void 0,t._subscribers=[]}function B(t,e){this._instanceConstructor=t,this.promise=new t(v),this.promise[g]||x(this.promise),i(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?O(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&O(this.promise,this._result))):G(this.promise,new Error(\"Array Methods must be provided an Array\"))}function F(t){this[g]=k++,this._result=this._state=void 0,this._subscribers=[],v!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof F?function(t,e){try{e((function(e){D(t,e)}),(function(e){G(t,e)}))}catch(e){G(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function H(){var t=void 0;if(void 0!==r)t=r;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===n&&!e.cast)return}t.Promise=F}return B.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;void 0===this._state&&n<t;n++)this._eachEntry(e[n],n)},B.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===T){var i=U(t);if(i===R&&void 0!==t._state)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof i)this._remaining--,this._result[e]=t;else if(n===F){var o=new n(v);I(o,t,i),this._willSettleAt(o,e)}else this._willSettleAt(new n((function(e){return e(t)})),e)}else this._willSettleAt(r(t),e)},B.prototype._settledAt=function(t,e,n){var r=this.promise;void 0===r._state&&(this._remaining--,2===t?G(r,n):this._result[e]=n),0===this._remaining&&O(r,this._result)},B.prototype._willSettleAt=function(t,e){var n=this;N(t,void 0,(function(t){return n._settledAt(1,e,t)}),(function(t){return n._settledAt(2,e,t)}))},F.all=function(t){return new B(this,t).promise},F.race=function(t){var e=this;return i(t)?new e((function(n,r){for(var i=t.length,o=0;o<i;o++)e.resolve(t[o]).then(n,r)})):new e((function(t,e){return e(new TypeError(\"You must pass an array to race.\"))}))},F.resolve=T,F.reject=function(t){var e=new this(v);return G(e,t),e},F._setScheduler=function(t){a=t},F._setAsap=function(t){u=t},F._asap=u,F.prototype={constructor:F,then:R,catch:function(t){return this.then(null,t)}},H(),F.polyfill=H,F.Promise=F,F},t.exports=i()}).call(this,n(29),n(30))},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r})),n.d(e,\"b\",(function(){return i}));var r=function(){this.version=null,this.supported=!1,this.loaded=!1},i=function(){this.version=null,this.supported=!1,this.loaded=!1,this.isSignAgentSupported=!1,this.isWebExtensionSupported=!1,this.isNPAPISupported=!1,this.isActiveXSupported=!1,this.isWebExtensionInstalled=!1,this.isNativeLibraryNeedUpdate=!1,this.nativeLibraryInstallURL=null,this.nativeLibraryUpdateURL=null,this.webExtensionInstallURL=null,this.helpURL=null}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r})),n.d(e,\"b\",(function(){return i}));var r=function(){},i=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r})),n.d(e,\"b\",(function(){return i}));var r=function(){},i=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(t){this.type=t?t.type:\"\",this.device=t?t.device:\"\",this.visibleName=t?t.visibleName:\"\",this.typeIndex=t?t.typeIndex:-1,this.devIndex=t?t.devIndex:-1,this.password=t?t.password:\"\",this.user=t?t.user:\"\"}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));var r=n(0),i=function(){this.version=r.EU_USER_INFO_VERSION,this.commonName=\"\",this.locality=\"\",this.state=\"\",this.organization=\"\",this.orgUnit=\"\",this.title=\"\",this.street=\"\",this.phone=\"\",this.surname=\"\",this.givenname=\"\",this.EMail=\"\",this.DNS=\"\",this.EDRPOUCode=\"\",this.DRFOCode=\"\",this.NBUCode=\"\",this.SPFMCode=\"\",this.OCode=\"\",this.OUCode=\"\",this.userCode=\"\",this.UPN=\"\",this.UNZR=\"\",this.country=\"UA\"}},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"EndUserConfirmKSPOperationEvent\",(function(){return i}));var r=n(0),i=function(){this.type=r.EndUserEventType.ConfirmKSPOperation}},function(t,e,n){\"use strict\";(function(t){var r=n(25),i=n(0),o=function(){function e(t,e){var n=this,i=\"\";\"number\"==typeof e&&e>0&&(\"string\"==typeof i&&i.length>0&&(i=\"var EU_MAX_DATA_SIZE_MB = \"+e+\";\"+i),\"string\"==typeof t&&t.length>0&&(t+=(t.includes(\"?\")?\"&\":\"?\")+\"maxDataSize=\"+e)),this.m_worker=new r.a(i,t,(function(t){n.OnEvent(t)})),this.m_eventListeners=new Array}return e.prototype.OnEvent=function(t){try{var e=this.m_eventListeners[t.type]||this.m_eventListeners[i.EndUserEventType.All];e&&e(t)}catch(t){}},e.prototype.AddEventListener=function(t,e){switch(t){case i.EndUserEventType.None:this.m_eventListeners=[];break;case i.EndUserEventType.All:this.m_eventListeners=[],this.m_eventListeners[t]=e;break;default:this.m_eventListeners[t]=e}return this.m_worker.postMessage(\"AddEventListener\",[t])},e.prototype.GetLibraryInfo=function(t){return this.m_worker.postMessage(\"GetLibraryInfo\",Array.prototype.slice.call(arguments))},e.prototype.IsInitialized=function(){return this.m_worker.postMessage(\"IsInitialized\",Array.prototype.slice.call(arguments))},e.prototype.Initialize=function(t){return this.m_worker.postMessage(\"Initialize\",Array.prototype.slice.call(arguments))},e.prototype.Finalize=function(){var e=this;return new t((function(t,n){e.m_worker.terminate(),e.m_worker=null,e.m_eventListeners=[],t()}))},e.prototype.SetLanguage=function(t){return this.m_worker.postMessage(\"SetLanguage\",Array.prototype.slice.call(arguments))},e.prototype.SetRuntimeParameter=function(t,e){return this.m_worker.postMessage(\"SetRuntimeParameter\",Array.prototype.slice.call(arguments))},e.prototype.GetStorageParameter=function(t,e){return this.m_worker.postMessage(\"GetStorageParameter\",Array.prototype.slice.call(arguments))},e.prototype.SetStorageParameter=function(t,e,n){return this.m_worker.postMessage(\"SetStorageParameter\",Array.prototype.slice.call(arguments))},e.prototype.GetCAs=function(){return this.m_worker.postMessage(\"GetCAs\",Array.prototype.slice.call(arguments))},e.prototype.GetProxySettings=function(){return this.m_worker.postMessage(\"GetProxySettings\",Array.prototype.slice.call(arguments))},e.prototype.SetProxySettings=function(t){return this.m_worker.postMessage(\"SetProxySettings\",Array.prototype.slice.call(arguments))},e.prototype.GetHostInfo=function(){return this.m_worker.postMessage(\"GetHostInfo\",Array.prototype.slice.call(arguments))},e.prototype.GetKeyMedias=function(){return this.m_worker.postMessage(\"GetKeyMedias\",Array.prototype.slice.call(arguments))},e.prototype.GetJKSPrivateKeys=function(t){return this.m_worker.postMessage(\"GetJKSPrivateKeys\",Array.prototype.slice.call(arguments))},e.prototype.IsPrivateKeyReaded=function(){return this.m_worker.postMessage(\"IsPrivateKeyReaded\",Array.prototype.slice.call(arguments))},e.prototype.ResetPrivateKey=function(){return this.m_worker.postMessage(\"ResetPrivateKey\",Array.prototype.slice.call(arguments))},e.prototype.ResetOperationKSP=function(){return this.m_worker.postMessage(\"ResetOperationKSP\",Array.prototype.slice.call(arguments))},e.prototype.ReadPrivateKey=function(t,e,n){return this.m_worker.postMessage(\"ReadPrivateKey\",Array.prototype.slice.call(arguments))},e.prototype.ReadPrivateKeyBinary=function(t,e,n,r){return this.m_worker.postMessage(\"ReadPrivateKeyBinary\",Array.prototype.slice.call(arguments))},e.prototype.ReadPrivateKeySIM=function(t,e,n,r){return this.m_worker.postMessage(\"ReadPrivateKeySIM\",Array.prototype.slice.call(arguments))},e.prototype.ReadPrivateKeyKSP=function(t,e,n,r,i,o,s){return this.m_worker.postMessage(\"ReadPrivateKeyKSP\",Array.prototype.slice.call(arguments))},e.prototype.GetOwnCertificates=function(){return this.m_worker.postMessage(\"GetOwnCertificates\",Array.prototype.slice.call(arguments))},e.prototype.GetOwnEUserParams=function(){return this.m_worker.postMessage(\"GetOwnEUserParams\",Array.prototype.slice.call(arguments))},e.prototype.ChangeOwnCertificatesStatus=function(t,e){return this.m_worker.postMessage(\"ChangeOwnCertificatesStatus\",Array.prototype.slice.call(arguments))},e.prototype.MakeNewCertificate=function(t,e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,C,d){return void 0===E&&(E=!1),void 0===y&&(y=null),void 0===S&&(S=null),void 0===C&&(C=0),void 0===d&&(d=null),this.m_worker.postMessage(\"MakeNewCertificate\",Array.prototype.slice.call(arguments))},e.prototype.MakeDeviceCertificate=function(t,e,n,r,i){return this.m_worker.postMessage(\"MakeDeviceCertificate\",Array.prototype.slice.call(arguments))},e.prototype.SetKeyMediaUserPassword=function(t,e){return this.m_worker.postMessage(\"SetKeyMediaUserPassword\",Array.prototype.slice.call(arguments))},e.prototype.ChangePrivateKeyPassword=function(t,e){return this.m_worker.postMessage(\"ChangePrivateKeyPassword\",Array.prototype.slice.call(arguments))},e.prototype.ChangePrivateKeyPasswordBinary=function(t,e,n){return this.m_worker.postMessage(\"ChangePrivateKeyPasswordBinary\",Array.prototype.slice.call(arguments))},e.prototype.GeneratePrivateKey=function(t,e,n,r,i,o,s,a,u,c,l,f){return this.m_worker.postMessage(\"GeneratePrivateKey\",Array.prototype.slice.call(arguments))},e.prototype.GeneratePrivateKeyBinary=function(t,e,n,r,i,o,s,a,u,c,l){return this.m_worker.postMessage(\"GeneratePrivateKeyBinary\",Array.prototype.slice.call(arguments))},e.prototype.GetKeyInfo=function(t){return this.m_worker.postMessage(\"GetKeyInfo\",Array.prototype.slice.call(arguments))},e.prototype.GetKeyInfoBinary=function(t,e){return this.m_worker.postMessage(\"GetKeyInfoBinary\",Array.prototype.slice.call(arguments))},e.prototype.GetClientRegistrationTokenKSP=function(t,e){return void 0===e&&(e=null),this.m_worker.postMessage(\"GetClientRegistrationTokenKSP\",Array.prototype.slice.call(arguments))},e.prototype.HashData=function(t,e,n){return this.m_worker.postMessage(\"HashData\",Array.prototype.slice.call(arguments))},e.prototype.GetSigner=function(t,e,n){return void 0===e&&(e=-1),void 0===n&&(n=!1),this.m_worker.postMessage(\"GetSigner\",Array.prototype.slice.call(arguments))},e.prototype.SignData=function(t,e){return void 0===e&&(e=!1),this.m_worker.postMessage(\"SignData\",Array.prototype.slice.call(arguments))},e.prototype.SignDataInternal=function(t,e,n){return void 0===n&&(n=!1),this.m_worker.postMessage(\"SignDataInternal\",Array.prototype.slice.call(arguments))},e.prototype.SignHash=function(t,e,n,r){return this.m_worker.postMessage(\"SignHash\",Array.prototype.slice.call(arguments))},e.prototype.SignDataEx=function(t,e,n,r,i){return this.m_worker.postMessage(\"SignDataEx\",Array.prototype.slice.call(arguments))},e.prototype.AppendSign=function(t,e,n,r,i){return this.m_worker.postMessage(\"AppendSign\",Array.prototype.slice.call(arguments))},e.prototype.AppendSignHash=function(t,e,n,r,i){return this.m_worker.postMessage(\"AppendSignHash\",Array.prototype.slice.call(arguments))},e.prototype.GetSignValue=function(t,e,n,r){return void 0===r&&(r=!1),this.m_worker.postMessage(\"GetSignValue\",Array.prototype.slice.call(arguments))},e.prototype.VerifyHash=function(t,e,n){return void 0===n&&(n=-1),this.m_worker.postMessage(\"VerifyHash\",Array.prototype.slice.call(arguments))},e.prototype.VerifyData=function(t,e,n){return void 0===n&&(n=-1),this.m_worker.postMessage(\"VerifyData\",Array.prototype.slice.call(arguments))},e.prototype.VerifyDataInternal=function(t,e){return void 0===e&&(e=-1),this.m_worker.postMessage(\"VerifyDataInternal\",Array.prototype.slice.call(arguments))},e.prototype.EnvelopData=function(t,e,n,r,i,o){return void 0===o&&(o=!1),this.m_worker.postMessage(\"EnvelopData\",Array.prototype.slice.call(arguments))},e.prototype.DevelopData=function(t,e){return this.m_worker.postMessage(\"DevelopData\",Array.prototype.slice.call(arguments))},e.prototype.CreateAuthData=function(t,e,n){return this.m_worker.postMessage(\"CreateAuthData\",Array.prototype.slice.call(arguments))},e.prototype.ProtectDataByPassword=function(t,e,n){return this.m_worker.postMessage(\"ProtectDataByPassword\",Array.prototype.slice.call(arguments))},e.prototype.UnprotectDataByPassword=function(t,e,n){return this.m_worker.postMessage(\"UnprotectDataByPassword\",Array.prototype.slice.call(arguments))},e.prototype.GetTSPByAccessInfo=function(t,e,n,r,i){return this.m_worker.postMessage(\"GetTSPByAccessInfo\",Array.prototype.slice.call(arguments))},e.prototype.CheckTSP=function(t,e,n){return this.m_worker.postMessage(\"CheckTSP\",Array.prototype.slice.call(arguments))},e.prototype.ClientDynamicKeySessionCreate=function(t){return this.m_worker.postMessage(\"ClientDynamicKeySessionCreate\",Array.prototype.slice.call(arguments))},e.prototype.SessionClose=function(t){return this.m_worker.postMessage(\"SessionClose\",Array.prototype.slice.call(arguments))},e.prototype.SessionEncrypt=function(t,e,n){return this.m_worker.postMessage(\"SessionEncrypt\",Array.prototype.slice.call(arguments))},e.prototype.SessionDecrypt=function(t,e){return this.m_worker.postMessage(\"SessionDecrypt\",Array.prototype.slice.call(arguments))},e.prototype.CtxCreate=function(){return this.m_worker.postMessage(\"CtxCreate\",Array.prototype.slice.call(arguments))},e.prototype.CtxFree=function(t){return this.m_worker.postMessage(\"CtxFree\",Array.prototype.slice.call(arguments))},e.prototype.CtxSetParameter=function(t,e,n){return this.m_worker.postMessage(\"CtxSetParameter\",Array.prototype.slice.call(arguments))},e.prototype.CtxReadPrivateKey=function(t,e,n,r){return this.m_worker.postMessage(\"CtxReadPrivateKey\",Array.prototype.slice.call(arguments))},e.prototype.CtxReadPrivateKeyBinary=function(t,e,n,r,i){return this.m_worker.postMessage(\"CtxReadPrivateKeyBinary\",Array.prototype.slice.call(arguments))},e.prototype.CtxFreePrivateKey=function(t){return this.m_worker.postMessage(\"CtxFreePrivateKey\",Array.prototype.slice.call(arguments))},e.prototype.CtxGetOwnCertificates=function(t){return this.m_worker.postMessage(\"CtxGetOwnCertificates\",Array.prototype.slice.call(arguments))},e.prototype.CtxSignHash=function(t,e,n,r,i){return this.m_worker.postMessage(\"CtxSignHash\",Array.prototype.slice.call(arguments))},e.prototype.CtxSignData=function(t,e,n,r,i,o){return this.m_worker.postMessage(\"CtxSignData\",Array.prototype.slice.call(arguments))},e.prototype.CtxAppendSignHash=function(t,e,n,r,i,o){return this.m_worker.postMessage(\"CtxAppendSignHash\",Array.prototype.slice.call(arguments))},e.prototype.CtxAppendSign=function(t,e,n,r,i,o){return this.m_worker.postMessage(\"CtxAppendSign\",Array.prototype.slice.call(arguments))},e.prototype.CtxGetSignValue=function(t,e,n,r,i){return void 0===i&&(i=!1),this.m_worker.postMessage(\"CtxGetSignValue\",Array.prototype.slice.call(arguments))},e.prototype.CtxEnvelopData=function(t,e,n,r,i,o,s){return this.m_worker.postMessage(\"CtxEnvelopData\",Array.prototype.slice.call(arguments))},e.prototype.CtxDevelopData=function(t,e,n){return this.m_worker.postMessage(\"CtxDevelopData\",Array.prototype.slice.call(arguments))},e.prototype.ProtectTaxReports=function(t,e,n,r,i,o,s){return void 0===t&&(t=null),void 0===e&&(e=null),void 0===n&&(n=null),void 0===s&&(s=!1),this.m_worker.postMessage(\"ProtectTaxReports\",Array.prototype.slice.call(arguments))},e.prototype.UnprotectTaxReceipts=function(t,e){return this.m_worker.postMessage(\"UnprotectTaxReceipts\",Array.prototype.slice.call(arguments))},e.prototype.ASiCGetSigner=function(t,e,n){return this.m_worker.postMessage(\"ASiCGetSigner\",Array.prototype.slice.call(arguments))},e.prototype.ASiCSignData=function(t,e,n,r,i,o){return this.m_worker.postMessage(\"ASiCSignData\",Array.prototype.slice.call(arguments))},e.prototype.ASiCAppendSign=function(t,e,n,r,i){return this.m_worker.postMessage(\"ASiCAppendSign\",Array.prototype.slice.call(arguments))},e.prototype.ASiCVerifyData=function(t,e){return void 0===e&&(e=-1),this.m_worker.postMessage(\"ASiCVerifyData\",Array.prototype.slice.call(arguments))},e.prototype.PDFSignData=function(t,e,n,r){return this.m_worker.postMessage(\"PDFSignData\",Array.prototype.slice.call(arguments))},e.prototype.PDFVerifyData=function(t,e){return void 0===e&&(e=-1),this.m_worker.postMessage(\"PDFVerifyData\",Array.prototype.slice.call(arguments))},e.prototype.PDFGetSigner=function(t,e,n){return void 0===e&&(e=-1),void 0===n&&(n=!1),this.m_worker.postMessage(\"PDFGetSigner\",Array.prototype.slice.call(arguments))},e.prototype.XAdESGetSigner=function(t,e,n){return void 0===e&&(e=-1),void 0===n&&(n=!1),this.m_worker.postMessage(\"XAdESGetSigner\",Array.prototype.slice.call(arguments))},e.prototype.XAdESSignData=function(t,e,n,r,i){return this.m_worker.postMessage(\"XAdESSignData\",Array.prototype.slice.call(arguments))},e.prototype.XAdESVerifyData=function(t,e,n){return void 0===n&&(n=-1),this.m_worker.postMessage(\"XAdESVerifyData\",Array.prototype.slice.call(arguments))},e.prototype.GetSignContainerInfo=function(t){return this.m_worker.postMessage(\"GetSignContainerInfo\",Array.prototype.slice.call(arguments))},e}();e.a=o}).call(this,n(13).Promise)},function(t,e,n){\"use strict\";(function(t){var n=function(t,e,n){this.id=t,this.cmd=e,this.params=n,this.origin=window.location.origin?window.location.origin:window.location.protocol+\"//\"+window.location.hostname+(window.location.port?\":\"+window.location.port:\"\"),this.pathname=window.location.pathname},r=function(t,e,n,r){this.id=t,this.cmd=e,this.result=n,this.error=r},i=function(){function e(t,e,n){var r=this;this.m_worker=this.loadWorker(t,e),this.m_worker.onmessage=function(t){var e=t.data;if(-2!=e.id){var i=r.m_promises[e.id-1];i&&(delete r.m_promises[e.id-1],e.error?i.reject(e.error):i.resolve(e.result))}else n(e.result)},this.m_worker.onerror=function(t){r.m_promises.forEach((function(e){e.reject(t.error)})),r.m_promises=new Array},this.m_promises=new Array}return e.prototype.terminate=function(){try{this.m_worker.terminate()}catch(t){this.m_worker=null,this.m_promises=[]}},e.prototype.loadWorker=function(t,e){try{if(!t)throw\"No worker content\";try{var n,r=window,i=r.URL||r.webkitURL;try{(n=new(r.BlobBuilder||r.WebKitBlobBuilder||r.MozBlobBuilder||r.MSBlobBuilder)).append(t),n=n.getBlob()}catch(e){n=new Blob([t])}return new Worker(i.createObjectURL(n))}catch(e){return new Worker(\"data:application/javascript,\"+encodeURIComponent(t))}}catch(t){if(!e)throw Error(\"Inline worker is not supported\");return new Worker(e)}},e.prototype.postMessage=function(e,r){var i=this,o=new n(-1,e,r),s=new t((function(t,e){o.id=i.m_promises.push({resolve:t,reject:e})}));return this.m_worker.postMessage(o),s},e}();e.a=i;!function(){function t(t){this.m_context=t,this.m_initialized=!1;var e=this;self.onmessage=function(t){e.onMessage(t.data)}}t.prototype.postMessage=function(t,e,n,i){var o=new r(t,e,n,i);self.postMessage(o)},t.prototype.onMessage=function(t){var e=this;this.m_initialized?this.m_context[t.cmd].apply(this.m_context,t.params).then((function(n){e.postMessage(t.id,t.cmd,n)}),(function(n){e.postMessage(t.id,t.cmd,null,n)})):setTimeout((function(){e.onMessage(t)}),50)},t.prototype.initialize=function(){this.m_initialized=!0}}()}).call(this,n(13).Promise)},function(t,e,n){\"use strict\";(function(t){var r=n(1),i=n(9),o=n(10),s=n(15),a=n(27),u=n(4),c=n(14),l=n(2),f=n(8),_=n(0),p=n(11),h=n(16),E=n(17),y=n(7),S=n(5),C=n(12),d=n(6),A=n(28),m=function(){},R=function(){function e(){this.MakeExpireDate=function(t){t||(t=300);var e=new Date;return e.setTime(e.getTime()+1e3*t),e},this.m_library=new a.a,this.m_settings=null,this.m_initialized=!1,this.m_kmTypes=null,this.m_kmActiveOperation=!1,this.m_context=null,this.m_pkContext=null,this.m_eventListeners=new Array,this.m_resolveOIDs=!1,this.m_origin=window.location.origin?window.location.origin:window.location.protocol+\"//\"+window.location.hostname+(window.location.port?\":\"+window.location.port:\"\")}return e.prototype.MapError=function(t){var e=new r.EndUserError;return void 0!==t.GetErrorCode&&void 0!==t.GetMessage?(e.code=t.GetErrorCode(),e.message=t.GetMessage()):void 0!==t.code&&void 0!==t.message?(e.code=t.code,e.message=t.message):(e.code=r.EU_ERROR_UNKNOWN,e.message=t.toString()),e},e.prototype.ProcessArray=function(e,n){var r=this;return new t((function(t,i){var o=Array(),s=0,a=function(){s>=e.length?t(o):(n(e[s]).then((function(t){o.push(t),a()})).catch((function(t){return i(r.MapError(t))})),s++)};a()}))},e.prototype.DataToNamedDataArray=function(t){t=null!=t?t:[],t=Array.isArray(t)?t:[t];for(var e=[],n=0;n<t.length;n++){var r=void 0!==t[n].name&&void 0!==t[n].val;e.push({name:r?t[n].name:\"Ім'я відсутнє\",val:r?t[n].val:t[n]})}return e},e.prototype.DataToResult=function(t,e){for(var n=[],r=!Array.isArray(t),i=r?[t]:t,o=0;o<i.length;o++){var s=void 0!==i[o].name&&void 0!==i[o].val?{name:i[o].name,val:e[o]}:e[o];n.push(s)}return r?n[0]:n},e.prototype.NamedDataToReference=function(e){var n=this,r=n.m_library;return new t((function(t,i){\"string\"==typeof e.val?r.StringToBytes(e.val).then((function(n){var i=r.CreateReference(e.name,n);t(i)})).catch((function(t){return i(n.MapError(t))})):setTimeout((function(){var n=r.CreateReference(e.name,e.val);t(n)}),1)}))},e.prototype.OnEvent=function(t){try{var e=this.m_eventListeners[t.type]||this.m_eventListeners[_.EndUserEventType.All];e&&e(t)}catch(t){}},e.prototype.CheckInitialize=function(){var e=this,n=e.m_library;return new t((function(t,i){e.m_initialized?t():n.Load().then((function(){throw n.MakeError(r.EU_ERROR_NOT_INITIALIZED,\"\")})).catch((function(t){return i(e.MapError(t))}))}))},e.prototype.BeginKMOperation=function(){var e=this;return new t((function(t,n){var r=function(){e.m_kmActiveOperation?setTimeout(r,10):(e.m_kmActiveOperation=!0,t())};r()}))},e.prototype.EndKMOperation=function(){this.m_kmActiveOperation=!1},e.prototype.GetCASettings=function(t){if(!t)return null;for(var e=this.m_settings.CAs,n=0;n<e.length;n++)for(var r=e[n].issuerCNs,i=0;i<r.length;i++)if(r[i]==t)return e[n];return null},e.prototype.GetDefaultTSPSettings=function(t){var e=null;if(t.TSPServer)e=t.TSPServer;else{for(var n=null,r=t.CAs,i=0;i<r.length&&(!r[i].tspAddress||!r[i].tspAddressPort||(n&&\"80\"!=r[i].tspAddressPort||(n=r[i]),\"80\"!=n.tspAddressPort));i++);n&&(e={address:n.tspAddress,port:n.tspAddressPort})}return e},e.prototype.IsCMPCompatible=function(t,e){return!!t.cmpAddress&&(void 0===t.cmpCompatibility||(t.cmpCompatibility&e)==e)},e.prototype.IsCMPsAvailable=function(t){for(var e=t.CAs,n=0;n<e.length;n++)if(this.IsCMPCompatible(e[n],_.EndUserCMPCompatibility.DownloadEUCerts))return!0;return!1},e.prototype.SetCMPSettings=function(e){var n=this,i=n.m_library,o=this.GetCASettings(e);return new t((function(t,s){if(e&&null==o&&!n.m_settings.allowForeignCAs)throw i.MakeError(r.EU_ERROR_WRITE_SETTINGS,\"\");var a;a=!(!o||!o.cmpAddress);var u=i.CreateCMPSettings();u.SetUseCMP(a),a&&(u.SetAddress(o.cmpAddress),u.SetPort(\"80\")),i.SetCMPSettings(u).then((function(){t()})).catch((function(t){s(n.MapError(t))}))}))},e.prototype.GetJKSPrivateKey=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){var a={alias:null,info:null};i.EnumJKSPrivateKeys(e,n).then((function(n){if(null!=n)return a.alias=n,i.GetJKSPrivateKey(e,n);t(null)})).then((function(t){a.info=t;for(var e=new Array,n=0;n<t.GetCertificatesCount();n++)e.push(t.GetCertificate(n));return r.ProcessArray(e,(function(t){return i.ParseCertificateEx(t)}))})).then((function(e){var n=new s.a;n.alias=a.alias,n.privateKey=a.info.GetPrivateKey(),n.certificates=new Array,n.digitalStamp=!1;for(var r=0;r<e.length;r++){var o=e[r];if(o.GetSubjType()==i.EU_SUBJECT_TYPE_END_USER){o.GetPublicKeyType()==i.EU_CERT_KEY_TYPE_DSTU4145&&(o.GetKeyUsageType()&i.EU_KEY_USAGE_DIGITAL_SIGNATURE)==i.EU_KEY_USAGE_DIGITAL_SIGNATURE&&(n.digitalStamp=o.GetExtKeyUsages().indexOf(i.EU_UA_OID_EXT_KEY_USAGE_STAMP)>-1);var c=new u.EndUserCertificate;c.data=a.info.GetCertificate(r),c.infoEx=l.a.MapToEndUserCertificateInfoEx(o,new f.a),n.certificates.push(c)}}n.digitalStamp=!1,t(n)})).catch((function(t){return o(r.MapError(t))}))}))},e.prototype.SaveCertificatesInternal=function(e){var n=this,r=this.m_library;return new t((function(t,i){e?Array.isArray(e)?n.ProcessArray(e,(function(t){return r.SaveCertificate(t)})).then((function(){return t()})).catch((function(t){return i(t)})):r.SaveCertificates(e).then((function(){return t()})).catch((function(t){return i(t)})):t()}))},e.prototype.CtxReadPrivateKeyInternal=function(e,n,i,o,s,a,u){void 0===u&&(u=!0);var c=this,l=this.m_library,f={pkContext:null};return e||(e=c.m_context),new t((function(t,_){c.SaveCertificatesInternal(s).then((function(){return c.SetCMPSettings(a)})).then((function(){return null!=n&&null!=i?l.CtxReadPrivateKeyBinary(e,n,i):l.CtxReadPrivateKey(e,o)})).then((function(t){f.pkContext=t;var e=t.GetOwnerInfo();if(!a)return c.SetCMPSettings(e.GetIssuerCN());var n=c.GetCASettings(e.GetIssuerCN());if(!n||-1==n.issuerCNs.indexOf(a))throw l.MakeError(r.EU_ERROR_CERT_NOT_FOUND,\"\")})).then((function(){t(f.pkContext)})).catch((function(s){null==f.pkContext?c.MapError(s).code==r.EU_ERROR_CERT_NOT_FOUND&&!a&&u?c.SearchPrivateKeyCertificatesWithCMP(n,i,o).then((function(t){return c.CtxReadPrivateKeyInternal(e,n,i,o,t.certs,null,!1)})).then((function(e){t(e)})).catch((function(t){return _(c.MapError(t))})):_(c.MapError(s)):l.CtxFreePrivateKey(f.pkContext).then((function(){_(c.MapError(s))})).catch((function(){_(c.MapError(s))}))}))}))},e.prototype.ReadPrivateKeyInternal=function(e,n,r,i,s){var a=this;return new t((function(t,u){a.ResetPrivateKeyInternal().then((function(){return a.CtxReadPrivateKeyInternal(a.m_context,e,n,r,i,s,!0)})).then((function(e){a.m_pkContext=e;var n=l.a.MapEndUserOwnerInfo(e.GetOwnerInfo(),new o.a);t(n)})).catch((function(t){u(a.MapError(t))}))}))},e.prototype.ResetPrivateKeyInternal=function(){var e=this,n=this.m_library;return new t((function(t,r){null!=e.m_pkContext?n.CtxFreePrivateKey(e.m_pkContext).then((function(){e.m_pkContext=null,t()})).catch((function(t){return r(e.MapError(t))})):t()}))},e.prototype.SearchPrivateKeyCertificatesWithCMP=function(e,n,i,o){var s=this,a=s.m_library,u=s.m_settings.CAs;return new t((function(t,c){if(s.IsCMPsAvailable(s.m_settings)){(null!=e&&null!=n?a.GetKeyInfoBinary(e,n):a.GetKeyInfo(i)).then((function(e){var n=function(i,l){if(i>=u.length){var f=a.MakeError(l?r.EU_ERROR_CERT_NOT_FOUND:r.EU_ERROR_TRANSMIT_REQUEST,\"\");c(s.MapError(f))}else{var p=o?_.EndUserCMPCompatibility.DownloadEUCerts:_.EndUserCMPCompatibility.SearchEUCerts;s.IsCMPCompatible(u[i],p)?o&&-1==u[i].issuerCNs.indexOf(o)?n(i+1,l):a.GetCertificatesByKeyInfo(e,[u[i].cmpAddress],[\"80\"]).then((function(e){t({certs:e,CACommonName:u[i].issuerCNs[0]})})).catch((function(t){var e=t.GetErrorCode();e!=r.EU_ERROR_CERT_NOT_FOUND&&e!=r.EU_ERROR_TRANSMIT_REQUEST||(l=l||e==r.EU_ERROR_CERT_NOT_FOUND),n(i+1,l)})):n(i+1,l)}};n(0,!1)})).catch((function(t){return c(s.MapError(t))}))}else{var l=a.MakeError(r.EU_ERROR_CERT_NOT_FOUND,\"\");c(s.MapError(l))}}))},e.prototype.GetUserCertificatesFromCertificates=function(e){var n=this,r=n.m_library;return new t((function(t,i){var o=new Array,s=function(a){r.GetCertificateFromSignedData(a,e).then((function(e){if(null!=e){var n=new u.EndUserCertificate;return n.data=e,o.push(n),r.ParseCertificateEx(e)}for(var i=new Array,s=0;s<o.length;s++){o[s].infoEx.subjType==r.EU_SUBJECT_TYPE_END_USER&&i.push(o[s])}t(i)})).then((function(t){o[a].infoEx=l.a.MapToEndUserCertificateInfoEx(t,new f.a),s(a+1)})).catch((function(t){return i(n.MapError(t))}))};s(0)}))},e.prototype.GeneratePrivateKeyInternal=function(e,n,r,i,o,s,a,u,c,f,_,p,h){var y=this,S=this.m_library;return new t((function(t,C){var d=null==e&&null==r,A=null!=r,m=S.CreatePrivateKeyInfo(),R=null;null!=p&&(R=l.a.MapFromEndUserInfo(p,S.CreateEndUserInfo())),S.GeneratePrivateKeyEx(d,e?e.GetTypeIndex():-1,e?e.GetDevIndex():-1,e?e.GetPassword():r,n,i,o,s,a,u,c,f,_,R,h,m,null!=r).then((function(e){for(var n=new Array,r=0;r<e.size();r++){var i=e.get(r);i=l.a.MapToEndUserRequestInfo(i,new E.a),n.push(i)}var o={key:A?m.GetPrivateKey():null,requests:n};t(o)})).catch((function(t){return C(y.MapError(t))}))}))},e.prototype.GetSignAlgoByCertificate=function(t){switch(t.GetInfoEx().GetPublicKeyType()){case _.EndUserCertKeyType.DSTU4145:return t.GetInfoEx().GetCertHashType()==_.EndUserCertHashType.GOST34311?_.EndUserSignAlgo.DSTU4145WithGOST34311:_.EndUserSignAlgo.DSTU4145WithDSTU7564;case _.EndUserCertKeyType.RSA:return _.EndUserSignAlgo.RSAWithSHA;case _.EndUserCertKeyType.ECDSA:return _.EndUserSignAlgo.ECDSAWithSHA;default:return _.EndUserSignAlgo.Unknown}},e.prototype.GetHashAlgoBySignAlgo=function(t){var e=this.m_library;switch(t){case _.EndUserSignAlgo.DSTU4145WithGOST34311:return _.EndUserHashAlgo.GOST34311;case _.EndUserSignAlgo.RSAWithSHA:case _.EndUserSignAlgo.ECDSAWithSHA:return _.EndUserHashAlgo.SHA256;case _.EndUserSignAlgo.DSTU4145WithDSTU7564:return _.EndUserHashAlgo.DSTU7564_256;default:throw e.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\")}},e.prototype.CtxSignHashInternal=function(e,n,i,o,s,a){var u=this,c=this.m_library,l=null!=o,f=u.DataToNamedDataArray(i),_=u.DataToNamedDataArray(o);return new t((function(o,p){u.CheckInitialize().then((function(){if(null==e)throw c.MakeError(r.EU_ERROR_BAD_CERT,\"\");if(l&&f.length!=_.length)throw c.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");for(var i=new Array,o=0;o<f.length;o++)i.push({hash:f[o],previousSign:l?_[o]:null});return u.ProcessArray(i,(function(r){return new t((function(t,i){(l?c.CtxAppendSignHash(e,n,r.hash.val,r.previousSign.val,s):c.CtxSignHash(e,n,r.hash.val,s)).then((function(t){return a?t:c.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return i(t)}))}))}))})).then((function(t){var e=u.DataToResult(i,t);o(e)})).catch((function(t){return p(u.MapError(t))}))}))},e.prototype.CtxSignDataInternal=function(e,n,i,o,s,a,u){var c=this,l=this,f=this.m_library,p=null!=o,h=l.DataToNamedDataArray(i),E=l.DataToNamedDataArray(o);return new t((function(y,S){l.CheckInitialize().then((function(){if(null==e)throw f.MakeError(r.EU_ERROR_BAD_CERT,\"\");if(p&&s&&h.length!=E.length)throw f.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");return n!=_.EndUserSignAlgo.Unknown?null:f.CtxEnumOwnCertificates(e,0)})).then((function(t){if(n==_.EndUserSignAlgo.Unknown&&null!=t&&(n=l.GetSignAlgoByCertificate(t)),!s)return h;var e=l.GetHashAlgoBySignAlgo(n);return l.HashData(e,h,!0)})).then((function(r){for(var i=new Array,o=p?E.length:r.length,c=0;c<o;c++)i.push({dataOrHash:null!=r?r[c]:null,previousSign:p?E[c]:null});return l.ProcessArray(i,(function(r){return new t((function(t,i){(p?s?f.CtxAppendSignHash(e,n,r.dataOrHash.val,r.previousSign.val,a):f.CtxAppendSign(e,n,null,r.previousSign.val,a):s?f.CtxSignHash(e,n,r.dataOrHash.val,a):f.CtxSign(e,n,r.dataOrHash.val,!1,a)).then((function(t){return u?t:f.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return i(t)}))}))}))})).then((function(t){var e=c.DataToResult(p&&!s?o:i,t);y(e)})).catch((function(t){return S(l.MapError(t))}))}))},e.prototype.LoadTaxReportPKey=function(e,n,i){var o=this,s=this.m_library;return new t((function(t,a){var u=new m;if(Array.isArray(e)||(e=[e]),e.length>2)a(o.MapError(s.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\")));else{var c=function(l,f){var p=n[l],h=e[f];s.CtxGetOwnCertificate(h,_.EndUserCertKeyType.DSTU4145,p).then((function(e){if(i&&p&_.EndUserKeyUsage.DigitalSignature&&!(e.GetInfoEx().GetExtKeyUsages().indexOf(s.EU_UA_OID_EXT_KEY_USAGE_STAMP)>-1))throw s.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");if(p&_.EndUserKeyUsage.DigitalSignature)u.signPKCtx=h,u.signCert=e;else{if(!(p&_.EndUserKeyUsage.KeyAgreement))throw s.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");u.envelopPKCtx=h,u.envelopCert=e}l+1<n.length?c(l+1,0):t(u)})).catch((function(t){if(t.GetErrorCode()==r.EU_ERROR_CERT_NOT_FOUND){if(f+1<e.length)return void c(l,f+1);t=s.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\")}a(o.MapError(t))}))};c(0,0)}}))},e.prototype.ProtectTaxReport=function(e,n,i,o,s,a,u){var c=this,l=this.m_library,f=new p.b;f.name=a.name;var _=function(e,n){return new t((function(t,r){return l.CtxSign(e.signPKCtx,c.GetSignAlgoByCertificate(e.signCert),n,!1,!0).then((function(t){return l.BASE64Decode(t)})).then((function(t){return l.AppendCryptoHeader(l.EU_HEADER_CA_TYPE,l.EU_HEADER_PART_TYPE_SIGNED,t)})).then((function(e){t(e)})).catch((function(t){return r(c.MapError(t))}))}))},h=function(e,n){return new t((function(r,i){return l.CtxEnvelop(e.envelopPKCtx,[s],l.EU_RECIPIENT_APPEND_ISSUER_AND_SERIAL,!1,!1,n).then((function(t){return l.BASE64Decode(t)})).then((function(t){return l.AppendCryptoHeader(l.EU_HEADER_CA_TYPE,l.EU_HEADER_PART_TYPE_ENCRYPTED,t)})).then((function(n){var r=e.envelopCert,i=l.EU_KEY_USAGE_DIGITAL_SIGNATURE|l.EU_KEY_USAGE_KEY_AGREEMENT;return i==(r.GetInfoEx().GetKeyUsageType()&i)?n:function(e,n){return new t((function(t,r){return l.AppendCryptoHeader(l.EU_HEADER_CA_TYPE,l.EU_HEADER_PART_TYPE_CERTCRYPT,e).then((function(e){var r=new Uint8Array(e.byteLength+n.byteLength);r.set(new Uint8Array(e),0),r.set(new Uint8Array(n),e.byteLength),t(r)})).catch((function(t){return r(c.MapError(t))}))}))}(r.GetData(),n)})).then((function(t){return _(e,t)})).then((function(t){r({reportData:t,ownCert:e.envelopCert.GetData()})})).catch((function(t){return i(c.MapError(t))}))}))};return new t((function(s,p){new t((function(t,e){t(a.data)})).then((function(t){return null!=e?_(e,t):t})).then((function(t){return null!=n?_(n,t):t})).then((function(t){return null!=i?_(i,t):t})).then((function(t){return u&&(f.signedData=t),null!=n||null!=i?h(null!=i?i:n,t):{reportData:t,ownCert:e.signCert.GetData()}})).then((function(t){return l.AppendTransportHeader(l.EU_HEADER_CA_TYPE,a.name,o,t.ownCert,t.reportData)})).then((function(t){f.data=t,f.error=c.MapError(l.MakeError(r.EU_ERROR_NONE,\"\")),s(f)})).catch((function(t){f.error=c.MapError(t),s(f)}))}))},e.prototype.UnprotectTaxReceipt=function(e,n){var i=this,o=this.m_library,s=new p.a;s.data=null,s.receiptNumber=0,s.initiators=[],s.error=null;return new t((function(a,u){var c;(c=n.data,new t((function(t,e){o.ParseTransportHeader(c).then((function(e){s.receiptNumber=e.GetReceiptNumber(),t(e.GetCryptoData())})).catch((function(n){n.GetErrorCode()==r.EU_ERROR_PKI_FORMATS_FAILED?t(c):e(i.MapError(n))}))}))).then((function(n){var c=function(n){(function(n){var a={headerInfo:null};return new t((function(t,u){o.ParseCryptoHeader(n).then((function(t){a.headerInfo=t;var n=t.GetCryptoData();switch(t.GetHeaderType()){case o.EU_HEADER_PART_TYPE_SIGNED:return o.VerifyDataInternalOnTimeEx(n,0,null,!1,!1);case o.EU_HEADER_PART_TYPE_ENCRYPTED:return o.CtxDevelop(e,n);case o.EU_HEADER_PART_TYPE_STAMPED:case o.EU_HEADER_PART_TYPE_CERTCRYPT:return null;default:throw o.MakeError(r.EU_ERROR_PKI_FORMATS_FAILED,\"\")}})).then((function(e){if(null!=e){var r=a.headerInfo.GetHeaderType()==o.EU_HEADER_PART_TYPE_SIGNED?l.a.MapToEndUserSignInfo(e,new S.a):l.a.MapToEndUserSenderInfo(e,new C.a);s.initiators.push(r),n=e.GetData()}else n=n.slice(a.headerInfo.GetHeaderSize()+a.headerInfo.GetCryptoData().length,n.length);t(n)})).catch((function(e){e.GetErrorCode()==r.EU_ERROR_BAD_PARAMETER?t(null):u(i.MapError(e))}))}))})(n).then((function(t){if(null==t)return s.data=n,s.error=i.MapError(o.MakeError(r.EU_ERROR_NONE,\"\")),void a(s);c(t)})).catch((function(t){return u(i.MapError(t))}))};c(n)})).catch((function(t){return u(i.MapError(t))}))}))},e.prototype.GetKSPSettings=function(t){var e;if(!this.m_settings.KSPs)return null;if(\"string\"==typeof t){for(e=0;e<this.m_settings.KSPs.length;e++)if(this.m_settings.KSPs[e].name==t)return this.m_settings.KSPs[e];return null}if(\"number\"==typeof t){for(e=0;e<this.m_settings.KSPs.length;e++)if(this.m_settings.KSPs[e].ksp==t)return this.m_settings.KSPs[e];return null}return null},e.prototype.GetPollingInterval=function(t){return t&&\"number\"==typeof t.pollingInterval?1e3*t.pollingInterval:1e3},e.prototype.MakeNewCertificateKSP=function(e,n,i,o,s,a,c,f,_,p,h,E,y,S,C,d,A,m,R,T){void 0===m&&(m=!1),void 0===R&&(R=null),void 0===T&&(T=null);var g=this,v=g.m_library,P={kspSettings:null,userId:null,operationId:null},U={key:null,certs:null,cmpRequest:null};return new t((function(f,h){g.CheckInitialize().then((function(){return g.BeginKMOperation()})).then((function(){var t=null;return null!=e&&(t=l.a.MapFromKeyMedia(e,v.CreateKeyMedia())),m?null:g.ReadPrivateKeyInternal(n,i,t,null,d)})).then((function(t){return A&&!m?v.CtxGetOwnEUserParams(g.m_pkContext):null})).then((function(t){return A?v.CtxModifyOwnEUserParams(g.m_pkContext,A.phone,A.EMail):null})).then((function(){if(P.userId=R,P.kspSettings=g.GetKSPSettings(T),!P.kspSettings||!P.kspSettings.address)throw v.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");if(_!=v.EU_KEYS_TYPE_NONE&&_!=v.EU_KEYS_TYPE_RSA_WITH_SHA&&_!=v.EU_KEYS_TYPE_ECDSA_WITH_SHA)throw v.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");var t=[];t[v.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_GOSTS]=\"DSTU4145\",t[v.EU_KEYS_TYPE_RSA_WITH_SHA]=\"RSA\",t[v.EU_KEYS_TYPE_ECDSA_WITH_SHA]=\"ECDSA\",t[v.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_DSTU]=\"DSTU4145-DSTU7564\",s!=v.EU_KEYS_LENGTH_DS_UA_FILE&&s!=v.EU_KEYS_LENGTH_DS_UA_CERT||(s=v.EU_KEYS_LENGTH_DS_UA_257),c!=v.EU_KEYS_LENGTH_KEP_UA_FILE&&c!=v.EU_KEYS_LENGTH_KEP_UA_CERT||(c=v.EU_KEYS_LENGTH_KEP_UA_431),p!=v.EU_KEYS_LENGTH_DS_RSA_FILE&&p!=v.EU_KEYS_LENGTH_DS_RSA_CERT||(p=v.EU_KEYS_LENGTH_DS_RSA_2048),E!=v.EU_KEYS_LENGTH_DS_ECDSA_FILE&&E!=v.EU_KEYS_LENGTH_DS_ECDSA_CERT||(E=v.EU_KEYS_LENGTH_DS_ECDSA_256);var e=[];e[v.EU_KEYS_LENGTH_DS_UA_191]=191,e[v.EU_KEYS_LENGTH_DS_UA_257]=257,e[v.EU_KEYS_LENGTH_DS_UA_307]=307;var n=[];n[v.EU_KEYS_LENGTH_KEP_UA_257]=257,n[v.EU_KEYS_LENGTH_KEP_UA_431]=431,n[v.EU_KEYS_LENGTH_KEP_UA_571]=571;var i=[];i[v.EU_KEYS_LENGTH_DS_RSA_1024]=1024,i[v.EU_KEYS_LENGTH_DS_RSA_2048]=2048,i[v.EU_KEYS_LENGTH_DS_RSA_3072]=3072,i[v.EU_KEYS_LENGTH_DS_RSA_4096]=4096;var u=[];u[v.EU_KEYS_LENGTH_DS_ECDSA_192]=192,u[v.EU_KEYS_LENGTH_DS_ECDSA_256]=256,u[v.EU_KEYS_LENGTH_DS_ECDSA_384]=384,u[v.EU_KEYS_LENGTH_DS_ECDSA_521]=521;var l=t[o]||null,f=e[s]||0,h=n[c]||0,y=null,S=0;_&v.EU_KEYS_TYPE_RSA_WITH_SHA?(y=\"RSA\",S=i[p]||0):_&v.EU_KEYS_TYPE_ECDSA_WITH_SHA&&(y=\"ECDSA\",S=u[E]||0);var C=\"Веб-сайт: %s\".replace(\"%s\",P.kspSettings.systemId||g.m_origin),d=\"Генерація ос. ключа у системі %s\".replace(\"%s\",P.kspSettings.systemId||g.m_origin);return v.SServerClientGeneratePrivateKeyAsync(P.kspSettings.address,P.kspSettings.port,P.userId,C,d,l,f,a,h,y,S)})).then((function(e){P.operationId=e;var n=g.GetPollingInterval(P.kspSettings),i=g.MakeExpireDate(300);return new t((function(t,e){var o=function(i){new Date>i?e(v.MakeError(r.EU_ERROR_TRANSMIT_REQUEST,\"\")):g.m_library.SServerClientCheckGeneratePrivateKeyStatus(P.kspSettings.address,P.kspSettings.port,P.userId,P.operationId).then((function(e){null!=e?t(e):setTimeout((function(){o(i)}),n)})).catch((function(t){e(g.MapError(t))}))};o(i)}))})).then((function(t){for(var e=null,n=null,r=null,i=null,o=0;o<t.size();o++){var s=t.get(o);switch(s.GetRequestType()){case v.EU_KEYS_REQUEST_TYPE_UA_DS:e=s.GetRequest();break;case v.EU_KEYS_REQUEST_TYPE_UA_KEP:n=s.GetRequest();break;case v.EU_KEYS_REQUEST_TYPE_INTERNATIONAL:_&v.EU_KEYS_TYPE_RSA_WITH_SHA?r=s.GetRequest():_&v.EU_KEYS_TYPE_ECDSA_WITH_SHA&&(i=s.GetRequest())}}return g.m_library.CtxMakeNewOwnCertificateWithCR(g.m_pkContext,e,n,r,i)})).then((function(){var t=\"Веб-сайт: %s\".replace(\"%s\",P.kspSettings.systemId||g.m_origin),e=\"Ідентифікація клієнта у системі %s\".replace(\"%s\",P.kspSettings.systemId||g.m_origin),n=P.kspSettings.signAlgos&&P.kspSettings.signAlgos.indexOf(v.EU_CTX_SIGN_DSTU4145_WITH_DSTU7564)>=0?\"DSTU4145-DSTU7564\":\"DSTU4145\";return v.SServerClientSignHashesAsync(P.kspSettings.address,P.kspSettings.port,P.userId,t,e,[\"Зчитування ос. ключа\"],[\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"],n)})).then((function(e){P.operationId=e;var n=g.GetPollingInterval(P.kspSettings),i=g.MakeExpireDate(300);return new t((function(t,e){var o=function(i){new Date>i?e(v.MakeError(r.EU_ERROR_TRANSMIT_REQUEST,\"\")):v.SServerClientCheckSignHashesStatus(P.kspSettings.address,P.kspSettings.port,P.userId,P.operationId).then((function(s){if(null!=s)if(1==s.size()){var a=s.get(0);if(a.GetError()==r.EU_ERROR_NONE){var c=a.GetSignature(),f=new u.EndUserCertificate;v.CtxGetSignerInfo(g.m_context,0,c).then((function(e){l.a.MapToEndUserCertificate(e,f),t([f])})).catch((function(t){return e(g.MapError(t))}))}else e(v.MakeError(a.GetError(),a.GetStatus()))}else e(v.MakeError(r.EU_ERROR_PKI_FORMATS_FAILED,\"\"));else setTimeout((function(){o(i)}),n)})).catch((function(t){e(g.MapError(t))}))};o(i)}))})).then((function(t){g.EndKMOperation(),U.certs=t,f(U)})).catch((function(t){g.ResetPrivateKeyInternal().then((function(){g.EndKMOperation(),h(g.MapError(t))})).catch((function(){g.EndKMOperation(),h(g.MapError(t))}))}))}))},e.prototype.AddEventListener=function(e,n){var i=this,o=i.m_library;return new t((function(t,s){if([_.EndUserEventType.None,_.EndUserEventType.All,_.EndUserEventType.ConfirmKSPOperation].indexOf(e)<0)s(i.MapError(o.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\")));else{switch(e){case _.EndUserEventType.None:i.m_eventListeners=[];break;case _.EndUserEventType.All:i.m_eventListeners=[],i.m_eventListeners[e]=n;break;default:i.m_eventListeners[e]=n}t()}}))},e.prototype.GetLibraryInfo=function(e){var n=this,r=this.m_library;return new t((function(t,i){var o=new c.b;o.supported=r.IsSupported(),o.isSignAgentSupported=r.IsSignAgentSupported(),o.isWebExtensionSupported=r.IsWebExtensionSupported(),o.isNPAPISupported=r.IsNPAPISupported(),o.isActiveXSupported=r.IsActiveXSupported(),o.isWebExtensionInstalled=r.IsWebExtensionInstalled(),o.nativeLibraryInstallURLs=r.GetInstallURL(!0,e),o.nativeLibraryInstallURL=o.nativeLibraryInstallURLs?o.nativeLibraryInstallURLs[0]:null,o.nativeLibraryUpdateURLs=r.GetUpdateURL(!0,e),o.nativeLibraryUpdateURL=o.nativeLibraryUpdateURLs?o.nativeLibraryUpdateURLs[0]:null,o.webExtensionInstallURL=r.GetWebExtensionInstallURL(),o.helpURL=r.GetHelpURL(e),o.supported?r.Load().then((function(){o.loaded=!0,r.GetVersion().then((function(e){o.version=e,t(o)})).catch((function(t){return i(n.MapError(t))}))})).catch((function(e){var i=n.MapError(e);o.loaded=!1,o.isNativeLibraryNeedUpdate=r.IsLibraryVersionNotSupportedError(i.code),t(o)})):t(o)}))},e.prototype.IsInitialized=function(){var e=this;return new t((function(t,n){t(e.m_initialized)}))},e.prototype.Initialize=function(e){var n=this,r=n.m_library;n.m_settings=e;var i={offline:!0,tspSettings:null,useOCSP:!1,useCMP:!1};return new t((function(t,o){r.Load().then((function(){return r.SetRuntimeParameter(r.EU_SAVE_SETTINGS_PARAMETER,r.EU_SETTINGS_ID_PROXY)})).then((function(){return r.SetUIMode(!1)})).then((function(){return r.Initialize()})).then((function(){return r.SetUIMode(!1)})).then((function(){return r.SetCharset(n.m_settings.encoding)})).then((function(){return r.SetLanguage(n.m_settings.language)})).then((function(){return r.InitializeMandatorySettings()})).then((function(){var t=r.CreateFileStoreSettings();return t.SetPath(\"\"),t.SetSaveLoadedCerts(!0),r.SetFileStoreSettings(t)})).then((function(){return null!=n.m_settings.CAs&&\"string\"==typeof n.m_settings.CAs?r.DownloadData(n.m_settings.CAs,\"json\"):n.m_settings.CAs})).then((function(t){n.m_settings.CAs=t,i.tspSettings=n.GetDefaultTSPSettings(n.m_settings);for(var e=0;e<t.length;e++)if(t[e].ocspAccessPointAddress&&t[e].ocspAccessPointPort){i.useOCSP=!0;break}i.useCMP=n.IsCMPsAvailable(n.m_settings),i.offline=!i.tspSettings&&!i.useOCSP&&!i.useCMP;var o=r.CreateModeSettings();return o.SetOfflineMode(i.offline),r.SetModeSettings(o)})).then((function(){var t=r.CreateTSPSettings();return t.SetGetStamps(!!i.tspSettings),i.tspSettings&&(t.SetAddress(i.tspSettings.address),t.SetPort(i.tspSettings.port)),r.SetTSPSettings(t)})).then((function(){var t=r.CreateOCSPSettings();return t.SetUseOCSP(i.useOCSP),i.useOCSP&&(t.SetBeforeStore(!0),t.SetAddress(\"czo.gov.ua\"),t.SetPort(\"80\")),r.SetOCSPSettings(t)})).then((function(){var t=r.CreateOCSPAccessInfoModeSettings();return t.SetEnabled(i.useOCSP),r.SetOCSPAccessInfoModeSettings(t)})).then((function(){if(i.useOCSP){for(var t=new Array,e=n.m_settings.CAs,o=0;o<e.length;o++)for(var s=0;s<e[o].issuerCNs.length;s++){var a=r.CreateOCSPAccessInfoSettings();a.SetAddress(e[o].ocspAccessPointAddress),a.SetPort(e[o].ocspAccessPointPort),a.SetIssuerCN(e[o].issuerCNs[s]),t.push(a)}return r.SetOCSPAccessInfoSettings(t)}})).then((function(){return null!=e.CACertificates&&\"string\"==typeof e.CACertificates?r.DownloadData(e.CACertificates,\"binary\"):e.CACertificates})).then((function(t){if(null!=e.CACertificates)return r.SaveCertificates(t)})).then((function(){var t=!!e.TSLAddress,n=r.CreateTSLSettings();return n.SetUseTSL(t),n.SetAutoDownloadTSL(!!t),n.SetTSLAddress(t?e.TSLAddress:\"\"),r.SetTSLSettings(n)})).then((function(){return r.SetRuntimeParameter(r.EU_RESOLVE_OIDS_PARAMETER,n.m_resolveOIDs)})).then((function(){if(\"number\"==typeof n.m_settings.connectionTimeout)return r.SetRuntimeParameter(r.EU_CONNECTIONS_TIMEOUT_PARAMETER,n.m_settings.connectionTimeout)})).then((function(){if(\"number\"==typeof e.ocspResponseExpireTime)return r.SetOCSPResponseExpireTime(n.m_settings.ocspResponseExpireTime)})).then((function(){return r.CtxCreate()})).then((function(t){return n.m_context=t,r.CtxSetParameter(t,r.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,n.m_resolveOIDs)})).then((function(){if(n.m_settings.useSLoginPrivateKey)return r.CtxSetParameter(n.m_context,r.EU_USE_SLOGIN_PRIVATE_KEY_CONTEXT_PARAMETER,!0)})).then((function(){return r.SetRuntimeParameter(r.EU_CHECK_CERT_CHAIN_ON_SIGN_TIME_PARAMETER,!0)})).then((function(){return null!=n.m_settings.signInfoTmpl&&\"string\"==typeof n.m_settings.signInfoTmpl?r.DownloadData(n.m_settings.signInfoTmpl,\"\"):n.m_settings.signInfoTmpl})).then((function(e){n.m_settings.signInfoTmpl=e,n.m_initialized=!0,t()})).catch((function(t){return o(n.MapError(t))}))}))},e.prototype.Finalize=function(){var e=this,n=e.m_library;return new t((function(t,r){e.CheckInitialize().then((function(){if(null!=e.m_pkContext)return n.CtxFreePrivateKey(e.m_pkContext)})).then((function(){if(e.m_pkContext=null,null!=e.m_context)return n.CtxFree(e.m_context)})).then((function(){return e.m_context=null,n.Finalize()})).then((function(){e.m_initialized=!1,e.m_settings=null,e.m_kmTypes=null,e.m_kmActiveOperation=!1,e.m_eventListeners=new Array,e.m_resolveOIDs=!1,t()})).then((function(){t()})).catch((function(t){return r(e.MapError(t))}))}))},e.prototype.SetLanguage=function(e){var n=this,r=n.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){return r.SetLanguage(e)})).then((function(){n.m_settings.language=e})).then((function(){t()})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.SetRuntimeParameter=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return i.SetRuntimeParameter(e,n)})).then((function(){return e!=i.EU_USE_SLOGIN_PRIVATE_KEY?null:i.CtxSetParameter(r.m_context,e,n)})).then((function(){t()})).catch((function(t){return o(r.MapError(t))}))}))},e.prototype.GetStorageParameter=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return i.GetStorageParameter(n,e)})).then((function(e){t(e)})).catch((function(t){return o(r.MapError(t))}))}))},e.prototype.SetStorageParameter=function(e,n,r){var i=this,o=i.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return o.SetStorageParameter(r,e,n)})).then((function(){t()})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.GetCAs=function(){var e=this;return new t((function(t,n){e.CheckInitialize().then((function(){t(e.m_settings.CAs)})).catch((function(t){return n(e.MapError(t))}))}))},e.prototype.GetProxySettings=function(){var e=this,n=e.m_library;return new t((function(t,r){e.CheckInitialize().then((function(){return n.GetProxySettings()})).then((function(e){var n=l.a.MapToProxySettings(e,new i.b);t(n)})).catch((function(t){return r(e.MapError(t))}))}))},e.prototype.SetProxySettings=function(e){var n=this,r=n.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){var t=l.a.MapFromProxySettings(e,r.CreateProxySettings());return r.SetProxySettings(t)})).then((function(){t()})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.GetHostInfo=function(){var e=this,n=e.m_library;return new t((function(t,r){e.CheckInitialize().then((function(){return n.GetHostInfo()})).then((function(e){t(e)})).catch((function(t){return r(e.MapError(t))}))}))},e.prototype.GetKeyMedias=function(){var e=this,n=e.m_library,r=new Array,i=null;return e.m_settings.allowedKeyMediaDevices&&(i={},e.m_settings.allowedKeyMediaDevices.forEach((function(t){i[t.type]=t.devices}))),new t((function(t,o){e.CheckInitialize().then((function(){return e.BeginKMOperation()})).then((function(){return e.m_kmTypes?e.m_kmTypes:n.GetKeyMediaTypes()})).then((function(t){e.m_kmTypes=t;var i=e.m_settings.allowedKeyMediaTypes;r=new Array;for(var o=0;o<t.length;o++){var s=t[o];(!i||i.indexOf(s)>=0)&&r.push(o)}return n.GetKeyMediaDevices(r)})).then((function(n){for(var o=new Array,s=0;s<n.length;s++)for(var a=r[s],c=e.m_kmTypes[a],l=n[s],f=i&&i[c]?i[c]:null,_=0;_<l.length;_++)if(!f||-1!=f.indexOf(l[_])){var p=new u.EndUserKeyMedia;p.typeIndex=a,p.devIndex=_,p.password=null,p.type=c,p.device=l[_],p.visibleName=p.device+\"(\"+p.type+\")\",o.push(p)}e.EndKMOperation(),t(o)})).catch((function(t){e.EndKMOperation(),o(e.MapError(t))}))}))},e.prototype.GetJKSPrivateKeys=function(e){var n=this;return new t((function(t,r){n.CheckInitialize().then((function(){var i=new Array,o=function(s){n.GetJKSPrivateKey(e,s).then((function(e){e?(i.push(e),o(s+1)):t(i)})).catch((function(t){return r(n.MapError(t))}))};o(0)})).catch((function(t){return r(n.MapError(t))}))}))},e.prototype.IsPrivateKeyReaded=function(){var e=this;return new t((function(t,n){e.CheckInitialize().then((function(){t(null!=e.m_pkContext)})).catch((function(t){return n(e.MapError(t))}))}))},e.prototype.ResetPrivateKey=function(){var e=this;return new t((function(t,n){e.CheckInitialize().then((function(){return e.ResetPrivateKeyInternal()})).then((function(){t()})).catch((function(t){return n(e.MapError(t))}))}))},e.prototype.ResetOperationKSP=function(){var e=this,n=this.m_library;return new t((function(t,i){e.CheckInitialize().then((function(){throw n.MakeError(r.EU_ERROR_NOT_SUPPORTED,\"\")})).catch((function(t){return i(e.MapError(t))}))}))},e.prototype.ReadPrivateKey=function(e,n,r){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){i.BeginKMOperation()})).then((function(){var t=l.a.MapFromKeyMedia(e,o.CreateKeyMedia());return i.ReadPrivateKeyInternal(null,null,t,n,r)})).then((function(e){i.EndKMOperation(),t(e)})).catch((function(t){i.EndKMOperation(),s(i.MapError(t))}))}))},e.prototype.ReadPrivateKeyBinary=function(e,n,r,i){var o=this;return new t((function(t,s){o.CheckInitialize().then((function(){return o.ReadPrivateKeyInternal(e,n,null,r,i)})).then((function(e){t(e)})).catch((function(t){return s(o.MapError(t))}))}))},e.prototype.ReadPrivateKeySIM=function(e,n,i,o){var s=this,a=this.m_library;return new t((function(t,e){s.CheckInitialize().then((function(){throw a.MakeError(r.EU_ERROR_NOT_SUPPORTED,\"\")})).catch((function(t){return e(s.MapError(t))}))}))},e.prototype.ReadPrivateKeyKSP=function(e,n,i,o,s,a,u){var c=this,l=this.m_library;return new t((function(t,e){c.CheckInitialize().then((function(){throw l.MakeError(r.EU_ERROR_NOT_SUPPORTED,\"\")})).catch((function(t){return e(c.MapError(t))}))}))},e.prototype.GetOwnCertificates=function(){return this.CtxGetOwnCertificates(this.m_pkContext)},e.prototype.GetOwnEUserParams=function(){var e=this,n=e.m_library;return new t((function(t,i){e.CheckInitialize().then((function(){if(null==e.m_pkContext)throw n.MakeError(r.EU_ERROR_BAD_CERT,\"\");return n.CtxGetOwnEUserParams(e.m_pkContext)})).then((function(e){var n=l.a.MapToEndUserParams(e,new h.a);t(n)})).catch((function(t){return i(e.MapError(t))}))}))},e.prototype.ChangeOwnCertificatesStatus=function(e,n){var i=this,o=i.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){if(null==i.m_pkContext)throw o.MakeError(r.EU_ERROR_BAD_CERT,\"\");return o.CtxChangeOwnCertificatesStatus(i.m_pkContext,e,n)})).then((function(){t()})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.MakeNewCertificate=function(e,n,r,i,o,s,a,u,c,f,_,p,h,E,y,S,C,d,A,m){void 0===S&&(S=!1),void 0===C&&(C=null),void 0===d&&(d=null),void 0===A&&(A=0),void 0===m&&(m=null);var R=this,T=R.m_library,g={key:null,certs:null,cmpRequest:null};return null!=C||null!=d?R.MakeNewCertificateKSP(e,n,r,i,o,s,a,u,c,f,_,A,m,p,h,E,y,S,C,d):new t((function(C,d){R.CheckInitialize().then((function(){return R.BeginKMOperation()})).then((function(){var t=null;return null!=e&&(t=l.a.MapFromKeyMedia(e,T.CreateKeyMedia())),S?null:R.ReadPrivateKeyInternal(n,r,t,null,E)})).then((function(t){return y&&!S?T.CtxGetOwnEUserParams(R.m_pkContext):null})).then((function(t){return y?T.CtxModifyOwnEUserParams(R.m_pkContext,y.phone,y.EMail):null})).then((function(){return S?null:R.ResetPrivateKeyInternal()})).then((function(){if(S)return new t((function(t,n){var r={makeCertResult:null};T.CtxMakeNewOwnCertificateEx(R.m_pkContext,i,o,s,a,u,c,f,_,A,m).then((function(t){return r.makeCertResult=t,R.ResetPrivateKeyInternal()})).then((function(){var t=l.a.MapFromKeyMedia(e,T.CreateKeyMedia());return p&&p.password!=e.password?T.ChangePrivateKeyPassword(t,p.password):null})).then((function(){t(r.makeCertResult)})).catch((function(t){n(R.MapError(t))}))}));var E=null,y=null;return e&&(E=l.a.MapFromKeyMedia(e,T.CreateKeyMedia())),p&&(y=l.a.MapFromKeyMedia(p,T.CreateKeyMedia())),T.MakeNewCertificateEx(E,n,r,i,o,s,a,u,c,f,_,A,m,y,h)})).then((function(t){g.key=t.GetPrivateKey(),g.cmpRequest=t.GetCMPRequest();var n=null;return(S&&e||p)&&(n=l.a.MapFromKeyMedia(p||e,T.CreateKeyMedia())),R.SearchPrivateKeyCertificatesWithCMP(g.key,h,n,E)})).then((function(t){return R.GetUserCertificatesFromCertificates(t.certs)})).then((function(t){R.EndKMOperation(),g.certs=t,C(g)})).catch((function(t){R.EndKMOperation(),d(R.MapError(t))}))}))},e.prototype.MakeDeviceCertificate=function(e,n,i,o,s){var a=this,c=a.m_library;return new t((function(_,p){a.CheckInitialize().then((function(){if(null==a.m_pkContext)throw c.MakeError(r.EU_ERROR_BAD_CERT,\"\");var t=a.m_pkContext.GetOwnerInfo(),u=a.GetCASettings(t.GetIssuerCN());if(!u||!u.cmpAddress||\"\"==u.cmpAddress)throw c.MakeError(r.EU_ERROR_BAD_PARAMETER,\"\");return c.CtxMakeDeviceCertificate(a.m_pkContext,e,n,i,o,s,u.cmpAddress,\"80\")})).then((function(e){return a.ProcessArray(e,(function(e){return new t((function(t,n){c.ParseCertificateEx(e).then((function(n){var r=new u.EndUserCertificate;r.data=e,r.infoEx=l.a.MapToEndUserCertificateInfoEx(n,new f.a),t(r)})).catch((function(t){return n(t)}))}))}))})).then((function(t){_(t)})).catch((function(t){a.EndKMOperation(),p(a.MapError(t))}))}))},e.prototype.SetKeyMediaUserPassword=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return r.BeginKMOperation()})).then((function(){var t=l.a.MapFromKeyMedia(n,i.CreateKeyMedia());return r.m_library.SetKeyMediaUserPassword(e,t)})).then((function(){r.EndKMOperation(),t()})).catch((function(t){r.EndKMOperation(),o(r.MapError(t))}))}))},e.prototype.ChangePrivateKeyPassword=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return r.BeginKMOperation()})).then((function(){var t=l.a.MapFromKeyMedia(e,i.CreateKeyMedia());return r.m_library.ChangePrivateKeyPassword(t,n)})).then((function(){r.EndKMOperation(),t()})).catch((function(t){r.EndKMOperation(),o(r.MapError(t))}))}))},e.prototype.ChangePrivateKeyPasswordBinary=function(e,n,r){var i=this,o=i.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return o.ChangeSoftwarePrivateKeyPassword(e,n,r)})).then((function(e){t(e),t()})).catch((function(t){s(i.MapError(t))}))}))},e.prototype.GeneratePrivateKey=function(e,n,r,i,o,s,a,u,c,f,_,p){var h=this,E=h.m_library;return new t((function(t,y){h.CheckInitialize().then((function(){return h.BeginKMOperation()})).then((function(){var t=null;return e&&(t=l.a.MapFromKeyMedia(e,E.CreateKeyMedia())),h.GeneratePrivateKeyInternal(t,n,null,r,i,o,s,a,u,c,f,_,p)})).then((function(e){h.EndKMOperation(),t(e)})).catch((function(t){h.EndKMOperation(),y(h.MapError(t))}))}))},e.prototype.GeneratePrivateKeyBinary=function(e,n,r,i,o,s,a,u,c,l,f){var _=this;return new t((function(t,p){_.CheckInitialize().then((function(){return _.BeginKMOperation()})).then((function(){return _.GeneratePrivateKeyInternal(null,!1,e,n,r,i,o,s,a,u,c,l,f)})).then((function(e){_.EndKMOperation(),t(e)})).catch((function(t){_.EndKMOperation(),p(_.MapError(t))}))}))},e.prototype.GetKeyInfo=function(e){var n=this,r=n.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){return n.BeginKMOperation()})).then((function(){var t=l.a.MapFromKeyMedia(e,r.CreateKeyMedia());return r.GetKeyInfo(t)})).then((function(e){n.EndKMOperation(),t(e.GetPrivateKeyInfo())})).catch((function(t){n.EndKMOperation(),i(n.MapError(t))}))}))},e.prototype.GetKeyInfoBinary=function(e,n){var r=this,i=r.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return i.GetKeyInfoBinary(e,n)})).then((function(e){t(e.GetPrivateKeyInfo())})).catch((function(t){o(r.MapError(t))}))}))},e.prototype.GetClientRegistrationTokenKSP=function(e,n){var i=this,o=i.m_library;return new t((function(t,e){i.CheckInitialize().then((function(){throw o.MakeError(r.EU_ERROR_NOT_SUPPORTED,\"\")})).catch((function(t){e(i.MapError(t))}))}))},e.prototype.HashData=function(e,n,r){var i=this,o=this.m_library,s=i.DataToNamedDataArray(n);return new t((function(a,u){i.CheckInitialize().then((function(){return i.ProcessArray(s,(function(n){return new t((function(t,s){o.CtxHash(i.m_context,e,null,n.val).then((function(t){return r?t:o.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return s(t)}))}))}))})).then((function(t){var e=i.DataToResult(n,t);a(e)})).catch((function(t){u(i.MapError(t))}))}))},e.prototype.GetSigner=function(e,n,r){void 0===n&&(n=-1),void 0===r&&(r=!1);var i=this,o=this.m_library,s={context:null,signersInfo:null};return new t((function(a,c){i.CheckInitialize().then((function(){return o.CtxCreate()})).then((function(t){return s.context=t,o.CtxSetParameter(t,o.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,r)})).then((function(){return-1==n?o.GetSignsCount(e):1})).then((function(r){var a=new Array;if(-1!=n)a.push(n);else for(var c=0;c<r;c++)a.push(c);return i.ProcessArray(a,(function(n){return new t((function(t,r){var a=new u.EndUserCertificate;o.CtxGetSignerInfo(s.context,n,e).then((function(e){l.a.MapToEndUserCertificate(e,a),t(a)})).catch((function(t){return r(i.MapError(t))}))}))}))})).then((function(t){return s.signersInfo=t,o.CtxFree(s.context)})).then((function(){s.context=null,a(-1!=n?s.signersInfo[0]:s.signersInfo)})).catch((function(t){s.context?o.CtxFree(s.context).then((function(){c(i.MapError(t))})).catch((function(){c(i.MapError(t))})):c(i.MapError(t))}))}))},e.prototype.SignData=function(t,e){return void 0===e&&(e=!1),this.SignDataEx(_.EndUserSignAlgo.Unknown,t,!0,!0,e)},e.prototype.SignDataInternal=function(t,e,n){return void 0===n&&(n=!1),this.SignDataEx(_.EndUserSignAlgo.Unknown,e,!1,t,n)},e.prototype.SignHash=function(t,e,n,r){return this.CtxSignHashInternal(this.m_pkContext,t,e,null,n,r)},e.prototype.SignDataEx=function(t,e,n,r,i){return this.CtxSignDataInternal(this.m_pkContext,t,e,null,n,r,i)},e.prototype.AppendSign=function(t,e,n,r,i){return this.CtxSignDataInternal(this.m_pkContext,t,e,n,null!=e,r,i)},e.prototype.AppendSignHash=function(t,e,n,r,i){return this.CtxSignHashInternal(this.m_pkContext,t,e,n,r,i)},e.prototype.GetSignValue=function(t,e,n,r){return void 0===r&&(r=!1),this.CtxGetSignValue(this.m_pkContext,t,e,n,r)},e.prototype.VerifyHash=function(e,n,r){void 0===r&&(r=-1);var i=this,o=this.m_library;return new t((function(s,a){i.CheckInitialize().then((function(){return-1==r?o.GetSignsCount(n):1})).then((function(s){var a=new Array;if(-1!=r)a.push(r);else for(var u=0;u<s;u++)a.push(u);return i.ProcessArray(a,(function(r){return new t((function(t,s){var a=new S.a;o.VerifyHashOnTimeEx(e,r,n,null,!1,!1).then((function(t){return l.a.MapToEndUserSignInfo(t,a),o.GetSignTimeInfo(r,n)})).then((function(t){return a.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),o.GetSignType(r,n)})).then((function(e){a.signLevel=e,t(a)})).catch((function(t){return s(i.MapError(t))}))}))}))})).then((function(t){s(-1!=r?t[0]:t)})).catch((function(t){return a(i.MapError(t))}))}))},e.prototype.VerifyData=function(e,n,r){void 0===r&&(r=-1);var i=this,o=this.m_library;return new t((function(s,a){i.CheckInitialize().then((function(){return-1==r?o.GetSignsCount(n):1})).then((function(s){var a=new Array;if(-1!=r)a.push(r);else for(var u=0;u<s;u++)a.push(u);return i.ProcessArray(a,(function(r){return new t((function(t,s){var a=new S.a;o.VerifyDataOnTimeEx(e,r,n,null,!1,!1).then((function(t){return l.a.MapToEndUserSignInfo(t,a),o.GetSignTimeInfo(r,n)})).then((function(t){return a.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),o.GetSignType(r,n)})).then((function(e){a.signLevel=e,t(a)})).catch((function(t){return s(i.MapError(t))}))}))}))})).then((function(t){s(-1!=r?t[0]:t)})).catch((function(t){return a(i.MapError(t))}))}))},e.prototype.VerifyDataInternal=function(e,n){void 0===n&&(n=-1);var r=this,i=this.m_library;return new t((function(o,s){r.CheckInitialize().then((function(){return-1==n?i.GetSignsCount(e):1})).then((function(o){var s=new Array;if(-1!=n)s.push(n);else for(var a=0;a<o;a++)s.push(a);return r.ProcessArray(s,(function(n){return new t((function(t,o){var s=new S.a;i.VerifyDataInternalOnTimeEx(e,n,null,!1,!1).then((function(t){return l.a.MapToEndUserSignInfo(t,s),i.GetSignTimeInfo(n,e)})).then((function(t){return s.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),i.GetSignType(n,e)})).then((function(e){s.signLevel=e,t(s)})).catch((function(t){return o(r.MapError(t))}))}))}))})).then((function(t){o(-1!=n?t[0]:t)})).catch((function(t){return s(r.MapError(t))}))}))},e.prototype.EnvelopData=function(e,n,i,o,s,a){void 0===a&&(a=!1);var u=this,c=this.m_library;return new t((function(t,l){u.CheckInitialize().then((function(){if(null==u.m_pkContext&&(!a||i))throw c.MakeError(r.EU_ERROR_BAD_CERT,\"\");var t=c.EU_RECIPIENT_APPEND_TYPE_BY_ISSUER_SERIAL;return a?i?c.CtxEnvelopWithDynamicKey(u.m_pkContext,e,t,i,o,n):c.EnvelopToRecipientsWithDynamicKey(e,i,o,n):c.CtxEnvelop(u.m_pkContext,e,t,i,o,n)})).then((function(t){return s?t:c.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return l(u.MapError(t))}))}))},e.prototype.DevelopData=function(e,n){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){if(null==i.m_pkContext)throw o.MakeError(r.EU_ERROR_BAD_CERT,\"\");return o.CtxDevelop(i.m_pkContext,e,n)})).then((function(e){var n=l.a.MapToEndUserSenderInfo(e,new C.a);t(n)})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.ProtectDataByPassword=function(e,n,r){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return o.ProtectDataByPassword(e,n)})).then((function(t){return r?t:o.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.UnprotectDataByPassword=function(e,n,r){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return o.UnprotectDataByPassword(e,n)})).then((function(t){return r?o.BytesToString(t):t})).then((function(e){t(e)})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.CreateAuthData=function(e,n,i){var o=this,s=this.m_library;return new t((function(t,a){o.CheckInitialize().then((function(){if(null==o.m_pkContext)throw s.MakeError(r.EU_ERROR_BAD_CERT,\"\");return s.CtxCreateAuthData(o.m_pkContext,e,n)})).then((function(t){return i?t:s.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return a(o.MapError(t))}))}))},e.prototype.GetTSPByAccessInfo=function(e,n,r,i,o){var s=this,a=this.m_library;return new t((function(t,u){s.CheckInitialize().then((function(){return a.GetTSPByAccessInfo(e,n,r,i)})).then((function(t){return o?a.BASE64Encode(t):t})).then((function(e){t(e)})).catch((function(t){return u(s.MapError(t))}))}))},e.prototype.CheckTSP=function(e,n,r){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return o.CheckTSP(e,n,r)})).then((function(){t()})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.ClientDynamicKeySessionCreate=function(e){var n=this,r=this.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){return r.ClientDynamicKeySessionCreate(3600,e)})).then((function(e){t(l.a.MapToEndUserSession(e,new A.a))})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.SessionClose=function(e){var n=this,r=this.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){return r.SessionClose(l.a.MapFromEndUserSession(e,r.CreateEndUserSession()))})).then((function(){t()})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.SessionEncrypt=function(e,n,r){var i=this,o=this.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return\"string\"==typeof n?o.StringToBytes(n):n})).then((function(t){return o.SessionEncrypt(l.a.MapFromEndUserSession(e,o.CreateEndUserSession()),t)})).then((function(e){return r?o.BASE64Encode(e).then((function(e){t(e)})).catch((function(t){s(i.MapError(t))})):t(e)})).catch((function(t){return s(i.MapError(t))}))}))},e.prototype.SessionDecrypt=function(e,n){var r=this,i=this.m_library;return new t((function(t,o){r.CheckInitialize().then((function(){return i.SessionDecrypt(l.a.MapFromEndUserSession(e,i.CreateEndUserSession()),n)})).then((function(e){t(e)})).catch((function(t){return o(r.MapError(t))}))}))},e.prototype.CtxCreate=function(){var e=this,n=this.m_library,r={context:null};return new t((function(t,i){e.CheckInitialize().then((function(){return n.CtxCreate()})).then((function(t){return r.context=t,n.CtxSetParameter(t,n.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,e.m_resolveOIDs)})).then((function(){t(r.context)})).catch((function(t){return i(e.MapError(t))}))}))},e.prototype.CtxFree=function(e){var n=this,r=this.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){r.CtxFree(e)})).then((function(){t()})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.CtxSetParameter=function(e,n,r){var i=this,o=i.m_library;return new t((function(t,s){i.CheckInitialize().then((function(){return null==e&&(e=i.m_context),o.CtxSetParameter(e,n,r)})).then((function(){t()})).catch((function(t){i.EndKMOperation(),s(i.MapError(t))}))}))},e.prototype.CtxReadPrivateKey=function(e,n,r,i){var o=this,s=o.m_library;return new t((function(t,a){o.CheckInitialize().then((function(){return o.BeginKMOperation()})).then((function(){var t=l.a.MapFromKeyMedia(n,s.CreateKeyMedia());return o.CtxReadPrivateKeyInternal(e,null,null,t,r,i,!0)})).then((function(e){o.EndKMOperation(),t(e)})).catch((function(t){o.EndKMOperation(),a(o.MapError(t))}))}))},e.prototype.CtxReadPrivateKeyBinary=function(e,n,r,i,o){var s=this;return new t((function(t,a){s.CheckInitialize().then((function(){return s.CtxReadPrivateKeyInternal(e,n,r,null,i,o,!0)})).then((function(e){t(e)})).catch((function(t){return a(s.MapError(t))}))}))},e.prototype.CtxFreePrivateKey=function(e){var n=this,r=this.m_library;return new t((function(t,i){n.CheckInitialize().then((function(){return r.CtxFreePrivateKey(e)})).then((function(){t()})).catch((function(t){return i(n.MapError(t))}))}))},e.prototype.CtxGetOwnCertificates=function(e){var n=this,i=this.m_library;return new t((function(t,o){n.CheckInitialize().then((function(){if(null==e)throw i.MakeError(r.EU_ERROR_BAD_CERT,\"\");var s=new Array,a=function(r){i.CtxEnumOwnCertificates(e,r).then((function(e){if(e){var n=l.a.MapToEndUserCertificate(e,new u.EndUserCertificate);s.push(n),a(r+1)}else t(s)})).catch((function(t){return o(n.MapError(t))}))};a(0)})).catch((function(t){return o(n.MapError(t))}))}))},e.prototype.CtxSignHash=function(t,e,n,r,i){return this.CtxSignHashInternal(t,e,n,null,r,i)},e.prototype.CtxSignData=function(t,e,n,r,i,o){return this.CtxSignDataInternal(t,e,n,null,r,i,o)},e.prototype.CtxAppendSignHash=function(t,e,n,r,i,o){return this.CtxSignHashInternal(t,e,n,r,i,o)},e.prototype.CtxAppendSign=function(t,e,n,r,i,o){return this.CtxSignDataInternal(t,e,n,r,null!=n,i,o)},e.prototype.CtxGetSignValue=function(e,n,i,o,s){void 0===s&&(s=!1);var a=this,u=this.m_library,c=a.DataToNamedDataArray(i);return new t((function(l,f){a.CheckInitialize().then((function(){if(null==e)throw u.MakeError(r.EU_ERROR_BAD_CERT,\"\");return n!=_.EndUserSignAlgo.ECDSAWithSHA?null:u.CtxSetParameter(a.m_context,u.EU_ENCODE_ECDSA_SIGN_VALUE_CONTEXT_PARAMETER,s)})).then((function(){return a.ProcessArray(c,(function(r){return new t((function(t,i){u.CtxGetSignValue(e,n,r.val).then((function(t){return o?t:u.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return i(t)}))}))}))})).then((function(t){var e=a.DataToResult(i,t);l(e)})).catch((function(t){return f(a.MapError(t))}))}))},e.prototype.CtxEnvelopData=function(e,n,i,o,s,a,u){var c=this,l=this.m_library;return new t((function(t,f){c.CheckInitialize().then((function(){if(null==e&&(!u||o))throw l.MakeError(r.EU_ERROR_BAD_CERT,\"\");var t=l.EU_RECIPIENT_APPEND_TYPE_BY_ISSUER_SERIAL;return u?o?l.CtxEnvelopWithDynamicKey(e,n,t,o,s,i):l.EnvelopToRecipientsWithDynamicKey(n,o,s,i):l.CtxEnvelop(e,n,t,o,s,i)})).then((function(t){return a?t:l.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return f(c.MapError(t))}))}))},e.prototype.CtxDevelopData=function(e,n,i){var o=this,s=this.m_library;return new t((function(t,a){o.CheckInitialize().then((function(){if(null==e)throw s.MakeError(r.EU_ERROR_BAD_CERT,\"\");return s.CtxDevelop(e,n,i)})).then((function(e){var n=l.a.MapToEndUserSenderInfo(e,new C.a);t(n)})).catch((function(t){return a(o.MapError(t))}))}))},e.prototype.ProtectTaxReports=function(e,n,r,i,o,s,a){void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),void 0===a&&(a=!1);var u=this;return new t((function(t,c){var l={accountant:null,director:null,stamp:null};u.CheckInitialize().then((function(){var t=[_.EndUserKeyUsage.DigitalSignature];return null!=e?u.LoadTaxReportPKey(e,t,!1):null})).then((function(t){l.accountant=t;var e=[_.EndUserKeyUsage.DigitalSignature];return r||e.push(_.EndUserKeyUsage.KeyAgreement),null!=n?u.LoadTaxReportPKey(n,e,!1):null})).then((function(t){l.director=t;var e=[_.EndUserKeyUsage.DigitalSignature,_.EndUserKeyUsage.KeyAgreement];return null!=r?u.LoadTaxReportPKey(r,e,!0):null})).then((function(t){return l.stamp=t,u.ProcessArray(s,(function(t){return u.ProtectTaxReport(l.accountant,l.director,l.stamp,i,o,t,a)}))})).then((function(e){t(e)})).catch((function(t){return c(u.MapError(t))}))}))},e.prototype.UnprotectTaxReceipts=function(e,n){var r=this;return new t((function(t,i){r.CheckInitialize().then((function(){return r.ProcessArray(n,(function(t){return r.UnprotectTaxReceipt(e,t)}))})).then((function(e){t(e)})).catch((function(t){return i(r.MapError(t))}))}))},e.prototype.ASiCGetSigner=function(e,n,r){void 0===n&&(n=-1),void 0===r&&(r=!1);var i=this,o=this.m_library,s={context:null,signersInfo:null};return new t((function(a,c){i.CheckInitialize().then((function(){return o.CtxCreate()})).then((function(t){return s.context=t,o.CtxSetParameter(t,o.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,r)})).then((function(){return-1==n?o.ASiCGetSignsCount(e):1})).then((function(r){var a=new Array;if(-1!=n)a.push(n);else for(var c=0;c<r;c++)a.push(c);return i.ProcessArray(a,(function(n){return new t((function(t,r){var a=new u.EndUserCertificate;o.CtxASiCGetSignerInfo(s.context,n,e).then((function(e){l.a.MapToEndUserCertificate(e,a),t(a)})).catch((function(t){return r(i.MapError(t))}))}))}))})).then((function(t){return s.signersInfo=t,o.CtxFree(s.context)})).then((function(){a(-1!=n?s.signersInfo[0]:s.signersInfo)})).catch((function(t){s.context&&o.CtxFree(s.context).then((function(){c(i.MapError(t))})).catch((function(){c(i.MapError(t))}))}))}))},e.prototype.ASiCSignData=function(e,n,i,o,s,a){var u=this,c=this,l=this.m_library;return new t((function(t,f){c.CheckInitialize().then((function(){if(null==u.m_pkContext)throw l.MakeError(r.EU_ERROR_BAD_CERT,\"\");return c.ProcessArray(s,(function(t){return c.NamedDataToReference(t)}))})).then((function(t){return l.CtxASiCSign(u.m_pkContext,e,n,i,o,t)})).then((function(t){return a?t:l.BASE64Decode(t)})).then((function(e){var r={name:s[0].name+(n==_.EndUserASiCType.S?\".asics\":\".asice\"),val:e};t(r)})).catch((function(t){return f(c.MapError(t))}))}))},e.prototype.ASiCAppendSign=function(e,n,i,o,s){var a=this,u=this,c=this.m_library,l=u.DataToNamedDataArray(o);return new t((function(t,o){u.CheckInitialize().then((function(){if(null==a.m_pkContext)throw c.MakeError(r.EU_ERROR_BAD_CERT,\"\");return c.CtxASiCAppendSign(a.m_pkContext,e,n,i,l[0].val)})).then((function(t){return s?t:c.BASE64Decode(t)})).then((function(e){var n={name:l[0].name,val:e};t(n)})).catch((function(t){return o(u.MapError(t))}))}))},e.prototype.ASiCVerifyData=function(e,n){void 0===n&&(n=-1);var r=this,i=this.m_library;return new t((function(o,s){r.CheckInitialize().then((function(){return-1==n?i.ASiCGetSignsCount(e):1})).then((function(o){var s=new Array;if(-1!=n)s.push(n);else for(var a=0;a<o;a++)s.push(a);return r.ProcessArray(s,(function(n){return new t((function(t,o){var s=new S.a;i.ASiCVerify(n,e).then((function(t){return l.a.MapToEndUserSignInfo(t,s),i.ASiCGetSignTimeInfo(n,e)})).then((function(t){return s.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),i.ASiCGetSignLevel(n,e)})).then((function(e){s.signLevel=e,t(s)})).catch((function(t){return o(r.MapError(t))}))}))}))})).then((function(t){o(-1!=n?t[0]:t)})).catch((function(t){return s(r.MapError(t))}))}))},e.prototype.PDFGetSigner=function(e,n,r){void 0===n&&(n=-1),void 0===r&&(r=!1);var i=this,o=this.m_library,s={context:null,signersInfo:null};return new t((function(a,c){i.CheckInitialize().then((function(){return o.CtxCreate()})).then((function(t){return s.context=t,o.CtxSetParameter(t,o.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,r)})).then((function(){return-1==n?o.PDFGetSignsCount(e):1})).then((function(r){var a=new Array;if(-1!=n)a.push(n);else for(var c=0;c<r;c++)a.push(c);return i.ProcessArray(a,(function(n){return new t((function(t,r){var a=new u.EndUserCertificate;o.CtxPDFGetSignerInfo(s.context,n,e).then((function(e){l.a.MapToEndUserCertificate(e,a),t(a)})).catch((function(t){return r(i.MapError(t))}))}))}))})).then((function(t){return s.signersInfo=t,o.CtxFree(s.context)})).then((function(){a(-1!=n?s.signersInfo[0]:s.signersInfo)})).catch((function(t){s.context&&o.CtxFree(s.context).then((function(){c(i.MapError(t))})).catch((function(){c(i.MapError(t))}))}))}))},e.prototype.PDFSignData=function(e,n,i,o){var s=this,a=this,u=this.m_library,c=a.DataToNamedDataArray(n);return new t((function(l,f){a.CheckInitialize().then((function(){if(null==s.m_pkContext)throw u.MakeError(r.EU_ERROR_BAD_CERT,\"\");return a.ProcessArray(c,(function(n){return new t((function(t,r){return u.CtxPDFSign(s.m_pkContext,e,n.val,i).then((function(t){return o?t:u.BASE64Decode(t)})).then((function(e){t(e)})).catch((function(t){return r(t)}))}))}))})).then((function(t){var e=s.DataToResult(n,t);l(e)})).catch((function(t){return f(a.MapError(t))}))}))},e.prototype.PDFVerifyData=function(e,n){void 0===n&&(n=-1);var r=this,i=this.m_library;return new t((function(o,s){r.CheckInitialize().then((function(){return-1==n?i.PDFGetSignsCount(e):1})).then((function(o){var s=new Array;if(-1!=n)s.push(n);else for(var a=0;a<o;a++)s.push(a);return r.ProcessArray(s,(function(n){return new t((function(t,o){var s=new S.a;i.PDFVerify(n,e).then((function(t){return l.a.MapToEndUserSignInfo(t,s),i.PDFGetSignTimeInfo(n,e)})).then((function(t){return s.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),i.PDFGetSignType(n,e)})).then((function(e){s.signLevel=e,t(s)})).catch((function(t){return o(r.MapError(t))}))}))}))})).then((function(t){o(-1!=n?t[0]:t)})).catch((function(t){return s(r.MapError(t))}))}))},e.prototype.XAdESGetSigner=function(e,n,r){void 0===n&&(n=-1),void 0===r&&(r=!1);var i=this,o=this.m_library,s={context:null,signersInfo:null};return new t((function(a,c){i.CheckInitialize().then((function(){return o.CtxCreate()})).then((function(t){return s.context=t,o.CtxSetParameter(t,o.EU_RESOLVE_OIDS_CONTEXT_PARAMETER,r)})).then((function(){return-1==n?o.XAdESGetSignsCount(e):1})).then((function(r){var a=new Array;if(-1!=n)a.push(n);else for(var c=0;c<r;c++)a.push(c);return i.ProcessArray(a,(function(n){return new t((function(t,r){var a=new u.EndUserCertificate;o.CtxXAdESGetSignerInfo(s.context,n,e).then((function(e){l.a.MapToEndUserCertificate(e,a),t(a)})).catch((function(t){return r(i.MapError(t))}))}))}))})).then((function(t){return s.signersInfo=t,o.CtxFree(s.context)})).then((function(){a(-1!=n?s.signersInfo[0]:s.signersInfo)})).catch((function(t){s.context&&o.CtxFree(s.context).then((function(){c(i.MapError(t))})).catch((function(){c(i.MapError(t))}))}))}))},e.prototype.XAdESSignData=function(e,n,i,o,s){var a=this,u=this,c=this.m_library;return new t((function(t,l){u.CheckInitialize().then((function(){if(null==a.m_pkContext)throw c.MakeError(r.EU_ERROR_BAD_CERT,\"\");return u.ProcessArray(o,(function(t){return u.NamedDataToReference(t)}))})).then((function(t){return c.CtxXAdESSign(a.m_pkContext,e,n,i,t)})).then((function(t){return s?t:c.BASE64Decode(t)})).then((function(e){var n={name:o[0].name+(o[0].name.endsWith(\".xml\")?\"\":\".xml\"),val:e};t(n)})).catch((function(t){return l(u.MapError(t))}))}))},e.prototype.XAdESVerifyData=function(e,n,r){void 0===r&&(r=-1);var i=this,o=this.m_library,s=new Array;return new t((function(a,u){i.CheckInitialize().then((function(){return-1==r?o.XAdESGetSignsCount(n):1})).then((function(t){if(-1!=r)s.push(r);else for(var n=0;n<t;n++)s.push(n);return null==e?null:i.ProcessArray(e,(function(t){return i.NamedDataToReference(t)}))})).then((function(e){return i.ProcessArray(s,(function(r){return new t((function(t,s){var a=new S.a;o.XAdESVerify(e,r,n).then((function(t){return l.a.MapToEndUserSignInfo(t,a),o.XAdESGetSignTimeInfo(r,n)})).then((function(t){return a.timeInfo=l.a.MapToEndUserTimeInfo(t,new d.a),o.XAdESGetSignLevel(r,n)})).then((function(e){a.signLevel=e,t(a)})).catch((function(t){return s(i.MapError(t))}))}))}))})).then((function(t){a(-1!=r?t[0]:t)})).catch((function(t){return u(i.MapError(t))}))}))},e.prototype.GetSignContainerInfo=function(e){var n=this,r=this.m_library,i=(new y.a,function(e){var n=new y.a;return new t((function(t,i){r.IsDataInSignedDataAvailable(e).then((function(e){n.type=_.EndUserSignContainerType.CAdES,n.subType=e?_.EndUserCAdESType.Enveloped:_.EndUserCAdESType.Detached,t(n)})).catch((function(e){t(null)}))}))}),o=function(e){var n=new y.a;return new t((function(t,i){r.XAdESGetType(e).then((function(e){n.type=_.EndUserSignContainerType.XAdES,n.subType=e,t(n)})).catch((function(e){t(null)}))}))},s=function(e){var n=new y.a;return new t((function(t,i){r.PDFGetSignsCount(e).then((function(e){n.type=_.EndUserSignContainerType.PAdES,t(n)})).catch((function(e){t(null)}))}))},a=function(e){var n=new y.a;return new t((function(t,i){r.ASiCGetASiCType(e).then((function(t){return n.type=_.EndUserSignContainerType.ASiC,n.subType=t,r.ASiCGetSignType(e)})).then((function(e){n.asicSignType=e,t(n)})).catch((function(e){t(null)}))}))};return new t((function(u,c){n.CheckInitialize().then((function(){return\"string\"==typeof e?r.BASE64Decode(e):e})).then((function(e){var n=[],r=function(t,e){if(t.length<e.length)return!1;for(var n=0;n<e.length;n++)if(t[n]!=e[n])return!1;return!0};return n=r(e,[60,63,120,109,108])?[o,i,s,a]:r(e,[37,80,68,70])?[s,i,o,a]:r(e,[80,75])?[a,i,o,s]:[i,o,s,a],new t((function(t,r){var i=function(o){o>=n.length?t(new y.a):n[o](e).then((function(e){null!=e?t(e):i(o+1)})).catch((function(t){return r(t)}))};i(0)}))})).then((function(t){u(t)})).catch((function(t){return c(n.MapError(t))}))}))},e}();e.a=R}).call(this,n(13).Promise)},function(t,e,n){\"use strict\";(function(t){var r=n(3),i=function(){function e(){this.EU_SUBJECT_TYPE_UNDIFFERENCED=0,this.EU_SUBJECT_TYPE_CA=1,this.EU_SUBJECT_TYPE_CA_SERVER=2,this.EU_SUBJECT_TYPE_RA_ADMINISTRATOR=3,this.EU_SUBJECT_TYPE_END_USER=4,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_UNDIFFERENCED=0,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_CMP=1,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_TSP=2,this.EU_SUBJECT_CA_SERVER_SUB_TYPE_OCSP=3,this.EU_CERT_KEY_TYPE_UNKNOWN=0,this.EU_CERT_KEY_TYPE_DSTU4145=1,this.EU_CERT_KEY_TYPE_RSA=2,this.EU_CERT_KEY_TYPE_ECDSA=4,this.EU_KEY_USAGE_UNKNOWN=0,this.EU_KEY_USAGE_DIGITAL_SIGNATURE=1,this.EU_KEY_USAGE_KEY_AGREEMENT=16,this.EU_KEYS_REQUEST_TYPE_UA_DS=1,this.EU_KEYS_REQUEST_TYPE_UA_KEP=2,this.EU_KEYS_REQUEST_TYPE_INTERNATIONAL=3,this.EU_KEYS_TYPE_NONE=0,this.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_GOSTS=1,this.EU_KEYS_TYPE_RSA_WITH_SHA=2,this.EU_KEYS_TYPE_ECDSA_WITH_SHA=4,this.EU_KEYS_TYPE_DSTU_AND_ECDH_WITH_DSTU=8,this.EU_KEYS_LENGTH_DS_UA_191=1,this.EU_KEYS_LENGTH_DS_UA_257=2,this.EU_KEYS_LENGTH_DS_UA_307=3,this.EU_KEYS_LENGTH_DS_UA_FILE=4,this.EU_KEYS_LENGTH_DS_UA_CERT=5,this.EU_KEYS_LENGTH_KEP_UA_257=1,this.EU_KEYS_LENGTH_KEP_UA_431=2,this.EU_KEYS_LENGTH_KEP_UA_571=3,this.EU_KEYS_LENGTH_KEP_UA_FILE=4,this.EU_KEYS_LENGTH_KEP_UA_CERT=5,this.EU_KEYS_LENGTH_DS_RSA_1024=1,this.EU_KEYS_LENGTH_DS_RSA_2048=2,this.EU_KEYS_LENGTH_DS_RSA_3072=3,this.EU_KEYS_LENGTH_DS_RSA_4096=4,this.EU_KEYS_LENGTH_DS_RSA_FILE=5,this.EU_KEYS_LENGTH_DS_RSA_CERT=6,this.EU_KEYS_LENGTH_DS_ECDSA_192=1,this.EU_KEYS_LENGTH_DS_ECDSA_256=2,this.EU_KEYS_LENGTH_DS_ECDSA_384=3,this.EU_KEYS_LENGTH_DS_ECDSA_521=4,this.EU_KEYS_LENGTH_DS_ECDSA_FILE=5,this.EU_KEYS_LENGTH_DS_ECDSA_CERT=6,this.EU_RECIPIENT_APPEND_ISSUER_AND_SERIAL=1,this.EU_RECIPIENT_APPEND_KEY_ID=2,this.EU_RECIPIENT_APPEND_KEY_ID_USC_COMPAT=3,this.EU_SAVE_SETTINGS_PARAMETER=\"SaveSettings\",this.EU_RESOLVE_OIDS_PARAMETER=\"ResolveOIDs\",this.EU_MAKE_PKEY_PFX_CONTAINER_PARAMETER=\"MakePKeyPFXContainer\",this.EU_SIGN_INCLUDE_CONTENT_TIME_STAMP_PARAMETER=\"SignIncludeContentTimeStamp\",this.EU_SIGN_TYPE_PARAMETER=\"SignType\",this.EU_SIGN_INCLUDE_CA_CERTIFICATES_PARAMETER=\"SignIncludeCACertificates\",this.EU_FS_CALCULATE_FINGERPRINT=\"FSCalculateFingerprint\",this.EU_CHECK_CERT_CHAIN_ON_SIGN_TIME_PARAMETER=\"CheckCertChainOnSignTime\",this.EU_CONNECTIONS_TIMEOUT_PARAMETER=\"ConnectionsTimeout\",this.EU_LOG_EVENTS_THRESHOLD_PARAMETER=\"LogEventsThreshold\",this.EU_USE_SLOGIN_PRIVATE_KEY=\"UseSLoginPrivateKey\",this.EU_SETTINGS_ID_NONE=0,this.EU_SETTINGS_ID_MANDATORY=31,this.EU_SETTINGS_ID_ALL=4095,this.EU_SETTINGS_ID_FSTORE=1,this.EU_SETTINGS_ID_PROXY=2,this.EU_SETTINGS_ID_TSP=4,this.EU_SETTINGS_ID_OCSP=8,this.EU_SETTINGS_ID_LDAP=16,this.EU_SETTINGS_ID_MODE=32,this.EU_SETTINGS_ID_CMP=64,this.EU_SETTINGS_ID_KM=128,this.EU_SETTINGS_ID_OCSP_ACCESS_INFO_MODE=256,this.EU_SETTINGS_ID_OCSP_ACCESS_INFO=512,this.EU_SETTINGS_ID_TSL=1024,this.EU_SETTINGS_ID_LOG=2048,this.EU_HEADER_CA_TYPE=\"UA1\",this.EU_HEADER_PART_TYPE_SIGNED=1,this.EU_HEADER_PART_TYPE_ENCRYPTED=2,this.EU_HEADER_PART_TYPE_STAMPED=3,this.EU_HEADER_PART_TYPE_CERTCRYPT=4,this.EU_HEADER_MAX_CA_TYPE_SIZE=3,this.EU_SIGNED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_SIGNED,this.EU_ENCRYPTED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_ENCRYPTED,this.EU_TIMESTAMPED_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_STAMPED,this.EU_CERTCRYPT_CRYPTO_HEADER=this.EU_HEADER_PART_TYPE_CERTCRYPT,this.EU_DEFAULT_LANG=0,this.EU_UA_LANG=1,this.EU_RU_LANG=2,this.EU_EN_LANG=3,this.EU_CONTENT_ENC_ALGO_TDES_CBC=4,this.EU_CONTENT_ENC_ALGO_AES_128_CBC=5,this.EU_CONTENT_ENC_ALGO_AES_192_CBC=6,this.EU_CONTENT_ENC_ALGO_AES_256_CBC=7,this.EU_DEV_CTX_MIN_PUBLIC_DATA_ID=16,this.EU_DEV_CTX_MAX_PRIVATE_DATA_ID=175,this.EU_UA_OID_EXT_KEY_USAGE_STAMP=\"1.2.804.2.1.1.1.3.9\",this.EU_CCS_TYPE_REVOKE=1,this.EU_CCS_TYPE_HOLD=2,this.EU_REVOCATION_REASON_UNKNOWN=0,this.EU_REVOCATION_REASON_KEY_COMPROMISE=1,this.EU_REVOCATION_REASON_NEW_ISSURED=2,this.EU_SIGN_TYPE_UNKNOWN=0,this.EU_SIGN_TYPE_CADES_BES=1,this.EU_SIGN_TYPE_CADES_T=4,this.EU_SIGN_TYPE_CADES_C=8,this.EU_SIGN_TYPE_CADES_X_LONG=16,this.EU_CHECK_PRIVATE_KEY_CONTEXT_PARAMETER=\"CheckPrivateKey\",this.EU_RESOLVE_OIDS_CONTEXT_PARAMETER=\"ResolveOIDs\",this.EU_EXPORATABLE_CONTEXT_CONTEXT_PARAMETER=\"ExportableContext\",this.EU_ENCODE_ECDSA_SIGN_VALUE_CONTEXT_PARAMETER=\"EncodeECDSASignValue\",this.EU_USE_SLOGIN_PRIVATE_KEY_CONTEXT_PARAMETER=\"UseSLoginPrivateKey\",this.EU_RECIPIENT_APPEND_TYPE_BY_ISSUER_SERIAL=1,this.EU_RECIPIENT_APPEND_TYPE_BY_KEY_ID=2,this.EU_CTX_HASH_ALGO_UNKNOWN=0,this.EU_CTX_HASH_ALGO_GOST34311=1,this.EU_CTX_HASH_ALGO_SHA160=2,this.EU_CTX_HASH_ALGO_SHA224=3,this.EU_CTX_HASH_ALGO_SHA256=4,this.EU_CTX_HASH_ALGO_SHA384=5,this.EU_CTX_HASH_ALGO_SHA512=6,this.EU_CTX_HASH_ALGO_DSTU7564_256=7,this.EU_CTX_HASH_ALGO_DSTU7564_384=8,this.EU_CTX_HASH_ALGO_DSTU7564_512=9,this.EU_CTX_SIGN_UNKNOWN=0,this.EU_CTX_SIGN_DSTU4145_WITH_GOST34311=1,this.EU_CTX_SIGN_RSA_WITH_SHA=2,this.EU_CTX_SIGN_ECDSA_WITH_SHA=3,this.EU_CTX_SIGN_DSTU4145_WITH_DSTU7564=4,this.EU_FILE_PROCESS_CHUNK_SIZE=1048576,this.EU_ASIC_TYPE_UNKNOWN=0,this.EU_ASIC_TYPE_S=1,this.EU_ASIC_TYPE_E=2,this.EU_ASIC_SIGN_TYPE_UNKNOWN=0,this.EU_ASIC_SIGN_TYPE_CADES=1,this.EU_ASIC_SIGN_TYPE_XADES=2,this.EU_ASIC_SIGN_LEVEL_BES=1,this.CtxCreateEmptySign=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.CtxCreateEmptySign(e,n,r,i,t,s)}))},this.EnvelopToRecipientsEx=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.EnvelopToRecipientsEx(e,n,r,i,t,s)}))},this.EnvelopToRecipientsWithDynamicKey=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.EnvelopToRecipientsWithDynamicKey(e,n,r,i,t,s)}))},this.EnvelopToRecipientsWithSettings=function(e,n,r,i,o,s,a){var u=this.m_library;return new t((function(t,c){u.EnvelopToRecipientsWithSettings(e,n,r,i,o,s,a,t,c)}))},this.CtxEnvelop=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.CtxEnvelop(e,n,r,i,o,s,t,u)}))},this.CtxEnvelopWithDynamicKey=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.CtxEnvelopWithDynamicKey(e,n,r,i,o,s,t,u)}))},this.DevelopEx=function(e,n){void 0===n&&(n=null);var r=this.m_library;return new t((function(t,i){r.DevelopEx(e,n,t,i)}))},this.CtxDevelop=function(e,n,r){void 0===r&&(r=null);var i=this.m_library;return new t((function(t,o){i.CtxDevelop(e,n,r,t,o)}))},this.CtxCreateAuthData=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxCreateAuthData(e,n,r,t,o)}))},this.ProtectDataByPassword=function(e,n){var r=this.m_library;return new t((function(t,i){r.ProtectDataByPassword(e,n,t,i)}))},this.UnprotectDataByPassword=function(e,n){var r=this.m_library;return new t((function(t,i){r.UnprotectDataByPassword(e,n,t,i)}))},this.ClientDynamicKeySessionCreate=function(e,n){var r=this.m_library;return new t((function(t,i){r.ClientDynamicKeySessionCreate(e,n,t,i)}))},this.SessionClose=function(e){var n=this.m_library;return new t((function(t,r){n.SessionClose(e,t,r)}))},this.SessionEncrypt=function(e,n){var r=this.m_library;return new t((function(t,i){r.SessionEncrypt(e,n,t,i)}))},this.SessionDecrypt=function(e,n){var r=this.m_library;return new t((function(t,i){r.SessionDecrypt(e,n,t,i)}))},this.AppendTransportHeader=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.AppendTransportHeader(e,n,r,i,o,t,a)}))},this.ParseTransportHeader=function(e){var n=this.m_library;return new t((function(t,r){n.ParseTransportHeader(e,t,r)}))},this.AppendCryptoHeader=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.AppendCryptoHeader(e,n,r,t,o)}))},this.ParseCryptoHeader=function(e){var n=this.m_library;return new t((function(t,r){n.ParseCryptoHeader(e,t,r)}))},this.GetHostInfo=function(){var e=this.m_library;return new t((function(t,n){e.GetHostInfo(t,n)}))},this.CtxCreate=function(){var e=this.m_library;return new t((function(t,n){e.CtxCreate(t,n)}))},this.CtxFree=function(e){var n=this.m_library;return new t((function(t,r){n.CtxFree(e,t,r)}))},this.CtxSetParameter=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxSetParameter(e,n,r,t,o)}))},this.ASiCGetASiCType=function(e){var n=this.m_library;return new t((function(t,r){n.ASiCGetASiCType(e,t,r)}))},this.ASiCGetSignType=function(e){var n=this.m_library;return new t((function(t,r){n.ASiCGetSignType(e,t,r)}))},this.ASiCGetSignsCount=function(e){var n=this.m_library;return new t((function(t,r){n.ASiCGetSignsCount(e,t,r)}))},this.ASiCGetSignerInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.ASiCGetSignerInfo(e,n,t,i)}))},this.ASiCGetSignTimeInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.ASiCGetSignTimeInfo(e,n,t,i)}))},this.CtxASiCSign=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.CtxASiCSign(e,n,r,i,o,s,t,u)}))},this.CtxASiCAppendSign=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxASiCAppendSign(e,n,r,i,o,t,a)}))},this.ASiCVerify=function(e,n){var r=this.m_library;return new t((function(t,i){r.ASiCVerify(e,n,t,i)}))},this.CtxASiCGetSignerInfo=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxASiCGetSignerInfo(e,n,r,t,o)}))},this.ASiCGetSignLevel=function(e,n){var r=this.m_library;return new t((function(t,i){r.ASiCGetSignLevel(e,n,t,i)}))},this.PDFGetSignType=function(e,n){var r=this.m_library;return new t((function(t,i){r.PDFGetSignType(e,n,t,i)}))},this.PDFGetSignsCount=function(e){var n=this.m_library;return new t((function(t,r){n.PDFGetSignsCount(e,t,r)}))},this.PDFGetSignerInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.PDFGetSignerInfo(e,n,t,i)}))},this.PDFGetSignTimeInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.PDFGetSignTimeInfo(e,n,t,i)}))},this.CtxPDFSign=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.CtxPDFSign(e,n,r,i,t,s)}))},this.PDFVerify=function(e,n){var r=this.m_library;return new t((function(t,i){r.PDFVerify(e,n,t,i)}))},this.CtxPDFGetSignerInfo=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxPDFGetSignerInfo(e,n,r,t,o)}))},this.XAdESGetType=function(e){var n=this.m_library;return new t((function(t,r){n.XAdESGetType(e,t,r)}))},this.XAdESGetSignsCount=function(e){var n=this.m_library;return new t((function(t,r){n.XAdESGetSignsCount(e,t,r)}))},this.XAdESGetSignLevel=function(e,n){var r=this.m_library;return new t((function(t,i){r.XAdESGetSignLevel(e,n,t,i)}))},this.XAdESGetSignerInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.XAdESGetSignerInfo(e,n,t,i)}))},this.XAdESGetSignTimeInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.XAdESGetSignTimeInfo(e,n,t,i)}))},this.CtxXAdESSign=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxXAdESSign(e,n,r,i,o,t,a)}))},this.XAdESVerify=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.XAdESVerify(e,n,r,t,o)}))},this.CtxXAdESGetSignerInfo=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxXAdESGetSignerInfo(e,n,r,t,o)}))},this.SServerClientGeneratePrivateKeyAsync=function(e,n,r,i,o,s,a,u,c,l,f){var _=this.m_library;return new t((function(t,p){_.SServerClientGeneratePrivateKeyAsync(e,n,r,i,o,s,a,u,c,l,f,t,p)}))},this.SServerClientCheckGeneratePrivateKeyStatus=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.SServerClientCheckGeneratePrivateKeyStatus(e,n,r,i,t,s)}))},this.SServerClientSignHashAsync=function(e,n,r,i,o,s,a){var u=this.m_library;return new t((function(t,c){u.SServerClientSignHashAsync(e,n,r,i,o,s,a,t,c)}))},this.SServerClientCheckSignHashStatus=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.SServerClientCheckSignHashStatus(e,n,r,i,t,s)}))},this.SServerClientSignHashesAsync=function(e,n,r,i,o,s,a,u){var c=this.m_library;return new t((function(t,l){c.SServerClientSignHashesAsync(e,n,r,i,o,s,a,u,t,l)}))},this.SServerClientCheckSignHashesStatus=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.SServerClientCheckSignHashesStatus(e,n,r,i,t,s)}))},this.m_language=0,this.m_library=null}return e.prototype.MakeURL=function(t){var e=location.origin,n=location.pathname;return 0==t.indexOf(\"http://\")||0==t.indexOf(\"https://\")?t:0==t.indexOf(\"/\")&&e?e+t:e&&n?e+n.substr(0,n.lastIndexOf(\"/\"))+\"/\"+t:t},e.prototype.MakeError=function(t,e){return this.m_library.MakeError(t,e)},e.prototype.IsLibraryLoadError=function(t){return t==r.EndUserError.ERROR_LIBRARY_COMUNICATION_FAILED},e.prototype.IsLibraryVersionNotSupportedError=function(t){return t==r.EndUserError.ERROR_LIBRARY_VERSION_NOT_SUPPORTED},e.prototype.Load=function(){var e=this;return new t((function(t,n){if(null==e.m_library){var i=new r.EndUserLibraryLoader(r.EndUserLibraryLoader.LIBRARY_TYPE_DEFAULT,\"euSign\",e.m_language,!0,!0);i.onload=function(n){e.m_library=n,t()},i.onerror=function(t,e,i){null==i&&(i=new r.EUSignCP(\"\",\"\")),n(i.MakeError(e,\"\"))},i.load()}else t()}))},e.prototype.IsSupported=function(){return r.EndUserLibraryLoader.isWebExtensionSupported()||r.EndUserLibraryLoader.isSignAgentSupported()||r.EndUserLibraryLoader.isNPAPISupported()||r.EndUserLibraryLoader.isActiveXSupported()},e.prototype.IsSignAgentSupported=function(){return r.EndUserLibraryLoader.isSignAgentSupported()},e.prototype.IsWebExtensionSupported=function(){return r.EndUserLibraryLoader.isWebExtensionSupported()},e.prototype.IsNPAPISupported=function(){return r.EndUserLibraryLoader.isNPAPISupported()},e.prototype.IsActiveXSupported=function(){return r.EndUserLibraryLoader.isActiveXSupported()},e.prototype.IsWebExtensionInstalled=function(){return r.EndUserLibraryLoader.isWebExtensionInstalled()},e.prototype.GetInstallURL=function(t,e){return void 0===t&&(t=!1),new r.EUSignCP(\"\",\"\").GetInstallURL(t,e)},e.prototype.GetUpdateURL=function(t,e){return void 0===t&&(t=!1),new r.EUSignCP(\"\",\"\").GetUpdateURL(t,e)},e.prototype.GetHelpURL=function(t){return new r.EUSignCP(\"\",\"\").GetHelpURL(t)},e.prototype.GetWebExtensionInstallURL=function(){return new r.EUSignCP(\"\",\"\").GetWebExtensionInstallURL()},e.prototype.GetVersion=function(){var e=this.m_library;return new t((function(t,n){e.GetVersion(t,n)}))},e.prototype.IsInitialized=function(){var e=this.m_library;return new t((function(t,n){e.IsInitialized(t,n)}))},e.prototype.Initialize=function(){var e=this.m_library;return new t((function(t,n){e.Initialize(t,n)}))},e.prototype.Finalize=function(){var e=this.m_library;return new t((function(t,n){e.Finalize(t,n)}))},e.prototype.ResetOperation=function(){var e=this.m_library;return new t((function(t,n){e.ResetOperation(t,n)}))},e.prototype.SetUIMode=function(e){var n=this.m_library;return new t((function(t,r){n.SetUIMode(e,t,r)}))},e.prototype.SetLanguage=function(e){var n=this.m_library;if(\"string\"==typeof e)switch(e=e.toLocaleLowerCase()){case\"en\":e=this.EU_EN_LANG;break;case\"ru\":e=this.EU_RU_LANG;break;case\"uk\":case\"ua\":default:e=this.EU_UA_LANG}return this.m_language=e,new t((function(t,r){n.SetLanguage(e,t,r)}))},e.prototype.SetCharset=function(e){var n=this.m_library;return new t((function(t,r){n.SetCharset(e,t,r)}))},e.prototype.SetRuntimeParameter=function(e,n){var r=this.m_library;return new t((function(t,i){r.SetRuntimeParameter(e,n,t,i)}))},e.prototype.GetStorageParameter=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetStorageParameter(e,n,t,i)}))},e.prototype.SetStorageParameter=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.SetStorageParameter(e,n,r,t,o)}))},e.prototype.BASE64Encode=function(e){var n=this.m_library;return new t((function(t,r){n.BASE64Encode(e,t,r)}))},e.prototype.BASE64Decode=function(e){var n=this.m_library;return new t((function(t,r){n.BASE64Decode(e,t,r)}))},e.prototype.StringToBytes=function(e){var n=this.m_library;return new t((function(t,r){n.StringToBytes(e,t,r)}))},e.prototype.BytesToString=function(e){var n=this.m_library;return new t((function(t,r){n.BytesToString(e,t,r)}))},e.prototype.DoesNeedSetSettings=function(){var e=this.m_library;return new t((function(t,n){e.DoesNeedSetSettings(t,n)}))},e.prototype.InitializeMandatorySettings=function(){var e=this.m_library;return new t((function(t,n){e.InitializeMandatorySettings(t,n)}))},e.prototype.CreateModeSettings=function(){return this.m_library.CreateModeSettings()},e.prototype.GetModeSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetModeSettings(t,n)}))},e.prototype.SetModeSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetModeSettings(e,t,r)}))},e.prototype.CreateKeyMediaSettings=function(){return this.m_library.CreateKeyMediaSettings()},e.prototype.GetKeyMediaSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetKeyMediaSettings(t,n)}))},e.prototype.SetKeyMediaSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetKeyMediaSettings(e,t,r)}))},e.prototype.CreateFileStoreSettings=function(){return this.m_library.CreateFileStoreSettings()},e.prototype.GetFileStoreSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetFileStoreSettings(t,n)}))},e.prototype.SetFileStoreSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetFileStoreSettings(e,t,r)}))},e.prototype.CreateProxySettings=function(){return this.m_library.CreateProxySettings()},e.prototype.GetProxySettings=function(){var e=this.m_library;return new t((function(t,n){e.GetProxySettings(t,n)}))},e.prototype.SetProxySettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetProxySettings(e,t,r)}))},e.prototype.CreateOCSPSettings=function(){return this.m_library.CreateOCSPSettings()},e.prototype.GetOCSPSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetOCSPSettings(t,n)}))},e.prototype.SetOCSPSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetOCSPSettings(e,t,r)}))},e.prototype.CreateOCSPAccessInfoModeSettings=function(){return this.m_library.CreateOCSPAccessInfoModeSettings()},e.prototype.GetOCSPAccessInfoModeSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetOCSPAccessInfoModeSettings(t,n)}))},e.prototype.SetOCSPAccessInfoModeSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetOCSPAccessInfoModeSettings(e,t,r)}))},e.prototype.CreateOCSPAccessInfoSettings=function(){return this.m_library.CreateOCSPAccessInfoSettings()},e.prototype.EnumOCSPAccessInfoSettings=function(e){var n=this.m_library;return new t((function(t,r){n.EnumOCSPAccessInfoSettings(e,t,r)}))},e.prototype.GetOCSPAccessInfoSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetOCSPAccessInfoSettings(t,n)}))},e.prototype.SetOCSPAccessInfoSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetOCSPAccessInfoSettings(e,t,r)}))},e.prototype.DeleteOCSPAccessInfoSettings=function(e){var n=this.m_library;return new t((function(t,r){n.DeleteOCSPAccessInfoSettings(e,t,r)}))},e.prototype.CreateTSPSettings=function(){return this.m_library.CreateTSPSettings()},e.prototype.GetTSPSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetTSPSettings(t,n)}))},e.prototype.SetTSPSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetTSPSettings(e,t,r)}))},e.prototype.CreateLDAPSettings=function(){return this.m_library.CreateLDAPSettings()},e.prototype.GetLDAPSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetLDAPSettings(t,n)}))},e.prototype.SetLDAPSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetLDAPSettings(e,t,r)}))},e.prototype.CreateCMPSettings=function(){return this.m_library.CreateCMPSettings()},e.prototype.GetCMPSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetCMPSettings(t,n)}))},e.prototype.SetCMPSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetCMPSettings(e,t,r)}))},e.prototype.GetSystemProxySettings=function(){var e=this.m_library;return new t((function(t,n){e.GetSystemProxySettings(t,n)}))},e.prototype.CreateTSLSettings=function(){return this.m_library.CreateTSLSettings()},e.prototype.GetTSLSettings=function(){var e=this.m_library;return new t((function(t,n){e.GetTSLSettings(t,n)}))},e.prototype.SetTSLSettings=function(e){var n=this.m_library;return new t((function(t,r){n.SetTSLSettings(e,t,r)}))},e.prototype.SetOCSPResponseExpireTime=function(e){var n=this.m_library;return new t((function(t,r){n.SetOCSPResponseExpireTime(e,t,r)}))},e.prototype.GetCertificate=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetCertificate(e,n,t,i)}))},e.prototype.ParseCertificateEx=function(e){var n=this.m_library;return new t((function(t,r){n.ParseCertificateEx(e,t,r)}))},e.prototype.SaveCertificate=function(e){var n=this.m_library;return new t((function(t,r){n.SaveCertificate(e,t,r)}))},e.prototype.SaveCertificates=function(e){var n=this.m_library;return new t((function(t,r){n.SaveCertificates(e,t,r)}))},e.prototype.GetTSPByAccessInfo=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.GetTSPByAccessInfo(e,n,r,i,t,s)}))},e.prototype.CheckTSP=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CheckTSP(e,n,r,t,o)}))},e.prototype.DownloadData=function(e,n){var i=this;return new t((function(t,o){try{var s=new XMLHttpRequest;s.onload=function(){if(4==s.readyState){var a=null;try{if(200!=s.status)throw\"Download data error. URL - \"+e+\", status - \"+s.status;switch(n){case\"binary\":a=new Uint8Array(s.response);break;case\"json\":a=JSON.parse(s.responseText.replace(/\\\\'/g,\"'\"));break;default:a=s.responseText}}catch(t){return console.log(\"EndUser.DowloadData error: \"+t),void o(i.MakeError(r.EndUserError.ERROR_DOWNLOAD_FILE,\"\"))}t(a)}},s.onerror=function(){o(i.MakeError(r.EndUserError.ERROR_DOWNLOAD_FILE,\"\"))},e=i.MakeURL(e),s.open(\"GET\",e,!0),\"binary\"==n&&(s.responseType=\"arraybuffer\"),s.send()}catch(t){o(i.MakeError(r.EndUserError.ERROR_DOWNLOAD_FILE,\"\"))}}))},e.prototype.CreateKeyMedia=function(){return this.m_library.CreateKeyMedia()},e.prototype.GetPrivateKeyMedia=function(e){var n=this.m_library;return new t((function(t,r){n.GetPrivateKeyMedia(e,t,r)}))},e.prototype.EnumKeyMediaTypes=function(e){var n=this.m_library;return new t((function(t,r){n.EnumKeyMediaTypes(e,t,r)}))},e.prototype.EnumKeyMediaDevices=function(e,n){var r=this.m_library;return new t((function(t,i){r.EnumKeyMediaDevices(e,n,t,i)}))},e.prototype.GetKeyMediaTypes=function(){var e=this.m_library;return new t((function(t,n){e.GetKeyMediaTypes(t,n)}))},e.prototype.GetKeyMediaDevices=function(e){var n=this.m_library;return new t((function(t,r){n.GetKeyMediaDevices(e,t,r)}))},e.prototype.IsPrivateKeyReaded=function(){var e=this.m_library;return new t((function(t,n){e.IsPrivateKeyReaded(t,n)}))},e.prototype.ReadPrivateKey=function(){var e=this.m_library;return new t((function(t,n){e.ReadPrivateKey(t,n)}))},e.prototype.ReadPrivateKeySilently=function(e,n,r){var i=this.m_library;return new t((function(t,o){\"number\"==typeof e?i.ReadPrivateKeySilently(e,n,r,t,o):i.ReadPrivateKeySilently(e,t,o)}))},e.prototype.ReadPrivateKeyBinary=function(e,n){var r=this.m_library;return new t((function(t,i){r.ReadPrivateKeyBinary(e,n,t,i)}))},e.prototype.ReadPrivateKeyFile=function(e,n){var r=this.m_library;return new t((function(t,i){r.ReadPrivateKeyFile(e,n,t,i)}))},e.prototype.ResetPrivateKey=function(){var e=this.m_library;return new t((function(t,n){e.ResetPrivateKey(t,n)}))},e.prototype.CtxReadPrivateKey=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){\"number\"==typeof n?o.CtxReadPrivateKey(e,n,r,i,t,s):o.CtxReadPrivateKey(e,n,t,s)}))},e.prototype.CtxReadPrivateKeyBinary=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxReadPrivateKeyBinary(e,n,r,t,o)}))},e.prototype.CtxFreePrivateKey=function(e){var n=this.m_library;return new t((function(t,r){n.CtxFreePrivateKey(e,t,r)}))},e.prototype.ShowOwnCertificate=function(){var e=this.m_library;return new t((function(t,n){e.ShowOwnCertificate(t,n)}))},e.prototype.GetOwnCertificate=function(e,n){var r=this.m_library;return new t((function(t,i){\"number\"==typeof e||\"number\"==typeof n?r.GetOwnCertificate(e,n,t,i):r.GetOwnCertificate(t,i)}))},e.prototype.GetOwnEUserParams=function(){var e=this.m_library;return new t((function(t,n){e.GetOwnEUserParams(t,n)}))},e.prototype.CtxGetOwnEUserParams=function(e){var n=this.m_library;return new t((function(t,r){n.CtxGetOwnEUserParams(e,t,r)}))},e.prototype.ModifyOwnEUserParams=function(e,n){var r=this.m_library;return new t((function(t,i){r.ModifyOwnEUserParams(e,n,t,i)}))},e.prototype.CtxModifyOwnEUserParams=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxModifyOwnEUserParams(e,n,r,t,o)}))},e.prototype.EnumOwnCertificates=function(e){var n=this.m_library;return new t((function(t,r){n.EnumOwnCertificates(e,t,r)}))},e.prototype.GetPrivateKeyOwnerInfo=function(){var e=this.m_library;return new t((function(t,n){e.GetPrivateKeyOwnerInfo(t,n)}))},e.prototype.CtxEnumOwnCertificates=function(e,n){var r=this.m_library;return new t((function(t,i){r.CtxEnumOwnCertificates(e,n,t,i)}))},e.prototype.CtxGetOwnCertificate=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxGetOwnCertificate(e,n,r,t,o)}))},e.prototype.GetKeyInfo=function(e){var n=this.m_library;return new t((function(t,r){n.GetKeyInfo(e,t,r)}))},e.prototype.GetKeyInfoBinary=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetKeyInfoBinary(e,n,t,i)}))},e.prototype.GetKeyInfoFile=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetKeyInfoFile(e,n,t,i)}))},e.prototype.GetCertificatesByKeyInfo=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.GetCertificatesByKeyInfo(e,n,r,t,o)}))},e.prototype.EnumJKSPrivateKeys=function(e,n){var r=this.m_library;return new t((function(t,i){r.EnumJKSPrivateKeys(e,n,t,i)}))},e.prototype.GetJKSPrivateKey=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetJKSPrivateKey(e,n,t,i)}))},e.prototype.CreatePrivateKeyInfo=function(){return this.m_library.CreatePrivateKeyInfo()},e.prototype.CreateEndUserInfo=function(){return this.m_library.CreateEndUserInfo()},e.prototype.GeneratePrivateKeyEx=function(e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S){var C=this.m_library;return new t((function(t,d){C.GeneratePrivateKeyEx(e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,y,S,t,d)}))},e.prototype.ChangePrivateKeyPassword=function(e,n){var r=this.m_library;return new t((function(t,i){null!=e?r.ChangePrivateKeyPassword(e.GetTypeIndex(),e.GetDevIndex(),e.GetPassword(),n,t,i):r.ChangePrivateKeyPassword(t,i)}))},e.prototype.ChangeSoftwarePrivateKeyPassword=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.ChangeSoftwarePrivateKeyPassword(e,n,r,t,o)}))},e.prototype.SetKeyMediaUserPassword=function(e,n){var r=this.m_library;return new t((function(t,i){null!=n?r.SetKeyMediaUserPassword(e,n.GetTypeIndex(),n.GetDevIndex(),n.GetPassword(),t,i):r.SetKeyMediaUserPassword(e,t,i)}))},e.prototype.ChangeOwnCertificatesStatus=function(e,n){var r=this.m_library;return new t((function(t,i){r.ChangeOwnCertificatesStatus(e,n,t,i)}))},e.prototype.CtxChangeOwnCertificatesStatus=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxChangeOwnCertificatesStatus(e,n,r,t,o)}))},e.prototype.MakeNewCertificate=function(e,n,r,i,o,s,a,u,c,l,f,_,p){var h=this.m_library;return new t((function(t,E){h.MakeNewCertificate(e,n,r,i,o,s,a,u,c,l,f,_,p,t,E)}))},e.prototype.MakeNewCertificateEx=function(e,n,r,i,o,s,a,u,c,l,f,_,p,h,E){var y=this.m_library;return new t((function(t,S){y.MakeNewCertificateEx(e,n,r,i,o,s,a,u,c,l,f,_,p,h,E,t,S)}))},e.prototype.MakeNewOwnCertificate=function(e,n,r,i,o,s,a,u){var c=this.m_library;return new t((function(t,l){c.MakeNewOwnCertificate(e,n,r,i,o,s,a,u,t,l)}))},e.prototype.CtxMakeNewOwnCertificate=function(e,n,r,i,o,s,a,u,c){var l=this.m_library;return new t((function(t,f){l.CtxMakeNewOwnCertificate(e,n,r,i,o,s,a,u,c,t,f)}))},e.prototype.CtxMakeNewOwnCertificateEx=function(e,n,r,i,o,s,a,u,c,l,f){var _=this.m_library;return new t((function(t,p){_.CtxMakeNewOwnCertificateEx(e,n,r,i,o,s,a,u,c,l,f,t,p)}))},e.prototype.CtxMakeNewOwnCertificateWithCR=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxMakeNewOwnCertificateWithCR(e,n,r,i,o,t,a)}))},e.prototype.CtxMakeDeviceCertificate=function(e,n,r,i,o,s,a,u){var c=this.m_library;return new t((function(t,l){c.CtxMakeDeviceCertificate(e,n,r,i,o,s,a,u,t,l)}))},e.prototype.CtxHash=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.CtxHash(e,n,r,i,t,s)}))},e.prototype.CtxHashBegin=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxHashBegin(e,n,r,t,o)}))},e.prototype.CtxHashContinue=function(e,n){var r=this.m_library;return new t((function(t,i){r.CtxHashContinue(e,n,t,i)}))},e.prototype.CtxHashEnd=function(e){var n=this.m_library;return new t((function(t,r){n.CtxHashEnd(e,t,r)}))},e.prototype.CtxHashFree=function(e){var n=this.m_library;return new t((function(t,r){n.CtxHashFree(e,t,r)}))},e.prototype.GetSignType=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetSignType(e,n,t,i)}))},e.prototype.GetSigner=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetSigner(e,n,t,i)}))},e.prototype.CtxGetSignerInfo=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxGetSignerInfo(e,n,r,t,o)}))},e.prototype.SignHash=function(e){var n=this.m_library;return new t((function(t,r){n.SignHash(e,t,r)}))},e.prototype.Sign=function(e){var n=this.m_library;return new t((function(t,r){n.Sign(e,t,r)}))},e.prototype.SignInternal=function(e,n){var r=this.m_library;return new t((function(t,i){r.SignInternal(e,n,t,i)}))},e.prototype.SignHashRSA=function(e){var n=this.m_library;return new t((function(t,r){n.SignHashRSA(e,t,r)}))},e.prototype.SignRSA=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.SignRSA(e,n,r,t,o)}))},e.prototype.CtxSignHash=function(e,n,r,i){var o=this.m_library;return new t((function(t,s){o.CtxSignHash(e,n,r,i,t,s)}))},e.prototype.CtxSign=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxSign(e,n,r,i,o,t,a)}))},e.prototype.CtxSignFile=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.CtxSignFile(e,n,r,i,o,s,t,u)}))},e.prototype.CtxGetSignValue=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.CtxGetSignValue(e,n,r,t,o)}))},e.prototype.AppendSignHash=function(e,n){var r=this.m_library;return new t((function(t,i){r.AppendSignHash(e,n,t,i)}))},e.prototype.AppendSign=function(e,n){var r=this.m_library;return new t((function(t,i){r.AppendSign(e,n,t,i)}))},e.prototype.AppendSignInternal=function(e,n){var r=this.m_library;return new t((function(t,i){r.AppendSignInternal(e,n,t,i)}))},e.prototype.CtxAppendSignHash=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxAppendSignHash(e,n,r,i,o,t,a)}))},e.prototype.CtxAppendSign=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.CtxAppendSign(e,n,r,i,o,t,a)}))},e.prototype.CtxAppendSignFile=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.CtxAppendSignFile(e,n,r,i,o,s,t,u)}))},e.prototype.AppendSigner=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.AppendSigner(e,n,r,t,o)}))},e.prototype.AppendValidationDataToSignerEx=function(e,n,r){var i=this.m_library;return new t((function(t,o){i.AppendValidationDataToSignerEx(e,n,r,t,o)}))},e.prototype.IsDataInSignedDataAvailable=function(e){var n=this.m_library;return new t((function(t,r){n.IsDataInSignedDataAvailable(e,t,r)}))},e.prototype.GetDataFromSignedData=function(e){var n=this.m_library;return new t((function(t,r){n.GetDataFromSignedData(e,t,r)}))},e.prototype.GetCertificateFromSignedData=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetCertificateFromSignedData(e,n,t,i)}))},e.prototype.GetSignsCount=function(e){var n=this.m_library;return new t((function(t,r){n.GetSignsCount(e,t,r)}))},e.prototype.GetSignTimeInfo=function(e,n){var r=this.m_library;return new t((function(t,i){r.GetSignTimeInfo(e,n,t,i)}))},e.prototype.VerifyHashOnTimeEx=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.VerifyHashOnTimeEx(e,n,r,i,o,s,t,u)}))},e.prototype.VerifyDataOnTimeEx=function(e,n,r,i,o,s){var a=this.m_library;return new t((function(t,u){a.VerifyDataOnTimeEx(e,n,r,i,o,s,t,u)}))},e.prototype.VerifyDataInternalOnTimeEx=function(e,n,r,i,o){var s=this.m_library;return new t((function(t,a){s.VerifyDataInternalOnTimeEx(e,n,r,i,o,t,a)}))},e.prototype.CreateEndUserSession=function(){return this.m_library.CreateEndUserSession()},e.prototype.CreateReference=function(t,e){return this.m_library.CreateReference(t,e)},e}();e.a=i}).call(this,n(13).Promise)},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return r}));var r=function(){}},function(t,e){var n,r,i=t.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function a(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var u,c=[],l=!1,f=-1;function _(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&p())}function p(){if(!l){var t=a(_);l=!0;for(var e=c.length;e;){for(u=c,c=[];++f<e;)u&&u[f].run();f=-1,e=c.length}u=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function h(t,e){this.fun=t,this.array=e}function E(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new h(t,e)),1!==c.length||l||a(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=E,i.addListener=E,i.once=E,i.off=E,i.removeListener=E,i.removeAllListeners=E,i.emit=E,i.prependListener=E,i.prependOnceListener=E,i.listeners=function(t){return[]},i.binding=function(t){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(t){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e){}])}));","import { EndUserCertificate, EndUserConstants, EndUserError } from \"../euscp/euscp\";\r\n\r\n/**\r\n * Загрузить данные по ссылке\r\n * @param {string} url - ссылка на скачивание данных\r\n * @param {string?} dataType - тип данных, которые необходимо загрузить. Возможные значения: binary, json и пусто для строковых данных\r\n * @returns {Promise<string | Uint8Array | object>} загруженные данные\r\n */\r\nexport function downloadData(url, dataType, token, postData) {\r\n  return new Promise((resolve, reject) => {\r\n    url = makeUrl(url);\r\n\r\n    const xmlHttp = new XMLHttpRequest();\r\n\r\n    xmlHttp.onerror = function (e) {\r\n      console.error(e);\r\n      reject(\"Download data error. URL - \" +\r\n        url + \", status - \" + xmlHttp.status);\r\n    };\r\n\r\n    xmlHttp.onload = function () {\r\n      if (xmlHttp.readyState != XMLHttpRequest.DONE)\r\n        return;\r\n\r\n      const XMLHttpStatusDone = 200;\r\n      if (xmlHttp.status != XMLHttpStatusDone) {\r\n        reject(\"Download data error. URL - \" +\r\n          url + \", status - \" + xmlHttp.status);\r\n        return;\r\n      }\r\n      let blob;\r\n      switch (dataType) {\r\n        case \"binary\":\r\n          resolve(new Uint8Array(xmlHttp.response));\r\n          break;\r\n        case \"json\":\r\n          resolve(JSON.parse(xmlHttp.responseText.replace(/\\\\'/g, \"'\")));\r\n          break;\r\n        case \"xml\":\r\n          resolve(xmlHttp.responseXML);\r\n          break;\r\n        case \"blob\":\r\n          try {\r\n            blob = new Blob([xmlHttp.responseText], { type: \"application/javascript\" });\r\n          } catch (e) { // Backwards-compatibility\r\n            const BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\r\n            blob = new BlobBuilder();\r\n            blob.append(xmlHttp.responseText);\r\n            blob = blob.getBlob();\r\n          }\r\n          resolve(blob);\r\n          break;\r\n        default:\r\n          resolve(xmlHttp.responseText);\r\n          break;\r\n      }\r\n    };\r\n    if (dataType === \"binary\") {\r\n      xmlHttp.responseType = \"arraybuffer\";\r\n    } else if (dataType == \"xml\") {\r\n      xmlHttp.responseType = \"document\";\r\n    }\r\n    xmlHttp.open(postData ? \"POST\" : \"GET\", url, true);\r\n    if (typeof token === \"string\") {\r\n      xmlHttp.setRequestHeader(\"Authorization\", \"Bearer \" + token);\r\n    }\r\n\r\n    if (postData) {\r\n      const jsonData = JSON.stringify(postData);\r\n      xmlHttp.setRequestHeader(\"Content-Type\", \"application/json\");\r\n      xmlHttp.send(jsonData);\r\n    }\r\n    else {\r\n      xmlHttp.send();\r\n    }\r\n  });\r\n}\r\n\r\nexport function makeUrl(url) {\r\n  const origin = location.origin,\r\n    pathname = location.pathname;\r\n\r\n  if (url.indexOf(\"http://\") === 0 || url.indexOf(\"https://\") === 0) {\r\n    return url;\r\n  }\r\n  if (url.indexOf(\"/\") === 0 && origin) {\r\n    return origin + url;\r\n  }\r\n  if (origin && pathname) {\r\n    return origin + pathname.substr(0, pathname.lastIndexOf(\"/\")) + \"/\" + url;\r\n  }\r\n  return url;\r\n}\r\n\r\nexport function format(format) {\r\n  const args = Array.prototype.slice.call(arguments, 1);\r\n  return format.replace(/{(\\d+)}/g, function (match, number) {\r\n    return typeof args[number] != \"undefined\" ? args[number] : match;\r\n  });\r\n}\r\n\r\nexport function readFile(file) {\r\n  return new Promise((resolve, reject) => {\r\n    const reader = new FileReader();\r\n    reader.onloadend = function () {\r\n      if (this.readyState != this.DONE) {\r\n        reject(this.error);\r\n      } else {\r\n        resolve(new Uint8Array(this.result));\r\n      }\r\n    };\r\n    reader.readAsArrayBuffer(file);\r\n  });\r\n}\r\n\r\nexport function arrayToBase64(array) {\r\n  let base64Str = \"\";\r\n  const m_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n\r\n  const bytes = new Uint8Array(array);\r\n  const bytesLength = bytes.length;\r\n\r\n  /* eslint-disable no-magic-numbers */\r\n  for (let i = 0; i < bytesLength; i += 3) {\r\n    base64Str += m_map[bytes[i] >> 2];\r\n    base64Str += m_map[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\r\n    base64Str += m_map[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\r\n    base64Str += m_map[bytes[i + 2] & 63];\r\n  }\r\n\r\n  if (bytesLength % 3 === 2) {\r\n    base64Str = base64Str.substring(0, base64Str.length - 1) + \"=\";\r\n  } else if (bytesLength % 3 === 1) {\r\n    base64Str = base64Str.substring(0, base64Str.length - 2) + \"==\";\r\n  }\r\n  /* eslint-enable no-magic-numbers */\r\n\r\n  return base64Str;\r\n}\r\n\r\nexport function base64ToArray(str) {\r\n  const raw = window.atob(str);\r\n  const rawLength = raw.length;\r\n  const array = new Uint8Array(new ArrayBuffer(rawLength));\r\n\r\n  for (let i = 0; i < rawLength; i++) {\r\n    array[i] = raw.charCodeAt(i);\r\n  }\r\n  return array;\r\n}\r\n\r\nexport function stringToArray(s) {\r\n\tconst utf8 = unescape(encodeURIComponent(s));\r\n\r\n\tconst arr = [];\r\n\tfor (let i = 0; i < utf8.length; i++) {\r\n\t\tarr.push(utf8.charCodeAt(i));\r\n\t}\r\n\treturn arr;\r\n}\r\n\r\nexport function arrayToString(arr) {\r\n\tconst ret = [];\r\n\r\n\tlet length = arr.length;\r\n\tif (length > 0 &&\r\n\t\tarr[length - 1] == 0) {\r\n\t\tlength -= 1;\r\n\t}\r\n\r\n  /* eslint-disable no-magic-numbers */\r\n\tfor (let i = 0; i < length; i++) {\r\n\t\tlet chr = arr[i];\r\n\t\tif (chr > 0xFF) {\r\n\t\t\tchr &= 0xFF;\r\n\t\t}\r\n\r\n\t\tret.push(String.fromCharCode(chr));\r\n\t}\r\n  /* eslint-enable no-magic-numbers */\r\n\r\n\treturn decodeURIComponent(escape(ret.join(\"\")));\r\n}\r\n\r\nexport function convertToBase64(str) {\r\n  return arrayToBase64(stringToArray(str));\r\n}\r\n\r\nexport function convertFromBase64(str) {\r\n  return arrayToString(base64ToArray(str));\r\n}\r\n\r\n/**\r\n * Получить алгоритм хеширования для алгоритма подписи\r\n * @param {EndUserConstants.EndUserSignAlgo} signAlgo - Алгоритм подписи\r\n * @returns {EndUserConstants.EndUserHashAlgo} Алгоритм хеширования\r\n */\r\nexport function signAlgoToHashAlgo(signAlgo) {\r\n  switch (signAlgo) {\r\n    case EndUserConstants.EndUserSignAlgo.RSAWithSHA:\r\n    case EndUserConstants.EndUserSignAlgo.ECDSAWithSHA:\r\n      return EndUserConstants.EndUserHashAlgo.SHA256;\r\n    case EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311:\r\n      return EndUserConstants.EndUserHashAlgo.GOST34311;\r\n    case EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564:\r\n      return EndUserConstants.EndUserHashAlgo.DSTU7564_256;\r\n    default:\r\n      return EndUserConstants.EndUserHashAlgo.Unknown;\r\n  }\r\n}\r\n\r\n/**\r\n * Получить список доступных алгоритмов подписи считанного ключа\r\n * @param {Array<EndUserCertificate>} certificates\r\n * @returns {Array<EndUserConstants.EndUserSignAlgo>} список доступных алгоритмов подписи\r\n */\r\nexport function getSupportedSignAlgos(certificates, glsign = null) {\r\n  const signAlgos = [];\r\n  certificates.forEach(certificate => {\r\n    if ((certificate.infoEx.keyUsageType & EndUserConstants.EndUserKeyUsage.DigitalSignature) !== EndUserConstants.EndUserKeyUsage.DigitalSignature) {\r\n      return;\r\n    }\r\n    switch (certificate.infoEx.publicKeyType) {\r\n      case EndUserConstants.EndUserCertKeyType.DSTU4145:\r\n        if ((certificate.infoEx.certHashType === EndUserConstants.EU_CERT_HASH_TYPE_GOST34311 || certificate.infoEx.certHashType === EndUserConstants.EU_CERT_HASH_TYPE_DSTU7564_256)\r\n          && glsign?.HashAlgorithm === \"GOST34311\") {\r\n          signAlgos.push(EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311);\r\n        } else {\r\n          signAlgos.push(EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564);\r\n        }\r\n        break;\r\n      case EndUserConstants.EndUserCertKeyType.RSA:\r\n        signAlgos.push(EndUserConstants.EndUserSignAlgo.RSAWithSHA);\r\n        break;\r\n      case EndUserConstants.EndUserCertKeyType.ECDSA:\r\n        signAlgos.push(EndUserConstants.EndUserSignAlgo.ECDSAWithSHA);\r\n        break;\r\n    }\r\n  });\r\n  return signAlgos;\r\n}\r\n\r\nexport function isUrlValid(url) {\r\n  try {\r\n    return !!new URL(url);\r\n  } catch {\r\n    return false;\r\n  }\r\n}\r\n\r\nexport function getFileNameFromUrl(url) {\r\n  url = new URL(url);\r\n  return url.searchParams.get(\"file\") || url.searchParams.get(\"name\") || url.pathname.split(\"/\").pop();\r\n}\r\n\r\nexport async function downloadAndSignFiles(fileUrl, signFunc) {\r\n  const isParamValid = (url) => typeof url === \"string\" && isUrlValid(url) || typeof url === \"object\" && typeof url.name === \"string\" && typeof url.val === \"string\" && isUrlValid(url.val);\r\n\r\n  if (Array.isArray(fileUrl)) {\r\n    if (!fileUrl.every(isParamValid) || !(fileUrl.every(url => typeof url === \"string\") || fileUrl.every(url => typeof url === \"object\"))) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: \"Bad parameter fileUrl\"\r\n      };\r\n    }\r\n    const returnNamedData = fileUrl.every(url => typeof url === \"object\");\r\n\r\n    fileUrl = await Promise.all(fileUrl.map(async (url) => typeof url === \"object\"\r\n      ? { name: url.name, val: await downloadData(url.val, \"binary\") }\r\n      : { name: getFileNameFromUrl(url), val: await downloadData(url, \"binary\") }));\r\n\r\n    const signs = await signFunc(fileUrl);\r\n    return returnNamedData ? signs : signs.map(sign => sign.val || sign);\r\n  } else {\r\n    if (!isParamValid(fileUrl)) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: \"Bad parameter fileUrl\"\r\n      };\r\n    }\r\n\r\n    const returnNamedData = typeof fileUrl === \"object\";\r\n\r\n    fileUrl = typeof fileUrl === \"object\"\r\n      ? { name: fileUrl.name, val: await downloadData(fileUrl.val, \"binary\") }\r\n      : { name: getFileNameFromUrl(fileUrl), val: await downloadData(fileUrl, \"binary\") };\r\n\r\n    const sign = await signFunc(fileUrl);\r\n    return returnNamedData ? sign : sign.val || sign;\r\n  }\r\n}\r\n\r\nexport function isDefaultValue(value) {\r\n  return value === false || value === null || typeof value === \"undefined\";\r\n}\r\n\r\n// отсчёт месяцев в JS начинается с нуля -_-\r\n// реальная дата - 01.07.2026\r\n/* eslint-disable no-magic-numbers */\r\nexport const IS_DSTU_7564_DAY = () => Date.now() >= new Date(2026, 6, 1);\r\n\r\nexport function dateWithoutTimezone(date) {\r\n  const tzoffset = date.getTimezoneOffset() * 60000; //offset in milliseconds\r\n  const withoutTimezone = new Date(date.valueOf() - tzoffset)\r\n    .toISOString()\r\n    .slice(0, -1);\r\n  return withoutTimezone;\r\n};\r\n","/* eslint-disable no-magic-numbers */\r\n\r\nimport { EndUserConstants } from \"../euscp/euscp\";\r\nimport { EndUserKSP, getDefaultKSPs } from \"./Models\";\r\nimport { convertFromBase64, IS_DSTU_7564_DAY } from \"./Utils\";\r\n\r\n/**\r\n * ПГУ GlSign\r\n */\r\nexport default class GlSign {\r\n  /**\r\n   * @param {string} value - Строковое представление параметра\r\n   */\r\n  constructor(value) {\r\n    if (!value) {\r\n      value = \"\";\r\n    }\r\n    const settingArray = value.split(\";\");\r\n    this.AllowSavePassword = this._getZoneValue(settingArray, 1) !== \"1\";\r\n    // AutoSetParam\r\n    this.AutoSetParams = this._getSubZoneValue(settingArray, 2, \",\", 1) === \"+\";\r\n    // Provider\r\n    this.ProviderName = this._getSubZoneValue(settingArray, 2, \",\", 2);\r\n    // SaveCert\r\n    this.SaveCert = this._getZoneValue(settingArray, 3) === \"+\";\r\n    // crl\r\n    this.CheckCrls = this._getSubZoneValue(settingArray, 4, \",\", 1) === \"+\";\r\n    this.OwnCrlsOnly = this._getSubZoneValue(settingArray, 4, \",\", 2) === \"+\";\r\n    this.FullAndDeltaCrls = this._getSubZoneValue(settingArray, 4, \",\", 3) === \"+\";\r\n    this.AutoDownloadCrls = this._getSubZoneValue(settingArray, 4, \",\", 4) === \"+\";\r\n    // tsp\r\n    this.UseTsp = this._getSubZoneValue(settingArray, 5, \",\", 1) === \"+\";\r\n    this.TspAddress = this._getSubZoneValue(settingArray, 5, \",\", 2);\r\n    this.TspPort = parseInt(this._getSubZoneValue(settingArray, 5, \",\", 3));\r\n    // ocsp\r\n    this.UseOcsp = this._getSubZoneValue(settingArray, 6, \",\", 1) === \"+\";\r\n    this.OcspAddress = this._getSubZoneValue(settingArray, 6, \",\", 2);\r\n    this.OcspPort = parseInt(this._getSubZoneValue(settingArray, 6, \",\", 3));\r\n    this.OcspBeforeStore = this._getSubZoneValue(settingArray, 6, \",\", 4) === \"+\";\r\n    this.UseOcspAccess = this._getSubZoneValue(settingArray, 6, \",\", 5) === \"+\";\r\n    // cmp\r\n    this.UseCmp = this._getSubZoneValue(settingArray, 7, \",\", 1) === \"+\";\r\n    this.CmpAddress = this._getSubZoneValue(settingArray, 7, \",\", 2);\r\n    this.CmpPort = parseInt(this._getSubZoneValue(settingArray, 7, \",\", 3));\r\n    // ldap\r\n    this.UseLdap = this._getSubZoneValue(settingArray, 8, \",\", 1) === \"+\";\r\n    this.LdapAddress = this._getSubZoneValue(settingArray, 8, \",\", 2);\r\n    this.LdapPort = parseInt(this._getSubZoneValue(settingArray, 8, \",\", 3));\r\n\r\n    this.ValidateOwner = this._getZoneValue(settingArray, 9) === \"+\";\r\n    this.StrongCheck = this._getZoneValue(settingArray, 10) === \"+\";\r\n    this.DontEraseKey = this._getZoneValue(settingArray, 11) === \"+\";\r\n    this.IdleTimeout = parseInt(this._getZoneValue(settingArray, 12));\r\n    this.DeviceType = this._getZoneValue(settingArray, 13);\r\n    this.MainCrl = this._getZoneValue(settingArray, 14);\r\n    this.HashAlgorithm = this._getZoneValue(settingArray, 15);\r\n    this.PreferHarware = this._getZoneValue(settingArray, 16);\r\n    this.HideMobileId = true;\r\n\r\n    this.UseProxy = this._getSubZoneValue(settingArray, 19, \",\", 1) === \"+\";\r\n    this.ProxyAddress = this._getSubZoneValue(settingArray, 19, \",\", 2);\r\n    this.ProxyPort = this._getSubZoneValue(settingArray, 19, \",\", 3);\r\n    this.ProxyUser = this._getSubZoneValue(settingArray, 19, \",\", 4);\r\n    this.ProxyPassword = this._getSubZoneValue(settingArray, 19, \",\", 5);\r\n\r\n    const applyProxySettings = this._getSubZoneValue(settingArray, 19, \",\", 6);\r\n    if (!applyProxySettings || !applyProxySettings.trim()) {\r\n      this.ApplyProxySettings = this.UseProxy;\r\n    }\r\n    else {\r\n      this.ApplyProxySettings = applyProxySettings === \"+\";\r\n    }\r\n\r\n    this.AllowTestKeys = this._getZoneValue(settingArray, 20) === \"+\";\r\n    this.AgentSignWeb = this._getZoneValue(settingArray, 21) === \"+\";\r\n    this.TestCAConnection = this._getZoneValue(settingArray, 22) === \"+\";\r\n    this.DontSaveToRegistry = this._getZoneValue(settingArray, 23) === \"+\";\r\n\r\n    let ksps = this._getZoneValue(settingArray, 24);\r\n\r\n    const directAccess = this._getZoneValue(settingArray, 25) === \"+\" ? true : this._getZoneValue(settingArray, 25) === \"-\" ? false : null;\r\n    this.DirectAccess = directAccess === true || directAccess !== false && !this.ApplyProxySettings && !this.UseProxy;\r\n\r\n    this.PreLoadClientLibraries = this._getZoneValue(settingArray, 26) === \"+\";\r\n    const fileSize = parseInt(this._getZoneValue(settingArray, 27));\r\n    this.WebClientFileSize = fileSize < 5 ? 5 : fileSize > 127 ? 127 : fileSize;\r\n    this.UseTSL = this._getZoneValue(settingArray, 28) === \"+\";\r\n    this.UmcaservicePort = this._getZoneValue(settingArray, 29);\r\n\r\n    if (!ksps) {\r\n      this.KSPs = getDefaultKSPs(this.AllowTestKeys);\r\n    } else {\r\n      try {\r\n        ksps = convertFromBase64(ksps);\r\n        this.KSPs = JSON.parse(ksps);\r\n      } catch (error) {\r\n        console.error(\"error parsing KSPs from GlSign\");\r\n        console.error(error);\r\n      }\r\n\r\n      if (!this.KSPs || this.KSPs.length === 0)\r\n      {\r\n        this.KSPs = getDefaultKSPs(this.AllowTestKeys);\r\n      }\r\n\r\n      this.KSPs.forEach(element => {\r\n        if (element.ksp === EndUserKSP.DIIA || element.ksp === EndUserKSP.IIT || element.ksp === EndUserKSP.PB || element.ksp === EndUserKSP.VTOKEN) {\r\n          if (element.address.includes(\"cabinet.e-life.com.ua\")\r\n            || element.address.includes(\"sserver.amokey.com\")\r\n            || element.address.includes(\"smart-sign.dpsu.gov.ua\")\r\n            || element.address.includes(\"sign-ca.mvs.gov.ua\")\r\n            || element.address.includes(\"id.edin.ua\")\r\n            || element.address.includes(\"business.ukrsibbank.com\")) {\r\n            return;\r\n          }\r\n          if (!Array.isArray(element.signAlgos) || element.signAlgos.length == 0) {\r\n            element.signAlgos = [ EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564, EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311 ];\r\n          }\r\n        }\r\n        // if (element.ksp === EU_KSP_GRYADA) {\r\n        //   element.signAlgos = this.HashAlgorithm !== \"GOST34311\" ? [ EndUserSignAlgo.DSTU4145WithDSTU7564 ] : [ EndUserSignAlgo.DSTU4145WithGOST34311 ];\r\n        // }\r\n      });\r\n    }\r\n  }\r\n  _getZoneValue(zones, zone) {\r\n    if (zones.length >= zone) {\r\n      const zoneValue = zones[zone - 1];\r\n      return zoneValue ? zoneValue : \"\";\r\n    }\r\n    return \"\";\r\n  }\r\n  _getSubZoneValue(zones, zone, separator, subzone) {\r\n    const zoneValue = this._getZoneValue(zones, zone);\r\n    if (!zoneValue) {\r\n      return \"\";\r\n    }\r\n    const subZones = zoneValue.split(separator);\r\n    return this._getZoneValue(subZones, subzone);\r\n  }\r\n}\r\n","import { EndUserCertificate, EndUserError, EndUserOwnerInfo, EndUserConstants, KSPSettings, EndUser, EndUserTaxReport } from \"../euscp/euscp\";\r\nimport GlSign from \"./GlSign\";\r\nimport { downloadData, arrayToBase64, base64ToArray, signAlgoToHashAlgo, getSupportedSignAlgos, IS_DSTU_7564_DAY } from \"./Utils\";\r\n\r\n/**\r\n * Параметры библиотеки электронной подписи\r\n */\r\nexport class DigitalSignatureSettings {\r\n  /**\r\n   * @param {string} language - Язык. Поддержываемые значения: en, ru, uk\r\n   * @param {string} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)\r\n   * @param {string} httpProxyServiceURL - Ссылка на ProxyHandler\r\n   * @param {DefaultCertificatesProvider | WebCalcCertificatesProvider} certificatesProvider - Сервис для получения сертификатов\r\n   * @param {string} libraryUrl - ссылка на WebWorker\r\n   */\r\n  constructor(language, userId, httpProxyServiceURL, certificatesProvider, libraryUrl) {\r\n    this.language = language || \"en\";\r\n    this.userId = userId;\r\n    this.httpProxyServiceURL = httpProxyServiceURL;\r\n    this.certificatesProvider = certificatesProvider;\r\n    this.libraryUrl = libraryUrl;\r\n  }\r\n}\r\n\r\n/**\r\n * Фабрика настроек библиотеки\r\n */\r\nexport class DefaultSettingProvider {\r\n  /**\r\n   * @param {string} language - Язык ошибок\r\n   * @param {string | function} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)\r\n   * @param {string} apiPath - путь к api ЕЦП\r\n   * @param {string} workerPath - ссылка на WebWorker\r\n   */\r\n  constructor(language, userId, apiPath, workerPath) {\r\n    if (typeof apiPath !== \"string\") {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: \"basePath is not a string\"\r\n      };\r\n    } else if (apiPath.endsWith(\"/\")) {\r\n      apiPath = apiPath.substring(0, apiPath.length - 1);\r\n    }\r\n\r\n    this.language = language;\r\n    this.userId = userId;\r\n    this.apiPath = apiPath;\r\n    this.workerPath = workerPath;\r\n  }\r\n\r\n  async getGlSign() {\r\n    return new GlSign(await downloadData(this.apiPath + \"/files?name=glsign\", \"string\"));\r\n  }\r\n\r\n  async getSettings() {\r\n    if (this._settings) {\r\n      return this._settings;\r\n    }\r\n\r\n    this._settings = new DigitalSignatureSettings(\r\n      this.language,\r\n      this.userId,\r\n      this.apiPath + \"/ProxyHandler\",\r\n      new DefaultCertificatesProvider(\r\n        this.apiPath + \"/files?name=CAs.json\",\r\n        this.apiPath + \"/files?name=CACertificates.p7b\"\r\n      ),\r\n      this.workerPath || \"/euscp.worker.js\"\r\n    );\r\n\r\n    return this._settings;\r\n  }\r\n}\r\n\r\nexport class WebserviceSettingProvider {\r\n  /**\r\n   * @param {string} language - Язык ошибок\r\n   * @param {string | function} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)\r\n   * @param {string} apiPath - путь к api ЕЦП\r\n   * @param {string} workerPath - ссылка на WebWorker\r\n   */\r\n  constructor(language, userId, apiPath, workerPath) {\r\n    this.language = language;\r\n    this.userId = userId;\r\n    this.apiPath = apiPath;\r\n    this.workerPath = workerPath;\r\n  }\r\n\r\n  async getGlSign() {\r\n    return new GlSign(await downloadData(`${this.apiPath}/webservice.asmx/ExecuteEx?pureJSON=`, undefined, undefined, { calcId: \"GETGLSIGNBEFORELOGIN\", args: \"\", ticket: \"\" }));\r\n  }\r\n\r\n  async getSettings() {\r\n    if (this._settings) {\r\n      return this._settings;\r\n    }\r\n\r\n    const json = await downloadData(`${this.apiPath}/webservice.asmx/ExecuteEx?pureJSON=`, \"json\", undefined, { calcId: \"GETCASANDCERTIFICATEFILES\", args: \"\", ticket: \"\" });\r\n    this._settings = new DigitalSignatureSettings(\r\n      this.language,\r\n      this.userId,\r\n      `${this.apiPath}/ProxyHandler`,\r\n      new DefaultCertificatesProvider(\r\n        `${this.apiPath}/GetFile.ashx?file=${json.FILECAS}`,\r\n        `${this.apiPath}/GetFile.ashx?file=${json.FILECERT}`\r\n      ),\r\n      this.workerPath || \"/euscp.worker.js\"\r\n    );\r\n\r\n    return this._settings;\r\n  }\r\n}\r\n\r\nexport class LegacySettingsProvider {\r\n  /**\r\n   * @param {string} language - Язык ошибок\r\n   * @param {string | function} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)\r\n   * @param {string} basePath - путь к api ЕЦП\r\n   * @param {string} glsign - ПГУ GlSign\r\n   * @param {string} workerPath - ссылка на WebWorker\r\n   */\r\n  constructor(language, userId, basePath, glsign, workerPath) {\r\n    if (typeof basePath !== \"string\") {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: \"basePath is not a string\"\r\n      };\r\n    } else if (basePath.endsWith(\"/\")) {\r\n      basePath = basePath.substring(0, basePath.length - 1);\r\n    }\r\n\r\n    this.language = language;\r\n    this.userId = userId;\r\n    this.basePath = basePath;\r\n    this.glsign = glsign;\r\n    this.workerPath = workerPath;\r\n  }\r\n\r\n  getGlSign() {\r\n    return typeof this.glsign === \"string\" ? new GlSign(this.glsign) : this.glsign;\r\n  }\r\n\r\n  getSettings(testMode) {\r\n    return new DigitalSignatureSettings(this.language,\r\n      this.userId,\r\n      this.basePath + \"/ProxyHandler.ashx\",\r\n      new LegacyCertificatesProvider(\r\n        testMode,\r\n        this.basePath + \"/Data/version.txt\",\r\n        this.basePath + (testMode ? \"/Data/CAs.Test.json\" : \"/Data/CAs.json\"),\r\n        this.basePath + (testMode ? \"/Data/CACertificates.Test.p7b\" : \"/Data/CACertificates.p7b\")\r\n      ),\r\n      this.workerPath || \"/euscp.worker.js\"\r\n    );\r\n  }\r\n}\r\n\r\nexport class CertificatesProvider {\r\n  /**\r\n   * @param {boolean} testMode - Тестовый режим\r\n   */\r\n  constructor(testMode) {\r\n    this.testMode = testMode;\r\n  }\r\n\r\n  /**\r\n   * Загрузить список ЦСК и корневые сертификаты\r\n   * @returns {Promise}\r\n   */\r\n  async loadCertificates() {\r\n    throw {\r\n      code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n      message: \"Not implemented\"\r\n    };\r\n  }\r\n\r\n  get _storagePrefix() {\r\n    return this.testMode ? \"Test\" : \"\";\r\n  }\r\n\r\n  _getItem(key) {\r\n    return localStorage.getItem(this._storagePrefix + key);\r\n  }\r\n\r\n  _setItem(key, value) {\r\n    localStorage.setItem(this._storagePrefix + key, value);\r\n  }\r\n\r\n  _removeItem(key) {\r\n    localStorage.removeItem(this._storagePrefix + key);\r\n  }\r\n}\r\n\r\n/**\r\n * Класс для загрузки сертификатов по ссылкам\r\n */\r\nexport class DefaultCertificatesProvider extends CertificatesProvider {\r\n  /**\r\n   * @param {boolean} testMode - Тестовый режим\r\n   * @param {string} versionUri - Ссылка на файл с текущей версией сертификатов\r\n   * @param {string} CAsUri - Ссылка на файл со списком ЦСК\r\n   * @param {string} CACertificatesUri - Ссылка на файл с корневыми сертификатами ЦСК\r\n   */\r\n  constructor(CAsUri, CACertificatesUri) {\r\n    super(false);\r\n    this.CAsUri = CAsUri;\r\n    this.CACertificatesUri = CACertificatesUri;\r\n  }\r\n\r\n  async loadCertificates() {\r\n    try {\r\n      const [CAs, CACertificates] = await Promise.all([downloadData(this.CAsUri, \"json\"), downloadData(this.CACertificatesUri, \"binary\")]);\r\n\r\n      return { CAs, CACertificates };\r\n    } catch (error) {\r\n      console.error(error);\r\n      throw {\r\n        code: EndUserError.EU_ERROR_DOWNLOAD_FILE,\r\n        message: \"Error downloading root certificates\"\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\nexport class LegacyCertificatesProvider extends CertificatesProvider {\r\n  /**\r\n   * @param {boolean} testMode - Тестовый режим\r\n   * @param {string} versionUri - Ссылка на файл с текущей версией сертификатов\r\n   * @param {string} CAsUri - Ссылка на файл со списком ЦСК\r\n   * @param {string} CACertificatesUri - Ссылка на файл с корневыми сертификатами ЦСК\r\n   */\r\n  constructor(testMode, versionUri, CAsUri, CACertificatesUri) {\r\n    super(testMode);\r\n    this.versionUri = versionUri;\r\n    this.CAsUri = CAsUri;\r\n    this.CACertificatesUri = CACertificatesUri;\r\n  }\r\n\r\n  async loadCertificates() {\r\n    let CAs = this._getItem(\"CA\"),\r\n      CACertificates = this._getItem(\"Certificates\"),\r\n      CACertificatesVersion = this._getItem(\"CAVersion\");\r\n\r\n    try {\r\n      const currentVersion = await downloadData(this.versionUri);\r\n      if (currentVersion != CACertificatesVersion) {\r\n        CACertificatesVersion = currentVersion;\r\n        CAs = null;\r\n        CACertificates = null;\r\n      }\r\n\r\n      if (CAs) {\r\n        try {\r\n          CAs = JSON.parse(CAs);\r\n        } catch (error) {\r\n          console.error(error);\r\n          CAs = null;\r\n        }\r\n      }\r\n      if (!CAs) {\r\n        CAs = await downloadData(this.CAsUri, \"json\");\r\n        this._setItem(\"CA\", JSON.stringify(CAs));\r\n      }\r\n\r\n      if (CACertificates) {\r\n        try {\r\n          CACertificates = base64ToArray(CACertificates);\r\n        } catch (error) {\r\n          console.error(error);\r\n          CACertificates = null;\r\n        }\r\n      }\r\n      if (!CACertificates) {\r\n        CACertificates = await downloadData(this.CACertificatesUri, \"binary\");\r\n        this._setItem(\"Certificates\", arrayToBase64(CACertificates));\r\n      }\r\n      this._setItem(\"CAVersion\", CACertificatesVersion);\r\n      return { CAs, CACertificates };\r\n    } catch (error) {\r\n      this._removeItem(\"CA\");\r\n      this._removeItem(\"CAVersion\");\r\n      this._removeItem(\"Certificates\");\r\n      console.error(error);\r\n      throw {\r\n        code: EndUserError.EU_ERROR_DOWNLOAD_FILE,\r\n        message: \"Error downloading root certificates\"\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\n/** Подпись файловыми ключами, через облачные сервисы  */\r\nexport const DigitalSignatureLibraryTypeJS = 0;\r\n/** Подпись аппартными ключами */\r\nexport const DigitalSignatureLibraryTypeSW = 1;\r\n\r\n/**\r\n * Типы библиотеки\r\n */\r\nexport const DigitalSignatureLibraryType = {\r\n  /** Подпись файловыми ключами и через облачные сервисы */\r\n  JS: DigitalSignatureLibraryTypeJS,\r\n  /** Подпись аппартными ключами */\r\n  SW: DigitalSignatureLibraryTypeSW\r\n};\r\n\r\n/** Файловый ключ */\r\nexport const DigitalSignatureKeyTypeFile = 0;\r\n/** Аппаратный ключ */\r\nexport const DigitalSignatureKeyTypeToken = 1;\r\n/** Облачный сервис */\r\nexport const DigitalSignatureKeyTypeKSP = 2;\r\n/** Хранилище сертификатов Windows */\r\nexport const DigitalSignatureKeyTypeWindowsCertStore = 3;\r\n/** UmCAService */\r\nexport const DigitalSignatureKeyTypeUmCAService = 4;\r\n\r\n/**\r\n * Типы ключей\r\n */\r\nexport const DigitalSignatureKeyType = {\r\n  File: DigitalSignatureKeyTypeFile,\r\n  Token: DigitalSignatureKeyTypeToken,\r\n  KSP: DigitalSignatureKeyTypeKSP,\r\n  WindowsCertStore: DigitalSignatureKeyTypeWindowsCertStore,\r\n  UmCAService: DigitalSignatureKeyTypeUmCAService\r\n};\r\n\r\nexport const EU_KSP_VTOKEN = -2;\r\nexport const EU_KSP_GRYADA = -1;\r\nexport const EU_KSP_IIT = 4;\r\nexport const EU_KSP_PB = 6;\r\nexport const EU_KSP_DIIA = 7;\r\n\r\nexport const EndUserKSP = {\r\n  IIT: EU_KSP_IIT,\r\n  PB: EU_KSP_PB,\r\n  DIIA: EU_KSP_DIIA,\r\n  GRYADA: EU_KSP_GRYADA,\r\n  VTOKEN: EU_KSP_VTOKEN\r\n};\r\n\r\nexport const EU_KSP_ClientIdType = -1;\r\n\r\nexport const EndUserKSPClientIdType = {\r\n  Default: EndUserConstants.EndUserKSPClientIdType.Default,\r\n  Name: EndUserConstants.EndUserKSPClientIdType.Name,\r\n  Phone: EndUserConstants.EndUserKSPClientIdType.Phone,\r\n  Email: EndUserConstants.EndUserKSPClientIdType.Email,\r\n  NamePassword: EU_KSP_ClientIdType\r\n};\r\n\r\nexport class PrivateKeyInfo {\r\n  /**\r\n   * @param {number} keyType - Тип ключа\r\n   * @param {EndUserOwnerInfo} ownerInfo - Информация о владельце ключа\r\n   * @param {EndUserCertificate[]} certificates - Сертификаты ключа\r\n   * @param {string} visibleName - Имя ключа\r\n   * @param {string} id - Идентификатор ключа\r\n   */\r\n  constructor(keyType, ownerInfo, certificates, visibleName, id) {\r\n    this.keyType = keyType;\r\n    this.ownerInfo = ownerInfo;\r\n    this.certificates = certificates;\r\n    this.visibleName = visibleName;\r\n    this.id = id;\r\n  }\r\n\r\n  /**\r\n   * Является ли ключ цифровой печаткой\r\n   */\r\n  isDigitalStamp() {\r\n    if (!Array.isArray(this.certificates) || this.certificates.length === 0) {\r\n      return false;\r\n    }\r\n    const certificates = this.certificates;\r\n    for (let certificate = 0; certificate < certificates.length; certificate++) {\r\n      const infoEx = certificates[certificate].infoEx;\r\n      if (infoEx.publicKeyType == EndUserConstants.EndUserCertKeyType.DSTU4145\r\n        && (infoEx.keyUsageType & EndUserConstants.EndUserKeyUsage.DigitalSignature) == EndUserConstants.EndUserKeyUsage.DigitalSignature) {\r\n        return !(infoEx.extKeyUsages.indexOf(EndUserConstants.EU_UA_OID_EXT_KEY_USAGE_STAMP) < 0 && infoEx.extKeyUsages.indexOf(\"Цифрова печатка\") < 0);\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  /**\r\n   * Ключ поддерживает электронную подпись\r\n   */\r\n  supportSigning() {\r\n    if (this.keyType === DigitalSignatureKeyTypeKSP) {\r\n      return true;\r\n    }\r\n\r\n    const certificates = this.certificates;\r\n    for (let certificate = 0; certificate < certificates.length; certificate++) {\r\n      const infoEx = certificates[certificate].infoEx;\r\n      if ((infoEx.keyUsageType & EndUserConstants.EndUserKeyUsage.DigitalSignature) == EndUserConstants.EndUserKeyUsage.DigitalSignature) {\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  /**\r\n   * Ключ поддерживает шифрование\r\n   */\r\n  supportEncryption() {\r\n    if (this.keyType === DigitalSignatureKeyTypeKSP) {\r\n      return false;\r\n    }\r\n\r\n    const certificates = this.certificates;\r\n    for (let certificate = 0; certificate < certificates.length; certificate++) {\r\n      const infoEx = certificates[certificate].infoEx;\r\n      if ((infoEx.keyUsageType & EndUserConstants.EndUserKeyUsage.KeyAgreement) == EndUserConstants.EndUserKeyUsage.KeyAgreement) {\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  /**\r\n   * Получить алгоритм подписи\r\n   */\r\n  getSignAlgo() {\r\n    const certificates = this.certificates;\r\n    if (this.keyType === DigitalSignatureKeyTypeKSP) {\r\n      const ksp = this.ksp;\r\n      if (Array.isArray(ksp.signAlgos) && ksp.signAlgos.length > 0) {\r\n        const signAlgo = ksp.signAlgos[0];\r\n        if (signAlgo === EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564 && this._glsign?.HashAlgorithm === \"GOST34311\" && ksp.signAlgos.includes(EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311)) {\r\n          return EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311;\r\n        }\r\n        return signAlgo;\r\n      }\r\n      return EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311;\r\n    }\r\n    else if (certificates.length > 0) {\r\n      return getSupportedSignAlgos(certificates, this._glsign)[0];\r\n    }\r\n    else {\r\n      return EndUserConstants.EndUserSignAlgo.Unknown;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Получить алгоритм хеширования\r\n   */\r\n  getHashAlgo() {\r\n    if (this.keyType === DigitalSignatureKeyTypeKSP) {\r\n      return signAlgoToHashAlgo(this.getSignAlgo());\r\n    }\r\n\r\n    const certificates = this.certificates;\r\n    if (certificates.length > 0 && certificates[0]?.infoEx?.certHashType) {\r\n      const hashType = certificates[0].infoEx.certHashType;\r\n\r\n      if (hashType == EndUserConstants.EndUserHashAlgo.GOST34311 && this._glsign?.HashAlgorithm !== \"GOST34311\") {\r\n        return EndUserConstants.EndUserHashAlgo.DSTU7564_256;\r\n      }\r\n      if (hashType == EndUserConstants.EndUserHashAlgo.DSTU7564_256 && this._glsign?.HashAlgorithm === \"GOST34311\") {\r\n        return EndUserConstants.EndUserHashAlgo.GOST34311;\r\n      }\r\n\r\n      return hashType;\r\n    }\r\n    return signAlgoToHashAlgo(this.getSignAlgo());\r\n  }\r\n}\r\n\r\nexport class FilePrivateKeyInfo extends PrivateKeyInfo {\r\n  /**\r\n   * @param {number} keyType - Тип ключа\r\n   * @param {EndUserOwnerInfo} ownerInfo - Информация о владельце ключа\r\n   * @param {EndUserCertificate[]} certificates - Сертификаты ключа\r\n   * @param {Uint8Array} privateKey - Файловый ключ\r\n   * @param {string?} password - Пароль от ключа\r\n   */\r\n  constructor(keyType, ownerInfo, certificates, privateKey, password) {\r\n    super(keyType, ownerInfo, certificates, certificates[0].infoEx.subjCN, certificates[0].infoEx.serial);\r\n    this.privateKey = privateKey;\r\n    this.password = password;\r\n  }\r\n}\r\n\r\nexport class HardwarePrivateKeyInfo extends PrivateKeyInfo {\r\n  /**\r\n   * @param {number} keyType - Тип ключа\r\n   * @param {EndUserOwnerInfo} ownerInfo - Информация о владельце ключа\r\n   * @param {EndUserCertificate[]} certificates - Сертификаты ключа\r\n   * @param {EndUserKeyMedia} keyMedia - Параметры аппаратного ключа\r\n   * @param {boolean} needSavePassword - Нужно ли сохранять пароль\r\n   */\r\n  constructor(keyType, ownerInfo, certificates, keyMedia) {\r\n    super(keyType, ownerInfo, certificates, certificates[0].infoEx.subjCN, certificates[0].infoEx.serial);\r\n    this.keyMedia = keyMedia;\r\n  }\r\n}\r\n\r\nexport class KspPrivateKeyInfo extends PrivateKeyInfo {\r\n  /**\r\n   * @param {number} keyType - Тип ключа\r\n   * @param {EndUserOwnerInfo} ownerInfo - Информация о владельце ключа\r\n   * @param {EndUserCertificate[]} certificates - Сертификаты ключа\r\n   * @param {string} userId - Идентификатор пользователя\r\n   * @param {EndUserKSP} ksp - Объект KSP\r\n   */\r\n  constructor(keyType, ownerInfo, certificates, userId, ksp, keyId) {\r\n    super(keyType, ownerInfo, certificates, userId, userId);\r\n    this.userId = userId;\r\n    this.ksp = ksp;\r\n    this.keyId = keyId;\r\n  }\r\n}\r\n\r\nexport function getDefaultKSPs(allowTest) {\r\n  const depositsign = new KSPSettings();\r\n  depositsign.id = \"DEPOSITSIGN\";\r\n  depositsign.name = \"DepositSign\";\r\n  depositsign.ksp = EndUserConstants.EU_KSP_PB;\r\n  depositsign.address = \"https://depositsign.com/api/v1/it-enterprise/sign-server\";\r\n  depositsign.clientIdPrefix = \"\";\r\n  depositsign.directAccess = true;\r\n  depositsign.needQRCode = false;\r\n\r\n  const diia = new KSPSettings();\r\n  diia.id = \"DIIA-SIGN\";\r\n  diia.name = \"Дія.Підпис\";\r\n  diia.ksp = EndUserConstants.EU_KSP_DIIA;\r\n  diia.directAccess = false;\r\n  diia.mobileAppName = \"Дія\";\r\n  diia.address = \"https://diia-sign.it.ua/KSPSign\";\r\n  diia.systemId = \"diia-sign-it-ent\";\r\n  diia.needQRCode = true;\r\n  diia.signAlgos = [1];\r\n\r\n  const smartId = new KSPSettings();\r\n  smartId.id = \"PB-SMARTID\";\r\n  smartId.name = \"Приватбанк - хмарний підпис \\\"SmartID\\\"\";\r\n  smartId.ksp = EndUserConstants.EU_KSP_PB;\r\n  smartId.directAccess = true;\r\n  smartId.mobileAppName = \"Приват24\";\r\n  smartId.address = \"https://acsk.privatbank.ua/cloud/api/back/\";\r\n  smartId.clientIdPrefix = \"IEIS_\";\r\n  smartId.confirmationURL = \"https://www.privat24.ua/rd/kep\";\r\n  smartId.needQRCode = true;\r\n\r\n  const vchasno = new KSPSettings();\r\n  vchasno.id = \"VCHASNO\";\r\n  vchasno.name = \"Вчасно - хмарний підпис\";\r\n  vchasno.ksp = EndUserConstants.EU_KSP_PB;\r\n  vchasno.address = \"https://cs.vchasno.ua/ss/\";\r\n  vchasno.clientIdPrefix = \"\";\r\n  vchasno.directAccess = false;\r\n  vchasno.needQRCode = false;\r\n\r\n  const vchasnoQR = new KSPSettings();\r\n  vchasnoQR.id = \"VCHASNOQR\";\r\n  vchasnoQR.name = \"Вчасно - хмарний підпис (QR)\";\r\n  vchasnoQR.ksp = EndUserConstants.EU_KSP_PB;\r\n  vchasnoQR.address = \"https://cs.vchasno.ua/ss/\";\r\n  vchasnoQR.clientIdPrefix = \"vchasno_\";\r\n  vchasnoQR.confirmationURL = \"https://cs.vchasno.ua/rd/\";\r\n  vchasnoQR.mobileAppName = \"Вчасно.КЕП\";\r\n  vchasnoQR.directAccess = false;\r\n  vchasnoQR.needQRCode = true;\r\n\r\n  const cloudKey = new KSPSettings();\r\n  cloudKey.id = \"CLOUDKEY\";\r\n  cloudKey.name = \"ТОВ «ЦСК «Україна» - хмарний підпис CloudKey\";\r\n  cloudKey.ksp = EndUserConstants.EU_KSP_PB;\r\n  cloudKey.directAccess = true;\r\n  cloudKey.mobileAppName = \"CloudKey\";\r\n  cloudKey.address = \"https://sid.uakey.com.ua/smartid/iit/\";\r\n  cloudKey.clientIdPrefix = \"DIIA_2\";\r\n  cloudKey.confirmationURL = \"https://sid.uakey.com.ua/kep?hash=rd/kep\";\r\n  cloudKey.needQRCode = true;\r\n\r\n  const esign = new KSPSettings();\r\n  esign.id = \"ESIGN\";\r\n  esign.name = \"ESign - хмарний підпис\";\r\n  esign.ksp = EndUserConstants.EU_KSP_PB;\r\n  esign.address = \"https://cabinet.e-life.com.ua/api/EDG/Sign\";\r\n  esign.clientIdPrefix = \"\";\r\n  esign.directAccess = true;\r\n  esign.needQRCode = false;\r\n\r\n  const smartSignTax = new KSPSettings();\r\n  smartSignTax.id = \"SMARTSIGNTAX\";\r\n  smartSignTax.name = \"ДПС - хмарний підпис\";\r\n  smartSignTax.ksp = EndUserConstants.EU_KSP_PB;\r\n  smartSignTax.address = \"https://smart-sign.tax.gov.ua/\";\r\n  smartSignTax.port = \"443\";\r\n  smartSignTax.directAccess = true;\r\n  smartSignTax.clientIdType = EndUserKSPClientIdType.Name;\r\n  smartSignTax.needQRCode = false;\r\n\r\n  const pumb = new KSPSettings();\r\n  pumb.id = \"PUMB\";\r\n  pumb.name = \"ПУМБ - хмарний підпис\";\r\n  pumb.ksp = EndUserConstants.EU_KSP_PB;\r\n  pumb.address = \"https://apiext.pumb.ua/hogsmeade/striga/v1\";\r\n  pumb.directAccess = false;\r\n  pumb.clientIdPrefix = \"SMARTTENDER_\";\r\n  pumb.confirmationURL = \"https://www.pumb.ua/qes\";\r\n  pumb.mobileAppName = \"\";\r\n  pumb.needQRCode = true;\r\n\r\n  const ugb = new KSPSettings();\r\n  ugb.id = \"UGB\";\r\n  ugb.name = \"Укргазбанк - хмарний підпис «EcoSign»\";\r\n  ugb.ksp = EndUserKSP.VTOKEN;\r\n  ugb.address = \"https://vtms-api-qca.ukrgasbank.com/vtco/api/v1\";\r\n  ugb.systemId = \"cihsmVtcoServiceClientSmartTender\";\r\n  ugb.directAccess = true;\r\n  ugb.clientIdType = EndUserKSPClientIdType.NamePassword;\r\n  ugb.needQRCode = false;\r\n\r\n  const alliance = new KSPSettings();\r\n  alliance.id = \"ALLIANCE\";\r\n  alliance.name = \"Банк Альянс - хмарний підпис\";\r\n  alliance.ksp = EndUserKSP.VTOKEN;\r\n  alliance.address = \"https://cihsm-api.bankalliance.ua/vtco/api/v1\";\r\n  alliance.systemId = \"cihsmVtcoServiceClientSmartTender\";\r\n  alliance.directAccess = true;\r\n  alliance.clientIdType = EndUserKSPClientIdType.NamePassword;\r\n  alliance.needQRCode = false;\r\n\r\n  const vtoken = new KSPSettings();\r\n  vtoken.id = \"VTOKEN\";\r\n  vtoken.name = \"Хмарний сервіс Шифр-vToken (тестовий)\";\r\n  vtoken.ksp = EndUserKSP.VTOKEN;\r\n  vtoken.address = \"https://cihsm-dev-api.cipher.com.ua/vtco/api/v1\";\r\n  vtoken.systemId = \"cipherVTokenIntegrationClient\";\r\n  vtoken.directAccess = true;\r\n  vtoken.clientIdType = EndUserKSPClientIdType.NamePassword;\r\n  vtoken.needQRCode = false;\r\n\r\n  const amokey = new KSPSettings();\r\n  amokey.id = \"AMOKEY\";\r\n  amokey.name = \"АМО ФІНТЕХ – хмарний підпис AMOKEY\";\r\n  amokey.ksp = EndUserKSP.PB;\r\n  amokey.address = \"https://sserver.amokey.com\";\r\n  amokey.port = \"443\";\r\n  amokey.clientIdPrefix = \"\";\r\n  amokey.directAccess = true;\r\n  amokey.clientIdType = EndUserKSPClientIdType.Name;\r\n  amokey.needQRCode = false;\r\n\r\n  const tascombank = new KSPSettings();\r\n  tascombank.id = \"TASCOMBANK\";\r\n  tascombank.name = \"Сервер підпису КНЕДП АТ \\\"ТАСКОМБАНК\\\"\";\r\n  tascombank.ksp = EndUserKSP.PB;\r\n  tascombank.address = \"https://smartsign.tascombank.ua\";\r\n  tascombank.port = \"443\";\r\n  tascombank.clientIdPrefix = \"\";\r\n  tascombank.directAccess = true;\r\n  tascombank.clientIdType = EndUserKSPClientIdType.Name;\r\n  tascombank.needQRCode = false;\r\n\r\n  const edinQr = new KSPSettings();\r\n  edinQr.id = \"EDINQR\";\r\n  edinQr.name = \"EDIN ID - хмарний підпис (QR)\";\r\n  edinQr.ksp = EndUserKSP.PB;\r\n  edinQr.address = \"https://id.edin.ua/api/ess/v1/\";\r\n  edinQr.confirmationURL = \"https://id.edin.ua/mobile/sign\";\r\n  edinQr.port = \"\";\r\n  edinQr.clientIdPrefix = \"EDIN_\";\r\n  edinQr.directAccess = true;\r\n  edinQr.mobileAppName = \"edinid\";\r\n  edinQr.needQRCode = true;\r\n\r\n  const edin = new KSPSettings();\r\n  edin.id = \"EDIN\";\r\n  edin.name = \"EDIN ID - хмарний підпис\";\r\n  edin.ksp = EndUserKSP.PB;\r\n  edin.address = \"https://id.edin.ua/api/ess/v1/\";\r\n  edin.port = \"\";\r\n  edin.clientIdPrefix = \"\";\r\n  edin.directAccess = true;\r\n  edin.clientIdType = EndUserKSPClientIdType.Name;\r\n  edin.needQRCode = false;\r\n\r\n  const ukrsibbank = new KSPSettings();\r\n  ukrsibbank.id = \"UKRSIBBANK\";\r\n  ukrsibbank.name = \"УКРСИББАНК - хмарний підпис\";\r\n  ukrsibbank.ksp = EndUserKSP.PB;\r\n  ukrsibbank.address = \"https://business.ukrsibbank.com/morpheus/smart-sign/\";\r\n  ukrsibbank.confirmationURL = \"https://business.ukrsibbank.com/smartsign\";\r\n  ukrsibbank.port = \"\";\r\n  ukrsibbank.clientIdPrefix = \"USB_\";\r\n  ukrsibbank.directAccess = true;\r\n  ukrsibbank.mobileAppName = \"UKRSIB business\";\r\n  ukrsibbank.needQRCode = true;\r\n\r\n  const ksps = [\r\n    depositsign,\r\n    diia,\r\n    smartId,\r\n    vchasno,\r\n    vchasnoQR,\r\n    cloudKey,\r\n    esign,\r\n    smartSignTax,\r\n    pumb,\r\n    ugb,\r\n    alliance,\r\n    amokey,\r\n    tascombank,\r\n    edinQr,\r\n    edin,\r\n    ukrsibbank\r\n  ];\r\n\r\n  if (allowTest) {\r\n    ksps.push(vtoken);\r\n  }\r\n\r\n  return ksps;\r\n}\r\n\r\n/**\r\n * Ответ на запрос получения списка ключей пользователя в облачного провайдера\r\n */\r\nexport class KSPKeyMediasResponse {\r\n  /**\r\n   * Ответ на запрос получения списка ключей пользователя в облачного провайдера\r\n   * @param {string} token Токен авторизации\r\n   * @param {boolean} isTwoFactor Требуется ли второй фактор для подписания\r\n   * @param {KSPKeyMedia[]} keys Спикок ключей, доступных пользователю\r\n   */\r\n  constructor(token, isTwoFactor, keys) {\r\n    this.token = token;\r\n    this.isTwoFactor = isTwoFactor;\r\n    this.keys = keys;\r\n  }\r\n}\r\n\r\n/**\r\n * Информация про ключ пользователя облачного провайдера\r\n */\r\nexport class KSPKeyMedia {\r\n\r\n  /**\r\n   * Информация про ключ пользователя облачного провайдера\r\n   * @param {string} keyId Идентификатор ключа\r\n   * @param {string} visibleName Отображаемое имя ключа\r\n   * @param {string} subject Владелец ключа\r\n   * @param {string} issuer ЦСК, который выдал ключ\r\n   * @param {boolean} isStamp Является ли ключ цифровой печатью\r\n   */\r\n  constructor(keyId, visibleName, subject, issuer, isStamp) {\r\n    this.keyId = keyId;\r\n    this.visibleName = visibleName;\r\n    this.subject = subject;\r\n    this.issuer = issuer;\r\n    this.isStamp = isStamp;\r\n  }\r\n}\r\n\r\n/**\r\n * Данные для авторизации пользователя облачного провайдера\r\n */\r\nexport class KSPUserAuthData {\r\n  /**\r\n   * Данные для авторизации пользователя облачного провайдера\r\n   * @param {string} userName Имя пользователя\r\n   * @param {string} password Пароль от аккаунта\r\n   */\r\n  constructor(userName, password) {\r\n    this.userName = userName;\r\n    this.password = password;\r\n  }\r\n}\r\n\r\n/**\r\n * Данные для авторизации ключа облачного провайдера\r\n */\r\nexport class KSPPrivateKeyAuthData {\r\n  /**\r\n   *\r\n   * @param {string} pin Пароль от ключа\r\n   * @param {string} token Токен авторизации аккаунта\r\n   * @param {string} twoFactorCode Код двухфакторной авторизации\r\n   */\r\n  constructor(pin, token, twoFactorCode) {\r\n    this.pin = pin;\r\n    this.token = token;\r\n    this.twoFactorCode = twoFactorCode;\r\n  }\r\n}\r\n\r\nexport class ProtectTaxReportParams {\r\n  /**\r\n   * Protect tax reports\r\n   * @param {PrivateKeyInfo} accountantPrivateKeyContext The accountant private key context using for sign report. Optional parameter.\r\n   * @param {PrivateKeyInfo | Array<PrivateKeyInfo>} directorPrivateKeyContext The director private key context (or array of 2 private key contexts if key for sign and envelop stored separately) using for sign and envelop(if no stamp) report. Optional parameter.\r\n   * @param {PrivateKeyInfo | Array<PrivateKeyInfo>} stampPrivateKeyContext The stamp private key context (or array of 2 private key contexts if key for sign and envelop stored separately) using for sign and envelop report. Optional parameter.\r\n   * @param {string} senderEMail The sender EMail.\r\n   * @param {Uint8Array} recipientCertificate The recipient certificate.\r\n   * @param {Array<EndUserTaxReport>} reports The reports to protect.\r\n   * @param {boolean} returnIntermediateSign The boolean value that specifies whether to return signed report (intermediate result of report protection before evenloping).\r\n   */\r\n  constructor(accountantPrivateKeyContext, directorPrivateKeyContext, stampPrivateKeyContext, senderEMail, recipientCertificate, reports, returnIntermediateSign) {\r\n    this.accountantPrivateKeyContext = accountantPrivateKeyContext;\r\n    this.directorPrivateKeyContext = directorPrivateKeyContext;\r\n    this.stampPrivateKeyContext = stampPrivateKeyContext;\r\n    this.senderEMail = senderEMail;\r\n    this.recipientCertificate = recipientCertificate;\r\n    this.reports = reports;\r\n    this.returnIntermediateSign = returnIntermediateSign;\r\n  }\r\n}\r\n","import { EndUserConstants, EndUserError } from \"../euscp/euscp\";\r\nimport { arrayToBase64, base64ToArray } from \"./Utils\";\r\n\r\nexport default class UmCAService {\r\n  constructor(port) {\r\n    if (!port) {\r\n      port = \"25989\";\r\n    }\r\n    if (typeof port !== \"string\") {\r\n      port = String(port);\r\n    }\r\n    this.baseUrl = `https://localhost:${port.trim()}/`;\r\n  }\r\n\r\n  async tryConnect() {\r\n    try {\r\n      const responce = await fetch(this.baseUrl + \"about\");\r\n      return responce.ok && typeof (await responce.json()).AppID === \"string\";\r\n    } catch (error) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  async getKeys() {\r\n    const responce = await fetch(this.baseUrl + \"keystores?ReadCertificates=true&KeyParams=true\");\r\n\r\n    if (!responce.ok) {\r\n      const error = await responce.json();\r\n      throw {\r\n        code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,\r\n        message: error.Message\r\n      };\r\n    }\r\n    const keys = await responce.json();\r\n    return keys.map(key => {\r\n      let description = key.Description;\r\n      const ki = key.Description.indexOf(\"KeyStores\");\r\n      if (ki > 0) {\r\n        description = description.substring(ki);\r\n      }\r\n\r\n      return {\r\n        alias: key.Certs[0].CertificateSerialNumber,\r\n        visibleName: description,\r\n        certificates: key.Certs.map(c => c.Base64),\r\n        password: null\r\n      };\r\n    });\r\n  }\r\n\r\n  async signData(key, toSign, signType, asByteArray) {\r\n    let sigType;\r\n\r\n    if (signType.type === EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES) {\r\n      sigType = \"pdf-attached\";\r\n    } else {\r\n      if (signType.signLevel >= EndUserConstants.EU_SIGN_TYPE_CADES_C) {\r\n        sigType = \"cades-x-ts-signtime-ocsp-stdua\";\r\n      } else {\r\n        sigType = \"cms-ts-signtime\";\r\n      }\r\n      if (signType.subType === EndUserConstants.EU_CADES_TYPE_ENVELOPED) {\r\n        sigType += \"-attached\";\r\n      }\r\n    }\r\n\r\n    let returnArray = true;\r\n    if (!Array.isArray(toSign)) {\r\n      returnArray = false;\r\n      toSign = [toSign];\r\n    } else {\r\n      toSign = [...toSign];\r\n    }\r\n\r\n    for (let i = 0; i < toSign.length; i++) {\r\n      const d = toSign[i];\r\n      if (d.val) {\r\n        toSign[i] = { name: d.name, val: formatData(d.val, true) };\r\n      } else {\r\n        toSign[i] = formatData(d, true);\r\n      }\r\n    }\r\n\r\n    const results = [];\r\n    for (const data of toSign) {\r\n      const request = new Request(this.baseUrl + \"sign\", {\r\n        method: \"POST\",\r\n        headers: {\r\n          \"Content-Type\": \"application/json\",\r\n        },\r\n        body: JSON.stringify({\r\n          Data: data.val ? data.val : data,\r\n          Certificate: key.certificates[0],\r\n          Pin: key.password,\r\n          SigType: sigType,\r\n          AsBlob: false,\r\n          AsResource: false,\r\n          DataAsLink: false\r\n        }),\r\n      });\r\n\r\n      const responce = await fetch(request);\r\n      if (!responce.ok) {\r\n        const error = await responce.json();\r\n        throw {\r\n          code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,\r\n          message: error.Message\r\n        };\r\n      }\r\n\r\n      const sign = await responce.json();\r\n      results.push(data.name ? { name: data.name, val: sign } : sign);\r\n    }\r\n    for (let i = 0; i < results.length; i++) {\r\n      const r = results[i];\r\n      if (r.val) {\r\n        results[i] = { name: r.name, val: formatData(r.val, !asByteArray) };\r\n      } else {\r\n        results[i] = formatData(r, !asByteArray);\r\n      }\r\n    }\r\n    return returnArray ? results : results[0];\r\n  }\r\n}\r\n\r\nconst formatData = (data, toBase64) => {\r\n  return toBase64 && typeof data != \"string\" ? arrayToBase64(data)\r\n    : !toBase64 && typeof data == \"string\" ? base64ToArray(data)\r\n      : data;\r\n};\r\n","{\r\n  \"uk\": {\r\n    \"LibraryNotSupported\": \"Бібліотека web-підпису не підтримується в вашому браузері або ОС.\",\r\n    \"LibraryNeedsInstall\": \"Бібліотека web-підпису не запущена або потребує встановлення. Будь ласка, запустіть або встановіть бібліотеку за посиланням та оновіть сторінку.\",\r\n    \"LibraryNeedsUpdate\": \"Бібліотека web-підпису потребує оновлення. Будь ласка, встановіть оновлення за посиланням  та оновіть сторінку.\",\r\n    \"LibraryNeedsExtensionInstall\": \"Бібліотека web-підпису потребує встановлення веб-розширення. Будь ласка, встановіть веб-розширення за посиланням та оновіть сторінку.\",\r\n    \"LibraryUserManual\": \"Настанова користувача\",\r\n    \"WebExtensionInstall\": \"Інсталяційний пакет бібліотеки підпису (web-розширення)\",\r\n    \"LibraryInstall\": \"Інсталяційний пакет web-бібліотеки підпису\",\r\n    \"LibraryUpdate\": \"Оновлення web-бібліотеки підпису\",\r\n    \"PrivateKeyNotReaded\": \"Особистий ключ не считано.\",\r\n    \"DiiaError\": \"Дія.Підпис – сервіс для накладання кваліфікованого електронного підпису за допомогою смартфону і додатку «Дія».<br/>Для можливості використання «Дія.Підпис» у даній інсталяції системи вам необхідно звернутися до свого постачальника.<br/>У зверненні вкажіть наступну інформацію:<br/><ul><li>Посилання: \",\r\n    \"DiiaHealthCheckError\": \"Сервіс Дія.Підпис недоступний.\",\r\n    \"XadesError\": \"Перевірка кваліфікованого електронного підпису, який сформовано у вигляді окремого файлу з розширенням .xml виконується за умов наявності файлу з даними, на які накладено кваліфікований електронний підпис. Ім`я такого файлу зазвичай ідентичне з іменем файлу файлу з розширенням .xml. Оберіть цей файл разом з файлом кваліфікованого електронного підпису.\",\r\n    \"KSPSignFormatError\": \"Хмарні сервіси підтримують тільки підписи типу CAdES або PAdES\",\r\n    \"KSPSignPAdESError\": \"Створення підписів в форматі PAdES підтримується тільки для Серверу підпису\",\r\n    \"BadSignatureType\": \"Невірний тип підпису\",\r\n    \"DownloadingRootCertificatesError\": \"Помилка при завантаженні сертифікатів ЦСК або списку ЦСК. Перевірте наявність налаштувань ЦСК в функції \\\"Інструменти і налаштування → Електронний підпис → Налаштування ЦСК\\\" та виконання задачі планувальника UPDATECASCERTIFICATES.\",\r\n    \"BadParameter\": \"Невірний параметр\",\r\n    \"PasswordNotSet\": \"Не вказано пароль до особистого ключа\",\r\n    \"ReadPrivateKeyCAAutoDetectError\": \"Надавач не підтримує автоматичний пошук сертифіката за ос. ключем. Необхідно обрати надавача самостійно.\",\r\n    \"ReadPrivateKeyInvalidCAError\": \"Ваш сертифікат виданий іншим надавачем та не обслуговується в {0}. Необхідно обрати надавача Вашого сертифіката.\",\r\n    \"ReadPrivateKeyNeedCertificateError\": \"Надавач {0} не підтримує автоматичний пошук сертифіката за ос. ключем. Необхідно обрати сертифікат(и) ос. ключа.\",\r\n    \"UmCAServiceConnectError\": \"Не вдалося підключитися до UmCAService. Перевірте чи сервіс запущений. В разі використання нестандартного порту, вкажіть його в глобальному параметрі GlSign.\",\r\n    \"UmCAServiceWrongPassword\": \"Невірний пароль\"\r\n  },\r\n  \"ru\": {\r\n    \"LibraryNotSupported\": \"Библиотека web-подписи не поддерживается в вашем браузере или ОС.\",\r\n    \"LibraryNeedsInstall\": \"Библиотека web-подписи не установлена или не запущена. Для продолжения запустите или установите библиотеку по ссылке и обновите страницу.\",\r\n    \"LibraryNeedsUpdate\": \"Библиотеке web-подписи требуется обновление. Для продолжения установите обновление по ссылке и обновите страницу.\",\r\n    \"LibraryNeedsExtensionInstall\": \"Библиотеке web-подписи требуется устрановка веб-расширения. Для продолжения утсановите веб-расширение по ссылке и обновите страницу.\",\r\n    \"LibraryUserManual\": \"Руководство пользователя\",\r\n    \"WebExtensionInstall\": \"Установочный пакет библиотеки подписи (web-розширення)\",\r\n    \"LibraryInstall\": \"Установочный пакет web-библиотеки подписи\",\r\n    \"LibraryUpdate\": \"Обновление web-библиотеки подписи\",\r\n    \"PrivateKeyNotReaded\": \"Приватный ключ не считан.\",\r\n    \"DiiaError\": \"Дія.Підпис – сервис для наложения квалифицированной электронной подписи с помощью смартфона и приложения «Дія».<br/>Для возможности использования «Дія.Підпис» в данной инсталляции системы вам необходимо обратиться к своему поставщику.<br/>В обращении укажите следующую информацию:<br/><ul><li>Ссылка:  \",\r\n    \"DiiaHealthCheckError\": \"Сервис Дія.Підпис недоступен.\",\r\n    \"XadesError\": \"Проверка квалифицированной электронной подписи, которая сформирована в виде отдельного файла с расширением .xml, выполняется при наличии файла с данными, на которые наложена квалифицированная электронная подпись. Имя такого файла обычно идентично с именем файла с расширением .xml. Выберите этот файл вместе с квалифицированной электронной подписью.\",\r\n    \"KSPSignFormatError\": \"Облачные сервисы поддерживают только подписи типа CAdES или PAdES\",\r\n    \"KSPSignPAdESError\": \"Создание подписей в формате PAdES поддерживается только для Сервера подписи\",\r\n    \"BadSignatureType\": \"Неверный тип подписи\",\r\n    \"DownloadingRootCertificatesError\": \"Ошибка при загрузке корневых сертификатов ЦСК, либо списка ЦСК. Проверьте наличие настроек ЦСК в функции \\\"Инструменты и настройки → Электронная подпись → Настройки ЦСК\\\" и выполнение задачи планировщика UPDATECASCERTIFICATES.\",\r\n    \"BadParameter\": \"Неверный параметр\",\r\n    \"PasswordNotSet\": \"Не указан пароль к приватному ключу\",\r\n    \"ReadPrivateKeyCAAutoDetectError\": \"Центр сертификации не поддерживает автоматический поиск сертификата по приватному ключу. Необходимо выбрать центр сертификации самостоятельно.\",\r\n    \"ReadPrivateKeyInvalidCAError\": \"Ваш сертификат выдан в другом центре сертификации и не обслуживается в {0}. Необходимо выбрать центр сертификации Вашего сертификата.\",\r\n    \"ReadPrivateKeyNeedCertificateError\": \"Центр сертификации {0} не поддерживает автоматический поиск сертификата по приватному ключу. Нобходимо указать сертификат(ы) приватного ключа.\",\r\n    \"UmCAServiceConnectError\": \"Не удалось подключиться к UmCAService. Проверьте, запущен ли сервис. В случае использования нестандартного порта, укажите его в глобальном параметре GlSign.\",\r\n    \"UmCAServiceWrongPassword\": \"Неправильный пароль\"\r\n  },\r\n  \"en\": {\r\n    \"LibraryNotSupported\": \"Web-signature library is not supported in your browser or OS.\",\r\n    \"LibraryNeedsInstall\": \"Web-signature library not installed or not launched. Please, launch or install library by link and reload page.\",\r\n    \"LibraryNeedsUpdate\": \"Web-signature library requires update. Please, install update by link and reload page.\",\r\n    \"LibraryNeedsExtensionInstall\": \"Web-signature library requires installation of web-extension. Please, install web-extension by link and reload page.\",\r\n    \"LibraryUserManual\": \"User manual\",\r\n    \"WebExtensionInstall\": \"Signature library installation package (web-extension)\",\r\n    \"LibraryInstall\": \"Web-signature library installation package\",\r\n    \"LibraryUpdate\": \"Web-signature library update package\",\r\n    \"PrivateKeyNotReaded\": \"Private key not readed.\",\r\n    \"DiiaError\": \"Diia.Sign - a service for applying a qualified digital signature using a smartphone and the application \\\"Diia\\\". <br/> To be able to use \\\"Diia.Sign\\\" in this system, you need to contact your provider. <br/> Please include the following information in your request: <br/> <ul> <li> Link: \",\r\n    \"DiiaHealthCheckError\": \"Diia.Sign service is unavailable.\",\r\n    \"XadesError\": \"The verification of a qualified digital signature, which is formed as a separate file with the extension .xml, is performed under the conditions of the file with the data on which the qualified digital signature is affixed. The name of such a file is usually identical to the filename of the .xml file. Select this file along with the qualified digital signature file.\",\r\n    \"KSPSignFormatError\": \"Cloud services only supports CAdES or PAdES signatures\",\r\n    \"KSPSignPAdESError\": \"PAdES signatures are supported only by SignServer\",\r\n    \"BadSignatureType\": \"Invalid signature type\",\r\n    \"DownloadingRootCertificatesError\": \"Error occured while downloading root CA certificates or CA list. Check for CA setting in function \\\"Tools and settings → Electronic signature → CA settings\\\" and execution of task scheduler UPDATECASCERTIFICATES.\",\r\n    \"BadParameter\": \"Invalid parameter\",\r\n    \"PasswordNotSet\": \"Private key password not specified.\",\r\n    \"ReadPrivateKeyCAAutoDetectError\": \"Certification authority does not support automatic search for a certificate by private key. You need to choose a certification authority yourself.\",\r\n    \"ReadPrivateKeyInvalidCAError\": \"Your certificate was issued by a different CA and is not being serviced in {0}. You need to select a certification authority for your certificate.\",\r\n    \"ReadPrivateKeyNeedCertificateError\": \"Certification authority {0} does not support automatic search for a certificate by private key. You must specify the certificates of the private key.\",\r\n    \"UmCAServiceConnectError\": \"Unable to connect to UmCAService. Check if the service is running. If using a non-standard port, specify it in the global parameter GlSign.\",\r\n    \"UmCAServiceWrongPassword\": \"Wrong password\"\r\n  }\r\n}","import { EndUser, EndUserConstants, EndUserProxySettings, EndUserError, KSPSettings, EndUserCertificate, EndUserKeyMedia, EndUserSignContainerInfo, EndUserCertificateInfoEx, EndUserTaxReport } from \"../euscp/euscp\";\r\nimport { DigitalSignatureKeyType, PrivateKeyInfo, FilePrivateKeyInfo, HardwarePrivateKeyInfo, KspPrivateKeyInfo, EndUserKSP, KSPKeyMediasResponse, KSPUserAuthData, KSPPrivateKeyAuthData, DigitalSignatureKeyTypeWindowsCertStore, ProtectTaxReportParams } from \"./Models\";\r\nimport { arrayToBase64, base64ToArray, convertToBase64, dateWithoutTimezone, downloadAndSignFiles, downloadData, format, isDefaultValue, readFile } from \"./Utils\";\r\nimport UmCAService from \"./umcaservice\";\r\nimport Resourses from \"./Resourses.json\";\r\nimport GlSign from \"./GlSign\";\r\n\r\nconst PRIVATE_KEY_TYPE = \"PKType\";\r\nconst PRIVATE_KEY_INFO = \"PKInfo\";\r\n\r\nexport default class DigitalSignature {\r\n  /**\r\n   * @param {DigitalSignatureSettings} settingsProvider\r\n   */\r\n  constructor(settingsProvider) {\r\n    this._settingsProvider = settingsProvider;\r\n\r\n    /** @type {GlSign} */\r\n    this._glSign = null;\r\n\r\n    /** @type {DigitalSignatureSettings} */\r\n    this._settings = null;\r\n\r\n    /** @type {EndUser} */\r\n    this._euSignFile;\r\n    /** @type {EndUser} */\r\n    this._euSignKeyMedia;\r\n\r\n    /** @type {EndUser} */\r\n    this._euSign = null;\r\n\r\n    /** @type {CASettings} */\r\n    this._selectedCA = null;\r\n\r\n    /** @type {KSPSettings} */\r\n    this._KSPs = [];\r\n\r\n    /** @type {PrivateKeyInfo} */\r\n    this._readedKey = null;\r\n  }\r\n\r\n  /**\r\n   * Считанный приватный ключ\r\n   * @type {PrivateKeyInfo}\r\n   */\r\n  get readedKey() {\r\n    return this._readedKey;\r\n  }\r\n\r\n  get _selectedIssuerCN() {\r\n    return this._selectedCA ? this._selectedCA.issuerCNs[0] : null;\r\n  }\r\n\r\n  getLibraryType() {\r\n    return this.keyType;\r\n  }\r\n\r\n  /**\r\n   * Сменить тип библиотеки\r\n   * @param {number} type\r\n   */\r\n  async setLibraryType(type) {\r\n    switch (type) {\r\n      case DigitalSignatureKeyType.Token:\r\n        if (this._euSign === this._euSignKeyMedia && await this._euSign.IsInitialized()) {\r\n          return;\r\n        }\r\n        this._euSign = this._euSignKeyMedia;\r\n        break;\r\n      case DigitalSignatureKeyType.UmCAService:\r\n        this._euSign = this._euSignFile;\r\n        break;\r\n      default:\r\n        if (this._euSign === this._euSignFile) {\r\n          return;\r\n        }\r\n        this._euSign = this._euSignFile;\r\n        break;\r\n    }\r\n\r\n    if (type != null && type != undefined) {\r\n      this._preferredKeyType = type;\r\n    }\r\n    this.keyType = type;\r\n    await this.initialise();\r\n  }\r\n\r\n  /**\r\n   * Инициализировать библиотеку\r\n   * @returns {Promise<number>} Текущий тип библиотеки\r\n   */\r\n  async initialise() {\r\n    if (!this._glSign) {\r\n      this._glSign = await Promise.resolve(this._settingsProvider.getGlSign());\r\n    }\r\n\r\n    if (!this._settings) {\r\n      this._settings = await Promise.resolve(this._settingsProvider.getSettings(this._glSign.AllowTestKeys));\r\n    }\r\n\r\n    if (!this._euSignFile) {\r\n      this._euSignFile = new EndUser(this._settings.libraryUrl, EndUserConstants.EndUserLibraryType.JS, this._glSign.WebClientFileSize);\r\n    }\r\n\r\n    if (!this._euSignKeyMedia) {\r\n      this._euSignKeyMedia = new EndUser(this._settings.libraryUrl, EndUserConstants.EndUserLibraryType.SW, this._glSign.WebClientFileSize);\r\n    }\r\n\r\n    if (!this._euSign) {\r\n      this._euSign = this._glSign.PreferHarware ? this._euSignKeyMedia : this._euSignFile;\r\n      this.keyType = this._glSign.PreferHarware ? DigitalSignatureKeyType.Token : this._preferredKeyType;\r\n    }\r\n\r\n    if (this.keyType === DigitalSignatureKeyType.UmCAService) {\r\n      if (!this.UmCAService) {\r\n        this.UmCAService = new UmCAService(this.glSign.UmcaservicePort);\r\n      }\r\n      if (!await this.UmCAService.tryConnect()) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_LIBRARY_LOAD,\r\n          message: this._resourses.UmCAServiceConnectError\r\n        };\r\n      }\r\n    }\r\n\r\n    const euSign = this._euSign;\r\n\r\n    if (euSign === this._euSignKeyMedia) {\r\n      const library = await euSign.GetLibraryInfo();\r\n\r\n      if (!library.supported) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_LIBRARY_LOAD,\r\n          message: this._resourses.LibraryNotSupported\r\n        };\r\n      }\r\n\r\n      if (!library.loaded) {\r\n        // Бібліотека встановлена, але потребує оновлення\r\n        if (library.isNativeLibraryNeedUpdate) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_LIBRARY_LOAD,\r\n            message: this._resourses.LibraryNeedsUpdate,\r\n            reload: true,\r\n            urls: [\r\n              { href: library.nativeLibraryUpdateURL, caption: this._resourses.LibraryUpdate },\r\n              { href: library.helpURL, caption: this._resourses.LibraryUserManual }\r\n            ]\r\n          };\r\n        }\r\n\r\n        // Якщо браузер підтримує веб-розширення рекомендується\r\n        // додатково до нативних модулів встановлювати веб-розширення\r\n        // Увага! Встановлення веб-розширень ОБОВ'ЯЗКОВЕ для ОС Linux та ОС Windows Server\r\n        if (library.isWebExtensionSupported &&\r\n          !library.isWebExtensionInstalled) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_LIBRARY_LOAD,\r\n            message: this._resourses.LibraryNeedsExtensionInstall,\r\n            reload: true,\r\n            urls: [\r\n              { href: library.webExtensionInstallURL, caption: this._resourses.WebExtensionInstall },\r\n              { href: library.helpURL, caption: this._resourses.LibraryUserManual }\r\n            ]\r\n          };\r\n        }\r\n\r\n        // Бібліотека (нативні модулі) не встановлені\r\n        throw {\r\n          code: EndUserError.EU_ERROR_LIBRARY_LOAD,\r\n          message: this._resourses.LibraryNeedsInstall,\r\n          reload: true,\r\n          urls: [\r\n            { href: library.nativeLibraryInstallURL, caption: this._resourses.LibraryInstall },\r\n            { href: library.helpURL, caption: this._resourses.LibraryUserManual }\r\n          ]\r\n        };\r\n      }\r\n    }\r\n\r\n    const isInitialised = await euSign.IsInitialized();\r\n    if (isInitialised) {\r\n      return this.getLibraryType();\r\n    }\r\n\r\n    if (!this._euSettings) {\r\n      let certificates;\r\n      try {\r\n        certificates = await this._settings.certificatesProvider.loadCertificates();\r\n      } catch (error) {\r\n        if (error && error.code === EndUserError.EU_ERROR_DOWNLOAD_FILE) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_DOWNLOAD_FILE,\r\n            message: this._resourses.DownloadingRootCertificatesError\r\n          };\r\n        } else {\r\n          throw error;\r\n        }\r\n      }\r\n\r\n      this._euSettings = {\r\n        language: this._language,\r\n        encoding: \"UTF-16LE\",\r\n        httpProxyServiceURL: this._settings.httpProxyServiceURL,\r\n        directAccess: this._glSign.DirectAccess,\r\n        CAs: certificates.CAs,\r\n        CACertificates: certificates.CACertificates,\r\n        KSPs: this.KSPs,\r\n        allowedKeyMediaTypes: [\r\n          \"е.ключ BIFIT iToken\",\r\n          \"криптомод. ІІТ Гряда-61\",\r\n          \"е.ключ ІІТ Алмаз-1К\",\r\n          \"е.ключ ІІТ Алмаз-1К (Bluetooth)\",\r\n          \"е.ключ ІІТ Кристал-1\",\r\n          \"криптомод. ІІТ Гряда-301\",\r\n          \"ID-карта громадянина (БЕН)\",\r\n          \"е.ключ ІІТ Алмаз-1К (PKCS#11)\",\r\n          \"е.ключ ІІТ Кристал-1 (PKCS#11)\",\r\n          \"е.ключ чи смарт-карта Avest (PKCS#11)\",\r\n          \"е.ключ Ефіт Key (PKCS#11)\",\r\n          \"е.ключ чи смарт-карта Автор (PKCS#11)\",\r\n          \"е.ключ чи смарт-карта Автор 338 (PKCS#11)\",\r\n          \"смарт-карта Техноконс. TEllipse3 (PKCS#11)\",\r\n          \"смарт-карта Техноконс. TEllipse\",\r\n          \"смарт-карта Техноконс. TEllipse2/3\",\r\n          \"е.ключ SIS DIAMOND\",\r\n          \"е.ключ SafeNet iKey (PKCS#11, RSA)\",\r\n          \"е.ключ Aruba Key (PKCS#11, RSA)\"\r\n        ]\r\n      };\r\n    }\r\n\r\n    await euSign.Initialize(this._euSettings);\r\n    if (euSign === this._euSignKeyMedia && !await this._euSignFile.IsInitialized()) {\r\n      this._euSignFile.Initialize(this._euSettings);\r\n    }\r\n    if (this._glSign.ApplyProxySettings) {\r\n      const { UseProxy, ProxyAddress, ProxyPort, ProxyUser, ProxyPassword } = this._glSign;\r\n      const proxy = new EndUserProxySettings();\r\n      proxy.useProxy = UseProxy;\r\n      proxy.address = ProxyAddress;\r\n      proxy.port = ProxyPort;\r\n      proxy.anonymous = !ProxyUser || !ProxyPassword;\r\n      proxy.user = ProxyUser;\r\n      proxy.password = ProxyPassword;\r\n      proxy.savePassword = true;\r\n      await euSign.SetProxySettings(proxy);\r\n      if (euSign === this._euSignKeyMedia && !await this._euSignFile.IsInitialized()) {\r\n        this._euSignFile.SetProxySettings(proxy);\r\n      }\r\n    }\r\n\r\n    await euSign.SetRuntimeParameter(EndUserConstants.EU_SIGN_TYPE_PARAMETER, EndUserConstants.EndUserSignType.CAdES_X_Long);\r\n    if (euSign === this._euSignKeyMedia && !await this._euSignFile.IsInitialized()) {\r\n      this._euSignFile.SetRuntimeParameter(EndUserConstants.EU_SIGN_TYPE_PARAMETER, EndUserConstants.EndUserSignType.CAdES_X_Long);\r\n    }\r\n\r\n    return this.getLibraryType();\r\n  }\r\n\r\n  /**\r\n   * Значение ПГУ GlSign\r\n   * @type {GlSign}\r\n   */\r\n  get glSign() {\r\n    return this._glSign;\r\n  }\r\n\r\n  async setLanguage(language) {\r\n    await this._euSignFile.SetLanguage(language);\r\n    if (await this._euSignKeyMedia.IsInitialized()) {\r\n      await this._euSignKeyMedia.SetLanguage(language);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Распарсить сертификат\r\n   * @param {Uint8Array|string} cert\r\n   * @returns {Promise<EndUserCertificate>}\r\n   */\r\n  async parseCertificate(cert) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.File);\r\n\r\n    if (typeof cert == \"string\") {\r\n      cert = base64ToArray(cert);\r\n    }\r\n\r\n    const res = new EndUserCertificate();\r\n    res.data = cert;\r\n    res.infoEx = await this._euSign.m_library.m_worker.postMessage(\"ParseCertificateEx\", [cert]);\r\n\r\n    return res;\r\n  }\r\n\r\n  /**\r\n   * Получить список подключённых устройств\r\n   * @returns {Promise<Array<EndUserKeyMedia>>} Список подключённых устройств\r\n   */\r\n  async getKeyMedias() {\r\n    await this.setLibraryType(DigitalSignatureKeyType.Token);\r\n    return this._euSignKeyMedia.GetKeyMedias();\r\n  }\r\n\r\n  /**\r\n   * Считать ключ по параметрам\r\n   * @param {PrivateKeyInfo} keyInfo - Параметры ключа\r\n   */\r\n  async readPrivateKeyByInfo(keyInfo) {\r\n    if (!keyInfo) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadParameter + \" keyInfo\"\r\n      };\r\n    }\r\n\r\n    await this.setLibraryType(keyInfo.keyType);\r\n    switch (keyInfo.keyType) {\r\n      case DigitalSignatureKeyType.File:\r\n        return await this.readFileKey(keyInfo.privateKey, keyInfo.password, keyInfo.certificates);\r\n      case DigitalSignatureKeyType.Token:\r\n        return await this.readHardwareKey(keyInfo.keyMedia, keyInfo.certificates);\r\n      case DigitalSignatureKeyType.KSP:\r\n        return await this.readPrivateKeyKSP(keyInfo.ksp, keyInfo.userId, false, keyInfo.keyId);\r\n      case DigitalSignatureKeyType.UmCAService:\r\n        return await this.readPrivateKeyUmCAService(keyInfo.keyMedia);\r\n      case DigitalSignatureKeyType.WindowsCertStore:\r\n        return await this.readWindowsCertStorePrivateKey();\r\n      default:\r\n        return null;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Считать аппаратный ключ\r\n   * @param {EndUserKeyMedia} keyMedia - Параметры аппаратного ключа\r\n   * @param {Array<Uint8Array>?} certs - Сертификаты ключа (при необходимости)\r\n   */\r\n  async readHardwareKey(keyMedia, certs) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.Token);\r\n\r\n    if (!keyMedia) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadParameter + \" keyMedia\"\r\n      };\r\n    }\r\n    if (!keyMedia.password) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.PasswordNotSet\r\n      };\r\n    }\r\n\r\n    if (Array.isArray(certs) && certs.length > 0) {\r\n      certs = await Promise.all(certs.map(cert =>\r\n        cert instanceof File || cert instanceof Blob? readFile(cert) \r\n        : cert instanceof EndUserCertificate ? cert.data\r\n        : cert));\r\n    } else {\r\n      certs = null;\r\n    }\r\n\r\n    try {\r\n      const ownerInfo = await this._euSign.ReadPrivateKey(keyMedia, certs, this._selectedIssuerCN);\r\n      this._readedKey = new HardwarePrivateKeyInfo(\r\n        DigitalSignatureKeyType.Token,\r\n        ownerInfo,\r\n        await this._euSign.GetOwnCertificates(),\r\n        keyMedia\r\n      );\r\n      this._readedKey._glSign = this._glSign;\r\n      return this._readedKey;\r\n    } catch (error) {\r\n      if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {\r\n        if (!this._selectedIssuerCN) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n            message: this._resourses.ReadPrivateKeyCAAutoDetectError\r\n          };\r\n        } else if (this._selectedIssuerCN) {\r\n          if (!this._selectedCA.cmpAddress) {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyNeedCertificateError, this._selectedIssuerCN)\r\n            };\r\n          } else {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyInvalidCAError, this._selectedIssuerCN)\r\n            };\r\n          }\r\n        }\r\n      }\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Считать файловый ключ\r\n   * @param {Uint8Array|File} privateKey - Файловый ключ\r\n   * @param {string} password - Пароль от ключа\r\n   * @param {Array<Uint8Array|File>?} certs - Сертификаты ключа (при необходимости)\r\n   */\r\n  async readFileKey(privateKey, password, certs) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.File);\r\n\r\n    if (!privateKey) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadParameter + \" keyMedia\"\r\n      };\r\n    }\r\n    if (!password) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.PasswordNotSet\r\n      };\r\n    }\r\n\r\n    if (privateKey instanceof File || privateKey instanceof Blob) {\r\n      privateKey = await readFile(privateKey);\r\n    }\r\n\r\n    if (Array.isArray(certs) && certs.length > 0) {\r\n      certs = await Promise.all(certs.map(cert =>\r\n        cert instanceof File || cert instanceof Blob ? readFile(cert) \r\n        : cert instanceof EndUserCertificate ? cert.data\r\n        : cert));\r\n    } else {\r\n      certs = null;\r\n    }\r\n\r\n    try {\r\n      const ownerInfo = await this._euSign.ReadPrivateKeyBinary(privateKey, password, certs, this._selectedIssuerCN);\r\n      this._readedKey = new FilePrivateKeyInfo(\r\n        DigitalSignatureKeyType.File,\r\n        ownerInfo,\r\n        await this._euSign.GetOwnCertificates(),\r\n        privateKey,\r\n        password\r\n      );\r\n      this._readedKey._glSign = this._glSign;\r\n      return this._readedKey;\r\n    } catch (error) {\r\n      if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {\r\n        if (!this._selectedIssuerCN) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n            message: this._resourses.ReadPrivateKeyCAAutoDetectError\r\n          };\r\n        } else if (this._selectedIssuerCN) {\r\n          if (!this._selectedCA.cmpAddress) {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyNeedCertificateError, this._selectedIssuerCN)\r\n            };\r\n          } else {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyInvalidCAError, this._selectedIssuerCN)\r\n            };\r\n          }\r\n        }\r\n      }\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Получить список ключей из jks контейнера\r\n   * @param {Uint8Array|File} jks - JKS контейнер\r\n   * @returns {Promise<EndUserJKSPrivateKeyInfo[]>}\r\n   */\r\n  async getJKSPrivateKeys(jks) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.File);\r\n\r\n    if (jks instanceof File || jks instanceof Blob) {\r\n      jks = await readFile(jks);\r\n    }\r\n    return await this._euSign.GetJKSPrivateKeys(jks);\r\n  }\r\n\r\n  /**\r\n   * Проверить, является ли файл JKS контейнером\r\n   * @param {File} file файл с ключом\r\n   */\r\n  isJKSContainer(file) {\r\n    return file.name.endsWith(\".jks\");\r\n  }\r\n\r\n  /**\r\n     * Считать ключ с DepositSign\r\n     * @param {string} userId - Идентификатор пользователя\r\n     * @param {boolean?} getCerts - Получать информацию о ключе пользователя. Это приведёт к дополнительному запросу на подписание\r\n     */\r\n  async readPrivateKeyDepositsign(userId, getCerts = false) {\r\n    const deposit = this.KSPs.find(ksp => ksp.id === \"DEPOSITSIGN\");\r\n    return await this.readPrivateKeyKSP(deposit, userId, getCerts);\r\n  }\r\n\r\n  /**\r\n   * Считать ключ с Дiя\r\n   * @param {boolean?} getCerts - Получать информацию о ключе пользователя. Это приведёт к дополнительному запросу на подписание\r\n   */\r\n  async readPrivateKeyDiia(getCerts = false) {\r\n    const diia = this.KSPs.find(ksp => ksp.id === \"DIIA-SIGN\");\r\n    return await this.readPrivateKeyKSP(diia, null, getCerts);\r\n  }\r\n\r\n  /**\r\n   * Считать ключ с облачного провайдера\r\n   * @param {KSPSettings} ksp - Идентификатор облачного провайдера\r\n   * @param {string?} userId - Идентификатор пользователя\r\n   * @param {boolean?} getCerts - Получать информацию о ключе пользователя. Это приведёт к дополнительному запросу на подписание\r\n   * @param {string?} keyId Идентификатор ключа\r\n   * @param {KSPPrivateKeyAuthData?} authData Параметры авторизации ключа\r\n   * @param {Array<Uint8Array|File>?} certs - Сертификаты ключа (при необходимости)\r\n   */\r\n  async readPrivateKeyKSP(ksp, userId, getCerts = false, keyId, authData, certs) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.KSP);\r\n\r\n    if (ksp.ksp === EndUserConstants.EU_KSP_DIIA) {\r\n      await this._diiaCheckAccess(ksp);\r\n    }\r\n\r\n    if (Array.isArray(certs) && certs.length > 0) {\r\n      certs = await Promise.all(certs.map(cert =>\r\n        cert instanceof File || cert instanceof Blob? readFile(cert) \r\n        : cert instanceof EndUserCertificate ? cert.data\r\n        : cert));\r\n    } else {\r\n      certs = null;\r\n    }\r\n\r\n    const ownerInfo = await this._euSign.ReadPrivateKeyKSP(userId, ksp.name, getCerts, keyId, null, authData, certs);\r\n    if ((getCerts || certs) && !ownerInfo) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_KEY_MEDIAS_READ_FAILED,\r\n        message: this._resourses.PrivateKeyNotReaded\r\n      };\r\n    }\r\n    this._readedKey = new KspPrivateKeyInfo(\r\n      DigitalSignatureKeyType.KSP,\r\n      ownerInfo,\r\n      (getCerts || certs) ? await this._euSign.GetOwnCertificates() : [],\r\n      userId,\r\n      ksp,\r\n      keyId\r\n    );\r\n    this._readedKey._glSign = this._glSign;\r\n    return this._readedKey;\r\n  }\r\n\r\n  /**\r\n   * Получить список ключей у пользователя облачного провайдера\r\n   * @param {KSPSettings} kspSettings Облачный провайдер\r\n   * @param {KSPUserAuthData} authData\r\n   * @returns {KSPKeyMediasResponse}\r\n   */\r\n  async getKeyMediasKSP(kspSettings, authData) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.KSP);\r\n\r\n    return this._euSign.m_library.m_worker.postMessage(\"GetKeyMediasKSP\", [kspSettings, authData]);\r\n  }\r\n\r\n  /**\r\n   * Установить код вухфакторной авторизации для подписания через провайдер облачных ключей\r\n   * @param {string} code Код двухфакторной авторизации\r\n   */\r\n  async setTwoFactorCodeKSP(code) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.KSP);\r\n\r\n    return this._euSign.m_library.m_worker.postMessage(\"SetTwoFactorCodeKSP\", [code]);\r\n  }\r\n\r\n  /**\r\n   * Коллбэк для идентификации\r\n   * @callback authenticationCallback\r\n   * @param {EndUserConfirmKSPOperationEvent} data - Данные для идентификации (Qr-код, ссылка и тд.)\r\n   */\r\n  /**\r\n   * Добавить коллбэк идентификации для облачных провайдеров\r\n   * @param {authenticationCallback} event - Коллбэк. Вызывается при запросе на подписание.\r\n   */\r\n  async addConfirmKSPOperationEventListener(event) {\r\n    await this._euSignFile.AddEventListener(EndUserConstants.EndUserEventType.ConfirmKSPOperation, function (data) {\r\n      data.qrCode = \"data:image/bmp;base64,\" + data.qrCode;\r\n      event(data);\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Считать ключ с помощью UmCAService\r\n   * @param {EndUserKeyMedia} keyMedia - Параметры ключа\r\n   * @returns {Promise<PrivateKeyInfo>}\r\n   */\r\n  async readPrivateKeyUmCAService(keyMedia) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.UmCAService);\r\n\r\n    const certs = [];\r\n    for (const c of keyMedia.certificates) {\r\n      const cert = await this.parseCertificate(c);\r\n      certs.push(cert);\r\n    }\r\n\r\n    try {\r\n      const signType = new EndUserSignContainerInfo();\r\n      signType.type = EndUserConstants.EndUserSignContainerType.CAdES;\r\n      signType.subType = EndUserConstants.EndUserCAdESType.Enveloped;\r\n      signType.signLevel = EndUserConstants.EndUserSignType.CAdES_BES;\r\n\r\n      const sign = await this.UmCAService.signData(keyMedia, \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\", signType);\r\n      const info = await this._euSignFile.VerifyDataInternal(sign);\r\n      this._readedKey = new PrivateKeyInfo(DigitalSignatureKeyType.UmCAService, info[0].ownerInfo, certs, keyMedia.visibleName, keyMedia.alias);\r\n      this._readedKey.glSign = this.glSign;\r\n      this._readedKey.keyMedia = keyMedia;\r\n      return this._readedKey;\r\n    } catch (error) {\r\n      if (error.message && error.message == \"KeyStoreException: KSE_INVALID_PASSWORD\") {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_BAD_PRIVATE_KEY,\r\n          message: this._resourses.UmCAServiceWrongPassword\r\n        };\r\n      } else { throw error; }\r\n    }\r\n  }\r\n\r\n  async getKeyMediasUmCAService() {\r\n    await this.setLibraryType(DigitalSignatureKeyType.UmCAService);\r\n    return this.UmCAService.getKeys();\r\n  }\r\n\r\n  /**\r\n   * Считать файловый ключ c хранилища сертификатов Windows помощью расширения для браузера Signer.Digital Digital Signature\r\n   * https://chromewebstore.google.com/detail/signerdigital-digital-sig/glghokcicpikglmflbbelbgeafpijkkf\r\n   * Сделано по заказу от Аваль\r\n   */\r\n  async readWindowsCertStorePrivateKey() {\r\n    await this.setLibraryType(DigitalSignatureKeyType.File);\r\n\r\n    let keyInfo;\r\n\r\n    try {\r\n      // eslint-disable-next-line no-undef\r\n      keyInfo = await SignerDigital.getSelectedCertificate();\r\n    } catch (error) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PRIVATE_KEY,\r\n        message: String(error)\r\n      };\r\n    }\r\n\r\n    keyInfo = JSON.parse(keyInfo);\r\n    const certInfo = await this.parseCertificate(keyInfo.Cert);\r\n\r\n    this._readedKey = new PrivateKeyInfo(DigitalSignatureKeyType.WindowsCertStore, certInfo.infoEx, [certInfo], certInfo.infoEx.subjCN, keyInfo.CertThumbPrint);\r\n    this._readedKey._glSign = this._glSign;\r\n    return this._readedKey;\r\n  }\r\n\r\n  /**\r\n   * Получить список облачных провайдеров\r\n   * @returns {KSPSettings[]} Список поддержирживаемых облачных провайдеров\r\n   */\r\n  get KSPs() {\r\n    return this._glSign.KSPs;\r\n  }\r\n\r\n  /**\r\n   * Проверить, считан ли ключ\r\n   * @returns {Promise<boolean>} считан ли ключ\r\n   */\r\n  async isPrivateKeyReaded() {\r\n    if (!this._readedKey) {\r\n      return false;\r\n    }\r\n    if (this._readedKey.keyType === DigitalSignatureKeyType.WindowsCertStore) {\r\n      return true;\r\n    }\r\n    if (this._readedKey.keyType === DigitalSignatureKeyType.UmCAService) {\r\n      return true;\r\n    }\r\n    try {\r\n      return await this._euSign.IsPrivateKeyReaded();\r\n    } catch {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Очистить считанный ключ\r\n   */\r\n  async resetPrivateKey() {\r\n    await this._euSign.ResetPrivateKey();\r\n    this._readedKey = null;\r\n  }\r\n\r\n  /**\r\n   * Остановить операцио с облачным ключом\r\n   */\r\n  async resetKSPOperation() {\r\n    await this._euSignFile.ResetOperationKSP();\r\n  }\r\n\r\n  /**\r\n   * Получить список центров сертификации\r\n   * @returns {Promise<Array<CASettings>>}\r\n   */\r\n  async getCAs() {\r\n    return await this._euSignFile.GetCAs();\r\n  }\r\n\r\n  /**\r\n   * Установить выбранный центр сертификации. null для автоматического определения\r\n   * @param {CASettings | string | null} CA - Параметры центра сертификации или его имя. null для автоматического определения\r\n   */\r\n  async setCA(CA) {\r\n    if (typeof CA === \"string\") {\r\n      const CAs = await this.getCAs();\r\n      CA = CAs.find(ca => ca.issuerCNs.find(issuerCN => issuerCN === CA));\r\n    }\r\n    this._selectedCA = CA;\r\n  }\r\n\r\n  /**\r\n   * Проверить, нужно ли указывать сертификаты ключа\r\n   */\r\n  needPrivateKeyCertificates() {\r\n    return this._selectedCA && !this._selectedCA.cmpAddress;\r\n  }\r\n\r\n  /**\r\n   * Подписать данные\r\n   * @param {Uint8Array | string | NamedData | Array<Uint8Array | string | NamedData>} data - Данные для подписи. Можно передавать данные в массиве для наложения нескольких подписей за раз\r\n   * @param {EndUserSignContainerInfo?} signType - Тип подписи\r\n   * @param {boolean?} asByteArray - Возвращать подпись в виде массива байтов. По умолчанию подпись возвращается в виде строки в base64\r\n   */\r\n  async signData(data, signType, asByteArray) {\r\n    if (signType === true) {\r\n      // Обратная совместимость. Если передать в параметре значение true, дожна создаться подпись CAdES Enveloped (внутренняя)\r\n      signType = new EndUserSignContainerInfo();\r\n      signType.type = EndUserConstants.EndUserSignContainerType.CAdES;\r\n      signType.subType = EndUserConstants.EndUserCAdESType.Enveloped;\r\n      signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;\r\n    } else if (isDefaultValue(signType)) {\r\n      // По умолчанию создаётся подпись CAdES Detached\r\n      signType = new EndUserSignContainerInfo();\r\n      signType.type = EndUserConstants.EndUserSignContainerType.CAdES;\r\n      signType.subType = EndUserConstants.EndUserCAdESType.Detached;\r\n      signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;\r\n    }\r\n    if (typeof asByteArray !== \"boolean\") {\r\n      asByteArray = false;\r\n    }\r\n\r\n    if (this.readedKey.keyType === DigitalSignatureKeyType.KSP) {\r\n      if (signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_CADES &&\r\n        signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n          message: this._resourses.KSPSignFormatError\r\n        };\r\n      }\r\n\r\n      if (signType.type === EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES) {\r\n        const ksp = typeof this.readedKey.ksp === \"object\" ? this.readedKey.ksp.ksp : this.readedKey.ksp;\r\n        if (ksp != EndUserKSP.GRYADA) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n            message: this._resourses.KSPSignPAdESError\r\n          };\r\n        }\r\n      }\r\n    }\r\n\r\n    if (this.readedKey.keyType === DigitalSignatureKeyType.WindowsCertStore) {\r\n      if (signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_CADES) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n          message: this._resourses.KSPSignFormatError\r\n        };\r\n      }\r\n\r\n      const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(), data, !asByteArray);\r\n      const signedData = await this._signHashWindowsCertificateStore(hash, signType, asByteArray);\r\n\r\n      return this._euSign.m_library.m_worker.postMessage(\"AppendDataToSignedData\", [signedData, data, !asByteArray]);\r\n    }\r\n\r\n    if (this.readedKey.keyType === DigitalSignatureKeyType.UmCAService) {\r\n      if (signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_CADES\r\n        && signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES\r\n      ) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n          message: this._resourses.KSPSignFormatError\r\n        };\r\n      }\r\n      return await this.UmCAService.signData(this._readedKey.keyMedia, data, signType, asByteArray);\r\n    }\r\n\r\n    const signAlgo = this._readedKey.getSignAlgo();\r\n\r\n    if (signType.type === EndUserConstants.EndUserSignContainerType.ASiC) {\r\n      const signLevel = signType.signLevel || signType.asicSignType === EndUserConstants.EndUserASiCSignType.CAdES ? EndUserConstants.EndUserSignType.CAdES_X_Long : EndUserConstants.EndUserXAdESSignLevel.B_LT;\r\n      return await this._euSign.ASiCSignData(signAlgo, signType.subType, signType.asicSignType, signLevel, data, !asByteArray);\r\n    } else if (signType.type === EndUserConstants.EndUserSignContainerType.XAdES) {\r\n      let returnArray = true;\r\n      if (!Array.isArray(data)) {\r\n        data = [data];\r\n        returnArray = false;\r\n      }\r\n      data = data.map((e, i) => !e.name && !e.val ? { name: \"data\" + i, val: e } : e);\r\n      const signLevel = signType.signLevel || EndUserConstants.EndUserXAdESSignLevel.B_LT;\r\n      const signs = [];\r\n      for (let i = 0; i < data.length; i++) {\r\n        const result = await this._euSign.XAdESSignData(signAlgo, signType.subType, signLevel, data[i], !asByteArray);\r\n        signs[i] = result;\r\n      }\r\n      return returnArray ? signs : signs[0];\r\n    } else if (signType.type === EndUserConstants.EndUserSignContainerType.PAdES) {\r\n      const signLevel = signType.signLevel || EndUserConstants.EndUserPAdESSignLevel.B_T;\r\n      return await this._euSign.PDFSignData(signAlgo, data, signLevel, !asByteArray);\r\n    } else if (signType.type === EndUserConstants.EndUserSignContainerType.CAdES) {\r\n      const signLevel = signType.signLevel || EndUserConstants.EndUserSignType.CAdES_X_Long;\r\n\r\n      await this._euSign.SetRuntimeParameter(EndUserConstants.EU_SIGN_TYPE_PARAMETER, signLevel);\r\n\r\n      if (signType.subType === EndUserConstants.EndUserCAdESType.Detached) {\r\n        const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(), data, !asByteArray);\r\n        if (this._readedKey.keyType == DigitalSignatureKeyTypeWindowsCertStore) {\r\n          return this._signHashWindowsCertificateStore(hash, signType, asByteArray);\r\n        }\r\n        return await this._euSign.SignHash(signAlgo, hash, true, !asByteArray);\r\n      } else {\r\n        return await this._euSign.SignDataEx(signAlgo, data, false, true, !asByteArray);\r\n      }\r\n    } else {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadSignatureType\r\n      };\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Подписать файл\r\n   * @param {string | NamedData | Array<string | NamedData>} fileUrl - Ссылка на загрузку файла. Можно передавать несколько ссылок в массиве для наложения нескольких подписей за раз\r\n   * @param {EndUserSignContainerInfo?} signType - Тип подписи\r\n   * @param {boolean?} asByteArray - Возвращать подпись в виде массива байт. По умолчанию подпись возвращается в виде строки в base64\r\n   */\r\n  async signFile(fileUrl, signType, asByteArray) {\r\n    return await downloadAndSignFiles(fileUrl, async (data) => await this.signData(data, signType, asByteArray));\r\n  }\r\n\r\n  /**\r\n   * Подписать хеш подписью CAdES Detached\r\n   * @param {Uint8Array | string | NamedData | Array<Uint8Array | string> | NamedData} hash - Хеш файла. Можно передавать несколько хешей в массиве для наложения нескольких подписей за раз\r\n   * @param {boolean?} asByteArray - Возвращать подпись в виде массива байт. По умолчанию подпись возвращается в виде строки в base64\r\n   */\r\n  async signHash(hash, asByteArray) {\r\n    if (typeof asByteArray !== \"boolean\") {\r\n      asByteArray = false;\r\n    }\r\n\r\n    if (this._readedKey.keyType == DigitalSignatureKeyType.WindowsCertStore) {\r\n      return this._signHashWindowsCertificateStore(hash, false, asByteArray);\r\n    }\r\n    if (this._readedKey.keyType == DigitalSignatureKeyType.UmCAService) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n        message: this._resourses.KSPSignFormatError\r\n      };\r\n    }\r\n\r\n    return await this._euSign.SignHash(this._readedKey.getSignAlgo(), hash, true, !asByteArray);\r\n  }\r\n\r\n  /**\r\n   * Подписать хеш из файла подписью CAdES Detached\r\n   * @param {string | NamedData | Array<string | NamedData>} hashUrl - Ссылка на скачивание хеша. Можно передавать несколько ссылок в массиве для наложения нескольких подписей за раз\r\n   * @param {boolean?} asByteArray - Возвращать подпись в виде массива байт. По умолчанию подпись возвращается в виде строки в base64\r\n   */\r\n  async signFileHash(hashUrl, asByteArray) {\r\n    return await downloadAndSignFiles(hashUrl, async (hash) => await this.signHash(hash, asByteArray));\r\n  }\r\n\r\n  /**\r\n   * Получить данные о типе подписи\r\n   * @param {string | Uint8Array} sign - Подпись\r\n   */\r\n  async getSignContainerInfo(sign) {\r\n    return await this._euSign.GetSignContainerInfo(sign);\r\n  }\r\n\r\n  /**\r\n   * Проверить подпись (Соответствие подписанных данных не проверяется)\r\n   * @param {Uint8Array | string} data - Подписанные данные\r\n   * @param {Uint8Array | string} sign - Подпись\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyData(data, sign, signIndex) {\r\n    if (!Number.isInteger(signIndex)) {\r\n      signIndex = -1;\r\n    }\r\n    const signContainerInfo = await this._euSign.GetSignContainerInfo(sign.val || sign);\r\n\r\n    if (signContainerInfo.type === EndUserConstants.EndUserSignContainerType.ASiC) {\r\n      return await this._euSign.ASiCVerifyData(sign.val || sign, signIndex);\r\n    } else if (signContainerInfo.type === EndUserConstants.EndUserSignContainerType.PAdES) {\r\n      return await this._euSign.PDFVerifyData(sign.val || sign, signIndex);\r\n    } else if (signContainerInfo.type === EndUserConstants.EndUserSignContainerType.XAdES) {\r\n      return await this._euSign.XAdESVerifyData(data, sign.val || sign, signIndex);\r\n    } else if (signContainerInfo.type === EndUserConstants.EndUserSignContainerType.CAdES) {\r\n      if (!data) {\r\n        if (signContainerInfo.subType === EndUserConstants.EndUserCAdESType.Detached) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n            message: this._resourses.BadParameter + \" data\"\r\n          };\r\n        }\r\n        return await this._euSign.VerifyDataInternal(sign.val || sign, signIndex);\r\n      }\r\n    }\r\n    return await this._euSign.VerifyData(data.val || data, sign.val || sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Проверить внешнюю подпись файла\r\n   * @param {string} fileUrl - Ссылка на загрузку файла\r\n   * @param {string} signUrl - Ссылка на загрузку подписи\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyFile(fileUrl, signUrl, signIndex) {\r\n    const [data, sign] = await Promise.all([\r\n      downloadData(fileUrl, \"binary\"),\r\n      downloadData(signUrl, \"binary\")\r\n    ]);\r\n    return await this.verifyData(data, sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Проверить внутреннюю подпись\r\n   * @param {Uint8Array | string} sign - подпись с данными\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyDataInternal(sign, signIndex) {\r\n    return await this.verifyData(null, sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Проверить внутреннюю подпись файла\r\n   * @param {string} file - Ссылка на загрузку файла с подписью\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyFileInternal(fileUrl, signIndex) {\r\n    const sign = await downloadData(fileUrl);\r\n    return await this.verifyDataInternal(sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Проверить подпись хеша (Только CAdES Detached)\r\n   * @param {Uint8Array | string} hash - Хеш подписанного файла\r\n   * @param {Uint8Array | string} sign - Подпись\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyHash(hash, sign, signIndex) {\r\n    if (!Number.isInteger(signIndex)) {\r\n      signIndex = -1;\r\n    }\r\n    return await this._euSign.VerifyHash(hash.val || hash, sign.val || sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Проверить подпись хеша из файла (Только CAdES Detached)\r\n   * @param {string} hashUrl - Ссылка на загрузку файла\r\n   * @param {string} signUrl - Ссылка на загрузку подписи\r\n   * @param {number?} signIndex - Номер подписи. -1 что бы проверить все подписи\r\n   */\r\n  async verifyFileHash(hashUrl, signUrl, signIndex) {\r\n    const [data, sign] = await Promise.all([\r\n      downloadData(hashUrl, \"binary\"),\r\n      downloadData(signUrl, \"binary\")\r\n    ]);\r\n    return await this.verifyData(data, sign, signIndex);\r\n  }\r\n\r\n  /**\r\n   * Выполнить подписание данных с проверкой подписи\r\n   * @param {Uint8Array | string | NamedData | Array<Uint8Array | string | NamedData>} data - Данные для подписи. Можно передавать данные в массиве для наложения нескольких подписей за раз\r\n   * @param {EndUserSignContainerInfo?} signType - Тип подписи\r\n   */\r\n  async signDataEx(data, signType) {\r\n    const signs = await this.signData(data, signType);\r\n\r\n    if (Array.isArray(data)) {\r\n      const result = [];\r\n      for (let i = 0; i < signs.length; i++) {\r\n        result[i] = await this._formatSignInfo(data[i], signs[i], false);\r\n      }\r\n      return result;\r\n    } else {\r\n      return await this._formatSignInfo(data, signs);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Выполнить подписание с проверкой подписи\r\n   * @param {string | NamedData | Array<string> | Array<NamedData>} fileUrl - ссылка на загрузку файла для подписания\r\n   * @param {EndUserSignContainerInfo?} signType - Тип подписи\r\n   */\r\n  async signFileEx(fileUrl, signType) {\r\n    return await downloadAndSignFiles(fileUrl, async (data) => await this.signDataEx(data, signType));\r\n  }\r\n\r\n  /**\r\n   * Выполнить подписание хеша с проверкой подписи\r\n   * @param {string | NamedData} hash - хеш для подписания\r\n   */\r\n  async signHashEx(hash) {\r\n    const signs = await this.signHash(hash);\r\n\r\n    if (Array.isArray(hash)) {\r\n      const result = [];\r\n      for (let i = 0; i < signs.length; i++) {\r\n        result[i] = await this._formatSignInfo(hash[i], signs[i], true);\r\n      }\r\n      return result;\r\n    } else {\r\n      return await this._formatSignInfo(hash, signs, true);\r\n    }\r\n  }\r\n\r\n  async _formatSignInfo(data, sign, isHash) {\r\n    const that = this;\r\n    return await getSignInfo(data.val || data, sign.val || sign);\r\n\r\n    async function getSignInfo(data, sign) {\r\n      let signInfo;\r\n      if (isHash) {\r\n        signInfo = await that.verifyHash(data, sign);\r\n      } else {\r\n        signInfo = await that.verifyData(data, sign);\r\n      }\r\n      if (Array.isArray(signInfo)) {\r\n        signInfo = signInfo.pop();\r\n      }\r\n\r\n      const signer = await getSigner(sign);\r\n      signInfo.ownerInfo.certBeginTime = dateWithoutTimezone(signer.certBeginTime);\r\n      signInfo.ownerInfo.certEndTime = dateWithoutTimezone(signer.certEndTime);\r\n      signInfo.ownerInfo.publicKeyType = signer.publicKeyType;\r\n      signInfo.ownerInfo.keyUsageType = signer.keyUsageType;\r\n      signInfo.ownerInfo.certHashType = that._readedKey.getHashAlgo();\r\n\r\n      const timeInfo = signInfo.timeInfo\r\n      const time = dateWithoutTimezone(timeInfo.isSignTimeStampAvail ? timeInfo.signTimeStamp : timeInfo.time);\r\n      if (timeInfo.isSignTimeStampAvail || timeInfo.isTimeStamp) {\r\n        signInfo.ownerInfo.timestamp = dateWithoutTimezone(timeInfo.isSignTimeStampAvail ? timeInfo.signTimeStamp : timeInfo.time);\r\n      }\r\n\r\n      switch (that._readedKey.keyType) {\r\n        case DigitalSignatureKeyType.File:\r\n          signInfo.ownerInfo.privateKeyType = \"FileKey\";\r\n          break;\r\n        case DigitalSignatureKeyType.Token:\r\n          signInfo.ownerInfo.privateKeyType = \"HardwareKey\";\r\n          break;\r\n        case DigitalSignatureKeyType.UmCAService:\r\n          signInfo.ownerInfo.privateKeyType = \"UmCAService\";\r\n          break;\r\n        case DigitalSignatureKeyType.WindowsCertStore:\r\n          signInfo.ownerInfo.privateKeyType = \"WindowsCertStore\";\r\n          break;\r\n        case DigitalSignatureKeyType.KSP:\r\n          signInfo.ownerInfo.privateKeyType = that._readedKey.ksp.ksp != EndUserKSP.GRYADA \r\n            ? that._readedKey.ksp.id:\r\n            \"GRYADA\";\r\n          break;\r\n      }\r\n\r\n      return {\r\n        Success: true,\r\n        Sign: sign,\r\n        SignatureInfo: {\r\n          Success: true,\r\n          DateTimeStr: time,\r\n          Signer: signInfo.ownerInfo.subjCN,\r\n          OwnerInfo: signInfo.ownerInfo\r\n        }\r\n      };\r\n    }\r\n    async function getSigner(sign) {\r\n      const containerInfo = await that._euSign.GetSignContainerInfo(sign); \r\n      let signerInfo;\r\n      switch (containerInfo.type) {\r\n        case EndUserConstants.EU_SIGN_CONTAINER_TYPE_CADES:\r\n          signerInfo = await that._euSign.GetSigner(sign);\r\n          break;\r\n        case EndUserConstants.EU_SIGN_CONTAINER_TYPE_XADES:\r\n          signerInfo = await that._euSign.XAdESGetSigner(sign);\r\n          break;\r\n        case EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES:\r\n          signerInfo = await that._euSign.PDFGetSigner(sign);\r\n          break;\r\n        case EndUserConstants.EU_SIGN_CONTAINER_TYPE_ASIC:\r\n          signerInfo = await that._euSign.ASiCGetSigner(sign);\r\n          break;\r\n      }\r\n      if (Array.isArray(signerInfo)) {\r\n        signerInfo = signerInfo.pop();\r\n      }\r\n      return signerInfo.infoEx;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Выполнить подписание данных через расширение для браузера Signer.Digital Digital Signature\r\n   * https://chromewebstore.google.com/detail/signerdigital-digital-sig/glghokcicpikglmflbbelbgeafpijkkf\r\n   * Сделано по заказу Аваль\r\n   * @param {Uint8Array | string | NamedData | Array<Uint8Array | string | NamedData>} data - Данные для подписи. Можно передавать данные в массиве для наложения нескольких подписей за раз\r\n   * @param {EndUserSignContainerInfo?} signType - Тип подписи\r\n   */\r\n  async _signHashWindowsCertificateStore(hash, signType, asByteArray) {\r\n    if (typeof asByteArray !== \"boolean\") {\r\n      asByteArray = false;\r\n    }\r\n\r\n    if (signType === true) {\r\n      // Обратная совместимость. Если передать в параметре значение true, дожна создаться подпись CAdES Enveloped (внутренняя)\r\n      signType = new EndUserSignContainerInfo();\r\n      signType.type = EndUserConstants.EndUserSignContainerType.CAdES;\r\n      signType.subType = EndUserConstants.EndUserCAdESType.Enveloped;\r\n      signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;\r\n    } else if (isDefaultValue(signType)) {\r\n      // По умолчанию создаётся подпись CAdES Detached\r\n      signType = new EndUserSignContainerInfo();\r\n      signType.type = EndUserConstants.EndUserSignContainerType.CAdES;\r\n      signType.subType = EndUserConstants.EndUserCAdESType.Detached;\r\n      signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;\r\n    }\r\n\r\n    if (signType.type != EndUserConstants.EndUserSignContainerType.CAdES) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_NOT_SUPPORTED,\r\n        message: this._resourses.KSPSignFormatError\r\n      };\r\n    }\r\n    let hashType = \"SHA256\";\r\n\r\n    switch (this._readedKey.getHashAlgo()) {\r\n      case EndUserConstants.EU_CTX_HASH_ALGO_SHA512:\r\n        hashType = \"SHA512\";\r\n        break;\r\n      case EndUserConstants.EU_CTX_HASH_ALGO_SHA384:\r\n        hashType = \"SHA384\";\r\n        break;\r\n      case EndUserConstants.EU_CTX_HASH_ALGO_SHA256:\r\n        hashType = \"SHA256\";\r\n        break;\r\n      case EndUserConstants.EU_CTX_HASH_ALGO_SHA224:\r\n        hashType = \"SHA224\";\r\n        break;\r\n      case EndUserConstants.EU_CTX_HASH_ALGO_SHA160:\r\n        hashType = \"SHA160\";\r\n        break;\r\n    }\r\n\r\n    const that = this;\r\n    async function signFunc(signValue) {\r\n      if (typeof signValue != \"string\") {\r\n        signValue = convertToBase64(signValue);\r\n      }\r\n\r\n      let signedData;\r\n\r\n      try {\r\n        const signAlgo = 2;\r\n        // eslint-disable-next-line no-undef\r\n        signedData = await SignerDigital.signHashCms(signValue, hashType, signAlgo, that._readedKey.id);\r\n      } catch (error) {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_BAD_CERT,\r\n          message: String(error)\r\n        };\r\n      }\r\n\r\n      return await that._euSign.m_library.m_worker.postMessage(\"AppendValidationData\",\r\n        [signedData, that._readedKey.certificates[0].data, that._readedKey.getSignAlgo(), !asByteArray]);\r\n    }\r\n\r\n    async function namedDataFunction(hash) {\r\n      if (hash.val) {\r\n        return { name: hash.name, val: await signFunc(hash.val) };\r\n      }\r\n      return await signFunc(hash);\r\n    }\r\n\r\n    if (Array.isArray(hash)) {\r\n      const results = [];\r\n      for (let i = 0; i < hash.length; i++) {\r\n        const hashValue = hash[i];\r\n        results[i] = await namedDataFunction(hashValue);\r\n      }\r\n      return results;\r\n    } else {\r\n      return await namedDataFunction(hash);\r\n    }\r\n\r\n  }\r\n\r\n  /**\r\n   * Зашифровать данные\r\n   * @param {string | Uint8Array | string[] | Uint8Array[]} data - Данные, которые необходимо зашифровать\r\n   * @param {Uint8Array[]} recipientCertificates - Сертификаты получателей\r\n   * @param {boolean?} asByteArray - Возвращать результат в виде массива байтов. По умолчанию результат возвращается в виде строки BASE64\r\n   * @returns {Promise<string | Uint8Array | string[] | Uint8Array[]>}\r\n   */\r\n  async envelopData(data, recipientCertificates, asByteArray) {\r\n    if (typeof asByteArray !== \"boolean\") {\r\n      asByteArray = false;\r\n    }\r\n    if (Array.isArray(data)) {\r\n      return await Promise.all(data.map(e => this._euSign.EnvelopData(recipientCertificates, e, false, true, !asByteArray, false)));\r\n    }\r\n    return await this._euSign.EnvelopData(recipientCertificates, data, false, true, !asByteArray, false);\r\n  }\r\n\r\n  /**\r\n   * Расшифровать данные\r\n   * @param {string|Uint8Array} envelopedData - Зашифрованные данные в виде строки BASE64 или массива байт\r\n   * @param {Uint8Array?} senderCert - Сертификат отправителя\r\n   */\r\n  async developData(envelopedData, senderCert) {\r\n    return await this._euSign.DevelopData(envelopedData, senderCert);\r\n  }\r\n\r\n  /**\r\n   * Зашифровать файл\r\n   * @param {string | string[]} fileUrl - Ссылка на загрузку файла\r\n   * @param {Uint8Array[]} recipientCertificates - Сертификаты получателей\r\n   * @param {boolean} asByteArray - Возвращать результат в виде массива байтов. По умолчанию результат возвращается в виде строки BASE64\r\n   */\r\n  async envelopFile(fileUrl, recipientCertificates, asByteArray) {\r\n    let data;\r\n    if (Array.isArray(fileUrl)) {\r\n      data = await Promise.all(fileUrl.map(url => downloadData(url, \"binary\")));\r\n    } else {\r\n      data = await downloadData(fileUrl, \"binary\");\r\n    }\r\n    return await this.envelopData(data, recipientCertificates, asByteArray);\r\n  }\r\n\r\n  /**\r\n   * Расшифровать файл\r\n   * @param {string} envelopedFileUri - Ссылка на зашифрованный файл\r\n   * @param {Uint8Array?} senderCert - Сертификат отправителя\r\n   */\r\n  async developFile(envelopedFileUri, senderCert) {\r\n    const data = await downloadData(envelopedFileUri, \"binary\");\r\n    return await this.developData(data, senderCert);\r\n  }\r\n\r\n  /**\r\n   * Зашифрувати звіти в податкову\r\n   * @param {ProtectTaxReportParams} params - Параметри шифрування\r\n   * @returns {Promise<Array<EndUserTaxReport>>}\r\n   */\r\n  async protectTaxReports(params) {\r\n    return await this._euSign.ProtectTaxReports(\r\n      params.accountantPrivateKeyContext?.keyContext,\r\n      Array.isArray(params.directorPrivateKeyContext) ? params.directorPrivateKeyContext.map(e => e.keyContext) : params.directorPrivateKeyContext?.keyContext,\r\n      Array.isArray(params.stampPrivateKeyContext) ? params.stampPrivateKeyContext.map(e => e.keyContext) : params.stampPrivateKeyContext?.keyContext,\r\n      params.senderEMail,\r\n      params.recipientCertificate,\r\n      params.reports,\r\n      params.returnIntermediateSign);\r\n  }\r\n\r\n  /**\r\n   * Считать аппаратный ключ в контекст\r\n   * @param {EndUserKeyMedia} keyMedia - Параметры аппаратного ключа\r\n   * @param {Array<Uint8Array>?} certs - Сертификаты ключа (при необходимости)\r\n   */\r\n  async ctxReadHardwareKey(keyMedia, certs) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.Token);\r\n\r\n    if (!keyMedia) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadParameter + \" keyMedia\"\r\n      };\r\n    }\r\n    if (!keyMedia.password) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.PasswordNotSet\r\n      };\r\n    }\r\n\r\n    if (Array.isArray(certs) && certs.length > 0) {\r\n      certs = await Promise.all(certs.map(cert =>\r\n        cert instanceof File || cert instanceof Blob ? readFile(cert) :\r\n          cert instanceof EndUserCertificate ? cert.data :\r\n            cert));\r\n    }\r\n\r\n    try {\r\n      const ctx = await this._euSign.CtxCreate();\r\n      const keyCtx = await this._euSign.CtxReadPrivateKey(ctx, keyMedia, certs, this._selectedIssuerCN);\r\n      const readedKey = new HardwarePrivateKeyInfo(\r\n        DigitalSignatureKeyType.Token,\r\n        keyCtx.ownerInfo,\r\n        await this._euSign.CtxGetOwnCertificates(keyCtx),\r\n        keyMedia\r\n      );\r\n      readedKey.context = ctx;\r\n      readedKey.keyContext = keyCtx;\r\n      readedKey._glSign = this._glSign;\r\n      return readedKey;\r\n    } catch (error) {\r\n      if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {\r\n        if (!this._selectedIssuerCN) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n            message: this._resourses.ReadPrivateKeyCAAutoDetectError\r\n          };\r\n        } else if (this._selectedIssuerCN) {\r\n          if (!this._selectedCA.cmpAddress) {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyNeedCertificateError, this._selectedIssuerCN)\r\n            };\r\n          } else {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyInvalidCAError, this._selectedIssuerCN)\r\n            };\r\n          }\r\n        }\r\n      }\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Считать файловый ключ в контекст\r\n   * @param {Uint8Array|File} privateKey - Файловый ключ\r\n   * @param {string} password - Пароль от ключа\r\n   * @param {Array<Uint8Array|File>?} certs - Сертификаты ключа (при необходимости)\r\n   */\r\n  async ctxReadFileKey(privateKey, password, certs) {\r\n    await this.setLibraryType(DigitalSignatureKeyType.File);\r\n\r\n    if (!privateKey) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.BadParameter + \" keyMedia\"\r\n      };\r\n    }\r\n    if (!password) {\r\n      throw {\r\n        code: EndUserError.EU_ERROR_BAD_PARAMETER,\r\n        message: this._resourses.PasswordNotSet\r\n      };\r\n    }\r\n\r\n    if (privateKey instanceof File || privateKey instanceof Blob) {\r\n      privateKey = await readFile(privateKey);\r\n    }\r\n    if (Array.isArray(certs) && certs.length > 0) {\r\n      certs = await Promise.all(certs.map(cert =>\r\n        cert instanceof File || cert instanceof Blob ? readFile(cert) :\r\n          cert instanceof EndUserCertificate ? cert.data :\r\n            cert));\r\n    }\r\n    try {\r\n      const ctx = await this._euSign.CtxCreate();\r\n      const keyCtx = await this._euSign.CtxReadPrivateKeyBinary(ctx, privateKey, password, certs, this._selectedIssuerCN);\r\n      const readedKey = new FilePrivateKeyInfo(\r\n        DigitalSignatureKeyType.File,\r\n        keyCtx.ownerInfo,\r\n        await this._euSign.CtxGetOwnCertificates(keyCtx),\r\n        privateKey,\r\n        password\r\n      );\r\n      readedKey.context = ctx;\r\n      readedKey.keyContext = keyCtx;\r\n      readedKey._glSign = this._glSign;\r\n      return readedKey;\r\n    } catch (error) {\r\n      if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {\r\n        if (!this._selectedIssuerCN) {\r\n          throw {\r\n            code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n            message: this._resourses.ReadPrivateKeyCAAutoDetectError\r\n          };\r\n        } else if (this._selectedIssuerCN) {\r\n          if (!this._selectedCA.cmpAddress) {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyNeedCertificateError, this._selectedIssuerCN)\r\n            };\r\n          } else {\r\n            throw {\r\n              code: EndUserError.EU_ERROR_CERT_NOT_FOUND,\r\n              message: format(this._resourses.ReadPrivateKeyInvalidCAError, this._selectedIssuerCN)\r\n            };\r\n          }\r\n        }\r\n      }\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Освободить контекст приватного ключа\r\n   * @param {PrivateKeyInfo} privateKeyContext - Контекст приватного ключа\r\n   */\r\n  async ctxFreePrivateKey(privateKeyContext) {\r\n    if (privateKeyContext.keyType === DigitalSignatureKeyType.Token) {\r\n      await this.setLibraryType(DigitalSignatureKeyType.Token);\r\n    } else {\r\n      await this.setLibraryType(DigitalSignatureKeyType.File);\r\n    }\r\n\r\n    await this._euSign.CtxFreePrivateKey(privateKeyContext.keyContext);\r\n    await this._euSign.CtxFree(privateKeyContext.context);\r\n  }\r\n\r\n  async getPrivateKeyInfoFromStorage(fromLocalStorage, keyType) {\r\n    const storage = fromLocalStorage ? localStorage : sessionStorage;\r\n    const storedKeys = storage[this._userId + PRIVATE_KEY_INFO];\r\n\r\n    let ls;\r\n    const result = [];\r\n    if (!storedKeys) {\r\n      return result;\r\n    }\r\n    const data = await this._euSignFile.UnprotectDataByPassword(storedKeys, \"\", true);\r\n    try {\r\n      ls = JSON.parse(data);\r\n      if (keyType >= 0) {\r\n        ls = ls.filter(key => key.keyType == keyType);\r\n      }\r\n    }\r\n    catch {\r\n      ls = [];\r\n    }\r\n\r\n    ls.forEach(key => {\r\n      const password = key.password;\r\n      if (key.keyType == DigitalSignatureKeyType.File) {\r\n        key.privateKey = new Uint8Array(Object.assign(new Array(), key.privateKey));\r\n        key = new FilePrivateKeyInfo(key.keyType, key.ownerInfo, key.certificates, key.privateKey, key.password);\r\n      }\r\n      else if (key.keyType == DigitalSignatureKeyType.Token) {\r\n        key = new HardwarePrivateKeyInfo(key.keyType, key.ownerInfo, key.certificates, key.keyMedia);\r\n      }\r\n      else if (key.keyType == DigitalSignatureKeyType.KSP) {\r\n        key = new KspPrivateKeyInfo(key.keyType, key.ownerInfo, key.certificates, key.userId, key.ksp, key.keyId);\r\n      }\r\n      else if (key.keyType == DigitalSignatureKeyType.UmCAService) {\r\n        const keyMedia = key.keyMedia;\r\n        key = new PrivateKeyInfo(key.keyType, key.ownerInfo, key.certificates, key.visibleName, key.id);\r\n        key.keyMedia = keyMedia;\r\n      }\r\n      else if (key.keyType == DigitalSignatureKeyType.WindowsCertStore) {\r\n        key = new PrivateKeyInfo(key.keyType, key.ownerInfo, key.certificates, key.visibleName, key.id);\r\n      }\r\n      const certs = [];\r\n      key.certificates.forEach(cert => {\r\n        const certObj = Object.assign(new EndUserCertificate(), cert);\r\n        certObj.data = new Uint8Array(Object.assign(new Array(), cert.data));\r\n        certs.push(certObj);\r\n      });\r\n      key.certificates = certs;\r\n      key.password = password;\r\n      key._glSign = this._glSign;\r\n      result.push(key);\r\n    });\r\n    return result;\r\n  }\r\n\r\n  /**\r\n   * Сохранить ключ\r\n   * @param {PrivateKeyInfo} privateKeyInfo - Ключ\r\n   * @param {boolean} toLocalStorage - Будет ли ключ сохранён после закрытия вкладки\r\n   */\r\n  async storePrivateKeyInfo(privateKeyInfo, toLocalStorage) {\r\n    if (privateKeyInfo.ksp && privateKeyInfo.ksp.needQRCode) {\r\n      return;\r\n    }\r\n\r\n    const storage = toLocalStorage ? localStorage : sessionStorage;\r\n    const keys = await this.getStoredPrivateKeyInfo();\r\n\r\n    if (keys.length == 0 || keys.filter(key => key.id == privateKeyInfo.id).length < 1) {\r\n      const keys = await this.getPrivateKeyInfoFromStorage(toLocalStorage);\r\n      keys.push(privateKeyInfo);\r\n      const data = await this._euSignFile.ProtectDataByPassword(JSON.stringify(keys), \"\", true);\r\n      storage[this._userId + PRIVATE_KEY_INFO] = data;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Получить сохранённые ключи\r\n   * @param {number?} keyType - Вид ключа\r\n   * @returns {Array<PrivateKeyInfo>} Сохранённые ключи\r\n   */\r\n  async getStoredPrivateKeyInfo(keyType) {\r\n    const local = await this.getPrivateKeyInfoFromStorage(true, keyType);\r\n    const session = await this.getPrivateKeyInfoFromStorage(false, keyType);\r\n    return local.concat(session);\r\n  }\r\n\r\n  /**\r\n   * Удалить сохранённые ключи\r\n   * @param {string} keyId - Идентификатор ключа\r\n   */\r\n  async removeStoredPrivateKeyInfo(keyId) {\r\n    if (keyId === undefined) {\r\n      localStorage.removeItem(this._userId + PRIVATE_KEY_INFO);\r\n      sessionStorage.removeItem(this._userId + PRIVATE_KEY_INFO);\r\n    }\r\n    else {\r\n      const localStoredKeys = await this.getPrivateKeyInfoFromStorage(true);\r\n      const sessionStoredKeys = await this.getPrivateKeyInfoFromStorage(false);\r\n      const storage = localStoredKeys.filter(item => item.id == keyId).length > 0 ? localStorage : sessionStorage;\r\n      const keys = storage == localStorage ? localStoredKeys : sessionStoredKeys;\r\n      const keyIndex = keys.findIndex((element) => element.id == keyId);\r\n\r\n      if (keyIndex > -1) {\r\n        keys.splice(keyIndex, 1);\r\n        const data = await this._euSignFile.ProtectDataByPassword(JSON.stringify(keys), \"\", true);\r\n        storage[this._userId + PRIVATE_KEY_INFO] = data;\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Получить предпочитаемый тип ключа\r\n   */\r\n  get _preferredKeyType() {\r\n    const keyType = parseInt(localStorage[this._userId + PRIVATE_KEY_TYPE]);\r\n    if (typeof keyType === \"number\" && keyType > -1) {\r\n      return keyType;\r\n    } else {\r\n      localStorage[this._userId + PRIVATE_KEY_TYPE] = DigitalSignatureKeyType.File;\r\n      return DigitalSignatureKeyType.File;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Задать предпочитаемый тип ключа\r\n   * @param {DigitalSignatureKeyType | number} keyType - Тип ключа\r\n   */\r\n  set _preferredKeyType(keyType) {\r\n    if (typeof keyType === \"number\" && keyType > -1) {\r\n      localStorage[this._userId + PRIVATE_KEY_TYPE] = keyType;\r\n    }\r\n  }\r\n\r\n  get _resourses() {\r\n    return Resourses[this._language];\r\n  }\r\n\r\n  get _userId() {\r\n    return typeof this._settingsProvider.userId === \"function\" ? this._settingsProvider.userId() : this._settingsProvider.userId;\r\n  }\r\n\r\n  get _language() {\r\n    return typeof this._settingsProvider.language === \"function\" ? this._settingsProvider.language() : this._settingsProvider.language;\r\n  }\r\n\r\n  /**\r\n   * Проверка доступности Дiя\r\n   */\r\n  async _diiaCheckAccess(ksp) {\r\n    const diia = \"DIIA\";\r\n    if (sessionStorage[diia] != \"+\") {\r\n      try {\r\n        sessionStorage[diia] = await downloadData(ksp.address.replace(\"KSPSign\", \"DIIA\"));\r\n      } catch {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,\r\n          message: this._resourses.DiiaError + `<a target=\"_blank\" href=\"${window.origin}\">${window.origin}</a></li><ul>`\r\n        };\r\n      }\r\n    }\r\n    try {\r\n      const health = await downloadData(ksp.address.replace(\"KSPSign\", \"health\"));\r\n      if (health.trim().toLowerCase() != \"healthy\") {\r\n        throw {\r\n          code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,\r\n          message: this._resourses.DiiaHealthCheckError\r\n        };\r\n      }\r\n    } catch (error) {\r\n      console.error(error);\r\n      throw {\r\n        code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,\r\n        message: this._resourses.DiiaHealthCheckError\r\n      };\r\n    }\r\n\r\n  }\r\n}\r\n"],"mappings":"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AG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,IAAG;OAAG,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,MAAK;OAAI,KAAI;OAAI,MAAK;OAAI,MAAK;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,MAAK;OAAI,KAAI;OAAI,KAAI;OAAI,MAAK;OAAI,KAAI;OAAI,KAAI;OAAI,KAAI;OAAI,MAAK;OAAI,KA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"}