From 7230983af4ec375860679551ec73f847b65844c9 Mon Sep 17 00:00:00 2001 From: wangchuanxia Date: Tue, 30 Jan 2024 10:12:01 +0800 Subject: [PATCH 1/8] =?UTF-8?q?mindir=E4=B8=ADlitegraph=E8=BD=AChdimodel?= =?UTF-8?q?=E6=8C=AA=E5=88=B0nnrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangchuanxia --- bundle.json | 1 + .../native/neural_network_runtime/BUILD.gn | 3 + .../hdi_device_v1_0.cpp | 9 +- .../hdi_device_v2_0.cpp | 9 +- .../lite_graph_to_hdi_model_v1_0.cpp | 1185 ++++++++++++++++ .../lite_graph_to_hdi_model_v1_0.h | 32 + .../lite_graph_to_hdi_model_v2_0.cpp | 1186 +++++++++++++++++ .../lite_graph_to_hdi_model_v2_0.h | 32 + 8 files changed, 2449 insertions(+), 8 deletions(-) create mode 100644 frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.cpp create mode 100644 frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.h create mode 100644 frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.cpp create mode 100644 frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.h diff --git a/bundle.json b/bundle.json index 8c4a123..73285db 100644 --- a/bundle.json +++ b/bundle.json @@ -28,6 +28,7 @@ "hdf_core", "hilog", "hitrace", + "ipc", "mindspore" ], "third_party": [] diff --git a/frameworks/native/neural_network_runtime/BUILD.gn b/frameworks/native/neural_network_runtime/BUILD.gn index 8b8995a..f74ec55 100644 --- a/frameworks/native/neural_network_runtime/BUILD.gn +++ b/frameworks/native/neural_network_runtime/BUILD.gn @@ -30,6 +30,8 @@ nnrt_sources = [ "hdi_prepared_model_v1_0.cpp", "hdi_prepared_model_v2_0.cpp", "inner_model.cpp", + "lite_graph_to_hdi_model_v1_0.cpp", + "lite_graph_to_hdi_model_v2_0.cpp", "memory_manager.cpp", "neural_network_runtime.cpp", "neural_network_runtime_compat.cpp", @@ -127,6 +129,7 @@ ohos_shared_library("libneural_network_runtime") { "hdf_core:libhdf_utils", "hilog:libhilog", "hitrace:libhitracechain", + "ipc:ipc_core", "mindspore:mindir", ] diff --git a/frameworks/native/neural_network_runtime/hdi_device_v1_0.cpp b/frameworks/native/neural_network_runtime/hdi_device_v1_0.cpp index 62f3112..ef69c9a 100644 --- a/frameworks/native/neural_network_runtime/hdi_device_v1_0.cpp +++ b/frameworks/native/neural_network_runtime/hdi_device_v1_0.cpp @@ -19,6 +19,7 @@ #include "mindir.h" #include "hdi_prepared_model_v1_0.h" +#include "lite_graph_to_hdi_model_v1_0.h" #include "memory_manager.h" #include "transform.h" #include "common/log.h" @@ -164,7 +165,7 @@ OH_NN_ReturnCode HDIDeviceV1_0::GetSupportedOperation(std::shared_ptrGetSupportedOperation(*iModel, ops); - mindspore::lite::MindIR_Model_Destroy(&iModel); + V1::HDIModel_Destroy(&iModel); auto ret = ReleaseSharedBuffer(tensorBuffer); if (ret != OH_NN_SUCCESS) { LOGE("Release tensorBuffer failed."); @@ -255,7 +256,7 @@ OH_NN_ReturnCode HDIDeviceV1_0::PrepareModel(std::shared_ptrPrepareModel(*iModel, iModelConfig, iPreparedModel); - mindspore::lite::MindIR_Model_Destroy(&iModel); + V1::HDIModel_Destroy(&iModel); auto ret = ReleaseSharedBuffer(tensorBuffer); if (ret != OH_NN_SUCCESS) { LOGE("Release tensorBuffer failed."); diff --git a/frameworks/native/neural_network_runtime/hdi_device_v2_0.cpp b/frameworks/native/neural_network_runtime/hdi_device_v2_0.cpp index 8b4dc35..221bb6b 100644 --- a/frameworks/native/neural_network_runtime/hdi_device_v2_0.cpp +++ b/frameworks/native/neural_network_runtime/hdi_device_v2_0.cpp @@ -20,6 +20,7 @@ #include "securec.h" #include "hdi_prepared_model_v2_0.h" +#include "lite_graph_to_hdi_model_v2_0.h" #include "hdi_returncode_utils.h" #include "memory_manager.h" #include "transform.h" @@ -209,7 +210,7 @@ OH_NN_ReturnCode HDIDeviceV2_0::GetSupportedOperation(std::shared_ptrGetSupportedOperation(*iModel, ops); - mindspore::lite::MindIR_Model_Destroy(&iModel); + V2::HDIModel_Destroy(&iModel); innerRet = ReleaseSharedBuffer(tensorBuffer); if (innerRet != OH_NN_SUCCESS) { LOGE("Release tensorBuffer failed."); @@ -293,7 +294,7 @@ OH_NN_ReturnCode HDIDeviceV2_0::PrepareModel(std::shared_ptrPrepareModel(*iModel, iModelConfig, iPreparedModel); - mindspore::lite::MindIR_Model_Destroy(&iModel); + V2::HDIModel_Destroy(&iModel); auto innerRet = ReleaseSharedBuffer(tensorBuffer); if (innerRet != OH_NN_SUCCESS) { LOGE("Release tensorBuffer failed."); diff --git a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.cpp b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.cpp new file mode 100644 index 0000000..912fcd8 --- /dev/null +++ b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.cpp @@ -0,0 +1,1185 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "lite_graph_to_hdi_model_v1_0.h" +#include +#include +#include +#include "common/log.h" +#include "message_parcel.h" +#include "nnrt/v1_0/nnrt_types.h" +#include "nnrt/v1_0/node_attr_types.h" +#include "securec.h" + +using namespace OHOS::HDI::Nnrt::V1_0; +typedef void *PrimitivePtr; +typedef void *TensorPtr; +namespace OHOS { +namespace NeuralNetworkRuntime { +namespace V1 { +std::vector ConvertActivation(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertActivation v1 failed, primitive is nullptr."); + return {}; + } + + Activation activation{}; + activation.activationType = static_cast( + mindspore::lite::MindIR_Activation_GetActivationType(primitive)); + activation.alpha = mindspore::lite::MindIR_Activation_GetAlpha(primitive); + activation.minVal = mindspore::lite::MindIR_Activation_GetMinVal(primitive); + activation.maxVal = mindspore::lite::MindIR_Activation_GetMaxVal(primitive); + activation.approximate = mindspore::lite::MindIR_Activation_GetApproximate(primitive); + + OHOS::MessageParcel data; + (void)ActivationBlockMarshalling(data, activation); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertAddFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertAddFusion v1 failed, primitive is nullptr."); + return {}; + } + + AddFusion add_fusion{}; + add_fusion.activationType = static_cast( + mindspore::lite::MindIR_Activation_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)AddFusionBlockMarshalling(data, add_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertArgMaxFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertArgMaxFusion v1 failed, primitive is nullptr."); + return {}; + } + + ArgMaxFusion arg_max_fusion{}; + arg_max_fusion.axis = mindspore::lite::MindIR_ArgMaxFusion_GetAxis(primitive); + arg_max_fusion.topK = mindspore::lite::MindIR_ArgMaxFusion_GetTopK(primitive); + arg_max_fusion.keepDims = mindspore::lite::MindIR_ArgMaxFusion_GetKeepDims(primitive); + arg_max_fusion.outMaxValue = mindspore::lite::MindIR_ArgMaxFusion_GetOutMaxValue(primitive); + + OHOS::MessageParcel data; + (void)ArgMaxFusionBlockMarshalling(data, arg_max_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertAvgPoolFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertAvgPoolFusion v1 failed, primitive is nullptr."); + return {}; + } + + AvgPoolFusion avg_pool_fusion{}; + avg_pool_fusion.kernelSize = mindspore::lite::MindIR_AvgPoolFusion_GetKernelSize(primitive); + avg_pool_fusion.strides = mindspore::lite::MindIR_AvgPoolFusion_GetStrides(primitive); + avg_pool_fusion.pad = mindspore::lite::MindIR_AvgPoolFusion_GetPad(primitive); + avg_pool_fusion.padMode = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetPadMode(primitive)); + avg_pool_fusion.roundMode = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetRoundMode(primitive)); + avg_pool_fusion.format = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetFormat(primitive)); + avg_pool_fusion.global = mindspore::lite::MindIR_AvgPoolFusion_GetGlobal(primitive); + avg_pool_fusion.activationType = + static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)AvgPoolFusionBlockMarshalling(data, avg_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertBatchToSpaceND(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertBatchToSpaceND v1 failed, primitive is nullptr."); + return {}; + } + + BatchToSpaceND batch_to_space_n_d{}; + batch_to_space_n_d.blockShape = mindspore::lite::MindIR_BatchToSpaceND_GetBlockShape(primitive); + batch_to_space_n_d.crops = mindspore::lite::MindIR_BatchToSpaceND_GetCrops(primitive); + + OHOS::MessageParcel data; + (void)BatchToSpaceNDBlockMarshalling(data, batch_to_space_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertBiasAdd(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertBiasAdd v1 failed, primitive is nullptr."); + return {}; + } + + BiasAdd bias_add{}; + OHOS::MessageParcel data; + (void)BiasAddBlockMarshalling(data, bias_add); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertCast(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertCast v1 failed, primitive is nullptr."); + return {}; + } + + Cast cast{}; + OHOS::MessageParcel data; + (void)CastBlockMarshalling(data, cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConcat(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConcat v1 failed, primitive is nullptr."); + return {}; + } + + Concat concat{}; + concat.axis = mindspore::lite::MindIR_Concat_GetAxis(primitive); + OHOS::MessageParcel data; + (void)ConcatBlockMarshalling(data, concat); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConv2DFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConv2DFusion v1 failed, primitive is nullptr."); + return {}; + } + + Conv2DFusion conv2_d_fusion{}; + conv2_d_fusion.kernelSize = mindspore::lite::MindIR_Conv2DFusion_GetKernelSize(primitive); + conv2_d_fusion.stride = mindspore::lite::MindIR_Conv2DFusion_GetStride(primitive); + conv2_d_fusion.dilation = mindspore::lite::MindIR_Conv2DFusion_GetDilation(primitive); + conv2_d_fusion.padMode = static_cast(mindspore::lite::MindIR_Conv2DFusion_GetPadMode(primitive)); + conv2_d_fusion.padList = mindspore::lite::MindIR_Conv2DFusion_GetPadList(primitive); + conv2_d_fusion.group = mindspore::lite::MindIR_Conv2DFusion_GetGroup(primitive); + conv2_d_fusion.inChannel = mindspore::lite::MindIR_Conv2DFusion_GetInChannel(primitive); + conv2_d_fusion.outChannel = mindspore::lite::MindIR_Conv2DFusion_GetOutChannel(primitive); + conv2_d_fusion.activationType = static_cast( + mindspore::lite::MindIR_Conv2DFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)Conv2DFusionBlockMarshalling(data, conv2_d_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConv2dTransposeFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConv2dTransposeFusion v1 failed, primitive is nullptr."); + return {}; + } + + Conv2dTransposeFusion conv2d_transpose_fusion{}; + conv2d_transpose_fusion.kernelSize = mindspore::lite::MindIR_Conv2dTransposeFusion_GetKernelSize(primitive); + conv2d_transpose_fusion.stride = mindspore::lite::MindIR_Conv2dTransposeFusion_GetStride(primitive); + conv2d_transpose_fusion.dilation = mindspore::lite::MindIR_Conv2dTransposeFusion_GetDilation(primitive); + conv2d_transpose_fusion.padMode = static_cast( + mindspore::lite::MindIR_Conv2dTransposeFusion_GetPadMode(primitive)); + conv2d_transpose_fusion.padList = mindspore::lite::MindIR_Conv2dTransposeFusion_GetPadList(primitive); + conv2d_transpose_fusion.group = mindspore::lite::MindIR_Conv2dTransposeFusion_GetGroup(primitive); + conv2d_transpose_fusion.inChannel = mindspore::lite::MindIR_Conv2dTransposeFusion_GetInChannel(primitive); + conv2d_transpose_fusion.outChannel = mindspore::lite::MindIR_Conv2dTransposeFusion_GetOutChannel(primitive); + conv2d_transpose_fusion.activationType = static_cast( + mindspore::lite::MindIR_Conv2dTransposeFusion_GetActivationType(primitive)); + conv2d_transpose_fusion.outputPaddings = mindspore::lite::MindIR_Conv2dTransposeFusion_GetOutputPaddings(primitive); + + OHOS::MessageParcel data; + (void)Conv2dTransposeFusionBlockMarshalling(data, conv2d_transpose_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertDivFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertDivFusion v1 failed, primitive is nullptr."); + return {}; + } + + DivFusion div_fusion{}; + div_fusion.activationType = static_cast( + mindspore::lite::MindIR_DivFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)DivFusionBlockMarshalling(data, div_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertEltwise(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertEltwise v1 failed, primitive is nullptr."); + return {}; + } + + Eltwise eltwise{}; + eltwise.mode = static_cast(mindspore::lite::MindIR_Eltwise_GetMode(primitive)); + OHOS::MessageParcel data; + (void)EltwiseBlockMarshalling(data, eltwise); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertExpandDims(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertExpandDims v1 failed, primitive is nullptr."); + return {}; + } + + ExpandDims expand_dims{}; + OHOS::MessageParcel data; + (void)ExpandDimsBlockMarshalling(data, expand_dims); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFill(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFill v1 failed, primitive is nullptr."); + return {}; + } + + Fill fill{}; + OHOS::MessageParcel data; + (void)FillBlockMarshalling(data, fill); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFullConnection(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFullConnection v1 failed, primitive is nullptr."); + return {}; + } + + FullConnection full_connection{}; + full_connection.hasBias = mindspore::lite::MindIR_FullConnection_GetHasBias(primitive); + full_connection.useAxis = mindspore::lite::MindIR_FullConnection_GetUseAxis(primitive); + full_connection.axis = mindspore::lite::MindIR_FullConnection_GetAxis(primitive); + full_connection.activationType = static_cast( + mindspore::lite::MindIR_FullConnection_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)FullConnectionBlockMarshalling(data, full_connection); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFusedBatchNorm(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFusedBatchNorm v1 failed, primitive is nullptr."); + return {}; + } + + FusedBatchNorm fused_batch_norm{}; + fused_batch_norm.epsilon = mindspore::lite::MindIR_FusedBatchNorm_GetEpsilon(primitive); + OHOS::MessageParcel data; + (void)FusedBatchNormBlockMarshalling(data, fused_batch_norm); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertGather(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertGather v1 failed, primitive is nullptr."); + return {}; + } + + Gather gather{}; + OHOS::MessageParcel data; + (void)GatherBlockMarshalling(data, gather); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertLayerNormFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertGather v1 failed, primitive is nullptr."); + return {}; + } + + LayerNormFusion layer_norm_fusion{}; + layer_norm_fusion.beginNormAxis = mindspore::lite::MindIR_LayerNormFusion_GetBeginNormAxis(primitive); + layer_norm_fusion.epsilon = mindspore::lite::MindIR_LayerNormFusion_GetEpsilon(primitive); + layer_norm_fusion.elementwiseAffine = mindspore::lite::MindIR_LayerNormFusion_GetElementwiseAffine(primitive); + layer_norm_fusion.beginParamsAxis = mindspore::lite::MindIR_LayerNormFusion_GetBeginParamsAxis(primitive); + + OHOS::MessageParcel data; + (void)LayerNormFusionBlockMarshalling(data, layer_norm_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertLessEqual(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertLessEqual v1 failed, primitive is nullptr."); + return {}; + } + + LessEqual less_equal{}; + OHOS::MessageParcel data; + (void)LessEqualBlockMarshalling(data, less_equal); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMatMulFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMatMulFusion v1 failed, primitive is nullptr."); + return {}; + } + + MatMulFusion mat_mul_fusion{}; + mat_mul_fusion.transposeA = mindspore::lite::MindIR_MatMulFusion_GetTransposeA(primitive); + mat_mul_fusion.transposeB = mindspore::lite::MindIR_MatMulFusion_GetTransposeB(primitive); + mat_mul_fusion.activationType = static_cast( + mindspore::lite::MindIR_MatMulFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)MatMulFusionBlockMarshalling(data, mat_mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMaximum(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMaximum v1 failed, primitive is nullptr."); + return {}; + } + + Maximum maximum{}; + OHOS::MessageParcel data; + (void)MaximumBlockMarshalling(data, maximum); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMaxPoolFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMaxPoolFusion v1 failed, primitive is nullptr."); + return {}; + } + + MaxPoolFusion max_pool_fusion{}; + max_pool_fusion.kernelSize = mindspore::lite::MindIR_MaxPoolFusion_GetKernelSize(primitive); + max_pool_fusion.strides = mindspore::lite::MindIR_MaxPoolFusion_GetStrides(primitive); + max_pool_fusion.pad = mindspore::lite::MindIR_MaxPoolFusion_GetPad(primitive); + max_pool_fusion.padMode = static_cast(mindspore::lite::MindIR_MaxPoolFusion_GetPadMode(primitive)); + max_pool_fusion.format = static_cast(mindspore::lite::MindIR_MaxPoolFusion_GetFormat(primitive)); + max_pool_fusion.global = mindspore::lite::MindIR_MaxPoolFusion_GetGlobal(primitive); + max_pool_fusion.activationType = static_cast( + mindspore::lite::MindIR_MaxPoolFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)MaxPoolFusionBlockMarshalling(data, max_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMulFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMulFusion v1 failed, primitive is nullptr."); + return {}; + } + + MulFusion mul_fusion{}; + mul_fusion.activationType = static_cast( + mindspore::lite::MindIR_MulFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)MulFusionBlockMarshalling(data, mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertOneHot(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertOneHot v1 failed, primitive is nullptr."); + return {}; + } + + OneHot one_hot{}; + one_hot.axis = mindspore::lite::MindIR_OneHot_GetAxis(primitive); + OHOS::MessageParcel data; + (void)OneHotBlockMarshalling(data, one_hot); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPadFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPadFusion v1 failed, primitive is nullptr."); + return {}; + } + + PadFusion pad_fusion{}; + pad_fusion.paddings = mindspore::lite::MindIR_PadFusion_GetPaddings(primitive); + pad_fusion.paddingMode = static_cast(mindspore::lite::MindIR_PadFusion_GetPaddingMode(primitive)); + pad_fusion.constantValue = mindspore::lite::MindIR_PadFusion_GetConstantValue(primitive); + OHOS::MessageParcel data; + (void)PadFusionBlockMarshalling(data, pad_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPowFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPowFusion v1 failed, primitive is nullptr."); + return {}; + } + + PowFusion pow_fusion{}; + pow_fusion.scale = mindspore::lite::MindIR_PowFusion_GetScale(primitive); + pow_fusion.shift = mindspore::lite::MindIR_PowFusion_GetShift(primitive); + OHOS::MessageParcel data; + (void)PowFusionBlockMarshalling(data, pow_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPReLUFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPReLUFusion v1 failed, primitive is nullptr."); + return {}; + } + + PReLUFusion p_re_l_u_fusion{}; + p_re_l_u_fusion.channelShared = mindspore::lite::MindIR_PReLUFusion_GetChannelShared(primitive); + OHOS::MessageParcel data; + (void)PReLUFusionBlockMarshalling(data, p_re_l_u_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertQuantDTypeCast(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPReLUFusion v1 failed, primitive is nullptr."); + return {}; + } + + QuantDTypeCast quant_d_type_cast{}; + quant_d_type_cast.srcT = mindspore::lite::MindIR_QuantDTypeCast_GetSrcT(primitive); + quant_d_type_cast.dstT = mindspore::lite::MindIR_QuantDTypeCast_GetDstT(primitive); + OHOS::MessageParcel data; + (void)QuantDTypeCastBlockMarshalling(data, quant_d_type_cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertReduceFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertReduceFusion v1 failed, primitive is nullptr."); + return {}; + } + + ReduceFusion reduce_fusion{}; + reduce_fusion.keepDims = mindspore::lite::MindIR_ReduceFusion_GetKeepDims(primitive); + reduce_fusion.mode = static_cast(mindspore::lite::MindIR_ReduceFusion_GetMode(primitive)); + reduce_fusion.reduceToEnd = mindspore::lite::MindIR_ReduceFusion_GetReduceToEnd(primitive); + reduce_fusion.coeff = mindspore::lite::MindIR_ReduceFusion_GetCoeff(primitive); + OHOS::MessageParcel data; + (void)ReduceFusionBlockMarshalling(data, reduce_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertReshape(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertReshape v1 failed, primitive is nullptr."); + return {}; + } + + Reshape reshape{}; + OHOS::MessageParcel data; + (void)ReshapeBlockMarshalling(data, reshape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertResize(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertResize v1 failed, primitive is nullptr."); + return {}; + } + + Resize resize{}; + resize.method = static_cast(mindspore::lite::MindIR_Resize_GetMethod(primitive)); + resize.newHeight = mindspore::lite::MindIR_Resize_GetNewHeight(primitive); + resize.newWidth = mindspore::lite::MindIR_Resize_GetNewWidth(primitive); + resize.preserveAspectRatio = mindspore::lite::MindIR_Resize_GetPreserveAspectRatio(primitive); + resize.coordinateTransformMode = + static_cast(mindspore::lite::MindIR_Resize_GetCoordinateTransformMode(primitive)); + resize.cubicCoeff = mindspore::lite::MindIR_Resize_GetCubicCoeff(primitive); + resize.excludeOutside = mindspore::lite::MindIR_Resize_GetExcludeOutside(primitive); + resize.extrapolationValue = mindspore::lite::MindIR_Resize_GetExtrapolationValue(primitive); + resize.nearestMode = static_cast(mindspore::lite::MindIR_Resize_GetNearestMode(primitive)); + OHOS::MessageParcel data; + (void)ResizeBlockMarshalling(data, resize); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertRsqrt(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertRsqrt v1 failed, primitive is nullptr."); + return {}; + } + + Rsqrt rsqrt{}; + OHOS::MessageParcel data; + (void)RsqrtBlockMarshalling(data, rsqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertScaleFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertScaleFusion v1 failed, primitive is nullptr."); + return {}; + } + + ScaleFusion scale_fusion{}; + scale_fusion.axis = mindspore::lite::MindIR_ScaleFusion_GetAxis(primitive); + scale_fusion.activationType = static_cast( + mindspore::lite::MindIR_ScaleFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)ScaleFusionBlockMarshalling(data, scale_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertShape(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertShape v1 failed, primitive is nullptr."); + return {}; + } + + Shape shape{}; + OHOS::MessageParcel data; + (void)ShapeBlockMarshalling(data, shape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} +std::vector ConvertSliceFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSliceFusion v1 failed, primitive is nullptr."); + return {}; + } + + SliceFusion slice_fusion{}; + slice_fusion.axes = mindspore::lite::MindIR_SliceFusion_GetAxes(primitive); + OHOS::MessageParcel data; + (void)SliceFusionBlockMarshalling(data, slice_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSoftmax(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSoftmax v1 failed, primitive is nullptr."); + return {}; + } + + Softmax softmax{}; + softmax.axis = mindspore::lite::MindIR_Softmax_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SoftmaxBlockMarshalling(data, softmax); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSpaceToBatchND(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSpaceToBatchND v1 failed, primitive is nullptr."); + return {}; + } + + SpaceToBatchND space_to_batch_n_d{}; + space_to_batch_n_d.blockShape = mindspore::lite::MindIR_SpaceToBatchND_GetBlockShape(primitive); + space_to_batch_n_d.paddings = mindspore::lite::MindIR_SpaceToBatchND_GetPaddings(primitive); + OHOS::MessageParcel data; + (void)SpaceToBatchNDBlockMarshalling(data, space_to_batch_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSplit(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSplit v1 failed, primitive is nullptr."); + return {}; + } + + Split split{}; + split.outputNum = mindspore::lite::MindIR_Split_GetOutputNum(primitive); + split.sizeSplits = mindspore::lite::MindIR_Split_GetSizeSplits(primitive); + split.axis = mindspore::lite::MindIR_Split_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SplitBlockMarshalling(data, split); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSqrt(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSqrt v1 failed, primitive is nullptr."); + return {}; + } + + Sqrt sqrt{}; + OHOS::MessageParcel data; + (void)SqrtBlockMarshalling(data, sqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} +std::vector ConvertSquaredDifference(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSquaredDifference v1 failed, primitive is nullptr."); + return {}; + } + + SquaredDifference squared_difference{}; + OHOS::MessageParcel data; + (void)SquaredDifferenceBlockMarshalling(data, squared_difference); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSqueeze(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSqueeze v1 failed, primitive is nullptr."); + return {}; + } + + Squeeze squeeze{}; + squeeze.axis = mindspore::lite::MindIR_Squeeze_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SqueezeBlockMarshalling(data, squeeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertStack(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertStack v1 failed, primitive is nullptr."); + return {}; + } + + Stack stack{}; + stack.axis = mindspore::lite::MindIR_Stack_GetAxis(primitive); + OHOS::MessageParcel data; + (void)StackBlockMarshalling(data, stack); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertStridedSlice(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertStridedSlice v1 failed, primitive is nullptr."); + return {}; + } + + StridedSlice strided_slice{}; + strided_slice.beginMask = mindspore::lite::MindIR_StridedSlice_GetBeginMask(primitive); + strided_slice.endMask = mindspore::lite::MindIR_StridedSlice_GetEndMask(primitive); + strided_slice.ellipsisMask = mindspore::lite::MindIR_StridedSlice_GetEllipsisMask(primitive); + strided_slice.newAxisMask = mindspore::lite::MindIR_StridedSlice_GetNewAxisMask(primitive); + strided_slice.shrinkAxisMask = mindspore::lite::MindIR_StridedSlice_GetShrinkAxisMask(primitive); + OHOS::MessageParcel data; + (void)StridedSliceBlockMarshalling(data, strided_slice); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSubFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSubFusion v1 failed, primitive is nullptr."); + return {}; + } + + SubFusion sub_fusion{}; + sub_fusion.activationType = static_cast( + mindspore::lite::MindIR_SubFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)SubFusionBlockMarshalling(data, sub_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTileFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTileFusion v1 failed, primitive is nullptr."); + return {}; + } + + TileFusion tile_fusion{}; + tile_fusion.dims = mindspore::lite::MindIR_TileFusion_GetDims(primitive); + OHOS::MessageParcel data; + (void)TileFusionBlockMarshalling(data, tile_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTopKFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTopKFusion v1 failed, primitive is nullptr."); + return {}; + } + + TopKFusion top_k_fusion{}; + top_k_fusion.sorted = mindspore::lite::MindIR_TopKFusion_GetSorted(primitive); + top_k_fusion.axis = mindspore::lite::MindIR_TopKFusion_GetAxis(primitive); + OHOS::MessageParcel data; + (void)TopKFusionBlockMarshalling(data, top_k_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTranspose(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTranspose v1 failed, primitive is nullptr."); + return {}; + } + + Transpose transpose{}; + OHOS::MessageParcel data; + (void)TransposeBlockMarshalling(data, transpose); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertUnsqueeze(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertUnsqueeze v1 failed, primitive is nullptr."); + return {}; + } + + Unsqueeze unsqueeze{}; + unsqueeze.axis = mindspore::lite::MindIR_Unsqueeze_GetAxis(primitive); + OHOS::MessageParcel data; + (void)UnsqueezeBlockMarshalling(data, unsqueeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector Convert(NodeType type, PrimitivePtr primitive) +{ + switch (type) { + case NODE_TYPE_ACTIVATION: + return ConvertActivation(primitive); + break; + case NODE_TYPE_ADD_FUSION: + return ConvertAddFusion(primitive); + break; + case NODE_TYPE_ARGMAX_FUSION: + return ConvertArgMaxFusion(primitive); + break; + case NODE_TYPE_AVGPOOL_FUSION: + return ConvertAvgPoolFusion(primitive); + break; + case NODE_TYPE_BATCH_TO_SPACE_ND: + return ConvertBatchToSpaceND(primitive); + break; + case NODE_TYPE_BIAS_ADD: + return ConvertBiasAdd(primitive); + break; + case NODE_TYPE_CAST: + return ConvertCast(primitive); + break; + case NODE_TYPE_CONCAT: + return ConvertConcat(primitive); + break; + case NODE_TYPE_CONV2D_FUSION: + return ConvertConv2DFusion(primitive); + break; + case NODE_TYPE_CONV2D_TRANSPOSE_FUSION: + return ConvertConv2dTransposeFusion(primitive); + break; + case NODE_TYPE_DIV_FUSION: + return ConvertDivFusion(primitive); + break; + case NODE_TYPE_ELTWISE: + return ConvertEltwise(primitive); + break; + case NODE_TYPE_EXPAND_DIMS: + return ConvertExpandDims(primitive); + break; + case NODE_TYPE_FILL: + return ConvertFill(primitive); + break; + case NODE_TYPE_FULL_CONNECTION: + return ConvertFullConnection(primitive); + break; + case NODE_TYPE_FUSED_BATCH_NORM: + return ConvertFusedBatchNorm(primitive); + break; + case NODE_TYPE_GATHER: + return ConvertGather(primitive); + break; + case NODE_TYPE_LAYER_NORM_FUSION: + return ConvertLayerNormFusion(primitive); + break; + case NODE_TYPE_LESS_EQUAL: + return ConvertLessEqual(primitive); + break; + case NODE_TYPE_MATMUL_FUSION: + return ConvertMatMulFusion(primitive); + break; + case NODE_TYPE_MAXIMUM: + return ConvertMaximum(primitive); + break; + case NODE_TYPE_MAX_POOL_FUSION: + return ConvertMaxPoolFusion(primitive); + break; + case NODE_TYPE_MUL_FUSION: + return ConvertMulFusion(primitive); + break; + case NODE_TYPE_ONE_HOT: + return ConvertOneHot(primitive); + break; + case NODE_TYPE_PAD_FUSION: + return ConvertPadFusion(primitive); + break; + case NODE_TYPE_POW_FUSION: + return ConvertPowFusion(primitive); + break; + case NODE_TYPE_PRELU_FUSION: + return ConvertPReLUFusion(primitive); + break; + case NODE_TYPE_QUANT_DTYPE_CAST: + return ConvertQuantDTypeCast(primitive); + break; + case NODE_TYPE_REDUCE_FUSION: + return ConvertReduceFusion(primitive); + break; + case NODE_TYPE_RESHAPE: + return ConvertReshape(primitive); + break; + case NODE_TYPE_RESIZE: + return ConvertResize(primitive); + break; + case NODE_TYPE_RSQRT: + return ConvertRsqrt(primitive); + break; + case NODE_TYPE_SCALE_FUSION: + return ConvertScaleFusion(primitive); + break; + case NODE_TYPE_SHAPE: + return ConvertShape(primitive); + break; + case NODE_TYPE_SLICE_FUSION: + return ConvertSliceFusion(primitive); + break; + case NODE_TYPE_SOFTMAX: + return ConvertSoftmax(primitive); + break; + case NODE_TYPE_SPACE_TO_BATCH_ND: + return ConvertSpaceToBatchND(primitive); + break; + case NODE_TYPE_SPLIT: + return ConvertSplit(primitive); + break; + case NODE_TYPE_SQRT: + return ConvertSqrt(primitive); + break; + case NODE_TYPE_SQUARED_DIFFERENCE: + return ConvertSquaredDifference(primitive); + break; + case NODE_TYPE_SQUEEZE: + return ConvertSqueeze(primitive); + break; + case NODE_TYPE_STACK: + return ConvertStack(primitive); + break; + case NODE_TYPE_STRIDED_SLICE: + return ConvertStridedSlice(primitive); + break; + case NODE_TYPE_SUB_FUSION: + return ConvertSubFusion(primitive); + break; + case NODE_TYPE_TILE_FUSION: + return ConvertTileFusion(primitive); + break; + case NODE_TYPE_TOPK_FUSION: + return ConvertTopKFusion(primitive); + break; + case NODE_TYPE_TRANSPOSE: + return ConvertTranspose(primitive); + break; + case NODE_TYPE_UNSQUEEZE: + return ConvertUnsqueeze(primitive); + break; + default: + return {}; + } +} + +inline std::vector MindIR_Tensor_GetQuantParams_OHOS(TensorPtr tensor) +{ + if (tensor != nullptr) { + std::vector result; + auto src = mindspore::lite::MindIR_Tensor_GetQuantParams(tensor); + if (src.empty()) { + return {}; + } + size_t size = src.size(); + for (size_t i = 0; i < size; i++) { + OHOS::HDI::Nnrt::V1_0::QuantParam quantParam{src[i].numBits, src[i].zeroPoint, src[i].scale}; + result.emplace_back(quantParam); + } + return result; + } else { + return {}; + } +} + +void HDIModel_Destroy(OHOS::HDI::Nnrt::V1_0::Model **model) +{ + if (model != nullptr && *model != nullptr) { + auto model_data = *model; + delete (model_data); + *model = nullptr; + } +} + +OHOS::HDI::Nnrt::V1_0::SharedBuffer Copy_MindIR_Tensor_Data_To_HDIBuffer(const TensorPtr tensor, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer_templete, uint8_t *mmap_ptr, unsigned int offset) +{ + if (tensor == nullptr) { + LOGE(""); + return {-1, 0, offset, 0}; + } + if (mmap_ptr == nullptr) { + LOGE("Tensor GetData failed, mmap pointer should not be nullptr"); + return {-1, 0, offset, 0}; + } + + OHOS::HDI::Nnrt::V1_0::SharedBuffer result{}; + std::vector data = mindspore::lite::MindIR_Tensor_GetData(tensor); + if (data.empty()) { + result.fd = -1; + result.bufferSize = buffer_templete.bufferSize; + result.offset = offset; + result.dataSize = 0; + return result; + } + result.fd = buffer_templete.fd; + result.bufferSize = buffer_templete.bufferSize; + auto ret = memcpy_s(mmap_ptr + offset, data.size(), data.data(), data.size()); + if (ret != EOK) { + LOGE("Tensor memcpy failed."); + return {-1, 0, offset, 0}; + } + result.offset = offset; + result.dataSize = data.size(); + return result; +} + +OHOS::HDI::Nnrt::V1_0::Model *LiteGraph_To_HDIModel(const mindspore::lite::LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer) +{ + if (lite_graph == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, lite graph is nullptr."); + return nullptr; + } + + LOGI("MindIR_LiteGraph_To_Model begin"); // todo 改称hitrace + + std::vector inputIndex; + std::vector outputIndex; + std::vector nodes; + std::vector allTensors; + std::vector subGraph; + + // nodes + for (auto node : lite_graph->all_nodes_) { + if (node == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, node is nullptr."); + return nullptr; + } + OHOS::HDI::Nnrt::V1_0::Node tmp; + tmp.name = node->name_; + if (node->primitive_ == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, node primitive is nullptr."); + return nullptr; + } + tmp.nodeType = static_cast(mindspore::lite::MindIR_Primitive_GetType(node->primitive_)); + tmp.nodeAttr = Convert(tmp.nodeType, node->primitive_); + tmp.inputIndex = node->input_indices_; + tmp.outputIndex = node->output_indices_; + tmp.quantType = static_cast(node->quant_type_); + nodes.emplace_back(tmp); + } + + // Tensor + unsigned int tensor_buffer_offset = 0; + uint8_t *mmap_ptr = nullptr; + if (buffer.fd != -1) { + mmap_ptr = + static_cast(mmap(nullptr, buffer.bufferSize, PROT_READ | PROT_WRITE, MAP_SHARED, buffer.fd, 0)); + if (mmap_ptr == MAP_FAILED) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, mmap failed."); + return nullptr; + } + } + for (auto tensor : lite_graph->all_tensors_) { + OHOS::HDI::Nnrt::V1_0::Tensor tmp; + tmp.name = mindspore::lite::MindIR_Tensor_GetName(tensor); + tmp.dataType = static_cast(mindspore::lite::MindIR_Tensor_GetDataType(tensor)); + tmp.dims = mindspore::lite::MindIR_Tensor_GetDims(tensor); + tmp.format = static_cast(mindspore::lite::MindIR_Tensor_GetFormat(tensor)); + tmp.data = Copy_MindIR_Tensor_Data_To_HDIBuffer(tensor, buffer, mmap_ptr, tensor_buffer_offset); // todo 实现 + tmp.quantParams = MindIR_Tensor_GetQuantParams_OHOS(tensor); + allTensors.emplace_back(tmp); + tensor_buffer_offset = tmp.data.offset + tmp.data.dataSize; + } + if (buffer.fd != -1) { + auto munmap_res = munmap(mmap_ptr, buffer.bufferSize); + if (munmap_res != 0) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, unmap failed."); + return nullptr; + } + } + + // SubGraph + for (auto graph : lite_graph->sub_graphs_) { + OHOS::HDI::Nnrt::V1_0::SubGraph tmp; + tmp.name = graph->name_; + tmp.inputIndices = std::vector(graph->input_indices_); + tmp.outputIndices = std::vector(graph->output_indices_); + tmp.nodeIndices = std::vector(graph->node_indices_); + subGraph.emplace_back(tmp); + } + + auto *ret_model = new (std::nothrow) Model(); + if (ret_model == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v1 failed, new Model failed."); + return nullptr; + } + ret_model->name = lite_graph->name_; + ret_model->inputIndex = lite_graph->input_indices_; + ret_model->outputIndex = lite_graph->output_indices_; + ret_model->nodes = nodes; + ret_model->allTensors = allTensors; + ret_model->subGraph = subGraph; + return ret_model; +} + +} // V1 +} // NeuralNetworkRuntime +} // OHOS \ No newline at end of file diff --git a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.h b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.h new file mode 100644 index 0000000..fd562c7 --- /dev/null +++ b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v1_0.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V1_0_H +#define NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V1_0_H + +#include "mindir.h" +#include "nnrt/v1_0/model_types.h" + +namespace OHOS { +namespace NeuralNetworkRuntime { +namespace V1 { +void HDIModel_Destroy(OHOS::HDI::Nnrt::V1_0::Model **model); +OHOS::HDI::Nnrt::V1_0::Model *LiteGraph_To_HDIModel(const mindspore::lite::LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer); +} // V1 +} // NeuralNetworkRuntime +} // OHOS + +#endif // NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V1_0_H \ No newline at end of file diff --git a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.cpp b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.cpp new file mode 100644 index 0000000..9125f33 --- /dev/null +++ b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.cpp @@ -0,0 +1,1186 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "lite_graph_to_hdi_model_v2_0.h" +#include +#include +#include +#include "common/log.h" +#include "message_parcel.h" +#include "nnrt/v2_0/nnrt_types.h" +#include "nnrt/v2_0/node_attr_types.h" +#include "securec.h" + +using namespace OHOS::HDI::Nnrt::V2_0; +typedef void *PrimitivePtr; +typedef void *TensorPtr; +namespace OHOS { +namespace NeuralNetworkRuntime { +namespace V2 { +std::vector ConvertActivation(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertActivation v2 failed, primitive is nullptr."); + return {}; + } + + Activation activation{}; + activation.activationType = static_cast( + mindspore::lite::MindIR_Activation_GetActivationType(primitive)); + activation.alpha = mindspore::lite::MindIR_Activation_GetAlpha(primitive); + activation.minVal = mindspore::lite::MindIR_Activation_GetMinVal(primitive); + activation.maxVal = mindspore::lite::MindIR_Activation_GetMaxVal(primitive); + activation.approximate = mindspore::lite::MindIR_Activation_GetApproximate(primitive); + + OHOS::MessageParcel data; + (void)ActivationBlockMarshalling(data, activation); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertAddFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertAddFusion v2 failed, primitive is nullptr."); + return {}; + } + + AddFusion add_fusion{}; + add_fusion.activationType = static_cast( + mindspore::lite::MindIR_Activation_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)AddFusionBlockMarshalling(data, add_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertArgMaxFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertArgMaxFusion v2 failed, primitive is nullptr."); + return {}; + } + + ArgMaxFusion arg_max_fusion{}; + arg_max_fusion.axis = mindspore::lite::MindIR_ArgMaxFusion_GetAxis(primitive); + arg_max_fusion.topK = mindspore::lite::MindIR_ArgMaxFusion_GetTopK(primitive); + arg_max_fusion.keepDims = mindspore::lite::MindIR_ArgMaxFusion_GetKeepDims(primitive); + arg_max_fusion.outMaxValue = mindspore::lite::MindIR_ArgMaxFusion_GetOutMaxValue(primitive); + + OHOS::MessageParcel data; + (void)ArgMaxFusionBlockMarshalling(data, arg_max_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertAvgPoolFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertAvgPoolFusion v2 failed, primitive is nullptr."); + return {}; + } + + AvgPoolFusion avg_pool_fusion{}; + avg_pool_fusion.kernelSize = mindspore::lite::MindIR_AvgPoolFusion_GetKernelSize(primitive); + avg_pool_fusion.strides = mindspore::lite::MindIR_AvgPoolFusion_GetStrides(primitive); + avg_pool_fusion.pad = mindspore::lite::MindIR_AvgPoolFusion_GetPad(primitive); + avg_pool_fusion.padMode = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetPadMode(primitive)); + avg_pool_fusion.roundMode = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetRoundMode(primitive)); + avg_pool_fusion.format = static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetFormat(primitive)); + avg_pool_fusion.global = mindspore::lite::MindIR_AvgPoolFusion_GetGlobal(primitive); + avg_pool_fusion.activationType = + static_cast(mindspore::lite::MindIR_AvgPoolFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)AvgPoolFusionBlockMarshalling(data, avg_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertBatchToSpaceND(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertBatchToSpaceND v2 failed, primitive is nullptr."); + return {}; + } + + BatchToSpaceND batch_to_space_n_d{}; + batch_to_space_n_d.blockShape = mindspore::lite::MindIR_BatchToSpaceND_GetBlockShape(primitive); + batch_to_space_n_d.crops = mindspore::lite::MindIR_BatchToSpaceND_GetCrops(primitive); + + OHOS::MessageParcel data; + (void)BatchToSpaceNDBlockMarshalling(data, batch_to_space_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertBiasAdd(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertBiasAdd v2 failed, primitive is nullptr."); + return {}; + } + + BiasAdd bias_add{}; + OHOS::MessageParcel data; + (void)BiasAddBlockMarshalling(data, bias_add); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertCast(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertCast v2 failed, primitive is nullptr."); + return {}; + } + + Cast cast{}; + OHOS::MessageParcel data; + (void)CastBlockMarshalling(data, cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConcat(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConcat v2 failed, primitive is nullptr."); + return {}; + } + + Concat concat{}; + concat.axis = mindspore::lite::MindIR_Concat_GetAxis(primitive); + OHOS::MessageParcel data; + (void)ConcatBlockMarshalling(data, concat); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConv2DFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConv2DFusion v2 failed, primitive is nullptr."); + return {}; + } + + Conv2DFusion conv2_d_fusion{}; + conv2_d_fusion.kernelSize = mindspore::lite::MindIR_Conv2DFusion_GetKernelSize(primitive); + conv2_d_fusion.stride = mindspore::lite::MindIR_Conv2DFusion_GetStride(primitive); + conv2_d_fusion.dilation = mindspore::lite::MindIR_Conv2DFusion_GetDilation(primitive); + conv2_d_fusion.padMode = static_cast(mindspore::lite::MindIR_Conv2DFusion_GetPadMode(primitive)); + conv2_d_fusion.padList = mindspore::lite::MindIR_Conv2DFusion_GetPadList(primitive); + conv2_d_fusion.group = mindspore::lite::MindIR_Conv2DFusion_GetGroup(primitive); + conv2_d_fusion.inChannel = mindspore::lite::MindIR_Conv2DFusion_GetInChannel(primitive); + conv2_d_fusion.outChannel = mindspore::lite::MindIR_Conv2DFusion_GetOutChannel(primitive); + conv2_d_fusion.activationType = static_cast( + mindspore::lite::MindIR_Conv2DFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)Conv2DFusionBlockMarshalling(data, conv2_d_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertConv2dTransposeFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertConv2dTransposeFusion v2 failed, primitive is nullptr."); + return {}; + } + + Conv2dTransposeFusion conv2d_transpose_fusion{}; + conv2d_transpose_fusion.kernelSize = mindspore::lite::MindIR_Conv2dTransposeFusion_GetKernelSize(primitive); + conv2d_transpose_fusion.stride = mindspore::lite::MindIR_Conv2dTransposeFusion_GetStride(primitive); + conv2d_transpose_fusion.dilation = mindspore::lite::MindIR_Conv2dTransposeFusion_GetDilation(primitive); + conv2d_transpose_fusion.padMode = static_cast( + mindspore::lite::MindIR_Conv2dTransposeFusion_GetPadMode(primitive)); + conv2d_transpose_fusion.padList = mindspore::lite::MindIR_Conv2dTransposeFusion_GetPadList(primitive); + conv2d_transpose_fusion.group = mindspore::lite::MindIR_Conv2dTransposeFusion_GetGroup(primitive); + conv2d_transpose_fusion.inChannel = mindspore::lite::MindIR_Conv2dTransposeFusion_GetInChannel(primitive); + conv2d_transpose_fusion.outChannel = mindspore::lite::MindIR_Conv2dTransposeFusion_GetOutChannel(primitive); + conv2d_transpose_fusion.activationType = static_cast( + mindspore::lite::MindIR_Conv2dTransposeFusion_GetActivationType(primitive)); + conv2d_transpose_fusion.outputPaddings = mindspore::lite::MindIR_Conv2dTransposeFusion_GetOutputPaddings(primitive); + + OHOS::MessageParcel data; + (void)Conv2dTransposeFusionBlockMarshalling(data, conv2d_transpose_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertDivFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertDivFusion v2 failed, primitive is nullptr."); + return {}; + } + + DivFusion div_fusion{}; + div_fusion.activationType = static_cast( + mindspore::lite::MindIR_DivFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)DivFusionBlockMarshalling(data, div_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertEltwise(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertEltwise v2 failed, primitive is nullptr."); + return {}; + } + + Eltwise eltwise{}; + eltwise.mode = static_cast(mindspore::lite::MindIR_Eltwise_GetMode(primitive)); + OHOS::MessageParcel data; + (void)EltwiseBlockMarshalling(data, eltwise); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertExpandDims(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertExpandDims v2 failed, primitive is nullptr."); + return {}; + } + + ExpandDims expand_dims{}; + OHOS::MessageParcel data; + (void)ExpandDimsBlockMarshalling(data, expand_dims); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFill(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFill v2 failed, primitive is nullptr."); + return {}; + } + + Fill fill{}; + OHOS::MessageParcel data; + (void)FillBlockMarshalling(data, fill); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFullConnection(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFullConnection v2 failed, primitive is nullptr."); + return {}; + } + + FullConnection full_connection{}; + full_connection.hasBias = mindspore::lite::MindIR_FullConnection_GetHasBias(primitive); + full_connection.useAxis = mindspore::lite::MindIR_FullConnection_GetUseAxis(primitive); + full_connection.axis = mindspore::lite::MindIR_FullConnection_GetAxis(primitive); + full_connection.activationType = static_cast( + mindspore::lite::MindIR_FullConnection_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)FullConnectionBlockMarshalling(data, full_connection); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertFusedBatchNorm(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertFusedBatchNorm v2 failed, primitive is nullptr."); + return {}; + } + + FusedBatchNorm fused_batch_norm{}; + fused_batch_norm.epsilon = mindspore::lite::MindIR_FusedBatchNorm_GetEpsilon(primitive); + OHOS::MessageParcel data; + (void)FusedBatchNormBlockMarshalling(data, fused_batch_norm); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertGather(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertGather v2 failed, primitive is nullptr."); + return {}; + } + + Gather gather{}; + OHOS::MessageParcel data; + (void)GatherBlockMarshalling(data, gather); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertLayerNormFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertGather v2 failed, primitive is nullptr."); + return {}; + } + + LayerNormFusion layer_norm_fusion{}; + layer_norm_fusion.beginNormAxis = mindspore::lite::MindIR_LayerNormFusion_GetBeginNormAxis(primitive); + layer_norm_fusion.epsilon = mindspore::lite::MindIR_LayerNormFusion_GetEpsilon(primitive); + layer_norm_fusion.elementwiseAffine = mindspore::lite::MindIR_LayerNormFusion_GetElementwiseAffine(primitive); + layer_norm_fusion.beginParamsAxis = mindspore::lite::MindIR_LayerNormFusion_GetBeginParamsAxis(primitive); + + OHOS::MessageParcel data; + (void)LayerNormFusionBlockMarshalling(data, layer_norm_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertLessEqual(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertLessEqual v2 failed, primitive is nullptr."); + return {}; + } + + LessEqual less_equal{}; + OHOS::MessageParcel data; + (void)LessEqualBlockMarshalling(data, less_equal); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMatMulFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMatMulFusion v2 failed, primitive is nullptr."); + return {}; + } + + MatMulFusion mat_mul_fusion{}; + mat_mul_fusion.transposeA = mindspore::lite::MindIR_MatMulFusion_GetTransposeA(primitive); + mat_mul_fusion.transposeB = mindspore::lite::MindIR_MatMulFusion_GetTransposeB(primitive); + mat_mul_fusion.activationType = static_cast( + mindspore::lite::MindIR_MatMulFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)MatMulFusionBlockMarshalling(data, mat_mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMaximum(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMaximum v2 failed, primitive is nullptr."); + return {}; + } + + Maximum maximum{}; + OHOS::MessageParcel data; + (void)MaximumBlockMarshalling(data, maximum); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMaxPoolFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMaxPoolFusion v2 failed, primitive is nullptr."); + return {}; + } + + MaxPoolFusion max_pool_fusion{}; + max_pool_fusion.kernelSize = mindspore::lite::MindIR_MaxPoolFusion_GetKernelSize(primitive); + max_pool_fusion.strides = mindspore::lite::MindIR_MaxPoolFusion_GetStrides(primitive); + max_pool_fusion.pad = mindspore::lite::MindIR_MaxPoolFusion_GetPad(primitive); + max_pool_fusion.padMode = static_cast(mindspore::lite::MindIR_MaxPoolFusion_GetPadMode(primitive)); + max_pool_fusion.format = static_cast(mindspore::lite::MindIR_MaxPoolFusion_GetFormat(primitive)); + max_pool_fusion.roundMode = static_cast(mindspore::lite::MindIR_MaxPoolFusion_GetRoundMode(primitive)); + max_pool_fusion.global = mindspore::lite::MindIR_MaxPoolFusion_GetGlobal(primitive); + max_pool_fusion.activationType = static_cast( + mindspore::lite::MindIR_MaxPoolFusion_GetActivationType(primitive)); + + OHOS::MessageParcel data; + (void)MaxPoolFusionBlockMarshalling(data, max_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertMulFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertMulFusion v2 failed, primitive is nullptr."); + return {}; + } + + MulFusion mul_fusion{}; + mul_fusion.activationType = static_cast( + mindspore::lite::MindIR_MulFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)MulFusionBlockMarshalling(data, mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertOneHot(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertOneHot v2 failed, primitive is nullptr."); + return {}; + } + + OneHot one_hot{}; + one_hot.axis = mindspore::lite::MindIR_OneHot_GetAxis(primitive); + OHOS::MessageParcel data; + (void)OneHotBlockMarshalling(data, one_hot); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPadFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPadFusion v2 failed, primitive is nullptr."); + return {}; + } + + PadFusion pad_fusion{}; + pad_fusion.paddings = mindspore::lite::MindIR_PadFusion_GetPaddings(primitive); + pad_fusion.paddingMode = static_cast(mindspore::lite::MindIR_PadFusion_GetPaddingMode(primitive)); + pad_fusion.constantValue = mindspore::lite::MindIR_PadFusion_GetConstantValue(primitive); + OHOS::MessageParcel data; + (void)PadFusionBlockMarshalling(data, pad_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPowFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPowFusion v2 failed, primitive is nullptr."); + return {}; + } + + PowFusion pow_fusion{}; + pow_fusion.scale = mindspore::lite::MindIR_PowFusion_GetScale(primitive); + pow_fusion.shift = mindspore::lite::MindIR_PowFusion_GetShift(primitive); + OHOS::MessageParcel data; + (void)PowFusionBlockMarshalling(data, pow_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertPReLUFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPReLUFusion v2 failed, primitive is nullptr."); + return {}; + } + + PReLUFusion p_re_l_u_fusion{}; + p_re_l_u_fusion.channelShared = mindspore::lite::MindIR_PReLUFusion_GetChannelShared(primitive); + OHOS::MessageParcel data; + (void)PReLUFusionBlockMarshalling(data, p_re_l_u_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertQuantDTypeCast(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertPReLUFusion v2 failed, primitive is nullptr."); + return {}; + } + + QuantDTypeCast quant_d_type_cast{}; + quant_d_type_cast.srcT = mindspore::lite::MindIR_QuantDTypeCast_GetSrcT(primitive); + quant_d_type_cast.dstT = mindspore::lite::MindIR_QuantDTypeCast_GetDstT(primitive); + OHOS::MessageParcel data; + (void)QuantDTypeCastBlockMarshalling(data, quant_d_type_cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertReduceFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertReduceFusion v2 failed, primitive is nullptr."); + return {}; + } + + ReduceFusion reduce_fusion{}; + reduce_fusion.keepDims = mindspore::lite::MindIR_ReduceFusion_GetKeepDims(primitive); + reduce_fusion.mode = static_cast(mindspore::lite::MindIR_ReduceFusion_GetMode(primitive)); + reduce_fusion.reduceToEnd = mindspore::lite::MindIR_ReduceFusion_GetReduceToEnd(primitive); + reduce_fusion.coeff = mindspore::lite::MindIR_ReduceFusion_GetCoeff(primitive); + OHOS::MessageParcel data; + (void)ReduceFusionBlockMarshalling(data, reduce_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertReshape(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertReshape v2 failed, primitive is nullptr."); + return {}; + } + + Reshape reshape{}; + OHOS::MessageParcel data; + (void)ReshapeBlockMarshalling(data, reshape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertResize(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertResize v2 failed, primitive is nullptr."); + return {}; + } + + Resize resize{}; + resize.method = static_cast(mindspore::lite::MindIR_Resize_GetMethod(primitive)); + resize.newHeight = mindspore::lite::MindIR_Resize_GetNewHeight(primitive); + resize.newWidth = mindspore::lite::MindIR_Resize_GetNewWidth(primitive); + resize.preserveAspectRatio = mindspore::lite::MindIR_Resize_GetPreserveAspectRatio(primitive); + resize.coordinateTransformMode = + static_cast(mindspore::lite::MindIR_Resize_GetCoordinateTransformMode(primitive)); + resize.cubicCoeff = mindspore::lite::MindIR_Resize_GetCubicCoeff(primitive); + resize.excludeOutside = mindspore::lite::MindIR_Resize_GetExcludeOutside(primitive); + resize.extrapolationValue = mindspore::lite::MindIR_Resize_GetExtrapolationValue(primitive); + resize.nearestMode = static_cast(mindspore::lite::MindIR_Resize_GetNearestMode(primitive)); + OHOS::MessageParcel data; + (void)ResizeBlockMarshalling(data, resize); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertRsqrt(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertRsqrt v2 failed, primitive is nullptr."); + return {}; + } + + Rsqrt rsqrt{}; + OHOS::MessageParcel data; + (void)RsqrtBlockMarshalling(data, rsqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertScaleFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertScaleFusion v2 failed, primitive is nullptr."); + return {}; + } + + ScaleFusion scale_fusion{}; + scale_fusion.axis = mindspore::lite::MindIR_ScaleFusion_GetAxis(primitive); + scale_fusion.activationType = static_cast( + mindspore::lite::MindIR_ScaleFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)ScaleFusionBlockMarshalling(data, scale_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertShape(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertShape v2 failed, primitive is nullptr."); + return {}; + } + + Shape shape{}; + OHOS::MessageParcel data; + (void)ShapeBlockMarshalling(data, shape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} +std::vector ConvertSliceFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSliceFusion v2 failed, primitive is nullptr."); + return {}; + } + + SliceFusion slice_fusion{}; + slice_fusion.axes = mindspore::lite::MindIR_SliceFusion_GetAxes(primitive); + OHOS::MessageParcel data; + (void)SliceFusionBlockMarshalling(data, slice_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSoftmax(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSoftmax v2 failed, primitive is nullptr."); + return {}; + } + + Softmax softmax{}; + softmax.axis = mindspore::lite::MindIR_Softmax_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SoftmaxBlockMarshalling(data, softmax); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSpaceToBatchND(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSpaceToBatchND v2 failed, primitive is nullptr."); + return {}; + } + + SpaceToBatchND space_to_batch_n_d{}; + space_to_batch_n_d.blockShape = mindspore::lite::MindIR_SpaceToBatchND_GetBlockShape(primitive); + space_to_batch_n_d.paddings = mindspore::lite::MindIR_SpaceToBatchND_GetPaddings(primitive); + OHOS::MessageParcel data; + (void)SpaceToBatchNDBlockMarshalling(data, space_to_batch_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSplit(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSplit v2 failed, primitive is nullptr."); + return {}; + } + + Split split{}; + split.outputNum = mindspore::lite::MindIR_Split_GetOutputNum(primitive); + split.sizeSplits = mindspore::lite::MindIR_Split_GetSizeSplits(primitive); + split.axis = mindspore::lite::MindIR_Split_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SplitBlockMarshalling(data, split); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSqrt(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSqrt v2 failed, primitive is nullptr."); + return {}; + } + + Sqrt sqrt{}; + OHOS::MessageParcel data; + (void)SqrtBlockMarshalling(data, sqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} +std::vector ConvertSquaredDifference(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSquaredDifference v2 failed, primitive is nullptr."); + return {}; + } + + SquaredDifference squared_difference{}; + OHOS::MessageParcel data; + (void)SquaredDifferenceBlockMarshalling(data, squared_difference); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSqueeze(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSqueeze v2 failed, primitive is nullptr."); + return {}; + } + + Squeeze squeeze{}; + squeeze.axis = mindspore::lite::MindIR_Squeeze_GetAxis(primitive); + OHOS::MessageParcel data; + (void)SqueezeBlockMarshalling(data, squeeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertStack(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertStack v2 failed, primitive is nullptr."); + return {}; + } + + Stack stack{}; + stack.axis = mindspore::lite::MindIR_Stack_GetAxis(primitive); + OHOS::MessageParcel data; + (void)StackBlockMarshalling(data, stack); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertStridedSlice(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertStridedSlice v2 failed, primitive is nullptr."); + return {}; + } + + StridedSlice strided_slice{}; + strided_slice.beginMask = mindspore::lite::MindIR_StridedSlice_GetBeginMask(primitive); + strided_slice.endMask = mindspore::lite::MindIR_StridedSlice_GetEndMask(primitive); + strided_slice.ellipsisMask = mindspore::lite::MindIR_StridedSlice_GetEllipsisMask(primitive); + strided_slice.newAxisMask = mindspore::lite::MindIR_StridedSlice_GetNewAxisMask(primitive); + strided_slice.shrinkAxisMask = mindspore::lite::MindIR_StridedSlice_GetShrinkAxisMask(primitive); + OHOS::MessageParcel data; + (void)StridedSliceBlockMarshalling(data, strided_slice); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertSubFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertSubFusion v2 failed, primitive is nullptr."); + return {}; + } + + SubFusion sub_fusion{}; + sub_fusion.activationType = static_cast( + mindspore::lite::MindIR_SubFusion_GetActivationType(primitive)); + OHOS::MessageParcel data; + (void)SubFusionBlockMarshalling(data, sub_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTileFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTileFusion v2 failed, primitive is nullptr."); + return {}; + } + + TileFusion tile_fusion{}; + tile_fusion.dims = mindspore::lite::MindIR_TileFusion_GetDims(primitive); + OHOS::MessageParcel data; + (void)TileFusionBlockMarshalling(data, tile_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTopKFusion(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTopKFusion v2 failed, primitive is nullptr."); + return {}; + } + + TopKFusion top_k_fusion{}; + top_k_fusion.sorted = mindspore::lite::MindIR_TopKFusion_GetSorted(primitive); + top_k_fusion.axis = mindspore::lite::MindIR_TopKFusion_GetAxis(primitive); + OHOS::MessageParcel data; + (void)TopKFusionBlockMarshalling(data, top_k_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertTranspose(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertTranspose v2 failed, primitive is nullptr."); + return {}; + } + + Transpose transpose{}; + OHOS::MessageParcel data; + (void)TransposeBlockMarshalling(data, transpose); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector ConvertUnsqueeze(PrimitivePtr primitive) +{ + if (primitive == nullptr) { + LOGE("ConvertUnsqueeze v2 failed, primitive is nullptr."); + return {}; + } + + Unsqueeze unsqueeze{}; + unsqueeze.axis = mindspore::lite::MindIR_Unsqueeze_GetAxis(primitive); + OHOS::MessageParcel data; + (void)UnsqueezeBlockMarshalling(data, unsqueeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; +} + +std::vector Convert(NodeType type, PrimitivePtr primitive) +{ + switch (type) { + case NODE_TYPE_ACTIVATION: + return ConvertActivation(primitive); + break; + case NODE_TYPE_ADD_FUSION: + return ConvertAddFusion(primitive); + break; + case NODE_TYPE_ARGMAX_FUSION: + return ConvertArgMaxFusion(primitive); + break; + case NODE_TYPE_AVGPOOL_FUSION: + return ConvertAvgPoolFusion(primitive); + break; + case NODE_TYPE_BATCH_TO_SPACE_ND: + return ConvertBatchToSpaceND(primitive); + break; + case NODE_TYPE_BIAS_ADD: + return ConvertBiasAdd(primitive); + break; + case NODE_TYPE_CAST: + return ConvertCast(primitive); + break; + case NODE_TYPE_CONCAT: + return ConvertConcat(primitive); + break; + case NODE_TYPE_CONV2D_FUSION: + return ConvertConv2DFusion(primitive); + break; + case NODE_TYPE_CONV2D_TRANSPOSE_FUSION: + return ConvertConv2dTransposeFusion(primitive); + break; + case NODE_TYPE_DIV_FUSION: + return ConvertDivFusion(primitive); + break; + case NODE_TYPE_ELTWISE: + return ConvertEltwise(primitive); + break; + case NODE_TYPE_EXPAND_DIMS: + return ConvertExpandDims(primitive); + break; + case NODE_TYPE_FILL: + return ConvertFill(primitive); + break; + case NODE_TYPE_FULL_CONNECTION: + return ConvertFullConnection(primitive); + break; + case NODE_TYPE_FUSED_BATCH_NORM: + return ConvertFusedBatchNorm(primitive); + break; + case NODE_TYPE_GATHER: + return ConvertGather(primitive); + break; + case NODE_TYPE_LAYER_NORM_FUSION: + return ConvertLayerNormFusion(primitive); + break; + case NODE_TYPE_LESS_EQUAL: + return ConvertLessEqual(primitive); + break; + case NODE_TYPE_MATMUL_FUSION: + return ConvertMatMulFusion(primitive); + break; + case NODE_TYPE_MAXIMUM: + return ConvertMaximum(primitive); + break; + case NODE_TYPE_MAX_POOL_FUSION: + return ConvertMaxPoolFusion(primitive); + break; + case NODE_TYPE_MUL_FUSION: + return ConvertMulFusion(primitive); + break; + case NODE_TYPE_ONE_HOT: + return ConvertOneHot(primitive); + break; + case NODE_TYPE_PAD_FUSION: + return ConvertPadFusion(primitive); + break; + case NODE_TYPE_POW_FUSION: + return ConvertPowFusion(primitive); + break; + case NODE_TYPE_PRELU_FUSION: + return ConvertPReLUFusion(primitive); + break; + case NODE_TYPE_QUANT_DTYPE_CAST: + return ConvertQuantDTypeCast(primitive); + break; + case NODE_TYPE_REDUCE_FUSION: + return ConvertReduceFusion(primitive); + break; + case NODE_TYPE_RESHAPE: + return ConvertReshape(primitive); + break; + case NODE_TYPE_RESIZE: + return ConvertResize(primitive); + break; + case NODE_TYPE_RSQRT: + return ConvertRsqrt(primitive); + break; + case NODE_TYPE_SCALE_FUSION: + return ConvertScaleFusion(primitive); + break; + case NODE_TYPE_SHAPE: + return ConvertShape(primitive); + break; + case NODE_TYPE_SLICE_FUSION: + return ConvertSliceFusion(primitive); + break; + case NODE_TYPE_SOFTMAX: + return ConvertSoftmax(primitive); + break; + case NODE_TYPE_SPACE_TO_BATCH_ND: + return ConvertSpaceToBatchND(primitive); + break; + case NODE_TYPE_SPLIT: + return ConvertSplit(primitive); + break; + case NODE_TYPE_SQRT: + return ConvertSqrt(primitive); + break; + case NODE_TYPE_SQUARED_DIFFERENCE: + return ConvertSquaredDifference(primitive); + break; + case NODE_TYPE_SQUEEZE: + return ConvertSqueeze(primitive); + break; + case NODE_TYPE_STACK: + return ConvertStack(primitive); + break; + case NODE_TYPE_STRIDED_SLICE: + return ConvertStridedSlice(primitive); + break; + case NODE_TYPE_SUB_FUSION: + return ConvertSubFusion(primitive); + break; + case NODE_TYPE_TILE_FUSION: + return ConvertTileFusion(primitive); + break; + case NODE_TYPE_TOPK_FUSION: + return ConvertTopKFusion(primitive); + break; + case NODE_TYPE_TRANSPOSE: + return ConvertTranspose(primitive); + break; + case NODE_TYPE_UNSQUEEZE: + return ConvertUnsqueeze(primitive); + break; + default: + return {}; + } +} + +inline std::vector MindIR_Tensor_GetQuantParams_OHOS(TensorPtr tensor) +{ + if (tensor != nullptr) { + std::vector result; + auto src = mindspore::lite::MindIR_Tensor_GetQuantParams(tensor); + if (src.empty()) { + return {}; + } + size_t size = src.size(); + for (size_t i = 0; i < size; i++) { + OHOS::HDI::Nnrt::V2_0::QuantParam quantParam{src[i].numBits, src[i].zeroPoint, src[i].scale}; + result.emplace_back(quantParam); + } + return result; + } else { + return {}; + } +} + +void HDIModel_Destroy(OHOS::HDI::Nnrt::V2_0::Model **model) +{ + if (model != nullptr && *model != nullptr) { + auto model_data = *model; + delete (model_data); + *model = nullptr; + } +} + +OHOS::HDI::Nnrt::V2_0::SharedBuffer Copy_MindIR_Tensor_Data_To_HDIBuffer(const TensorPtr tensor, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer_templete, uint8_t *mmap_ptr, unsigned int offset) +{ + if (tensor == nullptr) { + LOGE(""); + return {-1, 0, offset, 0}; + } + if (mmap_ptr == nullptr) { + LOGE("Tensor GetData failed, mmap pointer should not be nullptr"); + return {-1, 0, offset, 0}; + } + + OHOS::HDI::Nnrt::V2_0::SharedBuffer result{}; + std::vector data = mindspore::lite::MindIR_Tensor_GetData(tensor); + if (data.empty()) { + result.fd = -1; + result.bufferSize = buffer_templete.bufferSize; + result.offset = offset; + result.dataSize = 0; + return result; + } + result.fd = buffer_templete.fd; + result.bufferSize = buffer_templete.bufferSize; + auto ret = memcpy_s(mmap_ptr + offset, data.size(), data.data(), data.size()); + if (ret != EOK) { + LOGE("Tensor memcpy failed."); + return {-1, 0, offset, 0}; + } + result.offset = offset; + result.dataSize = data.size(); + return result; +} + +OHOS::HDI::Nnrt::V2_0::Model *LiteGraph_To_HDIModel(const mindspore::lite::LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer) +{ + if (lite_graph == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, lite graph is nullptr."); + return nullptr; + } + + LOGI("MindIR_LiteGraph_To_Model begin"); // todo 改称hitrace + + std::vector inputIndex; + std::vector outputIndex; + std::vector nodes; + std::vector allTensors; + std::vector subGraph; + + // nodes + for (auto node : lite_graph->all_nodes_) { + if (node == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, node is nullptr."); + return nullptr; + } + OHOS::HDI::Nnrt::V2_0::Node tmp; + tmp.name = node->name_; + if (node->primitive_ == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, node primitive is nullptr."); + return nullptr; + } + tmp.nodeType = static_cast(mindspore::lite::MindIR_Primitive_GetType(node->primitive_)); + tmp.nodeAttr = Convert(tmp.nodeType, node->primitive_); + tmp.inputIndex = node->input_indices_; + tmp.outputIndex = node->output_indices_; + tmp.quantType = static_cast(node->quant_type_); + nodes.emplace_back(tmp); + } + + // Tensor + unsigned int tensor_buffer_offset = 0; + uint8_t *mmap_ptr = nullptr; + if (buffer.fd != -1) { + mmap_ptr = + static_cast(mmap(nullptr, buffer.bufferSize, PROT_READ | PROT_WRITE, MAP_SHARED, buffer.fd, 0)); + if (mmap_ptr == MAP_FAILED) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, mmap failed."); + return nullptr; + } + } + for (auto tensor : lite_graph->all_tensors_) { + OHOS::HDI::Nnrt::V2_0::Tensor tmp; + tmp.name = mindspore::lite::MindIR_Tensor_GetName(tensor); + tmp.dataType = static_cast(mindspore::lite::MindIR_Tensor_GetDataType(tensor)); + tmp.dims = mindspore::lite::MindIR_Tensor_GetDims(tensor); + tmp.format = static_cast(mindspore::lite::MindIR_Tensor_GetFormat(tensor)); + tmp.data = Copy_MindIR_Tensor_Data_To_HDIBuffer(tensor, buffer, mmap_ptr, tensor_buffer_offset); // todo 实现 + tmp.quantParams = MindIR_Tensor_GetQuantParams_OHOS(tensor); + allTensors.emplace_back(tmp); + tensor_buffer_offset = tmp.data.offset + tmp.data.dataSize; + } + if (buffer.fd != -1) { + auto munmap_res = munmap(mmap_ptr, buffer.bufferSize); + if (munmap_res != 0) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, unmap failed."); + return nullptr; + } + } + + // SubGraph + for (auto graph : lite_graph->sub_graphs_) { + OHOS::HDI::Nnrt::V2_0::SubGraph tmp; + tmp.name = graph->name_; + tmp.inputIndices = std::vector(graph->input_indices_); + tmp.outputIndices = std::vector(graph->output_indices_); + tmp.nodeIndices = std::vector(graph->node_indices_); + subGraph.emplace_back(tmp); + } + + auto *ret_model = new (std::nothrow) Model(); + if (ret_model == nullptr) { + LOGE("MindIR_LiteGraph_To_Model v2 failed, new Model failed."); + return nullptr; + } + ret_model->name = lite_graph->name_; + ret_model->inputIndex = lite_graph->input_indices_; + ret_model->outputIndex = lite_graph->output_indices_; + ret_model->nodes = nodes; + ret_model->allTensors = allTensors; + ret_model->subGraph = subGraph; + return ret_model; +} + +} // V2 +} // NeuralNetworkRuntime +} // OHOS \ No newline at end of file diff --git a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.h b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.h new file mode 100644 index 0000000..3724da7 --- /dev/null +++ b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_0.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V2_0_H +#define NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V2_0_H + +#include "mindir.h" +#include "nnrt/v2_0/model_types.h" + +namespace OHOS { +namespace NeuralNetworkRuntime { +namespace V2 { +void HDIModel_Destroy(OHOS::HDI::Nnrt::V2_0::Model **model); +OHOS::HDI::Nnrt::V2_0::Model *LiteGraph_To_HDIModel(const mindspore::lite::LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer); +} // V2 +} // NeuralNetworkRuntime +} // OHOS + +#endif // NEURAL_NETWORK_RUNTIME_LITEGRAPH_TO_HDIMODEL_V2_0_H \ No newline at end of file -- Gitee From 2201c755898e563cda2cced8f4ad77d8d71078e6 Mon Sep 17 00:00:00 2001 From: gWX1231951 Date: Tue, 30 Jan 2024 20:46:30 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gWX1231951 --- .../neural_network_runtime/inner_model.cpp | 26 ++++++------ .../neural_network_runtime/memory_manager.cpp | 2 +- .../neural_network_runtime/nn_tensor.cpp | 12 +++--- .../ops/concat_builder.cpp | 22 +++++----- .../ops/fullconnection_builder.cpp | 11 ++--- .../ops/pooling_builder.h | 4 +- .../ops/space_to_batch_nd_builder.cpp | 4 +- .../ops/split_builder.cpp | 22 +++++----- .../neural_network_runtime/ops_builder.cpp | 40 ++++++++++--------- .../neural_network_runtime/transform.cpp | 7 ++-- .../common/v2_0/compilation_mock_idevice.cpp | 6 +-- .../common/v2_0/executor_mock_device.cpp | 2 +- 12 files changed, 84 insertions(+), 74 deletions(-) diff --git a/frameworks/native/neural_network_runtime/inner_model.cpp b/frameworks/native/neural_network_runtime/inner_model.cpp index 2b275ba..a5b643e 100644 --- a/frameworks/native/neural_network_runtime/inner_model.cpp +++ b/frameworks/native/neural_network_runtime/inner_model.cpp @@ -421,7 +421,7 @@ OH_NN_ReturnCode InnerModel::AddOperation(OH_NN_OperationType opType, const OH_N } std::vector parameters = ConstructVectorFromArray(paramIndices.data, paramIndices.size); - Ops::OpsRegistry& opsRegistry = Ops::OpsRegistry::GetSingleton(); + const Ops::OpsRegistry& opsRegistry = Ops::OpsRegistry::GetSingleton(); std::unique_ptr opsBuilder = opsRegistry.GetOpsBuilder(opType); if (opsBuilder == nullptr) { LOGE("AddOperation failed, cannot add operation of type: %d.", opType); @@ -460,13 +460,15 @@ OH_NN_ReturnCode InnerModel::SpecifyInputsAndOutputs( m_inputIndices = ConstructVectorFromArray(inputIndices.data, inputIndices.size); m_outputIndices = ConstructVectorFromArray(outputIndices.data, outputIndices.size); - for (uint32_t i : m_inputIndices) { - m_inputTensors.emplace_back(m_allTensors[i]); - } + std::transform(m_inputIndices.begin(), m_inputIndices.end(), std::back_inserter(m_inputTensors), + [this](uint32_t i) { + return m_allTensors[i]; + }); - for (uint32_t i : m_outputIndices) { - m_outputTensors.emplace_back(m_allTensors[i]); - } + std::transform(m_outputIndices.begin(), m_outputIndices.end(), std::back_inserter(m_outputTensors), + [this](uint32_t i) { + return m_allTensors[i]; + }); return OH_NN_SUCCESS; } @@ -629,14 +631,12 @@ void InnerModel::AddTensorsToLiteGraph(std::unordered_map& m // Note: Indices in m_inputIndices and m_outputIndices have been checked in SpecifyInputAndOutput(), there is no // need to check twice. std::vector& inputIndices = m_liteGraph->input_indices_; - for (uint32_t index : m_inputIndices) { - inputIndices.emplace_back(modelIDToGraphID.at(index)); - } + std::transform(m_inputIndices.begin(), m_inputIndices.end(), std::back_inserter(inputIndices), + [modelIDToGraphID](uint32_t index) {return modelIDToGraphID.at(index);}); std::vector& outputIndices = m_liteGraph->output_indices_; - for (uint32_t index : m_outputIndices) { - outputIndices.emplace_back(modelIDToGraphID.at(index)); - } + std::transform(m_outputIndices.begin(), m_outputIndices.end(), std::back_inserter(outputIndices), + [modelIDToGraphID](uint32_t index) {return modelIDToGraphID.at(index);}); } OH_NN_ReturnCode InnerModel::AddNodesToLiteGraph(const std::unordered_map& modelIDToGraphID) diff --git a/frameworks/native/neural_network_runtime/memory_manager.cpp b/frameworks/native/neural_network_runtime/memory_manager.cpp index 1c6cc87..969efa4 100644 --- a/frameworks/native/neural_network_runtime/memory_manager.cpp +++ b/frameworks/native/neural_network_runtime/memory_manager.cpp @@ -31,7 +31,7 @@ void* MemoryManager::MapMemory(int fd, size_t length) return nullptr; } - if (length <= 0 || length > ALLOCATE_BUFFER_LIMIT) { + if (length == 0 || length > ALLOCATE_BUFFER_LIMIT) { LOGE("Invalid buffer size, it must greater than 0 and less than 1Gb. length=%zu", length); return nullptr; } diff --git a/frameworks/native/neural_network_runtime/nn_tensor.cpp b/frameworks/native/neural_network_runtime/nn_tensor.cpp index f010a06..13834cb 100644 --- a/frameworks/native/neural_network_runtime/nn_tensor.cpp +++ b/frameworks/native/neural_network_runtime/nn_tensor.cpp @@ -28,7 +28,6 @@ namespace OHOS { namespace NeuralNetworkRuntime { const uint32_t SUPPORT_NUM_BIT = 8; // Currently support 8-bit quantization only -const uint32_t INVALID_NUM_BIT = 0; void DestroyLiteGraphTensor(void* tensor) { @@ -317,12 +316,13 @@ OH_NN_ReturnCode NNTensor::ParseQuantParams(const OH_NN_QuantParam* quantParam) OH_NN_ReturnCode NNTensor::ValidateQuantParams(const std::vector& quantParams) { - for (const QuantParam& param : quantParams) { - // Only support 8-bit quantization in NNR version 1.0 - if ((param.numBits != SUPPORT_NUM_BIT) || (param.numBits == INVALID_NUM_BIT)) { - LOGE("ValidateQuantParams failed, get invalid numBits %d.", param.numBits); + // Only support 8-bit quantization in NNR version 1.0 + auto paramIt = std::find_if(quantParams.begin(), quantParams.end(), [](QuantParam quant) { + return quant.numBits != SUPPORT_NUM_BIT; + }); + if (paramIt != quantParams.end()) { + LOGE("ValidateQuantParams failed, get invalid numBits %d.", paramIt->numBits); return OH_NN_INVALID_PARAMETER; - } } return OH_NN_SUCCESS; diff --git a/frameworks/native/neural_network_runtime/ops/concat_builder.cpp b/frameworks/native/neural_network_runtime/ops/concat_builder.cpp index d184114..a66e071 100644 --- a/frameworks/native/neural_network_runtime/ops/concat_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/concat_builder.cpp @@ -105,18 +105,20 @@ OH_NN_ReturnCode ConcatBuilder::SetInputsAndOutputs(const std::vector& const std::vector>& allTensors) { size_t allTensorsSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorsSize) { - LOGE("[Concat] Invalid input index, it is out of range %zu.", allTensorsSize); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + if (isOverTensorSize) { + LOGE("[Concat] Invalid input index, it is out of range %zu.", allTensorsSize); + return OH_NN_INVALID_PARAMETER; } - for (auto index : outputsIndex) { - if (index >= allTensorsSize) { - LOGE("[Concat] Invalid output index, it is out of range %zu.", allTensorsSize); - return OH_NN_INVALID_PARAMETER; - } + isOverTensorSize = std::any_of(outputsIndex.begin(), outputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + if (isOverTensorSize) { + LOGE("[Concat] Invalid output index, it is out of range %zu.", allTensorsSize); + return OH_NN_INVALID_PARAMETER; } m_inputsIndex.clear(); diff --git a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp index f78c1ea..37d5069 100644 --- a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp @@ -40,11 +40,12 @@ OH_NN_ReturnCode FullConnectionBuilder::SetFullConnectionInput(const std::vector return OH_NN_INVALID_PARAMETER; } size_t allTensorsSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorsSize) { - LOGE("[FullConnection] SetFullConnectionInput failed, the index of inputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + if (isOverTensorSize) { + LOGE("[FullConnection] SetFullConnectionInput failed, the index of inputs is out of range."); + return OH_NN_INVALID_PARAMETER; } m_inputsIndex = inputsIndex; diff --git a/frameworks/native/neural_network_runtime/ops/pooling_builder.h b/frameworks/native/neural_network_runtime/ops/pooling_builder.h index d096346..4fbbcd8 100644 --- a/frameworks/native/neural_network_runtime/ops/pooling_builder.h +++ b/frameworks/native/neural_network_runtime/ops/pooling_builder.h @@ -28,9 +28,9 @@ public: PoolingBuilder() = default; virtual ~PoolingBuilder() = default; - OH_NN_ReturnCode PoolingBuild(const std::vector& inputsIndex, + OH_NN_ReturnCode PoolingBuild(const std::vector& paramsIndex, + const std::vector& inputsIndex, const std::vector& outputsIndex, - const std::vector& paramsIndex, const std::vector>& allTensors); OH_NN_ReturnCode SetInputAndOutput(const std::vector& inputsIndex, diff --git a/frameworks/native/neural_network_runtime/ops/space_to_batch_nd_builder.cpp b/frameworks/native/neural_network_runtime/ops/space_to_batch_nd_builder.cpp index 094c168..8c0bb7b 100644 --- a/frameworks/native/neural_network_runtime/ops/space_to_batch_nd_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/space_to_batch_nd_builder.cpp @@ -161,8 +161,8 @@ OH_NN_ReturnCode SpaceToBatchNDBuilder::SetPadData(std::shared_ptr ten for (int i = 0; i < PADDINGS_DATA_SIZE; i++) { std::vector vect_data; vect_data.reserve(VECT_DATA_SIZE); - for (int i = 0; i < VECT_DATA_SIZE; ++i) { - vect_data.push_back(paddingsData[i]); + for (int j = 0; j < VECT_DATA_SIZE; ++j) { + vect_data.push_back(paddingsData[j]); } paddings.push_back(vect_data); } diff --git a/frameworks/native/neural_network_runtime/ops/split_builder.cpp b/frameworks/native/neural_network_runtime/ops/split_builder.cpp index fbdd990..102c936 100644 --- a/frameworks/native/neural_network_runtime/ops/split_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/split_builder.cpp @@ -35,18 +35,20 @@ OH_NN_ReturnCode SplitBuilder::SetInputAndOutput(const std::vector &in } auto allTensorSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorSize) { - LOGE("[SplitBuilder] InputsIndex of Split is out of range."); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorSize](uint32_t index) { + return index >= allTensorSize; + }); + if (isOverTensorSize) { + LOGE("[SplitBuilder] InputsIndex of Split is out of range."); + return OH_NN_INVALID_PARAMETER; } - for (auto index : outputsIndex) { - if (index >= allTensorSize) { - LOGE("[SplitBuilder] OutputsIndex of Split is out of range."); - return OH_NN_INVALID_PARAMETER; - } + isOverTensorSize = std::any_of(outputsIndex.begin(), outputsIndex.end(), [allTensorSize](uint32_t index) { + return index >= allTensorSize; + }); + if (isOverTensorSize) { + LOGE("[SplitBuilder] InputsIndex of Split is out of range."); + return OH_NN_INVALID_PARAMETER; } m_inputsIndex = inputsIndex; diff --git a/frameworks/native/neural_network_runtime/ops_builder.cpp b/frameworks/native/neural_network_runtime/ops_builder.cpp index 806e946..69c8607 100644 --- a/frameworks/native/neural_network_runtime/ops_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops_builder.cpp @@ -28,19 +28,21 @@ void DestroyLiteGraphPrimitive(void* primitive) void OpsBuilder::GetInputIndex(std::vector& inputsIndex, const std::unordered_map& modelIDToGraphID) const { - for (auto index : m_inputsIndex) { - // index has been prevented from taking value out of modelIDToGraphID, no need to check. - inputsIndex.emplace_back(modelIDToGraphID.at(index)); - } + // index has been prevented from taking value out of modelIDToGraphID, no need to check. + std::transform(m_inputsIndex.begin(), m_inputsIndex.end(), std::back_inserter(inputsIndex), + [modelIDToGraphID](uint32_t index) { + return modelIDToGraphID.at(index); + }); } void OpsBuilder::GetOutputIndex(std::vector& outputsIndex, const std::unordered_map& modelIDToGraphID) const { - for (auto index : m_outputsIndex) { - // index has been prevented from taking value out of modelIDToGraphID, no need to check. - outputsIndex.emplace_back(modelIDToGraphID.at(index)); - } + // index has been prevented from taking value out of modelIDToGraphID, no need to check. + std::transform(m_outputsIndex.begin(), m_outputsIndex.end(), std::back_inserter(outputsIndex), + [modelIDToGraphID](uint32_t index) { + return modelIDToGraphID.at(index); + }); } std::string OpsBuilder::GetName() const @@ -71,18 +73,20 @@ OH_NN_ReturnCode OpsBuilder::CheckIOIndex(const std::vector& inputsInd } size_t allTensorsSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorsSize) { - LOGE("The index of inputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + if (isOverTensorSize) { + LOGE("The index of inputs is out of range."); + return OH_NN_INVALID_PARAMETER; } - for (auto index : outputsIndex) { - if (index >= allTensorsSize) { - LOGE("The index of outputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + isOverTensorSize = std::any_of(outputsIndex.begin(), outputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + if (isOverTensorSize) { + LOGE("The index of outputs is out of range."); + return OH_NN_INVALID_PARAMETER; } return OH_NN_SUCCESS; diff --git a/frameworks/native/neural_network_runtime/transform.cpp b/frameworks/native/neural_network_runtime/transform.cpp index 8cc6b20..10ee391 100644 --- a/frameworks/native/neural_network_runtime/transform.cpp +++ b/frameworks/native/neural_network_runtime/transform.cpp @@ -161,9 +161,10 @@ OH_NN_DataType MSToNN::TransformDataType(mindspore::lite::DataType type) std::vector MSToNN::TransformQuantParams(std::vector msQuantParams) { std::vector nnQuantParam; - for (const mindspore::lite::QuantParam& param : msQuantParams) { - nnQuantParam.emplace_back((QuantParam){param.numBits, param.scale, param.zeroPoint}); - } + std::transform(msQuantParams.begin(), msQuantParams.end(), std::back_inserter(nnQuantParam), + [](mindspore::lite::QuantParam quantParam) { + return (QuantParam){quantParam.numBits, quantParam.scale, quantParam.zeroPoint}; + }); return nnQuantParam; } diff --git a/test/unittest/common/v2_0/compilation_mock_idevice.cpp b/test/unittest/common/v2_0/compilation_mock_idevice.cpp index a08b78c..84cbfa8 100644 --- a/test/unittest/common/v2_0/compilation_mock_idevice.cpp +++ b/test/unittest/common/v2_0/compilation_mock_idevice.cpp @@ -201,13 +201,13 @@ OH_NN_ReturnCode HDIPreparedModelV2_0::ExportModelCache(std::vector int bufferSize = 13; ModelBuffer modelBuffer; std::string aBuffer = "mock_buffer_a"; - modelBuffer.buffer = (void*)aBuffer.c_str(); + modelBuffer.buffer = static_cast(aBuffer.c_str()); modelBuffer.length = bufferSize; modelCache.emplace_back(modelBuffer); ModelBuffer modelBuffer2; std::string bBuffer = "mock_buffer_b"; - modelBuffer2.buffer = (void*)bBuffer.c_str(); + modelBuffer2.buffer = static_cast(bBuffer.c_str()); modelBuffer2.length = bufferSize; modelCache.emplace_back(modelBuffer2); @@ -226,7 +226,7 @@ void* HDIDeviceV2_0::AllocateBuffer(size_t length) return nullptr; } - void* buffer = (void*)malloc(length); + void* buffer = static_cast(malloc(length)); if (buffer == nullptr) { LOGE("HDIDeviceV2_0 mock AllocateBuffer failed, the buffer is nullptr"); return nullptr; diff --git a/test/unittest/common/v2_0/executor_mock_device.cpp b/test/unittest/common/v2_0/executor_mock_device.cpp index 0b6bb30..f600fcd 100644 --- a/test/unittest/common/v2_0/executor_mock_device.cpp +++ b/test/unittest/common/v2_0/executor_mock_device.cpp @@ -45,7 +45,7 @@ void* HDIDeviceV2_0::AllocateBuffer(size_t length) return nullptr; } - void* buffer = (void*)malloc(length); + void* buffer = static_cast(malloc(length)); if (buffer == nullptr) { LOGE("alloct buffer failed"); return nullptr; -- Gitee From 18397cd18cd1e490dd9b80d1819bac03c21852de Mon Sep 17 00:00:00 2001 From: gWX1231951 Date: Fri, 2 Feb 2024 17:28:07 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gWX1231951 --- test/unittest/common/v2_0/compilation_mock_idevice.cpp | 2 +- test/unittest/common/v2_0/executor_mock_device.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unittest/common/v2_0/compilation_mock_idevice.cpp b/test/unittest/common/v2_0/compilation_mock_idevice.cpp index 84cbfa8..771c5db 100644 --- a/test/unittest/common/v2_0/compilation_mock_idevice.cpp +++ b/test/unittest/common/v2_0/compilation_mock_idevice.cpp @@ -226,7 +226,7 @@ void* HDIDeviceV2_0::AllocateBuffer(size_t length) return nullptr; } - void* buffer = static_cast(malloc(length)); + void* buffer = malloc(length); if (buffer == nullptr) { LOGE("HDIDeviceV2_0 mock AllocateBuffer failed, the buffer is nullptr"); return nullptr; diff --git a/test/unittest/common/v2_0/executor_mock_device.cpp b/test/unittest/common/v2_0/executor_mock_device.cpp index f600fcd..08d7b38 100644 --- a/test/unittest/common/v2_0/executor_mock_device.cpp +++ b/test/unittest/common/v2_0/executor_mock_device.cpp @@ -45,7 +45,7 @@ void* HDIDeviceV2_0::AllocateBuffer(size_t length) return nullptr; } - void* buffer = static_cast(malloc(length)); + void* buffer = malloc(length); if (buffer == nullptr) { LOGE("alloct buffer failed"); return nullptr; -- Gitee From d28da2179e182591e84d2ae83969a31643a8dc4b Mon Sep 17 00:00:00 2001 From: weiwei Date: Fri, 2 Feb 2024 17:51:24 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9README=E6=96=87=E6=A1=A3?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E6=94=AF=E6=8C=81OH=204.1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: weiwei --- README.md | 4 +- README_zh.md | 12 +- example/drivers/README_zh.md | 2 +- figures/neural_network_runtime_intro.png | Bin 76115 -> 0 bytes .../zh-cn_neural_network_runtime_intro.jpg | Bin 0 -> 1054539 bytes neural-network-runtime-guidelines.md | 627 ++++++++++++------ 6 files changed, 426 insertions(+), 219 deletions(-) delete mode 100755 figures/neural_network_runtime_intro.png create mode 100644 figures/zh-cn_neural_network_runtime_intro.jpg diff --git a/README.md b/README.md index b3e11e9..73a49d0 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ In the root directory of the OpenHarmony source code, call the following command ### API Description -- [Native API reference](https://gitee.com/openharmony-sig/interface_native_header/tree/master/en/native_sdk/ai) +- [Native API reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/native-apis/_neural_network_runtime.md) - [HDI API reference](https://gitee.com/openharmony/drivers_interface/tree/master/nnrt) ### How to Use @@ -59,5 +59,5 @@ In the root directory of the OpenHarmony source code, call the following command ## Repositories Involved -- [**neural_network_runtime**](https://gitee.com/openharmony-sig/neural_network_runtime) +- [**neural_network_runtime**](https://gitee.com/openharmony/neural_network_runtime) - [third_party_mindspore](https://gitee.com/openharmony/third_party_mindspore) diff --git a/README_zh.md b/README_zh.md index cdba5b6..c60d05d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -11,7 +11,7 @@ Neural Network Runtime与MindSpore Lite使用MindIR统一模型的中间表达 通常,AI应用、AI推理引擎、Neural Network Runtime处在同一个进程下,芯片驱动运行在另一个进程下,两者之间需要借助进程间通信(IPC)传递模型和计算数据。Neural Network Runtime根据HDI接口实现了HDI客户端,相应的,芯片厂商需要根据HDI接口实现并开放HDI服务。 **图1** Neural Network Runtime架构图 -!["Neural Network Runtime架构图"](./figures/neural_network_runtime_intro.png) +!["Neural Network Runtime架构图"](./figures/zh-cn_neural_network_runtime_intro.jpg) ## 目录 @@ -49,15 +49,15 @@ Neural Network Runtime与MindSpore Lite使用MindIR统一模型的中间表达 ### 接口说明 -- Native接口文档请参考:[Native接口](https://gitee.com/openharmony/ai_neural_network_runtime/tree/master/interfaces/kits/c)。 -- HDI接口文档请参考:[HDI接口](https://gitee.com/openharmony/drivers_interface/tree/master/nnrt)。 +- Native接口文档请参考:[Native接口](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/native-apis/_neural_nework_runtime.md)。 +- HDI接口文档请参考:[HDI接口](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/reference/hdi-apis/_n_n_rt.md)。 ### 使用说明 -- AI推理引擎/应用开发请参考:[Neural Network Runtime应用开发指导](./neural-network-runtime-guidelines.md)。 -- AI加速芯片驱动/设备开发请参考:[Neural Network Runtime设备开发指导](./example/drivers/README_zh.md)。 +- AI推理引擎/应用开发请参考:[Neural Network Runtime对接AI推理框架开发指导](./neural-network-runtime-guidelines.md)。 +- AI加速芯片驱动/设备开发请参考:[Neural Network Runtime设备接入指导](./example/drivers/README_zh.md)。 ## 相关仓 -- [**neural_network_runtime**](https://gitee.com/openharmony-sig/neural_network_runtime) +- [**neural_network_runtime**](https://gitee.com/openharmony/neural_network_runtime) - [third_party_mindspore](https://gitee.com/openharmony/third_party_mindspore) diff --git a/example/drivers/README_zh.md b/example/drivers/README_zh.md index 4098284..a6bbfbe 100644 --- a/example/drivers/README_zh.md +++ b/example/drivers/README_zh.md @@ -1,4 +1,4 @@ -# NNRt设备开发指导 +# Neural Network Runtime设备接入指导 ## 概述 diff --git a/figures/neural_network_runtime_intro.png b/figures/neural_network_runtime_intro.png deleted file mode 100755 index aa0015e41decb3556d2e5d0e549f0e8eae35a24f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76115 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 z zq!jmGVOdYs16aB~2DP89<{4G+FYV%d1nJXJ0Sp`8NoqFstJ-0<>wGLpvhLLs&REx(!~dVim*>e2hrxc2M)>j;nZB(!8Y!AtN1E9JN-cmZNi%Jy>a&7x z+Rh%r6F9u%`gPfVUmtkik-LsK^_}m6)&C5^q3&lr)mf8ugNC3Z;FJAxUBAwnkbkaY z?^uq{Ki7dv|EONzFBY>N;ALLyY5v`Tc(k#Xw&|QY=p68(y((TrWgVzr{QHYO_P;ax zmSx2xlSAeyw3MgPsO_Wic~gx(EEe`H7B^(J7qC*mCYJu|1LzpOSh*0tK$}t+-31Ci zI%ipWPLSmsu(8$reSwb|J{>-LmS>oKPJ3tme*X!}m!qN})ZIG%OAUrMg2k)4Ok3Hg zs{t+H{uwKH{K+_d3n<2*3)-sRp8IiW^L}@6MF8Z&B_Pr06)yu0vQQA-!h^KV63{C& zYCM!2(&EU3`e&#Fqn+m~@=YwLQ?Q*KTEC-jr+S8RVEd}_TwL^MBX2i`l8pg4_gnX| z9=8`28#fjst2ZQqSL+@AG!{sgNq3t9Z(i&`tyfras8aClD}(|OKVSg=POE*%HMdGN zf0hE@Wbt%-`#A^Y-#DzKi#S^0V$texvK`u-#=3%lm7vZ4d_8y{;H)Rq*I+AMU@a z8`=S1Z99r(4z3?%$$ticMpfU?f!XJTud@Y;O*aClkGS%#H@rFWC-f4B$Z0Gdz!S-+Y#=RIb#HqDJ^Q$4iC8DMNCo9Z zeV9S-Y-8PPo%U^Ky-=1PU*AOAmMvEM#m6OZOS))W;ab9tlFF{p3$!g99_OxK%sMwrxYP>k(#3z_veamE}V`k z2^DN|K+KBEG)iwweez$`l-c{|;QE@VL#L7O%o$CS?XTj&b7QFrRjw;~$7a$y2BKvQ z4{V&+ITwgxkIVXM&g)T5KZs=0wdgTk7Z_)@-?Y7-;mM01az)zl7!rnzA0*(^{M4v!{~}(Y*M7&w2{<|%pHZo}ilY}(tL@W%ayh(SO&_;?VVeRe9SSBJ zE=w9)NTc``-v(}+EU}Vi8cGKIgir#5SGX##&i#|e3m!kXbo<1!%PR#C zIcd-7S3=VEjfEww`f|aw;_F$VTN7`+Zo=pKGPf%Td3Z9oCZHv9ZGgye^c!YFvUJj2 zYPKQGE6ceD`3Kq>BkAqk` zy8lCzndYsZ`MnUVPWpDB^2>ygr;K#i2R*HLk1odOtFtZy`p{q zuJ~TL73<9;waFwgeSkK(lQ6-h<$=Z#tlvdOH8AEkIPd?`=Iv0Z)@EMa*J9ZhYq+(jKseX% z)y%3~>+ws8PXxet$#B^VG}WJ6@HXC9Y0Vi4gyI=CN>}e?^`I@_<`!p~c zeJ#MumTz@ilrCy*p9;f(X#yCAHxjfq!YvPf#cfiQ*E<=MH$M1~DY;foHJh%mjFr{C zxAdpZ@U1E?z_8RLS@#dyZsx$G53dET|Lz<|%u(+dm#HQcX}vhtYtI?*TqjHzVzO2; zP%h2*eZ#8H zwE3D6b(SWRqNO?gKcd7pCw@d?-e_W+52D-b9GFGzVRPsTNS;J?9fEffz*e8eAN-fa z;L2-C&#Wuvw%>F;P_k?&Q;%K_^-Nm?D)ak>lXnPqZcT4(Qn-Z{zJ3#><2RXv=T+me zRZ|^Rbm-wV`o8S*b6?R_O2`ZU>P>J@A!}1XnBC%~l~j78+z1>#dlWS{OX>2TU_OqV z-&T7PfkXKO6sg({HOFU}{oGox1IV`T`Xv)gm}j^ka|R!`lO5m(hHRh3_ql$cB9FA$ zSGY#pSwiU1T!~McK;ry{{p#mYyV0MP8tE4K9Cml(iM^YcWqhn)K`vdL%a9r4W#L1< zk{vjj65{~K?2AkUKGc+3j{fU33qSd)%w1~Z6A3U%&ZC_#YQDV#_;gGFA~TAb5*)^G zFzE8Caqc?p;jY%{y<8g%48(Rp%yT~U|9_`;`~83r{`E<~ulu}WVNw|hE)(8&vWfHp z;wLG!#gbC#?8NOQs5m-Ylh|7Obfkvl>OBJ7zZk)_YrjTI3xC%(u*Jh;w!KipT>Ag7 z@qa;}`j0?Dh<#yuPS4^0Ur~cKk0#qF;MXfApn&%p{*-Ime~tf>q4#!x3EKYNxEI5K z*W-BqpUe5zeEv`VReUQJ1>l{)2uCDN>ct7%JI%9q{@(ije@tTE{WCGYe(rKkV{FH2 zI~B{gQ86m++@bK+e+zN{U$ND%_nkh?=x-hE_+>bSS3YU$tk~%M23UJX#eY7!qa&m` ztD4(C0AL>+^k%RBULE!a@ZYDm9i?9%wb~Y-CC^|{1%}`kqaifiVJgfW_z?K zg4Bp7u|hduHysgn^imfr>_B@j<8mZ(+Bsv69C`fj**$Nq*KKgr)NJ@eI>qF)1N?Cw zR-QfeE>v%Q9f9b2nxlAU6(#x)-MOeG$X_&)IHI?><3p(Kc^zy%91)ipMo(S({G+~} zb5yKDVEJ3G?kpQ)F2gy{Oa9cl-s9HXbOFS-DDwHB)7xJt5zir=;nn5TQ~o}u8`nbc zZ%cR|(1j-7&zaOJ=mq76^-EyKjO0wN{X$*FgE)jwGq&Qi<}OFb~8Q7sgQ1QJ}T`+x`@sbk=Q1P zH1&=(>h{;<^@^F=2mjdQi7O*vn;%Q0A4{py`X}QfpPDA0m3AE;KhPeL6DJ=uv_Fke zdMdbhlc!l{2zL0%}dRC$IEEXw{omhTq~P47Hsvw7m_4(B>D6WHIgh|+C>B* zq1CRN=afVqRvpJ)*E^tX6<9@$L%n9?&oxtd+koOmhDrIwX16iW3uf!gol6_($!~w5 z^uX#+<;=$L)35=0Xnt-jsKRP|1Q+&ZR#>1z_wX_!(AuM01AJ)XF+1b86P%xIsoEXrCB|Uq@&w<2%!1 zCiU%l&ija2EE7w1WrXSIu;?_1G|AN@lRSabbjr54R%m8B72>-wu29Uu&$_KjTjz2&kzU#+mK>4%+>AoJCUm?o^zx$x$sDDC@3;GejL0GwAN?|8+hzJH%%Tjs|Th5;Xq5^fn0AL3`Mno#A+S9mCexXuDkfM3X^fP zSpFERde%+si}^SstMr}Vu}vQ^wYu?A1u#(Usb; z_w|C4RWO8J&k4bNYD~oQZ2dv>Ks^VJYpD&39o9A$hQh0ZLN@1SXYfqOegiV*+m=A> zEv$`HZ|JH}UP)%2rb%sFE6GYR%b2etHpP&PdM)HmynboENc|P>*8u0Mz{C+3H$;wu+V2IbFQN@Na)o{GJ>oO4<3ly5D( zeax)x1>*(Z2(-f{+k%YnI`27*^e&#)1NupopRpWY*>KfcT)w9VUX_%cey5u9sf?+> zQ~tGSQ$)d|em0bWc?~a|?o+QhXqPS6N+gyn*jhH{ThxUW+EbYzGQIl7CUf!~nVcrj zO#t$mK9D3m0cYnlaTUznA*f|Ub|TIz2NZDg#NM=7z+;NUZHt9$b=V>jXb?uT8F7MR zHY7>0I>MH)8u0ISmyGx@q9x{c1EXOV_!Lgjtjmd-*q|ejT+QwTt7HAD87ITw)Ty_| zdT+n?l|`!215{tVmVD`0!&{l2pMt&s&pg-DbvX~r9#LjjO?qyG#u7+Vt)S+%`uLcs zHe)^6qe|%sWtEO${i@g24L3u-uLItG+}eNvFyuShoMsZZ;Td$_>6$nC5gtxHHw+=*EmZSXLRD+!8{&^ zfo?@9UD1&_(9th$>A<=M!+2`rc)J8&=Y#edq>`J!;l*C_xPv@`0d~ijzuXuBtE0vxk5}%UBmshJe0h~r5nmZgR^y#U0s?Nv{B+m=d(w)(!0m=8v zj`nORu4WL9#5mLIyNmbT4K{!%;+(}@y;8{+MEP16rd@kskJ<5qYUuGWXDAwU zBwoC^;PqNmrKFx*NTTwK8(bwEzV3cz!wFL2X9tO^CZF1AyTcZ_$J7$_uy%L{Gz=@^ zy0{9%N@kg^jDbAffh$VJb6%Fmd`LcQkF1TXbWYXnsElj2WMrx01D}I?faXXG#&Ot8 z>&hgM_t3S&nOBD~nt1(=-ZGxon!&wi`R0&*7nko)Rvbj2vbG3|tNo9`ndjV>vlaI- zX7z{xz?FHqFBuvIxt@sg*;TvJVLV@$dk! z)xr@q^V7<9Q!6&aHO;x|%~cram{reD_YmB18oP03xlXvCMgcWGwwe($43d{Z2_cT?Bf`iYDDu z_GN$jp_yF|ev7J^6KzVsMB|N2V28V!m8In$&6jUhEVzIil?6Q%VC7qX)MAkiW|w6> z=l*DwT8GKX7e&(2x3IUV3x%h5bGL0{6VYJC*~#)Wy4i_*)IbMDmPaw+7un(h@CgfXMQ|ZCNvM< zKUFZlbSo35?q#Ba^!|EjTU-yr1>I8N)QcvqN0USvaXVd|L4C<=J(VNMA;u<)Hhac} z@_=eX(C9gU%mrkW@ez4^A4M-1b(L9tH5;ve1aUw{b?scbCEB63`bpzD#D zEZ5PdtR#_W$F1qWrEdn@wDmW531Vc};pOcH9+WSd-Wnn;}+LMiXYNZL|A@yw7Tj^7$}c*qiNV z^yj?q>zd5zCD*#o_^ZdC(QD8GWfWB2QB-*11>cy_&$A_ned(uvuCnCE8{=#d^gXR% zNmFp*rLDxU#IS7p>aE$=uqpDXj<%(o(cL!QV?`490OvMX*&ZmPKj!48+4d-vFIG8c zxOsr9(>oV8WwbU`KR|rc?52xzhPp!4d=M|0v9L0dl=s3j*qpxzl`CpI*FZsoLh`3B zmIQ=HmI=yuy6rG-E@S5HqC(*m@VR1=oOSVRA@~{;%W3ijJ98c>ye`ggvQ4Rh04FYn zE;ct92;L15D;H@Ms6X|lcs$R!)aN$pw|<=2{*4w`NqG>5pQFRlW}!DR1`S7Y_Y&X= zNR5>F7*;~!Y<+QNNXV+&1Fv7nJOJJVnGHM?=7$Op7Bkt&jN542`ee^^K4{%`f@m4@s+0S(pUw3nD+rJCga&%K1qzG}_!{)Eu!?i%jH&hnyIwj*_yXeMADY3i zfHN}OEpPEK<4s2rdw+bW^6-~;w6_F-uAJbWpnbiQ1^THw#hg18oJL)xR_^86z>gFi z6v*fKU5gU6(sti?)9nFUXa>*MWWztpC!j zr^eHICNiOe0PbaVL1!;CBA9Oh$~jWxpr3q-arrWZ5#TS^l~i@IXr^T@BWK1>pPisC z)g8_K$ne&QgKx3B@>g-F)6xSbfrjlb%4wVC-k;adfe&zT>^d7}HEIk};I4R-J8g5b zl!noBmPJYeD-rk3%SZ>b`iM1N0T*g`JPVxGTTEMp5}t}oO8x>RDlTB(J3n@0-mf|i zq8u_vs&lbx|6;|q$&0sv_-5OEEEYgmMrHH>w^th-<`4Ml=L|-s&C1^Q`-V_6L*`Os zG@e_eY@Y2UBbRfc6!v~kMcW@f7#NM)6v(5xTv`mR7d**0CPR2T7vD=xyRhG2G(H}9 zAaC~ZyHS*qRIiEFe3rR1HJp;vik2ZcP6{!PA zQmq)m!mB8ZZ_k6s@<%$^P0%DHep zR4ol9i}ftXJ@nh?SMC$+n783&eD05T5&0Mmcs*XOZ)sJ#~q)?7@^%x&GiHCvuxo;MZ=ib6Zn0DN0XHbL|??6_L1(2l7#$-;WmLruB8Q z@;98HT8vHspni{!0pb#vX?#Uu1On=qljV9VYJj&wN;&@_im|ih&))6_lKX(K($)fv zTqy!Oj@{=ST%}Z9tdC@DYR!Efe9r2sXTCN@8NX%WNd-L!)Q9E|-uRGH51KIp!HXRy z8I1s9i>#x+-xyLYh%4Y}`O_(ikEdk{QEfhQMZTj+PTJAR=HAK)T4UvyDr+=|`0Uhz0_S}!+)S#u8t9`GgL zTV``bI!-O;SXbDi4;3j$_@f|-)lLvl7jWDF!)+T`%`kJRXEZBm{CFn=GPlCerutAr zeJbm);TLLG7hj>k#LnoY2Pp7BG%9UyTF>48qFR=N^eDF!h-}ym#dm8wDQ!6s@n(*1snWfLnSs8d%ChDgiS9TsOEUXNYj~?P}j#Nap3A5n;*sva;Wc z`PG`Y*$^+!j|B4agdcE<76$wixunt6=NlkEJ>@j6UA|;KSq( z|Mfj@S|gV8p%E+@biV?)oV4a%Gy7-3cBc8SSrneqt;}rr0Q5>cC)dJBho#?X+fv15 z=r+h>vuTg{L0<-4vyZd`zk{)5Gxc9oB{Oe|w@35>c~w|M9k7?z!>j3lUJCK`H@?~9 zdqb8NYf}DsD!&1s)}0sz(n5+mxQ_{pI0-HrMStPn;8AWa0vOx)UR(0MiFd3WjyeAd zpZ^tYI&Qd)kR0kdrP<$vC;)_ds%}(A+KIzcG4yvh`oD+x^)jt($#fDZw%2xOmnyYl z*dA`S%07QG)SNVBGS26?iz|D-#y=ATEpzt!W2%Nq=MKeO&<1UxMm^Jo0lpCwj6bTc z2ACvZe2A{&Y&dspR7#IM(Qf%Zyv;^28cf6?jYj*LynthdrhERbCO*M%3!d|$RMunY z!h&SGRemmy*x|o0+7F4qM;rj)!}I*K#C^_=_5kOp5nT4l504CDT?8(8qec$&6tIrS`$LQ#2V zi11||#Yjk1%n)Hm7qVHYN{Y9uQi}H-ZDOd8mg}A9K~dcXI#hduhj?Brx_L8fzL5 zALv-`NICx&K-2Uz&TShdM74YO=acbkvq;gB@sn6z!z+VBp1=z5;e;+qYaxVxOdku{CZB0By4Jdz&_-VeHRupV*rRD8&+D^?d6gaOcF0!b9!>a1WBCWg(BxslM zDR}R-ojkv9Q*^jne6>0yKfBk^nUtO2qdz+IN{r{DQq=5(>3JpM&eN|T^_RTH!x89G z<&x-&nge={LCdxd*2>(777T~>_W>{Z^YG)&1fp-sw@n7}JnWlR ze>5-gq^z9rfU*B-TgdKxzV^UYOadbO!so7-!qnhe1~a{QP9O7zv4(Q|pYS+dMf*en>NU#(Bt|3xQ4-zq zbE=k5Vc!iLh#m%Am}Q+VT)%%Fp&HE6j?ru=6;qFF9WIhxX{)Dht*p-Hfj^ z3DgE$H6}&vedI>qecUu658!dU5;FLoDT+pcV>9n0Alzd3KS0?+Tlw4^#b_L>*^0lZ zik8@OFoAbr>rlIu-Xf=y#umknp8|3?XKRXiKr35Q2yD1^#mAaUv;Q+0m;#lQ`-Oq= zmr8jjF`_Z}LX(T|!^;+GsLL;@mTSK zUmsCBoKF{k2e!vdLgY&OBP;$!eC6Zn8PRiAE%u0BN~kVb$V)VcNmU*1Hzq_bKwy~9 zh?*z%Bj+T$jKsk293sLD1zLFj;-~}HDHR-RY1oF^L`h6siT2?(JPVS!uSdvxKEGP1OB_2*lIW@CahZ4G*Rr!QX$MB86lGuJeEc>|LP-p|M4bb0L9ci)lY zM^OT09m65R*q$V(Zv}HresMxH@zlCaW{!F3dEP=-~hA^L~sm&#zKN*UDHYz(7u z6$jf$o0Q=+jv)F(M!b8;f27|3{KNEgas4yfz<$GcpZ6yUx6CAUr187T+==%HQi!w0 zPQBCWZprn&hT2+KjvjfBR(yuT!=-qbxz0p}VzT?^ljccC{pGqz1OkY33zrY}(nnl0 z({qSzg#^HMy}PZ+AH0dE8Gz^1bgjwbkk{BW@rO$w?Weu0Ff*{m{b$b@{eyTyyR`^= zda&7M_2hTvb!S>3#yC@k7GlM&3bN~Cth&Vgt@+aIoB)68J9b{hF4rCcQHE}>eo>+% zOJ4eqnP&wZ1-XYARs&Nm<;%hY?3exrotN{Y(4(*48`-|^cuT#S?RD6#;Z=pREXykf zpo9hL;F5lm&PcGt%VUeeA2_J*qK(Y@OVqTF)SC-DSklNDiccCmnvB=J=nq6bQ>QPxgpVN1;5>cy6^9xpt4F+suDmTj;$%svK)DBl6cee&me{JpN z@I2FQ@o-)tV!u!JV344s$rXbHV>NEIC7{SoI3&-)Y_ zyB6}qHZUcgvk6%_KVNAklQ|x6R!;EP%(8O~B*|1w$6~}$hge;r9M)|1*4&{ZYVu~u zJmDskL7atL(RikuZfUU&1zTL(2hF}FhorIOtDXC53He(3i}*leum!tDK8$EyXT)Nv z$)%SUF`A0eHcc1Oee6=mB^_%0O$33Azrr=$ToTKt@ToP{CcqjpXG*?=C*3CpZ2+x8 z15Ci}xHBGoc6zq1)n>8enizX!1-*csyGoA0pOq`Me7~XNyeyZr`Wl9{DfspQw$c=M z89ZE;w@U*nR5E|bgzT9$b!9wneWztSHH;kcTR8@Ygr-#tTNRWam2%i_yta(Z z7%fl5e>bu^mcNS*R6kmh_DnX-y3zX#?~pZdzm?O{l}o3+%UD1=jFuNG2i{~_oemHvGymA&PT#iMsriO~XuoBB0vr9d1m;VXX^(W!VNsHdels`#V zGH(2#O4Imj!AeHF4v4GL zVi~m;th-w`AlLFdq;ZT(@S*p#7y}CHc8w34>B%V{acHGowVA5K7^iM;MDJf4;hN`d z^?Y@`ic$25aGmCf5{(<6;11fs=R3Ynn$)AM`KpzA&6iogncj0ymDV_UrZb@<8mB0B z_E96k6?|_sj-;y4p>MX@b)nFAHAy$v4D3-+!s^Nkcg}q|)S5HIk-MB$LuEHFxICj0 zEj6-N(=hE7*~!2I5RZkbd%yWtmF zw(!uXQs(fP53cX9&bjNeA&{LilkD`S`nV&?=_LH^@jS&Q+~CCLI+Hu&xzCDb{jPtT z&NY;ImU3xuSxtSF&F-15Y5O>+A<8F{Zrb8NsYti9(J$E&ZdOhveX)|c)#-cC)yCob zWOyMVMWCZ$NRd)fC&ePAmU@OYlU>s*NGZsAr(TO$Ke&T)-A(+!AfgRy&)n#D@g6*o zT!nlyPf+NtNUWwc4g>uxPT5-ibCGi)0W-xxPrmM44)|33aP@^j(lNh`sJobO_&^II z-i9P?UVw5)Vx~M6`OzrvEwL-?NMX8CJtzz^Wr0s;LT?d^MbJi}UNwf*lR2N&j*;(g zWy$PlTGJm~T)l)Gx6g3ao{?{<^kUgcDNf&B46B{pguPupHv>n^eJAG5hUCs#bfsno z{F0H+f60jWV4Dn*LQid{-Wx%uMlP?OPYxpBhf`ZSq8Rs9ozp$+$AO?OL|5b7DC}J? z-Up^}M&rhnY90bTAU{!}D<$}t^aljxe7ea`U0M5f)vyQ)QQzLNED`Zffy+6;rjT6~ z=aKOfjf-YhhoSKH&d+&S_#dxnss%y=NX2Kdx($As=_aXXV)s{UT0+!}w?RJZ{kv$5 z-`F=T!pE2$3v3g#6XZp-^yIr>(~EY8&qMRdA^>Yu2bR-EFNimn;YcI{^s222b!=t< zrX-RFcD!c=UQJV)I-XBxnqUjBm>@)Uy_6#wn!)FP=NYW^UOpav+cuGd{$qm^)aktr zvllZU$IC~5z$fH1p9f)X)1JY^PAx|L0jNbdUte3EUva>CCh^V%!c#9)gF7|eW#r~q z(aSgJe8qD<<;6jpe*IXwLP&Y`^c%Oa+nZXk_8O~MMe7FZ^WJMdkUq(l3rB2L(eSMl zi`yOL-2J=pUFmMoz&E8DjuJ-aKypy#(nu-R+u<-#$n>v+wv%pUF}$Eh#bX~k3~p8y zbCR=t{(aY6zlWsxi6{^qES3xQwK=yJUfqD>ogAj z&|5^Cg-rj@BVP(3cMaoz{)svVLhhVsdeKK0_d42sgG*=-5 zB`zhXMBQ~X+ylw6Ep8+ZMgwhAa7y=p^hMfg`?0J+j=l9@<;P8R5V7p$k@o#<&uqm> z&w(sG+Y10l9DyuacD!&%|NgVtpQ0<*F1{(3=z^RCvN-Xf45a5t0>v(wqf5@KhqlfE z+z*;O3nj>L#iPbGo^9mep{c*I=R&TnZ>e=H>n$>J<5gC62tOiPwVi3*I4;QE-;s>VTyOh1praj)M{|937a`|FAK3z>~wSd zO7p-dbR-Z^onte(4vmofhDUurYsNzW-2Y{iUuZe&O?hv=vccBjv-Yt=GV;vE*Xse8n{$PS^4B!KP54`Rq<*xGQC71rRk;9@h#3h z@@BOc=je}y=HHp!b%E1Zd+WPf% z0+z{g7dw0PyYpv@LXZ8g-`=KID-!$07q;kl$EYpkqN##MXd}M)m4=Nq-~3_q8IEha z0a?>*h0tdz+T>YXdg`-9xD#b%+X8;)c=U1-r=vm*2ZZ*1QOFo0#VV)UQ?Ai*%mOi9 zMyuC4qO^QA!K7&+d69iI8TaGJR#p}AT$WLisn~1rNCqbjnU4V7|*T z$IU@X+W)mLyCXk0(-GcgeN-~WR|KVw4W8FwG;7+AX@l@YK%lK1(J#;r56-Y4dX3(N z_y#O*$tnb>fjzB0$#JHW_dLLoGPW1h8CQJow(Obj&fgjjRpIELms1YVDR~5W=Xfb% z9M{UaEXo3f)T+anvxorZin?&3j?LD$53(RUneB~E-FXy>oq=*HtYitIs(oWTv zG0u*v#0)me7gcXIFNz-LdVa!eCRS9kn2Js(4Af$ic<&4_T?hVYPF&ETvQzJD5W%?= z0E=GgK)sp4_B(0h_8Z=eKeB?C%lz_G1PUZnqV&oOa~4E47{M8qHg!F*%Q-i*MKXF2 z#(SZZ&~$Mfl1hi78hX_H(4lttde2;%$aKz(!BJ7?z0`-P1<`)qV4h*h@7rga%}tO2 zs`bmg^@@Eo&6KCqIlf+U+%Ty61wy`Y$-J$|))>+HIN{o-d;!)i*{k3QIi89hphraR zPLIY5H&e0HW9MtvuD>0BF496(0iQRyLQ2$uBYT|USQym#OG!`DN~P3q6f1$0K^#)-^*t=Tg?_|;O_#_Akt`P%N%(g=EXkp|i|m-|dN%hbR@UC%9Pt5V zV@0~6wsTi|Smzqw%(*IZ413eZIu!{kwTej}9L93A?@J?N*yjzfH^v<$OjZR4-{T#XB0mI2%hVlKtCpmo$tQIoI3 z2jFoI6)Wt=nm8aD%J5la&-SCt!`CEqfqc4Q@yEq=SXpN@d_)<<;YapX6SHNGmyM#1t?wSkC+a1Q?tv*a8{S3GiaT1VHL&R~m*5iw1Gm`f}jKdo+y z;XE#g&w0;uC5L)tkGh~Sw;&*V+@D2STA-7Kha}smYXMg`si!4%H0A}b$gX6ak?h*= zhX7N)2((!5l6&F=NfF72sWw3m1WG_?C%YfnT^6)1jwpvrqhVhSb7o|$4PQUa<&W^4 znW@b8j<|x+a~NRdwmXfYob8h!M$ScFQHE!aIj;Ryxz>~(`s(>6|sncOgqqXrD;J@Ag|YZ zjod=N>*T6-gxxw!@td`E=#|tW>X;SU3DhnW`OXG$`dKi`Ee5JddXQyr#bmHfl+cPl zrnvsY{+exClT)jZL(&uOO`eO*CugY0nQ59I7*{!JC)A?ns0_yguYKZK2x z2z*$)6pT8Z5wd?lB%e0*2~z->Ue|vpTywUx=r+AS=;^tj=_u0X*{&<_izN$<7ta3i zT~SB7j;_E`+8Qw<+IVW^wl>whD^q_WG-h+tJbu+3D~4_?RPW zf^Q0iS-5GGWUXnPFpIfzphZFR+sn3L{n`4~Whns#i`@oZ-M<`)p~A4?Dibo{3gfJj zEh&at5o2FGqAXsjEI&L*`y<7{p~ik~LRMjsFucZevsclw%YxH9@lK%fP;WQRVlRx0 zh+X5jQo{VjhWX#i4w~1Dd1S8A-V6lm=xjC*y-&G54)`EL_nje98&*8}xrsspsy@4r zJyePOYJTVMv#kQdasuB3Z)l{+o(-9AzPIz7&z)B(xL^g(_w4oRof{w^E}nd%+hMn( z{)BD9s-&QO&9^gNBWgydp35C&dkMmMN;KzN#73^iK3B6Kes;m^dOv<*e9(%g+-oG+ z)MZpwQNa$fJ?FsyhcX=A0l~0Ivl(C(6}N4$cMk-<`{%|=Xj;Y_Zy=rL?Mv5@@i~2aBrU7@yy9G z^HeSYh(0Rzbf7M@WUwNEY`sgy^|Sw4ac!~&P3B7!=fc*h!`}gr6paLgLE$dY5|I1 zF+R3sP7Cw-xfIq-WUYZX;EhmrwUQ}OdWFOM3S-sNh#J#Ti1Q=5`Rz|WIX4d*7_^MF z)mba6*bX~V^oteHHx6dF?VLSxvu06M^LgELhXL6JhFMjaRCFhYA}f4Io>{1rtRqr| zHs|5VGD70>r(^TUHLtSflW|HKD>?}1mZ5a74I-N@PZ+Gfg-NGbEV%GiKy zY`swdsqWs+q+6o|f0I^`%tR?kuU^_QgTpC^PqJV!_Ew7^1=9;)C49&^OSMzU5aJmZ zt5Uf!oPwIR^Sr``S6RZ;G8Z0wXzKkTO1_e^2mq)LUDn!_iSB!NO`>7V)GpJe&v`}# zIr4K67NdTreW~txB|?ri+es2a&uk;Xm=h2D2frE_8CtQOGb=E^qE-#beeRv+P&!Y@vaOD2A);!1Qbt)nDTM zs?gOzZVGbuD<|z;4>h<@w%?}p)C9Q=GkNew(ONh%!x3#^rGi{(wutc8`u1`TiP>sC zPUu~}#5}hSTdc@7yrMzV%68OFiBz|)BU25edv}GK|EH{-G;nC(H_K5NDza68Ao{*; zI>Ypst<8*}r8xP5oCN&sT@s-h%u~*!ooz1oxPM&E0zE-%TuF}!N$Ek93{88npeM7e z9KTtgTrmBgd=co6ft9cWF}%Z2XoN>|K`hXpZ&K{XK%n^I4j<{8_4K%%(*h4}FXLW@ zdOf0pFehGthkQF~z2(wnDqtm50fmX~ycdi9Q~sK(mGDg~K?8-W<+E~N_=m`LK{pBM zl0if}?*J6R+X5+O&j&+VO2gk+iJenUCl2i&pG`H{2;Ry}e>g^q&Ab46>`<-iqAiwX z@m-0bV#sr~|34+4D?8hAJGKmVIAqvcR5XKM(sha#oL92W^}wOoWLIRA1u3%c-d(#n zEsiH-w?p8cj#=Zg#`i&nBZTVLp+^_Tcf?srCqEb6+46+-g})NL^D_g;qDt}30!h_x zU4SAtzt91ka0J6)-LZ#6oq&X;5nCz8-)0&w!??m|~SjO%QHXA_3k&cR^$HqMAO!Pa2HSh9T0Kdm62J-dIYp>dM z00@q1s?|FQQso93%=GYj@G_-DSLG9?Y3nc zPmOjtNqx4BU}W<3ChF%G5=J~dtRSphyL=Hx@@$}1rl5gV8PN z^1K2w9`dD$s?|9*$MAj<1hc~tN3H9Q)fn7}K!+Mad#SoMUvF+SvEnvu&T_ifI2PIE zKoa+QPNG3)%#Qz@Jl|HswQ|roODjbcS``#(vp4|1Zt}80-db7gW5SswR}=BIf#ndm zl`tZ2HgLFqcYxpTn@#ps#|UL>2c@9pcC$^t6%jYH)!lpXH^lGh!b8e=>7Ip)5K0cG(uhRS93D+8^Y6M&g4OYZzX~^4j8ehI=e%}6i*_+ha^|GkNqTas?*n-iN)sFZ@Sk@6@8yv^ ziOJ)sH8h4Mnyr)6a~7O70tZBOj8`+$^$!9|<<1Vyyj;1yL*G3XR>JGqq)-Cl5xbN+ za`xS-kXsoI`INEWjmu`Tmu}0qm-Y@d|0Ns!)!h6!?L(`NOek~}93R<3&rVQJ7w0SO ze-NkI>)UtmBzCflS$JKlW2K(n=PJ^7@G-F7y{pTD1LLZa&du-7k-6Mw?tmF;B-HxY z^^LO#Icj_Q0xw8_U;%3`Jx(}i?XKB))n%I@zyp+Whi#j=eoWq6h%>rAk5reI z`nw+4HTgWihiRktx+b5*xU7Ol_m8^|huLdz`lrpq$y5)3d&(UTFa3J|TMVBgXomk6 zITP5{|I~|Z2=ITi;YWVGZbA=u^UO{(%36mp(?u|6ZMcBk*m$vDWtcQ=<{0Sttf A>;M1& diff --git a/figures/zh-cn_neural_network_runtime_intro.jpg b/figures/zh-cn_neural_network_runtime_intro.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5fd090696ba9e931b647aebd29f34a02c59622a9 GIT binary patch literal 1054539 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ⅅqX@Fd(L5(+Du2pkXuRlKkEw3a$%T?tl`)oD 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≈jF4VWWwpWt6Ex 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

eYA;px;$!blp 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�Oo4ZjU1vCR5v9iBs*h1EABT4|I!*KzC%KJbap;%JrF9PVN`YVqs-PKBZgOGc}8vL^heJM+Kc2ssn<&eCNruc2sJPcR=L zdqO%yT~eYhfP60M8o)l+(VNLbv&7>7S)_HU$?^xJw(XSmH^8aF9lU1uV8vQ{n#>*| zodYdzuX8{V>DP7SU&v5+nj|M{CK^Q8noi7W)NvfU@Sk4xolpc_gkO;$q}<0Ww!7@G zf&4)yIzVzx=sA#4{*#8QWClFwO6Ec$76kC2P`DekFy>k^9|uY7Q^=nx_(-vqfV{Yv z)>}zRol2V^`NHPmIc-(Ih)3IqmLm?h%2UKA(D8;G;kOxL;8j zYBDsCY}&ouQws+5%IN5wfSYPQ#|+WksDajpefG+if0O%xq3-BC)p4w|KOlt)KYJUv5 zHaGu5&|8s|dt))sQSsQ7;9*0wN9n`5q_n0QH|%ejnMbIyof%-oIDM0Q-z)3^HNbZz zz?~y#ftdFd@LRJ2m_5#VO<01cFZj@M1#LK9jY+SNb8y34RmdLZc?gn zvw^?~j8fHes}{(>@0C6znZn!_%WU9rTifF&P*x@$5&o3VGb~7)@BGTKH-b~O_gQPd zRrP-T%bD!$=l7&^%HMy{d?L@{!5c&0GZoiZ?lqi=Q<+CjIJ&e9S=0TTMfSeARB4C| z4|3VYqXh&kzq3_YjgU}`Rfhffh^WS+l})ujeI7Rp(E@rN1*PUq)%SxF2H$Y5Z2jR@ z=C4&z3Ky8Y;(xwPATP#!&>9;}6CaZeGpn)9NR_~7FQ~YU%Q4_7-){6TG^6hW*)!nl zcLbCOyf0+G^VrLChf1fl3hSQJ^Y$sUqxP;Xk!6BJ3W)s1RIlk)v}!x7hUz5`jdKWGwS9`x=eQ1m?_tHrHb;tEZb$4gl?h||3=6#H8T0!ja`adlTLFFg!X{J~0!Re=ygBot&fSqv3amlyeTwq7heYmyM>rGCG zxbd0&$Te(sxBhHEakx=evD?+NrPv3Cms^%E+v-KUZgMMq!}c0!QUQe4!n?1^ZF$=v zZgTAr`&Jz!B#PrR6@&LhX1PPl31&HpSB?*a5Zkh5IGGux-Xk8kqn|r>x$yt^ZM>Ay%HGlM}4sS(*?bu@gww*aPfrX9S(#5twTAn@Q1Zi~C;}g*G#BKG@fPcX^xvenPgEl}sEZoHx6%=W( z%o?=4?ejjjdPCe+obnW21sfP{a-R!?Xf7N7t@|7*N+(!C1Y3TvOH%TEi|dZp0xw&O z2Q$0r0miLojk+?Vd<;J$)!DlvF7YO=<)Py5!E zsA#`bIbh80WR)d-iq$zoq8@#2K6_qm_WWFJ-|*do$&ub5PjBuoj{Te)Fc4N+X#CVd zOuvx3`qko^f6zIYrR37MZ#e{&RF6^b$_7i1{pR^Zn6Mlm+yg?&WQ& z8~FWwvG5Pre-<}v(0VD@-EH;wH2J)&Tk~GYc@d?SV#JKWYzMcwl?nL(OUJxz0}?-Q zI(%5e>%1xXC4acEgATfAWv{rj;#lJ0$KKs2xAe19*>ep-QjcvPKcXz&gr6zmAIjqg zoYTtt?S$+q3UuMD+a-NQv=Rq-khs;vvx7_X9Q1Jet~SfK_@x&*A&9dqU0fB8hyoT< zwtHrNfkPr60Vxd~WfmLTSKGbearAGRegnBFBXx__H`&-nlw;Xoe<#q|Mc|Gf|-v4;nf$TjqSa$q1bz>yi_;W`o_B>4A%&W>B*GzfUjy z`)k=X^4J&ZinT!!bB0a?x4Q3L0S=^~&H3NG+i1(u%$_ymsSW1eT?zi9feT#7zdYhD zOMypR9YG5y=-HMn&w

1D^^C2jkc-Bw9Wm^XU>oysmhqA43IWELEuY|COn(0jEbG ze#HWr1}0;ElNo{H#|EnV$`|nNAQQgN{GJJK`JM?Eg;+A*H;6zYkZ~Dst)Te|%csg7 zWiOHQK#$loz%brWnlv4e%w4_E2NVpy$?4)X$sekVWd(mIw2)u*fh^-$Hg5H@!Kx2v zypr^jvi}Vg{;xmXw^T|T;1FKO(M5_X(00MZg?aE31I@a_+q0F@pX!=c!hR7Z$7G}9 ze>@-sJPBxd)tJ948+81~a3OD5;&KZZ0YXX)zvqa=>IiFQhOD02=4u!##qVb z<6v`3)Yb^-E!Z>=t~99(dAOieN2dyo5T5jacXHc7u0tWLu^lv5#9L?C1fq^UI{t{z zV;kx3%{o75z8iJ)d_)m9a3{arrS-Ju6r~DN&7Nt8B1DH^Rj?67S7B9N2gGhA$9bL2 z)O2m??i{A2c*#Ulk@jbW$oQq>J4{O9w6^T_krAEfC_fN<}%0ttl6nK}|O=1LbJ9>t`0+}<0fy7*R zM(08fAEA7tJJV*vNr#lO?}u0G zcg`MkWeUq_WNwho&7k<=qDKx-O1*~%udW=a%VYJ74j2?J(q_B6L<|#b2z6l+TunOK zltVlR_F4_`MopiAeZ{V^xoAi*)}HbPE!5-2qV)VK;i4Z4b{h0G;`u;Q+3~^Qh@bAv z25v;I9wV`FG)xQiLyagL&H*v-&w+wIq6WnMmEtT`aoBo;n%H<0vuY4aRO5XpAm{2>Qk$EFN1M+*rB%R`_PX8C6=O$J_wdJmWf|aG<^gRQ2-GqtsqSQzy z7)LepQsOr``or4!^HK#M=Rv(~!36E- zcLA!RnK<^&gdvmBNVrgVgU>l*xVw4~buNO3Q5s1pOi=I zzfu6`RY2)MRy<5ACR*o*YD;nyNflOT0mCE)7sfR`P)EkPH+Hsi>^`21PcrZG41}6S zI$p9hO!mxYr6()~Ed=+A21*CM$x-ebm^B#M)-vq6KHb=wKQrl4EV+}6%dyp$g#rw$ z*8`g{C4~_pfLg1$r68rtv8FB_1y64q`Hdd=+`L$qj#&U%SN<3XHJn^um;|slBIk8cTmqI??ACi01vtr(?OMHE8dZzW?4r{jTIj~dq zh}>*R9-Gj{i+%>io?5all9}{w1?d2}CBJ&07WWg({SEFQ?QnQXxN@3J^SRM=N~oR? z2K99A*OKb^xP_oi{2dvIR$C+Bzn9!rjB-mG%*QNJnod^IA}tf-5hiydlG?vE({)rADWxHmG3MF(+D&?M5mkAAF0f7@13Jg zId`0o*bD1SS{TpkMyjl$u*M?N!QnoQGiT;jovcWgExAZUwSj`uG`pv9gTy zO->Gv&kz{Qi1{H_cG4pB9@w+;_kKKD7p8ku3Da(pc26#Q|D191z2pa>O2;&BIi~Vc z3{tbx3nnXm@^?-ZeV$mhlC1|R(AuN5U{6KDIGLuY=ne}s2a8&TgQT@bxsjH9}TD5UFRc(@;(V1Zl|wdpWgH8S}=MP!G(Ms;jgI4=>M)ykl0ck|`ykgxn z+3;0ge2`Ty-oJcx;9re7zc9z1FaXCC^*8A?sL&Q=1m3`PP}WwYMUewAKMtKt$HXyy z_V$d$Z3(Q8usVAj=;o_GVhN~I>Tb2y-OdJh~#&xo)YRm%m~8#*mzj$Stk2T;^D$Rl0Ko#w!VQi_xo3r zInM{@(l;L#`RjzY@x!Xkt3dOa8rV`euX*WOi0vH95t`OzHT7q+GSOQKkoYjKtcKl@ zr6~c~lh@cytiAJKe1!{LqDs^~$w6s5f^bzDGkyH#FtG*El-(y&?@YO>Ft&>CL?l?M zeIP7Wphbhnb;_VFo~TeR1oQ$e_Nc=hBNCe*eJ8!-qn9G`(qxLyz+*t$i+=^_+DRz` z6TsYPDp7!asMonaq6{iOe3Q#3dcy^eMh{T7f8>nlj~suA+q7hVk&~|F0Vj11_Ihe1 z%z*h|6Oa^+A>f^0wu92ig`B_1CH_VD%3oJhH8%g@E3b}uk)qNVnsg*)xy`}rZF7V{ z3z(ZAoXB!#*4;(Gb`qPQ9{gB^`hrzfI6F*H9t$`&&|kEcV9p_HoO6G3m>Ie(#V`6A^*n(Wkk#54({y;M2T zkN?oI^6%G_7ka^cyY^2Ewaga-IdWI91})0sBh+~EYC6nk_FFPb4%NUfaMHvt)5Nw)q0n3#VejRpL8{3Lnx`d|qm1?1RBMe>Jt z#j*#TdCX0K@a_WW;dib$Gkx_wpv`&mAOFRh|MzKeqP_SEiHlha8fPg=s3StW=r&8H z4@&3tY{^N6N=7?IS)zPJ;Dc$cpY1LinRH_qs)yJ0eYrDTvhI_mwFGL4X`j89O{5=O zW?P0e%@4bdQ?wWxC8p8>viYo9{sU(x z>+2p|SF0<_pFXJ4ToRDoeLuFM=9uy3p%CQMDH9-L6Gg1<`GI2#GaFj@K4|Ra_vT$hPOYe3Q!@_-=jI3?L13CT$4l z+MMB5iAirQi&JU4ptGd+3W7A)0ku7hhtMVdhFPZ^ORgdHg@;M=KO@!)7?oIc0yO{NL3stPVBb$#N zTn))hxpT4JtE|S9tc-yE!Zm{{5?urfWnyCI7Buz8eCcN}$An@FZ!S42_SH6x;*|BXSGr9L?S=@8vW>w5s z4Y!8*eSSt{Dt+3hC+JZk40qx{6O+(Xrpk=b`SE=%tq%0a`{}HQ=3{4m78;~n_~Cp zOkQ9Ic%2EXh2;{YkHvsIaj`;?**b@rL?7w1PzS z{p@Ur;CgXpME6cmg^cBFJFlo)K`t#tD!%v9WkYf(M#wJFq ztd3!~`lkNbihKs6;W=eo`GW<><$ds+#}jQ7+VV_bAX%8v?u!_#x71($e4D2~Y2Yk8-B61&zIM6K zwJ?K@n`O$@Zx}=FAc6xl>V)i-?CgM#cUFK1 z81UnJ!4tC0^DxR=Mn+u%i~?Jt+V@Q^TXT$v7o*6{AY!V_p-jVth?fZhF=bs)4;8i~ zYk@)fW^{X4H*A)n26310ES?1IWeTt%LBf!puOg# za9=+yp@Me!JZo{qZDHvVJ?svcfo1~wCV&hyoeWwX5CY|y6`^q}LXDvnT*LJWlo>)5 zf{$Jb(gRmQo=)C~DSYe3$xJKrc(c`K(z5A(YGLTzX0y67#WodNKwLr26=a!`A&e6r z@bv^Y;Bj83cBM@fI(1G?ZS>^19XFrmbZ#1FsMoH3oOZchoN; z3AH8tqI)mSt#5AcuO_kF-0Tc}UrXGRc|ymef|xUXYdSRrb;dHU) zfZAc#6g6Yc6&TrTJ93%pZBaN=|M6Y?Jxb;A;|2r+`$>f=k@?flN0}_B)D>(6uam9Jj2;4bl`03Z4BDhAj@fTs#K5{xVZMnqZhjiw<$;2~s_j_%;_|6=bwqnb+pc422MsHmt2Cu1di*PX<(vUm6RhFE*BJ46#ts}8GX%I{E`WSb1d2l^L_6Sk zp&6JPKMLb{<{f~`{RD>*le?)#OoRN$KY0>x&BjZ2!!u%vPmQy-O{IQUQjEVocO_l7 zQ`M^K4_jf;!FXy56;@|7qleQ3x5X9oLn3u?wV4{0cuAZ`JXuVTpJ*qc`{;)Wb)2TL zN}uNh1?DO%=2BXRnPIHd?f|AOuQo4#>H#xycSli&UwvR6&eqLsY*UOeVR-3qe4&dY zP-1Ek@tfTAzeb)Mc!HQac$sSO^AY; zcR*LkWJ--hGRPT!78&wF7&Yvn-KQU5}qT?jf14_qV$GLc7rUP80@ z(6Tg0?pnnl&C+Z+`P=_We*Q0X40SvX*|BD*((a4N(Cj@Jv<{r!;DlrUFMn9XZ-u_l z-ZN%V$G}-1nT%PR&5CbtA+WXbXj2hAUV1l<+nU!~%g=-K#b z$||9|tQ!2=2eA?e^B2Y{X+zg|ChW6vVkHLL=wH!azM!w`2oITU1gHEX09h`B5B~e_ z$4!CdN*y^4U`qSKkSCYAYS`43J>6@lCBR)a3(k!CflT<{jiUehE{cI2z>Yo&ww@ng z)O|F8P8w#+ii-etJb!|!NGRsWR&vPXuulH*cGg8c{+^D=Hc}~b+(a0GiOmSD4bR9o z5M1Przg^1qyHe*)!##SsFtXIr($ZmDS>3Dq-o(ztuD3#KR#$A+GNxdnAgN&JIM(yw zL(k~psDYk=%@a{$W1D;S9z2tv?0mr?AmLSi$%SIaf=M5rPBl&Kw+2@m(;w_C-s=DC z^f9`qM02HIPdlk5kQ(K4Axj{mXP5Se3Nm5HZP4ON*p9BlA*%VZM8dXGL{)b zW(QtmwR?^p;d3ZL6VIM6saj6v{k!+6_Rtbd6fHL{aIYL5P%p~1(;fCN${N)x#dRLj z&GIiR%JQG>?Jk}sdI}Fh&8E;5>?f-;^*v}G)*UdOg^ws1R>@#Y9H>K-;Y5z-)!@e? zxHa-Fr`zRlJy^ZC0=Wm@DZ|}<`eDlSoI>|!&e)n~Pagvi;=5Z9zbrq@en=?`tXtUJ z{)^4Agd~@D8p?FrU!Nu%vHZWCvA^N-EbV+D~9=|?F*V01CwB)NnNV-zJgRvZ;R~mt%hS6?Dlm+ra(s= zkM<>hk{W*}+9J*(szGeb&z(R#sC~G3K#%LRrc&Q{sRBs-UMu8i;a&TEGpwnTJvE9_ zwr492RrPYqb+gsAuIKG~1(koV@bPXOFZn>TZr1HnF|yI9s0pkv4*l*cubZ!C*n9U{ z|Kt2U*_g;o&j4^IuKNA=+p+dD$pd%^kQ9I2L#a~}KTvc6)DFg4kS2rY7bbd)=SHrz z6<@Pfb2_p8aw6F-#KBs43mV!5_~;j&4*qBWc$GNlZ99lb1fa?XSo}Ws3mI|fAE)^` z;v^6aPd)yL_t|buxC|jB1 zj$i|-$baMk{@1(2LOd|DU;_h&NH2h8>>95F%>KrJsB_yFU>b4aDroj441DK#%>-fE ze@N}PsxODw)dCxL#SfYiZTV`8SoZzBZU*?Ko&XfMTg?;Dk6WxthWLJ$BDj`F8R!Cq zXU=s21{2`rY>^hMz`TYb zJ~{KSnz3?#;ES|OBLwy(Kn>=f2(B8cIK1TjkKJi zDXsUC$L?wKnZV0^M|Q+H_G*QQF%~^k3Wh#Vp_=+`#;sSDqxC)WfpuNjrzO!NaBV$k zo&!4CY`r+M(E>cSrS5`iKD7g#;zTs#%Ozbe*O@p*l;;^l6K}Jjd#jd}oD-WLlJ^is z9C);pN9_4+Z@+woT8@R45h#wS@A?}Jr0&)K^3aQDafJB%=EDi@?ogWUplSB^hj?m) zO4(VawCktt5;LED>U7Jc#^Gg0uN$kO4dJR?Z}9**Ba&k@v+CrSIvbI{pvv0f2`$a> zuzRz*ti8nBe5rU{TgDawxo!9>ZR!>92QBfsZ&kDLv5m(<`~x`{X|It{tQ#S-RpNAQ z?;IH1B$|Y&HgF-{bpz4v%XlS1wLS2E_lZQ_NO6?umeMf~(tEmmKlf~6TdqlOK^D^$ zZaztC+5GKe@>WqQL%%fg|MG}!*pOkMw58Vv?2lXsR*{(P;4KI`z_DVHztGj> zwv2u<6S_w_F;K`)ejXnhEVgp#Zj>9x%MgF1{AzbfV)&?5qvea2W-R-f3M?iQxl0Gcmn{+ORs=9Hwx_ccOVJA(Iqsc3`hLE&J~}cDfUHQ0d*D1 z5FY959nVC{Fxv)U5%Lj|eQst(TpOqym_HN8G{DM}bVN2VEr{I^vD~jELf-`XGU0vGMY{@=lW>k|#H(uq zMWI{+eqAd%7VwhCjn7Mqeub@ro(zdFylXKW#S>0^oj-0gIux5#us@l)=MP_eACdRI z!oTwU?P3+tFWG-y{<9-(&mAb5mBQkMp}2?nQf#XvK-dlme0hM(2nA)9gdke>RR6(&rY^_O;_sG4uP*{g>>WfOd2ZC=lVRhpPsbo-_4qJ1eO)5#EABw z1o7fHC?N2JpaKr!jJmdZpJ?i*7QtnO1gd)ltoDbrT?D=9M7^*N9@kg z=u#`{=j4si$v^w^<+@J=`m<%X(P$@YtPLA2bnng z1e%|IiHS!`A_}4_y!81$NJn9*7WD2$sS>PTR!08#+UyZz%eRURQJCL86As;5)Jzmh zyVo}M;<2`a!4)RXHJ;i2jwTI;SBFE#7k}d)Z*fg_&Q5;pyNBB;fulP2q%PRzrKm== zItGuCtxsd$t5h!rOsyCUbgTrE0A~4g7p#sF?UDMmn}{EumzZL0A#K7+>y!ETiO{@K z_zKf_^zn1$m-RfU*z%guD{Y8&-Q#`RpH~+WNT|);V;w35bdB1VDHCs(0b~>{+8rl2 z2bR%!;vrsF3^7t@O&A1Aqz2I(ZhHpnyf)kUaS;{E+Kwm^j!U-J4Il^Lg>&^U`Gbi| zLXG0OM&9Hf+(UdR07haT8qDttdBiR5Y1AzLo=IVKi1sK5reNTAH?YN-M6B>v(K-EI z?ZoT33h)))+`Dfq`+gu^a=NMdrIIX9KPt*-V_`$0JASFtM#1*aMk98hf$M-r&v!Q~ zpPR^SY^CpPq3}F#UL@e+pCATsHXn@2R>7wiT0_l@#RcGuM{H%uEf5a>_6S0v^mxl1l>NZNY*-LK&F%$k1tqym`l(@Lf1goFc2 zpN`;Jyin~}T|kS_6+JHq1k`@nf^)FzbLphpu`CWKBW#~ve$9i)=-DeYQVgg`Hs1tK zbX+QBgW78>timnIDF8FY9kq?DYBX1eL-p%7ptMU17OIy&rv+L$^eid7s<{(*^j5R~hWsTC6WOi~a0{E< zsAiyNVKv_LYOLzBR$NP$JkdU#g*Hrdke)w5NK3zr5pwsuAXbuMGciZhEv-z1hNc`1Gz!oraL$)#BwyRyBp^4oFa~ zfC7>l)NE8Eb=O;k2end$nH;a!{9>Smn44YdPd^NLek1BQTUG*Um)5NIjYG9PHAbI{ zV?`$6m+SeN_b$sioDM#DqP1?-_cfY#nhG0gvjnNxOmvk5_bsQw#8&*oH+8!L8`a)< z&h7iKPWvn6n=<5R)60Pq)jf;YgjX7YPo|Gq_!kn*f7a6N@SnJeLnYCJ;bY*Df%vQW z1o0AokOR$jmVwDz(l10Sn9H-Z;?bM<7ypc07k#88XP3hA}l|kpe(?6|8-WQ*CzB*%Hkec=U*~?CSs>I&Tj?Xv! zf7JOGjm~j;u-Fp!3*_pg!vvvDK;d@X)U>F~rjRD8Yz58>{k?i&~aAqt0Ah?ezFM2@AUK5FH%hl@FW9%W2o%{}(->x7;yY?+bT1GCr zE)Nbx*D~Xv&PP4b)+b zlOqi_L2uoe6oKJuX!?wl2}m6uTr)wM*OIZL|B6mtU8H`|`4`kO`2EPsG{ovroS0Y) z5XTy*oR7$!lc;YkAf4RSx0XTvYb9=J_rKQd8jjDe?EMXzJpn@6;_-9H7AO{*hW--^ z>#j%a%>^ys8V-+R#TZrUd^jTt^>4qXuW!SyXjSX1@-w07P5XuRASrubhgx01f zMDyjr?rYTznHN$mUewfO{osu0i%rDTMm*RU-e@r1T9cVVJQfjDM$`t7Kz?>>u1sH` zl4b98hA(T#oQ+8c5o+7&J%m z-7fJ(ooG2^HT5f05g98lxjo8x*#7q?(|va{lKY%8k2Xv{mY;2s%BHGeWjQ?O&6{2}BuwXoYX2PuPtgo}(V0oA-yw4*p`Te4=&gsQveM zm=&;Lnp-I^HrCBr2njRvBRthRvWYw$!PDA4M2Bct`=VB8MrP0Nq0Rmxa_6ZesM`{x zPxI}>pnJ(Rez&(=7m|c0nZ_2S+{zHlCo-&@$<^XxIK?7`wJWuPefU!6`)Ko0$OqQX z3_pM~6lwD}6(6mW_8@4sQ>q8=E&1^FxCY6ka=My_D@GSrFW$15Jl9RME%FO3!x#F8 z2R3?p5fzornHfmVwS;IGIo+7ncCsDC`|cA~B?f9|*mTiTRH-MgYeC^RV=VR+UR$}$ zY6_Hp82MEb+caPN19+ni@5M!?KMD6Eql{___ZZ(6!*?kgm%2;W>DQZ=_D8n#E_S-M zx$3*pck)&5?DiWbRaX!qK*Z=d>OE||d*1y;lBe>As>Xx|*5cP7lLTYcc2cXVP%Ro! zkh;qdAvhT1P*Db=BXAI(fo$~^Dua)8#}&L85Iq zNxwch`+hZ3aVfp9N8_-xXS>*i(W8Ux2gZE^NVD^IiE|)c3=Pm@(&+w2_v3oq5<-g6 zSIei~9ZMjaF8a?zED*Dn+MI1rGxiJE7EFPDBg2WV$dF*T%YNnye5XCg<_*C_#&|B!SP4?n=NHGADZnOe*qy{M z>J(juhq)s%DTk}u=&A!ZWP7bal_pknviNgA{Xk{OMaKJ$89Bv3eekn&l#6#kKY`sga(2X^F14TX>Kkhe(2Q z#YVFM8a_rzsXwFwJK;)R#NTC94@S*pIOBH^fBC4KX~TP5Klm`yHqYI>pre#%4abLf z>SsUk4gikz>SO=fqBDQ514ZUfVFEiIX4XV_gt!+}+BT}wdq}bbdqorH!Qr7mZBx$) zMaSt$FMdaob_Mh7zz;aPtvhK?sSoOsKmmQMt5TzOMtzl4U&B$;N8vDMufpg_rMT}E>6>P=jUREkY7Y>;K+kuzybB$727p0+RqLX07^pFc0v%jPGkuy_>;XT(u`-8>XF8>-lGWSuq~B0*?F$IBwtV>WY6#FJCNc`;hFW zsitnD@peeF%&X~o#w@ZES zyxcgx)oX81?rFs)p|;e3#`~0#0zdQ)6+6w%!=)0cT^nm_dT5fbz5w~f!h5LsRo!)E0NACcv-!wYBYu&>VeY;B$kl>XaWr+pQIEcpzvV0hGWuhR_M_?_!DgO7C z##(zr;wu0!|0i7=u>@HjQQKQtKaMwp9}SSNrO@q%4i+cg zY*l~y$J)yj^Pdi=i6t5T>DXJ-F!qNfzgV1j1e(@A(5NO#KF$(uDFi{~A*iq)bQn6V zrtAoBiK~?ZodrIgYcSEZNu<)oLc~gVBm9Fms^@zj3M)WBn$*sK~mf;9Mp&cvK0f$g@<5s4Zb0K zP%ajc@i*2=YIh6456ex^sqB@d_nQmPu{rc3l!k=q&x@fmyalw=3Wmz<60EJ|95W3t zn4iR|nit8S*{VoEOmZli3X_AQb(z_}d0b`f$C?T?DBMQs9j95N)aSoR9P$cRD7gKyC5#ZPXqi?}q7 z-H)ToRX6;(yVW)bU)Z7hNA=FRTh`wgWnHkbt>CBHkJm{Xpk{OW{_ne*eJ21S%p4Tv zxZ8qf0!xV(eAv&f!k!aii%XW*GTlDvg0SYN8IPRisNqeZoK=3_I-<1NdT}o;mTIcE zmDhN4SLu{HDCLQ$0kr)r*};oTb2ZPu^(-Suf^F46`mEp z=npP~14Hakj#2;=uaI4ASDOjNWx)MUMHDTQKLiKF1l{0*TqZ93s*`e2?n&CeS@H&z$ zO2=VnJipxkfzdDi%(h{vqz@F1)PbY*g&lFG+C7@jv)s{{X!3$pDbfeYf2dXPI< z@zQ6@k5_eohKzgIHmM6C_oJlF+g-}ML@!Hd>;Cr5M%QPbM`!y*u2+~x@z|iX+Lh}* z_;LrPvu%d`g+qfDDsLmgFd-wpq2&1v`s%8`fKU=aP2U9D^ZyzbtmLt*;Kt!1IJ5ys9?ZU=UL}9t&j$`HbteNr$+j%Ryk_w z5xRcFN&>>xNq_Si`)qSN$UDRJr~*|luGmB7 zWKwpB%08>K+?*ck`A*;3x674Ga*B#$Ty2hq)v%_zMRDhQEw5FNzt`zQ`7F`yLl|Ii zB840EgUCa;aS^mU(_$R#Cepvmu$WoEBbyhFcY%nvP8{v!_6v51!hUEZaX^nAvuzvW zg5SFbpQ21$r&I{Qb&x#~I_Qw~dq zjYUsK0?@o$08pvgE9eu~1OvX6Ei@NCs+lq5Xoq79l7pT$VBHCm6Z#F2K6pMLCqUk~ z1=M=@jHTrh)-&fGd@dL?QyL5jl>Ihg$Jez}BYB=0Z0qge74*B)<4+aK0G=b8ccT}^ zN=}d!-5r^o*s*6hhR>e#E*d|-qd){GUv_-mXFQO?b{l@h=5tdR8K``_yfu<(INQDK+h zFsOl~aiqj9xqzD~lKKOjZq%MG0R(H}XHTjAI?8u)h*m>#8znfx-^>a+@66%EmoNeXYc%Aao>iCDZ)LZPX;R^0-Yhe;7-Hn<14eQEsdV~ zK@XCyf4FsQT2oZP7zYRVk%s>yjeM9KS3}ClQiH3XL{4xJ8xWmtBON9l=BIkUWlJS^ zujfNdicCk5S1qN)n$1vvAqU=vmsydk%E>#; z!?J>Zc9z89_8&9fe|!9xP0Y4)GDm1Wj&CCj$Bs4nD0I#}AIq>8M95$MZcKZI8Fq?_ zW-v63^wb+HLPorT>*q+7B!CyWLaD`zv&dX&z-SlOE`$7r;#pu;Y`SK(fcu|hGFGih zTvtyaEKtPNnf)3FmIy4aHg)pnzh`UH3NTvFpwYwpeOa1RkfSm1TcI)Wz5U@J$K$jZ$2%(Ar z05cKl8F#v1!)U|_CG>?pxsEfC>bT}<1O`Wn0fMP$0A_h>w~Q2fYf~eB0Tsp@>qWZg zrTu&!dj2Is!U!1)_vJbW13!t@ z^EN%#L&vZxzh*GTx6EtZI5Qkt$ESEVRb_LU#Fa^<)>5$r-9$7G-qJm`-M1xICAY`7 zvTwq7{Jo#?r~2@SnyfOlZgpJ_{nl3(E-60e&*{<(rEp=tTy?_qN=@ddLc?;^G_e=# zOzspz666w5FGwH84#3n2NP?hd$+M%hqIMJTh_qLjEpLgOKso?8iCuY=C{vw+(dj|i z+GTI$Y%jh=ZC&2f{Z7H?>G{*Lf}0qVqr0J!3Mdyl3;fw84qPVq6CBzKIOdv+Xw^bC zYXsfl(f$f3)S>R`y`StgHJZTQVGRkgpu31tfMBpnD>j**rc#;uzK+I~@yQ1fd>ot#LT+S)CW5I>zYwdF6558hd7AWIO^*uHHM73Svv zi+`@yjvsc10Zv45!Y)9A)(HgZ(mYRQiVk=iN4tHT9kiF1O(E|4hIwW&b>(+3A|RvY zwB6-IuA=dYr(C(YcbKf*O<8Gys$9AE1vQmzF%?UOmNHW>TdD;QN@*U?%B*jcrv_@$ zB5ALX%q7tZ$lm@3OZwu-nnjPgi@c-o&O>oq_zD6)IQ6A?ORMwO-SwbDt`b+yhe8Re#`o)6tIETP1kyalw@e) z{E+^#fI$yZe9?4xdUleJk$Rhvjh*E&8*c4vs+Z^GhYy_|W;rAT);+Zj7(r)YVUw8- zrFGE)2XQ8%a1qY7#UyxSawTrH1 zwSk~;zJZ>uyHqcKqX+;TGs$c7veJ3bcmcK+(22^!r4Bfr6FVb|AxkoPuQ)jrqUia0 zRf$^U=1I`BI%ci-iNXKCc;-)6s&AsD?hE$%dE(-r)})Y>a|IW+faUfIU5G^RY-5PG z;0mFS=t3{erCW!1fjz(8KU4r+Z{lHF0wrB*_@QMy23tEFQg-n4tP@Dw6=6%wh1s@L z>FIiGqR2HUP$1;mbuIn`HcXU0`Z{Jf9o;0<9jZl-!ujLCbW{)a{cwKmlfIiWe@S-4 zO2u$3w}5z;^R++Neq))Z~ z3+Qo*95`WY0*IUJ6a>X!5FbEkTqqk^@p{Rcp1TS8wte`C2Q| z&N#fxPFF6?{YZOZuKVSjCtL45sXkH9zHmzU{yOEs!pz_Dk_3$l4;9s{g(Z6GZ@V7h zs+TVmhNh2lKJ34C#0~5Fe)Ibrpz`5z^UK%p8%>iTgZWmAl|pyYAb_htuwjSbe&V>= zYz42YE!<#saJ=aTz+UbUoitz!dGFwTjnCx_bOA|GwFyENMymMUb1lcYK!r0x%RKy( zU$q;JctTq~I$pJ(MwW&w(J!P#3MdeSb;_&81Ld$ddm4}d)w>rsx1`L!Di;c^7a2SY zbj@Hgq3x}eYKavGuBG+_VmQuO+}alp+MapBPR!$P1{{!wz{VV;?;&)I&(H4TIRRdC zv=0Olo66;sg6>QQzEleoYmk-xJWf8sa4eIf>d&VO2ZG);RQW8YOrm?7^1Ktx}SrV?3!S`hNJ@r$Zxzu-7EnkBtZO zJj-!adeLWj;@F(x*29O+@E5%_QQ0w9l`F&~Xyz1@dngWjMCVh8waK)5_Kju)R&r8Y4BBg!U{xEcK;kk1mB zmaOo-_6**s2ZM5duha z^u?tl`A**gK)4{6kl)8`G~iIapFJOTkJXORv&r#xv#3*O-|cS}|KWHQy(GB7sPs49(zR*( zoG;u68wdMQk3?5eWMBzmM&UVPKMk{xEn=ZR(MSA%OFG!ecagd~!<#K8`|_#?+FoIZ zbXSbG1f0<<(nH-dbeiYF z@Urk6PDz><*Us1wu=>23Z41Q3rp@HxW8>J(ge&dF#c{eLpfd5GOGk7Ro3NT&nD^O( zaQU0b7JNCV@DQw8jP;Al0~WlokRh6PlO-zh6|@4fT|qdQAaaKfV_z|;| z8aDo(e$VUuMCGPN#|UH}+g#@y3!5D-4y685*0pnemq(WZSEm_@K$#uOb3y?mqX%m^ ztOdKCF5$NvE-@=)Q)Rq{iBhotb6l3(-LzKY7g68dEli-=x_07*0jf1p`ohZ|kA+!t zkAdI7r7)@6FOK?WEcZ-%WZqlK30nnsH|hlPn)RYfBrVDAqigf6xGEsRKC?EB=cg|~ zOOsT<^cQb`mO+f}qr%!gRoI8u>NRuT%L8^9SREVi!ed|6(FRO!mVWXK@Q9&j7rB4W zMRn6N;e3#69TfjT#0Yo5y@I0vsJ1q(DXA4w2m-%Yk~Z_|m@=FXNCQ8X-{6W)@a0;~ zbo#%gwVJ8_a#E029DpchJ6CmI?fC7--DR~!aR!+N>-s5QlbZw0; z2RNl1y4cu5F?J~Ke%4mjpsCzbmGah|@*P;}?bgEMphDFq0_h5~0o?1gX=XIL1bq#= zYRI^QhQmmxzt=68V_U6eH9{C$|*M!)4p|gBv z0S3}l5U{oqNFz#0ui!kP7x6T_UymBAw5x9twbyhPzk@lp4^Dgvn*f1q_lBM?uXybZ zVQNXiGsg#)J`Af+ESfTI?Bc!C#BL$F_N&HDIQNPU+@RKo9eY+; zKwc)twpCxrrFsw?&jHr?&ki#r)dtlR6$&pCIy$_S<64njJRK$@4*aVvHK-lt z6WG0QvD2vPpTmEdne?kxk*#?d*&M3u#YW?hzSLnjG~()++XK#`gW_oD3ONZ|N9La5 z&4A7tDx&B+Nsn(joLi@pr1w7A@%^tnwK$PlaTgV5rahojgEQgU44gF9Jj-3A)zk?s zfNBmtIPl1pipjo1xo9Uz%dD3E^rIn=ufnswfMB*on}&7iEz*zvpy2Rl!>+!Y4izAk zo4X{fhV>uk&2{#DTfY1_qsz{CcG%wySv~{`(9Y=bjPCp1lY-30KX2JBy4bz$K&Y7& z6SkK!kCHOo`McE&cJ?6HVpHNwklQ}aUB~xjGKMmlW(T@!x)ceitTyjo`bF-XWUIE^ zgM&1jmXU6S3D;ndet}kzk$ttw%J)i<+o$1zOxMigR$85ZRn^s!Ks`s&OqnPRpm9t# zU|UG09}qtU1oJ4SY?jnLz`$N?-YYsuB@A=A3p^vZ=61bvI@MYg4{Cd3km8aVW28I- zS4v3q=wE7hFFrjnHq%@d-|FmGY-(Zi;@gbIt#@74w;D|Rvg}kFRKpj)J48Dr?{&(l zSLsx!xX?eC=0CI;3R+9AI?3DO{NT9O!kQ5?Q>+IVA3!$tEFxY(-dV{sFo5vPS0>B*M)2L?st5%NDU z#xv2pGx#A;FU%=&hnZG&_#|vi(_Fer+&$zZ%(ROgTd+%6{b@&WK2e9)L5cL?37O04 zK2hHYHW zWYDI2F;LCEE_MEVzn+)V^M}n(b<>(&hpU^qu(;z@#=Pguu?injQKi+W%3PAp;Wo?TvO7g~iPIAb;O9 z{`S5gg`AU(zXc~A<6slLmFvzPYPh{*t8Qvg^x4C#xhaTza0RiU^ud;|96 zAB=1BKMlc5Cs+!qm@>}f{x%;}gi@H2Yq@lrH{Tq7Hf0}Rt6abgfazf~Exvrb%7Ci_ ze#4Z2gc=CZ3TmT#h-2npn#~m9nDHE64mny6iz1%vA=*Bfrt9&P(mDP_sZyBPQoCF` zm{lBC-sq{6UjCVIb7@r9+FywlSUCFG!y-tKZQ*{`NlgIC)oau@(OzGw8hDHjDy(tF zrTSz|Mm;MI?Xz9lF;*~Cm{c&}D7wLSNefab?6W?w@C^=QYrapkyD6or zF{mI%Jpwm*H`+%ER1^ zVA)&~iEd-;sQHv(Sd+Z#MooonOWs*tQDuSqXuxV{#f;T2&6iH*%4U~1K6FZ&(J;DI zH=u=69to@`mYOu5%*^Ex9$V=j3OH7x`q;lFE!A2jcrhj3-G(bJ3t8-fRf@S2;0nd! zax=i3)J&-~%VPsJ8q|(P9pB>5$X`w#Q>2~n9bRb*%P&`fA#o}MEf{z>ShrmlG3JTE z5V#%Qu`vsrxmOzYWnbWg_#E|zvzUq=e~jjx2Owm*HcgZ)Jjf&&@VqFodhjG1By=Fk z_7j20+^o_sSdh(zo)E1*I-Tn`mElM}`C+x`4kw1kNbn47j<$PQsS$>ro}6_BRWui1 z3^p9Cp-PbY=@Pto?j;~-bf};Bn~oMDFS=G;<@I8&ad0u`@OfTb()RTFveqod-I~#e z3prNT} z@9Ge6GJT>kc(x#S`n|bW`a2bLNtnnEaLQ4x$j4)D?laKdrLLigHrIG1uu()LUe0n% z#i49J>B){!e2^$3S$yQ4bh71hL8@jb%5S}27qH2z^Xb?A1XoGYIYPDvdWa-BUz;P(qyxOFKsoYOu7{mv)E<1~KEQc>~N(ji>ulUCoTh!Gd`x5^2yklc8v**u{k z(mmWNr~fX_c1rqP+LWtdytS0fa$J){rgJ+M!q~WnA(H!j z=y57V`SR(7`DH4W6v|OA>yfuZ#PKc#-Ry^XHpZnl1=T;krQRjYfXT8qYty$;pnKU2 zXn1feSOtHVCZ#|?u~~6+b<$hF1CAUS^P?N`GUI16&qaZv6DGD%i`_741L!@@baUtQ zx;DY}n9Tw8(w{n>e}WU4^65!(y+iQj)#Y=2bF&PF4y-06l9?BP+Z6RDO!}r14cK0J zacx|Qb6%Ks>`%x6aojmL=IKzr#m0fUr;?s!IXdlQyAyu6jhh|hjrKD?N#+<4F@^9A zp;PsXw3Tb%I7%cyQxD$3`84kb!r|!ZluG|%DVb@CV!7x7FB;poOG0!Ay_a}`NBOmp zr(LHw8r5#_n`w12Ky&o}O55LN>=WTIXs1pcC&} z+0lWIQ$UB*M=Pl$Qn}X-A26<<()gFJH^M7;@pHBL|jD_``1RKRk=m5s2xCtFlC1wrPv0d9S`@Tao z*96hQ0zz7cw?edAKPcyKa~B-Kx(x;t_6!gdaJ-!{~KNa{V(7LZ{M1C05Z|OmXDdg?;2bk zX-EU0AT($hz#AA;IP5F_3mTCG)@kEkV(`V|h1e>ID6^kMKLZVA?s~wME6y`j5o~Ha{Wv4dHPWiR{#?dDkN@w(O$Dw!){%Q&FgJD; zfYqE!C4=ME216|PB(MALb@Qy`kaWPy0!&iB}sbI%d7jB9U4wdEqmlf=Z|&%v^OHzxc}{6m+3yh zSef~(7m&r3m)?x3HKTrdC--V6JjdSB@#Mrav+THvaD%*~`8&T`{$AWkvn&lho%TZ<8>12z(p2|_M8xq;k@y)+C+Pj0iZcj?xo9lxJ#KWd-1p( z@p8?St+N$r2dr;DBLs9XUAo(gFTH$tNHNxJ zb=ECx1W)`8)T~cK4_^@!*NH1hhy2oXUbBX5y{h|(S}IHV3MfTUq-_YDmy&r&`QG7N z7W-k42l3RvbFFU+<$7OuGLIi%{L8&>D}8gzkdwOC;oNQb!wGZSeY9}Yo>=L9Gc8;* z*TtxQ=^6V{872!Ft?v>XK#NFEltnLkc8u@_TjJB-=^7O|Qwv!e8wB~6A}@>K#Sj?|R}tBypDde||t zbxznA`l(cvZJ?j0d?(L)BAY?9tDYy0MbF;z#{%ZdvL$_n23YuUL5ToG&zdzlU^K$J zp?>1=0**u8HL{D9cQ+}t-LPGA>2l*=R>C%DRSZHk+Xo}&@E&NUA1KqSt$_91{IL%5 z2L`;FcskBVC;@C+RK}mk9LUne3?&v{Na;8^v!+-V4R+qwZJ_KuFAf&xp_fWX`UAe) z3Z4YA`3@UBvSVa|EZQRrMc+iaQ8FT}C*Fh`BZ7PUxO-Q48#`i%yZmwELhI|qgU`G@ zL`PoMS@lk&h~TO&=f;RM-3NaLUi0hv-qnm5{(oqD)2Jr1Zfle(dl93epdiEsL8OUF zr*tVBKtza&^g>EeAw-A`NPv)(ARui@5Gm=RARuj22uK@g0s7%|!ccw&-b03U;_c$IRJVL|YZ9E&H z)M|g>^WdVdKR@iua*cQWjQ~(r3bfV>DR#NNF^4`WWC&7t`(=NWcuT_Jh9+P&h`=0O^W#n!V9mJFfX>?5b-4XN-O;hS)a~;WX%biPyAAG&};6aD~Xp)P^ zIs>m@SM<_%L(hA-QK2J_%W)l|gvc*TxzblI{O1tPvYHPV>H%e^;fvoKR}3*~M0X4n|H6uf4B0ldcxK>xyl+z6_#C+C?` zQ@p`aG&Y5@OzyC7nno{cm)HOajpkD9^W?<=swD0ZSF{79uI%sT>NLRw*k9}Z z8yY}P3dy6xu)LJdonwly9H{64A*B~gAf%)Sa^2R#{}NLA$JhT5I>9#A+u@q4+@-rw z=Ilu3XL~ES4xA14EAWn(#%3c~|Bp}#=)V46(Uku$zFslc56gOi{q#&)2~IK)Q3~q9 z|8NKA>jV?X;^Jq4Ebi)MSzI3&$l{g*5hl!F5|G8s2lR&wg=JY>(1Zc9xXVo#4bX(K z8>0_NK>STqjHXO`VSdV-89_wy2|srH4kmk)f6CnIMc1_L&wBj%fA)HiZ?O`UQJ~fF zMZ60{q3gm<_{pFBUppmAAXe@F3piM$pySa?M7GxVw0}_knD>I^E`m*PhG+%1)0$~g zQ(W@5aoXIm<)7)poUi#^fSx-@lLk|g^_ENkGMUTf{{5`~o1eV=H98#w8B^hNhxoH% zUCJuvyf7blMF_k!Bx%^0B)|}Ad4pZLd(r6=FvLPivOHN_(M4Dm>;ii_sA7)1$NVs4 z4r;*d)IXRDzrLn-yy_|RX2Cp$S&pbnA!gX{l|3ccnBO!-gc z8E{bk;oNkr`3LEldFDSJz0UwS+~>{yS8Q)a9(4mJglh4_9(@kX<^6co@IQ4{z}E;c za`^v7%EhSx{huC#ft3IB1*{mw{xF14VimSTIG)qUoI6qoI(wy(ugER~fC~RWlKvAF zVmDLjElf{{uMxdOry$yM@|!w2!8mw2xa#|5?#lJXg!_cDcB}3ggPF^0tA5jSyeYya z8!w)(QxmMnCS2{C&p@-Pa?^MW!`qX_kNe~?m<>~mwcp<#v^zAGNY$rlI}Fh^&9*wu z%pZSP>8YvDJ>b{nl=P}L(Y1U@cYKU0QJ}-JQ~|I_ZsD0(jr7+~#UuErnaBKMMKYC_ zM`R#3k`w?z`EsA?5h!Kr;mhuh&ilZ#S_`epG#SFl)s+?lzrtGsDuF-F2xyWmsL^rI zvigV?y$74>6?urmOz^F-e=a%F3-2Rs7xc%XbeBm5P26onnp^i4OdM^qTyw{X(}F+B zdd5@Uz&jskmq;*sIryYwd60UGWtosVZwnrG2M7!PrY3^C7K)&cDL9YZ<_!1H7^<}; z)}uKBzrxT^{%jL+l4-WJo*yk~t!SkS7MpY<%NXY_r))&e-|--tmmnW!cy*{mtq8 zbj>@FlW?&+W8YX$_W2qgrzTzJh72pq2pD;jp~ePvP4ctwDN12A2o|Pw}nmMbJ`Ly*=6y|%@Yq0`@ zC-v)FJl(6as%ev*&aCgX`?ed-M)av)!TJJ{1^OZm!9j!g zZPt0$o?GNrU^o|gf?P3(a|ZrX*7_oRVrJZT)C$s8$Vkx8reeg)YrsZg5&Bd9&NI`d zawF*V(CN0dJ-*I7#s~dk^R*8yta3Qj``dPz_471!)Q>MnDd3QtKj&fMTU|c*ZHPPE zX{}an9qdg>0HP1hzkrooEv=T>zCzS0&HH1;6QrP;L|{>hTBa#mtwg7#DSA68bAGgy z%)6AYsYEXhvy}#~M}cb38fi6pdX9pdmAcmf!fCpc%KY3-xylq9VSv48v8kTNHv&8h z0JSV29cyNqyGSl#+5vUw!8|%iQ8Gt`A*>*~H5LxC`YA&~K^Go6g@vqeaJbEIxZUr) z0)6opyX6t#k)JYyh46Z7u^PznOh~Iqp5jxa(=WRghA?O9m;!V|@ru?y_<+Rn(c2$r zF9Ge| z8QfW}s-Nfa5P#J2VQ#jDLXuOLkI1P)?`uil^R}`A%ZFdAHO?RM)68X;PqyX`(XaLn zARCY~U~8?~09AnBff%Voi!S+Hm={T2P1;@F2bl5l&?O#ovkxbyvl08p@UK1e-$My3 z)m^kRY(Q0(C#Fueb?bOG2ai2|ilIYUQyBI^rsBCcV40;@}7T-DuogAYfQxYl3jfy>#UE%IVsVw z`qW^Jo*=tE;Ur-XL~U_>c;bwrpnlH~czca5Lfd>A2T7jiix6}Owll<()V84Bs+50EeEZci#H#~Mq+P+)iou7q#-PWbTek~h!s`kJ_M!v8San~A z5ZR1W1`JNhKoe;*kUT+d^2t=_4?wP+bYBl)N!0kqsG8-uOcI&XpmYDZykU4`;h5h|qR9Iu!usU+K z*?iB#=9Sk%1KoSP_8UH4FT|d8inreuc{an;eDg6oUELhlq%Ye#~L($-r`QhpdXR)^=htgVZtUkVe$71={-mcO&JtE>e)1?p# z1@VEDTyEC+Kz&vtP0m%*eaZv^5;z6xeS7J{noVeozYY0(Iv>o7T ze&inbTQA8dw^18DSSlQPpB<3n18<9Y?;H>dT;9a^3!a28ltS9HhS-KUD=Lwuo5~A4 z`FYb)p{K|b$_`l9ZN8hN22}$2H3)g3OJbi_??+fb$g=n|sM9?G+!a&iq+n_!gH{?H zQPhz$8NIqRcTzzJ+f(YdQbr=U20UMD9CQ2Tp zBiqZ+_Y^1!0W(gGCYTi z@w+Xkb~U|vwOdV7joF18<=p6M^T+=!BmQ;ydu9d=GS&iOh5(J|a9302zd!Gvx5fSw z4Q}GK9(?-!P7v6eSAcfSuAl*?Bo;tiIgpcBdx5kWXn3ZjENggPEd?5$VYdHm&HWEA zlZSwcujxDV)EBh$&?(8cD8W-OmSPAJX5zJ{%lKg#R=Y9*teyck)D;W>C+y~U0IPol zg40>}Hw^!T6rEhaNKL(a2U39GBX~=f{=!Ppzj_I5B!?xBB>*bdKS9pjLY6B6Tf$#K zA1TOy64EQ#^v|ygR1W}L9|v&x*@NSp8~u_P&~feu)!3ywVC>0h+^Xi^Q~GTX z2GqDVk^xw2#tJYk z`82chz1_YVEDudVPWOw;mD29lufw|6eJjZWEp^TgU0pvvwNt-Wgl)yCX9hjHny~+J zysNd^gXFyy*RHK!M;}RI!5f6*lAY1ZnL%$!nG54D%18$Dl}9#VL`>VxX%Fzq0sfiY z3qd6TCwPT91Inb|q}e2kT#t)5qnlQQ{I5v4VtrqXLnKb3?CbelG=e)G;O<&{V7q@o zFTu;}+cDjeTaM?%*48@L6E3=2ThdB%>5kR@Bh?zhR?)fG-g#fW9`r~Q?S&e1?cb4H zaF#Gw%2y5Fmy$s7#tc}AVg(qGz$jZrE}n+=@@SED+OPWz#K#U>m>!gz7B0``XE4iYKzU$<0%=fY za6H7?uT_Ldi6#&6kvZBKWva)UQR-GfpZY*TKan7W9%{=mdM32PJRKV-g#A}gDm53;?r$T+)D8(V$jk}w=-{EcSLO3RKtn-O+ z$JBFAO}80{T&rQ+(fU@&@KAEf38^Z2q?jo7qc4* z5Tbw_Rcs4#ZJoMxw#pskMtp9!yPjK@LG59!TJt$^L#9sGm|<{jZHBZ)l$t?}lKl2y za*Ow&i4>+Haa^=k;3SdPfYHp|3VoAR1a^f`B}CV0C5&d<8&6KwV|(hP4YzC2lV z!D-21Xd&G&xH;u!&=0QgHn_+^Ub72mIpapL;oNPoHnEch#N_sPJCV18G*tsSBpf_b z(eJM;$XYz}x~|LAEZ3)8;J)Yn7+zWIlDS9tgae{Q{Nrc4Ynr7dIM}~2@X9V6%Q%FIU=u>CfVVqoNs6_ z!`8WbX2g>_DD@|qBM+E@b4Umv#Od+CWv^vv)r`cKmqt+{y1fyC5d-GdI%CA9p~=hx z_}N$OYb0t4#+DhP5NH3X!r0=)SXA`s=1S@n1-ZRhc^w{AO{4hB`TOqWTZSjb4Y^+IU>OeHx^XeZ)x|KW zZz&W1G$JSJ`4G{e_}a)*6Sbkl(+4oAoo;0{y~&-;U|A^B17ZRQo*4KDP;BvPz;G&> zRe$L-RTfk@L4^fi11YkQu`7NvwoBsE*AQ*Q>hio+M&W4T@G#WYJ=UehNEj%Zms$)5 zBp%65S(Jx&r-0o9s!`n*%TuILRwC+8nXzD|8FOR^F*qeM2Y*YFxC7}wHMqCVq|bD- zMm%{ZQR@vX6AIMcP{N|BL?m!@UW`?^#Ir>@`Wl*8cAFl&zzt1zXEf{7uzk@f(#xRu zaE2*3gbPi99x`C`3)pa^a3%R1_Mu|(uIZ1=TD$8_iO ze5ZnB%P;Jej6cY3by5d-@6L06AS@@DAh2;weC7*S7&EzQAkEYDhCAv;S# zKJ`uwE%dlpSI7?~e+e)nha8#BdHJ$0Am~ZiYd8db2?ZS)6cs@B;+s&#XyDAHQM23p zls8mrRbN^j$pyNZCrh2i+*{IlM#uB$n@Z##4|z9>7O8=e`O??>1p!bx=l4gu*w z>03TO%YK*S_igc3f5B;yD^|LHe+inm*o0guaS|BagZD`cg_iN7SQ%*QH#R79Ary$@ zITNWe_JcvJ^Q`_122*u^CQ&vm=v?^=>!+cD&YkuxYWR;%f3R(Hi~8ct*wdZv`n~L` z;M{V2<*MFZMlypnGt;E-=+2)u0fB)5+IK{K<$c1k(oYvLT54zOH=LTY(N1{TqEuRa zAb&3euKKWHO1+z8Ih{~~l03m#1%-yNTewUOC}%{@iS;M&$1t@OjP;E>GNn%?ZdpUI zg_QNgBhJ4fN5=0FrV}cQi6xV#{At@Jl`go>4Y@$_jUVvl`(Zj|}{nkFFQsWCmE z2xu2mqC}z5^q^-6G}Tx^+rn^PVXf4W2MnT4rj%#y7pPZy;wf1^6^<3wfxd+U69OpQ zu8V<}s>^ACbgs&M)EbnA<;Cziycl$2fYXp-z%wwhXPweq)%;kFP9+;clOgW6`B8Da z3Qf}&K1vXy^p#*S>ZE{m3#j+xL`Lvfk2u3ia}A3Q3GQ}&(>iC&RYETV%}Y&#)A6bI zlu8|ZY>QpR2aHNx2L@V_Hm~ocy^PQA!Y?N4rsvW=-g7J@1huv1`8ra0SZMd6WHTCQ ztlDB%UL;+FYL-y(z#1Z2X{CbdzCLY7<(U;Di;;fsoKmnGO=X`S_G2<@UfbLecEcA(+{-=zE32zow$OJ`$FUd$jh51%MTDF5i01nIp zHSZr+FD?`~(9b*gRA{yb`fhOp#VDOEQooM;;~Cp6)3vja26vXqmnwRteU4TmDL`{W z5X+x!A$(NkSv7FOkaDD(LTn4HDSctSeGmt4f+)ONHr16#Gv_e+d`cvy?8bGn;^qm}`&}pke`@&y0pw10`uhG~jRC zt{(>V%X?N$<}$tdKa`sc$-4t1bgu7Wlo@H|$Dh+J`c`JralmFuF1TT-@myC4eHu0W z%?r@Ls1VQ(-gZI+5W=nSD0`_O!&T^NL4|Tt|O}VnMLlA+LxwBhEpSF^i(DsdO z4<%>2)&m06@G!C3wo93nS%Oeb5N*RdibN-e zsP~2|XK-JM%`*QLvQ@~#^W9HRHTRvrYfj}8RHmu|qX-nE^oj z&d&QHmU6RV1j23O(S^pnIvs{(ZWd~ZG46>T#Y44jW~cSDkEi1rL{z70-=T_0v3I#E zXfQgbM*NQ{vVV0Pk&l=HH}nq+jhR+}Vy%`@?E6@3+pI(h^xrg;#aPOKyub*~yX~}K z0amvZ;M(&5N{UVf09^Z(At?dz{wa6vCX=x!eSls;nG7@_&+<9}AJJx+k4Rbak|7z% zQ{J|(`7hVceCZev^X%NUtdzO@ONi#Ufw{HOpEBT|$1s<|@V#&_T7aiZatIA*(Mhr% zWg^XvKCdgyVSfHp2RhgT@(@5m&(&+OK*_g)B*Hp%8c14vJ`Vkko|^} z@G^Ts(SEyP6KqiDU55RIXrbn~MJ@Ay5X?(`HTMs~JI{Wu{(VoygB0j7=nCP`R}kCb zk3e-ykp;H;Y|CFL({tI9T|fpI=&nOl*K(BaD4i3_kLzDziAtz@lx+rT)?`f?(__YphS+-^G+G<-GsCPs8yd`WwfczbfFol@D5$(d#_$i}%qj;)2pv+fy zQo(7uABX&0DGoLSK`BktNth+~A=wyJjccq z1KZImJPA?&Zmvhci!%=56GqYn;ceFVQvXsOxrx*Aj;9S4`C>q)eimkx4 zL2%j~F}nI?G3m@Js7n~mhqH4gQtAv|2#V_DyKBq@vkl)pI-e3ft=K4o&^tc}2Jx0~ zXb3AM{<%(V?>nW{DXR)wculXJQkU5BvT zVeBMXr^lkk@y?xdwt=@z+7JA=>BdrfPmJI3LQASa;j3dIHKbILzLUa>UbdEh7eUGw zn^5Y1r;L1}3>f%*mS#-PQzMqjvldYWP^pFVah>)sanaQ%v8G?Egmk=5vKNe&xW!ms zO>R=6-`C~EweE`1-}vUeLb+j_a9iP}Lk0zX7rK4Y!WOqaDvwAkjj^_v7EL)!T=Hp- zHzvkx&1a7@>z+x+RcdEE;>)>yY2?!+P@W41zee(~rTuT1aX)2Lms^&r)(M*Pd9*O> zdh%|Pt8imVw&a}jDTT3MtH|rW$Dkn1u`Ht6Od`ZVa=d4iG}h-mdk$i{Fzl3`U(_=Brxise&ce#$7A z%i}2lz z1pk{d(;Iac{R$BNyhI_=r%W7j^DufHg_GQMlAAojdMn^j zKd54L;V*hLLwev#PGs+Bg`21Ly9b2_XMiicw&9+fV8g;ysH5uDDTgSw@Yj2fC%01i~0J$qTW=*AVFja&4`W3V60xAd4;P2 z#fU|JKwo$&nEGIkr*xtw$#c~GL^CHU#$1(X)9h+i7q9v<59H9;qKgCGWZ)b^Qx92T z+?v-aS74TY)`aqeD>(^Z&B}0~ZMpzhYKPF2rfB~QYbMe7O0zZ%X5+z2?Ju{wME2Y>0}{(-jBa&ylzdKtdHm0eDVu*8_W`+11q zIX}ADs8^PqW9>{a{Cz$JUMD-kR9z&7S2YH<-C`S?n{(Mb(8>b zuiGz>_U1k<*jM|A@pSTq>!hp0>__ufJr}Iov4HibWAzW!oh4KIe>|2rflv2<>C4;> z57%v#7S+h-V?awdoV$^3fY=CGiCm34+KFpCAcw+XSL9}Z^FEhbP@7bZg$~6L$qOy< zoM!79REZ1Dp6J@fw(ItMQT0>i824kL=pArk3?_Giu16NU63^t26@;d%JKa7IJXQ+P z;C%0JIpGKI7AVG*LHkm~CQZQ``VX!9wRFIz%J+R5Uru2R{6D?(wa2I4H;)LnDiu2( z=*`h=Pn@w&PfICHn)S-Aw(C%z2^@@Q>ME#BHk>_uC@v^DeRON~`;?N2$+A%Yr8?k5 z`cuXS5sBVJ)+cwOx7TeW?T1R~fU%i0+W89}RuN!W%nfR`#YE*Mr@pwVJM`rS!}VxV0F$tHvgbfTE3 zC;BX{G}RU%<@Lv+ny|l8yttb_X1hzw>wbSVL6Il#|2U*2rM2`uiRG>#9ws)yYb)`T zO~mk4VNPvA3J={!h1ByTo5KHgx*%b3%xwXba&i}iVYsiR4w?|EHt$771;mcn<=qxE z)+b(^ykm|?{W5$`BicaaL{p~8!;3zfQ8C5-L#M~BkuRON@?>RPV2bgb9O0TbOLv}L z)f*gk<`PSfmDQBJj*e+v)xls%ZrAHyUte=R%lP2#hf4EaF%bt)vf<~y(1e8ypJex< z9!Ei*@0Q>J#+6U$ub)OGpN`!egMUm}9}^gFknI$#X$SmdyzV5Po05M?n+t-2lA0Cd!gk8@41Kz1$v)@ks3nB4bGQ;T$jw9+8 z8IQLgIc?f{+wxp(UwUid>=@-Qt48KWD!l#|5Ivr}fL4JU;sV4HoUjz2BH$gQ5GVx4 zqeoEWYmOPl0^1%ZrEiZxdhN_WuJZ;Jh`hV=tsswf=`P6=#&I<6&llT?&s0+zjC*4~ zous@Xd<5LO^WeY-!M)k11T9UoTd?G}+-;~Pg*oEwQQI%65|i2<+r;bl+s(QXgljd2D#DZEje((4^fZ`!%DA@jCumMP>Qx zh)m6y@#t>nYrrSa^Q!+f$CW>2_HY?oiIST@nQuEDYf2DnlRv=bko~CbE%AkZHV769 zMgH9TOoSgJ)N%~p!Y(%G*x1>qdRS1NV$jr-Chmp8gM5s(zN$L^z)I>!jm56tx(XZ3 zMEv@P3>YO)mXSFqv*P?4nHw@A>*uHm*mBHtqxdLEQ%Gy3#A21|kPzh!d1d#$UPj>{ zWy^$dUEb|T=j-zsh?CvlzA@Ybv3;m3;kI36?uYw8o_)SY_xJLO=*M%W*Uhfmt^?XF zZ8sl&vX7x2POHsIcg0O|T(Ry3X2w0w9jUVquVkfFr=WCGt8ZW%3%8d2l0EpbIG4L(H78wHyYJ@OO~F_482Vx*;^-OSAiQt{;D zW#jc6q1w^nz>~}m{jg#TfbD!W(A`KYk=eOb25k zLERoPJtY2}Qg2T#mTEM}QU^>ddQc=yF$zipHr{0v1&A*4>SJ`AuyrxlAWlyH z2#`a#Mz!=S0mBI)b7|WUy`eFi7~&{!7r4u_Qt5Hbns((htwAl54nuz5tX(yuqVh%6 z%SW2iCD-$!_c30VX09fxGg8+i*aTg=7IW&cs^R`N44v9?IsZe%`iBk&lJnuYtiV_d zKiunpJ3X?WyzKED7l#O|Bj-~;hdU{X*dXmxKWLfw)IN4w}&jg{*(}^ZS>Jg*yefSZoHQ)*)fqvWrCk^azq?;q076Im3sRfq68V0$6=rn=3U@Q!vte^>Qu94*a&6s>auct`85aGSjT_lk3 zhV_x(gUTub+N(J2%e&W8Mgs{i<65D>5+M_56aue(+smZ0!i}->&TS4_zaL)me=>g5G9nQ>Kk7K#s#`puTO>Tl z*lnX2oBla_+l(JqN_N$qnYXc@uYhGML72bv0W5wxvov5f95h=ZL6>KIlpIgVChhII z1m?{VQ82Rdd)ZLns2$@<{V1bUAkw`~+N_!tiP}W`}nbH$Q#{|^leR-ZYpHIP>LHs)5 z`#ikKCy3AxXrx$SRBrsOn&;3%elCqhk36JQAS8;4qOhKyGQQkFucpic0>w8}m8lze z*TtsV^DKSpR+7z!={t>iM5HKGkg-rxo@y0V*1q=A2Y>GNp#h`td99NV=I__wN(Lr5 zpo06`PnkbJbEj?#`5kjzjiSJ0#4Ajn62;tLj-1eZM)Yb_(!UjCC?o`Zo2Ad{UIA5W z=e~uI0Y3w?K#$%MxZiSvd=j2L12b90jr`Xf}8S2gKGu`vmChow2 z_qxv0(iiM`@%}BG_swnpWxm@zynm#;JWM}wt>>w13kwHio1$c=Cs=C_P{s1*{t6|D zrlgNecPWaZp^$6}j)W69MO}YG8x3q6THo&55?xd_<-LfNoE7M%Tu;loXeawj^x`w}>;`NZ$o zgw7KZEYpj?IWbC@rU^Y8(cnaSb>0tNY(z(UY)x;?om$#Dx#in?r)YYaS%^)g^*rF~ z5*(a8fnE2vN-s+Gy9%S9K>=~OA{)}*woeO4Tba4;HOOV@LG0}FS#R^c%tP_g@`F&kk(w? zdFoO5Qb0m!(L|m02kjZpiZZr7V!QKKg&RS}vNjr@Qac-F6-oL4R@ijUvP4FyS7`EJ z?SbI;Il-3*$@ycqGB@{|AHuon-X-mNxW>jTnA=F;o9Uj-G8xive%W&gwd(UNqwdQp zN>eD7#lEALz4tTA_=97)Tn}sAD)o#y4a%07LW|M;)^*Mw3cesq{Zq8NC*ILI3__FZ zE`c8lYKdPoLHYXHpb+%1?CMt1=dh2v zlqnk#%A{*h%cu(S4SEBt^3};>k1#N1p_QX7hq7gGo*b}D9Kud2_8)ee;8;G$s}Crc za%BuXO3HB=_Ax3i2lz7`GxJ#NxGaBm6Eo8_!u^9;8gymk zU`i1$K0U=;Pm&+O?jW~fU#xjUxnD((G%%sZ8k-kBadUx68Xsd#}e} z>&t2=UWoQc=$qmrS*Xpf$A$5ptl*}zO3VEcNj%Sem7ibIaltp*C7jt|O24R85bi1EhGA8r;EtvK&vc2>reo4F3hv|EmFVdj>otG= z2GK{h?Fz47X}-}SfSq1&b$fJ=-}#5*nkLT%MSl|9^s9BWA4R)3k3IC<(3bxDL(gq% zS^Ki2gEsx{3)PcLv|f}1odmDj@l(dCQoseHd)#Q6q!FMV#AmQNmXxk&|^|OPzX^@H}Y`bcqk@l{jBl(j;C0g2=bP+&Unhs*@FOm>ru zHu;dD^@{vK-k+6bb}~D@%J6I8GbL>cH&bwi4{=|IO47dc76&-Fr%erZQ2Q5&zFbab zT}Ukqj}M>)Fa}cdlB$k3QY0E=b;@@+>=$fc5Qy&UI^I8(YcL1t%DOB458U_PRCWeM zSpA6`Tc6*EU#%wdBs5R?HjDDiN^%^8xs?S!Wu9PWzpahxSyyLskM}F^c>k6B)YuMeESnqbpV2BevS$j_aTzsJWPG0BC1&2Cw4-b#o z)WzvqYzCDW`Bm)QZTJ1N$j=TW3qLApkS{?`dV$H4&;+MCm&`grzZSBSoB>P@rAo94 zSeANy8Ux| z1KjSaB&VmA7w1ek&b_Np%FMZRX&dVk`VgRVXrl$E=}Rl&4@ihe17wZ@G+zM;?Q@d; zO7TWWOfjI)+8ea~s6+3hr)vMjvIWi*0Xu>JT6s-@Jhmg~I|gIcIo`?BkfpFZ~OImFQh*W{)me7R4R5iT8|AS9VhHkBsa6T(oj^qcrtzt3pwi>7 z#deR2y{ppq;PHRCJUaU1@kVjTpzLek1v$edDJh|-?^ljtVQhHbY`EE)nLy#i=dVp|85)y zzW+rs4OX-Z3x@X;DFc3x-tzFCWgW=0m#6$bF~O9dPUdPb<+sI0Tn%po>EFZi#A>)b zupZ3PO&SQOf49cKbRKApT?ehPCrM7TpTNzk&IMb^vyJx1gM`>bdCNzOWHH~LQ#>A? zv$!1eH)C`;6OV?wxxlR*2?$)#%T?_jc@O&cF7UHKy01kBZ{pS7<#hiHCxG%aa7Jf& z3{VKhciz%iSm`l?$)7T2AUyQL=PQ7-_Z~EG_U_1YsP z0j{Y&bN(}Cz6#)@AJ3)w{|=1)_5Dv7?OEu^ENrhQzD%hUn^C5;C7bErI{#_1R-IDc zLYaF^8x+t!uL(o2>_nmC#oe~UCR|H41|-FFZH+IMrN zajJh!yNdz-V!xF>ymrCS>-Pd6Yr3hRV72w-8!{^rt>38Nzvsd0*<#cX{E-GOKu-3E zUHr9vShufEd5BoSlRi82BgKifiM+$d5V^%v`5EWn20=StC$OQ9td#0pf61$8Xtz`R zkn#_2X*Gzn&zNOS5(Tj+UjVkWJQ`kCOeu!EM0cwDn`m3i5B^qF5{qh*ThXW#UsSgX zO5zVzQ%ZfvJ0NA=4vX61ySxD+VZ* zQBTgqnO1h?hcDH-oIX_axu8JDoM@@5yM=c0GkeiJ)uy&529s}p-fOSAi_ja3Y9zPCl&c9!fukxyAtYz z2{9~WjOyMi2aiwW4A>Na2yqSPtLW6Xk3BED+HJYNG>j%FkbzbQan|anUVFC8DVJX8F^H?Wmgadq(k-@KEN;ETC@rf1 z9P)3v`x3T4uz5TAB=rNmodPYJM1QYm3N8?Sk*GsAN11W7O?6v<>tag+UE)?`F|u6; zwNIFv@%$_3A4dT z`-&8XRns8Scr9tSU=s(Qxh-tLNEXaw|J3$}~q~pXxPMZm6&D?eHPVA8R7J?J#0XLNi z3jX?X$T~2`2fJ=Q^!V`AiaPdepf0HUEQ$cE3J;)+BvVSCJu-gC{N-Dn88Ne|*}jQZ z=5;?0ir>mIe5B~Hvb;>N*pT*AEk-52^AGh0LGfzNkFyCJf-KRdp>FjDeeQaqMx!}W z5EwD<7EsnDG2;0u+X+N>pK>M{*((#bUg;;@+`iMi?BE>z zoUfC--vx2=L%*^RBb;vHk)fRqz6bi^_nS?8VCv1?4qoC+h+e|`LA%mNsiWJ&;9GtP z*5`IHyH$-7nf-jS-{_2n*Tb@Y#r}%G1lBVh?S8$tZnvvJPHcmG**~KRQn!23Fp2&! zQu-HjBpwJ#^`Nd_ej!9qbV+l336t8_8<&X162s0$3 zyie5`8kTJS;1(cboC$gjiTO{#-uR7;Uf3JP9(&x+tD`;$) z7YwfjxtgYrG>SQ0d=X5UDDtbu8$z8npV;i`Y`odu9;e07I@azsRaLS2iiqpQW_ZvWj86_F^y>R|&YGLdzD0^OzcrNK) zZdrvxh>c(VB5K>c#BAfFrVE8{OCEL)Pk1ljONKLTU&#XYl&X}(z?SiO6 z^5Prw?UWr*3kHxw!%En2OC{BHOc>sR(>-!PK##;{QrsABCW9upx>gmztJj;J899Eh|EtqaLw~76-QUY9 zb90>Q!>hQEF5BExFoZ#W+;Ku?sw>{P=S$Kp$D37M1Nv;+(9X}4T|ffCiU93HNECiu zWKm=&I2vfMph4|sNhTpzN0o;#7hk>TDRFa!g48rsGG;~JEw+9Cn0`iRaCCgTW&gRjJz0r_ z!ePvN+aE68A^Q6*?;YLqMQfl!ebBG3%5C3g=CbiZ`p17|umAJU|9?vT%X%2$Xvm~x zS=r;*va-i0O=`!ZPXfZ>xzC+DF6fuWO;RS(gQf(XlDL;Nk=#$2N*ppDu++$#Lf`%;cp*Db z>aTz>@KQUhXcX@V#^+`9-R^Ffa|e@4+akD0e3$7f8+H8&QJj;; zQE`l8rpKE_z9?J4^!LF}P*_tfJMREvx83^h=?^d03^KS^DhOAS2q({sE8TcFHnTl< zaL&ED;+4Bc)EodStEQkq;Tm{7DCDiW3|$icO72WVN0-sVRn-{KI$ns4Ve0s)Du~S& zi zt_52f*l0p1g-|22f1q)lYbMT@9Xb|J_{pV3tk+r$rP(JShg1lx)cLBsXvTo&4~;$p z{6x<$>RJn0uv`s59_JyNC`91L5R>2@V*te@`cW-X-5|2^gsQIm5Cp_R8xitvQ=9Yo z%uN*U)ip1nXyN~1?>(cMTBEIDtcZxHG({m65CIVjh|+Q_fPfGI0RbULkrHA+L?BYK zj|Gq>M-VuI5b08*5-W4vWVstMLywHwCg zl7N1_$X2mOt+TY2~KYy#Irch z2P$7~jg_*z*jsW$1sHcPN$#d>Gzs(w_Xw1&90*E1X5vrqm;Jj#@j_fq`VO9d8*5Zv z*Tv^3x%>gSM#H~ra(1!S4NwfsOyr`77mqieQlT6QXipuD%cK{V20G_wzCW>V3JC-R3FCN3ds$RnFH2#DL+y#>7 z;sbo2F|DA+U}RgYt(C(Mmk)vcU$IxK{yzK4=UAKHTC>GIvTzURN3SRLaI{K5mHt>+ z`}ONL_cdJ%G|_)y6|_pVv~ z`m=bUA+%4;{H@U1>d>j0Nls9YYn-a3l-+jQimO&?5`;~?=2NoC-_t5e-&l(}$L9Ea zt~BQ^_*g)!EdU;4hXMLfBn)6vb_&rwwYy*90g!mFUOmhP5V%9IuvHi;o7jV?s6s|- zx&yV1hb#t4Y-c*d0kEzOk&&}FpOfWN{3>r>#pib2tEfB}b$qy+>2BVMRU?-ED4 z$@n;E?am=PTn#WiLi18$&@Nr=S=SS`Jttnq@0?B{d(>x;nnLkEj$8dOC4)=Mb?~DH zzh_ipgtBOUx+n+PIqe8sJ86$dn%wUsiM~Lk6PLOux~MJi3Fh)c!*#iCR=Lx!TzvHX z-%+{L0IfU@RpHoyqV^remmv=@+Byeo7YKJG@o}OkKnDh$<n9|B{ zOjEPAJG)M!&Ft}RqZ5tJUow}EUZltQ6`9E%tEe5gNXwydy$2dGac)YmKwuJPH(;y~ zcDBoS8*rjfeH_nZM5nbq)D>yJCmrCa7Br)!uqHV~sKv2=n|Jk(+_Y=Get8w$b4SLj zDk8?;UU|aS7NB@C|1lrAQ|S7Ji=^{hTHRT0=}fe&6LF|X-!FmYG54rmyN8O}Ih95# z&coHKci+?nI3$*S1&jdoRCKs~X#!qM+9g@N6nQ!^?hEESNEI}Zt(QR(+@c*>EC4%T z!^v6`R)+K+yv)dchAiZ*zG#GhPf~r|b>v~?n=oV8HE+6dC8&-mC~h~AWTAF{B)Es- z-1VnOGTVkfo_vS@ROJ5pvht36`Af+Tzhed}QO&V44lv%1ywx^RG9-SvVJOY@T+Y9Esp%CwE0 ztm84*1CJc~yGOiwYNf{r$MKFlN{jT)^q^E=mis{G-FV!HoAud_!s&pU-C+iK(M$0@ z)AUbkJNfaDF$jfv!fkd9sLE8%99x=R!~ZPGCLI*w0FtB-RfpI=+4Me0D}xXLuw zn3+u3K12JQ5$EAEV|SM({gw>EH5;70B5JLQjb?*05AyO03!5PS;#xy*{nTb_n*zDd zz5B=Y<8=jZ7h{uujvq`kp9$UIWpB28)b@EsQWEvg649?foO8c(W#@SC7-jaIz#nMr zkt>&DXgKK@ES)Tc_L?EMNhvgAces6-pJ+fyl9auxY_EDV*4In6ylnF$u;vt9=vYht zkUuY%SM)6rEZf}l@Rp^%ofrFQUj_UCQ6@=-^a;CxghD!hi>(uC;m3etDOrkoNCz!F zb%~HTJr)@nZ+W$Uu2Q9%7HxR0up_t>Xy#XMoN?&arf3%!{MhS9^fQHx1Za47BP1<6 z<^dKVI7kz1%TyN;YRHuB0VCVB3e0#l%xkNU`IBkh1mjkfM+O+3pbs|^oo>8)UR!Q{ zU>J;az2g=jF~Lm?p_U=QX4*A|A1j0V!ZQokB%n~Y`P64uCY3|IUQZ=y7!O@6wdgU zSuC^vMyb1e&0qIuQijDX+oy%q_-7}R$0gi84d7Egx@!5(;q@M6VYcry4WPOkdwuE~ zjd%XZXN00tCU}})yT}4NUleKkDhw@AyIru3^bNgPXqDp)k~CfH&ahJ;i4Y#Hh7@rD zZPE#0mXJ=p7I$M7K8N_Y6VrW=mifiVt8u_srMJT13c)o@p`d+29cf2C3`hb zIBgmPK+@kBj@^bj3I{DPqtn~B@GBY0^+(STjB29~%eXZ0B%5uT4)190*z@Y6VsV?w z%@33IPh$SYth|95(8ha^59l{~v*}zgS=Aur$c(ygXpBg3+hW4bJGLtCNyYLU<7+`V ztFhdid6@UO^yG^w`ara<<(mVUKV~1z9wwCBG13^a{<>It;$r#YiHo|MZ3>*XzbqQ? zwNeWSe)IHuPi^*4;u~vvom>e#zp~^xZsEH%<4|sTcMyC%$!*45%VnS=QyZifpig@L zIH?26y_`L3en|nGxk2X1V?e_Lpe9UO`77EmB0trui03oyEOMRvKJ%OqMO}`B>&q2!+xv+ zY!+ne_EiHnOBYc*bR!(iWVDK|YtaCxEu`KOj*@G)^``D2uauMUz#8`V? zP=eNSr11e_f>rOngoZSG5fa60U*gSNozC3Qd8FAr`GQSe$kUWJ54&yRwC@^+x+xKg ztuf4`Af48(##0uhrdfK_7osW4Y=63o59bar?u*BKtKut(vVm)ELR__4gWur5`?Q4U ziqQ7rgFH-3K~;4XSFZ`Xb$Ix$Bk)eW$2wn?)_JDuFw1;AMsFdIaQnyhTw;I~aN0<> z(ubB_i;^HO>}KR6s@$E|EbuhiJ06kP=Rh}1R%Q=0>(;B3qZ##y{Te_f_=*1UUj?-wm2)&@Xhas z(Bdk8V3u=vm`L`SB`*(~=?ij|C=n}4M9KqR8_l0+Tuo@8h`e$>VNCpA)h_$oXdm^E zO`SYcGqedkmdhxQYLS)@YV)wI8Nu(}+2YZq^$J9J_C;VT97mwi{-Vj2>ALDQwikE! zd4!j>Qx2a1%AWt?lsSJgoe`%vT%MI#lB7TdJy9D4OeIU2$31zW}t+XHr8vKs* zFji{9{IN5q1t{oaF47M1R|PSboQa;a4+i`!n35Mp6y>A6$&dBrQ(t%tUoQnKT_0YX#Z^r|!>yzYI-{TlR!;S*9>TF9{6 zkdl!<#RuX5;o-qLC;KbEwj0j3$=+=Gbr7JgG|*3=t>~iYAVn63q|m=0Yy^#a#ScCu z&GHkqrvB;1<*x$n%_^S13C{YTCKwIdU3EL2mMJd08sNzx1}Ph^V@^c$$6R zO09vfr{_S=FBIcRKPvMph&tP2Xz;`K)9XMD(-ZkqXJ{d}{e6yg^DP{2518bQa#ZMx z8lF3eXFkc;t9Bo=Iw>472Sw1klTcntY7s8&$Fl;w^N}3);z@c-M1EoJG~IQi4tWOt zCZaYtNbzw7gj1=ks?@72HwnN66Ao7{pPX;gId14%;^)W(=*h+zkVOJWk!j^ak`>*9 z0E>tNpDV*QWFub~a)6sBphTqcb8hYEWCq6u8oWCu-4q|hzozg|H};u>_L> z&nG5wNH~`3KhOd=k(k+Zfd^xfj^;!N%)Fs;g|-Z-+HfxZ0@thAD3r;6kYnaUpmw5! z$Ey9-b~3X{sva!;DqWKF4m<}PCt9|+ZFdnAkDTM!B}qgQtLs0Vh}Zk{{dw7(XIXa2 z&yJdtRLrGj$CWy?H&eYhcecBN?<>+SD0c0fJ3ewB=~-TcGQi8QD2&xt3h8qo5zF)EpB0U}jw0H~S@ zI1OAqo6Me&P7iJmwifOoCFY-VsYq=YF=%rI^ zfHdX^R%jz8im?-DElWSDvJ&TKd`b0UY43K!y&Ac|0!vR0F1VD)#&AcUc1N$nE35S_ zb{x?g`7yfB5ReN2X+WrGCvX&=Lpla%c8g3hbtS~|BDa3cxiqFH;?l<=Z<>l7+&zz!0193W?5^%_hr8k44aIE1b$4vi>rt#R40s)>Ch!EKOf9R)#`a7 za(KL!8%k!Tl5W(D8!N?J;r3DZl!&aa6~V81mLzg}ZqP!dOtdNt@ap>$>OY zR}2jl+u7PO^br@xbE;oa_xtFf9_abpDqmSijR&z^>npekhy<9`B}R>*nuhw`_2{DG zM^zp-Aqr8^oIEYxnXwN2R<>OiB7bGLwfn9!RiS$Bv8&q`!Np#o+{*^ta-q3kJ=9Q7 ztLo$|v#ijp)Kz^?FPLp#RuBN@HMdRM=`JCKV{=hybsbf4hL(kR zEB(CeTCRxho(x`c{6Q2IPYqw-Zp$GTD$`|8HO+B{*;&)cbkNkRiGd(fJ`Ouk9 zdDSgB>TFfbOO5IdWR2L8zW)B(!R9AdJ~_nC<(Mr@UI6~s>l4L3iiK=RyrqBJeCZ(V zs~I9?0~-i7SIu%*w0P8(eC5NU3avoR&dtKRHN51?%*;cu`wJhvssPyT9PC$MruDH0 zjH1+BcoVrY)8gU9s*?0$?>iN>qX#OC?vh!$a?Hk>X^lfL;BU-}AGOeMU{d;)L_|r#GtHmNkQF;yH6oJgdQ(K%~hY38byEs3iP> z6USx=ZYTfdS3lBVKIsc2sbh6~0pp|>iv>*!#h)d$*Gm5?vM2x+ywZ&k8jc-1OpdUr ztvM@Tj`=>}KQ&g0USwsVYf=S#3y^@og_V{jmd%Q%~f>=~uYJDk1 zIlbGWGcDM>pxkPbv2)h&WNPZEqf%v-0XOFa{o`nwj}!xb)c zFNXdhKVaTda;N=Iu}fOBTG771O*Em;WC!hd;N5DW}O7LEc!#Z$l*ZaJ_}jcSa_5q`5Vkz@XcehkSK z{6ilw+98Ln5*Ix&vIDbein^q1$8pB0a=(qe;1-aK=|eB_avVLu&mPz!EsDGbEea*b z4cgrHd9MXY@T~s@ef&WBhUK3R1Ai*~-Y1%KRcRzjfzi*@@W7keciLwR1b%v7D&F0{VXgo=q3(0v=El&o zTA;H8l~2shF-^H`_YBegp@kz?8N&zjSP9^9zkDa$r6u#kKtvt2dil}PKBb2syDlyxj^ju9Sr^erU{gyOGi`#d4 zDarY0NJdE9)!j+X;l&Z{(Qf0o%|Q%)2)W&`^Kk|PIKbxLLGkvf@7%o zu6oyQFcRHY{h~+eBX1yp{Suq0*G)JE|AK}1kx#UdWAzCbLBxUf&*;&ku>$bpmI=R5 z(`y9bP=hh#1;K~Fadcpm;2bW5g>w#mL>sBex9$H$ATWoC{Meol(?& zbZ6#F8BY4{i)M8gn{{>Z{<6&3ss3VXh1=r~ z$CcbxS_(=l>nNpVAt$m-Z%Q*2Nt>48;Et5)Jqcz z@NftSKQqG9qI<@m@!gGdFkYE8hH8s>qt{c_z8dQiANR2ITBILYvY^=NjL*T<J9g*kPo!6YM>R|DGsg}vI~!0TfdQ* zaDj*7Wbq`=r*xXXd7ai{_h3vrYAMu;#(iDu;k$) z|4*gyUSriTi!`OPJ=SUX=$|@6LH&l;UaEfAH*oS%{^81DOR$dx&V=r4nK#X|h_~P` z|MJk(<^NeaXFhV1GR_WvTCnGca=bQP{fO7*Th>OG?2+BlD%!B~TMvtJ}Y zb1kF?!MgLIJ7kqLu(e|l74(iUsls#NTgh2Mnf^d4R3i`=bq!U{IQgvDY07vX4~h!I z5K5+l(x?jhkCS)?Olq|OE}y<&LtX)~;64Tcj~@3AX;?$NVK*e>je4V;F-A$q-14ft z0v_aAW9TmY?4--w{+AA?z-XzKTxT1qY6g<3J#%~1GpaNq&FVPI49xFo`0za~J7>gO z0NG?akugRp7w8dV-=|428k7QeL`>Hq{1=H9qLVq?!!inxfkBWmlG4yp! z6SL85?0U&$^F@M3;>Ip*;hAg~*9Imf#&|>D&57UZO{l*I^>Ye-f3_9@CI8aaUwP` ztad0b+jna4ZH1@{YCZ*VO`(+&gJ|A9v=0^ur~dc1K>8+>d4Oz<1VTQiCzX}qV8Lx8 z^6Vh5Y?IcVA@ZXxCm#j!TEn{`FP}g@QlT5@Hsm$;dX+h6`4>tqqV1+!Uv=W znc8b?t#eH)fudf*%i+mtt?|hCgQbBlXT&i`Z=de&8cH5;x$;oAwzf@rnhPM$;q;$F zHGUl#=7;ijg8yy+zu!UCY`1$C{@8ne&H8O;cCA<5w3mBE$wW&w652_tq6rntON4hs zrG{2KEZ+hs1>#D2Yg;MG|f6#O}-qp}-FmE$UQUm4o- zXwDamZ^j?Nr5dj7-?nE<^29p9!|WRNGq(GtM%|JZPwj3MsOwN2Z^xwv&D6{U`PXig z`(%6P=l7v1!)~iNk6oG}sAfMQaN`78==BZ1aUciq`mECGk$eEMxZh_1|KgUtr&` zi$RoWWAmtAs~HD?xn|n=Wk4ho&==!_#$loBO;<&Ge85?^o;1U!eZO$lmRA~dy<`_j zH8l(FM~NXc#-HCk{A=34%|Eu=7Vp{rQWy#Xfj&6i4zS_he@)b8L$TjQd5ke_ zp*l^LXwc-2!90isMsGW`VT;95yq#V?r(RuXh$(3^$_rKKFDtpf@=)YV-VdL60XQ)0|-rhGsSKrE?tXypQx0Y|HY zGe71qiyr&(Zn1bq%gz#f{U_7|1PU?+skvSGbG@1Ci~CiXEayoN#hHg-A0FQn;rkG((CT@$rg90=yEz? zP$jjzuYQDdb7bt6zqNImxn||`WpmYj;mVaRQMzyqFM#RQfL$XrgvWW=L;OfMiK(Ql zCG8BiDf}hfWI4B|;m?kZsl|9i9=nS;y`HCu`$$lx6+6#F`;|@m5Bq$~$AK16;ZI#y z6)dh4aQ56V1@Qkgc!K5FDCOShFWdsRXU&lI4v-Y!-HrpSK1}o6!=N6+e&>{Dg*yrR zphs@IUSWY+h78py+j4*X0q%HfUardw4-Qzae5cu6Y*CWsY?y3(uvE5=C$yI8iCrYb{uf7(f2}n7?!smXgrUEwr z(6^G&fvtf9ev7GS1Mc~^FJ$D|dz4f&WBxc;Uf=YP@gnFh7zsP^;Xf08Lku5Wo}}BL zDY|+D76o~cwghE@F|!#!+I9hcZ%^dz{y0M*0h+)C`=Pu(kTQ3eP5tLg z+M54zQN&vqZzh10FW*h{Sa?_P2XN0-8ncYw-A1NXHEWr%w43K-XXyP|tc)NQuz7kL zZavdPH-24e9#}Lry4`qRZGYIMYR%D+lz~9bSzOupo64@6cgR%l>>}Hz44rXxi;r$r zRW}ly>+YDVem~TD^y+I1b?o_)ieM-d-P+0jZa^bILmSF77!_)qwE;8aSYxfzl%=;k zzxRv?8g*i}#CU_yi(8QzhwKz$U@InYj)e=()a_g-JwjDF8R~k@y2fT=D(y!+B$r># z6!~=I^y;|!Ha6M6O55FjK@~H9QdI71JRtZJ=^JqBq(eB&K*4b$J=C*JBPIxohxE_kQ^Xx?1o}V1IpT5Jmu^Z`D>eT*tT}3UO6`dusCn>qp z*OSZ(KBa}^Q*3kw?1zOaFbJ_5--7#cC`{UG11%B;*Yqrjr@Jq`jM9WDS05!BgZ!p3gJ$&)6$hNSJqQrW! zL0FIfj5q!Zj$os=CB&ij82V}7BW;`Nns&BMzZMAYl~R~BPdkd$XS|>I&j-5e@QQuM zNJ_$3hyQ(gWof>f-Ve&G5r`K5z^MWp(nza9aXiK*bqfP2gY_s$N@If5x1nb*U~;kd zB@A0SzIw}{eThHV4&1gTCn~|Rsb8O%GU3GAN-3D+wJNg@G#H|o()8t3XIG-@5S_}{ zR*xoq&D4H7Ahe?l=k-wlrI3lomb;ANLrPw1Lri(t3$QT!uS|t_r0st8qUYuvKdDLX zbTz? zaMpqE@8B5wl$zXmJYo}D)4uRS;a3Zr`*D};f8BM@e)GeTpBO@SaMAT+okKP`aov$k zse({qP#ga?*d;tVq?^!{n8?}ZQ~FI{r^peWc!6{|E9DYYswX1v)S%*4NC|mi7rINk z@_2stsCY{kqqASs4V}g~##;N0LeFud7C{qg8@N*qyMBvJb^;D%^FvV~^ou_*j|a%d zsyAJjDnGw7Q*ioQGAb#PBx3Mz!e}5uFtAE#%eK}?n9k0B#tCZo?t3As)wl#TZn%N6jeZH^-!730V=X3hH zItzd1I``D`^HUuG7BQuEY0s%Y;&!A|2G{Cgm_K42y5lBolbTqQHgU}CqN%17{Omhp zw_=oN35x8nq+Hr4*C z_TR6}7dgJ|7+U4uzZ~Ve%#$gB6ve!-i%$#tN?l83vuyKBskppD9~XmsW_iFx%0$VW1$QtSoAe(pbR?X6>jrYH~ z55W+-oXF7?Xm1AlQB!r$^RM2@r-0fy7omlLl#zOhb5p1nEY+7>kq|93q`QyII9o9y z*jAw{#O%r}w=(7IVvDP9%uCDCLi01@Z_e^@x<#geIJ;8u%};85$)0J`X?;OKlk{n5 z%P3f54^A6826*hrJSL(Ejk0|<$aZ)!$%Ey#Jd?zCsN-#gKIGlPeTI)pmtCnZ+wXn$ zwid^L1?mgpXtxRIkT;uSkmwj>_+?o^8hZ#as!i5+0HeZwJU}}w=aLt|4ypklpNtt=i;3&VB@Q)^wgMXTzWO!VO%1mUv5?V|UWloJQVhFw z9qF78W4wX>{K&5xGVUS7Pb?T965#0TCowR{@i^!r(idr7ME$0CJ*HUx>WEctC;1eVR_@XmhFrdf&pxuP}V_NrvDFxB@w}aT(+|m@66N zVnIq#)hGN4lr9+aNq{RmSQrM*rBJP^c?e9MlbTWRW*Oysa@FzRFu<(Q13?xxY57}=4Enc+w*NaC%3G6^e z6wN>+L6-eVNHd;Ytj~G~aAWK*TM8IKhqlvr8^>uP6=y%;dC(Y~{D(3HcFG*Vt}vYF z0oqG|8SG&NbHG=vz&sEt`TG&Lv5tN9J36>S%>Y6RQ`!H-gR9yPZkQ}`AVC&(ws)3~Z`0So3`6FjF{5YN@YugdDA-DF}5Rqiunw%}Z{Qc8*M+ zIFhHe^!ykxd%&`u7nqsE%(j0G(*taMEA-8+p_<%xguLFTvhPa6_y1(&&h|CfH89mS zmRbiIeGn`u&5fMa#Sb}YsuAp7i`2jj?E4_lr~KpJUZ`C$b_}4eo6D0n1?8S zD0Ul|X*1iRbig1(%>1`|L8yieeUcepwI16 z5A?YwtSOUev>m`~R+AWuw89LL(SgOA1&GN%(t-`(>~i-4PTCLYKmO~i)_?x~x0ohC z(H|goD1jIB&2fx|lt(p8BgwR}hYapHzi;?v=*{x%FTt&_o7|Kf-ZCq7bwzcu0YM(U z!}-$!6Ls&%;aam2oIJh&UfbWVsVzTR;{0bCi`_QhcCb5c-o%*v0+;IWdbnyq4+ObQ zu9BVbVKYw7(Y>=gRAaiE(M>QLp#J*6wA4HCVMRm;+}NP`X!JKgx3F493fzuRvRnI# zEwvg1r$24Il_PPgMh|r@)YT`sztTrwBrPLhEz`<6&C2^UZJ}W?Wo~b7V046%wbJ0{ z=ZEv#P+GEW$a(0TTwO&)t+`ZPUG1UQP3yO{7Vo*#qFCZ@qF7`a^D;(O>>#iM?it#A zi1G*`VBtdvvw#M(ez^-#CPwj#c%!9bQsOL9RS66=(#z7v$OKjE{VW~muKx&vNnCXozfNKi?N(cp`0H){`8uH`bSgEyXJ$M zH9m~=*V7P{Hv2@NNBUO3xw~Eo>A`LaQ{zQ7tSCeuHgwI#DIbbla=E~hPfI%IS2&fH zl6<$or~kMm-ap{l%QN_Jxw6vy;o+&Y5{0zz=KfB25L{mENxB(uXh=Y9H#B03G_Ai< zl_c93Vs{8K=euT0sUvD;-8!9ny!p<)sd-cV{!O@R1vvh#b2twV{1yj5x@cLyJ=dlv zp>S2ueFLa$?wi1a?gSK{4hOpbh}cW4X~N3Xu5GW`bHOlh47>I2d9NP~>Q?hpKWKZ< zV{8ge5%VccyNhFqE;h`Rt z-I+VtY4YGp&z+I2U%ntLDa@tn{)Z_i9pzIL^IB4ah5fu=o6n1QrPM4=z6e zqN>T78U`g$IksisNwWEszo(J4afT0XJ-R_;Zy_GP5Zf04dWkxw&D}=Dv4J5F^AUuG6x@1GlY62 zJ-b346}_rG!dUKX@QVizq!;C*AFQ+Qy{M9gBQ7lH&Az@h7V-$u3e$5y-+N-l#uhWU z!B3gcHPm4DKzt9Wf8{WHK%OCPe54iHGIE5JP1}zi`zpwwRWUdcIPwyZ9swd{zW$js z54el#aF{*B`KR-yV1RZGIbTudwaU-p6#)WLH@Oro+WTAV91v2>B<&*&px;m$(aH_n zDpnguox7U}HK*4pwlzDrtpiDv-+PickAOTV9A-G-R$9p~h-A0!B~6k3&$)}eT3I#a zRhbHzUw&u_Sho!2cA3+U-43ctBn;K1p8H17axo_abq`b)eC21PfEjy%5zz|)? zqwxRqiwEVI*~2A@vRX?*l!EeR?#~2>r4-x}MAGGs&qV=kP|J$M9@2m7_x8tD#_x(=;{O*>fKeEjFXm;#F&C}&RPB-{D_3gJ9e)>>$eHj0LI~@KSSr@z~J>m8L zPJd>E@!ugqAfEko4m1ns0-#TMkG8ZvjYb+H13U0Jf%0YHn}spr1H^1Q7>IC&GS00m zf(R|s@&C(~#A1$xAwNS1NsZGBLH z$M|Zs&>rZxbU@Y>UA4-p1mgv#H>oZ4hw5rh(l?MJ>eeBWO@f`sAiA8!dB^i&qd5lS z#N{S36_ZdwlM@;N4Rpf6pKb5mRJ-{q`fB$Qzl6q{`iT=0-q*{$?iPZwc9X;FA|HjX zI7J-=y60<_tIClYe~}#203IE#IU2rZzFXm@9e+H3mk(Y z)5eR3d{A;~RqxKIQlgDjaSN8$nC7;pzQ2Nl{R3XM_y1C^Ha2~hH7_JaJT9=a!*&k ztE~9vQ6BHeyOYJN(6@vG^*wjOck|_AgaBf@p8z%7LSJXVYStO0M6YI&W)xeEBZIQKLO!$OkB!i~N%_aG`bQ|7*X78#rwI(UO(4mia(kAG&E~*b_Ab`lbMO=|i7a>Q= zaTcY{kAHqbTy^5yv!`|z-%RjZzT#u9r+86ce1zdN_s*1>PM@J}D(e+XJ1FIgE zH&p}*Vj%9Un_9(PjtGo>1Vp>0{dT~Q*-e$o+sN4d0&Zq<$#nhxZsD<$h2d&ZpuvFe zcQ#Hh!&fS5exVaGUzbdcDt|q!>uNnpHyAnFdA?iAcOp&dWXC>{)2cr=js_o!0`?yK zyswM9wIzv3K+59c^6M~lcmub!ds;dQB~g1i(BDsrpFeS_##P%q{@xov5XocLIgI?w zAnfbajn^}wcHJT9EnlBQq?C9bv{^6zVi#dhB~4UwV374ls3zlbhPxGiXm(ErHg=fP-nm0;z%6L6btvO+^iPagYdu1^p8Y?Np z6r_ML-}?8nU%|}cd;LYdOa-22sz3g4lDG0+7s~?0pclGiaeV(&D4~$H6fD>WHH@I7 zDvFJ?o1jWCxG$i%D~bl6I7`W?xB|4KsEpw?kucR1>~; zSM$}p4xFS>dup~u&bEXn`~CH?!Z|hhr%&&U$Ha3Ey&N=YsO+w>q`1lKj*2+dmBv4Q ze>~W#rM|Sr)x4(ab0WsFPI{IeBW#D&KzaiTsr%S4sEV5O9#u(ckdz$ydS6MBg^f;V zAa6HndVG`l710_ZYTDFQn+`|lOlt3NEmf^eI#=l++QOy93l-S0s=c*xpbskvH(7f) zx}IxXL6TUK2h9YJtDLPyhBvqzz)Nhp$+aRb6xgOyr@lz}7VI(+bsXr5zhLDi6PJWI zsr@?fGCM{?a`T~F&&?&D|FGZiPv&215;3pV>8wH2*65x#^pQD#xVjxK@ci4J86TNX zuROfDu3_5&$(-%d$F>#zIJ*rPVqg*3Iia!y*w`I`TNrm0w-xpb@Mf5rd2iuZW_tg= z9gyN=)x|3jmz@HKa6q|B_Rw|nQ)25fHAOD~)y^yIB%qWKs;vYAXB~y5N^nS6YBChgC&c^|DYy zUkLOb_1N*Z7|PI+eHz(tMW_rvyUWX$B*!pbf5{@~HM;n1m zTkN-WvD&yRu=t<$b9t@HoomSxyZHw}gu<2L`Gv4n9@09XkV2+%CSr19$2c941xzi) zd2N|^)aAR1Qg&^Q^7Y%xq1lMuhSaNXW4;#NkeZK$2;u;G=4tm3qHE*2cZaRkZk?*4=0gzhYJPwLP>1*|)=N`4F3-NG!`l3`b@tP&xfZu0?a4Ew z>f%Lo2%2dPp0_dbqAqa)lv>iW=-*-;MkF`zrlU|CtXn#l@*cC60X5iEP_|EF*LlHp zxpd+|CHFR{yefu}#HxW$w8`LX+uXTPS9%T4t!FoGBX-HpU5e1T5&u0Bw_%aL88CN1 zM@G_sStXLyUI&(d6IciHjkFX$*ubS#c?VB=b{$u-=MSD)RABpC=q7s8a63L{Cd9MA zU#?mx4^PNoR8BhDefYa1v1M2C)4g{OoE^$I!)joA*~yqnOFq2+l+(F+>xst+SK6Nq zPSsV@QccyQc3vt}#ctQzNeK$Po4sUd??D3PGg=3vveLf{wCPPq2jlE-vA*Oi#}zTh zUm~dC#qlC!09|nd)uJ{#o@;>~0U}(HT{M>n%HoEyup!Y31;&9hd7D1Y`1uOd7=TTZ zFAH=B3;s=aP;6Cu5OD^Q5{zFMwMJ=y5vcZ7p1>?xuRg844UrfEaL;%64A>Scc+xqN!9*m0wg6C7IIO!0ZONbkvh|7q zkS*<1WUEhmJMDV}lOovF3kv^J3j<8@uU+ow+13&w6{gbPLN>n z-YpZG_-iUUSIAOGw;kKaxTh#=d%~$@!I2XThalWId)cwOJyH8aJGIqBpT4xly zIw|?iS*14Xr@SuqL8XA?(5t0&Zm@^nMg?Cv9xMIx*c6|<&aI8yHv1PzP84O=W?u}p z*ktuj&(q^vVsTWaxR-CL`AXI`Tu<@C7X_O-ROq&j=7r{Noj($qw9tsuTkt*goQBLc zbk34rPItdpLkX0oi}RBn|FGRCc_GcQW#ss0nciOxPs&0L?Qwia>Z5T@65xH}v*7{* zp|dErUK9Bk+1`Ma5bgsaPxHg8J|^oGs*#sjpf}7^+LaFvjen%TP0fzZ*vLDl$lE^_ z`BY|mK3<~|Es`M?v>5N=q9d0WJK@e|eV}2a$_&>KxboDZh2}+0-f0`}WlyEdyH4v@ zmKRUkxm>|j6XHv3uey$oUOngMx7jf9!^_-+1$%G~%OE6qfEaZ@I?TEPR^n>f_1=Ws zLDh@weOuFYRdDfseg*a`N!Sn;;52iY?j{IvyACWpU-lUyQ) zE)QreVz!J*&b+Pugm!Ay@b|Iz;1uQNgkLA?wP%>ud+r=lf zMm&S2s+07RsbX*AeF=>i<%%rhB+$|Y$Kn#ig*(ie(dF9rDUdIjj%xBUg+KCA8@ElN zHV9=(oD7{AO_+!Do~D=6%If{4KmQ_Vx1wYYL|NhuHbg36nldG-iw=fwzz zr$?M?!)!noYkZREx8*;1n4OzvrG4Kf#LfAmCe|Y-#B$6J)>}X};dpvrW&nP`o#T6U zg%QU5c24r0!FWHA%Yx|c{Ac~OXqJ?MO|;jW-o*^tCiYW)YGvy7qc>7^U0J(pH$Lak zG>x?fxVE81yJpGo-{cAq8I9?yESG=K+$)`QG9rQINnVD73#XhJ3H9rsMyr=s!fZup zVF7_Jz4hu9cyf7*DbD=TF{dR>OCW^M9v-;y$6JHUdteq^vDn9DIjJvL<>sh!SvSnD+=3b@GAjsThP zZ!tQCU)sIYDGfg`sg1hS9T=}>Lxq`g9VuA_qeD#r_<$|3Dt4wN1^a1Ua%YQPszj_g z<9WDwO3x<#?WR1%cypxv)Jn z)cjLWJ^zRAz?-_N*Nn|~rWk{b+v`~zL`F41o^{XDyR!Dx z%fwT;T05?OjyVX;#l*~H#Wypv4%rm8?=r@pYIO+JQ@+t%U9s5zVWK!9%grKiUr;jD zSI<>u99M%Ugp|W^Sop;4JyHy=4bJjUUrm9^-u27x(bSK7yGV`Fp zSfejYNB2Qqc$F>kS)a`J8d?>|r}`mn6QXoZl^d3<#+MpH!#Z1~cN2FvWS&5CFGW+E zSaX|+!Oas^s5gmjQid}tCYi;2?Fw*ZFVIEBvt<0daStEwhi+d8dlY;ZFU&^hs`RFU@!oYfY6iDB&2rbx}FadEUKI$0Oc3>Lk}qX_u>vM*9W8Y|tan(*n8H{vL>>Qt(^sd<*LT zhNL*3V&>5m$9{_~h`>HyjTTbc7k+kHPVdD0TKX-PtN{{CuLUL0-xvi!It&4N@;Wqc zf+ibk#K4Do>HK>yO*TgGuuS6u!IAcS*o8&AfBpyVj*%_vf3f%O;ZUye8gQ!J=Wg)yY||9?SH<%zphIzQ`dOsJ^Y^gxqtWXzV(@)yDdC;srPEQzUUxl#&B+K zafg3Pu28Wsn>AN0Qzkw>I6)UF)WA{<9+2h&ro)YG9aC%W%byh7?>E9o&yMRu*nH?t zP$r7q)f6A!VK?S{p8v3hfGhKdsfBaEMlX zlCx;LuO}s=d*o?d`IO^r<2S{_OS&SFf&0h2sB=)AnkN&`xz z#A^&koo|b55>=3ZD8#RH3)%}KzG z@4ftY4=fF6t{JPAZd_2=uAnaf6x*7JDM(ot&u;+$?}-a(6d^dX403G!`iIlV@0vCN z&+I=iV$?=oo}K8J=&7g?tY?2BzTHApDghDJMsU#KM&yWo(awK=ou>xwvG@3=YOk3>nR}SnIsB!Uz$nUj=cSMPaOWe*zdz39x90_ z%{Oagq8^e|!a5omJCO<;sjGFLh?oh=&aW0)yw-|q&C%686R6#XL5$A47CojUYFe!ltBg zmJHdC97~ZQ|AL8EL-O2OlH%2l_8^U(LuQu1fRJ%V4Jg%_JMxmPMv)^t_Z%EZJOIs*D3pBT^$OB0d3K*=Q!NwiW_b%`ggQFhnb z@EA?EsrN+N3ZO?-?{6W^bLLD-=mk=^v*{{Y6S8oVQ1 z@m^-eC3Iik>S~9s;GoRvgETYH+wBR7C|U}suAVDGHgOoO^n2uuLDKpyl)dmlkn&B4 zHcFDis>!_MTPGRK$?kvxYVASHvtPR9$C@I0d>(d1IX5-=92Ax~1~Q+{Zoa|3duDS~CKlG9yo1T*S0@iB!JuJK*gE4vX0Y?*1~w ze2VZ)8=DbbX$pXIGdfOf8`N4RIt>n=5e*{-4DDp){i_j8La}X!O9g+6fXXpfvhSTI zDbI~d^e<<6I+mIa-Vb8Qj`&ySB}ML&sA@#-F0zt&mY=tm+TQ1*M7kP6sl(l>snIE^ z4Gti6>{6D=c>L^F4x8_7Uv#T7+0ApzvkcXf)Z(r2NhHT6?+)u~USSPqsqh{~6^Bup zP1A-;7ExtO=9|#3`-5?dr58^IM+OV*r0gERomcUJp{TSko+k}IJgWMEXE(XnfMVLc zO%H8m{YI7-N%I5W-p*GXX&&FiSIp!{Tc}WU52e}nMJIf_Y_jg=*yZM>#UUQr%n(UL5 z03d85A_*beD=>o6CRwo*Wf2*0Zrj5o8bjc1{CyrrypQr_A1sfU%Qaaj@zp3VMm6pc zt#kcNr}D5jn3zO7q1IUa4>WmubD}m{0djZZv&a6nx+Q*NEpxd1o{&ft+i8!KK2HZd8w+=L8*GG8 z=!@B8UyP;vg#^uPh8ZyelwQD?+`U26<6bMj_GluZ5Y@xizNxtt=sfgi3UW|>&~N1y1!pOVY4<(|^B*W(_VfAEAY zb)x+!`pg$~mHKurBKv~dl!VA41K#Ec_B#DMDR8~OPHJ^y5)^47+MNR@6-_9?3UUAv zY{4!Qtwj)ERqg^<@h+KL090R040H@NJyrjG362xJ1%A%G*YUD&JKXu#hK)vac~U1!0b~k05rYP5#d7Syrp2wSS*0vQZ$-H7FoUfFJt{uE z<&Pc_;`zeE@bWnoklY!kugtRS*^*dWO}}5hJw{IMgw?L+uHUday-!^0E~VS3*Why> z9cw;Lg4ewO-P)Bx?e^ei8%eI}{49;@lXeN!$#M*X|KPN?l*Y zSSVYmS##cyzQd2Dv=mWORCnz=Tg3Fvkbany2Q4-#_BhllSM_pfT#?I!@KDuHvb$!K zLbEjB677IJw_p1|OmV^LI(xL*a5Zams59x<{A7EXL_fFu7bjTNII^sI+KyN9K#v}ZRikoL zZ9C5P>jjCGJM;VWe|=el!-W%L+kAi~S)}TFST_n#yQ-71R0*|KW9wOg901WcJ>AfDH4qP!88jm=ceCh2G;V6zzy?!85`f&vCVDR z_GSj|>G3L(>)4y@<@k`glBIs*1RfN9pW3y@Rx!li6GPV#+Ju%4+5r{NCF;-r0;qmi z1@yrd0L`B`k$@Mt~FaSrJe^a6z|s=VX5 zZ~wgsE&Ev?mf^1p(*L_J%#trGeF+@cxiD+EgVG9;P_QYh;LiV>N_;~CRH7#mP>BVH zjMfZ5bG?Mzei(TWjIMM|qTwvV_Lab{)&1a?8e!JFe+oma?m@$KsP?B~RUnO8bzB5w z=0CJih>sxp2B103Klq{IG!R~}7S=b%2D`Lm*q$x`AGvgLLSOuIiOvEVGEIUVk8&1; zdgLvPC4S*x6Pf3$AQ5s9JS<#t5xbHbfGF_GZqOl56aUWD2N?DC7qT{)7se7jtC}Z( z^KQ^aUZYrI`h7(^7hy+z;WqNH%sS1wQsVRxhz{?tDMG2D)ye2s09Et#;X1fHssA>p zgQn)dr0XBN=_V17-%aott0xFUEcl)8Lm>6Ch+_b~K6HR8$}SRsy>6)n`0?wcJAEn& zmIW+qa;g{{_Iym(A{f1yDO$sT3Z_kN*JfM>dzAyXF>sbqy7(6P+nJjyViLf+d6Tlw zXzTO1*4d&$O2HFHOXBd~K>5GR|Gz2y+cjMY{d*WeGZzdaq%MMCgz#RlHmqA>+jsnJ zi9HM~u}}U;{};WOC!a3LAS#I;eucxn_pn*3`v3rW=?(|U&ZGks$XnU^{}LVi6TSod10S(THJ^+13wW z31Sd0nvq0OfO-hhogBI(AQD?sd}&GBAo^*3NjyFx^v_vk*Zk|*eA!sTjG~U?^z5oW z+MfU~0GhC5fqShdq2ILc1?VUTV?Ww>aII|Zb%wn=?8-|l&%Ws`+=BZk7gs;{#KWy( ztYo>HG6j~jtusUuD4N57bP)55Nz{%or55-AkK9z}#<8GIE-K7qsSFsQrJ;l9ev9oQ z+wPzamf~EcYao`STG>~Tc&g2|cdCDZwtK~?w&GRAvC%Ghd-%7|bxS$uuxlQFJ?e9h zQP&WCf)Ix!^HrLwlM;}Z3!%0qC#b`wA8Aw6Dadqlj%`%as_Pf2ZovWx7U(dLez)XkmH!TA1- z3QOpJ|Ax64@&D~jGzAsp=`U!J3}*Us{e<8qe3m?+BdSdsC5D5h08jiIYNnOp(`+^RCn)4_wt^{=6y>)8dZs2xsAHl&jnMbZdpaj=Gg&w?x)5nI1i zT!2&vpG3$Iji9Kj022z@OYKDK>-DD}Nx+B?w?;0}371lpauWB!!AwfZ24 zs^OT0e3&yD^5G=Kn4%wuyo9#n8uxT77*b(rj(m-{AmBB+bB-amJX5QZYn+jTHMOej z$PPm_XB`VO657$!rW!dzIwWh68Q3^o1dS;=Q>k^5GcA&j7cBN6(VVeg&tBuJQ-1U1 zTeozn`G;JyN(rij%J^R8@%9@%)l<(-RF(5I;tf3y`)tih^1J_yjPG;vLI(RA_GwzB zXy9yfu~b*mt!HoQFBN(QmrxCPPi8wm7QeXQR(&tO|G1#shtN{9{AM*&2_1ib1MK@CY z2J5KsC+s2pwFj08ou4pv=l$s@{TQbv_R{Jh7Y^W z^1ZSbt$%-j3_@1`~qb zeg5^q;pgnkYaJeC);IUOFz-z8{~({@bar!so6rVYWP|cxp$WOU@${R!wuGTMh`Yp- zH}FO*323sZ+B!~jw3zu=Wqz$Bs$`h;HI%pT!@W?~(m#LMv*GP7hzh1irQd-2&jxtL z%h#*N3&?{YL2T?&2JN&1gyElVBPsK^pA)`}9pH^EyegilRxjIlP?5B^^b^?pSC;2b(NVywu$2z`#GDqO;`#L5mhf*Nj(w9~sL9E)ctn zQs&(hlV6~B+^>J+?aT9>SZSgU3)ybJS!@#>h{7)^;$!ucQBl;4DOfc@_O2jd~d0xXTPwIgWx8sE1nGyJO>8Ryz z3^?<5pw3_IUIgI(A5eGwXM{Al0j(i45y|1;?OXJ2qUW83PN!r7q5^o#&LsgeIlx4WN7w$k^SXhi>Ks3d8OZzjG5N% zK26z=zFW_CgCf!=zK6OZwTH&=Wei6EayvO?7n|ES3o?r9#qG3&=3pOg{{1lD4I zY%4=v?P9~W8x(1gV)aS_C;ZDs$p!r&oSo#CBR2@T>^Q6sd>(ZJ1({+dWm|=<5GcKy z-$CY_MG1cktv6{uzl7+M`ZDfeO_PUf%m<(YmC$7#^_0coPfNO1lRoBIg|tghuWQ!8 zO?>SMcBkvGUXBeBr&OHDO0(yWy$7-S!Ctn09Q)JFq{9Px%3kQ^ zdd&glJzx4O#J^50I@Vo@GkJ=qasP}RFDQO>kqK4Sy&ZWf#zQuC!W z#OQf+UM%{Ni3Z=nFXmFJ#W@;VT(!a!u5iaFn z#YC?Ow7h2nQW=wo+(s`~+C5`&xF@=~L;7vZG`jCPwYEE$Yv%UJNEdBeyOtmKB_VH{ zmgVbq-Q(}g3{QEy|}@C4B=Eg?H1*4OyMZKKTYtc8jA1Jh$M>Km2%}QItQ~Qtjd|UHDiJyJu=!N4J@mCC*uKA zQpH<{_C@mB0KK0WUVyRNn)ZBX_IBr&EJ^^}w0Y~6i(6ecANyT$f5Og_6L*jA=UDYvQA<4bV(X%&Zb7k(m(uh z$B*2Dnirm6$G<)NW>>C0wX~9q#f84&wTX5+3#`Q@z$}S8+|i7Y0S;S>OoEHJfTRgU zag3%Df>^u#Es#Knt324Crc@0EyOu5@x8#InaN;fLqgYqd)(6FNj@I~mKc;^dZPZ5Q zS@Qb;Lsp@oqqn(Dd+rw}*Qw;1FL80JmWR^bEj{1juWU+&%&lFwP-5Uxj|^9(+Ay0 zaKE3%g|o-P4HLaRGZGJsxb+01I3w(pc+f}Wk{{5tp&NsO7rmm4r(Ab1l10CR*)|!j z`^E1{m^wuL6EZf-a0}8UMBex|?A7SR8Q|c;cf0VO=My!Atj7XB#ozyi zdH)jLyoX>NQguz?<@kWDH?zV_$H?J^wpV6_4K28`Is|pE4+3ydBIa0;YDC-Fvzv27 z?&2sDy$Itj1=G)=O}iEyfPew87ZPAa`qVI)Br-$24E<|^k%D;0(Ua`g0sqEBKww22 z`D=sQQYG05vm^&TMnebi&qslgKF9^d3&V(as2vB5+%lmA`MV$YBRmen+W^0bpP3}!}Cn}mpdN^q!0mObb65<66)q4 zZDt;c{+=UFMNK@#@B(G$?QA$A^SHt`+N`O1#aLEa z@Xc{`=mD)mZg>Ra)uPO_A*dYraMk*k1cocQ5o`~mK$V{P1!QNcQicHRPmhD=HM89_ zZQi$sU6TLI4Y!SYlKI%9%6L3(oT9Vq?I|s*;|Uj>hOJ)M+*X%5xPIdP_2hn2;@X3C zq!RpsR1`jdZ7428ZsIT!6tlL%pUB(3rmt|f3Dv(=>pci~v3lB(QSnJ+!nZ!t&AL$Y zP!d1YUvlJHAG2rAe9KUUAUw*dlDt~>OJhVHwumzsrmNm$mT=O zu3{84>-t{gXJ+>IMmcn0oJEbKec&R3eeuK_mSk->8}VQrpIn;*$3*;@r^d*KavIf+ zfae^@rH>8GDa+L5f(iGS=T~o1_MVlMe|6{3vE0hR^W~LQ=ezKRFBxm9q^5ccak0gI zxXXJdLtJUG#geBai0=lC_Iu>EYQ?AP!E%N?dOSU7E+QC>fKIKj2LbKio9hQ3cHi+G z@^!B+>nEa$tqZX)tqW#8VQ-I9m%k{a>Zm#^X20moen#5cXy9zKP%?d}cf8ZgyciqX zczVYO)s$v~+iR<*yA*QXVXiuYa1%_P+@Jji`SYJ{cqm=+L?s!-ri~q%@n+8;1ckmnsW4FjjP(g&(rxw6gw-nEio6F0T@0q_wTHX=DZR z^5(%J(Gq!mAkvlv1|si^t^wB7I1@ADCA1^Ie?ug%9}piryXWn1GrE9-WH8`MX^=Ji zE~%9uHo*2Tfc?;8lSI_KJ9vB@Uu|KdK4Vh>`7ucL^s`Ki#Y%0k;~H`f60C5HsL1P4aV}j zh2{|BB9t^iA0`8N5#I#EKTP9@?KmdQLYsQ+unMF#%|FzXwov%|610F1MDv2Cre+i&OMFJ8U9i!mhUxn4)a*^`_->Y*XraI+eBb^JnC zJ7uH{mT7|=*_kL$o`y(ng`H31+qD|(4VptFVicEf;ISf}=uNlp&M#sUVq-X6Z6y6? zMY69fIV})bnl_zgG@e3Z9vm8lkBMXfQm`a9c%mj=F;otLNn`&LA}nx_P&0naoNGn_ z;OUomc=A*&LB{IKd=MQ}UkR5WRowY*cIE4I!uGEohZ84QF#&IT_Ym!jDYs0`2C#IwIbmONmD(8@e`<4w*@}xV`dUD$37sU0fL&4uA z{;+=f-EE}*S-{fG?tq5NtB3kCZ+AKrd0bDcQKerQB^1S9OWNjChF0)Q*BW!meTJpZ zF5^D7d(_w568_*B*Qx_MJWbu-vmt z2C8XPJNz=%x!Y(=ZPoaa`#94f&p{H{3LH2(=I+(9h5Jmf62e0xR#(XluBZv7>_bc$ zKvaYT*2|J)4l0SY;cDvQ#X89Gn)*P!iAcNRTKJcjz2)!vSj3AwTI!kGV6IT1D@m8; zZHC7+t(9U|#&tnOIRln#sRY`+k1ONsTn6S&@3T@)Jz$((p4Mc< zw_d_k-wr7Qq=zCS3UGe)#?a)X(!KgUL^)npk`el$^5TQom|Ar!6DZ{I?JXSi`{mvjYp-bAgpqUOm^osi zH#ZaHmYSK43+i>Vp_x%Z|FCTKwzQX_z`rXW#<_e${f64(kKuu`8w(o|&p=1nz^<&v z0!8>CEPd`|1(f_8gpHwdL|XjHXPZL-p;)U5Ry!rgplN(>e^92+xi@9?N3CCw{rt+h zj1xIhUIw1M%c>TG-T3-FH-SvtFR}-T)-9HkgbTkPq+6X2 zqc4odEvflr+ezH%)~Pya%&ZuH9Oo9=!}K1Uy;-cd(#)v}v85GP>t3J}nqfIG^l$;J z>1^`SPhsFVWV+@7_0egG;JqME@EB`*kl;eb`U(J$p2}v_Y}Z=Hc6WaIf3Y3O^`F?T z%U2LD21B1;$;?4^9;;!IsnbL{1U=^s2mzd(V{FGE_A-9Wv}ng;PCZ>P%ouq62^pH} zf51*FH~gSw?ZrQ;7JYu-AkoDtLyLA%VHqWHlEsgsqKo46ddYE-CKMaWrr9;DsA+VQ zOiAym6F=8059k|qi0y1~3VSupm@9FGz7aU;S8RB&iMomB?$4FUg-Yspnub(SxWWI0zvTZ-)oC!Q%ZvR1_m23yMj~_ueE;s-ro0PPle6G(yKxycI|1I$y#u9 zXVo-dilPVrjFq;Z)}K$jzGvr2L^)!T9Qbv3U+?ai-Nmw90Z(8 zI!<4fq0c%Tf%O0^`n4LdcA=|XbI}v7@AwYhzW&_kx(kHPsuVbzATxIqunR)ntP=pL z?N)~C{{8ip;{@3HDOpSecrai44-SatU5{6@eeiER%C*Dm?Bw4-%xS%G9SVRL@@qd} zCpnkEO0Q1XMIK_Q0AQI*N_+yuA7!8k@k=>*=^oJL5gTUym8<)*3DD}3H9~?&p+hj5 zablRS()aB0>AbZyR6ywgLQkyN7PKH!+%MfsmE7iP+OS^{kk#+56f5 zs9VoUfBDi7yXms8ZH0gD6LQ$JU+Y4<^OXJj5ii{<>EBg>jxjxS3y~u9BsEchKDBqE z6Y&;RVcn>U;4os5Cn6(XgaJl~AQu+l${VMGXl&nz0zZrWyqJnVan)BlJ8OSxLk(BR z$FYBWpm!i;r*7nB%L`XEZESZxIaJ{kAMiM`*WT#cuTOkHE2_|PaqpqtWrwenR?NDP zb8Cv|Xg|?}2DJ$!pb8FQTUbv!a|-UAV71oSjx=ZO;O~2-b2i;12L5pv%Ou~gMFbwu zPrIrS$3^0N!-;%LkbJ6;+)?03mZj{3_d=iwqnc5Q#KTY$+Z@-3*o~Ct;O!d5b$B6k zziym|$%CMb!QRF4LN4c6aj$yc)%~eGcJa8Oag~g{3%b-8EQ&c^|8u$c4$7y9!1QgQ zR3cerD@|gIAdUZIT4zkE~YVH?mK=ys_pf63XYdgZEyK)Ghh-^ro9(;PW(<>`$;quG2vXDkpS4gN;!m4P(j)(G{{AMJ~|TgiwE@ zNFNHNd)Qs(&?Sh6C@#IVXxbdPTQDqanLql0PhdQ*SCd zo77ORO^*2;eh(Y*?5C3kf9^-$<<{a0h!{w=Rs+KMiIttvA(T|6?IDyyC>J~@H;AxwoGdv6K-1JRfl z3gnWYL*r^g4GV36r9K5Qc7*w!ewmPJXRdLo8-KmL(_+-XVAZv<`^S*b{WS&%+v77$ z8+dUt&J>hkhV4

    XEbhYn#OCiGR)kweskwWi08N%}{eYIFOXLWk8Eq4{GDr3{Kb zqyzGH_1TLe`R^QcY8&_9BqJV{B?fj|sDj?M%+gSWw8U93tyAY|$r~@^=my%vJAIl^ zL-4(mfni2ihGS*@V6n*Yg-3&*u6k_apaJtk72^|Lp~b4gL(T;>^RPw{8aZPi=-r}I z)dhR1e4n;;y6*TO&ZW%Wuy>X6d6SSxZZIMHlOeE4ZmvPclFP|a_~Lowsj5MgEUXSW zEkp*gsm+lnhcF+;8y@}s)v}kbJ;zRz;K>!WC+OH}jX1+U7UpkMNGnT8+u7CDErF7F z2#f~H#ZJnKW`_;XIeD;k zoWaYOm~Kq^4VLI3DH9c-fC+lE_l8gXF==es4G_VWSAPe0DDG|qeV%(@U|?H?RFiTC zx$x4F!L@s3?HH4jw+7T;u(9s_lqvl>ueJ z+1@(5zC?HCF~cQfAQe4sei+DMB$x00A6_6E|9?M_|E^Q&WK^Wy5o$t36O;$FW!U3;n=vJSZKzzFR~4F)8%_bIiO`8f?osv_u9+msV>C-2 zX&?e1{yG>h&oT zBL6V%kh~x@cF$14wL)7BmJ8VCPgE=CdAt4B4;1#mEfm%8`H-Q zE{MmjUrKAL3`qCk6BfFl9$!LD0J4+krs{kF!V1+yTF@ij2;2Kru->C!HfuPd$y;41 zV7RMsglH$uHIgj;+<)k9URotJ=iI(iM~(BmA;_W zcaO+5od~NQqO#_?9^@cNp068I!}feXe=JJE3D#{~;wHB|{#Oc`VP8WC0ZS(U~o{IwxV*={<=X*Hjl4c4RmvO|;bwkDw? z%w$#Uz?2f2x;A0LOgL6)xColaI*mihEQU8+&a^f{k4>;%%8^FREJ**t%s$1)EnYET>@wxobRSX zdG8hG3yP4`n`R*`L ztS>(XN(kiJ9J)Fp(3Ntlc|T*(NgcIM&N@DvK2|)2v#l5`kMulUZy=@XdydgVm#)pa zz!`L`Nc}j`pf~VsYS+1`6ULQo%n^s5EUOteBg_b&fMZeQCOdd^Fvv@(OQK zHUswht}m&bp3f5Li66tt{%Tsi$|~`MeWLS#?yH;B4Blg#(jUb2;n;UQu#Pp_*zwwi zZHM0~Svp79tT`XMv{qN^8sKz8M{?Ts=+snT;)xTiw6w9u=}EeIq$2~V#9wX8Qnpp;y zuo+rxMe%+o-yk<~pa%jLID?IH;!JUhI0-uiq+;SSp)KlFWa^^WP^YmT34fq~|G~A) z3A1j(lv_8Vw-B%Ly6)8aV)+tH-g}@sxz-%Sj$x?2&1yh|!WMgng)CF720kdG?k^V^ zz8bt9tZSmwW#FFi2W=|W*1b~CX#bo`V1DMbBWOJUdz#4dNyMaa?U zVU%&T?#HK!6`}d#vu=WP=P}*o&cx{D(Vvit$?p+sJ6x4wh`Q{gEq)$^XpsuLQ=-v( zZ#Q?K_bhKQCMXeg@>6-ynU5WK6JQa{H594@y&sXL)jF0q$X~0%CGUN()*tTr`Ezxg zBg6QSt9^~Gx6m)>azUi`V`^vDwJ|Q?99! ziKoGCKdDUte%=pz|GPCt;qfx)4MrR{L;mWF(#)wNtO@l$fTwKL0JM(&R#9()4E}>b zm?Q%R;Q(o!L0C|R3m6j*z(65-hydD0Y3uDH|Mm6}P%VS@5!jxWY5>);1AD!FBndX~ znz`Z_aBtiPBZlDvg<*;74(`(Ap^sGfX;?1yOPKm-Ed^|W*%G5bYxKXw zJX^@yK!-I~Sg#2;R=xq!Y;Z3obC-nZ`}NA}o(->o&CuWq9%N4UF?jZrp-DkMpuyWX zNkHlHST>$H*eI>!*^QLW#(`)}b!t@ca}ec4o%KlhNM|R?Ug#+YRRDd2i7&?CI456x z)sg&#>0|5aGS}c1qawGx*D2s`)+3wBFWW5DLsA#rB5R&OFP!LB7dSn)0tVblZEfn3 zBQ$2o20+);1?KW5l7@wXg~3`phb#-BnoJSRTE{%?k0ALbWi4g4ro6gMx;#7RFv`zzSx3Bnx#euiU>ePD--`=Yn z^p3oDqrY2}@qb;2AjDR#1wGEmYp&nhUwgTjSs-^0zV$jmOo^%%> zjq;@^h*0DxmJ~@|bUKQIimpWoO)oUbZGG{ZqD5Ir1){I#^f03lZME?-Uvt1hMG1n z?%naYlZ{fH^I-h8`)WX~4UVmIZS3LA0;St2JeRo(%>yo@)I@{E znc%!G{pLp>anZh+W7F+;x2(wG+Q_Y2#Fw`1gH^R-+(=_oB7$im7y@_t8*&4g=oZXN zn@DR&+N=N8Oqay;tCu0}FRv+uF6WM&)E>nuG4_#;K@ZB!CA|8%KUCFJfKt`u&Krz= zURM=+fwve{-f44gQ7j3}w?UO-5@HagF?DPLQ&#Y?zt(`ynyin*2UE6*j`bb^+LZ}L z<5;lr32v}wTR$!P4U{pds&>ZRaO|{WuOWT=jB>nPFx4-8oJyU^(yD-SfE6Zr2c&?`@ zpf1N!_vxxSCz^!6H%A!GXVqPQlJ(JECTqJkX`p=UcC}g8+5CzgGi zJuL?e*#VF9*9PKG-~>h46cZz%O%ZJH1Y;_C+_(1A>G;p(P$2)U`^f$4T#EzN`JR`& zX1w)d_B=1|tv~QJ)nvtBxHa7^E-2HVX|CbOTU?zZ^;a;FBB4 zN+afNL(ln&Sq||WGc)XFCx0;6Vjn*S;aWZRK1$hI#?JJ-(0ea;!GTTmq>3S27m073iG@8_-N^4s||IXgW6PISLL~nchl?Cv66| z#s+P(_*am#=e|Bqt0FF2J*LCE0IUpULFUJcP}Tp&=!745+B0ppYAp!?3k&x zjuDyVVb_#mMX0loYTM-qJ zsofrRighE~VOP+%uU7^iX_Tl8G1!E71kVAaC?e_)66GLz=+>xW;vNXkTWM6Y7=)$6 zW_!_CwW&Q4cZ@QLA_M-_yeDflHSbPpaACy7Ti-usRQsP#PDqQaviIw)o~yRz*|C!V%xGZM zA1MPZ3Hw^8#RsolRKQ2YqkIq&-kO(xSML$I75OoX?Zq>nU%5FqX{XOJ{gyp)ocJPv_E+pfF1wRze)Nx+09tAJmY`$E)f3^>~svaFn9!O zk>X&Rw>IA-QRFE+VoeJxYW3bfQ0v0MUz?l+OIDRaE0C$}oOLq=?b$9>daI;vPCAen z)V`@s(Vd9d9PWNO?s(&$V(V^_FaG`SHPj!c1D z1!D{Lp_ha7YuDzMx>0{C-8JTRVOm*ybHUJ_j~c+Trf> z@tIyX`|Hb|I_HkfUYL4uDlhnW4YgBxjkR){+HXF<+4TFi&AWftKY7sn;kLc1GTYSd zJ;eHD*EZFz_eK8amkzW}r7}QE>odxSB|KnZ3SiDRWq76N-~U0Z(nwj=y|pNm_&{FX z{)P?I(s4%-lg|MV`jd>t@GQ~58)4nt?F!m%-5a6oKfMt)UjVul7gE!D$jlN$jKmqO zJ-|eQ3iYlDG$=3sK^LP8I9NbIQXo*rbJxpy!rzS|dItm2#jH=OO{{~f7v!&#R`fnw zQ4KiH{Q&W4Gj7O&!89ru2=t%tV0^xO2Xsw7=);sd29P?umvj!k3_NRPS5L@}NCDBz z9r7|Vol!RnOa9xdkgNjvbL9udT&outJKPh!~nz&^0?hpx#?99GO|lRM*Yx54O?O&3$cecJAS~+18Ktr^d(|g#@pYn^ zx(bpL^dkbzfbhO&7N*X!MDqS96L=d}7}^~E9p!^&-bG;;JnJ?oF;3LZn7GgQmMS~s z3wK-tPfWh3;aQ4d{i&vC5`f$uZ*!NluWxQB0=B z17t97vN=oXQ}6kD{B1|yD{EPW{#9<*w6@f4wMn=khlOJg+4R26x?O?Zmv zl6Enc&1$4Pa0M#jE7e>72+q7_uB~d|TprT9RFO3_KDw=h(|jQ8y;o<=mxh(nS%pIO z(ccSgZ$6n+mu%NP;r--sX~Z1xLY~xd$~q{ec_ATZn}(J~utJwo(ULu7&Ydr8M(nB8 z;1R$>Zm}T@0qnjlehLe1s=7UR2UdluysLSYiIa)W_FAF((Ovhsc!EP>;hgbNFLyt; zD%Z|@y(&G5BF+3^hVJ-toXBGq*y8zew`I>&GoqKtLvjrsm>c^ZnDWz#AV50DEO$7lSjKvn%*Dt7l4Uf7bCYR*rmzNI?gdISGk{Rw5kF zi#mUj)1^ZE0on%a+15-Fhz5mGiYb%y1dF4esCF5VfgFp>EiKFUAu?Vwwbu@EkI>7@ znR6{g7eQ014&UbNK8du%9^?i+#zZltRF)em)D9aFJQ^5eyUj21PqS-{Jz}}>IT?`} zO|Dt{_*)BazBFl38N<9!I^S2X3iW^-+pqB9!5eh-?i+5--N@4~IzzKB&89sIXslJ2 z>~EeJ`0;}O`wP!BY$~7lIHwq4zg|i9_nuF`_39H}YL`pz^9MoUay2*aJ$KagOfpIj z7+49xT`0~VzgH5;gLptyhz`1(TgA!50HJ({aG;%V23mK@3^C>@X2FQ;i-d=t(+%)45VK4SEu>45+4 zv%NV@$~NMUK3J+L!PXZWU++qHHbp5l@jvIyh-9mOT9g6?Syh z{2RVh!ysapbxZ{XI(eCYBZqG=(V9nvywQr0@xbENGJ=X#rin}90Dnao+z0RiQm2 zZP>mguc#&xP2ih|R4e$bW^kn?Vs9{hS={V7f@2;o${uxK$k$%u?oiH)Zb>M;N7$(S z=HZFq#xm_!mlQWlF_HU~eB%JKP6$7hVva@9e-E>-;d_I=;Ui zikQ?@Y8gmZZ~0QIWTN=Hf0go?klmvVgaE@`qlT|e>SVXF=DPrrSlxxhfku7WeV~r) ziokpZ3(n?mJlPiXUU-;QrkKYoVl$H9gZ|zU;y>Z-VZbVcCwmWhnlo32u;nc_Q)F-^ zx9h1Opo4qL%gnyCvUj?=x=(LF#SRw{PEEfOr=@zXvQjOG?~tWzcyLcsW(3yW{`klD zZ`3<*M!^i@YT7xx>8HYz4rMg06So+?dtR5bOXEXp2E7MRM8L@a2}hdX1Jud$1#^(3 z-J~uHRq->C=cJVWd>}utiKNZ9jz@a36V+yrx68s#jhyFACHm%sJr)etzXy%<$KMuD z+T73&ijM%1yJMc`L`9%do(BNHq23Jq4LAhsCjJ3tTMKLo?A8v$ADckz-BkmOy+&ft zwVHGcWVaNqKjhg0?%E!2mOn|Yf8oo0e=@dDWM1TbIv-b+<_Z)qVhygd(6mW-=Ko>u z-Q%I$+rHsiZB&vuIqa5>sqVl`K-@#-}mQ!-uJ%$=wqB>&iS3c-?8}~$MOB@ z3wD_DLSOL$nr0MMz!(myzvKB@axt=E!*+8&iGrQQ(EB<1-XvRop=x5y)@oh}ta?6p z#8bmt*&{zW4qB#ZDXT{AYBPGR)m+XjdXl!=%v9MyMSGWDgI!4**T?Ntlwsu6B+ZMh z2L-ujiY~p~)+Oq1%S=!L#dNUoxOC%lZ}dn0h`g_>y8BU^GrRfp*3xXoTp zUZsa}NteghDt9TLZl+y$*|2$gJY9Tepy+5nel6S9_t#zz0CJKF__9VXQSWaM*&J%@;y4lVRS62qpJY< zo?rb*)L%!FCj(gAF$L+sf!?U(UsTRl;O?F>QX8_){(Fg@D!S6{zDP{h3*e;0_XLPbhvP1C< z`Z)CxvJzWAsJo9l#Sj-7JtC7%CR()!ZDb;@C}ip~I5?SVFXv*7>5SI% zMDrw3|NWtC+&#ok=f-{4Jyl8Dmt}bvaEqh6?zP@XQAAZ{gsbEE```|}vD!Fxq0%do z6veN#+)J~L@Ev(cuI@H6yAt~zh!B;+ycseM!)qfXBsr{Ln!%%cm*Ot8d1e0MXpnTV z_pBh$6a!Ix2uisfJGS$~YNg5;+vJrt-tw5srNPox%-tSv2|x6rME-uJoyF z{2@lgc!0>IMtF?xSrR22e|E&xeea7kzk04vKE`fs6v{)3*3K8t0jN$ujUZT&yd8@s z0SNFD^12IaCGtJxY_Ob(l}(0H4ri=xyvs>C{r2fw#&zXpYsOm<$2w~JFBa*UwU$>R zek_hQ8mAu@J$;YwX~m;TxL}{IjWyVMG*#eC_5%aj>MioEp2Nc6@C4O+3}oklVd6I))Q&ZQV%uaXrQcj?V*i&QcU=Wr;FdnwK>}k_AKOl zL3)rzVT?;eftuu6WOxAbmO&D6;4W;*P@n=41-xhQFDXFHptTV=g0^%v(6<{|38G~v)CJOr}?vSG-m3ju~*dn7}8 zNwXUub^e`>xfNgjW@pNS{(tUQQ~ag^)L^4f?j@|_FF@oGkB`F7k(tVqiGPvrWqg48 z<;eVdx-q88&vEfz_EJSRkk|ur+K_L3NoD^_t~Ecg@bIs(vwWm-eH4W$jKbtYy@)dl{_|<(PT3P$^AF7?|#^;w>cAYBAc%ZOzIR5*AYlv=(`;4?mfsD2jMD3pQTCy2QS|uRtrGerE@=PIbAg!A5_icRXkLVi<`0_~E&(~$pX ze3cf?V>C@fxG7l#?g_%Qj3fg_iW_zf=^3N}2T}wB)X6r?Qy`@hO)IHitbZI3-Px-+ zcX!b{_yGN9pcMGbjWK7U3pOnXMuI*vU?fN-84&1}wQm3DGyTSO{x}$byPwYk-#Yl| zp>V?iZ+x(%;Vgh1%GK(>@AhwE8=_<1LPGL>D}(2zC|C&z<`60cg3g@y{>IO;n8X6$ z^7&cxj4^r}1siAiI$O|9>k0k#^_x5!%;a(dR_?@}`zchH8N%qdG{oqzGnn~sM?fvq z^G}xOpRLk=#OwcZ%ch|87iX=oVD?{{-f|ej&2A+#vD#St^v2Z=QkcO5lIT`5EazQ( z^DuN|eNLTv|DU*`^H1f!c}Mj>d#!)ZYsGgEXG+i4ae*`}ZXyUjcfG|OSgK%L5Ll|_ z#|7JAT=2+_d6ud_*^PNz95~iIiNLWI*9aVI%hdx!mH00nJT_k^bJl6#6;DifXX|`> z_}2wmq0>X4Ca#q54|_+Zj;YMkR`4Kb`juKs6dh3?{<`3>;=IYVC;^kZ1rH|oZHCR9 zY(Vq;yC{Me4HH^{1(I^0O*VmDvPV8C2Y`Xf-^xn_58vVASIFp(>LUnbz+bgoK0+qU z$~iIkQs7R^j)5P@g2SE=%{=-C>h<5M;s2jpnVMonIV~=fgROg+I!B(L+erif`Xylu$#|%}7UA{q*JW&9Y zdX9|I1F-!wK2uEb9415($kct zjB4C#>Tfuq+(HOhHVe)p?Q6I=EaRTdOa-x0@|%|z_R@rL?eQXV17mv8D*p@#(+5srmZ_caR+Lv zfc35F5!!0c;%jUiR&$XEP?{9vBBzQ&B*&7D^6UDC0yPGsz_geqm56i{o%)v%57_P@jIz|E|?AIIm*ys0C zjCBF;={nDhH0$|ESKXsS87m$1^@^3tOzf3eH9|!$$A2vUk3F(myK|y-o3eN1bwf!pOyO^7@yS zclPgA>w9g=G+P~Mk!Wgc61y#t^09Qn{W6l_D?Dh2Er-2oV8oq(dLR;x7k1mcCUQ>_ z(d~vn{Q{M_N?pVg6q`U)Y2=Y`2O8!s*dsjE+*#wWfk&$G+TI;}C9T%)>5yD{QYQHg zaJ;suy?(+RBk9LwgA&1!%+s!OY2{bkw0vS)6qS(5gZQ4I#z3~*1Vx=o#e%$YRA@#}&+a&LpD@AK^29onn8th24TBoEa`uHU~b zN?xD(qU1$z_pX$SaheyM9D9qR9^XzgD<63>%rr@O@@aY6!O_`=7Yl9da-~chTL|LT zQASO{J6aDN-Yk8PZsVT4gX&V$7DfHU5$qTy7L)3zYf(eKswlzdt#5r$Z)nsxo+hMB zF4VQ|$>I#uq?fdbe88xUVlGnzctfB30L(nXl4u3w`l<}vR_QS{IH(^v=BI3HTQZf) zfh>v5_0707Wq+XBLArz|7DCZZ>Cn#@><|kT`ol4pXezYdQMIIVN!)`p*Y0h_&z}_r z2b|8$Jr};7bxU7bI0%mm*1`=RN_|cm8xZIOFxk?Djk4}|NxIYswi_r4)5%h1%|0ZV zF1ry#Qs+EJ`&d)qn6EvzE!Jzlo2}@6iTL$A*TJ|e9~(Bs{C2mqK~#*?*dbg~!rXRz zu`jj}7ep1URv+z4-lD!$ZvF0qw+~JlTkRAWWF1m#olT)jE5uJ0cRQ~+`QyFpuuKEv zvzbRTwp_{gZNp{zd!%=01h{?_;@|{TO{feMmeF}hZ*yDrcYf?7@Swgny+>ANGF4wq z>KL~BV$3c_=R3!{j7twFf45xvS5%DuBm7>Wt~A-Ru@YcD9LUBkbFKEIa$qbZ16y7R zkjSdjd95eT3EHszY$8vFEtImv!U$uKOolY{48V-BgyJ`^ zUh(S7C5@J=B<0a_M#rE#bO?!~yV$5o8BWj542nvd`Pcv?racEx89JIF&_}EJ_etS1 z#ML_2vjSSQ*tI79Zn)bT*!CBp^2L? zqG+GqmS%bl{XiMFTqb!nwN?>GK($|)eq!f6zB|ul%wC|0f&_Fm zBMRo#;Q-*nN{Ul~Wsc{^QHmD2a0L$BlBlVt8U9j&tCN*-@1mXp!&XawoGGq0S*|Ru zw|mm0EC#DmCa!TURmjXh*3y^5X&}OWejk8qQQv54$d4AKl`nF1%w!Kea}Usfp9Z6K zhw)Y>;+Y<+GBVD9Ohj~e`BAlof;Gui9(sDrftN+(Jed#M!l+Z*QcAh#n_tLp)&y_J z)W-N!?TGd-W!Xd%fZ3YO#wM++s>)M$89%YLro?=*XjOlk+F4rAF`-YI+yd{DfmGrd zJv3rIb+nT+ahp*>9ShB-xTA;iV1&IfNR6~`7%9TlfkI`t?q)aL4ZQTSRJR5W?zWay zM(EZ=v-jnPdVR1DAwv_RF`tjC#HN(L*!pP#-9{aSGrdGil&5o@7X)4|Fo5FMqPqai zsMKA<9fMIH;_B0s%jg5HQBkAh$c?vM^oZ2g*}?Hk z6bw@J-prM6kLK@-HC#r!adslfRu%+V3f%BNp%9ZT0VpXDh@mgwo!IROiec0e9IUbM zD!Lt1CRdO>@r%2$7PfrA-YWWm*2_9at~?sSb8ibl%9^4}JMW$`+@zYLB=C>#`0d)S zue}Zt!;zj?MX2U71s8=zXc-q;D5TMkU_pg8X_S3(@ip0fyr5pCN&x|QGtF5!YDN_G zr);4PQ{9BI=0jtqL#L_NV|PG~+pivrIxulpdZXYtSf3omCs`Rh-;1~$KUK+F%aCI9 zyvNOIGdi-dx7Ee~QYLW{PF?ZY9%o&1uzBEChmoc6s&@%xflZ9-BmHHo(iPU!Tc)I0 z#+loA+9Z_5gV%at zuJ}N8^7O{UE~yhC#1(Hn=hUg8OcSineHM&h&?8T*5f&yMy}RlPALuWsi^uj+D+=n& ziH>YcXU36QmfW7V;!H5bilVNSbw71Fe81_@=7`AN30Z&ndxTPtYbEw4Lr2IujA{28QCvkLOxRY80t9)u@EOp5DUXkdkJM| zQ<}8NU*YXwd;JMzKKphW(O?{zre{f~6=pTGV-9C;aTdmXhz z3AFhjYanQ;Aj;6c>nnUnns1%GNO;AbOL{x6_b1ahulIKq;`3Jg)MN^4UhQvbC<0=C zEH;S!Nz9A=wF(%a_%BC!I8o#fKv54DazB~^wz)@96oic1X3RX$UuUUv6L5)tAV!P6 zIiM|qSUt!F|4B+=K5HG|Wx$QeIR$tjmECyAaPuW0kKP0j=yHjGNcgzf)GuMtu&>&^ zP{>U(qV`vOoWzd9n?~7S@sSE*n1K{9audF!BZl6P9-Q*y{1IK93s>^V1{$()b0m;Ekvb2{W_fYr-;b=wpZoDYPNv8|mTfBX}U-4*EYa91+3h zWO(bAx!qX&w^GKlRN>uChXL5kf*nAv9#97Ln>B-s-7dr10nybs{ReXTg+j;#|MXn_ zyI^yb!UNg$JJowxpC*>+K9-#6C7(!Um483!vz55)}RH&u{o|=HvgDiWdE|nfmv<{x3Fhiy+o;CCzH$z|-*|1(>&4G@Ds? zF7u_3SjN23S~Fh?N%zoVyf5R&&1)lo|C=|wy)^7m!ZeZ$ytO0XaO|M0c2^Pj@tv93 zT@b5pBgr8j@-wj13*uGCuS^vvL?jUBt}4yh0~xHaCE))B5dS^P_rLpHB<|as9A9|z zfe#$rKTY9?jB2U1kWi1>=mD$7gIRs~5rowqa2^I;UMB|6<6`q$`%iVFzwP)xUUnD& z8~W=c4s2X3eyY}T6DXNM&I~rkTz4F-6@Z@WlIPt=*F5M+(DFf!wfODe} zC?HPh#R)d{AyZS)P5IPWnRED2nP}{1uoSdk4*$bn{bzh#Gz+0>PznR?7c$-auKCYF z(2AmL{hNP%836v(P6s~i(`~K5MDmw#X!Z*w%#^N;)yLxZl%opY1O8V77LYn{5~~0| zP&0Y-?*>p(N|Xj=D>@!_q7<49Z?dC;IFR~x>uW89o49BQ*7rf-FtAQebl3sl-S>3? zh=qhR<^tVYu^V`1V+1sp(z63uAW;)Qq1U7^|Q4RtQ+Hg5TRb+ZJkaz%!I zr4ISP)1EY+yYvS)@Vn^Sf8e$M->V^~{96$9@7|R2CBaqmRtIW@(Lg_lg2A!;)%|a^ z!f*UwinIdhFKS?nD(-_oVD~^Uc%Gd#$emCu`6m%@>r3N5NfV#V?~=oCJ_&Mf15#{& zFnf(9W^N^roZo3s1)JjKu!gt$^Bw1PLwrRc7Z_8*#;^>b7Sa=q#lW%4+g~-mNq+~X zi-4<<))@rqeVOwSp4{Km`^3RZf_mQz{Ad_3Gm@LK3*Z3V4H3ht_cG=J7B}|9qfWC2 zW+A```T-BE?U!-T+74ks%NMtQw6=fadXEl-^D&+K!Ln@d#U7n+EacE;*EP)>8o29G zxHE{R$bXEcc5h5f^wYjRK0XlA*4(zi(=#v6>A1>RZjV8n>p+6_X->%c)+cdiHdv@x z`<{DrS3Lk&nCciM-;1IdJ<0UFT$|vcXo%e-*hLpvUl%MAt}bRNSf{0k=obp`~(>c$(Tmv@qSfRLHrC%?*8{E&f$}rY$iHS}j*$hcv6W*0}Gl)IZ z68AnLpdvo|n#o&gEosc8PsIgWF$Afpz9?5$`I4q)LUc7@6}puljK*``9>pEHTu8e~ z&5y67Ne_36l|ERo*7Zm72)3HKs@``Kc~>v>_JM#YldCN0ej@i+YBaigVstM7xg%%% zbphK}H=n^uz+kC+fG2ModojGY1E@5$)2~1rycE#RK4?5?rxmaJktH3tr4g^uwT(kj3kQZj;aLHqaV3z+B8VkDlYi2 zW!czRAGbb2HQtu#-Eh#cps9RwpW<@YXF>f3iS1N$d*hfAkI-8$+;|Tb6~`5;u@jlt zH^GcyFruitp0by>Ds2x->PQc1Ek(-yYUitz@oO=5zvyhtbhoKKVR%34Ky}A>*rSeG zQu>g_YTA@J{FN)Y{dhC)(|4Dj+3tCcJ}&KPe?_}QMRFpJ8n~sEd43-BjkwA zXmoW)cdYz)qOU)PBf?KGonK(8EwFCjczWx@bhl7`NIYS>wy*x{f;AL(Cl8lAG`R4WaT?1sKcr4&Yqgd{ zP&8yg?UoOQt{XJn=z9ISqn_02 zVzTCTrsTEAr>!vsU2n9iUU%8r#5BL&p4-To!IounshkoR(%CIGn#j!tR3?yem?z7r zj}Th+`4QHUakV!nTC~vVPIt*$m~Pvio|eMd%J9$H9+qa$>A`1L$7?+MRrjJa_Ol{) z0FZr}Xua=fE5M+g245HS`C#W1pUIAv@O=4iMA-o{zrz6(OQoAS*ZZ_{$sZ_s2x|0* zsUt;7MeXd`@}~V=EV!|`Z3Rz0*dNKD-!Az%CDp;LxH$iXNsJ`eLg6}JY`Nq-XN@|; z<)SDxU}wNb>uzoCRJSg-vAPpkg(~*S);%p6iL$HVm$r@-)p*dV)8V8!6&1awIlo*w z@NT#4n<(ywvHE7K=W36h();D_H z;;9_Fvu>n2!n2K@)HuEf+XOeVxCn@lSBVlB+|EmEp=UJe1$;~_EK-~A29(PlsR$2p zCT+rejVV)b38^&KRYN;rYLnU#U#lpouJ|2gZ;P(daQ8OoStW(EpCg9vfRB?5MewdCyn zRJ@Cg`u!a-o~r70Mjf4}+-cLfr9&+K^MQ=`I`c9cv*Z!~p6LF*SMNJq@r5%%V`CTY zG}oH~u8Mj*zP&i4qq(tHB1LbV+ri_U5cOm7(x+CnV(+H01IS`sF=*gRq=N!agNP^^M`tz*rh7hN~H+3DZU5}cy))}PSZ>$-O5 z1;ZG_Q`YB&E5W$I^Xth`T#N4ktV6nxf$oSGN=57OY-$xlG#yle2)vM&J>u>WBNH9C zIyvdykDaa^%Wu|8Fe>qj*|zf6CTlv1YV$&SRrJh4YiE2l6jpOT$7c_V4xZh^vs!0U zW~MuB8_mgBQsyz_M~v0To5?rL*(cq1bW`J*2IC)XJiP{EY&*v6`Au%kNQ7b$t`>x@N*u1IOu0t zGEhg@@4vAgDVnIMSlUrtN8j}%T&U^`!@m_*!mDi7}YXZ6{4mD+^Hg|gL|3;(d-nOj>Ng2VZl!Hm zo$=&ax-&KLMng)z{RZJ1cv>H9s7_$A&ZE{V`vitS{b=P9ZJ)dZefjhp(zDc$E7=mD zj8r}<2o~it+%}$#d@I<0ilt<)`dq8P4?8+5jw>ApnSkh z?ZHj@7&68n?N<<`LU=kFO;8*Ztt1cz!)>);%Wmnv<9pmq)Lsk>Hv+e zh>sRZW_7vwVq2TMacj{1?AlU)EXbX&qDW{dH%%iBv1W=(=90tw`_I~4J8zL4cdEM1 z+$ZZzY6c-;x5cL`_wqdu<<_CkS9>>x=&CxMhEZU1b6Q2Vms+zNDG}OmvN!r6OHI|q^&k$pQ#_*p?wn!;Ebq3wGg*lcn~erm8V=_If$DO0`YPxV-)ee zw|b`@E>w8HvCG6kPj6qtQ2&{zyrdq6)X0s_&KghEsfg9rB%AOZ;yo@m5m#y;RZ4e( z(7dEom98K>!;Q=6X_To<8Me4IS1>r2b6#~-Qf5s|MQp#5#c`!CX;$9f9Z!oa^ys^K zs=6&OE34_glT3%1`dU+mlb#(N<0{&kEmO0PZ6Chew0oESlf=&v*P4t}J@|ElZpCVMx+kD zSH;94=m&rInj7yjB$A__I+%GUX;c%I`(^%88(Y+c#k;BvU3uDGi+@EemKDnF?g)s; z0pNXu=<)Pnl2v~A=ka=uA@dLh2gWXoQSzh#rk~&XcN#9QN?qiW3ad5RPADH|l7@?G9T? z;}cdBM}Tl!q|Zux&>DQ!$;dM1zQwIWahWe_cb%Cw>LR+hr?)=nyqU3^d}&vD;?>yX zs9lFuOSRq40UCL8^!IkpKMa)O|4Rw#=dIgIoME6^*aHF&0J7Od$tV&n3md;E$G5zq>jJ zNV}DK&uGX6N41>D@9gS0Yf93&Oj{TEM2_`H^TY3}NZXB?@}M)L-hZnti@s85#wFBr z&2wkB=_vMU)0UDWOj(3biWNsN5~Y2bJI)|E>BMWP7C8EP>~6?#`>~@-P1ow9`D@oJ zi@(g}Y9x55G40ZGSXmcL)xDVn=OpIrBhZyt`Nt>rZ{KHk*mt_Sdt@w#Cy*PnEGyZ*({rR$} zEDYa&{TGDw2AR8XceYECqt}F8hR?@+d-VT9;LyK4kogi^xu(4+o#8?ir?@ubUGP#u zSJZ<;yF=g1El%tstfK7ZNk(}4OVtHzBDcnrK^|n*RaF?Y03Xr zWc9gs^jfknG4V|C`=T*fyBFN?Y}Mf2Wol6t^%jXo+r~J7z5W}|gulB^J<)o;WMCx)3XKygw?oFGlm^ zuY<$JrCL9~d1IXa^O5hFga3Nhf9+ZS<9Ghs4-D7@3m1vf0~TN{$ug}JSAi~cM3HKv zB?fi3whFh>*klu{JA8Ywno{{uzE((7o@?_St>nApZ6)rB+gmP=-Lq~^FK8=_uV|VW zCFRMPrZ;;i+dmnl`Pq-sT-+yI&fD*}=Qhr_Y3=k=EiPraCquWt#d>r7>jSm;2;xe* z7^-9rI%c8u$ugj|3C*VrF8@I`+E|xROAQsOKj|iC*Vx(wt1WJsjyih!vNu|!xO(J< z!vp!&kMBFG)%&lWeJfGguwO0Fbz7&$wwN-H!59kivqMoKY!+;p<@ zY-hJ!rLU`wrgi+uS}%7WkKF{47fEZ+v&O|u2MpB?7&L6NsQWEut8%LJ_YX4vPs=k4 zzd2z=Ujxy@AE%-OW!NgnBJNv|p|QfZ5@g_q)xRa$Iq^|yzPc|DzU2)y&VeGi8u_&s z&le|5K1Cevo9kb={(H51erPTX`>PWX$YbBXIA&31f*tP$==8Z0L1a)PdkYE<=@62h zS7S`|6Q)Wbpr3szQu|kf|4)4vG;tnj>;PB%6(WZzVDFOE(C0mDap;MA&Jj66s4Iaf zxOe2-aDLf$cUp&Yuo&+EpIAHcaC+WE&bVyv4^@d z(vmyc%h$}ocJ2T zGV=HgCq8O=B80JK4`pB82R9Zb#+wPjIWwmxmZ4d7Z7yZ+i@LOim&=$)7;L=m6zbIa zBBAYcy00_SRU>Y^LwS(aF{+vu+uGfbUCf_4yc@jD!ap?E{MGNpW-mcTrj2~kp)SLZ z^68tQSZ>${JL2T<*9AC5REZ?axW^F_C9`VqqT|9V#9?`2%fmCmvox$01{*S|_szRY zME>!gA&RCvc=7jI;zHpD_^Z%1bcF$JLwE7>Z9~2i$SJ5`G{St}D5Mb=4NV|Bc~?Yy zGXbapOd)I(K)tkGir0u`{K%TthjjbI{JspRM)=3PfwgGlR5_r`F|r|yQ5Q=XsOf7Y zh9Lb;kx+ssi5iZJjOTkyg2sOjQ2x|svP*nt-SLfgT3;_x3H7m;b{St(B%yhvb=$Mzl?}t34g{$EyLiOUyRmJBM&<7!p z3}2T({93&4fJrGge;}*_hzQ~ z(xwb;zO?xx(k=zfalBNU;s4vTfTd}q%Tt}&6^714me zva$#5n@fsI0yPt^fA$Vvf4Bc`?7F)`DHE=sp31$76G}5{6f~FT*&&q>)H``tH&&+B zoS*RS!ds)hkKKGVvs1{|j`T~x@#)w|EGloCPg+xtPQFoXgN^8J z7ix2(YbQbjv{B1G(SCdPSB$mgn|tx!ksAy{&0D6z)Jfvxg5zLzMCv}Ka+8GC9Nn%o zw!Lj)h1Oj27wP-uvTKe@*Z&;wS~1`7RpW=y9v3jdF0}TMD#t2@q;R)t-h=TBd%YTm zoxG(_hExlBC)SSyoRD(wR)YR;T(R5Q+Le24?LG|2*{3I^xF$G1aAAei7)r<$gp=0n z6lh&##yxZjxSruxny_7d&pl5;?IbH@wHo$P9`tB{V(yPh#N z2~rko0SfjA=m^-rZM&CoNnsXSP-;kd0+!AcXbAh@7>CeM41G1Ri8@653LI}u4Nb|Je1<5rP7MsC5J67dJ<98s`l77{Ugy<&ov9E zkf=#)S%3<98qqCc^^A~!eW*6itCtv6?!sl&&zW3u*vHLfS0YiR{?JZdQ6sy5XvXG- zYDD_*mCm;+g$_45x?efpR$Ch%c*YTFo#>pzmVXk!ZmT>_m$0SCic-9DL4roMCc!sC zXKNp6vBQw9CRj#yjhMQGTXb2Ly1!J7mVZ&n?LundC5P{sMe-Xhp|M>2_PFVj8+8v- zhHtnGL<8i|(+Z7fuVV7wB_mYO%#k&F34O zLd`<<#4J7%U^_WjUSS!T?eD36kM-eAQlV?zm8<4grpjE?C*0+ItoOY$rnYwNDCCFR z6g1TtX;8bIseZ|axBy$X!xNGbC6(`z{Rvy-RtykH`BvHcc0Zt31S;f-Dmnj_rp@~0 zEf<<}q?|j_A90d0T8d;!8873EcD#5Qcjn?Xp&Nut!Hk}K(4HNe5hzi%qZltc(qr4XJBJ!7kPXZD@`tig}kb2sU*)BP>M zDk3>(fIE`>Itc55PxT8ea#-GWGd~vAKxC|o&j8RE$qABXfk^HH2A2+_X z5qkH3Kp*r?@kn)tCKM)WZs=FAYY3ajznwWl(Jr);6t~xZBEMg+_Y==QIlUwz!!=)T z@Z9;Ia>FB^)~_EvI=v~Y)NBQC4%JQ`wvR2UD0TQqet9AD{go{4o3(}OT(iRM$JR9) zZ7Uk`&;$$~lXwR=6o}Omxdg&(c99tDUpMxqk!105-asIIBN@*b;4A&4bEfZ%y0W{6 zZ><(95_?ap{*m_0;Uf96m z>G25I^7+cMm~d^ud@oAiFQ%z%a-gK5(1YrDZX5vs3cllW1wX~6YzWqfk4jZ!t+-YQ_hP#-GkyHFAn3js@>c7>eF}hoYbN@ zB3DjZPWqXty5>qV%i6{fE7?NtEUi_EQHPkHf}f<{GwK-XO7Cd(+OoH3pSgK;^@k&0 zvVOKY#eC>;z3X6?w!_;?t+}}m#_6iCjiT{AcaZ|1@Y!IC)#$tpoayXpm~lP^XQ9SO|e0x1V`QH{2735e%Brm+Dw-|V@G{P_Nqk|3sqf`C0FV9 z9M;m$r*kWUsHj=_Vd*M&mK-(mo)J%lI^7Ag1D|2>4 z>d!jQ8SUy@uXQ(y?|b&njIAxdXfzfYj4$Xc>SHevT5<`&y4xsPJdNl+{6ci#2vf(L zqbQ9A@KyBmfi!J8@i?vUt)*%CtzSMDmlY)(S}n}G^~^S0ze(^l_219p%Zb+&Oq>1>Cs!SK4pLCh~LJ4(mxMqZk)&y>^kwVysy?wDy(@{D%br8Rpfd5m@(-Z^+>4rBKF{+8^4Frl;2$JKNmGpWiAsDSHJsrhFJ*!L^k^7a=PA^Fl2_ye+Z!|j z`ExTrO;_kj=;^hn_Qm)`$P-NqJ#KVX&-l(={t=BZY4zx6of5G>C}GR*&PTwN8aiUv z0S|AVeD&JB*WS)75O-T~1I69TBUgBmS9NB|gFB4gYsLA+&E7lHZrj%a+4F}%1*yU$ z3AA}t%8ceD7Tml)TUmLh(>bfyo4el_tax^4@#^E>N3N;NJzPX|8eP|s_FI2X&iyB2 zISEE@+N>=+RO7a`Tk?}zYqjExjEZM1hSqhOkNB>G@Wdq%Fy2q-k*^E%?KmZvtS)$( zPiczWmjSDhCTr9Kw3QoSA!c2PzY@k8p*HZ;jk*!<4(eOxqWb|VATqdtE8D9|v7(X1 zYvu^yq-nxJ@`QQWi+eS;q-wV0B{_@1c!k9++uC!7Zuk#`74G16wTcEpy({p7rS&FX z4%#2UR=MbVFIF^=y`sJq=XQ!?e6m9c~w7F1yZj<9K z$B$=YJaH0-j8$?SRgH}7FOQD3KYUk=dysa^RLPU%v5uPX*{JgqvQ@Ab?!Ez}?ZQi{ zNkUZ$?(2dEV{GF*>W*JSHmt?3!(WiFt4iL<9SFOtvxHY>M!yH0KM!(MQtim0oYuFc z_Qi=lS5CT_5l+N0BYVt>ZczUx`f zk}3v^#&hkv6Flhkqa>jmi5tW}S3f2#I6<)peRWqzLj8f@i7d(Sy z`w6;fmpGt4yu|tvd|^f7t2orCkGKjw;{8;2wLWjBd!NJmJoS4|)kmpPl%?L)Zs!Dh zi)0dR{-T-4zy16Z^#f481tG@3MjPs;h=v!lMQctypL!O%&&vL?cjnuJ8HC~K9gpri zUdmK*cYm80)j!Ng@cYkHG5n)3)XL>WEL{O#E$=QUDv4slF(zV-0wZCvjr zliz+R?ttEsv^-j`gvrtO>c{}JQ$cBb$yIcT;5^o@po4VcdRVWBVi=5v$*6}Bdyp~t zbh46R^F%p;^Wys$5Ni=5F2o>@Wv;<`~qF-QOD4m72wS z^(ok3-?N(;Lz_E7u`RhJFkxzC&qR6}*H3vERNFM;ds0isW3ydtic90-vs@YZb03Da zJX0NYe64Nxvc-(T%QhOm#lHLWueke=_IPzRZt~LGay-0hSN-nb75A}%T~<$X$0}kk zy~s{aNl9U;U}~KM1+BIkndOvWCiPkPExCZk4$Bx)_El1^5#2iGQ$f-AETgDYxel7_ zz7txbE?oCl4hvBhFGMn$y;f&?ir(W9=-1iG-6GU1=Y4qQ5@gm^#8^=avt*ri|S84Oq@q{|h+%zZ@!`&*T4xmn(ZN2ciUk2LFeb>*R6wKTk&eC-ZVi&qjeA zdQ>1lgllR1(VJ17c$dcY4vtu574xJR_ML~XpX1g9(IMJ9Dym#~6!?2*#zt=~D&e0& zD^-^@?j`G)KUB>6rFzkao9<_IV+R>?egtR~2umVyte{-&1+dE*46N3PXmlq|xQ@uT zLo0g-!HnnlNTE@mI4w+JfAf@t68|!b6JJLZ7y9?AT$?+%wGdh6rpdR))|a;^dEc|< zA;CV#(h&{*$-{LSy>|Y)J3hsWY;`wuQI65k>pc;T5ebID-jd;(4l+%uy5A2bi?#a5 zdsWU6B0e*F{1F28-Sg}ZL#4@SDIIR6S5{Gd{T)eO>ZMzc=a})KADxYEi58~0^C3XV zAA1D&62po%okg?J?zhU^$-L#X^Uxbt+pC^tyNq(>jI}fp+gQb+)YwTapN$U_EX*S} zmOG~S8Vx5h3`xqtlo5fw(1*!z#<#okZ;2kOAKH98K$4=!`??@HrsnSloKT!unlJ)U)nLbx1|E$N7Z|o z(m1Ztb;f;5WGlUb;AD_S_!LosCf_9YXtNt7J0kId#!YaZlv z_?y_hSJ#MBTsO<|xUNC%Q(1KKj^GC#uw!4}diLWb`mW}psQtZzxz!!&Rfbz&k`%}? z8GR*VZv}c-!<<+Rp|hTkfSx=-As;b3&8PQswym+KhJP< zACv3WC4=*{DfF`ZW2&|5n8E<2YVlfY7}MqJcg zz3L)eD_f0>eN-lD@gcI-6>YgD54N?&cn&1RS!OouzH{|d=andY!H$yHB>oMhjT%hT z_A~d*&o)NsxPq>j?iwC0y4A!U0q%C2A3DfE~k#ae|YaEWn1Dkk zwfFSRLUrDFG>JwwsZ-ckCYxaPJpH4rDew8|fugda7kB*R2`A`*EX!tfZTAYCRY5_^ z$vI`>*?z)XNo_sgEc zHq~;qQ(?sxFd28=}vF{8avi<|W!g*;ii?ePzH`+~7G?|24{ zamPEZC#Y|>J+n*|f!>3jiZ}%F!@x4E^W<13qgOH*w-3rNiop>QreZbY>a*5N!&A z=)kS*9Yz4bJQjs?o7lO^(^s69@eSPJjPL9ieC=#uRKF=$m`cck|(gptyM(yt{gPhAL_t9(<=dB(6y$b5|Z$9;-^$tzfYoK zJm(psCylX2eIg{G@C#Y2XJsk!ig-&aK6D^Ph91ws3Ni`3B$-Rhp&Yt*=}b+9Ne#<( zX~Bg$Shec7?)5Q;emSz>#E&N{9d{dxFL=DZ_KhVup}9Cy-?pjj-ekLGUgk)6oU+8S z*S#MfroBmdT6s9HYr5%%kNuSBK4^Z|>G(qb-5L%~csvU3@8OstZ+$&L-h)*-fMSHL z$w4NQXk7$!Gy4^;lh89W`jRst6VSydoQV$DPEPIJ@l%Go!dg^t6*Fo@e5xDcCC6GpcNeugd z@T`JuU##%izT{?>jwuUVKjb;v-mz8a}_PPAd6SpIk)3!{psXPvTF_`V4(>9aAomBZs{-I5@rQ zNZPiil`o3#vAU;cvq|2J#t8n)d4sNt$C~g3tQuM%aV6fxUYzd>b)wu=gcV(sGfldx zZryu%N})QMS$l(Oo{^oaAltQ4>+(9&)G=aE%v(Ebdi_zYKZux`>*wfY49n<30=;+* z9F~TF7HR>twlPHUxdV-(D37(^7t(i-QyQx1;wXvpNsCo8aVsG?Q~ULmY~fz&$(Mm` z#KrBk{9O0i?iDN_dCh7qGphSjG~1+2XZL&ZPetq@m@T6e7KLKV_wiJEi%Y`lYiWV! zbbhRhT*!N};O3i0J$EE^Sd&X2XU{N%^IB;>ai&TBvFHI^<+arQY&8pcKTf}X-?p`P zF2o&=P+ecYHT_!IBDN97?bC~dpQ{WWZu$IC-pKT2)tV~_Pn#1;_U9A3iEcK1)RGX5 z$nCf9_s_~|g@>EpqcruK)@FE+=<&8&MLPz8-n9DTw>mFZe3SgMN&TDMPw734v&sj( zu=@3qqT@deI75YMPd)NMohaH)T?U`!54?YfL+tP4?ti{4@Lh}iItf4k4UXhg?bgXs z#j4O$;RmQPaT0!?jSaAezXu2=jMkNi!DJm&9tm>lf19lPWBJJ${_ob6lA@6F$dqt7 zwGzi|_~J4N9gj!i>M4yO*>>9#3TjoH)b{$hV_!xUJ8)lvTy4Ud;N_&4Y;geZ&SOPfn0KgyZFn8(-bpwD@SrQ8pEH^Yog1MvfK z+3+Rht;Rq#bBHR5V|}Iw^#hN;zkQL+hy^@10$c7VIW{6V@%sNE?>(cMO8IC7`qjp^Tu?L4ptx zM5HGQVM~hl@qh0B-gVD!UYr+qt@Gl%0ag}kCwu2<-_Q3`_~c1M?4Ch}H#EWk=Ml2f z%v#&sS3MFf(Wy{(%jO^Jr1!m>o z6GzRgH5E1+;p*APtXqE6%l)f?*NJt5-uLn>5t_;!E?E2<%_S;fS937P z)wajyL(hP(lF*U#8;D`uLev!8ffdUAEq;UXlcUGVL$C`t=2~}b=*hrC<$Egz4MxS9 zZdFxv@!#wQ{(9BF=u@K<;r@2$E2hBTHR*Qqb>kiddx!pz1tg}T&mcisN87G%exX`? z%;|3D(e+Y)KC@aGsk z%$O*&*viXfYLT=-at0dg>OPd%CIh}rGg^J-ib3f+e<4??jVgU%xZwzQVV_RJ1rBD% z*i5c^MU~6YHz(dml+U2qGdd$Hj*O2`MN+k^e`-b#a z>4_QSB_}__ZfDtBRLAqvPG*(v1tF^rk#(T?{N~GuXaYQAz_*@Yj0OwThediEG!pK| ziVGlLZEU@^4uL~%lX0DP1EJ?38#9iU?}c%E#MzX|)@Ze+eyUPnDre#Hsw>Z=L)E2& zBR0Xt4CD_y zpDEV~f8V_ESLM1tj?uoZ6PH`buOxFvANqHmRY5YGLC;+LU za=z_ejLObV!Po0I+tDhD-sDQSh%ZB`M=YwwfBcS44l8ugU4(OY@iv5Y;_D1%;o526^M-XL2o67yY!O0CsC@z zGUDZFu5Th;3=&!F?RmFcW{jKm@)k3B9QF4@klf5y4}Ya-bK6fm0bM3D=A07<;}(O8 zwpk55K}92=iDKk>g5j|cA#Ou-FGXs>zyUp3#EiUjE#zVO%Aa*{cKoHA<>elJx*~b* z$nw~6>asAqGzs65l|vuDS^6e2Fbj3J!D?!#i*InCoqlqk;=Pn5-BC2oJe1s z3;B`35x+f4GfpB)L~+m8`F2qEKpSRq_q`klHTU207Yrd214FGEJb4W4B^nX$RNJ>X zmadIb@b^&6Lhi5!*~zM3px$)i(!ypQinF?4$g|;+UnAn{?0{{bM2C39m4~}`wX;3& zclsdJ)ieO>kYN?%NBv@Qi-phH^ekc8FKa00(sOJjCP20PL&W_8*T=Ib41X(FYB_V( z5n+2}Ibc8Q+sV%AeP`1+TaVh7wx0fb`$P(;Q9RHiOA;yDO%xuj zT`>&(D}+}KFnAZvt3N+@mLM%UX=JpZTU16;<8Pen2r7N}SG)t}G|#B)0bKiMh454j znM*~U9B8mbE-p-Uf0$ofGE2y&RgPkU1^Akj(7%J$9Na6Ije_8zam zcTggsoe&GjGQ21(G#Aqng>f2aFy*5KB$&=cZ-H9uIdk<3@~5l##!R;S#}6}-gS_!P zKQoh<8@ZDXHNy?&#Umf{XEqEO*VHQOb>U_y;9M3dE|h3Qe*l(+-6I6S4Y;-mx~Hzg zBi~&{D$OnhW^{9taGYAQ2+M27DBEw-V+LkMA5LiQC1#$%+DGDd4$$peU)09F`ztAG zTi1Hb_NN{RjZ&4i)(bCRS#_FKh6n1$2jDK!>zf`E54p`9J5$2AzF{<-`Zo0psdMP8 zL+Pl^2o{&J(hVO2t)XL_9Q;MFvrF_vwml?E&ceCVJu3@{i(-m}!AxCKLfMRQ@J0VD z$I>DXqP}XqjE!ScZSMQE&e;RyI)Rrmwocl5dMiVGd6Y;FAxRhp;eD+lP{(~f(WotW z3g$ZyDx3URhi9{bUBtyrhlwb_Kgobg9s2*`Gj56GCw+Jzo^tmbD?D2o9&XLZ+LRf< zZR7hC6iLe%J2m!@a8F(Q{R)}II3Uzq7|JUdhmb$Bl;)j2Xte@vE;|bWv5;Ly}zX#uvk;nD9m@t?hD zom))9`_#{0*GvG@X&Nvl1h+Xj**OnY_$gnt!{Yb8YA{`TM9PJv-7xtX8!mFHuFeQR z|4}_;X2V%Ha=fo_Ffc{ia3C~N=x)*dUTF39*?|wpb^@$v11wDV@)yNav*4$aafc@} z$g0{7lyX7GjTHuBrq>cL)a};C`kAOFg$EPxig{cpHh2WRdh-26VM2fLmlZer0gL2*t?@z89PZ)Q^!Mag7Iwr<#tMq)$ur6rDZTSI${D%Xm3+z+F?*S9NY5uo zzEP50JX6cF3H5yLw>ne_BC$Lp@rRs^GQ;}bY;2XY`L9}&;Cx@S0hZ@=3B2Ls6X=`B zP1UAs8Im51e^wMHLOz*Q*Whc$FNQSg=xWvrkKl6;4bmIKW;VWi`_)QqDDRNbgF2Rr zRe-llW3@*k&SW9Hb2Moz+t!Gd=Vz2!Gh>uGyJ}t#sq2+mS?4%o>JNTle7&Rp0ZdrS ze=D>8_X^y8;X?mQ9{#v5?*EIa0E>Nq5^9`;o_7I-*_n!s9P}r@j34VhIH1JGew&E2~YYVh{2KRFR~0|F=4 zvBu#RTwGm)2^1f)wXGwL`eab+Mkt1->>G}Fcil_&CkSga{Z$zW?Lb#ldLlt{Zx9fr%rz`TLu-iu)Dj zZ}u~KvL#zqz)Dgpz75TfH0^?BVx?9qB=5Z8VWKOv{wCQG6 zc~~HFFTOn?NIji6+w}k)<}iRiznEEKJI-RwNFEFWhmGCZ{6N$lh-Zsrm47x(zwHdi z6%aK!`|rvA9V@`yRYwE2U#_(Gu{T~kJGg}RELMMC-tSV0?-|uAA|I%E0$Gg^IJZzn zGzIScv|!^Tv(QOovW0e4yhBR!B>84Nr8tH06rnc^>(r{{Tt1;Y>8BHs7l!VM)h--KX0X#!i=Td3Iz zu+xF@22px~)||Z%DaeMeb7cs206qF?FR0R7P8{&~IIE=R>hcA*m9YF{9i7YdBb*&}%wUgkQOQKWY=X26#UgkU*z=r!_=CysR?UcJLuezv# zA^oFQ0tSJE(}wteM6z;#q5bCl>>_526l5?}^z> z+I`?$>a8E^t^{fctECM|OeSPM$NJmW!OD=gw&^5pSyjI>9r{SoN;Z~*K z(=D*t`D0n44d8i!uc4WV1b-1C$=gLz;wJ$H$Qu-T`s#zCD=dHaZbVCWBJ1WKPe>+% zq1c238Uik#J>ALJPO^FK&h{|KnB%xZZN_rr7yWR(Vkl|zf-?`%j;k16aNrjSqK0XP z(uAF&ZEz76A@u>z-&$QiX4hpo=sMXfG3ZZpOdYY|I{X5vs2TY``CSU-MSccXlYc?Z z8G>>0jSsa!NJ$H&5}DL=EXNU(kb6*^(`5!;xU6o(Wu<#K@2>f!1Own)ddpbYY1JzNh4T0eNs4-33Q4rC#Qe}(3**Z|# zZCA27L-iih>>OY;P(12ZT*V1iq~J*e5J{ipDJ|e85Fawz(8>*Zh0%RTxoYjPU}o<6 z>$#TlmTL6(fO!_~l!UbhTF6Q1t${1ZO+@^Kx|%_fm3LwHzVuhAr+fAcMYq%R&!k;< z%R5kPlV$7>Y&E8(y_l1e)w8@aPjjDQcEVJ8R#=$h`%zPad4L!xMza~!jCRDxW?-^R zS&#-ykiXG%g>I&odt?W0`=RK4?|A*KMi3(4w^y01(T8~}1Gw!?8f4jzL>D<3j5C<4 zg6KzjyiXDBG(RXPxWJ~se}jfr=i#Ks`2&};&p6b2(e^(pU#q!qXQy{9y!u?=n>Qnb z{Bwj)*%tlJ7i04dBMDj2wR_S^8>7-6%8$({QUG(?xB!Ly#!YZVOQ{mff z*MR##+Wgl?3+^s?8an(njg`V3L2^W&<6Qu!K+Q(Mu|1&`08YEo<&OIONj>U$(#&4R!( z)g->(v^AOyDWd;^SoUY?U?nbk!#m!zWCtzLL#v^d!qH5eLNIrrq5e`1w8W5J{pV zd(TMAC037Ue_d|6n`VU|T@`&f*L zV+y{HbbsKsYumltw)eoLx$`tLbTzQj(0yD|bf)>3i*;XY1IU^0bsgHX>+PSVP6du> z_^*zEI*tYl8@07-7dwY-4XL$F)2o>PiU{Ul#5 z1t9uVI`p_hq(GL)d;@UhP2pibTy;eBP$enQgwjTqA|1Anfo@9kKAtecJSEn-c3K}t&#=GpUq3NfRJY{KpN@e3Vq0aqB%pfu(oo>LM|aHB6@{1i8V6dibH z%qf4OiHVWs+eqZd@WpVCqcw*gW^*x2#yoDG3|m^>+mKZYE?!+TUn$%_mtQ%r{q&Gs zJHt~kPfP3(VKk|F?OU+9SH=T8cKl66LqO<-GsFuEUgdcUc_mel!mBWcMX0E4x}AKx zE;MKS>2p9X#d}`z3^1QsSYRhNpa^(BKfHW*aA<1Ok2H zk=BUzm*6q;Vu{$+z+rWr9?G9t@7I7qO8&U?3z0P#uOb!c%{N6`Cvhr(its1v5f8f4 zV9R|_NExv`6#I;X&hwaMUoxif`jj9qA#TK?TR^G&_+8yMTX4MwSe#IS16fr8VDN2tO-df?elB*TRQ7gdXW&}v5}Xzy{ka29ZQPmniSAqar&Ha^ zgDBO5+8*eQ+3b3Ed5rkMf%4599CHlKF=pa^5gqQM1KJcQvw55EETguJ5Hq=md!Yzr z;xw+NCuAZdn|NrOz&_1F5#UOZX`QKmv$YFd}2i=X8uSJrF zC7yRB+kUKDV2clGjh$c#J_<7tT5hS?} z){MY3-1By`_*O3Q6NL zJ$OR(XoA~p9VMZ#s=vYPojTRK^vYU;k;)x(G}H`0Pu`g>%xJ%$8yAO@GJFFLE+ayL zk7O7o@YbUA&jlC2b6lAfk)Fs7jwzH5-Ww5#p- z;Tlabe3k%8+zc#|k|^5%MFGdd&EKPucJks9%gu~8lPwHIe~Gip>E_m>rx>rQUho(( ziw#)rQ4MGt9Ju6GS9>KS)WJl?zBMZ*Yj*!viMhHe?s+q3Ty`1a{8yTB`vG5eQyWTvgyxq>ya~YJddTx zjjJu>b?%ZL74(e|M3S+(a=#axo+r{BTxksFtdQg1;`sUrEm@Si%i<&0Y&*YoDF^7% z*S#wre5!P?agH4~cU^{?`9&PmJlN75?789X?7Lu7ci{<7*7ePYqIMD4*vcLQZTm6& z>Ds>K>|-ceLHz!@0YmBMI@Ewk)S>cEC0A{gp*zrR3eTAhA6qYoR=0#)1y*iu$_vsRo@1NJ=C-Xr?w1spiV-tj*mIWb6<8Ggy>+i#q!x z@7xLJBJ1mQ^jw(^c2C(<{;>b)&w>65=hB=+6^Ycq&LykT#xkLYd8BDy zp2xMyso=uz-k+xwm)KUc2a<>P-^sMdw1aB=U^|bWdxMs9oA1|&Pz{-Pa74Kj$=s>+>?=dKOiK^%wM7gJ9F^t1C=KY z-5oJI;rg@vfv3)~a@IGyX0`KXcbqh5OSWDBM~w|)&{p{i^`V1{yTObq&Ny959eei^gV*WjIlG zOLhs&EagEcnWBu9009rr3B@X!1laCoAihcEv$^c#m25T=uCj!EIRU|KFNhi~O9m?F zSOWtir(xuXx&p{gCgc+>nK;%to4rG>?)mBggVT?fYSwR<;TD}Odopv0o@BLee)Omel9m;NAHs_lQDwT+C5xy8=SIjN#EX^mW%^(mNMFKkIqPeP{yU@~lXS)B`SJ z=LgX)9{bi(v|)6!x(Y+ZIKIJ?f6le3Cj`1tc}VtSQw}e#BizW9x^&m@z`~-At{1H1 zd5P+$M;(iqcnRZuOJ~(J>m-YK(Z^8W!pIOQg2$N6V{(wq7+KLK9(g{8*CM0)?GN}2 zhoKPtR)ugo#NAF!X8zN#NB8+5mrb=)>Bh^Wzyzw|`K(gJ(9`F02sq4AC1MKM$YkyNV(#{#Bb=!;4F3K!MgEsH(ef znH|rEY0XV~J#Y& z#fTy|cwo74nLbX&%A4zWN%&4-!{ul!htXz&yMQrpUok(l)CSjX1|McC8idcUa;oiCE?LeicZ65m|ND_IVecQ9A+16}d`S;u^n znCDXO%pUF3ePkVnS=QIxjh{gh*-25+reer9;@YS(D+rB&(8( zU+UD!MX!x9Q6>JYG{KNc)MM>$_QByn+w_v%2b}q!6qHQ?KTb|VBKveejq;?mL9n)x zNGVuw1KfA+Ox9+mJz@)Tq+bx;+m=yWDnj;{1qV;!0Z?D}-qXD46+mm05!;Br&8;~- z*wc)TC21mK=R=~jPg|C;p#c02KVz2Ta%H01thM29#m5;Dfg#i0Q@b2$#=E?uSk@Pg z>^Au8KG9m5!T$cNtBvWth3w3<*Fj3%ZPDIHlC09W-9zu(rGXJ z8(5-mV0b(6Iq+r1F1py$(!vzC4WUfg4%GaxeXGR*;b~qo9}%;ODj?6JUVKOM?)&9B zvzq!pzxfoE8!+P?^r^K&R_k2ORxRtYb7}6n&YHTI>MRW2*7j&U-SgnX@4=_jceMwV zJa#wgODTSvi83CEp!O#?7&dmVECRL8D_)T#KAg!G>6jSbf~{oZ0dazoWb1;^i*!Mp($BRgx#42NAjD!E zIlFoCwXZ8E#iltOF=o-87K-Wz`1ku6mEHH=r!pjR+DkPFsM>&PA?Cxx`&e8|>${d@ z!}oT&0a30&)#u^^zouZ{Xlp_l1%vIEuXN;=D_HA1XOCLDR%#`3P*|JC;C|=b6+b-Js?jpdwYgP|+l55P5G6fXzYn!1i7Ui8;Q*cDx=7bUxTKjO5DExk$3BLx2zP-E!{S_dgh?Q@7-PD2fo!_ zDe}p7m#=atJovE8?Mi3SVA>vT*7MmGQi;=<%>7HDUPHoCcjOlxApjAZPXH!MH+-O@ zxgL|isA4B5F5>r9R>L=WlWuq{>Mk&HvkYA;{}S8e?tCW zABg|u;ijJjh4 z!rp2jBPLv3y>|%+Iqo8N(52@HtaEKyYMt1|g6^d1iwl|wF1&#EDJ|1X$zeYAa{^!W zY-sXV!EjsM{)(cxA@u9b^EjbyG>a`OvVAIw7C%ILkyWC5S(p}zs;k~((cXb3O_Cna zZBPSNB6T!cS(oly$y%=SADf97?1&>wy{dZP)o)F|6k0egPFWJrUNd+eWEf@KN=Z2DfB$o<}L;<|y)X6BtY35oDgEuYk&1@bwtm<2;>3H7pgjmu(?qCm;yEW0F3A1(Q zu>Lg}t4C}L$3KkU)#ZFI1vCxbs6<)=G#c8)1&yKM}etARx_mKopiQX>+;`{ zzJtp%E%~lFbiX$*N9g$%a_g(fR+EkJfgb8VV?|o$Qi7V^?TajEs2jys3I7o{0q&i& zgb7tDb)Z?1pbO;n5-nq<6dBBMP+YWBAr^7ftM4Uf;7E1gQfEdOnw zh}^1mK1mZRmzreKcRJx#pKN-6lpD*o_T8>}!_c;bvboE9o=newK_{oV<>${&9jNa6 z@+{l$${4E$1W92=MqAOl&764{;4HxKL&fFF!)N#%PQ1aK;Z|}S=*tDe(@YB$zO<6d z{4!gXp8m{j>+cr>7q13<9-+db&(L0IdtQM5)Y;G@ZI-G};NCURc#_!_iK7%@t zFF^{noV0lQOf$P|28pov6?Sf|`~aWvJY`uGB{iZWYw@ zv5C;x+}=WZf=j5 zX~oo&T*!UwciGq58|6beVjsp`2p@W*+x1jjBRVJsAcQX?*#ZrB@Txe-w(d>9<>ICg zO-#V>irSHY^?n|^VA-r9DDoN3sByh_UUBsgGh>$f)KI4RN^TBUP1B9{{%H`ND}!+A zKO|mcbWIE7!8$iV2e1JK6zu1k+0~Th?hm&GPcmJ413iFK`OX20-NX{}^<3y?sA=i- z2FwIO;SN2$@WoKdxOTR~@ux3=0gljIvo$LM1W3&oC8PUC5T}C zID;C1GQXNyxeSWEL^OfMIybp_{+`ef?gzAEwD2f}6~Dx(#?xRnho0G54EWfwqnw4u zO8RhW+qha?0%y22h^tMLw!ZJ5MT=upRli{~EAT4R+^0d|1nDt?>AA=)jg5m}Ep73W*~ zVC@O4noa8tm+FoauLeU)lQbO$-Ze_{p5ZfwmI~dXK})h(6D%F&0Eh>XFc96RnD5+f zvYHTmK(q(u(At3oN(|lIV+qUOobXPP7Zi?a(=l3gt`Bd3^Elb>Y)%hSX>{oViv!gS zLuSWHajxYR+bat2+bBC{1|Ij_;WEN8S^A;sOXG=;JqsVy|3Ce^zZ0=(UgEWkpwmq( zTP^d@jQFlV-)E9-urR0VVP!62Q!TTI=iH8#A8QWcWwvWg zF8$QAy{_OJ)$UaM`ak-2@@{^5T})p^edo zjyp2i{SzRB*-U+=f&O!1LHzlFk-f=(dWSsNRa(3)|CS8&P*b#9nXkzKlvI#MFx-Yn zL`pSWC;%zv-K|S8j4E1UgBrI{F4!WQ`Xz$$n*D15bzon{G3w{zfkUe`N#a=wA^+o*iv7g!7ON#kGS^$wl_8hv7- zD2g{SWJcDOprIGl4C8Q7giUft>5Z0_SarJHH>OD%=be({g>%m*9+&0$Sz>E)hOO`} zt$GjdIZ^F$4h(;K{L%HXA4|%~nJ|`Ko`S~`qPmyR62<8j%9<7%0r9GNV9Xu@E6{&b zlt3}YfVB}KRgRKKURvPM4;F%*VroA8kCIw{81weyb_hTK$#t*mM zQ15SwloFRL+6(^eg|5iY|I*=Furoj(7$YE+cI$>)?#>HrmMWeZr*j||!RDbgF~vsK%NFI-TH@ffn3wP2Z)8uPK4UgOhi(e5H&*u044 zj$?x+UVyi!H^FdhYHB!{qz9UK_yARhpx|J$x@T4!cAOv|>Oa}FJ1EbzvLpq)3(PD) z^TP?$#8k+?`!1z&Dz+$+H$FSu?!bXYgn;D-y0d0V!ath{YK>{#&$`VU({iQx+bhbc zFb@+;vR*PySXS)yt!}L52bM^rDn+(@wn$|oVS=`S*wt<+k&-tm0LV#Z49Sv9m|udu z_f|=IB+Y#&LtI4^O`>8wH_z}FYCiby9^NO1+AhKrM(~?B2SCnv9BWz-A zKqXRkni)@&0_TMfGczT)FDlV_!GIKWx_|k5U>Wz-z@F+`moBHewMmUtqx7yk=&fc> z!3PKCI*&dY{1m@BsMRlUeDC(LQnGKrwPvW19+VRQp~3xFZ^Ba*(pP-?`y+y^0({3r zRpcuEnIBLXTPaL~lzR&`@b{J`z&GNArPAPzwg_J)Fyz1DAzQ&WZbixatLyXMGXkE> z^!WAqOAhfJpTCPN#}Ch~do@6qlHFUYf3&u?rsiS*cUg)zRzAN-%cGaqk76U-RxZq! zmo1bu&I@t&YyZR3`hQ9h1^hlRigfDX)2(lkB6j4^W)mb^ z9sz<`z8GLh^LJ;Uwd+Hr-+}Vvb_4Wj67oU{_e389AzzCslIM(xdz7#7m=6TWKgpRO zIV{IN^Dg`A3Er?caTc0+e0`4BElRAQ2moO7$`4t59>l}$i2CPWG)?QAzup8Q5S(Nv zV!D|;QX~j~f9I{XtFUiNG(=}%aDR#DH`=ZY;gNbk3rP07{h1DJIQ^W&xLMo zSm&g@vvxup2dJrDXNAo_Vm`beAYR|Qa4_k3c+FSnTJ2jg_#SSdz=p$Q*C1Lk@e~<` zCpf8SaF77A!V4LS9;_?siZF%Ob*jIAk`Ozer^hs^;w!dXuO@FHcDI;pEXusjMXC7L z#oaM%l()NmX1KwooLD)3m%M6<>s}J6c7QK_FixN-P7Yz*!^x72)hR+-Nq?9thAfKO z|J18uE_VxWw*Xjr!J)i{hTej4%D&k2P%vmQ3Dv8~tj{Q=xz#MA{91cX)WMTc2@>gF zgt}0(1LP-0Pbl64SDyxj4SR%6G7sh-lNk7eZ&zLv#A_B=5z5*ocJidK{vPXiz6mRH z%)F-TN#nE=HApW>UsBqb0bKhSH(2Vq`#_}0&ikZYSV&DC7^8lzn6HX}iZbN6QWJxZQYHXI9{l-n|T z?0bICeqC&EK>JYb?Ur+XP94|kwXSs_F4QXT?RQxA8?(Tgw^kgDk6(UK>x|F3P&{H- z=NC3tENtT^NVbC$`7L{ra{K}qHh9!_(uu)^+jm1Sx0{stl-3!-xY=h@%nl;{kC(g? z^5hizB?Xt``;Xf`+&w&53&sL$x;jxv-nbAq-z?M=o#c-{A$`y>v*Fja0e4YC-ss6! zTcgd6OuVwtn2i|Bd(r9gjtlJM%uZF>8&*H1&VBy`w+R*g%LMn9zzIEh#bNj8Eb;?t9_)}Ce%_>t$Po^jSV}}oTOe@~(8foQaD~iL7~7$e z+0h-Jx#mdy#U~kK(cf&L#k-JZ5|iHP;92@5q9&CPneXqk>gqu&bj7hgy0-P3CPsFmKCHJ9jr{>*<06w(UW~IW8kL`9-0h(;JmV z4<)?-O2Ua0Y$jnw|1u__NkyC^(j)Clsz%&UM^y3NeQg=JXh&RXGq%u&$=>0+eWzdb znql+us}$3)t$m}K z=NID_?3p^Mq@F8HwfnKo>4D}=Ij-7Sd>4MsDXUYUyr7w-1WazxtSW&Vcs$NfGa9fR zx>=fn`+)L%se9zQF0iE7&&S;r>7kRGl;B|Qq1tGZ0P|&9oa-Nra8dv_n@q=#n+}*A zdxm}cP1&ONxpmt;O*GR6m^?_NxAK9}kV?4lbt@|;CGQw26WbVs9!27Ko@rdMQb~rQS!KRGhs^?80R7r;#`Lvi2g4{>a zF*x;7p`V92&vRCA#sh(X>+Smt-Tj%ThO1Z7FAo^NbnSari(~@AYK9-UxiY_8_`0&& z-S(wrimqeN=jkbD`1<^-lo3;ZYU!A;hq3p1!TawQrnSk#eZ{JO4oK9V=hRca>Rb;aT-o1+ig@}=9d%se#XTeMF$oZ;kLYe8(s zx%#Q=@pAJ*cvOgD#=sGGD~$ zJqobc508I7Jn`%4H;CI~mNz=>Qtxls`&T@enX)0#edy)CB%1&`Fk!M=;;Bs&YO8^& zE)VSVe&3kf8mWbJGBQ^Q~inpA^P2y$5G5dpb2}?CMW^9B{Pr zo8P{CFTvTsr4sl4V?i%jh6hYS@;^-(75W|3*0fAn#tj)zz4=c>UL#^q!j9 zd{2a$br=)XO$We$auX>5=^6pp1K7ky?;%ovFowa=1^gsztA!rlBfT6hb7|g}d8hj1 ze0BF$_t6i;;FhfOtCn^zuye0j;w~5n}eypRM0kfl8#9&N|-EpNtOKH(p@Iom1JJN8K z@`18&M(7j$79e_<+a%LTHjBXRh_g^2;@fgjy=DkbSB~FeAj&W)9NSb=jlR?u@&RRN zpLE2s=B3GSd?=BMbmWcS4hSxp9abFr5{t>7N6i~zrFG8PH&zc+zq9LO{aEKXa8>tG z!wbfXh8SHP)YbBZar?+p`_k(gxvbAy_r?;vY%hmdJE1=*2_vFeIJ%~2r~PD81;2Ze zGgPj-3sXpxf1Tx+Q)W3qj*;vzmN74iF;gpeU-^B9)`$hI^ka2h$6fkwYZB-}eF z+$-0hYS;NP&VjGz($kMMj`mM}Nh_z0+BXI=>LWk^N^swQpYZ=bza?9s2>|MRKZf|Q zD*1<;%vdptWi-zI>&w=l18eVAFKPaU6rU(3y4eEWU7`*A1)BMS>>vKutl|H1Q24iO zVzv+Z>tSHq;G+#Z72d*G5VJ_K1t3fZKyfqqUwKH{Uza5Rkv6;{_pjN+_4-TScl`y; zACU$H$HXbgRwx#iihhWL4c1E>Ed^kKs??aki81?WOA(A)$bWmeX?+{+yG|8qjh_k4 zZrUw$1iZNi4#>6dI522_N~%O(R{xDwiHHN*`&Fb5n5cnZDF5NJc^jj`X5mzPlsfLF z(nh0$QCc{F$AmQhQ z+D)ewmX*(f!$SM_Z>YM|AM1|%1CD|XoG4Ih6v;{&2Arp-7c9X$od%ybTGA25sw9Pp zpG%akc2I+u0;JI+6=DfN!rb)-3%0AgN$M>@sG5s@2=r9Iw*4H{}3~}IYms= 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 #include - #include - + #include + #include "hilog/log.h" #include "neural_network_runtime/neural_network_runtime.h" + ``` + +3. 定义日志打印、设置输入数据、数据打印等辅助函数。 - // 常量,用于指定输入、输出数据的字节长度 - const size_t DATA_LENGTH = 4 * 12; + ```cpp + #define LOG_DOMAIN 0xD002101 + #define LOG_TAG "NNRt" + #define LOGD(...) OH_LOG_DEBUG(LOG_APP, __VA_ARGS__) + #define LOGI(...) OH_LOG_INFO(LOG_APP, __VA_ARGS__) + #define LOGW(...) OH_LOG_WARN(LOG_APP, __VA_ARGS__) + #define LOGE(...) OH_LOG_ERROR(LOG_APP, __VA_ARGS__) + #define LOGF(...) OH_LOG_FATAL(LOG_APP, __VA_ARGS__) + + // 返回值检查宏 + #define CHECKNEQ(realRet, expectRet, retValue, ...) \ + do { \ + if ((realRet) != (expectRet)) { \ + printf(__VA_ARGS__); \ + return (retValue); \ + } \ + } while (0) + + #define CHECKEQ(realRet, expectRet, retValue, ...) \ + do { \ + if ((realRet) == (expectRet)) { \ + printf(__VA_ARGS__); \ + return (retValue); \ + } \ + } while (0) + + // 设置输入数据用于推理 + OH_NN_ReturnCode SetInputData(NN_Tensor* inputTensor[], size_t inputSize) + { + OH_NN_DataType dataType(OH_NN_FLOAT32); + OH_NN_ReturnCode ret{OH_NN_FAILED}; + size_t elementCount = 0; + for (size_t i = 0; i < inputSize; ++i) { + // 获取张量的数据内存 + auto data = OH_NNTensor_GetDataBuffer(inputTensor[i]); + CHECKEQ(data, nullptr, OH_NN_FAILED, "Failed to get data buffer."); + // 获取张量的描述 + auto desc = OH_NNTensor_GetTensorDesc(inputTensor[i]); + CHECKEQ(desc, nullptr, OH_NN_FAILED, "Failed to get desc."); + // 获取张量的数据类型 + ret = OH_NNTensorDesc_GetDataType(desc, &dataType); + CHECKNEQ(ret, OH_NN_SUCCESS, OH_NN_FAILED, "Failed to get data type."); + // 获取张量的元素个数 + ret = OH_NNTensorDesc_GetElementCount(desc, &elementCount); + CHECKNEQ(ret, OH_NN_SUCCESS, OH_NN_FAILED, "Failed to get element count."); + switch(dataType) { + case OH_NN_FLOAT32: { + float* floatValue = reinterpret_cast(data); + for (size_t j = 0; j < elementCount; ++j) { + floatValue[j] = static_cast(j); + } + break; + } + case OH_NN_INT32: { + int* intValue = reinterpret_cast(data); + for (size_t j = 0; j < elementCount; ++j) { + intValue[j] = static_cast(j); + } + break; + } + default: + return OH_NN_FAILED; + } + } + return OH_NN_SUCCESS; + } + + OH_NN_ReturnCode Print(NN_Tensor* outputTensor[], size_t outputSize) + { + OH_NN_DataType dataType(OH_NN_FLOAT32); + OH_NN_ReturnCode ret{OH_NN_FAILED}; + size_t elementCount = 0; + for (size_t i = 0; i < outputSize; ++i) { + auto data = OH_NNTensor_GetDataBuffer(outputTensor[i]); + CHECKEQ(data, nullptr, OH_NN_FAILED, "Failed to get data buffer."); + auto desc = OH_NNTensor_GetTensorDesc(outputTensor[i]); + CHECKEQ(desc, nullptr, OH_NN_FAILED, "Failed to get desc."); + ret = OH_NNTensorDesc_GetDataType(desc, &dataType); + CHECKNEQ(ret, OH_NN_SUCCESS, OH_NN_FAILED, "Failed to get data type."); + ret = OH_NNTensorDesc_GetElementCount(desc, &elementCount); + CHECKNEQ(ret, OH_NN_SUCCESS, OH_NN_FAILED, "Failed to get element count."); + switch(dataType) { + case OH_NN_FLOAT32: { + float* floatValue = reinterpret_cast(data); + for (size_t j = 0; j < elementCount; ++j) { + std::cout << "Output index: " << j << ", value is: " << floatValue[j] << "." << std::endl; + } + break; + } + case OH_NN_INT32: { + int* intValue = reinterpret_cast(data); + for (size_t j = 0; j < elementCount; ++j) { + std::cout << "Output index: " << j << ", value is: " << intValue[j] << "." << std::endl; + } + break; + } + default: + return OH_NN_FAILED; + } + } + + return OH_NN_SUCCESS; + } ``` -3. 构造模型。 +4. 构造模型。 - 使用Neural Network Runtime接口,构造`Add`单算子样例模型。 + 使用Neural Network Runtime的模型构造接口,构造`Add`单算子样例模型。 ```cpp - OH_NN_ReturnCode BuildModel(OH_NNModel** pModel) + OH_NN_ReturnCode BuildModel(OH_NNModel** pmodel) { - // 创建模型实例,进行模型构造 + // 创建模型实例model,进行模型构造 OH_NNModel* model = OH_NNModel_Construct(); - if (model == nullptr) { - std::cout << "Create model failed." << std::endl; - return OH_NN_MEMORY_ERROR; - } + CHECKEQ(model, nullptr, -1, "Create model failed."); + + // 添加Add算子的第一个输入张量,类型为float32,张量形状为[1, 2, 2, 3] + NN_TensorDesc* tensorDesc = OH_NNTensorDesc_Create(); + CHECKEQ(tensorDesc, nullptr, -1, "Create TensorDesc failed."); - // 添加Add算子的第一个输入Tensor,类型为float32,张量形状为[1, 2, 2, 3] int32_t inputDims[4] = {1, 2, 2, 3}; - OH_NN_Tensor input1 = {OH_NN_FLOAT32, 4, inputDims, nullptr, OH_NN_TENSOR}; - OH_NN_ReturnCode ret = OH_NNModel_AddTensor(model, &input1); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, add Tensor of first input failed." << std::endl; - return ret; - } + returnCode = OH_NNTensorDesc_SetShape(tensorDesc, inputDims, 4); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc shape failed."); - // 添加Add算子的第二个输入Tensor,类型为float32,张量形状为[1, 2, 2, 3] - OH_NN_Tensor input2 = {OH_NN_FLOAT32, 4, inputDims, nullptr, OH_NN_TENSOR}; - ret = OH_NNModel_AddTensor(model, &input2); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, add Tensor of second input failed." << std::endl; - return ret; - } + returnCode = OH_NNTensorDesc_SetDataType(tensorDesc, OH_NN_FLOAT32); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc data type failed."); + + returnCode = OH_NNTensorDesc_SetFormat(tensorDesc, OH_NN_FORMAT_NONE); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc format failed."); + + returnCode = OH_NNModel_AddTensorToModel(model, tensorDesc); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Add first TensorDesc to model failed."); + + returnCode = OH_NNModel_SetTensorType(model, 0, OH_NN_TENSOR); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set model tensor type failed."); + + // 添加Add算子的第二个输入张量,类型为float32,张量形状为[1, 2, 2, 3] + tensorDesc = OH_NNTensorDesc_Create(); + CHECKEQ(tensorDesc, nullptr, -1, "Create TensorDesc failed."); + + returnCode = OH_NNTensorDesc_SetShape(tensorDesc, inputDims, 4); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc shape failed."); + + returnCode = OH_NNTensorDesc_SetDataType(tensorDesc, OH_NN_FLOAT32); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc data type failed."); + + returnCode = OH_NNTensorDesc_SetFormat(tensorDesc, OH_NN_FORMAT_NONE); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc format failed."); + + returnCode = OH_NNModel_AddTensorToModel(model, tensorDesc); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Add second TensorDesc to model failed."); + + returnCode = OH_NNModel_SetTensorType(model, 1, OH_NN_TENSOR); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set model tensor type failed."); + + // 添加Add算子的参数张量,该参数张量用于指定激活函数的类型,张量的数据类型为int8。 + tensorDesc = OH_NNTensorDesc_Create(); + CHECKEQ(tensorDesc, nullptr, -1, "Create TensorDesc failed."); - // 添加Add算子的参数Tensor,该参数Tensor用于指定激活函数的类型,Tensor的数据类型为int8。 int32_t activationDims = 1; + returnCode = OH_NNTensorDesc_SetShape(tensorDesc, &activationDims, 1); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc shape failed."); + + returnCode = OH_NNTensorDesc_SetDataType(tensorDesc, OH_NN_INT8); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc data type failed."); + + returnCode = OH_NNTensorDesc_SetFormat(tensorDesc, OH_NN_FORMAT_NONE); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc format failed."); + + returnCode = OH_NNModel_AddTensorToModel(model, tensorDesc); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Add second TensorDesc to model failed."); + + returnCode = OH_NNModel_SetTensorType(model, 2, OH_NN_ADD_ACTIVATIONTYPE); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set model tensor type failed."); + + // 将激活函数类型设置为OH_NNBACKEND_FUSED_NONE,表示该算子不添加激活函数。 int8_t activationValue = OH_NN_FUSED_NONE; - OH_NN_Tensor activation = {OH_NN_INT8, 1, &activationDims, nullptr, OH_NN_ADD_ACTIVATIONTYPE}; - ret = OH_NNModel_AddTensor(model, &activation); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, add Tensor of activation failed." << std::endl; - return ret; - } + returnCode = OH_NNModel_SetTensorData(model, 2, &activationValue, sizeof(int8_t)); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set model tensor data failed."); - // 将激活函数类型设置为OH_NN_FUSED_NONE,表示该算子不添加激活函数。 - ret = OH_NNModel_SetTensorData(model, 2, &activationValue, sizeof(int8_t)); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, set value of activation failed." << std::endl; - return ret; - } + // 设置Add算子的输出张量,类型为float32,张量形状为[1, 2, 2, 3] + tensorDesc = OH_NNTensorDesc_Create(); + CHECKEQ(tensorDesc, nullptr, -1, "Create TensorDesc failed."); - // 设置Add算子的输出,类型为float32,张量形状为[1, 2, 2, 3] - OH_NN_Tensor output = {OH_NN_FLOAT32, 4, inputDims, nullptr, OH_NN_TENSOR}; - ret = OH_NNModel_AddTensor(model, &output); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, add Tensor of output failed." << std::endl; - return ret; - } + returnCode = OH_NNTensorDesc_SetShape(tensorDesc, inputDims, 4); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc shape failed."); + + returnCode = OH_NNTensorDesc_SetDataType(tensorDesc, OH_NN_FLOAT32); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc data type failed."); + + returnCode = OH_NNTensorDesc_SetFormat(tensorDesc, OH_NN_FORMAT_NONE); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set TensorDesc format failed."); - // 指定Add算子的输入、参数和输出索引 + returnCode = OH_NNModel_AddTensorToModel(model, tensorDesc); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Add forth TensorDesc to model failed."); + + returnCode = OH_NNModel_SetTensorType(model, 3, OH_NN_TENSOR); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Set model tensor type failed."); + + // 指定Add算子的输入张量、参数张量和输出张量的索引 uint32_t inputIndicesValues[2] = {0, 1}; uint32_t paramIndicesValues = 2; uint32_t outputIndicesValues = 3; - OH_NN_UInt32Array paramIndices = {¶mIndicesValues, 1}; - OH_NN_UInt32Array inputIndices = {inputIndicesValues, 2}; - OH_NN_UInt32Array outputIndices = {&outputIndicesValues, 1}; + OH_NN_UInt32Array paramIndices = {¶mIndicesValues, 1 * 4}; + OH_NN_UInt32Array inputIndices = {inputIndicesValues, 2 * 4}; + OH_NN_UInt32Array outputIndices = {&outputIndicesValues, 1 * 4}; // 向模型实例添加Add算子 - ret = OH_NNModel_AddOperation(model, OH_NN_OPS_ADD, ¶mIndices, &inputIndices, &outputIndices); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, add operation failed." << std::endl; - return ret; - } + returnCode = OH_NNModel_AddOperation(model, OH_NN_OPS_ADD, ¶mIndices, &inputIndices, &outputIndices); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Add operation to model failed."); - // 设置模型实例的输入、输出索引 - ret = OH_NNModel_SpecifyInputsAndOutputs(model, &inputIndices, &outputIndices); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, specify inputs and outputs failed." << std::endl; - return ret; - } + // 设置模型实例的输入张量、输出张量的索引 + returnCode = OH_NNModel_SpecifyInputsAndOutputs(model, &inputIndices, &outputIndices); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Specify model inputs and outputs failed."); // 完成模型实例的构建 - ret = OH_NNModel_Finish(model); - if (ret != OH_NN_SUCCESS) { - std::cout << "BuildModel failed, error happened when finishing model construction." << std::endl; - return ret; - } + returnCode = OH_NNModel_Finish(model); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "Build model failed."); - *pModel = model; + // 返回模型实例 + *pmodel = model; return OH_NN_SUCCESS; } ``` -4. 查询Neural Network Runtime已经对接的加速芯片。 +5. 查询Neural Network Runtime已经对接的AI加速芯片。 - Neural Network Runtime支持通过HDI接口,对接多种加速芯片。在执行模型编译前,需要查询当前设备下,Neural Network Runtime已经对接的加速芯片。每个加速芯片对应唯一的ID值,在编译阶段需要通过设备ID,指定模型编译的芯片。 + Neural Network Runtime支持通过HDI接口,对接多种AI加速芯片。在执行模型编译前,需要查询当前设备下,Neural Network Runtime已经对接的AI加速芯片。每个AI加速芯片对应唯一的ID值,在编译阶段需要通过设备ID,指定模型编译的芯片。 ```cpp void GetAvailableDevices(std::vector& availableDevice) { @@ -235,116 +420,140 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 } ``` -5. 在指定的设备上编译模型。 +6. 在指定的设备上编译模型。 - Neural Network Runtime使用抽象的模型表达描述AI模型的拓扑结构,在加速芯片上执行前,需要通过Neural Network Runtime提供的编译模块,将抽象的模型表达下发至芯片驱动层,转换成可以直接推理计算的格式。 + Neural Network Runtime使用抽象的模型表达描述AI模型的拓扑结构。在AI加速芯片上执行前,需要通过Neural Network Runtime提供的编译模块来创建编译实例,并由编译实例将抽象的模型表达下发至芯片驱动层,转换成可以直接推理计算的格式,即模型编译。 ```cpp - OH_NN_ReturnCode CreateCompilation(OH_NNModel* model, const std::vector& availableDevice, OH_NNCompilation** pCompilation) + OH_NN_ReturnCode CreateCompilation(OH_NNModel* model, const std::vector& availableDevice, + OH_NNCompilation** pCompilation) { - // 创建编译实例,用于将模型传递至底层硬件编译 + // 创建编译实例compilation,将构图的模型实例或MSLite传下来的模型实例传入 OH_NNCompilation* compilation = OH_NNCompilation_Construct(model); - if (compilation == nullptr) { - std::cout << "CreateCompilation failed, error happended when creating compilation." << std::endl; - return OH_NN_MEMORY_ERROR; - } + CHECKEQ(compilation, nullptr, -1, "OH_NNCore_ConstructCompilationWithNNModel failed."); // 设置编译的硬件、缓存路径、性能模式、计算优先级、是否开启float16低精度计算等选项 - // 选择在第一个设备上编译模型 - OH_NN_ReturnCode ret = OH_NNCompilation_SetDevice(compilation, availableDevice[0]); - if (ret != OH_NN_SUCCESS) { - std::cout << "CreateCompilation failed, error happened when setting device." << std::endl; - return ret; - } + returnCode = OH_NNCompilation_SetDevice(compilation, availableDevice[0]); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_SetDevice failed."); // 将模型编译结果缓存在/data/local/tmp目录下,版本号指定为1 - ret = OH_NNCompilation_SetCache(compilation, "/data/local/tmp", 1); - if (ret != OH_NN_SUCCESS) { - std::cout << "CreateCompilation failed, error happened when setting cache path." << std::endl; - return ret; - } + returnCode = OH_NNCompilation_SetCache(compilation, "/data/local/tmp", 1); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_SetCache failed."); - // 完成编译设置,进行模型编译 - ret = OH_NNCompilation_Build(compilation); - if (ret != OH_NN_SUCCESS) { - std::cout << "CreateCompilation failed, error happened when building compilation." << std::endl; - return ret; - } + // 设置硬件性能模式 + returnCode = OH_NNCompilation_SetPerformanceMode(compilation, OH_NN_PERFORMANCE_EXTREME); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_SetPerformanceMode failed."); + + // 设置推理执行优先级 + returnCode = OH_NNCompilation_SetPriority(compilation, OH_NN_PRIORITY_HIGH); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_SetPriority failed."); + + // 是否开启FP16计算模式 + returnCode = OH_NNCompilation_EnableFloat16(compilation, false); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_EnableFloat16 failed."); + + // 执行模型编译 + returnCode = OH_NNCompilation_Build(compilation); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNCompilation_Build failed."); *pCompilation = compilation; return OH_NN_SUCCESS; } ``` -6. 创建执行器。 +7. 创建执行器。 - 完成模型编译后,需要调用Neural Network Runtime的执行模块,创建推理执行器。执行阶段,设置模型输入、获取模型输出和触发推理计算的操作均围绕执行器完成。 + 完成模型编译后,需要调用Neural Network Runtime的执行模块,通过编译实例创建执行器。模型推理阶段中的设置模型输入、触发推理计算以及获取模型输出等操作均需要围绕执行器完成。 ```cpp OH_NNExecutor* CreateExecutor(OH_NNCompilation* compilation) { - // 创建执行实例 - OH_NNExecutor* executor = OH_NNExecutor_Construct(compilation); + // 通过编译实例compilation创建执行器executor + OH_NNExecutor *executor = OH_NNExecutor_Construct(compilation); + CHECKEQ(executor, nullptr, -1, "OH_NNExecutor_Construct failed."); return executor; } ``` -7. 执行推理计算,并打印计算结果。 +8. 执行推理计算,并打印推理结果。 - 通过执行模块提供的接口,将推理计算所需要的输入数据传递给执行器,触发执行器完成一次推理计算,获取模型的推理计算结果。 + 通过执行模块提供的接口,将推理计算所需要的输入数据传递给执行器,触发执行器完成一次推理计算,获取模型的推理结果并打印。 ```cpp - OH_NN_ReturnCode Run(OH_NNExecutor* executor) + OH_NN_ReturnCode Run(OH_NNExecutor* executor, const std::vector& availableDevice) { - // 构造示例数据 - float input1[12] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; - float input2[12] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}; - - int32_t inputDims[4] = {1, 2, 2, 3}; - OH_NN_Tensor inputTensor1 = {OH_NN_FLOAT32, 4, inputDims, nullptr, OH_NN_TENSOR}; - OH_NN_Tensor inputTensor2 = {OH_NN_FLOAT32, 4, inputDims, nullptr, OH_NN_TENSOR}; - - // 设置执行的输入 - - // 设置执行的第一个输入,输入数据由input1指定 - OH_NN_ReturnCode ret = OH_NNExecutor_SetInput(executor, 0, &inputTensor1, input1, DATA_LENGTH); - if (ret != OH_NN_SUCCESS) { - std::cout << "Run failed, error happened when setting first input." << std::endl; - return ret; + // 从executor获取输入输出信息 + // 获取输入张量的个数 + size_t inputCount = 0; + returnCode = OH_NNExecutor_GetInputCount(executor, &inputCount); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNExecutor_GetInputCount failed."); + std::vector inputTensorDescs; + NN_TensorDesc* tensorDescTmp = nullptr; + for (size_t i = 0; i < inputCount; ++i) { + // 创建输入张量的描述 + tensorDescTmp = OH_NNExecutor_CreateInputTensorDesc(executor, i); + CHECKEQ(tensorDescTmp, nullptr, -1, "OH_NNExecutor_CreateInputTensorDesc failed."); + inputTensorDescs.emplace_back(tensorDescTmp); } - - // 设置执行的第二个输入,输入数据由input2指定 - ret = OH_NNExecutor_SetInput(executor, 1, &inputTensor2, input2, DATA_LENGTH); - if (ret != OH_NN_SUCCESS) { - std::cout << "Run failed, error happened when setting second input." << std::endl; - return ret; + // 获取输出张量的个数 + size_t outputCount = 0; + returnCode = OH_NNExecutor_GetOutputCount(executor, &outputCount); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNExecutor_GetOutputCount failed."); + std::vector outputTensorDescs; + for (size_t i = 0; i < outputCount; ++i) { + // 创建输出张量的描述 + tensorDescTmp = OH_NNExecutor_CreateOutputTensorDesc(executor, i); + CHECKEQ(tensorDescTmp, nullptr, -1, "OH_NNExecutor_CreateOutputTensorDesc failed."); + outputTensorDescs.emplace_back(tensorDescTmp); } - // 设置输出的数据缓冲区,OH_NNExecutor_Run执行计算后,输出结果将保留在output中 - float output[12]; - ret = OH_NNExecutor_SetOutput(executor, 0, output, DATA_LENGTH); - if (ret != OH_NN_SUCCESS) { - std::cout << "Run failed, error happened when setting output buffer." << std::endl; - return ret; + // 创建输入和输出张量 + NN_Tensor* inputTensors[inputCount]; + NN_Tensor* tensor = nullptr; + for (size_t i = 0; i < inputCount; ++i) { + tensor = nullptr; + tensor = OH_NNTensor_Create(availableDevice[0], inputTensorDescs[i]); + CHECKEQ(tensor, nullptr, -1, "OH_NNTensor_Create failed."); + inputTensors[i] = tensor; } - - // 执行计算 - ret = OH_NNExecutor_Run(executor); - if (ret != OH_NN_SUCCESS) { - std::cout << "Run failed, error doing execution." << std::endl; - return ret; + NN_Tensor* outputTensors[outputCount]; + for (size_t i = 0; i < outputCount; ++i) { + tensor = nullptr; + tensor = OH_NNTensor_Create(availableDevice[0], outputTensorDescs[i]); + CHECKEQ(tensor, nullptr, -1, "OH_NNTensor_Create failed."); + outputTensors[i] = tensor; } - // 打印输出结果 - for (uint32_t i = 0; i < 12; i++) { - std::cout << "Output index: " << i << ", value is: " << output[i] << "." << std::endl; + // 设置输入张量的数据 + returnCode = SetInputData(inputTensors, inputCount); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "SetInputData failed."); + + // 执行推理 + returnCode = OH_NNExecutor_RunSync(executor, inputTensors, inputCount, outputTensors, outputCount); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNExecutor_RunSync failed."); + + // 打印输出张量的数据 + Print(outputTensors, outputCount); + + // 清理输入和输出张量以及张量描述 + for (size_t i = 0; i < inputCount; ++i) { + returnCode = OH_NNTensor_Destroy(&inputTensors[i]); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNTensor_Destroy failed."); + returnCode = OH_NNTensorDesc_Destroy(&inputTensorDescs[i]); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNTensorDesc_Destroy failed."); + } + for (size_t i = 0; i < outputCount; ++i) { + returnCode = OH_NNTensor_Destroy(&outputTensors[i]); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNTensor_Destroy failed."); + returnCode = OH_NNTensorDesc_Destroy(&outputTensorDescs[i]); + CHECKNEQ(returnCode, OH_NN_SUCCESS, -1, "OH_NNTensorDesc_Destroy failed."); } return OH_NN_SUCCESS; } ``` -8. 构建端到端模型构造-编译-执行流程。 +9. 构建端到端模型构造-编译-执行流程。 - 步骤3-步骤7实现了模型的模型构造、编译和执行流程,并封装成4个函数,便于模块化开发。以下示例代码将4个函数串联成完整的Neural Network Runtime开发流程。 + 步骤4-步骤8实现了模型的模型构造、编译和执行流程,并封装成多个函数,便于模块化开发。以下示例代码将串联这些函数, 形成一个完整的Neural Network Runtime使用流程。 ```cpp int main() { @@ -353,7 +562,8 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 OH_NNExecutor* executor = nullptr; std::vector availableDevices; - // 模型构造阶段 + // 模型构造 + OH_NNModel* model = nullptr; OH_NN_ReturnCode ret = BuildModel(&model); if (ret != OH_NN_SUCCESS) { std::cout << "BuildModel failed." << std::endl; @@ -369,7 +579,7 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 return -1; } - // 模型编译阶段 + // 模型编译 ret = CreateCompilation(model, availableDevices, &compilation); if (ret != OH_NN_SUCCESS) { std::cout << "CreateCompilation failed." << std::endl; @@ -378,28 +588,29 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 return -1; } + // 销毁模型实例 + OH_NNModel_Destroy(&model); + // 创建模型的推理执行器 executor = CreateExecutor(compilation); if (executor == nullptr) { std::cout << "CreateExecutor failed, no executor is created." << std::endl; - OH_NNModel_Destroy(&model); OH_NNCompilation_Destroy(&compilation); return -1; } - // 使用上一步创建的执行器,执行单步推理计算 - ret = Run(executor); + // 销毁编译实例 + OH_NNCompilation_Destroy(&compilation); + + // 使用上一步创建的执行器,执行推理计算 + ret = Run(executor, availableDevices); if (ret != OH_NN_SUCCESS) { std::cout << "Run failed." << std::endl; - OH_NNModel_Destroy(&model); - OH_NNCompilation_Destroy(&compilation); OH_NNExecutor_Destroy(&executor); return -1; } - // 释放申请的资源 - OH_NNModel_Destroy(&model); - OH_NNCompilation_Destroy(&compilation); + // 销毁执行器实例 OH_NNExecutor_Destroy(&executor); return 0; @@ -420,7 +631,8 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 ) target_link_libraries(nnrt_example - neural_network_runtime.z + neural_network_runtime + neural_network_core ) ``` @@ -447,18 +659,18 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 如果样例执行正常,应该得到以下输出。 ```text - Output index: 0, value is: 11.000000. - Output index: 1, value is: 13.000000. - Output index: 2, value is: 15.000000. - Output index: 3, value is: 17.000000. - Output index: 4, value is: 19.000000. - Output index: 5, value is: 21.000000. - Output index: 6, value is: 23.000000. - Output index: 7, value is: 25.000000. - Output index: 8, value is: 27.000000. - Output index: 9, value is: 29.000000. - Output index: 10, value is: 31.000000. - Output index: 11, value is: 33.000000. + Output index: 0, value is: 0.000000. + Output index: 1, value is: 2.000000. + Output index: 2, value is: 4.000000. + Output index: 3, value is: 6.000000. + Output index: 4, value is: 8.000000. + Output index: 5, value is: 10.000000. + Output index: 6, value is: 12.000000. + Output index: 7, value is: 14.000000. + Output index: 8, value is: 16.000000. + Output index: 9, value is: 18.000000. + Output index: 10, value is: 20.000000. + Output index: 11, value is: 22.000000. ``` 4. 检查模型缓存(可选)。 @@ -476,15 +688,10 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 以下为打印结果: ```text - # 0.nncache cache_info.nncache + # 0.nncache 1.nncache 2.nncache cache_info.nncache ``` 如果缓存不再使用,需要手动删除缓存,可以参考以下命令,删除缓存文件。 ```shell rm /data/local/tmp/*nncache - ``` - -## 相关实例 - -第三方AI推理框架对接Neural Network Runtime的流程,可以参考以下相关实例: -- [Tensorflow Lite接入NNRt Delegate开发指南](https://gitee.com/openharmony-sig/neural_network_runtime/tree/master/example/deep_learning_framework) + ``` \ No newline at end of file -- Gitee From 32c0d16e8e93770fd03c3899b4819d0c639b53a7 Mon Sep 17 00:00:00 2001 From: w30052974 Date: Fri, 2 Feb 2024 19:00:53 +0800 Subject: [PATCH 5/8] =?UTF-8?q?profiling/opLayouts=E5=90=88=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: w30052974 --- frameworks/native/neural_network_core/cpp_type.h | 4 ++++ .../neural_network_runtime/inner_model.cpp | 16 ++++++++++++++-- .../native/neural_network_runtime/inner_model.h | 7 ++++++- .../neural_network_runtime.cpp | 12 +++++++++++- .../native/neural_network_runtime/nncompiler.cpp | 4 +++- .../native/neural_network_runtime/nncompiler.h | 2 ++ 6 files changed, 40 insertions(+), 5 deletions(-) diff --git a/frameworks/native/neural_network_core/cpp_type.h b/frameworks/native/neural_network_core/cpp_type.h index 96d6594..faf9039 100644 --- a/frameworks/native/neural_network_core/cpp_type.h +++ b/frameworks/native/neural_network_core/cpp_type.h @@ -19,6 +19,7 @@ #include #include #include +#include #include "interfaces/kits/c/neural_network_runtime/neural_network_runtime_type.h" @@ -37,6 +38,9 @@ struct ModelConfig { bool enableFloat16; OH_NN_PerformanceMode mode; OH_NN_Priority priority; + std::string isProfiling; + std::string cachePath; + std::map opLayout; }; struct Buffer { diff --git a/frameworks/native/neural_network_runtime/inner_model.cpp b/frameworks/native/neural_network_runtime/inner_model.cpp index 2b275ba..4f68ed3 100644 --- a/frameworks/native/neural_network_runtime/inner_model.cpp +++ b/frameworks/native/neural_network_runtime/inner_model.cpp @@ -148,7 +148,8 @@ OH_NN_ReturnCode InnerModel::BuildFromLiteGraph(const MSLITE::LiteGraph* liteGra } OH_NN_ReturnCode InnerModel::BuildFromMetaGraph( - const void* metaGraph, const Buffer& quantBuffer, const std::string& modelName) + const void* metaGraph, const Buffer& quantBuffer, const std::string& modelName, const std::string& isProfiling, + std::map& opLayouts) { NNRT_TRACE_NAME("Build model from meta graph"); if (metaGraph == nullptr) { @@ -169,7 +170,8 @@ OH_NN_ReturnCode InnerModel::BuildFromMetaGraph( m_metaGraph = const_cast(metaGraph); m_quantBuffer = quantBuffer; m_modelName = modelName; - + m_isProfiling = isProfiling; + m_opLayouts = opLayouts; return OH_NN_SUCCESS; } @@ -762,5 +764,15 @@ std::string InnerModel::GetModelName() const { return m_modelName; } + +std::string InnerModel::GetProfiling() const +{ + return m_isProfiling; +} + +std::map InnerModel::GetOpLayouts() const +{ + return m_opLayouts; +} } // namespace NeuralNetworkRuntime } // namespace OHOS \ No newline at end of file diff --git a/frameworks/native/neural_network_runtime/inner_model.h b/frameworks/native/neural_network_runtime/inner_model.h index a538ed0..f95862d 100644 --- a/frameworks/native/neural_network_runtime/inner_model.h +++ b/frameworks/native/neural_network_runtime/inner_model.h @@ -34,7 +34,8 @@ public: bool IsBuild() const; OH_NN_ReturnCode BuildFromLiteGraph(const mindspore::lite::LiteGraph* liteGraph); OH_NN_ReturnCode BuildFromMetaGraph(const void* metaGraph, const Buffer& quantBuffer, - const std::string& modelName); + const std::string& modelName, const std::string& isProfiling, + std::map& opLayouts); OH_NN_ReturnCode AddTensor(const OH_NN_Tensor& nnTensor); OH_NN_ReturnCode AddTensorDesc(const NN_TensorDesc* nnTensorDesc); OH_NN_ReturnCode SetTensorQuantParam(uint32_t index, const NN_QuantParam* quantParam); @@ -58,6 +59,8 @@ public: void* GetMetaGraph() const; Buffer GetQuantBuffer() const; std::string GetModelName() const; + std::string GetProfiling() const; + std::map GetOpLayouts() const; private: void AddTensorsToLiteGraph(std::unordered_map& modelIDToGraphID); @@ -79,6 +82,8 @@ private: void* m_metaGraph {nullptr}; Buffer m_quantBuffer = {nullptr, 0}; std::string m_modelName; + std::string m_isProfiling; + std::map m_opLayouts; }; } // namespace NeuralNetworkRuntime } // namespace OHOS diff --git a/frameworks/native/neural_network_runtime/neural_network_runtime.cpp b/frameworks/native/neural_network_runtime/neural_network_runtime.cpp index 6207fe4..0931923 100644 --- a/frameworks/native/neural_network_runtime/neural_network_runtime.cpp +++ b/frameworks/native/neural_network_runtime/neural_network_runtime.cpp @@ -330,6 +330,9 @@ NNRT_API OH_NN_ReturnCode OH_NNModel_BuildFromMetaGraph(OH_NNModel *model, const Buffer buffer; std::string modelName; + std::string isProfiling; + std::string opLayout; + std::map opLayouts; for (size_t i = 0; i < extensionSize; ++i) { std::string name = extensions[i].name; if (name == "QuantBuffer") { @@ -337,11 +340,18 @@ NNRT_API OH_NN_ReturnCode OH_NNModel_BuildFromMetaGraph(OH_NNModel *model, const buffer.length = extensions[i].valueSize; } else if (name == "ModelName") { modelName.assign(extensions[i].value, extensions[i].value + extensions[i].valueSize); + } else if (name == "Profiling") { + isProfiling.assign(extensions[i].value, extensions[i].value + extensions[i].valueSize); + LOGI("OH_NNModel_BuildFromMetaGraph isProfiling enable."); + } else if (name == "opLayout") { + opLayout.assign(extensions[i].value, extensions[i].value + extensions[i].valueSize); + opLayout.insert({opLayout, "hiai::ExecuteDevice::CPU"}); + LOGI("OH_NNModel_BuildFromMetaGraph opLayout:%{public}s.", opLayout.c_str()); } } InnerModel *innerModel = reinterpret_cast(model); - return innerModel->BuildFromMetaGraph(metaGraph, buffer, modelName); + return innerModel->BuildFromMetaGraph(metaGraph, buffer, modelName, isProfiling, opLayouts); } NNRT_API OH_NN_ReturnCode OH_NNModel_SetInputsAndOutputsInfo(OH_NNModel *model, const OH_NN_TensorInfo *inputsInfo, diff --git a/frameworks/native/neural_network_runtime/nncompiler.cpp b/frameworks/native/neural_network_runtime/nncompiler.cpp index cb70f2c..bc7a409 100644 --- a/frameworks/native/neural_network_runtime/nncompiler.cpp +++ b/frameworks/native/neural_network_runtime/nncompiler.cpp @@ -128,6 +128,8 @@ NNCompiler::NNCompiler(const void* model, std::shared_ptr device, size_t m_metaGraph = m_innerModel->GetMetaGraph(); m_quantBuffer = m_innerModel->GetQuantBuffer(); m_modelName = m_innerModel->GetModelName(); + m_isProfiling = m_innerModel->GetProfiling(); + m_opLayouts = m_innerModel->GetOpLayouts(); } NNCompiler::~NNCompiler() @@ -373,7 +375,7 @@ OH_NN_ReturnCode NNCompiler::NormalBuild() } ModelConfig config {m_enableFp16, static_cast(m_performance), - static_cast(m_priority)}; + static_cast(m_priority), m_isProfiling, m_cachePath, m_opLayouts}; if (m_liteGraph != nullptr) { ret = m_device->PrepareModel(m_liteGraph, config, m_preparedModel); } diff --git a/frameworks/native/neural_network_runtime/nncompiler.h b/frameworks/native/neural_network_runtime/nncompiler.h index f95c8da..87bbb07 100644 --- a/frameworks/native/neural_network_runtime/nncompiler.h +++ b/frameworks/native/neural_network_runtime/nncompiler.h @@ -82,6 +82,8 @@ private: std::shared_ptr m_preparedModel {nullptr}; Buffer m_quantBuffer {nullptr, 0}; std::string m_modelName; + std::string m_isProfiling; + std::map m_opLayouts; void* m_metaGraph {nullptr}; InnerModel* m_innerModel {nullptr}; std::shared_ptr m_liteGraph {nullptr}; -- Gitee From f88b63d6786cc1f36145c3c8b8d9dba74880f853 Mon Sep 17 00:00:00 2001 From: w30052974 Date: Sun, 4 Feb 2024 10:20:35 +0800 Subject: [PATCH 6/8] =?UTF-8?q?profiling/opLayouts=E5=90=88=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: w30052974 --- .../native/neural_network_runtime/neural_network_runtime.cpp | 2 +- frameworks/native/neural_network_runtime/nncompiler.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/native/neural_network_runtime/neural_network_runtime.cpp b/frameworks/native/neural_network_runtime/neural_network_runtime.cpp index 0931923..c8f502e 100644 --- a/frameworks/native/neural_network_runtime/neural_network_runtime.cpp +++ b/frameworks/native/neural_network_runtime/neural_network_runtime.cpp @@ -345,7 +345,7 @@ NNRT_API OH_NN_ReturnCode OH_NNModel_BuildFromMetaGraph(OH_NNModel *model, const LOGI("OH_NNModel_BuildFromMetaGraph isProfiling enable."); } else if (name == "opLayout") { opLayout.assign(extensions[i].value, extensions[i].value + extensions[i].valueSize); - opLayout.insert({opLayout, "hiai::ExecuteDevice::CPU"}); + opLayouts.insert({opLayout, "hiai::ExecuteDevice::CPU"}); LOGI("OH_NNModel_BuildFromMetaGraph opLayout:%{public}s.", opLayout.c_str()); } } diff --git a/frameworks/native/neural_network_runtime/nncompiler.h b/frameworks/native/neural_network_runtime/nncompiler.h index 87bbb07..b5655a7 100644 --- a/frameworks/native/neural_network_runtime/nncompiler.h +++ b/frameworks/native/neural_network_runtime/nncompiler.h @@ -83,7 +83,7 @@ private: Buffer m_quantBuffer {nullptr, 0}; std::string m_modelName; std::string m_isProfiling; - std::map m_opLayouts; + std::map m_opLayouts; void* m_metaGraph {nullptr}; InnerModel* m_innerModel {nullptr}; std::shared_ptr m_liteGraph {nullptr}; -- Gitee From b04a3b2296fb4e2bbdba39a8eb37ef437c5469cf Mon Sep 17 00:00:00 2001 From: wangchuanxia Date: Mon, 5 Feb 2024 22:20:23 +0800 Subject: [PATCH 7/8] fix backend id bug Signed-off-by: wangchuanxia --- .../neural_network_core/backend_manager.cpp | 49 +++++++++---------- .../neural_network_core/backend_manager.h | 7 +-- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/frameworks/native/neural_network_core/backend_manager.cpp b/frameworks/native/neural_network_core/backend_manager.cpp index c392795..078d066 100644 --- a/frameworks/native/neural_network_core/backend_manager.cpp +++ b/frameworks/native/neural_network_core/backend_manager.cpp @@ -23,21 +23,13 @@ namespace NeuralNetworkRuntime { BackendManager::~BackendManager() { m_backends.clear(); + m_backendNames.clear(); m_backendIDs.clear(); } -std::vector BackendManager::GetAllBackendsID() +const std::vector& BackendManager::GetAllBackendsID() { - std::vector tmpBackendIds; - std::shared_ptr backend {nullptr}; - for (auto iter = m_backends.begin(); iter != m_backends.end(); ++iter) { - backend = iter->second; - if (!IsValidBackend(backend)) { - continue; - } - tmpBackendIds.emplace_back(iter->first); - } - return tmpBackendIds; + return m_backendIDs; } std::shared_ptr BackendManager::GetBackend(size_t backendID) const @@ -62,32 +54,27 @@ std::shared_ptr BackendManager::GetBackend(size_t backendID) const return iter->second; } -std::string BackendManager::GetBackendName(size_t backendID) +const std::string& BackendManager::GetBackendName(size_t backendID) { - std::string tmpBackendName; - if (m_backends.empty()) { + std::string emptyName; + if (m_backendNames.empty()) { LOGE("[BackendManager] GetBackendName failed, there is no registered backend can be used."); - return tmpBackendName; + return emptyName; } - auto iter = m_backends.begin(); + auto iter = m_backendNames.begin(); if (backendID == static_cast(0)) { LOGI("[BackendManager] the backendID is 0, default return 1st backend."); } else { - iter = m_backends.find(backendID); + iter = m_backendNames.find(backendID); } - if (iter == m_backends.end()) { + if (iter == m_backendNames.end()) { LOGE("[BackendManager] GetBackendName failed, backendID %{public}zu is not registered.", backendID); - return tmpBackendName; + return emptyName; } - OH_NN_ReturnCode ret = iter->second->GetBackendName(tmpBackendName); - if (ret != OH_NN_SUCCESS) { - LOGE("[BackendManager] GetBackendName failed, fail to get backendName from backend."); - } - - return tmpBackendName; + return iter->second; } OH_NN_ReturnCode BackendManager::RegisterBackend(std::function()> creator) @@ -106,14 +93,22 @@ OH_NN_ReturnCode BackendManager::RegisterBackend(std::functionGetBackendID(); const std::lock_guard lock(m_mtx); - auto setResult = m_backendIDs.emplace(backendID); - if (!setResult.second) { + auto iter = std::find(m_backendIDs.begin(), m_backendIDs.end(), backendID); + if (iter != m_backendIDs.end()) { LOGE("[BackendManager] RegisterBackend failed, backend already exists, cannot register again. " "backendID=%{public}zu", backendID); return OH_NN_FAILED; } + std::string tmpBackendName; + auto ret = regBackend->GetBackendName(tmpBackendName); + if (ret != OH_NN_SUCCESS) { + LOGE("[BackendManager] RegisterBackend failed, fail to get backend name."); + return OH_NN_FAILED; + } m_backends.emplace(backendID, regBackend); + m_backendIDs.emplace_back(backendID); + m_backendNames.emplace(backendID, tmpBackendName); return OH_NN_SUCCESS; } diff --git a/frameworks/native/neural_network_core/backend_manager.h b/frameworks/native/neural_network_core/backend_manager.h index 936f254..656d47c 100644 --- a/frameworks/native/neural_network_core/backend_manager.h +++ b/frameworks/native/neural_network_core/backend_manager.h @@ -32,9 +32,9 @@ namespace OHOS { namespace NeuralNetworkRuntime { class BackendManager { public: - std::vector GetAllBackendsID(); + const std::vector& GetAllBackendsID(); std::shared_ptr GetBackend(size_t backendID) const; - std::string GetBackendName(size_t backendID); + const std::string& GetBackendName(size_t backendID); // Register backend by C++ API OH_NN_ReturnCode RegisterBackend(std::function()> creator); @@ -60,7 +60,8 @@ private: bool IsValidBackend(std::shared_ptr backend) const; private: - std::unordered_set m_backendIDs; + std::vector m_backendIDs; + std::unordered_map m_backendNames; // key is the name of backend. std::unordered_map> m_backends; std::mutex m_mtx; -- Gitee From e862990abdd0c90b77040f73ef8a582f43e8bc55 Mon Sep 17 00:00:00 2001 From: w30052974 Date: Wed, 7 Feb 2024 15:28:19 +0800 Subject: [PATCH 8/8] =?UTF-8?q?emptyName=E8=BF=94=E5=9B=9E=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=8F=98=E9=87=8F=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: w30052974 --- frameworks/native/neural_network_core/backend_manager.cpp | 5 ++--- frameworks/native/neural_network_core/backend_manager.h | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/native/neural_network_core/backend_manager.cpp b/frameworks/native/neural_network_core/backend_manager.cpp index 078d066..ed1027a 100644 --- a/frameworks/native/neural_network_core/backend_manager.cpp +++ b/frameworks/native/neural_network_core/backend_manager.cpp @@ -56,10 +56,9 @@ std::shared_ptr BackendManager::GetBackend(size_t backendID) const const std::string& BackendManager::GetBackendName(size_t backendID) { - std::string emptyName; if (m_backendNames.empty()) { LOGE("[BackendManager] GetBackendName failed, there is no registered backend can be used."); - return emptyName; + return m_emptyBackendName; } auto iter = m_backendNames.begin(); @@ -71,7 +70,7 @@ const std::string& BackendManager::GetBackendName(size_t backendID) if (iter == m_backendNames.end()) { LOGE("[BackendManager] GetBackendName failed, backendID %{public}zu is not registered.", backendID); - return emptyName; + return m_emptyBackendName; } return iter->second; diff --git a/frameworks/native/neural_network_core/backend_manager.h b/frameworks/native/neural_network_core/backend_manager.h index 656d47c..5e25e87 100644 --- a/frameworks/native/neural_network_core/backend_manager.h +++ b/frameworks/native/neural_network_core/backend_manager.h @@ -62,6 +62,7 @@ private: private: std::vector m_backendIDs; std::unordered_map m_backendNames; + std::string m_emptyBackendName; // key is the name of backend. std::unordered_map> m_backends; std::mutex m_mtx; -- Gitee