/ohos5.0/base/security/huks/frameworks/huks_standard/main/common/include/ |
H A D | hks_crypto_hal.h | 123 typedef int32_t (*PubKey)(const struct HksBlob *, struct HksBlob *); 138 typedef int32_t (*Hmac)(const struct HksBlob *, uint32_t, const struct HksBlob *, struct HksBlob *); 155 const struct HksBlob *, struct HksBlob *, struct HksBlob *); 161 typedef int32_t (*EncryptFinal)(void **, const struct HksBlob *, struct HksBlob *, struct HksBlob *… 164 const struct HksBlob *, struct HksBlob *); 170 typedef int32_t (*DecryptFinal)(void **, const struct HksBlob *, struct HksBlob *, struct HksBlob *… 173 const struct HksBlob *, const struct HksBlob *); 196 const struct HksBlob *message, struct HksBlob *signature); 233 const struct HksBlob *message, struct HksBlob *cipherText, struct HksBlob *tagAead); 246 const struct HksBlob *message, struct HksBlob *cipherText); [all …]
|
H A D | hks_check_paramset.h | 29 const struct HksBlob *keyIn, const struct HksBlob *keyOut, uint32_t keyFlag); 31 int32_t HksCoreCheckImportKeyParams(const struct HksBlob *keyAlias, const struct HksBlob *key, 32 const struct HksParamSet *paramSet, const struct HksBlob *keyOut); 34 int32_t HksCoreCheckImportWrappedKeyParams(const struct HksBlob *key, const struct HksBlob *wrapped… 38 const struct HksBlob *srcData, const struct HksBlob *signature); 41 const struct HksBlob *inData, const struct HksBlob *outData); 44 const struct HksBlob *peerPublicKey, const struct HksBlob *agreedKey, bool isLocalCheck); 47 const struct HksBlob *srcData, const struct HksBlob *signature); 50 const struct HksBlob *inData, const struct HksBlob *outData); 53 const struct HksBlob *derivedKey, bool isLocalCheck); [all …]
|
H A D | hks_common_check.h | 37 int32_t HksCheckBlob4(const struct HksBlob *data1, const struct HksBlob *data2, 38 const struct HksBlob *data3, const struct HksBlob *data4); 40 int32_t HksCheckBlob3(const struct HksBlob *data1, const struct HksBlob *data2, const struct HksBlo… 42 int32_t HksCheckBlob2(const struct HksBlob *data1, const struct HksBlob *data2); 46 int32_t HksCheckBlob4AndParamSet(const struct HksBlob *data1, const struct HksBlob *data2, 47 const struct HksBlob *data3, const struct HksBlob *data4, const struct HksParamSet *paramSet); 49 int32_t HksCheckBlob3AndParamSet(const struct HksBlob *data1, const struct HksBlob *data2, 50 const struct HksBlob *data3, const struct HksParamSet *paramSet); 52 int32_t HksCheckBlob2AndParamSet(const struct HksBlob *data1, const struct HksBlob *data2, 60 int32_t HksCheckBlob2AndParamSet2(const struct HksBlob *data1, const struct HksBlob *data2, [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_service/main/core/include/ |
H A D | huks_access.h | 33 const struct HksBlob *keyIn, struct HksBlob *keyOut); 48 const struct HksBlob *inData, struct HksBlob *outData); 51 const struct HksBlob *inData, struct HksBlob *outData); 62 const struct HksBlob *srcData, struct HksBlob *mac); 70 const struct HksBlob *srcData, struct HksBlob *mac); 75 const struct HksBlob *srcData, struct HksBlob *signature); 78 const struct HksBlob *srcData, const struct HksBlob *signature); 81 const struct HksBlob *plainText, struct HksBlob *cipherText); 84 const struct HksBlob *cipherText, struct HksBlob *plainText); 87 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); [all …]
|
H A D | hks_client_service.h | 40 const struct HksParamSet *paramSet, const struct HksBlob *srcData, struct HksBlob *signature); 43 …const struct HksParamSet *paramSet, const struct HksBlob *srcData, const struct HksBlob *signature… 46 … const struct HksParamSet *paramSet, const struct HksBlob *plainText, struct HksBlob *cipherText); 49 … const struct HksParamSet *paramSet, const struct HksBlob *cipherText, struct HksBlob *plainText); 69 …const struct HksBlob *wrappingKeyAlias, const struct HksParamSet *paramSet, const struct HksBlob *… 72 … const struct HksBlob *privateKey, const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 75 const struct HksBlob *mainKey, struct HksBlob *derivedKey); 78 const struct HksParamSet *paramSet, const struct HksBlob *srcData, struct HksBlob *mac); 87 const struct HksParamSet *paramSet, struct HksBlob *handle, struct HksBlob *token); 90 const struct HksParamSet *paramSet, const struct HksBlob *inData, struct HksBlob *outData); [all …]
|
H A D | hks_client_check.h | 33 int32_t HksCheckProcessNameAndKeyAlias(const struct HksBlob *processName, const struct HksBlob *key… 35 int32_t HksCheckGenAndImportKeyParams(const struct HksBlob *processName, const struct HksBlob *keyA… 38 int32_t HksCheckImportWrappedKeyParams(const struct HksBlob *processName, const struct HksBlob *key… 41 int32_t HksCheckAllParams(const struct HksBlob *processName, const struct HksBlob *keyAlias, 42 const struct HksParamSet *paramSet, const struct HksBlob *data1, const struct HksBlob *data2); 44 int32_t HksCheckGetKeyParamSetParams(const struct HksBlob *processName, const struct HksBlob *keyAl… 47 int32_t HksCheckGenerateRandomParams(const struct HksBlob *processName, const struct HksBlob *rando… 50 const struct HksBlob *key); 53 const struct HksBlob *mainKey, const struct HksBlob *derivedKey); 59 int32_t HksCheckAttestKeyParams(const struct HksBlob *processName, const struct HksBlob *keyAlias, [all …]
|
/ohos5.0/drivers/peripheral/huks/hdi_service/ |
H A D | huks_sa_hdi_struct.h | 49 const struct HksBlob *keyIn, struct HksBlob *keyOut); 59 int32_t (*HuksHdiImportKey)(const struct HksBlob *keyAlias, const struct HksBlob *key, 104 const struct HksBlob *inData, struct HksBlob *outData); 115 const struct HksBlob *inData, struct HksBlob *outData); 165 const struct HksBlob *srcData, struct HksBlob *mac); 194 const struct HksBlob *srcData, struct HksBlob *signature); 205 const struct HksBlob *srcData, const struct HksBlob *signature); 216 const struct HksBlob *plainText, struct HksBlob *cipherText); 227 const struct HksBlob *cipherText, struct HksBlob *plainText); 238 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); [all …]
|
H A D | huks_hdi_passthrough_adapter.h | 28 const struct HksBlob *keyIn, struct HksBlob *keyOut); 34 const struct HksBlob *srcData, const struct HksBlob *signature); 37 const struct HksBlob *plainText, struct HksBlob *cipherText); 40 const struct HksBlob *cipherText, struct HksBlob *plainText); 44 int32_t HuksHdiAdapterImportKey(const struct HksBlob *keyAlias, const struct HksBlob *key, 48 struct HksBlob *keyOut); 51 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 57 struct HksBlob *mac); 67 struct HksBlob *token); 70 const struct HksBlob *inData, struct HksBlob *outData); [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl/ipc/ |
H A D | hks_service_ipc_serialization.h | 28 int32_t HksGenerateKeyUnpack(const struct HksBlob *srcData, struct HksBlob *keyAlias, 32 struct HksBlob *key); 34 int32_t HksImportWrappedKeyUnpack(const struct HksBlob *srcData, struct HksBlob *keyAlias, 39 int32_t HksExportPublicKeyUnpack(const struct HksBlob *srcData, struct HksBlob *keyAlias, 42 int32_t HksGetKeyParamSetUnpack(const struct HksBlob *srcData, struct HksBlob *keyAlias, 48 struct HksBlob *unsignedData, struct HksBlob *signature); 51 struct HksBlob *unsignedData, struct HksBlob *signature); 53 int32_t HksEncryptDecryptUnpack(const struct HksBlob *srcData, struct HksBlob *key, 54 struct HksParamSet **paramSet, struct HksBlob *inputText, struct HksBlob *outputText); 57 struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); [all …]
|
H A D | hks_ipc_service.h | 27 void HksIpcServiceImportKey(const struct HksBlob *srcData, const uint8_t *context); 41 void HksIpcServiceSign(const struct HksBlob *srcData, const uint8_t *context); 43 void HksIpcServiceVerify(const struct HksBlob *srcData, const uint8_t *context); 45 void HksIpcServiceEncrypt(const struct HksBlob *srcData, const uint8_t *context); 47 void HksIpcServiceDecrypt(const struct HksBlob *srcData, const uint8_t *context); 53 void HksIpcServiceMac(const struct HksBlob *srcData, const uint8_t *context); 59 void HksIpcServiceInit(const struct HksBlob *paramSetBlob, struct HksBlob *outData, const uint8_t *… 61 void HksIpcServiceUpdate(const struct HksBlob *paramSetBlob, struct HksBlob *outData, const uint8_t… 63 void HksIpcServiceFinish(const struct HksBlob *paramSetBlob, struct HksBlob *outData, const uint8_t… 65 void HksIpcServiceAbort(const struct HksBlob *paramSetBlob, struct HksBlob *outData, const uint8_t … [all …]
|
/ohos5.0/base/security/huks/interfaces/inner_api/huks_standard/main/include/ |
H A D | hks_api.h | 137 const struct HksBlob *srcData, struct HksBlob *signature); 148 const struct HksBlob *srcData, const struct HksBlob *signature); 159 const struct HksBlob *plainText, struct HksBlob *cipherText); 170 const struct HksBlob *cipherText, struct HksBlob *plainText); 181 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 202 const struct HksBlob *srcData, struct HksBlob *mac); 212 const struct HksBlob *srcData, struct HksBlob *hash); 285 const struct HksBlob *e, const struct HksBlob *n); 311 struct HksBlob *handle, struct HksBlob *token); 322 const struct HksBlob *inData, struct HksBlob *outData); [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_service/main/os_dependency/ca/ |
H A D | hks_teec.h | 29 struct HksBlob *keyOut); 35 struct HksBlob *outData); 38 const struct HksBlob *srcData, struct HksBlob *signature); 41 const struct HksBlob *srcData, const struct HksBlob *signature); 44 const struct HksBlob *plainText, struct HksBlob *cipherText); 47 const struct HksBlob *cipherText, struct HksBlob *plainText); 58 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 63 const struct HksBlob *srcData, struct HksBlob *mac); 76 int32_t HksTeeProvision(const struct HksBlob *keybox, struct HksBlob *challenge, 77 const struct HksBlob *challengeIn, struct HksBlob *signature, struct HksBlob *certData); [all …]
|
H A D | hks_ca_access.c | 35 const struct HksBlob *keyIn, struct HksBlob *keyOut) in HksAccessGenerateKey() 42 const struct HksBlob *srcData, struct HksBlob *signature) in HksAccessSign() 48 const struct HksBlob *srcData, const struct HksBlob *signature) in HksAccessVerify() 54 const struct HksBlob *plainText, struct HksBlob *cipherText) in HksAccessEncrypt() 60 const struct HksBlob *cipherText, struct HksBlob *plainText) in HksAccessDecrypt() 70 int32_t HksAccessImportKey(const struct HksBlob *keyAlias, const struct HksBlob *key, in HksAccessImportKey() 78 struct HksBlob *keyOut) in HksAccessExportPublicKey() 84 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey) in HksAccessAgreeKey() 90 struct HksBlob *derivedKey) in HksAccessDeriveKey() 96 const struct HksBlob *srcData, struct HksBlob *mac) in HksAccessMac() [all …]
|
/ohos5.0/base/security/huks/frameworks/huks_standard/main/os_dependency/ipc/include/ |
H A D | hks_client_ipc_serialization.h | 34 int32_t HksGenerateKeyPack(struct HksBlob *destData, const struct HksBlob *keyAlias, 38 const struct HksBlob *key); 40 int32_t HksImportWrappedKeyPack(struct HksBlob *destData, const struct HksBlob *keyAlias, 46 const struct HksBlob *key, struct HksBlob *destData); 49 const struct HksBlob *keyOut, struct HksBlob *destData); 56 int32_t HksOnceDataPack(struct HksBlob *destData, const struct HksBlob *inputData, const struct Hks… 60 const struct HksBlob *peerPublicKey, const struct HksBlob *agreedKey); 71 int32_t HksCertificateChainPack(struct HksBlob *destData, const struct HksBlob *keyAlias, 79 int32_t EncodeCertChain(const struct HksBlob *inBlob, struct HksBlob *outBlob); 85 int32_t HksRenameKeyAliasPack(const struct HksBlob *oldKeyAlias, const struct HksBlob *newKeyAlias, [all …]
|
H A D | hks_client_ipc.h | 33 const struct HksBlob *key); 36 struct HksBlob *key); 51 const struct HksBlob *srcData, struct HksBlob *signature); 54 const struct HksBlob *srcData, const struct HksBlob *signature); 57 const struct HksBlob *plainText, struct HksBlob *cipherText); 60 const struct HksBlob *cipherText, struct HksBlob *plainText); 63 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 69 struct HksBlob *mac); 78 struct HksBlob *token); 81 struct HksBlob *outData); [all …]
|
/ohos5.0/base/security/huks/test/unittest/huks_common_test/include/ |
H A D | hks_test_adapt_for_de.h | 35 int32_t HksImportWrappedKeyForDe(const struct HksBlob *keyAlias, const struct HksBlob *wrappingKeyA… 49 const struct HksBlob *srcData, struct HksBlob *signature); 52 const struct HksBlob *srcData, const struct HksBlob *signature); 55 const struct HksBlob *plainText, struct HksBlob *cipherText); 58 const struct HksBlob *cipherText, struct HksBlob *plainText); 61 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 64 struct HksBlob *derivedKey); 67 const struct HksBlob *srcData, struct HksBlob *mac); 79 struct HksBlob *handle, struct HksBlob *token); 82 const struct HksBlob *inData, struct HksBlob *outData); [all …]
|
H A D | hks_test_api_performance_h.h | 25 const struct HksBlob *plainText, struct HksBlob *cipherText, uint32_t performTimes); 28 const struct HksBlob *cipherText, struct HksBlob *plainText, uint32_t performTimes); 31 const struct HksBlob *srcData, struct HksBlob *mac, uint32_t performTimes); 34 struct HksBlob *derivedKey, uint32_t performTimes); 37 int32_t HksDeleteKeyRun(const struct HksBlob *keyAlias, uint32_t performTimes); 39 int32_t HksKeyExistRun(const struct HksBlob *keyAlias, uint32_t performTimes); 41 int32_t HksGenerateRandomRun(struct HksBlob *random, uint32_t performTimes); 44 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey, uint32_t performTimes); 47 const struct HksBlob *srcData, struct HksBlob *hash, uint32_t performTimes); 49 int32_t HksBnExpModRun(struct HksBlob *x, const struct HksBlob *a, [all …]
|
/ohos5.0/base/security/huks/test/unittest/huks_standard_test/module_test/mock/idl/src/ |
H A D | huks_access_mock.c | 54 const struct HksBlob *keyIn, struct HksBlob *keyOut)) in ENABLE_CFI() 78 struct HksBlob *handle, struct HksBlob *token)) in ENABLE_CFI() 84 const struct HksBlob *inData, struct HksBlob *outData)) in ENABLE_CFI() 90 const struct HksBlob *inData, struct HksBlob *outData)) in ENABLE_CFI() 116 const struct HksBlob *srcData, struct HksBlob *signature)) in ENABLE_CFI() 122 const struct HksBlob *srcData, const struct HksBlob *signature)) in ENABLE_CFI() 128 const struct HksBlob *plainText, struct HksBlob *cipherText)) in ENABLE_CFI() 134 const struct HksBlob *cipherText, struct HksBlob *plainText)) in ENABLE_CFI() 140 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey)) in ENABLE_CFI() 152 const struct HksBlob *srcData, struct HksBlob *mac)) in ENABLE_CFI() [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_engine/main/core/src/ |
H A D | hks_core_interfaces.c | 49 const struct HksBlob *keyIn, struct HksBlob *keyOut) in HuksHdiGenerateKey() 54 int32_t HuksHdiImportKey(const struct HksBlob *keyAlias, const struct HksBlob *key, in HuksHdiImportKey() 72 struct HksBlob *token) in HuksHdiInit() 78 struct HksBlob *outData) in HuksHdiUpdate() 120 const struct HksBlob *srcData, struct HksBlob *signature) in HuksHdiSign() 126 const struct HksBlob *srcData, const struct HksBlob *signature) in HuksHdiVerify() 132 const struct HksBlob *plainText, struct HksBlob *cipherText) in HuksHdiEncrypt() 138 const struct HksBlob *cipherText, struct HksBlob *plainText) in HuksHdiDecrypt() 144 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey) in HuksHdiAgreeKey() 156 const struct HksBlob *srcData, struct HksBlob *mac) in HuksHdiMac() [all …]
|
/ohos5.0/base/security/huks/frameworks/huks_standard/main/core/include/ |
H A D | hks_local_engine.h | 28 const struct HksBlob *srcData, struct HksBlob *mac); 30 …sLocalHash(const struct HksParamSet *paramSet, const struct HksBlob *srcData, struct HksBlob *hash… 32 int32_t HksLocalBnExpMod(struct HksBlob *x, const struct HksBlob *a, const struct HksBlob *e, const… 37 const struct HksBlob *plainText, struct HksBlob *cipherText); 40 const struct HksBlob *cipherText, struct HksBlob *plainText); 43 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 46 struct HksBlob *derivedKey); 48 int32_t HksLocalSign(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct Hk… 49 struct HksBlob *signature); 51 int32_t HksLocalVerify(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct … [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_engine/main/core/include/ |
H A D | hks_core_service_key_operate_one_stage.h | 29 int32_t HksCoreSign(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct Hks… 30 struct HksBlob *signature); 32 int32_t HksCoreVerify(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct H… 33 const struct HksBlob *signature); 35 int32_t HksCoreEncrypt(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct … 36 struct HksBlob *cipherText); 39 struct HksBlob *plainText); 46 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); 50 int32_t HksCoreMac(const struct HksBlob *key, const struct HksParamSet *paramSet, const struct HksB… 51 struct HksBlob *mac); [all …]
|
/ohos5.0/base/security/huks/frameworks/huks_standard/main/crypto_engine/openssl/include/ |
H A D | hks_openssl_aes.h | 40 int32_t HksOpensslAesEncryptUpdate(void *cryptoCtx, const struct HksBlob *message, struct HksBlob *… 42 int32_t HksOpensslAesEncryptFinal(void **cryptoCtx, const struct HksBlob *message, struct HksBlob *… 43 struct HksBlob *tagAead); 47 int32_t HksOpensslAesDecryptUpdate(void *cryptoCtx, const struct HksBlob *message, struct HksBlob *… 50 struct HksBlob *tagAead); 55 const struct HksBlob *message, struct HksBlob *cipherText, struct HksBlob *tagAead); 58 const struct HksBlob *message, struct HksBlob *plainText); 92 void *cryptoCtx, const struct HksBlob *message, struct HksBlob *cipherText); 95 void **cryptoCtx, const struct HksBlob *message, struct HksBlob *cipherText); 98 void *cryptoCtx, const struct HksBlob *message, struct HksBlob *plainText); [all …]
|
/ohos5.0/base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl/passthrough/ |
H A D | huks_access.c | 65 const struct HksBlob *keyIn, struct HksBlob *keyOut)) in ENABLE_CFI() 109 struct HksBlob *handle, struct HksBlob *token)) in ENABLE_CFI() 120 const struct HksBlob *inData, struct HksBlob *outData)) in ENABLE_CFI() 131 const struct HksBlob *inData, struct HksBlob *outData)) in ENABLE_CFI() 182 const struct HksBlob *srcData, struct HksBlob *signature)) in ENABLE_CFI() 193 const struct HksBlob *srcData, const struct HksBlob *signature)) in ENABLE_CFI() 204 const struct HksBlob *plainText, struct HksBlob *cipherText)) in ENABLE_CFI() 215 const struct HksBlob *cipherText, struct HksBlob *plainText)) in ENABLE_CFI() 226 const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey)) in ENABLE_CFI() 248 const struct HksBlob *srcData, struct HksBlob *mac)) in ENABLE_CFI() [all …]
|
/ohos5.0/base/security/huks/test/unittest/huks_standard_test/three_stage_test/include/symmetric_alg_test/ |
H A D | hks_aes_cipher_test_common.h | 39 const struct HksBlob *inData, struct HksBlob *cipherText); 41 const struct HksBlob *cipherText, struct HksBlob *plainText, const struct HksBlob *inData); 42 int32_t HksAesCipherTestCaseOther(const struct HksBlob *keyAlias, struct HksParamSet *genParamSet, 44 int32_t HksAesCipherTestCaseGcm1(const struct HksBlob *keyAlias, struct HksParamSet *genParamSet, 46 int32_t HksAesCipherTestCaseGcm2(const struct HksBlob *keyAlias, struct HksParamSet *genParamSet, 48 int32_t HksAesCipherTestCaseGcm3(const struct HksBlob *keyAlias, struct HksParamSet *genParamSet, 50 int32_t HksAesCipherTestCaseGcm4(const struct HksBlob *keyAlias, struct HksParamSet *genParamSet, 55 const struct HksBlob *inData, struct HksBlob *cipherText); 57 const struct HksBlob *inData, struct HksBlob *cipherText, struct HksBlob *plainText); 59 const struct HksBlob *inData1, struct HksBlob *cipherText1, struct HksBlob *plainText1, [all …]
|
/ohos5.0/base/security/huks/test/unittest/huks_standard_test/interface_inner_test/alg_module_test/include/ |
H A D | openssl_rsa_helper.h | 31 int32_t SaveRsaKeyToHksBlob(EVP_PKEY *pkey, const uint32_t keySize, struct HksBlob *key); 35 bool OpensslGetx509PubKey(EVP_PKEY *pkey, struct HksBlob *x509Key); 37 int32_t X509ToRsaPublicKey(struct HksBlob *x509Key, struct HksBlob *publicKey); 39 int32_t EncryptRsa(const struct HksBlob *inData, struct HksBlob *outData, struct HksBlob *key, int … 42 int32_t DecryptRsa(const struct HksBlob *inData, struct HksBlob *outData, struct HksBlob *key, int … 45 int32_t OpensslSignRsa(const struct HksBlob *plainText, struct HksBlob *signData, struct HksBlob *k… 48 int32_t OpensslVerifyRsa(const struct HksBlob *plainText, struct HksBlob *signData, struct HksBlob … 51 int32_t OpensslRsaSignWithNoneDegist(struct HksBlob *key, int padding, const struct HksBlob *messag… 52 struct HksBlob *signature); 54 int32_t OpensslRsaVerifyWithNoneDegist(struct HksBlob *key, int padding, const struct HksBlob *mess… [all …]
|