From 624c6ac2ef2c6b325df99edb6d2e7f67205421e3 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Mon, 8 Jul 2024 22:27:16 +0800 Subject: [PATCH 01/17] Add: rtmpose inference script. --- .../cv/pose_estimation/rtmpose/igie/README.md | 61 +++ .../rtmpose/igie/build_engine.py | 73 +++ .../rtmpose/igie/deploy_default.py | 29 ++ .../cv/pose_estimation/rtmpose/igie/export.py | 71 +++ .../pose_estimation/rtmpose/igie/inference.py | 151 ++++++ .../rtmpose-m_8xb256-420e_coco-256x192.py | 465 ++++++++++++++++++ .../scripts/infer_rtmpose_fp16_accuracy.sh | 35 ++ .../scripts/infer_rtmpose_fp16_performance.sh | 36 ++ 8 files changed, 921 insertions(+) create mode 100644 models/cv/pose_estimation/rtmpose/igie/README.md create mode 100644 models/cv/pose_estimation/rtmpose/igie/build_engine.py create mode 100644 models/cv/pose_estimation/rtmpose/igie/deploy_default.py create mode 100644 models/cv/pose_estimation/rtmpose/igie/export.py create mode 100644 models/cv/pose_estimation/rtmpose/igie/inference.py create mode 100644 models/cv/pose_estimation/rtmpose/igie/rtmpose-m_8xb256-420e_coco-256x192.py create mode 100644 models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_accuracy.sh create mode 100644 models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_performance.sh diff --git a/models/cv/pose_estimation/rtmpose/igie/README.md b/models/cv/pose_estimation/rtmpose/igie/README.md new file mode 100644 index 00000000..2b7fb929 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/README.md @@ -0,0 +1,61 @@ +# RTMPose + +## Description + +RTMPose, a state-of-the-art framework developed by Shanghai AI Laboratory, excels in real-time multi-person pose estimation by integrating an innovative model architecture with the efficiency of the MMPose foundation. The framework's architecture is meticulously designed to enhance performance and reduce latency, making it suitable for a variety of applications where real-time analysis is crucial. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmdet==3.3.0 +pip3 install mmpose==1.3.1 +pip3 install mmdeploy==1.3.1 +pip3 install mmengine==0.10.4 +``` + +### Download +Pretrained model: https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-aic-coco_pt-aic-coco_420e-256x192-63eb25f7_20230126.pth + +Dataset: to download the validation dataset. + + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight rtmpose-m_simcc-aic-coco_pt-aic-coco_420e-256x192-63eb25f7_20230126.pth --cfg rtmpose-m_8xb256-420e_coco-256x192.py --output rtmpose.onnx + +# use onnxsim optimize onnx model +onnxsim rtmpose.onnx rtmpose_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/coco/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_rtmpose_fp16_accuracy.sh +# Performance +bash scripts/infer_rtmpose_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Input Shape | Precision | FPS | mAP@0.5(%) | +| :-------: | :-------: | :---------: | :-------: | :-------: | :--------: | +| RTMPose | 32 | 252x196 | FP16 | 2313.33 | 0.936 | diff --git a/models/cv/pose_estimation/rtmpose/igie/build_engine.py b/models/cv/pose_estimation/rtmpose/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/pose_estimation/rtmpose/igie/deploy_default.py b/models/cv/pose_estimation/rtmpose/igie/deploy_default.py new file mode 100644 index 00000000..e0c61359 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/deploy_default.py @@ -0,0 +1,29 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +onnx_config = dict( + type='onnx', + export_params=True, + keep_initializers_as_inputs=False, + opset_version=11, + save_file='end2end.onnx', + input_names=['input'], + output_names=['output'], + input_shape=None, + optimize=True) + +codebase_config = dict(type='mmpose', task='PoseDetection') + +backend_config = dict(type='onnxruntime') diff --git a/models/cv/pose_estimation/rtmpose/igie/export.py b/models/cv/pose_estimation/rtmpose/igie/export.py new file mode 100644 index 00000000..6fc4f453 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/export.py @@ -0,0 +1,71 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. +import argparse + +import torch +from mmdeploy.utils import load_config +from mmdeploy.apis import build_task_processor + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + deploy_cfg = 'deploy_default.py' + model_cfg = args.cfg + model_checkpoint = args.weight + + deploy_cfg, model_cfg = load_config(deploy_cfg, model_cfg) + + task_processor = build_task_processor(model_cfg, deploy_cfg, device='cpu') + + model = task_processor.build_pytorch_model(model_checkpoint) + + input_names = ['input'] + dynamic_axes = {'input': {0: '-1'}} + dummy_input = torch.randn(1, 3, 256, 192) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/cv/pose_estimation/rtmpose/igie/inference.py b/models/cv/pose_estimation/rtmpose/igie/inference.py new file mode 100644 index 00000000..d01502e2 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/inference.py @@ -0,0 +1,151 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import argparse +import tvm +import torch +import numpy as np +from tvm import relay +from tqdm import tqdm +from mmpose.registry import RUNNERS +from mmengine.config import Config + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # runner config + cfg = Config.fromfile("rtmpose-m_8xb256-420e_coco-256x192.py") + + cfg.work_dir = "./" + cfg['test_dataloader']['batch_size'] = batch_size + cfg['test_dataloader']['dataset']['data_root'] = args.datasets + cfg['test_dataloader']['dataset']['data_prefix']['img'] = 'images/val2017/' + cfg['test_evaluator']['ann_file'] = os.path.join(args.datasets, 'annotations/person_keypoints_val2017.json') + cfg['log_level'] = 'ERROR' + + # build runner + runner = RUNNERS.build(cfg) + + for data in tqdm(runner.test_dataloader): + outputs = [] + input_data = runner.model.data_preprocessor(data, False) + image = input_data['inputs'].cpu() + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + for i in range(module.get_num_outputs()): + output = module.get_output(i).asnumpy() + + if pad_batch: + output = output[:origin_size] + + output = torch.from_numpy(output) + outputs.append(output) + + preds = runner.model.head.decode((outputs[0], outputs[1])) + + if isinstance(preds, tuple): + batch_pred_instances, batch_pred_fields = preds + else: + batch_pred_instances = preds + batch_pred_fields = None + + batch_data_samples = runner.model.add_pred_to_datasample(batch_pred_instances, batch_pred_fields, input_data['data_samples']) + + runner.test_evaluator.process(data_samples=batch_data_samples, data_batch=data) + + metrics = runner.test_evaluator.evaluate(len(runner.test_dataloader.dataset)) + + +if __name__ == "__main__": + main() diff --git a/models/cv/pose_estimation/rtmpose/igie/rtmpose-m_8xb256-420e_coco-256x192.py b/models/cv/pose_estimation/rtmpose/igie/rtmpose-m_8xb256-420e_coco-256x192.py new file mode 100644 index 00000000..9428b7fe --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/rtmpose-m_8xb256-420e_coco-256x192.py @@ -0,0 +1,465 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +auto_scale_lr = dict(base_batch_size=1024) +backend_args = dict(backend='local') +base_lr = 0.004 +codec = dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False) +custom_hooks = [ + dict( + ema_type='ExpMomentumEMA', + momentum=0.0002, + priority=49, + type='EMAHook', + update_buffers=True), + dict( + switch_epoch=390, + switch_pipeline=[ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(direction='horizontal', type='RandomFlip'), + dict(type='RandomHalfBody'), + dict( + rotate_factor=60, + scale_factor=[ + 0.75, + 1.25, + ], + shift_factor=0.0, + type='RandomBBoxTransform'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='mmdet.YOLOXHSVRandomAug'), + dict( + transforms=[ + dict(p=0.1, type='Blur'), + dict(p=0.1, type='MedianBlur'), + dict( + max_height=0.4, + max_holes=1, + max_width=0.4, + min_height=0.2, + min_holes=1, + min_width=0.2, + p=0.5, + type='CoarseDropout'), + ], + type='Albumentation'), + dict( + encoder=dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False), + type='GenerateTarget'), + dict(type='PackPoseInputs'), + ], + type='mmdet.PipelineSwitchHook'), +] +data_mode = 'topdown' +data_root = 'data/coco/' +dataset_type = 'CocoDataset' +default_hooks = dict( + badcase=dict( + _scope_='mmpose', + badcase_thr=5, + enable=False, + metric_type='loss', + out_dir='badcase', + type='BadCaseAnalysisHook'), + checkpoint=dict( + _scope_='mmpose', + interval=10, + max_keep_ckpts=1, + rule='greater', + save_best='coco/AP', + type='CheckpointHook'), + logger=dict(_scope_='mmpose', interval=50, type='LoggerHook'), + param_scheduler=dict(_scope_='mmpose', type='ParamSchedulerHook'), + sampler_seed=dict(_scope_='mmpose', type='DistSamplerSeedHook'), + timer=dict(_scope_='mmpose', type='IterTimerHook'), + visualization=dict( + _scope_='mmpose', enable=False, type='PoseVisualizationHook')) +default_scope = 'mmpose' +env_cfg = dict( + cudnn_benchmark=False, + dist_cfg=dict(backend='nccl'), + mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) +input_size = ( + 192, + 256, +) +load_from = None +log_level = 'ERROR' +log_processor = dict( + _scope_='mmpose', + by_epoch=True, + num_digits=6, + type='LogProcessor', + window_size=50) +max_epochs = 420 +model = dict( + backbone=dict( + _scope_='mmdet', + act_cfg=dict(type='SiLU'), + arch='P5', + channel_attention=True, + deepen_factor=0.67, + expand_ratio=0.5, + init_cfg=dict( + checkpoint= + 'https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/cspnext-m_udp-aic-coco_210e-256x192-f2f7d6f6_20230130.pth', + prefix='backbone.', + type='Pretrained'), + norm_cfg=dict(type='SyncBN'), + out_indices=(4, ), + type='CSPNeXt', + widen_factor=0.75), + data_preprocessor=dict( + bgr_to_rgb=True, + mean=[ + 123.675, + 116.28, + 103.53, + ], + std=[ + 58.395, + 57.12, + 57.375, + ], + type='PoseDataPreprocessor'), + head=dict( + decoder=dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False), + final_layer_kernel_size=7, + gau_cfg=dict( + act_fn='SiLU', + drop_path=0.0, + dropout_rate=0.0, + expansion_factor=2, + hidden_dims=256, + pos_enc=False, + s=128, + use_rel_bias=False), + in_channels=768, + in_featuremap_size=( + 6, + 8, + ), + input_size=( + 192, + 256, + ), + loss=dict( + beta=10.0, + label_softmax=True, + type='KLDiscretLoss', + use_target_weight=True), + out_channels=17, + simcc_split_ratio=2.0, + type='RTMCCHead'), + test_cfg=dict(flip_test=True), + type='TopdownPoseEstimator') +num_keypoints = 17 +optim_wrapper = dict( + clip_grad=dict(max_norm=35, norm_type=2), + optimizer=dict(lr=0.004, type='AdamW', weight_decay=0.05), + paramwise_cfg=dict( + bias_decay_mult=0, bypass_duplicate=True, norm_decay_mult=0), + type='OptimWrapper') +param_scheduler = [ + dict( + begin=0, by_epoch=False, end=1000, start_factor=1e-05, + type='LinearLR'), + dict( + T_max=210, + begin=210, + by_epoch=True, + convert_to_iter_based=True, + end=420, + eta_min=0.0002, + type='CosineAnnealingLR'), +] +randomness = dict(seed=21) +resume = False +stage2_num_epochs = 30 +test_cfg = dict() +test_dataloader = dict( + batch_size=32, + dataset=dict( + ann_file='annotations/person_keypoints_val2017.json', + data_mode='topdown', + data_prefix=dict(img='images/val2017/'), + data_root='/root/.igie_cache/data/datasets/coco', + pipeline=[ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='PackPoseInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=10, + persistent_workers=True, + sampler=dict(round_up=False, shuffle=False, type='DefaultSampler')) +test_evaluator = dict( + ann_file= + '/root/.igie_cache/data/datasets/coco/annotations/person_keypoints_val2017.json', + type='CocoMetric') +train_batch_size = 256 +train_cfg = dict(by_epoch=True, max_epochs=420, val_interval=10) +train_dataloader = dict( + batch_size=256, + dataset=dict( + ann_file='annotations/person_keypoints_train2017.json', + data_mode='topdown', + data_prefix=dict(img='train2017/'), + data_root='data/coco/', + pipeline=[ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(direction='horizontal', type='RandomFlip'), + dict(type='RandomHalfBody'), + dict( + rotate_factor=80, + scale_factor=[ + 0.6, + 1.4, + ], + type='RandomBBoxTransform'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='mmdet.YOLOXHSVRandomAug'), + dict( + transforms=[ + dict(p=0.1, type='Blur'), + dict(p=0.1, type='MedianBlur'), + dict( + max_height=0.4, + max_holes=1, + max_width=0.4, + min_height=0.2, + min_holes=1, + min_width=0.2, + p=1.0, + type='CoarseDropout'), + ], + type='Albumentation'), + dict( + encoder=dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False), + type='GenerateTarget'), + dict(type='PackPoseInputs'), + ], + type='CocoDataset'), + num_workers=10, + persistent_workers=True, + sampler=dict(shuffle=True, type='DefaultSampler')) +train_pipeline = [ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(direction='horizontal', type='RandomFlip'), + dict(type='RandomHalfBody'), + dict( + rotate_factor=80, + scale_factor=[ + 0.6, + 1.4, + ], + type='RandomBBoxTransform'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='mmdet.YOLOXHSVRandomAug'), + dict( + transforms=[ + dict(p=0.1, type='Blur'), + dict(p=0.1, type='MedianBlur'), + dict( + max_height=0.4, + max_holes=1, + max_width=0.4, + min_height=0.2, + min_holes=1, + min_width=0.2, + p=1.0, + type='CoarseDropout'), + ], + type='Albumentation'), + dict( + encoder=dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False), + type='GenerateTarget'), + dict(type='PackPoseInputs'), +] +train_pipeline_stage2 = [ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(direction='horizontal', type='RandomFlip'), + dict(type='RandomHalfBody'), + dict( + rotate_factor=60, + scale_factor=[ + 0.75, + 1.25, + ], + shift_factor=0.0, + type='RandomBBoxTransform'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='mmdet.YOLOXHSVRandomAug'), + dict( + transforms=[ + dict(p=0.1, type='Blur'), + dict(p=0.1, type='MedianBlur'), + dict( + max_height=0.4, + max_holes=1, + max_width=0.4, + min_height=0.2, + min_holes=1, + min_width=0.2, + p=0.5, + type='CoarseDropout'), + ], + type='Albumentation'), + dict( + encoder=dict( + input_size=( + 192, + 256, + ), + normalize=False, + sigma=( + 4.9, + 5.66, + ), + simcc_split_ratio=2.0, + type='SimCCLabel', + use_dark=False), + type='GenerateTarget'), + dict(type='PackPoseInputs'), +] +val_batch_size = 64 +val_cfg = dict() +val_dataloader = dict( + batch_size=64, + dataset=dict( + ann_file='annotations/person_keypoints_val2017.json', + data_mode='topdown', + data_prefix=dict(img='images/val2017/'), + data_root='data/coco/', + pipeline=[ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='PackPoseInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=10, + persistent_workers=True, + sampler=dict(round_up=False, shuffle=False, type='DefaultSampler')) +val_evaluator = dict( + ann_file='data/coco/annotations/person_keypoints_val2017.json', + type='CocoMetric') +val_pipeline = [ + dict(backend_args=dict(backend='local'), type='LoadImage'), + dict(type='GetBBoxCenterScale'), + dict(input_size=( + 192, + 256, + ), type='TopdownAffine'), + dict(type='PackPoseInputs'), +] +vis_backends = [ + dict(_scope_='mmpose', type='LocalVisBackend'), +] +visualizer = dict( + _scope_='mmpose', + name='visualizer', + type='PoseLocalVisualizer', + vis_backends=[ + dict(type='LocalVisBackend'), + ]) +work_dir = './' diff --git a/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_accuracy.sh b/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_accuracy.sh new file mode 100644 index 00000000..9e0c7da0 --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="rtmpose_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,256,192 \ + --precision fp16 \ + --engine_path rtmpose_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine rtmpose_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_performance.sh b/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_performance.sh new file mode 100644 index 00000000..568cb1bc --- /dev/null +++ b/models/cv/pose_estimation/rtmpose/igie/scripts/infer_rtmpose_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="rtmpose_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,256,192 \ + --precision fp16 \ + --engine_path rtmpose_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine rtmpose_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From 09d7a155571ef69171f7362aab29dcfbae1bb2f9 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Mon, 8 Jul 2024 22:53:20 +0800 Subject: [PATCH 02/17] Add: rtmdet inference script. --- models/cv/detection/rtmdet/igie/README.md | 61 ++ .../cv/detection/rtmdet/igie/build_engine.py | 73 +++ .../detection/rtmdet/igie/deploy_default.py | 41 ++ models/cv/detection/rtmdet/igie/export.py | 72 +++ models/cv/detection/rtmdet/igie/inference.py | 153 +++++ .../igie/rtmdet_nano_320-8xb32_coco-person.py | 529 ++++++++++++++++++ .../scripts/infer_rtmdet_fp16_accuracy.sh | 35 ++ .../scripts/infer_rtmdet_fp16_performance.sh | 36 ++ 8 files changed, 1000 insertions(+) create mode 100644 models/cv/detection/rtmdet/igie/README.md create mode 100644 models/cv/detection/rtmdet/igie/build_engine.py create mode 100644 models/cv/detection/rtmdet/igie/deploy_default.py create mode 100644 models/cv/detection/rtmdet/igie/export.py create mode 100644 models/cv/detection/rtmdet/igie/inference.py create mode 100644 models/cv/detection/rtmdet/igie/rtmdet_nano_320-8xb32_coco-person.py create mode 100644 models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_accuracy.sh create mode 100644 models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_performance.sh diff --git a/models/cv/detection/rtmdet/igie/README.md b/models/cv/detection/rtmdet/igie/README.md new file mode 100644 index 00000000..737d203c --- /dev/null +++ b/models/cv/detection/rtmdet/igie/README.md @@ -0,0 +1,61 @@ +# RTMDet + +## Description + +RTMDet, presented by the Shanghai AI Laboratory, is a novel framework for real-time object detection that surpasses the efficiency of the YOLO series. The model's architecture is meticulously crafted for optimal efficiency, employing a basic building block consisting of large-kernel depth-wise convolutions in both the backbone and neck, which enhances the model's ability to capture global context. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmdet==3.3.0 +pip3 install mmpose==1.3.1 +pip3 install mmdeploy==1.3.1 +pip3 install mmengine==0.10.4 +``` + +### Download +Pretrained model: https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_nano_8xb32-100e_coco-obj365-person-05d8511e.pth + +Dataset: to download the validation dataset. + + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight rtmdet_nano_8xb32-100e_coco-obj365-person-05d8511e.pth --cfg rtmdet_nano_320-8xb32_coco-person.py --output rtmdet.onnx + +# use onnxsim optimize onnx model +onnxsim rtmdet.onnx rtmdet_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/coco/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_rtmdet_fp16_accuracy.sh +# Performance +bash scripts/infer_rtmdet_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Input Shape | Precision | FPS | mAP@0.5(%) | +| :-------: | :-------: | :---------: | :-------: | :-------: | :--------: | +| RTMDet | 32 | 320x320 | FP16 | 2627.15 | 0.619 | \ No newline at end of file diff --git a/models/cv/detection/rtmdet/igie/build_engine.py b/models/cv/detection/rtmdet/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/detection/rtmdet/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/detection/rtmdet/igie/deploy_default.py b/models/cv/detection/rtmdet/igie/deploy_default.py new file mode 100644 index 00000000..b8d8e43d --- /dev/null +++ b/models/cv/detection/rtmdet/igie/deploy_default.py @@ -0,0 +1,41 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +onnx_config = dict( + type='onnx', + export_params=True, + keep_initializers_as_inputs=False, + opset_version=11, + save_file='end2end.onnx', + input_names=['input'], + output_names=['output'], + input_shape=None, + optimize=True) + +codebase_config = dict( + type='mmdet', + task='ObjectDetection', + model_type='end2end', + post_processing=dict( + score_threshold=0.05, + confidence_threshold=0.005, + iou_threshold=0.5, + max_output_boxes_per_class=200, + pre_top_k=5000, + keep_top_k=100, + background_label_id=-1, + )) + +backend_config = dict(type='onnxruntime') \ No newline at end of file diff --git a/models/cv/detection/rtmdet/igie/export.py b/models/cv/detection/rtmdet/igie/export.py new file mode 100644 index 00000000..a30efa81 --- /dev/null +++ b/models/cv/detection/rtmdet/igie/export.py @@ -0,0 +1,72 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import argparse + +import torch +from mmdeploy.utils import load_config +from mmdeploy.apis import build_task_processor + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + deploy_cfg = 'deploy_default.py' + model_cfg = args.cfg + model_checkpoint = args.weight + + deploy_cfg, model_cfg = load_config(deploy_cfg, model_cfg) + + task_processor = build_task_processor(model_cfg, deploy_cfg, device='cpu') + + model = task_processor.build_pytorch_model(model_checkpoint) + + input_names = ['input'] + dynamic_axes = {'input': {0: '-1'}} + dummy_input = torch.randn(1, 3, 320, 320) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/cv/detection/rtmdet/igie/inference.py b/models/cv/detection/rtmdet/igie/inference.py new file mode 100644 index 00000000..4c89904b --- /dev/null +++ b/models/cv/detection/rtmdet/igie/inference.py @@ -0,0 +1,153 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import argparse +import tvm +import torch +import numpy as np +from tvm import relay +from tqdm import tqdm +from mmpose.registry import RUNNERS +from mmengine.config import Config + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # runner config + cfg = Config.fromfile("rtmdet_nano_320-8xb32_coco-person.py") + + cfg.work_dir = "./" + cfg['test_dataloader']['batch_size'] = batch_size + cfg['test_dataloader']['dataset']['data_root'] = args.datasets + cfg['test_dataloader']['dataset']['data_prefix']['img'] = 'images/val2017/' + cfg['test_evaluator']['ann_file'] = os.path.join(args.datasets, 'annotations/person_keypoints_val2017.json') + cfg['log_level'] = 'ERROR' + + # build runner + runner = RUNNERS.build(cfg) + + for data in tqdm(runner.test_dataloader): + cls_score = [] + box_reg = [] + input_data = runner.model.data_preprocessor(data, False) + image = input_data['inputs'].cpu() + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + for i in range(module.get_num_outputs()): + output = module.get_output(i).asnumpy() + + if pad_batch: + output = output[:origin_size] + + output = torch.from_numpy(output) + if output.shape[1] == 4: + box_reg.append(output) + else: + cls_score.append(output) + + batch_img_metas = [ + data_samples.metainfo for data_samples in data['data_samples'] + ] + + preds = runner.model.bbox_head.predict_by_feat(cls_score, box_reg, batch_img_metas=batch_img_metas, rescale=True) + + batch_data_samples = runner.model.add_pred_to_datasample(input_data['data_samples'], preds) + + runner.test_evaluator.process(data_samples=batch_data_samples, data_batch=data) + + metrics = runner.test_evaluator.evaluate(len(runner.test_dataloader.dataset)) + + +if __name__ == "__main__": + main() diff --git a/models/cv/detection/rtmdet/igie/rtmdet_nano_320-8xb32_coco-person.py b/models/cv/detection/rtmdet/igie/rtmdet_nano_320-8xb32_coco-person.py new file mode 100644 index 00000000..6e71fb66 --- /dev/null +++ b/models/cv/detection/rtmdet/igie/rtmdet_nano_320-8xb32_coco-person.py @@ -0,0 +1,529 @@ +auto_scale_lr = dict(base_batch_size=16, enable=False) +backend_args = None +base_lr = 0.004 +custom_hooks = [ + dict( + ema_type='ExpMomentumEMA', + momentum=0.0002, + priority=49, + type='EMAHook', + update_buffers=True), + dict( + switch_epoch=280, + switch_pipeline=[ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + keep_ratio=True, + ratio_range=( + 0.5, + 1.5, + ), + scale=( + 320, + 320, + ), + type='RandomResize'), + dict(crop_size=( + 320, + 320, + ), type='RandomCrop'), + dict(type='YOLOXHSVRandomAug'), + dict(prob=0.5, type='RandomFlip'), + dict( + pad_val=dict(img=( + 114, + 114, + 114, + )), + size=( + 320, + 320, + ), + type='Pad'), + dict(type='PackDetInputs'), + ], + type='PipelineSwitchHook'), +] +data_root = 'data/coco/' +dataset_type = 'CocoDataset' +default_hooks = dict( + checkpoint=dict( + _scope_='mmdet', interval=10, max_keep_ckpts=3, type='CheckpointHook'), + logger=dict(_scope_='mmdet', interval=50, type='LoggerHook'), + param_scheduler=dict(_scope_='mmdet', type='ParamSchedulerHook'), + sampler_seed=dict(_scope_='mmdet', type='DistSamplerSeedHook'), + timer=dict(_scope_='mmdet', type='IterTimerHook'), + visualization=dict(_scope_='mmdet', type='DetVisualizationHook')) +default_scope = 'mmdet' +env_cfg = dict( + cudnn_benchmark=False, + dist_cfg=dict(backend='nccl'), + mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) +img_scales = [ + ( + 640, + 640, + ), + ( + 320, + 320, + ), + ( + 960, + 960, + ), +] +input_shape = 320 +interval = 10 +load_from = None +log_level = 'ERROR' +log_processor = dict( + _scope_='mmdet', by_epoch=True, type='LogProcessor', window_size=50) +max_epochs = 300 +model = dict( + _scope_='mmdet', + backbone=dict( + act_cfg=dict(inplace=True, type='SiLU'), + arch='P5', + channel_attention=True, + deepen_factor=0.33, + expand_ratio=0.5, + norm_cfg=dict(type='SyncBN'), + type='CSPNeXt', + use_depthwise=True, + widen_factor=0.25), + bbox_head=dict( + act_cfg=dict(inplace=True, type='SiLU'), + anchor_generator=dict( + offset=0, strides=[ + 8, + 16, + 32, + ], type='MlvlPointGenerator'), + bbox_coder=dict(type='DistancePointBBoxCoder'), + exp_on_reg=False, + feat_channels=64, + in_channels=64, + loss_bbox=dict(loss_weight=2.0, type='GIoULoss'), + loss_cls=dict( + beta=2.0, + loss_weight=1.0, + type='QualityFocalLoss', + use_sigmoid=True), + norm_cfg=dict(type='SyncBN'), + num_classes=1, + pred_kernel_size=1, + share_conv=False, + stacked_convs=2, + type='RTMDetSepBNHead', + use_depthwise=True, + with_objectness=False), + data_preprocessor=dict( + batch_augments=None, + bgr_to_rgb=False, + mean=[ + 103.53, + 116.28, + 123.675, + ], + std=[ + 57.375, + 57.12, + 58.395, + ], + type='DetDataPreprocessor'), + neck=dict( + act_cfg=dict(inplace=True, type='SiLU'), + expand_ratio=0.5, + in_channels=[ + 64, + 128, + 256, + ], + norm_cfg=dict(type='SyncBN'), + num_csp_blocks=1, + out_channels=64, + type='CSPNeXtPAFPN', + use_depthwise=True), + test_cfg=dict( + max_per_img=100, + min_bbox_size=0, + nms=dict(iou_threshold=0.6, type='nms'), + nms_pre=1000, + score_thr=0.05), + train_cfg=dict( + allowed_border=-1, + assigner=dict(topk=13, type='DynamicSoftLabelAssigner'), + debug=False, + pos_weight=-1), + type='RTMDet') +optim_wrapper = dict( + _scope_='mmdet', + optimizer=dict(lr=0.004, type='AdamW', weight_decay=0.05), + paramwise_cfg=dict( + bias_decay_mult=0, bypass_duplicate=True, norm_decay_mult=0), + type='OptimWrapper') +param_scheduler = [ + dict( + _scope_='mmdet', + begin=0, + by_epoch=False, + end=1000, + start_factor=1e-05, + type='LinearLR'), + dict( + T_max=150, + _scope_='mmdet', + begin=150, + by_epoch=True, + convert_to_iter_based=True, + end=300, + eta_min=0.0002, + type='CosineAnnealingLR'), +] +resume = False +stage2_num_epochs = 20 +test_cfg = dict(_scope_='mmdet', type='TestLoop') +test_dataloader = dict( + batch_size=32, + dataset=dict( + _scope_='mmdet', + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='images/val2017/'), + data_root='/root/.igie_cache/data/datasets/coco', + metainfo=dict(classes=('person', )), + pipeline=[ + dict(type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 320, + 320, + ), type='Resize'), + dict( + pad_val=dict(img=( + 114, + 114, + 114, + )), + size=( + 320, + 320, + ), + type='Pad'), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=10, + persistent_workers=True, + sampler=dict(_scope_='mmdet', shuffle=False, type='DefaultSampler')) +test_evaluator = dict( + _scope_='mmdet', + ann_file= + '/root/.igie_cache/data/datasets/coco/annotations/person_keypoints_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + proposal_nums=( + 100, + 1, + 10, + ), + type='CocoMetric') +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 320, + 320, + ), type='Resize'), + dict(pad_val=dict(img=( + 114, + 114, + 114, + )), size=( + 320, + 320, + ), type='Pad'), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), +] +train_cfg = dict( + _scope_='mmdet', + dynamic_intervals=[ + ( + 280, + 1, + ), + ], + max_epochs=300, + type='EpochBasedTrainLoop', + val_interval=10) +train_dataloader = dict( + batch_sampler=None, + batch_size=32, + dataset=dict( + _scope_='mmdet', + ann_file='annotations/instances_train2017.json', + backend_args=None, + data_prefix=dict(img='train2017/'), + data_root='data/coco/', + filter_cfg=dict(filter_empty_gt=True, min_size=32), + metainfo=dict(classes=('person', )), + pipeline=[ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + img_scale=( + 320, + 320, + ), + max_cached_images=20, + pad_val=114.0, + random_pop=False, + type='CachedMosaic'), + dict( + keep_ratio=True, + ratio_range=( + 0.5, + 1.5, + ), + scale=( + 640, + 640, + ), + type='RandomResize'), + dict(crop_size=( + 320, + 320, + ), type='RandomCrop'), + dict(type='YOLOXHSVRandomAug'), + dict(prob=0.5, type='RandomFlip'), + dict( + pad_val=dict(img=( + 114, + 114, + 114, + )), + size=( + 320, + 320, + ), + type='Pad'), + dict(type='PackDetInputs'), + ], + type='CocoDataset'), + num_workers=10, + persistent_workers=True, + pin_memory=True, + sampler=dict(_scope_='mmdet', shuffle=True, type='DefaultSampler')) +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + img_scale=( + 320, + 320, + ), + max_cached_images=20, + pad_val=114.0, + random_pop=False, + type='CachedMosaic'), + dict( + keep_ratio=True, + ratio_range=( + 0.5, + 1.5, + ), + scale=( + 640, + 640, + ), + type='RandomResize'), + dict(crop_size=( + 320, + 320, + ), type='RandomCrop'), + dict(type='YOLOXHSVRandomAug'), + dict(prob=0.5, type='RandomFlip'), + dict(pad_val=dict(img=( + 114, + 114, + 114, + )), size=( + 320, + 320, + ), type='Pad'), + dict(type='PackDetInputs'), +] +train_pipeline_stage2 = [ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + keep_ratio=True, + ratio_range=( + 0.5, + 1.5, + ), + scale=( + 320, + 320, + ), + type='RandomResize'), + dict(crop_size=( + 320, + 320, + ), type='RandomCrop'), + dict(type='YOLOXHSVRandomAug'), + dict(prob=0.5, type='RandomFlip'), + dict(pad_val=dict(img=( + 114, + 114, + 114, + )), size=( + 320, + 320, + ), type='Pad'), + dict(type='PackDetInputs'), +] +tta_model = dict( + _scope_='mmdet', + tta_cfg=dict(max_per_img=100, nms=dict(iou_threshold=0.6, type='nms')), + type='DetTTAModel') +tta_pipeline = [ + dict(_scope_='mmdet', backend_args=None, type='LoadImageFromFile'), + dict( + _scope_='mmdet', + transforms=[ + [ + dict(keep_ratio=True, scale=( + 640, + 640, + ), type='Resize'), + dict(keep_ratio=True, scale=( + 320, + 320, + ), type='Resize'), + dict(keep_ratio=True, scale=( + 960, + 960, + ), type='Resize'), + ], + [ + dict(prob=1.0, type='RandomFlip'), + dict(prob=0.0, type='RandomFlip'), + ], + [ + dict( + pad_val=dict(img=( + 114, + 114, + 114, + )), + size=( + 960, + 960, + ), + type='Pad'), + ], + [ + dict(type='LoadAnnotations', with_bbox=True), + ], + [ + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + 'flip', + 'flip_direction', + ), + type='PackDetInputs'), + ], + ], + type='TestTimeAug'), +] +val_cfg = dict(_scope_='mmdet', type='ValLoop') +val_dataloader = dict( + batch_size=5, + dataset=dict( + _scope_='mmdet', + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='val2017/'), + data_root='data/coco/', + metainfo=dict(classes=('person', )), + pipeline=[ + dict(type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 320, + 320, + ), type='Resize'), + dict( + pad_val=dict(img=( + 114, + 114, + 114, + )), + size=( + 320, + 320, + ), + type='Pad'), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=10, + persistent_workers=True, + sampler=dict(_scope_='mmdet', shuffle=False, type='DefaultSampler')) +val_evaluator = dict( + _scope_='mmdet', + ann_file='data/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + proposal_nums=( + 100, + 1, + 10, + ), + type='CocoMetric') +vis_backends = [ + dict(_scope_='mmdet', type='LocalVisBackend'), +] +visualizer = dict( + _scope_='mmdet', + name='visualizer', + type='DetLocalVisualizer', + vis_backends=[ + dict(type='LocalVisBackend'), + ]) +work_dir = './' diff --git a/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_accuracy.sh b/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_accuracy.sh new file mode 100644 index 00000000..c199f840 --- /dev/null +++ b/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="rtmdet_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,320,320 \ + --precision fp16 \ + --engine_path rtmdet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine rtmdet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_performance.sh b/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_performance.sh new file mode 100644 index 00000000..dbf78ee8 --- /dev/null +++ b/models/cv/detection/rtmdet/igie/scripts/infer_rtmdet_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="rtmdet_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,320,320 \ + --precision fp16 \ + --engine_path rtmdet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine rtmdet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From f9ff980bb019964e00539d6a5c09e2a55fdd3a43 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Mon, 8 Jul 2024 23:36:31 +0800 Subject: [PATCH 03/17] Add: convnext small inference script. --- .../convnext_small/igie/README.md | 47 +++++ .../convnext_small/igie/build_engine.py | 73 +++++++ .../convnext_small/igie/export.py | 61 ++++++ .../convnext_small/igie/inference.py | 186 ++++++++++++++++++ .../infer_convnext_small_fp16_accuracy.sh | 35 ++++ .../infer_convnext_small_fp16_performance.sh | 36 ++++ 6 files changed, 438 insertions(+) create mode 100644 models/cv/classification/convnext_small/igie/README.md create mode 100644 models/cv/classification/convnext_small/igie/build_engine.py create mode 100644 models/cv/classification/convnext_small/igie/export.py create mode 100644 models/cv/classification/convnext_small/igie/inference.py create mode 100644 models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_accuracy.sh create mode 100644 models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_performance.sh diff --git a/models/cv/classification/convnext_small/igie/README.md b/models/cv/classification/convnext_small/igie/README.md new file mode 100644 index 00000000..d86cb84e --- /dev/null +++ b/models/cv/classification/convnext_small/igie/README.md @@ -0,0 +1,47 @@ +# ConvNext Small + +## Description + +The ConvNeXt Small model represents a significant stride in the evolution of convolutional neural networks (CNNs), introduced by researchers at Facebook AI Research (FAIR) and UC Berkeley. It is part of the ConvNeXt family, which challenges the dominance of Vision Transformers (ViTs) in the realm of visual recognition tasks. + +## Setup + +### Install + +```bash +pip3 install onnx +pip3 install tqdm +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +python3 export.py --weight convnext_small-0c510722.pth --output convnext_small.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_convnext_small_fp16_accuracy.sh +# Performance +bash scripts/infer_convnext_small_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +---------------|-----------|----------|----------|---------|-------- +ConvNext Small | 32 | FP16 | 452.689 | 83.26 | 96.51 diff --git a/models/cv/classification/convnext_small/igie/build_engine.py b/models/cv/classification/convnext_small/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/convnext_small/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/convnext_small/igie/export.py b/models/cv/classification/convnext_small/igie/export.py new file mode 100644 index 00000000..1ec39771 --- /dev/null +++ b/models/cv/classification/convnext_small/igie/export.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torchvision +import argparse + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + model = torchvision.models.convnext_small() + model.load_state_dict(torch.load(args.weight)) + model.eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/convnext_small/igie/inference.py b/models/cv/classification/convnext_small/igie/inference.py new file mode 100644 index 00000000..3aef3ec7 --- /dev/null +++ b/models/cv/classification/convnext_small/igie/inference.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256, interpolation=InterpolationMode.BILINEAR), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_accuracy.sh b/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_accuracy.sh new file mode 100644 index 00000000..c7837d79 --- /dev/null +++ b/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="convnext_small.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path convnext_small_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine convnext_small_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_performance.sh b/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_performance.sh new file mode 100644 index 00000000..cde8da5a --- /dev/null +++ b/models/cv/classification/convnext_small/igie/scripts/infer_convnext_small_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="convnext_small.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path convnext_small_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine convnext_small_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From f730fa11afb369f5b7348e1a0d1bcd663575f1ef Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Mon, 8 Jul 2024 23:44:42 +0800 Subject: [PATCH 04/17] Add: densenet169 inference script. --- .../classification/densenet169/igie/README.md | 47 +++++ .../densenet169/igie/build_engine.py | 73 +++++++ .../classification/densenet169/igie/export.py | 74 +++++++ .../densenet169/igie/inference.py | 186 ++++++++++++++++++ .../infer_densenet169_fp16_accuracy.sh | 35 ++++ .../infer_densenet169_fp16_performance.sh | 36 ++++ 6 files changed, 451 insertions(+) create mode 100644 models/cv/classification/densenet169/igie/README.md create mode 100644 models/cv/classification/densenet169/igie/build_engine.py create mode 100644 models/cv/classification/densenet169/igie/export.py create mode 100644 models/cv/classification/densenet169/igie/inference.py create mode 100644 models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_accuracy.sh create mode 100644 models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_performance.sh diff --git a/models/cv/classification/densenet169/igie/README.md b/models/cv/classification/densenet169/igie/README.md new file mode 100644 index 00000000..04e0d3d5 --- /dev/null +++ b/models/cv/classification/densenet169/igie/README.md @@ -0,0 +1,47 @@ +# DenseNet169 + +## Description + +DenseNet-169 is a variant of the Dense Convolutional Network (DenseNet) architecture, characterized by its 169 layers and a growth rate of 32. This network leverages the dense connectivity pattern, where each layer is connected to every other layer in a feed-forward fashion, resulting in a substantial increase in the number of direct connections compared to traditional convolutional networks. This connectivity pattern facilitates the reuse of features and enhances the flow of information and gradients throughout the network, which is particularly beneficial for deep architectures. + +## Setup + +### Install + +```bash +pip3 install onnx +pip3 install tqdm +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +python3 export.py --weight densenet169-b2777c0a.pth --output densenet169.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_densenet169_fp16_accuracy.sh +# Performance +bash scripts/infer_densenet169_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +------------|-----------|----------|---------|---------|-------- +DenseNet169 | 32 | FP16 | 865.156 | 75.54 | 92.77 diff --git a/models/cv/classification/densenet169/igie/build_engine.py b/models/cv/classification/densenet169/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/densenet169/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/densenet169/igie/export.py b/models/cv/classification/densenet169/igie/export.py new file mode 100644 index 00000000..44c72690 --- /dev/null +++ b/models/cv/classification/densenet169/igie/export.py @@ -0,0 +1,74 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torchvision +import argparse +import re + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + model = torchvision.models.densenet169(weights=False) + + state_dict = torch.load(args.weight) + + pattern = re.compile(r'^(.*denselayer\d+\.(?:norm|relu|conv))\.((?:[12])\.(?:weight|bias|running_mean|running_var))$' + ) + for key in list(state_dict.keys()): + res = pattern.match(key) + if res: + new_key = res.group(1) + res.group(2) + state_dict[new_key] = state_dict[key] + del state_dict[key] + + model.load_state_dict(state_dict) + model.eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/densenet169/igie/inference.py b/models/cv/classification/densenet169/igie/inference.py new file mode 100644 index 00000000..3aef3ec7 --- /dev/null +++ b/models/cv/classification/densenet169/igie/inference.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256, interpolation=InterpolationMode.BILINEAR), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_accuracy.sh b/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_accuracy.sh new file mode 100644 index 00000000..6475ddcd --- /dev/null +++ b/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="densenet169.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path densenet169_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine densenet169_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_performance.sh b/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_performance.sh new file mode 100644 index 00000000..8a36fc2f --- /dev/null +++ b/models/cv/classification/densenet169/igie/scripts/infer_densenet169_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="densenet169.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path densenet169_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine densenet169_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From 3a49d89ad2d5b981a04b36759ed1bf0ec76c247e Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 9 Jul 2024 00:00:17 +0800 Subject: [PATCH 05/17] Add: efficientnet_b2 inference script. --- .../efficientnet_b2/igie/README.md | 47 +++++ .../efficientnet_b2/igie/build_engine.py | 73 +++++++ .../efficientnet_b2/igie/export.py | 61 ++++++ .../efficientnet_b2/igie/inference.py | 186 ++++++++++++++++++ .../infer_efficientnet_b2_fp16_accuracy.sh | 35 ++++ .../infer_efficientnet_b2_fp16_performance.sh | 36 ++++ 6 files changed, 438 insertions(+) create mode 100644 models/cv/classification/efficientnet_b2/igie/README.md create mode 100644 models/cv/classification/efficientnet_b2/igie/build_engine.py create mode 100644 models/cv/classification/efficientnet_b2/igie/export.py create mode 100644 models/cv/classification/efficientnet_b2/igie/inference.py create mode 100644 models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_accuracy.sh create mode 100644 models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_performance.sh diff --git a/models/cv/classification/efficientnet_b2/igie/README.md b/models/cv/classification/efficientnet_b2/igie/README.md new file mode 100644 index 00000000..d96e2b4c --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/README.md @@ -0,0 +1,47 @@ +# EfficientNet B2 + +## Description + +EfficientNet B2 is a member of the EfficientNet family, a series of convolutional neural network architectures that are designed to achieve excellent accuracy and efficiency. Introduced by researchers at Google, EfficientNets utilize the compound scaling method, which uniformly scales the depth, width, and resolution of the network to improve accuracy and efficiency. + +## Setup + +### Install + +```bash +pip3 install onnx +pip3 install tqdm +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +python3 export.py --weight efficientnet_b2_rwightman-c35c1473.pth --output efficientnet_b2.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_efficientnet_b2_fp16_accuracy.sh +# Performance +bash scripts/infer_efficientnet_b2_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +----------------|-----------|----------|---------|---------|-------- +Efficientnet_b2 | 32 | FP16 | 1010.90 | 77.75 | 93.70 diff --git a/models/cv/classification/efficientnet_b2/igie/build_engine.py b/models/cv/classification/efficientnet_b2/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/efficientnet_b2/igie/export.py b/models/cv/classification/efficientnet_b2/igie/export.py new file mode 100644 index 00000000..7761ffac --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/export.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torchvision +import argparse + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + model = torchvision.models.efficientnet_b2() + model.load_state_dict(torch.load(args.weight)) + model.eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/efficientnet_b2/igie/inference.py b/models/cv/classification/efficientnet_b2/igie/inference.py new file mode 100644 index 00000000..3aef3ec7 --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/inference.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256, interpolation=InterpolationMode.BILINEAR), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_accuracy.sh b/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_accuracy.sh new file mode 100644 index 00000000..d4ed3ef0 --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="efficientnet_b2.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path efficientnet_b2_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine efficientnet_b2_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_performance.sh b/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_performance.sh new file mode 100644 index 00000000..4b960221 --- /dev/null +++ b/models/cv/classification/efficientnet_b2/igie/scripts/infer_efficientnet_b2_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="efficientnet_b2.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path efficientnet_b2_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine efficientnet_b2_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From c473734d44b18195ade2e311320b62eed99626be Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 9 Jul 2024 00:26:36 +0800 Subject: [PATCH 06/17] Add: efficientnet_v2_m inference script. --- .../efficientnet_v2/igie/README.md | 47 +++++ .../efficientnet_v2/igie/build_engine.py | 73 +++++++ .../efficientnet_v2/igie/export.py | 61 ++++++ .../efficientnet_v2/igie/inference.py | 186 ++++++++++++++++++ .../infer_efficientnet_v2_m_fp16_accuracy.sh | 35 ++++ ...nfer_efficientnet_v2_m_fp16_performance.sh | 36 ++++ 6 files changed, 438 insertions(+) create mode 100644 models/cv/classification/efficientnet_v2/igie/README.md create mode 100644 models/cv/classification/efficientnet_v2/igie/build_engine.py create mode 100644 models/cv/classification/efficientnet_v2/igie/export.py create mode 100644 models/cv/classification/efficientnet_v2/igie/inference.py create mode 100644 models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_accuracy.sh create mode 100644 models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_performance.sh diff --git a/models/cv/classification/efficientnet_v2/igie/README.md b/models/cv/classification/efficientnet_v2/igie/README.md new file mode 100644 index 00000000..af21acd5 --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/README.md @@ -0,0 +1,47 @@ +# EfficientNet_v2 + +## Description + +EfficientNetV2 M is an optimized model in the EfficientNetV2 series, which was developed by Google researchers. It continues the legacy of the EfficientNet family, focusing on advancing the state-of-the-art in accuracy and efficiency through advanced scaling techniques and architectural innovations. + +## Setup + +### Install + +```bash +pip3 install onnx +pip3 install tqdm +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +python3 export.py --weight efficientnet_v2_m-dc08266a.pth --output efficientnet_v2_m.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_efficientnet_v2_m_fp16_accuracy.sh +# Performance +bash scripts/infer_efficientnet_v2_m_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +------------------|-----------|----------|---------|---------|-------- +Efficientnet_v2_m | 32 | FP16 | 739.68 | 79.63 | 94.45 diff --git a/models/cv/classification/efficientnet_v2/igie/build_engine.py b/models/cv/classification/efficientnet_v2/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/efficientnet_v2/igie/export.py b/models/cv/classification/efficientnet_v2/igie/export.py new file mode 100644 index 00000000..cfb9f76e --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/export.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torchvision +import argparse + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + model = torchvision.models.efficientnet_v2_m() + model.load_state_dict(torch.load(args.weight)) + model.eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/efficientnet_v2/igie/inference.py b/models/cv/classification/efficientnet_v2/igie/inference.py new file mode 100644 index 00000000..3aef3ec7 --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/inference.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256, interpolation=InterpolationMode.BILINEAR), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_accuracy.sh b/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_accuracy.sh new file mode 100644 index 00000000..d7aa78a2 --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="efficientnet_v2_m.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path efficientnet_v2_m_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine efficientnet_v2_m_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_performance.sh b/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_performance.sh new file mode 100644 index 00000000..21073983 --- /dev/null +++ b/models/cv/classification/efficientnet_v2/igie/scripts/infer_efficientnet_v2_m_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="efficientnet_v2_m.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path efficientnet_v2_m_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine efficientnet_v2_m_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From 199e3d5b0f9ca6198e183d9dafb85b3af7072252 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 9 Jul 2024 00:29:40 +0800 Subject: [PATCH 07/17] Add: shufflenetv2_x1_0 inference script. --- .../shufflenetv2_x1_0/igie/README.md | 47 +++++ .../shufflenetv2_x1_0/igie/build_engine.py | 73 +++++++ .../shufflenetv2_x1_0/igie/export.py | 61 ++++++ .../shufflenetv2_x1_0/igie/inference.py | 186 ++++++++++++++++++ .../infer_shufflenetv2_x1_0_fp16_accuracy.sh | 35 ++++ ...nfer_shufflenetv2_x1_0_fp16_performance.sh | 36 ++++ 6 files changed, 438 insertions(+) create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/README.md create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/build_engine.py create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/export.py create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/inference.py create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_accuracy.sh create mode 100644 models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_performance.sh diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/README.md b/models/cv/classification/shufflenetv2_x1_0/igie/README.md new file mode 100644 index 00000000..21c28b5d --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/README.md @@ -0,0 +1,47 @@ +# ShuffleNetV2_x1_0 + +## Description + +ShuffleNet V2_x1_0 is an efficient convolutional neural network (CNN) architecture that emphasizes a balance between computational efficiency and accuracy, particularly suited for deployment on mobile and embedded devices. The model refines the ShuffleNet series by introducing structural innovations that enhance feature reuse and reduce redundancy, all while maintaining simplicity and performance. + +## Setup + +### Install + +```bash +pip3 install onnx +pip3 install tqdm +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +python3 export.py --weight shufflenetv2_x1-5666bf0f80.pth --output shufflenetv2_x1_0.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_shufflenetv2_x1_0_fp16_accuracy.sh +# Performance +bash scripts/infer_shufflenetv2_x1_0_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +------------------|-----------|----------|----------|----------|-------- +ShuffleNetV2_x1_0 | 32 | FP16 | 5444.80 | 69.32 | 88.30 diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/build_engine.py b/models/cv/classification/shufflenetv2_x1_0/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/export.py b/models/cv/classification/shufflenetv2_x1_0/igie/export.py new file mode 100644 index 00000000..3a4ff9ba --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/export.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torchvision +import argparse + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + model = torchvision.models.shufflenet_v2_x1_0() + model.load_state_dict(torch.load(args.weight)) + model.eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/inference.py b/models/cv/classification/shufflenetv2_x1_0/igie/inference.py new file mode 100644 index 00000000..3aef3ec7 --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/inference.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms +from torchvision.transforms.functional import InterpolationMode + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256, interpolation=InterpolationMode.BILINEAR), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_accuracy.sh b/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_accuracy.sh new file mode 100644 index 00000000..91802347 --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="shufflenetv2_x1_0.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path shufflenetv2_x1_0_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine shufflenetv2_x1_0_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_performance.sh b/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_performance.sh new file mode 100644 index 00000000..21353dc7 --- /dev/null +++ b/models/cv/classification/shufflenetv2_x1_0/igie/scripts/infer_shufflenetv2_x1_0_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="shufflenetv2_x1_0.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path shufflenetv2_x1_0_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine shufflenetv2_x1_0_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From dc8c86d885903c4adea513c5271d251b352c2d1c Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Wed, 10 Jul 2024 23:20:06 +0800 Subject: [PATCH 08/17] Add: cspdarknet50 inference script. --- .../cspdarknet50/igie/README.md | 68 +++++++ .../cspdarknet50/igie/build_engine.py | 73 +++++++ .../cspdarknet50/igie/export.py | 78 ++++++++ .../cspdarknet50/igie/inference.py | 185 ++++++++++++++++++ .../scripts/infer_cspdarknet_fp16_accuracy.sh | 35 ++++ .../infer_cspdarknet_fp16_performance.sh | 36 ++++ 6 files changed, 475 insertions(+) create mode 100644 models/cv/classification/cspdarknet50/igie/README.md create mode 100644 models/cv/classification/cspdarknet50/igie/build_engine.py create mode 100644 models/cv/classification/cspdarknet50/igie/export.py create mode 100644 models/cv/classification/cspdarknet50/igie/inference.py create mode 100644 models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_accuracy.sh create mode 100644 models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_performance.sh diff --git a/models/cv/classification/cspdarknet50/igie/README.md b/models/cv/classification/cspdarknet50/igie/README.md new file mode 100644 index 00000000..4dbee6e2 --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/README.md @@ -0,0 +1,68 @@ +# CSPDarkNet50 + +## Description + +CSPDarkNet50 is an enhanced convolutional neural network architecture that reduces redundant computations by integrating cross-stage partial network features and truncating gradient flow, thereby maintaining high accuracy while lowering computational costs. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmcv==1.5.3 +pip3 install mmcls +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +# git clone mmpretrain +git clone -b v0.24.0 https://github.com/open-mmlab/mmpretrain.git + +# export onnx model +python3 export.py --cfg mmpretrain/configs/cspnet/cspdarknet50_8xb32_in1k.py --weight cspdarknet50_3rdparty_8xb32_in1k_20220329-bd275287.pth --output cspdarknet50.onnx + +# Use onnxsim optimize onnx model +onnxsim cspdarknet50.onnx cspdarknet50_opt.onnx + +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_cspdarknet_fp16_accuracy.sh +# Performance +bash scripts/infer_cspdarknet_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +-------------|-----------|----------|----------|----------|-------- +CSPDarkNet50 | 32 | FP16 | 2147.96 | 79.05 | 94.49 + +## Reference + +CSPDarkNet50: diff --git a/models/cv/classification/cspdarknet50/igie/build_engine.py b/models/cv/classification/cspdarknet50/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/cspdarknet50/igie/export.py b/models/cv/classification/cspdarknet50/igie/export.py new file mode 100644 index 00000000..7dc8d9fd --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/export.py @@ -0,0 +1,78 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. +import argparse + +import torch +from mmcls.apis import init_model + +class Model(torch.nn.Module): + def __init__(self, config_file, checkpoint_file): + super().__init__() + self.model = init_model(config_file, checkpoint_file, device="cpu") + + def forward(self, x): + feat = self.model.backbone(x) + feat = self.model.neck(feat) + out_head = self.model.head.fc(feat[0]) + return out_head + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + config_file = args.cfg + checkpoint_file = args.weight + model = Model(config_file, checkpoint_file).eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() + diff --git a/models/cv/classification/cspdarknet50/igie/inference.py b/models/cv/classification/cspdarknet50/igie/inference.py new file mode 100644 index 00000000..1b0c602a --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/inference.py @@ -0,0 +1,185 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_accuracy.sh b/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_accuracy.sh new file mode 100644 index 00000000..5a1ab2b2 --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="cspdarknet50_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path cspdarknet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine cspdarknet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_performance.sh b/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_performance.sh new file mode 100644 index 00000000..e033958c --- /dev/null +++ b/models/cv/classification/cspdarknet50/igie/scripts/infer_cspdarknet_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="cspdarknet50_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path cspdarknet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine cspdarknet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From e2dc14153ef1ab6850a3bb4dc251ecffca30b5c4 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Thu, 11 Jul 2024 00:09:45 +0800 Subject: [PATCH 09/17] Add: deit_tiny inference script. --- .../classification/deit_tiny/igie/README.md | 68 +++++++ .../deit_tiny/igie/build_engine.py | 73 +++++++ .../classification/deit_tiny/igie/export.py | 78 ++++++++ .../deit_tiny/igie/inference.py | 185 ++++++++++++++++++ .../scripts/infer_deit_tiny_fp16_accuracy.sh | 35 ++++ .../infer_deit_tiny_fp16_performance.sh | 36 ++++ 6 files changed, 475 insertions(+) create mode 100644 models/cv/classification/deit_tiny/igie/README.md create mode 100644 models/cv/classification/deit_tiny/igie/build_engine.py create mode 100644 models/cv/classification/deit_tiny/igie/export.py create mode 100644 models/cv/classification/deit_tiny/igie/inference.py create mode 100644 models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_accuracy.sh create mode 100644 models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_performance.sh diff --git a/models/cv/classification/deit_tiny/igie/README.md b/models/cv/classification/deit_tiny/igie/README.md new file mode 100644 index 00000000..741c8570 --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/README.md @@ -0,0 +1,68 @@ +# Deit tiny + +## Description + +DeiT Tiny is a lightweight vision transformer designed for data-efficient learning. It achieves rapid training and high accuracy on small datasets through innovative attention distillation methods, while maintaining the simplicity and efficiency of the model. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmcv==1.5.3 +pip3 install mmcls +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +# git clone mmpretrain +git clone -b v0.24.0 https://github.com/open-mmlab/mmpretrain.git + +# export onnx model +python3 export.py --cfg mmpretrain/configs/deit/deit-tiny_pt-4xb256_in1k.py --weight deit-tiny_pt-4xb256_in1k_20220218-13b382a0.pth --output deit_tiny.onnx + +# Use onnxsim optimize onnx model +onnxsim deit_tiny.onnx deit_tiny_opt.onnx + +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_deit_tiny_fp16_accuracy.sh +# Performance +bash scripts/infer_deit_tin_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +-------------|-----------|----------|----------|----------|-------- +Deit_tiny | 32 | FP16 | 1334.876 | 74.33 | 92.17 + +## Reference + +Deit_tiny: diff --git a/models/cv/classification/deit_tiny/igie/build_engine.py b/models/cv/classification/deit_tiny/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/deit_tiny/igie/export.py b/models/cv/classification/deit_tiny/igie/export.py new file mode 100644 index 00000000..0078670f --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/export.py @@ -0,0 +1,78 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. +import argparse + +import torch +from mmcls.apis import init_model + +class Model(torch.nn.Module): + def __init__(self, config_file, checkpoint_file): + super().__init__() + self.model = init_model(config_file, checkpoint_file, device="cpu") + + def forward(self, x): + feat = self.model.backbone(x) + head = self.model.head.pre_logits(feat) + out_head = self.model.head.layers.head(head) + return out_head + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + config_file = args.cfg + checkpoint_file = args.weight + model = Model(config_file, checkpoint_file).eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() + diff --git a/models/cv/classification/deit_tiny/igie/inference.py b/models/cv/classification/deit_tiny/igie/inference.py new file mode 100644 index 00000000..1b0c602a --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/inference.py @@ -0,0 +1,185 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_accuracy.sh b/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_accuracy.sh new file mode 100644 index 00000000..f6f9a8fb --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="deit_tiny_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path deit_tiny_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine deit_tiny_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} diff --git a/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_performance.sh b/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_performance.sh new file mode 100644 index 00000000..a21f13b2 --- /dev/null +++ b/models/cv/classification/deit_tiny/igie/scripts/infer_deit_tiny_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="deit_tiny_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path deit_tiny_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine deit_tiny_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From 3cb3750ffe3e53f401a727f8134ec6afadcb36ef Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Thu, 11 Jul 2024 00:39:06 +0800 Subject: [PATCH 10/17] Add: repvgg inference script. --- .../cv/classification/repvgg/igie/README.md | 64 ++++++ .../repvgg/igie/build_engine.py | 73 +++++++ .../cv/classification/repvgg/igie/export.py | 78 ++++++++ .../classification/repvgg/igie/inference.py | 185 ++++++++++++++++++ .../scripts/infer_repvgg_fp16_accuracy.sh | 35 ++++ .../scripts/infer_repvgg_fp16_performance.sh | 36 ++++ 6 files changed, 471 insertions(+) create mode 100644 models/cv/classification/repvgg/igie/README.md create mode 100644 models/cv/classification/repvgg/igie/build_engine.py create mode 100644 models/cv/classification/repvgg/igie/export.py create mode 100644 models/cv/classification/repvgg/igie/inference.py create mode 100644 models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_accuracy.sh create mode 100644 models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_performance.sh diff --git a/models/cv/classification/repvgg/igie/README.md b/models/cv/classification/repvgg/igie/README.md new file mode 100644 index 00000000..58d3f8e5 --- /dev/null +++ b/models/cv/classification/repvgg/igie/README.md @@ -0,0 +1,64 @@ +# RepVGG + +## Description + +RepVGG is an innovative convolutional neural network architecture that combines the simplicity of VGG-style inference with a multi-branch topology during training. Through structural re-parameterization, RepVGG achieves high accuracy while significantly improving computational efficiency. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install mmcv==1.5.3 +pip3 install mmcls +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +# git clone mmpretrain +git clone -b v0.24.0 https://github.com/open-mmlab/mmpretrain.git + +# export onnx model +python3 export.py --cfg mmpretrain/configs/repvgg/repvgg-A0_4xb64-coslr-120e_in1k.py --weight repvgg-A0_8xb32_in1k_20221213-60ae8e23.pth --output repvgg.onnx + +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_repvgg_fp16_accuracy.sh +# Performance +bash scripts/infer_repvgg_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +----------|-----------|----------|----------|----------|-------- +RepVGG | 32 | FP16 | 5477.21 | 72.34 | 90.5 + +## Reference + +RepVGG: diff --git a/models/cv/classification/repvgg/igie/build_engine.py b/models/cv/classification/repvgg/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/repvgg/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/repvgg/igie/export.py b/models/cv/classification/repvgg/igie/export.py new file mode 100644 index 00000000..7dc8d9fd --- /dev/null +++ b/models/cv/classification/repvgg/igie/export.py @@ -0,0 +1,78 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. +import argparse + +import torch +from mmcls.apis import init_model + +class Model(torch.nn.Module): + def __init__(self, config_file, checkpoint_file): + super().__init__() + self.model = init_model(config_file, checkpoint_file, device="cpu") + + def forward(self, x): + feat = self.model.backbone(x) + feat = self.model.neck(feat) + out_head = self.model.head.fc(feat[0]) + return out_head + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + config_file = args.cfg + checkpoint_file = args.weight + model = Model(config_file, checkpoint_file).eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() + diff --git a/models/cv/classification/repvgg/igie/inference.py b/models/cv/classification/repvgg/igie/inference.py new file mode 100644 index 00000000..1b0c602a --- /dev/null +++ b/models/cv/classification/repvgg/igie/inference.py @@ -0,0 +1,185 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_accuracy.sh b/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_accuracy.sh new file mode 100644 index 00000000..37f6fcb2 --- /dev/null +++ b/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="repvgg.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path repvgg_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine repvgg_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_performance.sh b/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_performance.sh new file mode 100644 index 00000000..ad29f598 --- /dev/null +++ b/models/cv/classification/repvgg/igie/scripts/infer_repvgg_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="repvgg.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path repvgg_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine repvgg_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From 148e6b2978c0fca359d4d938c56fe8684c2b1b26 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Thu, 11 Jul 2024 01:02:06 +0800 Subject: [PATCH 11/17] Add: seresnet50 inference script. --- .../classification/se_resnet50/igie/README.md | 64 ++++++ .../se_resnet50/igie/build_engine.py | 73 +++++++ .../classification/se_resnet50/igie/export.py | 78 ++++++++ .../se_resnet50/igie/inference.py | 185 ++++++++++++++++++ .../scripts/infer_seresnet_fp16_accuracy.sh | 35 ++++ .../infer_seresnet_fp16_performance.sh | 36 ++++ 6 files changed, 471 insertions(+) create mode 100644 models/cv/classification/se_resnet50/igie/README.md create mode 100644 models/cv/classification/se_resnet50/igie/build_engine.py create mode 100644 models/cv/classification/se_resnet50/igie/export.py create mode 100644 models/cv/classification/se_resnet50/igie/inference.py create mode 100644 models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_accuracy.sh create mode 100644 models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_performance.sh diff --git a/models/cv/classification/se_resnet50/igie/README.md b/models/cv/classification/se_resnet50/igie/README.md new file mode 100644 index 00000000..57f79c91 --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/README.md @@ -0,0 +1,64 @@ +# SEResNet50 + +## Description + +SEResNet50 is an enhanced version of the ResNet50 network integrated with Squeeze-and-Excitation (SE) blocks, which strengthens the network's feature expression capability by explicitly emphasizing useful features and suppressing irrelevant ones. This improvement enables SEResNet50 to demonstrate higher accuracy in various visual recognition tasks compared to the standard ResNet50. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install mmcv==1.5.3 +pip3 install mmcls +``` + +### Download + +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion + +```bash +# git clone mmpretrain +git clone -b v0.24.0 https://github.com/open-mmlab/mmpretrain.git + +# export onnx model +python3 export.py --cfg mmpretrain/configs/seresnet/seresnet50_8xb32_in1k.py --weight se-resnet50_batch256_imagenet_20200804-ae206104.pth --output seresnet50.onnx + +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/imagenet_val/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_seresnet_fp16_accuracy.sh +# Performance +bash scripts/infer_seresnet_fp16_performance.sh +``` + +## Results + +Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) +-------------|-----------|----------|----------|----------|-------- +SEResNet50 | 32 | FP16 | 1438.95 | 77.70 | 93.81 + +## Reference + +SE_ResNet50: diff --git a/models/cv/classification/se_resnet50/igie/build_engine.py b/models/cv/classification/se_resnet50/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/classification/se_resnet50/igie/export.py b/models/cv/classification/se_resnet50/igie/export.py new file mode 100644 index 00000000..7dc8d9fd --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/export.py @@ -0,0 +1,78 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. +import argparse + +import torch +from mmcls.apis import init_model + +class Model(torch.nn.Module): + def __init__(self, config_file, checkpoint_file): + super().__init__() + self.model = init_model(config_file, checkpoint_file, device="cpu") + + def forward(self, x): + feat = self.model.backbone(x) + feat = self.model.neck(feat) + out_head = self.model.head.fc(feat[0]) + return out_head + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + config_file = args.cfg + checkpoint_file = args.weight + model = Model(config_file, checkpoint_file).eval() + + input_names = ['input'] + output_names = ['output'] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 224, 224) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() + diff --git a/models/cv/classification/se_resnet50/igie/inference.py b/models/cv/classification/se_resnet50/igie/inference.py new file mode 100644 index 00000000..1b0c602a --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/inference.py @@ -0,0 +1,185 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import sys +import argparse +import tvm +import torch +import torchvision +import numpy as np +from tvm import relay +from tqdm import tqdm +from torchvision import transforms + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--num_workers", + type=int, + default=16, + help="number of workers used in pytorch dataloader.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def get_dataloader(data_path, batch_size, num_workers): + dataset = torchvision.datasets.ImageFolder( + data_path, + transforms.Compose( + [ + transforms.Resize(256), + transforms.CenterCrop(224), + transforms.PILToTensor(), + transforms.ConvertImageDtype(torch.float), + transforms.Normalize( + mean=(0.485, 0.456, 0.406), + std=(0.229, 0.224, 0.225) + ) + ] + ) + ) + + dataloader = torch.utils.data.DataLoader(dataset, batch_size, num_workers=num_workers) + + return dataloader + +def get_topk_accuracy(pred, label): + if isinstance(pred, np.ndarray): + pred = torch.from_numpy(pred) + + if isinstance(label, np.ndarray): + label = torch.from_numpy(label) + + top1_acc = 0 + top5_acc = 0 + for idx in range(len(label)): + label_value = label[idx] + if label_value == torch.topk(pred[idx].float(), 1).indices.data: + top1_acc += 1 + top5_acc += 1 + + elif label_value in torch.topk(pred[idx].float(), 5).indices.data: + top5_acc += 1 + + return top1_acc, top5_acc + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # get dataloader + dataloader = get_dataloader(args.datasets, batch_size, args.num_workers) + + top1_acc = 0 + top5_acc = 0 + total_num = 0 + + for image, label in tqdm(dataloader): + + # pad the last batch + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input(args.input_name, tvm.nd.array(image, device)) + + # run inference + module.run() + + pred = module.get_output(0).asnumpy() + + if pad_batch: + pred = pred[:origin_size] + + # get batch accuracy + batch_top1_acc, batch_top5_acc = get_topk_accuracy(pred, label) + + top1_acc += batch_top1_acc + top5_acc += batch_top5_acc + total_num += batch_size + + result_stat = {} + result_stat["acc@1"] = round(top1_acc / total_num * 100.0, 3) + result_stat["acc@5"] = round(top5_acc / total_num * 100.0, 3) + + print(f"\n* Top1 acc: {result_stat['acc@1']} %, Top5 acc: {result_stat['acc@5']} %") + +if __name__ == "__main__": + main() diff --git a/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_accuracy.sh b/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_accuracy.sh new file mode 100644 index 00000000..c861e85b --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="seresnet50.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path seresnet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine seresnet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_performance.sh b/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_performance.sh new file mode 100644 index 00000000..caaeaa7c --- /dev/null +++ b/models/cv/classification/se_resnet50/igie/scripts/infer_seresnet_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="seresnet50.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,224,224 \ + --precision fp16 \ + --engine_path seresnet_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine seresnet_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From f061294c7f2102d857a9a8ead710db77904769a7 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 16 Jul 2024 00:34:47 +0800 Subject: [PATCH 12/17] Add: atss inference script. --- models/cv/detection/atss/igie/README.md | 60 ++++ .../atss/igie/atss_r50_fpn_1x_coco.py | 285 ++++++++++++++++++ models/cv/detection/atss/igie/build_engine.py | 73 +++++ .../cv/detection/atss/igie/deploy_default.py | 41 +++ models/cv/detection/atss/igie/export.py | 72 +++++ models/cv/detection/atss/igie/inference.py | 160 ++++++++++ .../igie/scripts/infer_atss_fp16_accuracy.sh | 35 +++ .../scripts/infer_atss_fp16_performance.sh | 36 +++ 8 files changed, 762 insertions(+) create mode 100644 models/cv/detection/atss/igie/README.md create mode 100755 models/cv/detection/atss/igie/atss_r50_fpn_1x_coco.py create mode 100644 models/cv/detection/atss/igie/build_engine.py create mode 100644 models/cv/detection/atss/igie/deploy_default.py create mode 100644 models/cv/detection/atss/igie/export.py create mode 100644 models/cv/detection/atss/igie/inference.py create mode 100644 models/cv/detection/atss/igie/scripts/infer_atss_fp16_accuracy.sh create mode 100644 models/cv/detection/atss/igie/scripts/infer_atss_fp16_performance.sh diff --git a/models/cv/detection/atss/igie/README.md b/models/cv/detection/atss/igie/README.md new file mode 100644 index 00000000..c64581d4 --- /dev/null +++ b/models/cv/detection/atss/igie/README.md @@ -0,0 +1,60 @@ +# ATSS + +## Description + +ATSS is an advanced adaptive training sample selection method that effectively enhances the performance of both anchor-based and anchor-free object detectors by dynamically choosing positive and negative samples based on the statistical characteristics of objects. The design of ATSS reduces reliance on hyperparameters, simplifies the sample selection process, and significantly improves detection accuracy without adding extra computational costs. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmdet==3.3.0 +pip3 install mmdeploy==1.3.1 +pip3 install mmengine==0.10.4 +``` + +### Download +Pretrained model: + +Dataset: to download the validation dataset. + + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight atss_r50_fpn_1x_coco_20200209-985f7bd0.pth --cfg atss_r50_fpn_1x_coco.py --output atss.onnx + +# use onnxsim optimize onnx model +onnxsim atss.onnx atss_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/coco/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_atss_fp16_accuracy.sh +# Performance +bash scripts/infer_atss_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Input Shape | Precision | FPS | mAP@0.5(%) | +| :-------: | :-------: | :---------: | :-------: | :-------: | :--------: | +| ATSS | 32 | 800x800 | FP16 | 81.671 | 0.541 | \ No newline at end of file diff --git a/models/cv/detection/atss/igie/atss_r50_fpn_1x_coco.py b/models/cv/detection/atss/igie/atss_r50_fpn_1x_coco.py new file mode 100755 index 00000000..0378cf0b --- /dev/null +++ b/models/cv/detection/atss/igie/atss_r50_fpn_1x_coco.py @@ -0,0 +1,285 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +auto_scale_lr = dict(base_batch_size=16, enable=False) +backend_args = None +data_root = 'data/coco/' +dataset_type = 'CocoDataset' +default_hooks = dict( + checkpoint=dict(interval=1, type='CheckpointHook'), + logger=dict(interval=50, type='LoggerHook'), + param_scheduler=dict(type='ParamSchedulerHook'), + sampler_seed=dict(type='DistSamplerSeedHook'), + timer=dict(type='IterTimerHook'), + visualization=dict(type='DetVisualizationHook')) +default_scope = 'mmdet' +env_cfg = dict( + cudnn_benchmark=False, + dist_cfg=dict(backend='nccl'), + mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) +load_from = None +log_level = 'ERROR' +log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50) +model = dict( + backbone=dict( + depth=50, + frozen_stages=1, + init_cfg=dict(checkpoint='torchvision://resnet50', type='Pretrained'), + norm_cfg=dict(requires_grad=True, type='BN'), + norm_eval=True, + num_stages=4, + out_indices=( + 0, + 1, + 2, + 3, + ), + style='pytorch', + type='ResNet'), + bbox_head=dict( + anchor_generator=dict( + octave_base_scale=8, + ratios=[ + 1.0, + ], + scales_per_octave=1, + strides=[ + 8, + 16, + 32, + 64, + 128, + ], + type='AnchorGenerator'), + bbox_coder=dict( + target_means=[ + 0.0, + 0.0, + 0.0, + 0.0, + ], + target_stds=[ + 0.1, + 0.1, + 0.2, + 0.2, + ], + type='DeltaXYWHBBoxCoder'), + feat_channels=256, + in_channels=256, + loss_bbox=dict(loss_weight=2.0, type='GIoULoss'), + loss_centerness=dict( + loss_weight=1.0, type='CrossEntropyLoss', use_sigmoid=True), + loss_cls=dict( + alpha=0.25, + gamma=2.0, + loss_weight=1.0, + type='FocalLoss', + use_sigmoid=True), + num_classes=80, + stacked_convs=4, + type='ATSSHead'), + data_preprocessor=dict( + bgr_to_rgb=True, + mean=[ + 123.675, + 116.28, + 103.53, + ], + pad_size_divisor=32, + std=[ + 58.395, + 57.12, + 57.375, + ], + type='DetDataPreprocessor'), + neck=dict( + add_extra_convs='on_output', + in_channels=[ + 256, + 512, + 1024, + 2048, + ], + num_outs=5, + out_channels=256, + start_level=1, + type='FPN'), + test_cfg=dict( + max_per_img=100, + min_bbox_size=0, + nms=dict(iou_threshold=0.6, type='nms'), + nms_pre=1000, + score_thr=0.05), + train_cfg=dict( + allowed_border=-1, + assigner=dict(topk=9, type='ATSSAssigner'), + debug=False, + pos_weight=-1), + type='ATSS') +optim_wrapper = dict( + optimizer=dict(lr=0.02, momentum=0.9, type='SGD', weight_decay=0.0001), + type='OptimWrapper') +param_scheduler = [ + dict( + begin=0, by_epoch=False, end=500, start_factor=0.001, type='LinearLR'), + dict( + begin=0, + by_epoch=True, + end=12, + gamma=0.1, + milestones=[ + 8, + 11, + ], + type='MultiStepLR'), +] +resume = False +test_cfg = dict(type='TestLoop') +test_dataloader = dict( + batch_size=32, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='images/val2017/'), + data_root='/root/.igie_cache/modelzoo_data/datasets/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=False, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +test_evaluator = dict( + ann_file= + '/root/.igie_cache/modelzoo_data/datasets/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +test_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=False, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), +] +train_cfg = dict(max_epochs=12, type='EpochBasedTrainLoop', val_interval=1) +train_dataloader = dict( + batch_sampler=dict(type='AspectRatioBatchSampler'), + batch_size=2, + dataset=dict( + ann_file='annotations/instances_train2017.json', + backend_args=None, + data_prefix=dict(img='train2017/'), + data_root='data/coco/', + filter_cfg=dict(filter_empty_gt=True, min_size=32), + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), + ], + type='CocoDataset'), + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=True, type='DefaultSampler')) +train_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), +] +val_cfg = dict(type='ValLoop') +val_dataloader = dict( + batch_size=1, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='val2017/'), + data_root='data/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=False, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +val_evaluator = dict( + ann_file='data/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +vis_backends = [ + dict(type='LocalVisBackend'), +] +visualizer = dict( + name='visualizer', + type='DetLocalVisualizer', + vis_backends=[ + dict(type='LocalVisBackend'), + ]) +work_dir = './' diff --git a/models/cv/detection/atss/igie/build_engine.py b/models/cv/detection/atss/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/detection/atss/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/detection/atss/igie/deploy_default.py b/models/cv/detection/atss/igie/deploy_default.py new file mode 100644 index 00000000..b8d8e43d --- /dev/null +++ b/models/cv/detection/atss/igie/deploy_default.py @@ -0,0 +1,41 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +onnx_config = dict( + type='onnx', + export_params=True, + keep_initializers_as_inputs=False, + opset_version=11, + save_file='end2end.onnx', + input_names=['input'], + output_names=['output'], + input_shape=None, + optimize=True) + +codebase_config = dict( + type='mmdet', + task='ObjectDetection', + model_type='end2end', + post_processing=dict( + score_threshold=0.05, + confidence_threshold=0.005, + iou_threshold=0.5, + max_output_boxes_per_class=200, + pre_top_k=5000, + keep_top_k=100, + background_label_id=-1, + )) + +backend_config = dict(type='onnxruntime') \ No newline at end of file diff --git a/models/cv/detection/atss/igie/export.py b/models/cv/detection/atss/igie/export.py new file mode 100644 index 00000000..13573c9d --- /dev/null +++ b/models/cv/detection/atss/igie/export.py @@ -0,0 +1,72 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import argparse + +import torch +from mmdeploy.utils import load_config +from mmdeploy.apis import build_task_processor + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + deploy_cfg = 'deploy_default.py' + model_cfg = args.cfg + model_checkpoint = args.weight + + deploy_cfg, model_cfg = load_config(deploy_cfg, model_cfg) + + task_processor = build_task_processor(model_cfg, deploy_cfg, device='cpu') + + model = task_processor.build_pytorch_model(model_checkpoint) + + input_names = ['input'] + dynamic_axes = {'input': {0: '-1'}} + dummy_input = torch.randn(1, 3, 800, 800) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/cv/detection/atss/igie/inference.py b/models/cv/detection/atss/igie/inference.py new file mode 100644 index 00000000..cc1a2b86 --- /dev/null +++ b/models/cv/detection/atss/igie/inference.py @@ -0,0 +1,160 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import argparse +import tvm +import torch +import numpy as np +from tvm import relay +from tqdm import tqdm +from mmpose.registry import RUNNERS +from mmengine.config import Config + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # runner config + cfg = Config.fromfile("atss_r50_fpn_1x_coco.py") + + cfg.work_dir = "./" + cfg['test_dataloader']['batch_size'] = batch_size + cfg['test_dataloader']['dataset']['data_root'] = args.datasets + cfg['test_dataloader']['dataset']['data_prefix']['img'] = 'images/val2017/' + cfg['test_evaluator']['ann_file'] = os.path.join(args.datasets, 'annotations/instances_val2017.json') + cfg['log_level'] = 'ERROR' + + # build runner + runner = RUNNERS.build(cfg) + + for data in tqdm(runner.test_dataloader): + cls_score = [] + box_reg = [] + score_factors = [] + + input_data = runner.model.data_preprocessor(data, False) + image = input_data['inputs'].cpu() + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + for i in range(module.get_num_outputs()): + output = module.get_output(i).asnumpy() + + if pad_batch: + output = output[:origin_size] + + output = torch.from_numpy(output) + + if output.shape[1] == 80: + cls_score.append(output) + elif output.shape[1] == 4: + box_reg.append(output) + else: + score_factors.append(output) + + batch_img_metas = [ + data_samples.metainfo for data_samples in data['data_samples'] + ] + + preds = runner.model.bbox_head.predict_by_feat( + cls_score, box_reg, score_factors=score_factors, batch_img_metas=batch_img_metas, rescale=True + ) + + batch_data_samples = runner.model.add_pred_to_datasample(input_data['data_samples'], preds) + + runner.test_evaluator.process(data_samples=batch_data_samples, data_batch=data) + + metrics = runner.test_evaluator.evaluate(len(runner.test_dataloader.dataset)) + + +if __name__ == "__main__": + main() diff --git a/models/cv/detection/atss/igie/scripts/infer_atss_fp16_accuracy.sh b/models/cv/detection/atss/igie/scripts/infer_atss_fp16_accuracy.sh new file mode 100644 index 00000000..8bb8ab47 --- /dev/null +++ b/models/cv/detection/atss/igie/scripts/infer_atss_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="atss_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path atss_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine atss_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/detection/atss/igie/scripts/infer_atss_fp16_performance.sh b/models/cv/detection/atss/igie/scripts/infer_atss_fp16_performance.sh new file mode 100644 index 00000000..427c05be --- /dev/null +++ b/models/cv/detection/atss/igie/scripts/infer_atss_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="atss_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path atss_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine atss_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From c57686bd7be58780b66b10c1a2abe7722a0b818f Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 16 Jul 2024 01:18:59 +0800 Subject: [PATCH 13/17] Add: fcos inference script. --- models/cv/detection/fcos/igie/README.md | 60 ++++ models/cv/detection/fcos/igie/build_engine.py | 73 +++++ .../cv/detection/fcos/igie/deploy_default.py | 41 +++ models/cv/detection/fcos/igie/export.py | 72 +++++ .../fcos_r50_caffe_fpn_gn-head_1x_coco.py | 263 ++++++++++++++++++ models/cv/detection/fcos/igie/inference.py | 160 +++++++++++ .../igie/scripts/infer_fcos_fp16_accuracy.sh | 35 +++ .../scripts/infer_fcos_fp16_performance.sh | 36 +++ 8 files changed, 740 insertions(+) create mode 100644 models/cv/detection/fcos/igie/README.md create mode 100644 models/cv/detection/fcos/igie/build_engine.py create mode 100644 models/cv/detection/fcos/igie/deploy_default.py create mode 100644 models/cv/detection/fcos/igie/export.py create mode 100755 models/cv/detection/fcos/igie/fcos_r50_caffe_fpn_gn-head_1x_coco.py create mode 100644 models/cv/detection/fcos/igie/inference.py create mode 100644 models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_accuracy.sh create mode 100644 models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_performance.sh diff --git a/models/cv/detection/fcos/igie/README.md b/models/cv/detection/fcos/igie/README.md new file mode 100644 index 00000000..f10cc742 --- /dev/null +++ b/models/cv/detection/fcos/igie/README.md @@ -0,0 +1,60 @@ +# FCOS + +## Description + +FCOS is an innovative one-stage object detection framework that abandons traditional anchor box dependency and uses a fully convolutional network for per-pixel target prediction. By introducing a centerness branch and multi-scale feature fusion, FCOS enhances detection performance while simplifying the model structure, especially in detecting small and overlapping targets. Additionally, FCOS eliminates the need for hyperparameter tuning related to anchor boxes, streamlining the model training and tuning process. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmdet==3.3.0 +pip3 install mmdeploy==1.3.1 +pip3 install mmengine==0.10.4 +``` + +### Download +Pretrained model: + +Dataset: to download the validation dataset. + + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight fcos_r50_caffe_fpn_gn-head_1x_coco-821213aa.pth --cfg fcos_r50_caffe_fpn_gn-head_1x_coco.py --output fcos.onnx + +# use onnxsim optimize onnx model +onnxsim fcos.onnx fcos_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/coco/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_fcos_fp16_accuracy.sh +# Performance +bash scripts/infer_fcos_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Input Shape | Precision | FPS | mAP@0.5(%) | +| :-------: | :-------: | :---------: | :-------: | :-------: | :--------: | +| FCOS | 32 | 800x800 | FP16 | 83.09 | 0.522 | \ No newline at end of file diff --git a/models/cv/detection/fcos/igie/build_engine.py b/models/cv/detection/fcos/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/detection/fcos/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/detection/fcos/igie/deploy_default.py b/models/cv/detection/fcos/igie/deploy_default.py new file mode 100644 index 00000000..b8d8e43d --- /dev/null +++ b/models/cv/detection/fcos/igie/deploy_default.py @@ -0,0 +1,41 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +onnx_config = dict( + type='onnx', + export_params=True, + keep_initializers_as_inputs=False, + opset_version=11, + save_file='end2end.onnx', + input_names=['input'], + output_names=['output'], + input_shape=None, + optimize=True) + +codebase_config = dict( + type='mmdet', + task='ObjectDetection', + model_type='end2end', + post_processing=dict( + score_threshold=0.05, + confidence_threshold=0.005, + iou_threshold=0.5, + max_output_boxes_per_class=200, + pre_top_k=5000, + keep_top_k=100, + background_label_id=-1, + )) + +backend_config = dict(type='onnxruntime') \ No newline at end of file diff --git a/models/cv/detection/fcos/igie/export.py b/models/cv/detection/fcos/igie/export.py new file mode 100644 index 00000000..13573c9d --- /dev/null +++ b/models/cv/detection/fcos/igie/export.py @@ -0,0 +1,72 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import argparse + +import torch +from mmdeploy.utils import load_config +from mmdeploy.apis import build_task_processor + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + deploy_cfg = 'deploy_default.py' + model_cfg = args.cfg + model_checkpoint = args.weight + + deploy_cfg, model_cfg = load_config(deploy_cfg, model_cfg) + + task_processor = build_task_processor(model_cfg, deploy_cfg, device='cpu') + + model = task_processor.build_pytorch_model(model_checkpoint) + + input_names = ['input'] + dynamic_axes = {'input': {0: '-1'}} + dummy_input = torch.randn(1, 3, 800, 800) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/cv/detection/fcos/igie/fcos_r50_caffe_fpn_gn-head_1x_coco.py b/models/cv/detection/fcos/igie/fcos_r50_caffe_fpn_gn-head_1x_coco.py new file mode 100755 index 00000000..04941d97 --- /dev/null +++ b/models/cv/detection/fcos/igie/fcos_r50_caffe_fpn_gn-head_1x_coco.py @@ -0,0 +1,263 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +auto_scale_lr = dict(base_batch_size=16, enable=False) +backend_args = None +data_root = 'data/coco/' +dataset_type = 'CocoDataset' +default_hooks = dict( + checkpoint=dict(interval=1, type='CheckpointHook'), + logger=dict(interval=50, type='LoggerHook'), + param_scheduler=dict(type='ParamSchedulerHook'), + sampler_seed=dict(type='DistSamplerSeedHook'), + timer=dict(type='IterTimerHook'), + visualization=dict(type='DetVisualizationHook')) +default_scope = 'mmdet' +env_cfg = dict( + cudnn_benchmark=False, + dist_cfg=dict(backend='nccl'), + mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) +evaluation = dict(interval=1, metric='bbox') +load_from = None +log_level = 'ERROR' +log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50) +model = dict( + backbone=dict( + depth=50, + frozen_stages=1, + init_cfg=dict( + checkpoint='open-mmlab://detectron/resnet50_caffe', + type='Pretrained'), + norm_cfg=dict(requires_grad=False, type='BN'), + norm_eval=True, + num_stages=4, + out_indices=( + 0, + 1, + 2, + 3, + ), + style='caffe', + type='ResNet'), + bbox_head=dict( + feat_channels=256, + in_channels=256, + loss_bbox=dict(loss_weight=1.0, type='IoULoss'), + loss_centerness=dict( + loss_weight=1.0, type='CrossEntropyLoss', use_sigmoid=True), + loss_cls=dict( + alpha=0.25, + gamma=2.0, + loss_weight=1.0, + type='FocalLoss', + use_sigmoid=True), + num_classes=80, + stacked_convs=4, + strides=[ + 8, + 16, + 32, + 64, + 128, + ], + type='FCOSHead'), + data_preprocessor=dict( + bgr_to_rgb=False, + mean=[ + 102.9801, + 115.9465, + 122.7717, + ], + pad_size_divisor=32, + std=[ + 1.0, + 1.0, + 1.0, + ], + type='DetDataPreprocessor'), + neck=dict( + add_extra_convs='on_output', + in_channels=[ + 256, + 512, + 1024, + 2048, + ], + num_outs=5, + out_channels=256, + relu_before_extra_convs=True, + start_level=1, + type='FPN'), + test_cfg=dict( + max_per_img=100, + min_bbox_size=0, + nms=dict(iou_threshold=0.5, type='nms'), + nms_pre=1000, + score_thr=0.05), + type='FCOS') +optim_wrapper = dict( + optimizer=dict(lr=0.02, momentum=0.9, type='SGD', weight_decay=0.0001), + type='OptimWrapper') +param_scheduler = [ + dict( + begin=0, by_epoch=False, end=500, start_factor=0.001, type='LinearLR'), + dict( + begin=0, + by_epoch=True, + end=12, + gamma=0.1, + milestones=[ + 8, + 11, + ], + type='MultiStepLR'), +] +resume = False +test_cfg = dict(type='TestLoop') +test_dataloader = dict( + batch_size=32, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='images/val2017/'), + data_root='/root/.igie_cache/modelzoo_data/datasets/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +test_evaluator = dict( + ann_file= + '/root/.igie_cache/modelzoo_data/datasets/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +test_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), +] +train_cfg = dict(max_epochs=12, type='EpochBasedTrainLoop', val_interval=1) +train_dataloader = dict( + batch_sampler=dict(type='AspectRatioBatchSampler'), + batch_size=2, + dataset=dict( + ann_file='annotations/instances_train2017.json', + backend_args=None, + data_prefix=dict(img='train2017/'), + data_root='data/coco/', + filter_cfg=dict(filter_empty_gt=True, min_size=32), + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), + ], + type='CocoDataset'), + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=True, type='DefaultSampler')) +train_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), +] +val_cfg = dict(type='ValLoop') +val_dataloader = dict( + batch_size=1, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='val2017/'), + data_root='data/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +val_evaluator = dict( + ann_file='data/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +vis_backends = [ + dict(type='LocalVisBackend'), +] +visualizer = dict( + name='visualizer', + type='DetLocalVisualizer', + vis_backends=[ + dict(type='LocalVisBackend'), + ]) +work_dir = './' diff --git a/models/cv/detection/fcos/igie/inference.py b/models/cv/detection/fcos/igie/inference.py new file mode 100644 index 00000000..e0517124 --- /dev/null +++ b/models/cv/detection/fcos/igie/inference.py @@ -0,0 +1,160 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import argparse +import tvm +import torch +import numpy as np +from tvm import relay +from tqdm import tqdm +from mmpose.registry import RUNNERS +from mmengine.config import Config + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # runner config + cfg = Config.fromfile("fcos_r50_caffe_fpn_gn-head_1x_coco.py") + + cfg.work_dir = "./" + cfg['test_dataloader']['batch_size'] = batch_size + cfg['test_dataloader']['dataset']['data_root'] = args.datasets + cfg['test_dataloader']['dataset']['data_prefix']['img'] = 'images/val2017/' + cfg['test_evaluator']['ann_file'] = os.path.join(args.datasets, 'annotations/instances_val2017.json') + cfg['log_level'] = 'ERROR' + + # build runner + runner = RUNNERS.build(cfg) + + for data in tqdm(runner.test_dataloader): + cls_score = [] + box_reg = [] + score_factors = [] + + input_data = runner.model.data_preprocessor(data, False) + image = input_data['inputs'].cpu() + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + for i in range(module.get_num_outputs()): + output = module.get_output(i).asnumpy() + + if pad_batch: + output = output[:origin_size] + + output = torch.from_numpy(output) + + if output.shape[1] == 80: + cls_score.append(output) + elif output.shape[1] == 4: + box_reg.append(output) + else: + score_factors.append(output) + + batch_img_metas = [ + data_samples.metainfo for data_samples in data['data_samples'] + ] + + preds = runner.model.bbox_head.predict_by_feat( + cls_score, box_reg, score_factors=score_factors, batch_img_metas=batch_img_metas, rescale=True + ) + + batch_data_samples = runner.model.add_pred_to_datasample(input_data['data_samples'], preds) + + runner.test_evaluator.process(data_samples=batch_data_samples, data_batch=data) + + metrics = runner.test_evaluator.evaluate(len(runner.test_dataloader.dataset)) + + +if __name__ == "__main__": + main() diff --git a/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_accuracy.sh b/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_accuracy.sh new file mode 100644 index 00000000..c09f2c33 --- /dev/null +++ b/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="fcos_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path fcos_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine fcos_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_performance.sh b/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_performance.sh new file mode 100644 index 00000000..8f358c38 --- /dev/null +++ b/models/cv/detection/fcos/igie/scripts/infer_fcos_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="fcos_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path fcos_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine fcos_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From f33000a4da8d99af2eb6f4eb9d90a683325982f3 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Tue, 16 Jul 2024 01:54:37 +0800 Subject: [PATCH 14/17] Add: fsaf inference script. --- models/cv/detection/fsaf/igie/README.md | 60 ++++ .../igie/base/retinanet_r50_fpn_1x_coco.py | 83 ++++++ models/cv/detection/fsaf/igie/build_engine.py | 73 +++++ .../cv/detection/fsaf/igie/deploy_default.py | 41 +++ models/cv/detection/fsaf/igie/export.py | 72 +++++ .../fsaf/igie/fsaf_r50_fpn_1x_coco.py | 278 ++++++++++++++++++ models/cv/detection/fsaf/igie/inference.py | 157 ++++++++++ .../igie/scripts/infer_fsaf_fp16_accuracy.sh | 35 +++ .../scripts/infer_fsaf_fp16_performance.sh | 36 +++ 9 files changed, 835 insertions(+) create mode 100644 models/cv/detection/fsaf/igie/README.md create mode 100644 models/cv/detection/fsaf/igie/base/retinanet_r50_fpn_1x_coco.py create mode 100644 models/cv/detection/fsaf/igie/build_engine.py create mode 100644 models/cv/detection/fsaf/igie/deploy_default.py create mode 100644 models/cv/detection/fsaf/igie/export.py create mode 100755 models/cv/detection/fsaf/igie/fsaf_r50_fpn_1x_coco.py create mode 100644 models/cv/detection/fsaf/igie/inference.py create mode 100644 models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_accuracy.sh create mode 100644 models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_performance.sh diff --git a/models/cv/detection/fsaf/igie/README.md b/models/cv/detection/fsaf/igie/README.md new file mode 100644 index 00000000..14d56932 --- /dev/null +++ b/models/cv/detection/fsaf/igie/README.md @@ -0,0 +1,60 @@ +# FSAF + +## Description + +The FSAF (Feature Selective Anchor-Free) module is an innovative component for single-shot object detection that enhances performance through online feature selection and anchor-free branches. The FSAF module dynamically selects the most suitable feature level for each object instance, rather than relying on traditional anchor-based heuristic methods. This improvement significantly boosts the accuracy of object detection, especially for small targets and in complex scenes. Moreover, compared to existing anchor-based detectors, the FSAF module maintains high efficiency while adding negligible additional inference overhead. + +## Setup + +### Install + +```bash +# Install libGL +## CentOS +yum install -y mesa-libGL +## Ubuntu +apt install -y libgl1-mesa-dev + +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install mmdet==3.3.0 +pip3 install mmdeploy==1.3.1 +pip3 install mmengine==0.10.4 +``` + +### Download +Pretrained model: + +Dataset: to download the validation dataset. + + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight fsaf_r50_fpn_1x_coco-94ccc51f.pth --cfg fsaf_r50_fpn_1x_coco.py --output fsaf.onnx + +# use onnxsim optimize onnx model +onnxsim fsaf.onnx fsaf_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/coco/ +``` + +### FP16 + +```bash +# Accuracy +bash scripts/infer_fsaf_fp16_accuracy.sh +# Performance +bash scripts/infer_fsaf_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Input Shape | Precision | FPS | mAP@0.5(%) | +| :-------: | :-------: | :---------: | :-------: | :-------: | :--------: | +| FSAF | 32 | 800x800 | FP16 | 122.35 | 0.530 | \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/base/retinanet_r50_fpn_1x_coco.py b/models/cv/detection/fsaf/igie/base/retinanet_r50_fpn_1x_coco.py new file mode 100644 index 00000000..425d3d32 --- /dev/null +++ b/models/cv/detection/fsaf/igie/base/retinanet_r50_fpn_1x_coco.py @@ -0,0 +1,83 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +# model settings +model = dict( + type='RetinaNet', + data_preprocessor=dict( + type='DetDataPreprocessor', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + bgr_to_rgb=True, + pad_size_divisor=32), + backbone=dict( + type='ResNet', + depth=50, + num_stages=4, + out_indices=(0, 1, 2, 3), + frozen_stages=1, + norm_cfg=dict(type='BN', requires_grad=True), + norm_eval=True, + style='pytorch', + init_cfg=dict(type='Pretrained', checkpoint='torchvision://resnet50')), + neck=dict( + type='FPN', + in_channels=[256, 512, 1024, 2048], + out_channels=256, + start_level=1, + add_extra_convs='on_input', + num_outs=5), + bbox_head=dict( + type='RetinaHead', + num_classes=80, + in_channels=256, + stacked_convs=4, + feat_channels=256, + anchor_generator=dict( + type='AnchorGenerator', + octave_base_scale=4, + scales_per_octave=3, + ratios=[0.5, 1.0, 2.0], + strides=[8, 16, 32, 64, 128]), + bbox_coder=dict( + type='DeltaXYWHBBoxCoder', + target_means=[.0, .0, .0, .0], + target_stds=[1.0, 1.0, 1.0, 1.0]), + loss_cls=dict( + type='FocalLoss', + use_sigmoid=True, + gamma=2.0, + alpha=0.25, + loss_weight=1.0), + loss_bbox=dict(type='L1Loss', loss_weight=1.0)), + # model training and testing settings + train_cfg=dict( + assigner=dict( + type='MaxIoUAssigner', + pos_iou_thr=0.5, + neg_iou_thr=0.4, + min_pos_iou=0, + ignore_iof_thr=-1), + sampler=dict( + type='PseudoSampler'), # Focal loss should use PseudoSampler + allowed_border=-1, + pos_weight=-1, + debug=False), + test_cfg=dict( + nms_pre=1000, + min_bbox_size=0, + score_thr=0.05, + nms=dict(type='nms', iou_threshold=0.5), + max_per_img=100)) \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/build_engine.py b/models/cv/detection/fsaf/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/detection/fsaf/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/deploy_default.py b/models/cv/detection/fsaf/igie/deploy_default.py new file mode 100644 index 00000000..b8d8e43d --- /dev/null +++ b/models/cv/detection/fsaf/igie/deploy_default.py @@ -0,0 +1,41 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +onnx_config = dict( + type='onnx', + export_params=True, + keep_initializers_as_inputs=False, + opset_version=11, + save_file='end2end.onnx', + input_names=['input'], + output_names=['output'], + input_shape=None, + optimize=True) + +codebase_config = dict( + type='mmdet', + task='ObjectDetection', + model_type='end2end', + post_processing=dict( + score_threshold=0.05, + confidence_threshold=0.005, + iou_threshold=0.5, + max_output_boxes_per_class=200, + pre_top_k=5000, + keep_top_k=100, + background_label_id=-1, + )) + +backend_config = dict(type='onnxruntime') \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/export.py b/models/cv/detection/fsaf/igie/export.py new file mode 100644 index 00000000..13573c9d --- /dev/null +++ b/models/cv/detection/fsaf/igie/export.py @@ -0,0 +1,72 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import argparse + +import torch +from mmdeploy.utils import load_config +from mmdeploy.apis import build_task_processor + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--cfg", + type=str, + required=True, + help="model config file.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def main(): + args = parse_args() + + deploy_cfg = 'deploy_default.py' + model_cfg = args.cfg + model_checkpoint = args.weight + + deploy_cfg, model_cfg = load_config(deploy_cfg, model_cfg) + + task_processor = build_task_processor(model_cfg, deploy_cfg, device='cpu') + + model = task_processor.build_pytorch_model(model_checkpoint) + + input_names = ['input'] + dynamic_axes = {'input': {0: '-1'}} + dummy_input = torch.randn(1, 3, 800, 800) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + opset_version=13 + ) + + print("Export onnx model successfully! ") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/fsaf_r50_fpn_1x_coco.py b/models/cv/detection/fsaf/igie/fsaf_r50_fpn_1x_coco.py new file mode 100755 index 00000000..33c2df60 --- /dev/null +++ b/models/cv/detection/fsaf/igie/fsaf_r50_fpn_1x_coco.py @@ -0,0 +1,278 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +auto_scale_lr = dict(base_batch_size=16, enable=False) +backend_args = None +data_root = 'data/coco/' +dataset_type = 'CocoDataset' +default_hooks = dict( + checkpoint=dict(interval=1, type='CheckpointHook'), + logger=dict(interval=50, type='LoggerHook'), + param_scheduler=dict(type='ParamSchedulerHook'), + sampler_seed=dict(type='DistSamplerSeedHook'), + timer=dict(type='IterTimerHook'), + visualization=dict(type='DetVisualizationHook')) +default_scope = 'mmdet' +env_cfg = dict( + cudnn_benchmark=False, + dist_cfg=dict(backend='nccl'), + mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) +load_from = None +log_level = 'ERROR' +log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50) +model = dict( + backbone=dict( + depth=50, + frozen_stages=1, + init_cfg=dict(checkpoint='torchvision://resnet50', type='Pretrained'), + norm_cfg=dict(requires_grad=True, type='BN'), + norm_eval=True, + num_stages=4, + out_indices=( + 0, + 1, + 2, + 3, + ), + style='pytorch', + type='ResNet'), + bbox_head=dict( + anchor_generator=dict( + octave_base_scale=1, + ratios=[ + 1.0, + ], + scales_per_octave=1, + strides=[ + 8, + 16, + 32, + 64, + 128, + ], + type='AnchorGenerator'), + bbox_coder=dict(normalizer=4.0, type='TBLRBBoxCoder'), + feat_channels=256, + in_channels=256, + loss_bbox=dict( + eps=1e-06, loss_weight=1.0, reduction='none', type='IoULoss'), + loss_cls=dict( + alpha=0.25, + gamma=2.0, + loss_weight=1.0, + reduction='none', + type='FocalLoss', + use_sigmoid=True), + num_classes=80, + reg_decoded_bbox=True, + stacked_convs=4, + type='FSAFHead'), + data_preprocessor=dict( + bgr_to_rgb=True, + mean=[ + 123.675, + 116.28, + 103.53, + ], + pad_size_divisor=32, + std=[ + 58.395, + 57.12, + 57.375, + ], + type='DetDataPreprocessor'), + neck=dict( + add_extra_convs='on_input', + in_channels=[ + 256, + 512, + 1024, + 2048, + ], + num_outs=5, + out_channels=256, + start_level=1, + type='FPN'), + test_cfg=dict( + max_per_img=100, + min_bbox_size=0, + nms=dict(iou_threshold=0.5, type='nms'), + nms_pre=1000, + score_thr=0.05), + train_cfg=dict( + allowed_border=-1, + assigner=dict( + min_pos_iof=0.01, + neg_scale=0.2, + pos_scale=0.2, + type='CenterRegionAssigner'), + debug=False, + pos_weight=-1, + sampler=dict(type='PseudoSampler')), + type='FSAF') +optim_wrapper = dict( + optimizer=dict(lr=0.02, momentum=0.9, type='SGD', weight_decay=0.0001), + type='OptimWrapper') +param_scheduler = [ + dict( + begin=0, by_epoch=False, end=500, start_factor=0.001, type='LinearLR'), + dict( + begin=0, + by_epoch=True, + end=12, + gamma=0.1, + milestones=[ + 8, + 11, + ], + type='MultiStepLR'), +] +resume = False +test_cfg = dict(type='TestLoop') +test_dataloader = dict( + batch_size=32, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='images/val2017/'), + data_root='/root/.igie_cache/modelzoo_data/datasets/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=False, scale=( + 800, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +test_evaluator = dict( + ann_file= + '/root/.igie_cache/modelzoo_data/datasets/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +test_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), +] +train_cfg = dict(max_epochs=12, type='EpochBasedTrainLoop', val_interval=1) +train_dataloader = dict( + batch_sampler=dict(type='AspectRatioBatchSampler'), + batch_size=2, + dataset=dict( + ann_file='annotations/instances_train2017.json', + backend_args=None, + data_prefix=dict(img='train2017/'), + data_root='data/coco/', + filter_cfg=dict(filter_empty_gt=True, min_size=32), + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), + ], + type='CocoDataset'), + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=True, type='DefaultSampler')) +train_pipeline = [ + dict(backend_args=None, type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(prob=0.5, type='RandomFlip'), + dict(type='PackDetInputs'), +] +val_cfg = dict(type='ValLoop') +val_dataloader = dict( + batch_size=1, + dataset=dict( + ann_file='annotations/instances_val2017.json', + backend_args=None, + data_prefix=dict(img='val2017/'), + data_root='data/coco/', + pipeline=[ + dict(backend_args=None, type='LoadImageFromFile'), + dict(keep_ratio=True, scale=( + 1333, + 800, + ), type='Resize'), + dict(type='LoadAnnotations', with_bbox=True), + dict( + meta_keys=( + 'img_id', + 'img_path', + 'ori_shape', + 'img_shape', + 'scale_factor', + ), + type='PackDetInputs'), + ], + test_mode=True, + type='CocoDataset'), + drop_last=False, + num_workers=2, + persistent_workers=True, + sampler=dict(shuffle=False, type='DefaultSampler')) +val_evaluator = dict( + ann_file='data/coco/annotations/instances_val2017.json', + backend_args=None, + format_only=False, + metric='bbox', + type='CocoMetric') +vis_backends = [ + dict(type='LocalVisBackend'), +] +visualizer = dict( + name='visualizer', + type='DetLocalVisualizer', + vis_backends=[ + dict(type='LocalVisBackend'), + ]) +work_dir = './' diff --git a/models/cv/detection/fsaf/igie/inference.py b/models/cv/detection/fsaf/igie/inference.py new file mode 100644 index 00000000..058a5343 --- /dev/null +++ b/models/cv/detection/fsaf/igie/inference.py @@ -0,0 +1,157 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import argparse +import tvm +import torch +import numpy as np +from tvm import relay +from tqdm import tqdm +from mmpose.registry import RUNNERS +from mmengine.config import Config + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warm up + for _ in range(args.warmup): + module.run() + + # runner config + cfg = Config.fromfile("fsaf_r50_fpn_1x_coco.py") + + cfg.work_dir = "./" + cfg['test_dataloader']['batch_size'] = batch_size + cfg['test_dataloader']['dataset']['data_root'] = args.datasets + cfg['test_dataloader']['dataset']['data_prefix']['img'] = 'images/val2017/' + cfg['test_evaluator']['ann_file'] = os.path.join(args.datasets, 'annotations/instances_val2017.json') + cfg['log_level'] = 'ERROR' + + # build runner + runner = RUNNERS.build(cfg) + + for data in tqdm(runner.test_dataloader): + cls_score = [] + box_reg = [] + + input_data = runner.model.data_preprocessor(data, False) + image = input_data['inputs'].cpu() + pad_batch = len(image) != batch_size + + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + for i in range(module.get_num_outputs()): + output = module.get_output(i).asnumpy() + + if pad_batch: + output = output[:origin_size] + + output = torch.from_numpy(output) + + if output.shape[1] == 80: + cls_score.append(output) + elif output.shape[1] == 4: + box_reg.append(output) + + batch_img_metas = [ + data_samples.metainfo for data_samples in data['data_samples'] + ] + + preds = runner.model.bbox_head.predict_by_feat( + cls_score, box_reg, batch_img_metas=batch_img_metas, rescale=True + ) + + batch_data_samples = runner.model.add_pred_to_datasample(input_data['data_samples'], preds) + + runner.test_evaluator.process(data_samples=batch_data_samples, data_batch=data) + + metrics = runner.test_evaluator.evaluate(len(runner.test_dataloader.dataset)) + + +if __name__ == "__main__": + main() diff --git a/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_accuracy.sh b/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_accuracy.sh new file mode 100644 index 00000000..94bd0b40 --- /dev/null +++ b/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_accuracy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="fsaf_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path fsaf_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine fsaf_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ No newline at end of file diff --git a/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_performance.sh b/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_performance.sh new file mode 100644 index 00000000..cb8f93aa --- /dev/null +++ b/models/cv/detection/fsaf/igie/scripts/infer_fsaf_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="fsaf_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,800,800 \ + --precision fp16 \ + --engine_path fsaf_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine fsaf_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file -- Gitee From a7d3f400dd3d751f8074018ea24e76f9cf171081 Mon Sep 17 00:00:00 2001 From: majorli Date: Tue, 16 Jul 2024 15:08:47 +0800 Subject: [PATCH 15/17] update igie mr100 results - ConvNext_Small - CSPDarkNet50 - DeiT-tiny - EfficientNet_b2 - EfficientNet_v2_M - RepVGG - SEResNet50 - ShuffleNetv2_x1_0 Signed-off-by: majorli --- models/cv/classification/convnext_small/igie/README.md | 6 +++--- models/cv/classification/cspdarknet50/igie/README.md | 6 +++--- models/cv/classification/deit_tiny/igie/README.md | 8 ++++---- models/cv/classification/densenet169/igie/README.md | 6 +++--- models/cv/classification/efficientnet_b2/igie/README.md | 6 +++--- models/cv/classification/efficientnet_v2/igie/README.md | 6 +++--- models/cv/classification/repvgg/igie/README.md | 7 ++++--- models/cv/classification/se_resnet50/igie/README.md | 6 +++--- models/cv/classification/shufflenetv2_x1_0/igie/README.md | 6 +++--- 9 files changed, 29 insertions(+), 28 deletions(-) diff --git a/models/cv/classification/convnext_small/igie/README.md b/models/cv/classification/convnext_small/igie/README.md index d86cb84e..0683bc93 100644 --- a/models/cv/classification/convnext_small/igie/README.md +++ b/models/cv/classification/convnext_small/igie/README.md @@ -42,6 +42,6 @@ bash scripts/infer_convnext_small_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) ----------------|-----------|----------|----------|---------|-------- -ConvNext Small | 32 | FP16 | 452.689 | 83.26 | 96.51 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| -------------- | --------- | --------- | ------- | -------- | -------- | +| ConvNext Small | 32 | FP16 | 725.437 | 83.267 | 96.515 | diff --git a/models/cv/classification/cspdarknet50/igie/README.md b/models/cv/classification/cspdarknet50/igie/README.md index 4dbee6e2..99a374a4 100644 --- a/models/cv/classification/cspdarknet50/igie/README.md +++ b/models/cv/classification/cspdarknet50/igie/README.md @@ -59,9 +59,9 @@ bash scripts/infer_cspdarknet_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) --------------|-----------|----------|----------|----------|-------- -CSPDarkNet50 | 32 | FP16 | 2147.96 | 79.05 | 94.49 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ------------ | --------- | --------- | -------- | -------- | -------- | +| CSPDarkNet50 | 32 | FP16 | 3214.387 | 79.063 | 94.492 | ## Reference diff --git a/models/cv/classification/deit_tiny/igie/README.md b/models/cv/classification/deit_tiny/igie/README.md index 741c8570..663ca8b7 100644 --- a/models/cv/classification/deit_tiny/igie/README.md +++ b/models/cv/classification/deit_tiny/igie/README.md @@ -1,4 +1,4 @@ -# Deit tiny +# DeiT-tiny ## Description @@ -59,9 +59,9 @@ bash scripts/infer_deit_tin_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) --------------|-----------|----------|----------|----------|-------- -Deit_tiny | 32 | FP16 | 1334.876 | 74.33 | 92.17 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| --------- | --------- | --------- | -------- | -------- | -------- | +| DeiT-tiny | 32 | FP16 | 2172.771 | 74.334 | 92.175 | ## Reference diff --git a/models/cv/classification/densenet169/igie/README.md b/models/cv/classification/densenet169/igie/README.md index 04e0d3d5..b6b8abd4 100644 --- a/models/cv/classification/densenet169/igie/README.md +++ b/models/cv/classification/densenet169/igie/README.md @@ -42,6 +42,6 @@ bash scripts/infer_densenet169_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) -------------|-----------|----------|---------|---------|-------- -DenseNet169 | 32 | FP16 | 865.156 | 75.54 | 92.77 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ----------- | --------- | --------- | -------- | -------- | -------- | +| DenseNet169 | 32 | FP16 | 1384.649 | 75.548 | 92.778 | diff --git a/models/cv/classification/efficientnet_b2/igie/README.md b/models/cv/classification/efficientnet_b2/igie/README.md index d96e2b4c..1f4be8fc 100644 --- a/models/cv/classification/efficientnet_b2/igie/README.md +++ b/models/cv/classification/efficientnet_b2/igie/README.md @@ -42,6 +42,6 @@ bash scripts/infer_efficientnet_b2_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) -----------------|-----------|----------|---------|---------|-------- -Efficientnet_b2 | 32 | FP16 | 1010.90 | 77.75 | 93.70 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| --------------- | --------- | --------- | -------- | -------- | -------- | +| Efficientnet_b2 | 32 | FP16 | 1527.044 | 77.739 | 93.702 | diff --git a/models/cv/classification/efficientnet_v2/igie/README.md b/models/cv/classification/efficientnet_v2/igie/README.md index af21acd5..ae58099c 100644 --- a/models/cv/classification/efficientnet_v2/igie/README.md +++ b/models/cv/classification/efficientnet_v2/igie/README.md @@ -42,6 +42,6 @@ bash scripts/infer_efficientnet_v2_m_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) -------------------|-----------|----------|---------|---------|-------- -Efficientnet_v2_m | 32 | FP16 | 739.68 | 79.63 | 94.45 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ----------------- | --------- | --------- | -------- | -------- | -------- | +| Efficientnet_v2_m | 32 | FP16 | 1104.846 | 79.635 | 94.456 | diff --git a/models/cv/classification/repvgg/igie/README.md b/models/cv/classification/repvgg/igie/README.md index 58d3f8e5..cbbeaac4 100644 --- a/models/cv/classification/repvgg/igie/README.md +++ b/models/cv/classification/repvgg/igie/README.md @@ -19,6 +19,7 @@ pip3 install onnx pip3 install tqdm pip3 install mmcv==1.5.3 pip3 install mmcls +pip3 install mmengine ``` ### Download @@ -55,9 +56,9 @@ bash scripts/infer_repvgg_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) -----------|-----------|----------|----------|----------|-------- -RepVGG | 32 | FP16 | 5477.21 | 72.34 | 90.5 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ------ | --------- | --------- | -------- | -------- | -------- | +| RepVGG | 32 | FP16 | 7423.035 | 72.345 | 90.543 | ## Reference diff --git a/models/cv/classification/se_resnet50/igie/README.md b/models/cv/classification/se_resnet50/igie/README.md index 57f79c91..ab59b0e8 100644 --- a/models/cv/classification/se_resnet50/igie/README.md +++ b/models/cv/classification/se_resnet50/igie/README.md @@ -55,9 +55,9 @@ bash scripts/infer_seresnet_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) --------------|-----------|----------|----------|----------|-------- -SEResNet50 | 32 | FP16 | 1438.95 | 77.70 | 93.81 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ---------- | --------- | --------- | -------- | -------- | -------- | +| SEResNet50 | 32 | FP16 | 2548.268 | 77.709 | 93.812 | ## Reference diff --git a/models/cv/classification/shufflenetv2_x1_0/igie/README.md b/models/cv/classification/shufflenetv2_x1_0/igie/README.md index 21c28b5d..1211bba9 100644 --- a/models/cv/classification/shufflenetv2_x1_0/igie/README.md +++ b/models/cv/classification/shufflenetv2_x1_0/igie/README.md @@ -42,6 +42,6 @@ bash scripts/infer_shufflenetv2_x1_0_fp16_performance.sh ## Results -Model |BatchSize |Precision |FPS |Top-1(%) |Top-5(%) -------------------|-----------|----------|----------|----------|-------- -ShuffleNetV2_x1_0 | 32 | FP16 | 5444.80 | 69.32 | 88.30 +| Model | BatchSize | Precision | FPS | Top-1(%) | Top-5(%) | +| ----------------- | --------- | --------- | -------- | -------- | -------- | +| ShuffleNetV2_x1_0 | 32 | FP16 | 8232.980 | 69.308 | 88.302 | -- Gitee From 6b4a6645e62e4f2e04c14028b123af67440d1507 Mon Sep 17 00:00:00 2001 From: YoungPeng Date: Mon, 22 Jul 2024 22:55:09 +0800 Subject: [PATCH 16/17] Add: retinaface inference script. --- models/cv/detection/retinaface/igie/README.md | 53 + .../detection/retinaface/igie/build_engine.py | 73 + models/cv/detection/retinaface/igie/export.py | 116 + .../cv/detection/retinaface/igie/inference.py | 205 + .../detection/retinaface/igie/models/net.py | 148 + .../retinaface/igie/models/retinaface.py | 138 + .../scripts/infer_retinaface_fp16_accuracy.sh | 41 + .../infer_retinaface_fp16_performance.sh | 36 + .../retinaface/igie/utils/box_utils.py | 344 + .../retinaface/igie/utils/post_process.py | 186 + .../retinaface/igie/utils/prior_box.py | 49 + .../retinaface/igie/utils/py_cpu_nms.py | 52 + .../igie/widerface_evaluate/README.md | 27 + .../igie/widerface_evaluate/box_overlaps.c | 6871 +++++++++++++++++ .../igie/widerface_evaluate/box_overlaps.pyx | 55 + .../igie/widerface_evaluate/evaluation.py | 295 + .../ground_truth/wider_easy_val.mat | Bin 0 -> 409036 bytes .../ground_truth/wider_face_val.mat | Bin 0 -> 397768 bytes .../ground_truth/wider_hard_val.mat | Bin 0 -> 424085 bytes .../ground_truth/wider_medium_val.mat | Bin 0 -> 412725 bytes .../igie/widerface_evaluate/setup.py | 13 + 21 files changed, 8702 insertions(+) create mode 100755 models/cv/detection/retinaface/igie/README.md create mode 100644 models/cv/detection/retinaface/igie/build_engine.py create mode 100755 models/cv/detection/retinaface/igie/export.py create mode 100644 models/cv/detection/retinaface/igie/inference.py create mode 100644 models/cv/detection/retinaface/igie/models/net.py create mode 100644 models/cv/detection/retinaface/igie/models/retinaface.py create mode 100644 models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_accuracy.sh create mode 100644 models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_performance.sh create mode 100755 models/cv/detection/retinaface/igie/utils/box_utils.py create mode 100755 models/cv/detection/retinaface/igie/utils/post_process.py create mode 100755 models/cv/detection/retinaface/igie/utils/prior_box.py create mode 100755 models/cv/detection/retinaface/igie/utils/py_cpu_nms.py create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/README.md create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.c create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/evaluation.py create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_easy_val.mat create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_face_val.mat create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_hard_val.mat create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_medium_val.mat create mode 100755 models/cv/detection/retinaface/igie/widerface_evaluate/setup.py diff --git a/models/cv/detection/retinaface/igie/README.md b/models/cv/detection/retinaface/igie/README.md new file mode 100755 index 00000000..18da6c3c --- /dev/null +++ b/models/cv/detection/retinaface/igie/README.md @@ -0,0 +1,53 @@ +# RetinaFace + +## Description + +RetinaFace is an efficient single-stage face detection model that employs a multi-task learning strategy to simultaneously predict facial locations, landmarks, and 3D facial shapes. It utilizes feature pyramids and context modules to extract multi-scale features and employs a self-supervised mesh decoder to enhance detection accuracy. RetinaFace demonstrates excellent performance on datasets like WIDER FACE, supports real-time processing, and its code and datasets are publicly available for researchers. + +## Setup + +### Install +```bash +pip3 install onnx +pip3 install tqdm +pip3 install onnxsim +pip3 install opencv-python==4.6.0.66 +``` + +### Download +Pretrained model: + +Dataset: to download the validation dataset. + +### Model Conversion +```bash +# export onnx model +python3 export.py --weight mobilenet0.25_Final.pth --output retinaface.onnx + +# use onnxsim optimize onnx model +onnxsim retinaface.onnx retinaface_opt.onnx +``` + +## Inference + +```bash +export DATASETS_DIR=/Path/to/widerface/ +``` + +### FP16 +```bash +# Accuracy +bash scripts/infer_retinaface_fp16_accuracy.sh +# Performance +bash scripts/infer_retinaface_fp16_performance.sh +``` + +## Results + +| Model | BatchSize | Precision | FPS | Easy AP(%) | Medium AP (%) | Hard AP(%) | +| :--------------: | :-------: | :-------: | :-----: | :--------: | :-----------: | :--------: | +| RetinaFace | 32 | FP16 | 5575.56 | 80.13 | 68.52 | 36.59 | + +## Reference + +Face-Detector-1MB-with-landmark: \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/build_engine.py b/models/cv/detection/retinaface/igie/build_engine.py new file mode 100644 index 00000000..d3626ae7 --- /dev/null +++ b/models/cv/detection/retinaface/igie/build_engine.py @@ -0,0 +1,73 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import tvm +import argparse +from tvm import relay +from tvm.relay.import_model import import_model_to_igie + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--model_path", + type=str, + required=True, + help="original model path.") + + parser.add_argument("--engine_path", + type=str, + required=True, + help="igie export engine path.") + + parser.add_argument("--input", + type=str, + required=True, + help=""" + input info of the model, format should be: + input_name:input_shape + eg: --input input:1,3,224,224. + """) + + parser.add_argument("--precision", + type=str, + choices=["fp32", "fp16", "int8"], + required=True, + help="model inference precision.") + + args = parser.parse_args() + + return args + +def main(): + args = parse_args() + + # get input valueinfo + input_name, input_shape = args.input.split(":") + shape = tuple([int(s) for s in input_shape.split(",")]) + input_dict = {input_name: shape} + + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + + mod, params = import_model_to_igie(args.model_path, input_dict, backend="igie") + + # build engine + lib = tvm.relay.build(mod, target=target, params=params, precision=args.precision) + + # export engine + lib.export_library(args.engine_path) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/export.py b/models/cv/detection/retinaface/igie/export.py new file mode 100755 index 00000000..a1816645 --- /dev/null +++ b/models/cv/detection/retinaface/igie/export.py @@ -0,0 +1,116 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import argparse +import torch +from models.retinaface import RetinaFace + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--weight", + type=str, + required=True, + help="pytorch model weight.") + + parser.add_argument("--output", + type=str, + required=True, + help="export onnx model path.") + + args = parser.parse_args() + return args + +def check_keys(model, pretrained_state_dict): + ckpt_keys = set(pretrained_state_dict.keys()) + model_keys = set(model.state_dict().keys()) + used_pretrained_keys = model_keys & ckpt_keys + unused_pretrained_keys = ckpt_keys - model_keys + missing_keys = model_keys - ckpt_keys + print('Missing keys:{}'.format(len(missing_keys))) + print('Unused checkpoint keys:{}'.format(len(unused_pretrained_keys))) + print('Used keys:{}'.format(len(used_pretrained_keys))) + assert len(used_pretrained_keys) > 0, 'load NONE from pretrained checkpoint' + return True + + +def remove_prefix(state_dict, prefix): + ''' Old style model is stored with all names of parameters sharing common prefix 'module.' ''' + print('remove prefix \'{}\''.format(prefix)) + f = lambda x: x.split(prefix, 1)[-1] if x.startswith(prefix) else x + return {f(key): value for key, value in state_dict.items()} + + +def load_model(model, pretrained_path): + print('Loading pretrained model from {}'.format(pretrained_path)) + pretrained_dict = torch.load(pretrained_path, map_location=lambda storage, loc: storage) + + if "state_dict" in pretrained_dict.keys(): + pretrained_dict = remove_prefix(pretrained_dict['state_dict'], 'module.') + else: + pretrained_dict = remove_prefix(pretrained_dict, 'module.') + check_keys(model, pretrained_dict) + model.load_state_dict(pretrained_dict, strict=False) + return model + +def main(): + args = parse_args() + + cfg_mnet = { + 'name': 'mobilenet0.25', + 'min_sizes': [[10, 20], [32, 64], [128, 256]], + 'steps': [8, 16, 32], + 'variance': [0.1, 0.2], + 'clip': False, + 'loc_weight': 2.0, + 'gpu_train': True, + 'batch_size': 32, + 'ngpu': 1, + 'epoch': 250, + 'decay1': 190, + 'decay2': 220, + 'image_size': 300, + 'pretrain': False, + 'return_layers': {'stage1': 1, 'stage2': 2, 'stage3': 3}, + 'in_channel': 32, + 'out_channel': 64 + } + model = RetinaFace(cfg = cfg_mnet, phase = 'test') + + # load weight + model = load_model(model, args.weight) + model.eval() + + input_names = ["input"] + output_names = ["output"] + dynamic_axes = {'input': {0: '-1'}, 'output': {0: '-1'}} + dummy_input = torch.randn(1, 3, 320, 320) + + torch.onnx.export( + model, + dummy_input, + args.output, + input_names = input_names, + dynamic_axes = dynamic_axes, + output_names = output_names, + opset_version=13 + ) + print("Export onnx model successfully! ") + + +if __name__ == '__main__': + main() + + diff --git a/models/cv/detection/retinaface/igie/inference.py b/models/cv/detection/retinaface/igie/inference.py new file mode 100644 index 00000000..44d29d1b --- /dev/null +++ b/models/cv/detection/retinaface/igie/inference.py @@ -0,0 +1,205 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import cv2 +import tvm +import torch +import argparse +import numpy as np +from tvm import relay +from tqdm import tqdm +from torch.utils.data import Dataset +from utils.post_process import post_process + +def parse_args(): + parser = argparse.ArgumentParser() + + parser.add_argument("--engine", + type=str, + required=True, + help="igie engine path.") + + parser.add_argument("--batchsize", + type=int, + required=True, + help="inference batch size.") + + parser.add_argument("--datasets", + type=str, + required=True, + help="datasets path.") + + parser.add_argument("--input_name", + type=str, + required=True, + help="input name of the model.") + + parser.add_argument("--warmup", + type=int, + default=3, + help="number of warmup before test.") + + parser.add_argument("--acc_target", + type=float, + default=None, + help="Model inference Accuracy target.") + + parser.add_argument("--fps_target", + type=float, + default=None, + help="Model inference FPS target.") + + parser.add_argument("--perf_only", + type=bool, + default=False, + help="Run performance test only") + + args = parser.parse_args() + + return args + +def letterbox(im, new_shape=(640, 640), color=(114, 114, 114)): + shape = im.shape[:2] + if isinstance(new_shape, int): + new_shape = (new_shape, new_shape) + r = 1 + + # Compute padding + ratio = r, r + new_unpad = int(round(shape[1] * r)), int(round(shape[0] * r)) + dw, dh = new_shape[1] - new_unpad[0], new_shape[0] - new_unpad[1] + dw /= 2 + dh /= 2 + + if shape[::-1] != new_unpad: + im = cv2.resize(im, new_unpad, interpolation=cv2.INTER_LINEAR) + top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1)) + left, right = int(round(dw - 0.1)), int(round(dw + 0.1)) + im = cv2.copyMakeBorder(im, + top, + bottom, + left, + right, + cv2.BORDER_CONSTANT, + value=color) + return im, ratio, (dw, dh) + + +class FaceDataset(Dataset): + def __init__(self, img_path,image_size=320, layout="NCHW"): + + self.imgs_path = [] + self.imgs_path_ori=[] + self.image_size=image_size + self.layout = layout + self.img_dir=os.path.dirname(img_path) + with open(img_path, 'r') as fr: + self.imgs_path = fr.read().split() + self.imgs_path_ori=self.imgs_path + + def __len__(self): + return len(self.imgs_path) + + def __getitem__(self, idx): + img, (h0, w0), (h, w) = self._load_image(idx) + img, ratio, pad = letterbox(img, + self.image_size, + color=(114,114,114)) + shapes = (h0, w0), ((h / h0, w / w0), pad),(h, w) + img = img.astype(np.float32) + img -= (104, 117, 123) + img = img.transpose(2, 0, 1) + + return img, self.imgs_path[idx], shapes, self.imgs_path_ori[idx] + + + @staticmethod + def collate_fn(batch): + im, path, shapes, path_ori = zip(*batch) + return np.concatenate([i[None] for i in im], axis=0), path, shapes, path_ori + + def _load_image(self, i): + im = cv2.imread(self.img_dir+'/images'+self.imgs_path[i], cv2.IMREAD_COLOR) + h0, w0 = im.shape[:2] + r = self.image_size / max(h0, w0) + if r != 1: + im = cv2.resize(im, (int(w0 * r), int(h0 * r)), + interpolation=cv2.INTER_LINEAR) + return im.astype("float32"), (h0, w0), im.shape[:2] + +def get_dataloader(args): + image_size = 320 + batchsize = args.batchsize + data_path = os.path.join(args.datasets, 'val/wider_val.txt') + datasets =FaceDataset(data_path, image_size) + dataLoader = torch.utils.data.DataLoader(datasets, batchsize, drop_last=False, collate_fn=datasets.collate_fn) + + return dataLoader + +def main(): + args = parse_args() + + batch_size = args.batchsize + + # create iluvatar target & device + target = tvm.target.iluvatar(model="MR", options="-libs=cudnn,cublas,ixinfer") + device = tvm.device(target.kind.name, 0) + + # load engine + lib = tvm.runtime.load_module(args.engine) + + # create runtime from engine + module = tvm.contrib.graph_executor.GraphModule(lib["default"](device)) + + # just run perf test + if args.perf_only: + ftimer = module.module.time_evaluator("run", device, number=100, repeat=1) + prof_res = np.array(ftimer().results) * 1000 + fps = batch_size * 1000 / np.mean(prof_res) + print(f"\n* Mean inference time: {np.mean(prof_res):.3f} ms, Mean fps: {fps:.3f}") + else: + # warmup + for _ in range(args.warmup): + module.run() + + dataloader = get_dataloader(args) + + for batch in tqdm(dataloader): + image = batch[0] + shapes = batch[2] + img_names = batch[3] + + pad_batch = len(image) != batch_size + if pad_batch: + origin_size = len(image) + image = np.resize(image, (batch_size, *image.shape[1:])) + + module.set_input("input", tvm.nd.array(image, device)) + + module.run() + + loc_bs, conf_bs, landms_bs = module.get_output(0).asnumpy(), module.get_output(1).asnumpy(), module.get_output(2).asnumpy() + + if pad_batch: + loc_bs = loc_bs[:origin_size] + conf_bs = conf_bs[:origin_size] + landms_bs = landms_bs[:origin_size] + + ## batch accuracy + post_process(shapes, img_names, loc_bs, conf_bs, landms_bs, save_folder='./widerface_evaluate/widerface_txt/') + +if __name__ == "__main__": + main() diff --git a/models/cv/detection/retinaface/igie/models/net.py b/models/cv/detection/retinaface/igie/models/net.py new file mode 100644 index 00000000..981be825 --- /dev/null +++ b/models/cv/detection/retinaface/igie/models/net.py @@ -0,0 +1,148 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torch.nn as nn +import torch.nn.functional as F + +def conv_bn(inp, oup, stride = 1): + return nn.Sequential( + nn.Conv2d(inp, oup, 3, stride, 1, bias=False), + nn.BatchNorm2d(oup), + nn.ReLU(inplace=True) + ) + +def conv_bn_no_relu(inp, oup, stride): + return nn.Sequential( + nn.Conv2d(inp, oup, 3, stride, 1, bias=False), + nn.BatchNorm2d(oup), + ) + +def conv_bn1X1(inp, oup, stride): + return nn.Sequential( + nn.Conv2d(inp, oup, 1, stride, padding=0, bias=False), + nn.BatchNorm2d(oup), + nn.ReLU(inplace=True) + ) + +def conv_dw(inp, oup, stride): + return nn.Sequential( + nn.Conv2d(inp, inp, 3, stride, 1, groups=inp, bias=False), + nn.BatchNorm2d(inp), + nn.ReLU(inplace=True), + + nn.Conv2d(inp, oup, 1, 1, 0, bias=False), + nn.BatchNorm2d(oup), + nn.ReLU(inplace=True) + ) + +class SSH(nn.Module): + def __init__(self, in_channel, out_channel): + super(SSH, self).__init__() + assert out_channel % 4 == 0 + leaky = 0 + if (out_channel <= 64): + leaky = 0.1 + self.conv3X3 = conv_bn_no_relu(in_channel, out_channel//2, stride=1) + + self.conv5X5_1 = conv_bn(in_channel, out_channel//4, stride=1) + self.conv5X5_2 = conv_bn_no_relu(out_channel//4, out_channel//4, stride=1) + + self.conv7X7_2 = conv_bn(out_channel//4, out_channel//4, stride=1) + self.conv7x7_3 = conv_bn_no_relu(out_channel//4, out_channel//4, stride=1) + + def forward(self, input): + conv3X3 = self.conv3X3(input) + + conv5X5_1 = self.conv5X5_1(input) + conv5X5 = self.conv5X5_2(conv5X5_1) + + conv7X7_2 = self.conv7X7_2(conv5X5_1) + conv7X7 = self.conv7x7_3(conv7X7_2) + + out = torch.cat([conv3X3, conv5X5, conv7X7], dim=1) + out = F.relu(out) + return out + +class FPN(nn.Module): + def __init__(self,in_channels_list,out_channels): + super(FPN,self).__init__() + leaky = 0 + if (out_channels <= 64): + leaky = 0.1 + self.output1 = conv_bn1X1(in_channels_list[0], out_channels, stride = 1) + self.output2 = conv_bn1X1(in_channels_list[1], out_channels, stride = 1) + self.output3 = conv_bn1X1(in_channels_list[2], out_channels, stride = 1) + + self.merge1 = conv_bn(out_channels, out_channels) + self.merge2 = conv_bn(out_channels, out_channels) + + def forward(self, input): + # names = list(input.keys()) + input = list(input.values()) + + output1 = self.output1(input[0]) + output2 = self.output2(input[1]) + output3 = self.output3(input[2]) + + up3 = F.interpolate(output3, size=[output2.size(2), output2.size(3)], mode="nearest") + output2 = output2 + up3 + output2 = self.merge2(output2) + + up2 = F.interpolate(output2, size=[output1.size(2), output1.size(3)], mode="nearest") + output1 = output1 + up2 + output1 = self.merge1(output1) + + out = [output1, output2, output3] + return out + + + +class MobileNetV1(nn.Module): + def __init__(self): + super(MobileNetV1, self).__init__() + self.stage1 = nn.Sequential( + conv_bn(3, 8, 2), # 3 + conv_dw(8, 16, 1), # 7 + conv_dw(16, 32, 2), # 11 + conv_dw(32, 32, 1), # 19 + conv_dw(32, 64, 2), # 27 + conv_dw(64, 64, 1), # 43 + ) + self.stage2 = nn.Sequential( + conv_dw(64, 128, 2), # 43 + 16 = 59 + conv_dw(128, 128, 1), # 59 + 32 = 91 + conv_dw(128, 128, 1), # 91 + 32 = 123 + conv_dw(128, 128, 1), # 123 + 32 = 155 + conv_dw(128, 128, 1), # 155 + 32 = 187 + conv_dw(128, 128, 1), # 187 + 32 = 219 + ) + self.stage3 = nn.Sequential( + conv_dw(128, 256, 2), # 219 +3 2 = 241 + conv_dw(256, 256, 1), # 241 + 64 = 301 + ) + self.avg = nn.AdaptiveAvgPool2d((1,1)) + self.fc = nn.Linear(256, 1000) + + def forward(self, x): + x = self.stage1(x) + x = self.stage2(x) + x = self.stage3(x) + x = self.avg(x) + # x = self.model(x) + x = x.view(-1, 256) + x = self.fc(x) + return x + diff --git a/models/cv/detection/retinaface/igie/models/retinaface.py b/models/cv/detection/retinaface/igie/models/retinaface.py new file mode 100644 index 00000000..873506e3 --- /dev/null +++ b/models/cv/detection/retinaface/igie/models/retinaface.py @@ -0,0 +1,138 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import torch.nn as nn +import torchvision.models._utils as _utils +import torch.nn.functional as F + +from models.net import MobileNetV1 as MobileNetV1 +from models.net import FPN as FPN +from models.net import SSH as SSH + +class ClassHead(nn.Module): + def __init__(self,inchannels=512,num_anchors=3): + super(ClassHead,self).__init__() + self.num_anchors = num_anchors + self.conv1x1 = nn.Conv2d(inchannels,self.num_anchors*2,kernel_size=(1,1),stride=1,padding=0) + + def forward(self,x): + out = self.conv1x1(x) + out = out.permute(0,2,3,1).contiguous() + + return out.view(out.shape[0], -1, 2) + +class BboxHead(nn.Module): + def __init__(self,inchannels=512,num_anchors=3): + super(BboxHead,self).__init__() + self.conv1x1 = nn.Conv2d(inchannels,num_anchors*4,kernel_size=(1,1),stride=1,padding=0) + + def forward(self,x): + out = self.conv1x1(x) + out = out.permute(0,2,3,1).contiguous() + + return out.view(out.shape[0], -1, 4) + +class LandmarkHead(nn.Module): + def __init__(self,inchannels=512,num_anchors=3): + super(LandmarkHead,self).__init__() + self.conv1x1 = nn.Conv2d(inchannels,num_anchors*10,kernel_size=(1,1),stride=1,padding=0) + + def forward(self,x): + out = self.conv1x1(x) + out = out.permute(0,2,3,1).contiguous() + + return out.view(out.shape[0], -1, 10) + +class RetinaFace(nn.Module): + def __init__(self, cfg = None, phase = 'train'): + """ + :param cfg: Network related settings. + :param phase: train or test. + """ + super(RetinaFace,self).__init__() + self.phase = phase + backbone = None + if cfg['name'] == 'mobilenet0.25': + backbone = MobileNetV1() + if cfg['pretrain']: + checkpoint = torch.load("./weights/mobilenetV1X0.25_pretrain.tar", map_location=torch.device('cpu')) + from collections import OrderedDict + new_state_dict = OrderedDict() + for k, v in checkpoint['state_dict'].items(): + name = k[7:] # remove module. + new_state_dict[name] = v + # load params + backbone.load_state_dict(new_state_dict) + elif cfg['name'] == 'Resnet50': + import torchvision.models as models + backbone = models.resnet50(pretrained=cfg['pretrain']) + + self.body = _utils.IntermediateLayerGetter(backbone, cfg['return_layers']) + in_channels_stage2 = cfg['in_channel'] + in_channels_list = [ + in_channels_stage2 * 2, + in_channels_stage2 * 4, + in_channels_stage2 * 8, + ] + out_channels = cfg['out_channel'] + self.fpn = FPN(in_channels_list,out_channels) + self.ssh1 = SSH(out_channels, out_channels) + self.ssh2 = SSH(out_channels, out_channels) + self.ssh3 = SSH(out_channels, out_channels) + + self.ClassHead = self._make_class_head(fpn_num=3, inchannels=cfg['out_channel']) + self.BboxHead = self._make_bbox_head(fpn_num=3, inchannels=cfg['out_channel']) + self.LandmarkHead = self._make_landmark_head(fpn_num=3, inchannels=cfg['out_channel']) + + def _make_class_head(self,fpn_num=3,inchannels=64,anchor_num=2): + classhead = nn.ModuleList() + for i in range(fpn_num): + classhead.append(ClassHead(inchannels,anchor_num)) + return classhead + + def _make_bbox_head(self,fpn_num=3,inchannels=64,anchor_num=2): + bboxhead = nn.ModuleList() + for i in range(fpn_num): + bboxhead.append(BboxHead(inchannels,anchor_num)) + return bboxhead + + def _make_landmark_head(self,fpn_num=3,inchannels=64,anchor_num=2): + landmarkhead = nn.ModuleList() + for i in range(fpn_num): + landmarkhead.append(LandmarkHead(inchannels,anchor_num)) + return landmarkhead + + def forward(self,inputs): + out = self.body(inputs) + + # FPN + fpn = self.fpn(out) + + # SSH + feature1 = self.ssh1(fpn[0]) + feature2 = self.ssh2(fpn[1]) + feature3 = self.ssh3(fpn[2]) + features = [feature1, feature2, feature3] + + bbox_regressions = torch.cat([self.BboxHead[i](feature) for i, feature in enumerate(features)], dim=1) + classifications = torch.cat([self.ClassHead[i](feature) for i, feature in enumerate(features)],dim=1) + ldm_regressions = torch.cat([self.LandmarkHead[i](feature) for i, feature in enumerate(features)], dim=1) + + if self.phase == 'train': + output = (bbox_regressions, classifications, ldm_regressions) + else: + output = (bbox_regressions, F.softmax(classifications, dim=-1), ldm_regressions) + return output \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_accuracy.sh b/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_accuracy.sh new file mode 100644 index 00000000..ea43f251 --- /dev/null +++ b/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_accuracy.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="retinaface_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,320,320 \ + --precision fp16 \ + --engine_path retinaface_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine retinaface_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} + +# compute accuracy +cd widerface_evaluate +python3 setup.py build_ext --inplace +python3 evaluation.py +cd .. \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_performance.sh b/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_performance.sh new file mode 100644 index 00000000..e92b1f56 --- /dev/null +++ b/models/cv/detection/retinaface/igie/scripts/infer_retinaface_fp16_performance.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +batchsize=32 +model_path="retinaface_opt.onnx" +datasets_path=${DATASETS_DIR} + +# build engine +python3 build_engine.py \ + --model_path ${model_path} \ + --input input:${batchsize},3,320,320 \ + --precision fp16 \ + --engine_path retinaface_bs_${batchsize}_fp16.so + + +# inference +python3 inference.py \ + --engine retinaface_bs_${batchsize}_fp16.so \ + --batchsize ${batchsize} \ + --input_name input \ + --datasets ${datasets_path} \ + --perf_only True \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/utils/box_utils.py b/models/cv/detection/retinaface/igie/utils/box_utils.py new file mode 100755 index 00000000..0bf174cb --- /dev/null +++ b/models/cv/detection/retinaface/igie/utils/box_utils.py @@ -0,0 +1,344 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +import numpy as np + +def point_form(boxes): + """ Convert prior_boxes to (xmin, ymin, xmax, ymax) + representation for comparison to point form ground truth data. + Args: + boxes: (tensor) center-size default boxes from priorbox layers. + Return: + boxes: (tensor) Converted xmin, ymin, xmax, ymax form of boxes. + """ + return torch.cat((boxes[:, :2] - boxes[:, 2:]/2, # xmin, ymin + boxes[:, :2] + boxes[:, 2:]/2), 1) # xmax, ymax + + +def center_size(boxes): + """ Convert prior_boxes to (cx, cy, w, h) + representation for comparison to center-size form ground truth data. + Args: + boxes: (tensor) point_form boxes + Return: + boxes: (tensor) Converted xmin, ymin, xmax, ymax form of boxes. + """ + return torch.cat((boxes[:, 2:] + boxes[:, :2])/2, # cx, cy + boxes[:, 2:] - boxes[:, :2], 1) # w, h + + +def intersect(box_a, box_b): + """ We resize both tensors to [A,B,2] without new malloc: + [A,2] -> [A,1,2] -> [A,B,2] + [B,2] -> [1,B,2] -> [A,B,2] + Then we compute the area of intersect between box_a and box_b. + Args: + box_a: (tensor) bounding boxes, Shape: [A,4]. + box_b: (tensor) bounding boxes, Shape: [B,4]. + Return: + (tensor) intersection area, Shape: [A,B]. + """ + A = box_a.size(0) + B = box_b.size(0) + max_xy = torch.min(box_a[:, 2:].unsqueeze(1).expand(A, B, 2), + box_b[:, 2:].unsqueeze(0).expand(A, B, 2)) + min_xy = torch.max(box_a[:, :2].unsqueeze(1).expand(A, B, 2), + box_b[:, :2].unsqueeze(0).expand(A, B, 2)) + inter = torch.clamp((max_xy - min_xy), min=0) + return inter[:, :, 0] * inter[:, :, 1] + + +def jaccard(box_a, box_b): + """Compute the jaccard overlap of two sets of boxes. The jaccard overlap + is simply the intersection over union of two boxes. Here we operate on + ground truth boxes and default boxes. + E.g.: + A ∩ B / A ∪ B = A ∩ B / (area(A) + area(B) - A ∩ B) + Args: + box_a: (tensor) Ground truth bounding boxes, Shape: [num_objects,4] + box_b: (tensor) Prior boxes from priorbox layers, Shape: [num_priors,4] + Return: + jaccard overlap: (tensor) Shape: [box_a.size(0), box_b.size(0)] + """ + inter = intersect(box_a, box_b) + area_a = ((box_a[:, 2]-box_a[:, 0]) * + (box_a[:, 3]-box_a[:, 1])).unsqueeze(1).expand_as(inter) # [A,B] + area_b = ((box_b[:, 2]-box_b[:, 0]) * + (box_b[:, 3]-box_b[:, 1])).unsqueeze(0).expand_as(inter) # [A,B] + union = area_a + area_b - inter + return inter / union # [A,B] + + +def matrix_iou(a, b): + """ + return iou of a and b, numpy version for data augenmentation + """ + lt = np.maximum(a[:, np.newaxis, :2], b[:, :2]) + rb = np.minimum(a[:, np.newaxis, 2:], b[:, 2:]) + + area_i = np.prod(rb - lt, axis=2) * (lt < rb).all(axis=2) + area_a = np.prod(a[:, 2:] - a[:, :2], axis=1) + area_b = np.prod(b[:, 2:] - b[:, :2], axis=1) + return area_i / (area_a[:, np.newaxis] + area_b - area_i) + + +def matrix_iof(a, b): + """ + return iof of a and b, numpy version for data augenmentation + """ + lt = np.maximum(a[:, np.newaxis, :2], b[:, :2]) + rb = np.minimum(a[:, np.newaxis, 2:], b[:, 2:]) + + area_i = np.prod(rb - lt, axis=2) * (lt < rb).all(axis=2) + area_a = np.prod(a[:, 2:] - a[:, :2], axis=1) + return area_i / np.maximum(area_a[:, np.newaxis], 1) + + +def match(threshold, truths, priors, variances, labels, landms, loc_t, conf_t, landm_t, idx): + """Match each prior box with the ground truth box of the highest jaccard + overlap, encode the bounding boxes, then return the matched indices + corresponding to both confidence and location preds. + Args: + threshold: (float) The overlap threshold used when mathing boxes. + truths: (tensor) Ground truth boxes, Shape: [num_obj, 4]. + priors: (tensor) Prior boxes from priorbox layers, Shape: [n_priors,4]. + variances: (tensor) Variances corresponding to each prior coord, + Shape: [num_priors, 4]. + labels: (tensor) All the class labels for the image, Shape: [num_obj]. + landms: (tensor) Ground truth landms, Shape [num_obj, 10]. + loc_t: (tensor) Tensor to be filled w/ endcoded location targets. + conf_t: (tensor) Tensor to be filled w/ matched indices for conf preds. + landm_t: (tensor) Tensor to be filled w/ endcoded landm targets. + idx: (int) current batch index + Return: + The matched indices corresponding to 1)location 2)confidence 3)landm preds. + """ + # jaccard index + overlaps = jaccard( + truths, + point_form(priors) + ) + # (Bipartite Matching) + # [1,num_objects] best prior for each ground truth + best_prior_overlap, best_prior_idx = overlaps.max(1, keepdim=True) + + # ignore hard gt + valid_gt_idx = best_prior_overlap[:, 0] >= 0.2 + best_prior_idx_filter = best_prior_idx[valid_gt_idx, :] + if best_prior_idx_filter.shape[0] <= 0: + loc_t[idx] = 0 + conf_t[idx] = 0 + return + + # [1,num_priors] best ground truth for each prior + best_truth_overlap, best_truth_idx = overlaps.max(0, keepdim=True) + best_truth_idx.squeeze_(0) + best_truth_overlap.squeeze_(0) + best_prior_idx.squeeze_(1) + best_prior_idx_filter.squeeze_(1) + best_prior_overlap.squeeze_(1) + best_truth_overlap.index_fill_(0, best_prior_idx_filter, 2) # ensure best prior + # TODO refactor: index best_prior_idx with long tensor + # ensure every gt matches with its prior of max overlap + for j in range(best_prior_idx.size(0)): # 判别此anchor是预测哪一个boxes + best_truth_idx[best_prior_idx[j]] = j + matches = truths[best_truth_idx] # Shape: [num_priors,4] 此处为每一个anchor对应的bbox取出来 + conf = labels[best_truth_idx] # Shape: [num_priors] 此处为每一个anchor对应的label取出来 + conf[best_truth_overlap < threshold] = 0 # label as background overlap<0.35的全部作为负样本 + loc = encode(matches, priors, variances) + + matches_landm = landms[best_truth_idx] + landm = encode_landm(matches_landm, priors, variances) + loc_t[idx] = loc # [num_priors,4] encoded offsets to learn + conf_t[idx] = conf # [num_priors] top class label for each prior + landm_t[idx] = landm + + +def encode(matched, priors, variances): + """Encode the variances from the priorbox layers into the ground truth boxes + we have matched (based on jaccard overlap) with the prior boxes. + Args: + matched: (tensor) Coords of ground truth for each prior in point-form + Shape: [num_priors, 4]. + priors: (tensor) Prior boxes in center-offset form + Shape: [num_priors,4]. + variances: (list[float]) Variances of priorboxes + Return: + encoded boxes (tensor), Shape: [num_priors, 4] + """ + + # dist b/t match center and prior's center + g_cxcy = (matched[:, :2] + matched[:, 2:])/2 - priors[:, :2] + # encode variance + g_cxcy /= (variances[0] * priors[:, 2:]) + # match wh / prior wh + g_wh = (matched[:, 2:] - matched[:, :2]) / priors[:, 2:] + g_wh = torch.log(g_wh) / variances[1] + # return target for smooth_l1_loss + return torch.cat([g_cxcy, g_wh], 1) # [num_priors,4] + +def encode_landm(matched, priors, variances): + """Encode the variances from the priorbox layers into the ground truth boxes + we have matched (based on jaccard overlap) with the prior boxes. + Args: + matched: (tensor) Coords of ground truth for each prior in point-form + Shape: [num_priors, 10]. + priors: (tensor) Prior boxes in center-offset form + Shape: [num_priors,4]. + variances: (list[float]) Variances of priorboxes + Return: + encoded landm (tensor), Shape: [num_priors, 10] + """ + + # dist b/t match center and prior's center + matched = torch.reshape(matched, (matched.size(0), 5, 2)) + priors_cx = priors[:, 0].unsqueeze(1).expand(matched.size(0), 5).unsqueeze(2) + priors_cy = priors[:, 1].unsqueeze(1).expand(matched.size(0), 5).unsqueeze(2) + priors_w = priors[:, 2].unsqueeze(1).expand(matched.size(0), 5).unsqueeze(2) + priors_h = priors[:, 3].unsqueeze(1).expand(matched.size(0), 5).unsqueeze(2) + priors = torch.cat([priors_cx, priors_cy, priors_w, priors_h], dim=2) + g_cxcy = matched[:, :, :2] - priors[:, :, :2] + # encode variance + g_cxcy /= (variances[0] * priors[:, :, 2:]) + # g_cxcy /= priors[:, :, 2:] + g_cxcy = g_cxcy.reshape(g_cxcy.size(0), -1) + # return target for smooth_l1_loss + return g_cxcy + + +# Adapted from https://github.com/Hakuyume/chainer-ssd +def decode(loc, priors, variances): + """Decode locations from predictions using priors to undo + the encoding we did for offset regression at train time. + Args: + loc (tensor): location predictions for loc layers, + Shape: [num_priors,4] + priors (tensor): Prior boxes in center-offset form. + Shape: [num_priors,4]. + variances: (list[float]) Variances of priorboxes + Return: + decoded bounding box predictions + """ + + boxes = torch.cat(( + priors[:, :2] + loc[:, :2] * variances[0] * priors[:, 2:], + priors[:, 2:] * torch.exp(loc[:, 2:] * variances[1])), 1) + boxes[:, :2] -= boxes[:, 2:] / 2 + boxes[:, 2:] += boxes[:, :2] + return boxes + +def decode_landm(pre, priors, variances): + """Decode landm from predictions using priors to undo + the encoding we did for offset regression at train time. + Args: + pre (tensor): landm predictions for loc layers, + Shape: [num_priors,10] + priors (tensor): Prior boxes in center-offset form. + Shape: [num_priors,4]. + variances: (list[float]) Variances of priorboxes + Return: + decoded landm predictions + """ + landms = torch.cat((priors[:, :2] + pre[:, :2] * variances[0] * priors[:, 2:], + priors[:, :2] + pre[:, 2:4] * variances[0] * priors[:, 2:], + priors[:, :2] + pre[:, 4:6] * variances[0] * priors[:, 2:], + priors[:, :2] + pre[:, 6:8] * variances[0] * priors[:, 2:], + priors[:, :2] + pre[:, 8:10] * variances[0] * priors[:, 2:], + ), dim=1) + return landms + + +def log_sum_exp(x): + """Utility function for computing log_sum_exp while determining + This will be used to determine unaveraged confidence loss across + all examples in a batch. + Args: + x (Variable(tensor)): conf_preds from conf layers + """ + x_max = x.data.max() + return torch.log(torch.sum(torch.exp(x-x_max), 1, keepdim=True)) + x_max + + +# Original author: Francisco Massa: +# https://github.com/fmassa/object-detection.torch +# Ported to PyTorch by Max deGroot (02/01/2017) +def nms(boxes, scores, overlap=0.5, top_k=200): + """Apply non-maximum suppression at test time to avoid detecting too many + overlapping bounding boxes for a given object. + Args: + boxes: (tensor) The location preds for the img, Shape: [num_priors,4]. + scores: (tensor) The class predscores for the img, Shape:[num_priors]. + overlap: (float) The overlap thresh for suppressing unnecessary boxes. + top_k: (int) The Maximum number of box preds to consider. + Return: + The indices of the kept boxes with respect to num_priors. + """ + + keep = torch.Tensor(scores.size(0)).fill_(0).long() + if boxes.numel() == 0: + return keep + x1 = boxes[:, 0] + y1 = boxes[:, 1] + x2 = boxes[:, 2] + y2 = boxes[:, 3] + area = torch.mul(x2 - x1, y2 - y1) + v, idx = scores.sort(0) # sort in ascending order + # I = I[v >= 0.01] + idx = idx[-top_k:] # indices of the top-k largest vals + xx1 = boxes.new() + yy1 = boxes.new() + xx2 = boxes.new() + yy2 = boxes.new() + w = boxes.new() + h = boxes.new() + + # keep = torch.Tensor() + count = 0 + while idx.numel() > 0: + i = idx[-1] # index of current largest val + # keep.append(i) + keep[count] = i + count += 1 + if idx.size(0) == 1: + break + idx = idx[:-1] # remove kept element from view + # load bboxes of next highest vals + torch.index_select(x1, 0, idx, out=xx1) + torch.index_select(y1, 0, idx, out=yy1) + torch.index_select(x2, 0, idx, out=xx2) + torch.index_select(y2, 0, idx, out=yy2) + # store element-wise max with next highest score + xx1 = torch.clamp(xx1, min=x1[i]) + yy1 = torch.clamp(yy1, min=y1[i]) + xx2 = torch.clamp(xx2, max=x2[i]) + yy2 = torch.clamp(yy2, max=y2[i]) + w.resize_as_(xx2) + h.resize_as_(yy2) + w = xx2 - xx1 + h = yy2 - yy1 + # check sizes of xx1 and xx2.. after each iteration + w = torch.clamp(w, min=0.0) + h = torch.clamp(h, min=0.0) + inter = w*h + # IoU = i / (area(a) + area(b) - i) + rem_areas = torch.index_select(area, 0, idx) # load remaining areas) + union = (rem_areas - inter) + area[i] + IoU = inter/union # store result in iou + # keep only elements with an IoU <= overlap + idx = idx[IoU.le(overlap)] + return keep, count + + diff --git a/models/cv/detection/retinaface/igie/utils/post_process.py b/models/cv/detection/retinaface/igie/utils/post_process.py new file mode 100755 index 00000000..3affc022 --- /dev/null +++ b/models/cv/detection/retinaface/igie/utils/post_process.py @@ -0,0 +1,186 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import os +import torch +import numpy as np +from .prior_box import PriorBox +from .box_utils import decode, decode_landm +from .py_cpu_nms import py_cpu_nms + +cfg_mnet = { + 'name': 'mobilenet0.25', + 'min_sizes': [[10, 20], [32, 64], [128, 256]], + 'steps': [8, 16, 32], + 'variance': [0.1, 0.2], + 'clip': False, + 'loc_weight': 2.0, + 'gpu_train': True, + 'batch_size': 32, + 'ngpu': 1, + 'epoch': 250, + 'decay1': 190, + 'decay2': 220, + 'image_size': 300, + 'pretrain': False, + 'return_layers': {'stage1': 1, 'stage2': 2, 'stage3': 3}, + 'in_channel': 32, + 'out_channel': 64 +} + +def clip_boxes(boxes, shape): + # Clip boxes (xyxy) to image shape (height, width) + if isinstance(boxes, torch.Tensor): # faster individually + boxes[:, 0].clamp_(0, shape[1]) # x1 + boxes[:, 1].clamp_(0, shape[0]) # y1 + boxes[:, 2].clamp_(0, shape[1]) # x2 + boxes[:, 3].clamp_(0, shape[0]) # y2 + else: # np.array (faster grouped) + boxes[:, [0, 2]] = boxes[:, [0, 2]].clip(0, shape[1]) # x1, x2 + boxes[:, [1, 3]] = boxes[:, [1, 3]].clip(0, shape[0]) # y1, y2 + +def scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None): + # Rescale boxes (xyxy) from img1_shape to img0_shape + if ratio_pad is None: # calculate from img0_shape + gain = min(img1_shape[0] / img0_shape[0], + img1_shape[1] / img0_shape[1]) # gain = old / new + pad = (img1_shape[1] - img0_shape[1] * gain) / 2, ( + img1_shape[0] - img0_shape[0] * gain) / 2 # wh padding + else: + gain = ratio_pad[0][0] + pad = ratio_pad[1] + + boxes[:, [0, 2]] -= pad[0] # x padding + boxes[:, [1, 3]] -= pad[1] # y padding + boxes[:, :4] /= gain + clip_boxes(boxes, img0_shape) + return boxes + +def clip_boxes_landm(landm, shape): + # Clip boxes (xyxy) to image shape (height, width) + if isinstance(landm, torch.Tensor): # faster individually + landm[:, 0].clamp_(0, shape[1]) # x1 + landm[:, 1].clamp_(0, shape[0]) # y1 + landm[:, 2].clamp_(0, shape[1]) # x2 + landm[:, 3].clamp_(0, shape[0]) # y2 + landm[:, 4].clamp_(0, shape[1]) # x1 + landm[:, 5].clamp_(0, shape[0]) # y1 + landm[:, 6].clamp_(0, shape[1]) # x2 + landm[:, 7].clamp_(0, shape[0]) # y2 + landm[:, 8].clamp_(0, shape[1]) # x2 + landm[:, 9].clamp_(0, shape[0]) # y2 + else: # np.array (faster grouped) + landm[:, [0, 2,4,6,8]] = landm[:, [0, 2,4,6,8]].clip(0, shape[1]) # x1, x2 + landm[:, [1, 3,5,7,9]] = landm[:, [1, 3,5,7,9]].clip(0, shape[0]) # y1, y2 + +def scale_boxes_landm(img1_shape, landm, img0_shape, ratio_pad=None): + # Rescale boxes (xyxy) from img1_shape to img0_shape + if ratio_pad is None: # calculate from img0_shape + gain = min(img1_shape[0] / img0_shape[0], + img1_shape[1] / img0_shape[1]) # gain = old / new + pad = (img1_shape[1] - img0_shape[1] * gain) / 2, ( + img1_shape[0] - img0_shape[0] * gain) / 2 # wh padding + else: + gain = ratio_pad[0][0] + pad = ratio_pad[1] + + landm[:, [0, 2,4,6,8]] -= pad[0] # x padding + landm[:, [1, 3,5,7,9]] -= pad[1] # y padding + landm[:, :10] /= gain + + clip_boxes_landm(landm, img0_shape) + return landm + +def post_process(shapes, img_names, loc_bs, conf_bs, landms_bs, save_folder): + max_size = 320 + confidence_threshold=0.02 + nms_threshold=0.4 + + for idx, loc in enumerate(loc_bs): + img_size=[320, 320] + im_shape=list(shapes[idx][0]) #ori + + im_size_min = np.min(im_shape[0:2]) + im_size_max = np.max(im_shape[0:2]) + resize = float(320) / float(im_size_min) + # prevent bigger axis from being more than max_size: + if np.round(resize * im_size_max) >max_size: + resize = float(max_size) / float(im_size_max) + + scale = torch.Tensor([img_size[1], img_size[0], img_size[1], img_size[0]]) + scale = scale.to('cpu') + + priorbox = PriorBox(cfg_mnet, image_size=(320, 320)) + priors = priorbox.forward() + priors = priors.to('cpu') + prior_data = priors.data + + boxes = decode(torch.from_numpy(loc_bs[idx]).data.squeeze(0).float(), prior_data, cfg_mnet['variance']) + boxes = boxes * scale + boxes=scale_boxes([320, 320],boxes,im_shape,shapes[idx][1]) + boxes = boxes.cpu().numpy() + scores = torch.from_numpy(conf_bs[idx]).squeeze(0).data.cpu().numpy()[:, 1] + landms = decode_landm(torch.from_numpy(landms_bs[idx]).data.squeeze(0), prior_data, cfg_mnet['variance']) + img_size=[1,3,img_size[0],img_size[1]] + + + scale1 = torch.Tensor([img_size[3], img_size[2], img_size[3], img_size[2], + img_size[3], img_size[2], img_size[3], img_size[2], + img_size[3], img_size[2]]) + scale1 = scale1.to('cpu') + + landms = landms * scale1 + landms=scale_boxes_landm([320, 320],landms,im_shape,shapes[idx][1]) + landms = landms.cpu().numpy() + + # ignore low scores + inds = np.where(scores > confidence_threshold)[0] + boxes = boxes[inds] + landms = landms[inds] + scores = scores[inds] + + # keep top-K before NMS + order = scores.argsort()[::-1] + boxes = boxes[order] + landms = landms[order] + scores = scores[order] + + # do NMS + dets = np.hstack((boxes, scores[:, np.newaxis])).astype(np.float32, copy=False) + keep = py_cpu_nms(dets, nms_threshold) + dets = dets[keep, :] + landms = landms[keep] + + dets = np.concatenate((dets, landms), axis=1) + + # -------------------------------------------------------------------- + save_name = save_folder + img_names[idx][:-4] + ".txt" + dirname = os.path.dirname(save_name) + if not os.path.isdir(dirname): + os.makedirs(dirname) + with open(save_name, "w") as fd: + bboxs = dets + file_name = os.path.basename(save_name)[:-4] + "\n" + bboxs_num = str(len(bboxs)) + "\n" + fd.write(file_name) + fd.write(bboxs_num) + for box in bboxs: + x = int(box[0]) + y = int(box[1]) + w = int(box[2]) - int(box[0]) + h = int(box[3]) - int(box[1]) + confidence = str(box[4]) + line = str(x) + " " + str(y) + " " + str(w) + " " + str(h) + " " + confidence + " \n" + fd.write(line) diff --git a/models/cv/detection/retinaface/igie/utils/prior_box.py b/models/cv/detection/retinaface/igie/utils/prior_box.py new file mode 100755 index 00000000..da085d22 --- /dev/null +++ b/models/cv/detection/retinaface/igie/utils/prior_box.py @@ -0,0 +1,49 @@ +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import torch +from itertools import product as product +import numpy as np +from math import ceil + + +class PriorBox(object): + def __init__(self, cfg, image_size=None, phase='train'): + super(PriorBox, self).__init__() + self.min_sizes = cfg['min_sizes'] + self.steps = cfg['steps'] + self.clip = cfg['clip'] + self.image_size = image_size + self.feature_maps = [[ceil(self.image_size[0]/step), ceil(self.image_size[1]/step)] for step in self.steps] + self.name = "s" + + def forward(self): + anchors = [] + for k, f in enumerate(self.feature_maps): + min_sizes = self.min_sizes[k] + for i, j in product(range(f[0]), range(f[1])): + for min_size in min_sizes: + s_kx = min_size / self.image_size[1] + s_ky = min_size / self.image_size[0] + dense_cx = [x * self.steps[k] / self.image_size[1] for x in [j + 0.5]] + dense_cy = [y * self.steps[k] / self.image_size[0] for y in [i + 0.5]] + for cy, cx in product(dense_cy, dense_cx): + anchors += [cx, cy, s_kx, s_ky] + + # back to torch land + output = torch.Tensor(anchors).view(-1, 4) + if self.clip: + output.clamp_(max=1, min=0) + return output diff --git a/models/cv/detection/retinaface/igie/utils/py_cpu_nms.py b/models/cv/detection/retinaface/igie/utils/py_cpu_nms.py new file mode 100755 index 00000000..161cd07b --- /dev/null +++ b/models/cv/detection/retinaface/igie/utils/py_cpu_nms.py @@ -0,0 +1,52 @@ +# -------------------------------------------------------- +# Fast R-CNN +# Copyright (c) 2015 Microsoft +# Licensed under The MIT License [see LICENSE for details] +# Written by Ross Girshick +# -------------------------------------------------------- +# Copyright (c) 2024, Shanghai Iluvatar CoreX Semiconductor Co., Ltd. +# All Rights Reserved. +# +# 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. + +import numpy as np + +def py_cpu_nms(dets, thresh): + """Pure Python NMS baseline.""" + x1 = dets[:, 0] + y1 = dets[:, 1] + x2 = dets[:, 2] + y2 = dets[:, 3] + scores = dets[:, 4] + + areas = (x2 - x1 + 1) * (y2 - y1 + 1) + order = scores.argsort()[::-1] + + keep = [] + while order.size > 0: + i = order[0] + keep.append(i) + xx1 = np.maximum(x1[i], x1[order[1:]]) + yy1 = np.maximum(y1[i], y1[order[1:]]) + xx2 = np.minimum(x2[i], x2[order[1:]]) + yy2 = np.minimum(y2[i], y2[order[1:]]) + + w = np.maximum(0.0, xx2 - xx1 + 1) + h = np.maximum(0.0, yy2 - yy1 + 1) + inter = w * h + ovr = inter / (areas[i] + areas[order[1:]] - inter) + + inds = np.where(ovr <= thresh)[0] + order = order[inds + 1] + + return keep diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/README.md b/models/cv/detection/retinaface/igie/widerface_evaluate/README.md new file mode 100755 index 00000000..95952b7b --- /dev/null +++ b/models/cv/detection/retinaface/igie/widerface_evaluate/README.md @@ -0,0 +1,27 @@ +# WiderFace-Evaluation +Python Evaluation Code for [Wider Face Dataset](http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/) + + +## Usage + + +##### before evaluating .... + +```` +python3 setup.py build_ext --inplace +```` + +##### evaluating + +**GroungTruth:** `wider_face_val.mat`, `wider_easy_val.mat`, `wider_medium_val.mat`,`wider_hard_val.mat` + +```` +python3 evaluation.py -p -g +```` + +## Bugs & Problems +please issue + +## Acknowledgements + +some code borrowed from Sergey Karayev diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.c b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.c new file mode 100755 index 00000000..4926be24 --- /dev/null +++ b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.c @@ -0,0 +1,6871 @@ +/* Generated by Cython 0.29.33 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [ + "/home/work/zhaoxq/miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h", + "/home/work/zhaoxq/miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/core/include/numpy/ufuncobject.h" + ], + "include_dirs": [ + "/home/work/zhaoxq/miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/core/include" + ], + "name": "bbox", + "sources": [ + "box_overlaps.pyx" + ] + }, + "module_name": "bbox" +} +END: Cython Metadata */ + +#ifndef PY_SSIZE_T_CLEAN +#define PY_SSIZE_T_CLEAN +#endif /* PY_SSIZE_T_CLEAN */ +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_33" +#define CYTHON_HEX_VERSION 0x001D21F0 +#define CYTHON_FUTURE_DIVISION 0 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_READY(op) (0) + #else + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #else + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__bbox +#define __PYX_HAVE_API__bbox +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" + + /* NumPy API declarations from "numpy/__init__.pxd" */ + +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "box_overlaps.pyx", + "__init__.pxd", + "type.pxd", +}; +/* BufferFormatStructs.proto */ +#define IS_UNSIGNED(type) (((type) -1) > 0) +struct __Pyx_StructField_; +#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) +typedef struct { + const char* name; + struct __Pyx_StructField_* fields; + size_t size; + size_t arraysize[8]; + int ndim; + char typegroup; + char is_unsigned; + int flags; +} __Pyx_TypeInfo; +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; +typedef struct { + __Pyx_StructField root; + __Pyx_BufFmt_StackElem* head; + size_t fmt_offset; + size_t new_count, enc_count; + size_t struct_alignment; + int is_complex; + char enc_type; + char new_packmode; + char enc_packmode; + char is_valid_array; +} __Pyx_BufFmt_Context; + + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":689 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":690 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":691 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":692 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":696 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":697 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":698 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":699 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":703 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":704 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":713 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":714 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":715 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":717 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":718 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":719 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":721 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":722 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":724 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":725 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":726 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; + +/* "box_overlaps.pyx":13 + * + * DTYPE = np.float + * ctypedef np.float_t DTYPE_t # <<<<<<<<<<<<<< + * + * def bbox_overlaps( + */ +typedef __pyx_t_5numpy_float_t __pyx_t_4bbox_DTYPE_t; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":728 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":729 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":730 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":732 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* IsLittleEndian.proto */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void); + +/* BufferFormatCheck.proto */ +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts); +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type); + +/* BufferGetAndValidate.proto */ +#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\ + ((obj == Py_None || obj == NULL) ?\ + (__Pyx_ZeroBuffer(buf), 0) :\ + __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)) +static int __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj, + __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); +static void __Pyx_ZeroBuffer(Py_buffer* buf); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 }; +static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) do {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* BufferIndexError.proto */ +static void __Pyx_RaiseBufferIndexError(int axis); + +#define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* BufferStructDeclare.proto */ +typedef struct { + Py_ssize_t shape, strides, suboffsets; +} __Pyx_Buf_DimInfo; +typedef struct { + size_t refcount; + Py_buffer pybuffer; +} __Pyx_Buffer; +typedef struct { + __Pyx_Buffer *rcbuffer; + char *data; + __Pyx_Buf_DimInfo diminfo[8]; +} __Pyx_LocalBuf_ND; + +#if PY_MAJOR_VERSION < 3 + static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); + static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else + #define __Pyx_GetBuffer PyObject_GetBuffer + #define __Pyx_ReleaseBuffer PyBuffer_Release +#endif + + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cython' */ + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; + +/* Module declarations from 'bbox' */ +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_4bbox_DTYPE_t = { "DTYPE_t", NULL, sizeof(__pyx_t_4bbox_DTYPE_t), { 0 }, 0, 'R', 0, 0 }; +#define __Pyx_MODULE_NAME "bbox" +extern int __pyx_module_is_main_bbox; +int __pyx_module_is_main_bbox = 0; + +/* Implementation of 'bbox' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_ImportError; +static const char __pyx_k_K[] = "K"; +static const char __pyx_k_N[] = "N"; +static const char __pyx_k_k[] = "k"; +static const char __pyx_k_n[] = "n"; +static const char __pyx_k_ih[] = "ih"; +static const char __pyx_k_iw[] = "iw"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_ua[] = "ua"; +static const char __pyx_k_bbox[] = "bbox"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_DTYPE[] = "DTYPE"; +static const char __pyx_k_boxes[] = "boxes"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_float[] = "float"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_box_area[] = "box_area"; +static const char __pyx_k_overlaps[] = "overlaps"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_query_boxes[] = "query_boxes"; +static const char __pyx_k_bbox_overlaps[] = "bbox_overlaps"; +static const char __pyx_k_box_overlaps_pyx[] = "box_overlaps.pyx"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static PyObject *__pyx_n_s_DTYPE; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_n_s_K; +static PyObject *__pyx_n_s_N; +static PyObject *__pyx_n_s_bbox; +static PyObject *__pyx_n_s_bbox_overlaps; +static PyObject *__pyx_n_s_box_area; +static PyObject *__pyx_kp_s_box_overlaps_pyx; +static PyObject *__pyx_n_s_boxes; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_n_s_float; +static PyObject *__pyx_n_s_ih; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_iw; +static PyObject *__pyx_n_s_k; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_n; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_overlaps; +static PyObject *__pyx_n_s_query_boxes; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_ua; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_pf_4bbox_bbox_overlaps(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_boxes, PyArrayObject *__pyx_v_query_boxes); /* proto */ +static PyObject *__pyx_tuple_; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__3; +static PyObject *__pyx_codeobj__4; +/* Late includes */ + +/* "box_overlaps.pyx":15 + * ctypedef np.float_t DTYPE_t + * + * def bbox_overlaps( # <<<<<<<<<<<<<< + * np.ndarray[DTYPE_t, ndim=2] boxes, + * np.ndarray[DTYPE_t, ndim=2] query_boxes): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4bbox_1bbox_overlaps(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_4bbox_bbox_overlaps[] = "\n Parameters\n ----------\n boxes: (N, 4) ndarray of float\n query_boxes: (K, 4) ndarray of float\n Returns\n -------\n overlaps: (N, K) ndarray of overlap between boxes and query_boxes\n "; +static PyMethodDef __pyx_mdef_4bbox_1bbox_overlaps = {"bbox_overlaps", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4bbox_1bbox_overlaps, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4bbox_bbox_overlaps}; +static PyObject *__pyx_pw_4bbox_1bbox_overlaps(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_boxes = 0; + PyArrayObject *__pyx_v_query_boxes = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("bbox_overlaps (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_boxes,&__pyx_n_s_query_boxes,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_boxes)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_query_boxes)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("bbox_overlaps", 1, 2, 2, 1); __PYX_ERR(0, 15, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bbox_overlaps") < 0)) __PYX_ERR(0, 15, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_boxes = ((PyArrayObject *)values[0]); + __pyx_v_query_boxes = ((PyArrayObject *)values[1]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("bbox_overlaps", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("bbox.bbox_overlaps", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_boxes), __pyx_ptype_5numpy_ndarray, 1, "boxes", 0))) __PYX_ERR(0, 16, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_query_boxes), __pyx_ptype_5numpy_ndarray, 1, "query_boxes", 0))) __PYX_ERR(0, 17, __pyx_L1_error) + __pyx_r = __pyx_pf_4bbox_bbox_overlaps(__pyx_self, __pyx_v_boxes, __pyx_v_query_boxes); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4bbox_bbox_overlaps(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_boxes, PyArrayObject *__pyx_v_query_boxes) { + unsigned int __pyx_v_N; + unsigned int __pyx_v_K; + PyArrayObject *__pyx_v_overlaps = 0; + __pyx_t_4bbox_DTYPE_t __pyx_v_iw; + __pyx_t_4bbox_DTYPE_t __pyx_v_ih; + __pyx_t_4bbox_DTYPE_t __pyx_v_box_area; + __pyx_t_4bbox_DTYPE_t __pyx_v_ua; + unsigned int __pyx_v_k; + unsigned int __pyx_v_n; + __Pyx_LocalBuf_ND __pyx_pybuffernd_boxes; + __Pyx_Buffer __pyx_pybuffer_boxes; + __Pyx_LocalBuf_ND __pyx_pybuffernd_overlaps; + __Pyx_Buffer __pyx_pybuffer_overlaps; + __Pyx_LocalBuf_ND __pyx_pybuffernd_query_boxes; + __Pyx_Buffer __pyx_pybuffer_query_boxes; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyArrayObject *__pyx_t_5 = NULL; + unsigned int __pyx_t_6; + unsigned int __pyx_t_7; + unsigned int __pyx_t_8; + size_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + size_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + size_t __pyx_t_14; + Py_ssize_t __pyx_t_15; + size_t __pyx_t_16; + Py_ssize_t __pyx_t_17; + unsigned int __pyx_t_18; + unsigned int __pyx_t_19; + unsigned int __pyx_t_20; + __pyx_t_4bbox_DTYPE_t __pyx_t_21; + __pyx_t_4bbox_DTYPE_t __pyx_t_22; + __pyx_t_4bbox_DTYPE_t __pyx_t_23; + __pyx_t_4bbox_DTYPE_t __pyx_t_24; + int __pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("bbox_overlaps", 0); + __pyx_pybuffer_overlaps.pybuffer.buf = NULL; + __pyx_pybuffer_overlaps.refcount = 0; + __pyx_pybuffernd_overlaps.data = NULL; + __pyx_pybuffernd_overlaps.rcbuffer = &__pyx_pybuffer_overlaps; + __pyx_pybuffer_boxes.pybuffer.buf = NULL; + __pyx_pybuffer_boxes.refcount = 0; + __pyx_pybuffernd_boxes.data = NULL; + __pyx_pybuffernd_boxes.rcbuffer = &__pyx_pybuffer_boxes; + __pyx_pybuffer_query_boxes.pybuffer.buf = NULL; + __pyx_pybuffer_query_boxes.refcount = 0; + __pyx_pybuffernd_query_boxes.data = NULL; + __pyx_pybuffernd_query_boxes.rcbuffer = &__pyx_pybuffer_query_boxes; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer, (PyObject*)__pyx_v_boxes, &__Pyx_TypeInfo_nn___pyx_t_4bbox_DTYPE_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 15, __pyx_L1_error) + } + __pyx_pybuffernd_boxes.diminfo[0].strides = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_boxes.diminfo[0].shape = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_boxes.diminfo[1].strides = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_boxes.diminfo[1].shape = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.shape[1]; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer, (PyObject*)__pyx_v_query_boxes, &__Pyx_TypeInfo_nn___pyx_t_4bbox_DTYPE_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 15, __pyx_L1_error) + } + __pyx_pybuffernd_query_boxes.diminfo[0].strides = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_query_boxes.diminfo[0].shape = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_query_boxes.diminfo[1].strides = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_query_boxes.diminfo[1].shape = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.shape[1]; + + /* "box_overlaps.pyx":27 + * overlaps: (N, K) ndarray of overlap between boxes and query_boxes + * """ + * cdef unsigned int N = boxes.shape[0] # <<<<<<<<<<<<<< + * cdef unsigned int K = query_boxes.shape[0] + * cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) + */ + __pyx_v_N = (__pyx_v_boxes->dimensions[0]); + + /* "box_overlaps.pyx":28 + * """ + * cdef unsigned int N = boxes.shape[0] + * cdef unsigned int K = query_boxes.shape[0] # <<<<<<<<<<<<<< + * cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) + * cdef DTYPE_t iw, ih, box_area + */ + __pyx_v_K = (__pyx_v_query_boxes->dimensions[0]); + + /* "box_overlaps.pyx":29 + * cdef unsigned int N = boxes.shape[0] + * cdef unsigned int K = query_boxes.shape[0] + * cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) # <<<<<<<<<<<<<< + * cdef DTYPE_t iw, ih, box_area + * cdef DTYPE_t ua + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_N); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_K); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __pyx_t_1 = 0; + __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DTYPE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 29, __pyx_L1_error) + __pyx_t_5 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_nn___pyx_t_4bbox_DTYPE_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) { + __pyx_v_overlaps = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 29, __pyx_L1_error) + } else {__pyx_pybuffernd_overlaps.diminfo[0].strides = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_overlaps.diminfo[0].shape = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_overlaps.diminfo[1].strides = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_overlaps.diminfo[1].shape = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.shape[1]; + } + } + __pyx_t_5 = 0; + __pyx_v_overlaps = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "box_overlaps.pyx":33 + * cdef DTYPE_t ua + * cdef unsigned int k, n + * for k in range(K): # <<<<<<<<<<<<<< + * box_area = ( + * (query_boxes[k, 2] - query_boxes[k, 0] + 1) * + */ + __pyx_t_6 = __pyx_v_K; + __pyx_t_7 = __pyx_t_6; + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) { + __pyx_v_k = __pyx_t_8; + + /* "box_overlaps.pyx":35 + * for k in range(K): + * box_area = ( + * (query_boxes[k, 2] - query_boxes[k, 0] + 1) * # <<<<<<<<<<<<<< + * (query_boxes[k, 3] - query_boxes[k, 1] + 1) + * ) + */ + __pyx_t_9 = __pyx_v_k; + __pyx_t_10 = 2; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_9 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_10 < 0) { + __pyx_t_10 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_10 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 35, __pyx_L1_error) + } + __pyx_t_12 = __pyx_v_k; + __pyx_t_13 = 0; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_12 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_13 < 0) { + __pyx_t_13 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_13 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 35, __pyx_L1_error) + } + + /* "box_overlaps.pyx":36 + * box_area = ( + * (query_boxes[k, 2] - query_boxes[k, 0] + 1) * + * (query_boxes[k, 3] - query_boxes[k, 1] + 1) # <<<<<<<<<<<<<< + * ) + * for n in range(N): + */ + __pyx_t_14 = __pyx_v_k; + __pyx_t_15 = 3; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_14 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_15 < 0) { + __pyx_t_15 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_15 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_15 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 36, __pyx_L1_error) + } + __pyx_t_16 = __pyx_v_k; + __pyx_t_17 = 1; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 36, __pyx_L1_error) + } + + /* "box_overlaps.pyx":35 + * for k in range(K): + * box_area = ( + * (query_boxes[k, 2] - query_boxes[k, 0] + 1) * # <<<<<<<<<<<<<< + * (query_boxes[k, 3] - query_boxes[k, 1] + 1) + * ) + */ + __pyx_v_box_area = ((((*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_query_boxes.diminfo[1].strides)) - (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_query_boxes.diminfo[1].strides))) + 1.0) * (((*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_query_boxes.diminfo[1].strides)) - (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_query_boxes.diminfo[1].strides))) + 1.0)); + + /* "box_overlaps.pyx":38 + * (query_boxes[k, 3] - query_boxes[k, 1] + 1) + * ) + * for n in range(N): # <<<<<<<<<<<<<< + * iw = ( + * min(boxes[n, 2], query_boxes[k, 2]) - + */ + __pyx_t_18 = __pyx_v_N; + __pyx_t_19 = __pyx_t_18; + for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_19; __pyx_t_20+=1) { + __pyx_v_n = __pyx_t_20; + + /* "box_overlaps.pyx":40 + * for n in range(N): + * iw = ( + * min(boxes[n, 2], query_boxes[k, 2]) - # <<<<<<<<<<<<<< + * max(boxes[n, 0], query_boxes[k, 0]) + 1 + * ) + */ + __pyx_t_16 = __pyx_v_k; + __pyx_t_17 = 2; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 40, __pyx_L1_error) + } + __pyx_t_21 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_query_boxes.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_n; + __pyx_t_17 = 2; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 40, __pyx_L1_error) + } + __pyx_t_22 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_boxes.diminfo[1].strides)); + if (((__pyx_t_21 < __pyx_t_22) != 0)) { + __pyx_t_23 = __pyx_t_21; + } else { + __pyx_t_23 = __pyx_t_22; + } + + /* "box_overlaps.pyx":41 + * iw = ( + * min(boxes[n, 2], query_boxes[k, 2]) - + * max(boxes[n, 0], query_boxes[k, 0]) + 1 # <<<<<<<<<<<<<< + * ) + * if iw > 0: + */ + __pyx_t_16 = __pyx_v_k; + __pyx_t_17 = 0; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 41, __pyx_L1_error) + } + __pyx_t_21 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_query_boxes.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_n; + __pyx_t_17 = 0; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 41, __pyx_L1_error) + } + __pyx_t_22 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_boxes.diminfo[1].strides)); + if (((__pyx_t_21 > __pyx_t_22) != 0)) { + __pyx_t_24 = __pyx_t_21; + } else { + __pyx_t_24 = __pyx_t_22; + } + + /* "box_overlaps.pyx":40 + * for n in range(N): + * iw = ( + * min(boxes[n, 2], query_boxes[k, 2]) - # <<<<<<<<<<<<<< + * max(boxes[n, 0], query_boxes[k, 0]) + 1 + * ) + */ + __pyx_v_iw = ((__pyx_t_23 - __pyx_t_24) + 1.0); + + /* "box_overlaps.pyx":43 + * max(boxes[n, 0], query_boxes[k, 0]) + 1 + * ) + * if iw > 0: # <<<<<<<<<<<<<< + * ih = ( + * min(boxes[n, 3], query_boxes[k, 3]) - + */ + __pyx_t_25 = ((__pyx_v_iw > 0.0) != 0); + if (__pyx_t_25) { + + /* "box_overlaps.pyx":45 + * if iw > 0: + * ih = ( + * min(boxes[n, 3], query_boxes[k, 3]) - # <<<<<<<<<<<<<< + * max(boxes[n, 1], query_boxes[k, 1]) + 1 + * ) + */ + __pyx_t_16 = __pyx_v_k; + __pyx_t_17 = 3; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 45, __pyx_L1_error) + } + __pyx_t_24 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_query_boxes.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_n; + __pyx_t_17 = 3; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 45, __pyx_L1_error) + } + __pyx_t_23 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_boxes.diminfo[1].strides)); + if (((__pyx_t_24 < __pyx_t_23) != 0)) { + __pyx_t_21 = __pyx_t_24; + } else { + __pyx_t_21 = __pyx_t_23; + } + + /* "box_overlaps.pyx":46 + * ih = ( + * min(boxes[n, 3], query_boxes[k, 3]) - + * max(boxes[n, 1], query_boxes[k, 1]) + 1 # <<<<<<<<<<<<<< + * ) + * if ih > 0: + */ + __pyx_t_16 = __pyx_v_k; + __pyx_t_17 = 1; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_query_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 46, __pyx_L1_error) + } + __pyx_t_24 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_query_boxes.diminfo[1].strides)); + __pyx_t_16 = __pyx_v_n; + __pyx_t_17 = 1; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 46, __pyx_L1_error) + } + __pyx_t_23 = (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_boxes.diminfo[1].strides)); + if (((__pyx_t_24 > __pyx_t_23) != 0)) { + __pyx_t_22 = __pyx_t_24; + } else { + __pyx_t_22 = __pyx_t_23; + } + + /* "box_overlaps.pyx":45 + * if iw > 0: + * ih = ( + * min(boxes[n, 3], query_boxes[k, 3]) - # <<<<<<<<<<<<<< + * max(boxes[n, 1], query_boxes[k, 1]) + 1 + * ) + */ + __pyx_v_ih = ((__pyx_t_21 - __pyx_t_22) + 1.0); + + /* "box_overlaps.pyx":48 + * max(boxes[n, 1], query_boxes[k, 1]) + 1 + * ) + * if ih > 0: # <<<<<<<<<<<<<< + * ua = float( + * (boxes[n, 2] - boxes[n, 0] + 1) * + */ + __pyx_t_25 = ((__pyx_v_ih > 0.0) != 0); + if (__pyx_t_25) { + + /* "box_overlaps.pyx":50 + * if ih > 0: + * ua = float( + * (boxes[n, 2] - boxes[n, 0] + 1) * # <<<<<<<<<<<<<< + * (boxes[n, 3] - boxes[n, 1] + 1) + + * box_area - iw * ih + */ + __pyx_t_16 = __pyx_v_n; + __pyx_t_17 = 2; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_16 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 50, __pyx_L1_error) + } + __pyx_t_14 = __pyx_v_n; + __pyx_t_15 = 0; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_14 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_15 < 0) { + __pyx_t_15 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_15 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_15 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 50, __pyx_L1_error) + } + + /* "box_overlaps.pyx":51 + * ua = float( + * (boxes[n, 2] - boxes[n, 0] + 1) * + * (boxes[n, 3] - boxes[n, 1] + 1) + # <<<<<<<<<<<<<< + * box_area - iw * ih + * ) + */ + __pyx_t_12 = __pyx_v_n; + __pyx_t_13 = 3; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_12 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_13 < 0) { + __pyx_t_13 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_13 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 51, __pyx_L1_error) + } + __pyx_t_9 = __pyx_v_n; + __pyx_t_10 = 1; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_9 >= (size_t)__pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_10 < 0) { + __pyx_t_10 += __pyx_pybuffernd_boxes.diminfo[1].shape; + if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_10 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 51, __pyx_L1_error) + } + + /* "box_overlaps.pyx":49 + * ) + * if ih > 0: + * ua = float( # <<<<<<<<<<<<<< + * (boxes[n, 2] - boxes[n, 0] + 1) * + * (boxes[n, 3] - boxes[n, 1] + 1) + + */ + __pyx_v_ua = ((double)((((((*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_17, __pyx_pybuffernd_boxes.diminfo[1].strides)) - (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_15, __pyx_pybuffernd_boxes.diminfo[1].strides))) + 1.0) * (((*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_boxes.diminfo[1].strides)) - (*__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_10, __pyx_pybuffernd_boxes.diminfo[1].strides))) + 1.0)) + __pyx_v_box_area) - (__pyx_v_iw * __pyx_v_ih))); + + /* "box_overlaps.pyx":54 + * box_area - iw * ih + * ) + * overlaps[n, k] = iw * ih / ua # <<<<<<<<<<<<<< + * return overlaps + */ + __pyx_t_22 = (__pyx_v_iw * __pyx_v_ih); + if (unlikely(__pyx_v_ua == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + __PYX_ERR(0, 54, __pyx_L1_error) + } + __pyx_t_9 = __pyx_v_n; + __pyx_t_12 = __pyx_v_k; + __pyx_t_11 = -1; + if (unlikely(__pyx_t_9 >= (size_t)__pyx_pybuffernd_overlaps.diminfo[0].shape)) __pyx_t_11 = 0; + if (unlikely(__pyx_t_12 >= (size_t)__pyx_pybuffernd_overlaps.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 54, __pyx_L1_error) + } + *__Pyx_BufPtrStrided2d(__pyx_t_4bbox_DTYPE_t *, __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_overlaps.diminfo[0].strides, __pyx_t_12, __pyx_pybuffernd_overlaps.diminfo[1].strides) = (__pyx_t_22 / __pyx_v_ua); + + /* "box_overlaps.pyx":48 + * max(boxes[n, 1], query_boxes[k, 1]) + 1 + * ) + * if ih > 0: # <<<<<<<<<<<<<< + * ua = float( + * (boxes[n, 2] - boxes[n, 0] + 1) * + */ + } + + /* "box_overlaps.pyx":43 + * max(boxes[n, 0], query_boxes[k, 0]) + 1 + * ) + * if iw > 0: # <<<<<<<<<<<<<< + * ih = ( + * min(boxes[n, 3], query_boxes[k, 3]) - + */ + } + } + } + + /* "box_overlaps.pyx":55 + * ) + * overlaps[n, k] = iw * ih / ua + * return overlaps # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_overlaps)); + __pyx_r = ((PyObject *)__pyx_v_overlaps); + goto __pyx_L0; + + /* "box_overlaps.pyx":15 + * ctypedef np.float_t DTYPE_t + * + * def bbox_overlaps( # <<<<<<<<<<<<<< + * np.ndarray[DTYPE_t, ndim=2] boxes, + * np.ndarray[DTYPE_t, ndim=2] query_boxes): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("bbox.bbox_overlaps", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_overlaps); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":735 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 735, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":738 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":741 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 741, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":744 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":747 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":751 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":753 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":868 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":869 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + Py_INCREF(__pyx_v_base); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":870 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":868 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":872 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":873 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":874 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":875 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":874 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":876 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":872 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":880 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_array", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":881 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":882 + * cdef inline int import_array() except -1: + * try: + * __pyx_import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 882, __pyx_L3_error) + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":881 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":883 + * try: + * __pyx_import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 883, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":884 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 884, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 884, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":881 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":880 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":886 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_umath", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":887 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":888 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 888, __pyx_L3_error) + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":887 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":889 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 889, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":890 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 890, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 890, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":887 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":886 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":892 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_ufunc", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":893 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":894 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 894, __pyx_L3_error) + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":893 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":895 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 895, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":896 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef extern from *: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 896, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 896, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":893 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":892 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_bbox(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_bbox}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "bbox", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_DTYPE, __pyx_k_DTYPE, sizeof(__pyx_k_DTYPE), 0, 0, 1, 1}, + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_n_s_K, __pyx_k_K, sizeof(__pyx_k_K), 0, 0, 1, 1}, + {&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1}, + {&__pyx_n_s_bbox, __pyx_k_bbox, sizeof(__pyx_k_bbox), 0, 0, 1, 1}, + {&__pyx_n_s_bbox_overlaps, __pyx_k_bbox_overlaps, sizeof(__pyx_k_bbox_overlaps), 0, 0, 1, 1}, + {&__pyx_n_s_box_area, __pyx_k_box_area, sizeof(__pyx_k_box_area), 0, 0, 1, 1}, + {&__pyx_kp_s_box_overlaps_pyx, __pyx_k_box_overlaps_pyx, sizeof(__pyx_k_box_overlaps_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_boxes, __pyx_k_boxes, sizeof(__pyx_k_boxes), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_n_s_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 0, 1, 1}, + {&__pyx_n_s_ih, __pyx_k_ih, sizeof(__pyx_k_ih), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_iw, __pyx_k_iw, sizeof(__pyx_k_iw), 0, 0, 1, 1}, + {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_overlaps, __pyx_k_overlaps, sizeof(__pyx_k_overlaps), 0, 0, 1, 1}, + {&__pyx_n_s_query_boxes, __pyx_k_query_boxes, sizeof(__pyx_k_query_boxes), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_ua, __pyx_k_ua, sizeof(__pyx_k_ua), 0, 0, 1, 1}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 33, __pyx_L1_error) + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 884, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":884 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 884, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":890 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 890, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "box_overlaps.pyx":15 + * ctypedef np.float_t DTYPE_t + * + * def bbox_overlaps( # <<<<<<<<<<<<<< + * np.ndarray[DTYPE_t, ndim=2] boxes, + * np.ndarray[DTYPE_t, ndim=2] query_boxes): + */ + __pyx_tuple__3 = PyTuple_Pack(11, __pyx_n_s_boxes, __pyx_n_s_query_boxes, __pyx_n_s_N, __pyx_n_s_K, __pyx_n_s_overlaps, __pyx_n_s_iw, __pyx_n_s_ih, __pyx_n_s_box_area, __pyx_n_s_ua, __pyx_n_s_k, __pyx_n_s_n); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_overlaps_pyx, __pyx_n_s_bbox_overlaps, 15, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 199, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 222, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 226, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 238, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 764, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initbbox(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initbbox(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_bbox(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_bbox(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_bbox(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'bbox' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_bbox(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("bbox", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_bbox) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "bbox")) { + if (unlikely(PyDict_SetItemString(modules, "bbox", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "box_overlaps.pyx":9 + * + * cimport cython + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "box_overlaps.pyx":12 + * cimport numpy as np + * + * DTYPE = np.float # <<<<<<<<<<<<<< + * ctypedef np.float_t DTYPE_t + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_DTYPE, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "box_overlaps.pyx":15 + * ctypedef np.float_t DTYPE_t + * + * def bbox_overlaps( # <<<<<<<<<<<<<< + * np.ndarray[DTYPE_t, ndim=2] boxes, + * np.ndarray[DTYPE_t, ndim=2] query_boxes): + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4bbox_1bbox_overlaps, NULL, __pyx_n_s_bbox); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_bbox_overlaps, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "box_overlaps.pyx":1 + * # -------------------------------------------------------- # <<<<<<<<<<<<<< + * # Fast R-CNN + * # Copyright (c) 2015 Microsoft + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "../../../miniconda3/envs/py3.6/lib/python3.6/site-packages/numpy/__init__.pxd":892 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init bbox", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init bbox"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* IsLittleEndian */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void) +{ + union { + uint32_t u32; + uint8_t u8[4]; + } S; + S.u32 = 0x01020304; + return S.u8[0] == 4; +} + +/* BufferFormatCheck */ +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type) { + stack[0].field = &ctx->root; + stack[0].parent_offset = 0; + ctx->root.type = type; + ctx->root.name = "buffer dtype"; + ctx->root.offset = 0; + ctx->head = stack; + ctx->head->field = &ctx->root; + ctx->fmt_offset = 0; + ctx->head->parent_offset = 0; + ctx->new_packmode = '@'; + ctx->enc_packmode = '@'; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->is_complex = 0; + ctx->is_valid_array = 0; + ctx->struct_alignment = 0; + while (type->typegroup == 'S') { + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = 0; + type = type->fields->type; + } +} +static int __Pyx_BufFmt_ParseNumber(const char** ts) { + int count; + const char* t = *ts; + if (*t < '0' || *t > '9') { + return -1; + } else { + count = *t++ - '0'; + while (*t >= '0' && *t <= '9') { + count *= 10; + count += *t++ - '0'; + } + } + *ts = t; + return count; +} +static int __Pyx_BufFmt_ExpectNumber(const char **ts) { + int number = __Pyx_BufFmt_ParseNumber(ts); + if (number == -1) + PyErr_Format(PyExc_ValueError,\ + "Does not understand character buffer dtype format string ('%c')", **ts); + return number; +} +static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) { + PyErr_Format(PyExc_ValueError, + "Unexpected format string character: '%c'", ch); +} +static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) { + switch (ch) { + case '?': return "'bool'"; + case 'c': return "'char'"; + case 'b': return "'signed char'"; + case 'B': return "'unsigned char'"; + case 'h': return "'short'"; + case 'H': return "'unsigned short'"; + case 'i': return "'int'"; + case 'I': return "'unsigned int'"; + case 'l': return "'long'"; + case 'L': return "'unsigned long'"; + case 'q': return "'long long'"; + case 'Q': return "'unsigned long long'"; + case 'f': return (is_complex ? "'complex float'" : "'float'"); + case 'd': return (is_complex ? "'complex double'" : "'double'"); + case 'g': return (is_complex ? "'complex long double'" : "'long double'"); + case 'T': return "a struct"; + case 'O': return "Python object"; + case 'P': return "a pointer"; + case 's': case 'p': return "a string"; + case 0: return "end"; + default: return "unparseable format string"; + } +} +static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return 2; + case 'i': case 'I': case 'l': case 'L': return 4; + case 'q': case 'Q': return 8; + case 'f': return (is_complex ? 8 : 4); + case 'd': return (is_complex ? 16 : 8); + case 'g': { + PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g').."); + return 0; + } + case 'O': case 'P': return sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(short); + case 'i': case 'I': return sizeof(int); + case 'l': case 'L': return sizeof(long); + #ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(PY_LONG_LONG); + #endif + case 'f': return sizeof(float) * (is_complex ? 2 : 1); + case 'd': return sizeof(double) * (is_complex ? 2 : 1); + case 'g': return sizeof(long double) * (is_complex ? 2 : 1); + case 'O': case 'P': return sizeof(void*); + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +typedef struct { char c; short x; } __Pyx_st_short; +typedef struct { char c; int x; } __Pyx_st_int; +typedef struct { char c; long x; } __Pyx_st_long; +typedef struct { char c; float x; } __Pyx_st_float; +typedef struct { char c; double x; } __Pyx_st_double; +typedef struct { char c; long double x; } __Pyx_st_longdouble; +typedef struct { char c; void *x; } __Pyx_st_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_st_float) - sizeof(float); + case 'd': return sizeof(__Pyx_st_double) - sizeof(double); + case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +/* These are for computing the padding at the end of the struct to align + on the first member of the struct. This will probably the same as above, + but we don't have any guarantees. + */ +typedef struct { short x; char c; } __Pyx_pad_short; +typedef struct { int x; char c; } __Pyx_pad_int; +typedef struct { long x; char c; } __Pyx_pad_long; +typedef struct { float x; char c; } __Pyx_pad_float; +typedef struct { double x; char c; } __Pyx_pad_double; +typedef struct { long double x; char c; } __Pyx_pad_longdouble; +typedef struct { void *x; char c; } __Pyx_pad_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_pad_float) - sizeof(float); + case 'd': return sizeof(__Pyx_pad_double) - sizeof(double); + case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) { + switch (ch) { + case 'c': + return 'H'; + case 'b': case 'h': case 'i': + case 'l': case 'q': case 's': case 'p': + return 'I'; + case '?': case 'B': case 'H': case 'I': case 'L': case 'Q': + return 'U'; + case 'f': case 'd': case 'g': + return (is_complex ? 'C' : 'R'); + case 'O': + return 'O'; + case 'P': + return 'P'; + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) { + if (ctx->head == NULL || ctx->head->field == &ctx->root) { + const char* expected; + const char* quote; + if (ctx->head == NULL) { + expected = "end"; + quote = ""; + } else { + expected = ctx->head->field->type->name; + quote = "'"; + } + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected %s%s%s but got %s", + quote, expected, quote, + __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex)); + } else { + __Pyx_StructField* field = ctx->head->field; + __Pyx_StructField* parent = (ctx->head - 1)->field; + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'", + field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex), + parent->type->name, field->name); + } +} +static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) { + char group; + size_t size, offset, arraysize = 1; + if (ctx->enc_type == 0) return 0; + if (ctx->head->field->type->arraysize[0]) { + int i, ndim = 0; + if (ctx->enc_type == 's' || ctx->enc_type == 'p') { + ctx->is_valid_array = ctx->head->field->type->ndim == 1; + ndim = 1; + if (ctx->enc_count != ctx->head->field->type->arraysize[0]) { + PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %zu", + ctx->head->field->type->arraysize[0], ctx->enc_count); + return -1; + } + } + if (!ctx->is_valid_array) { + PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d", + ctx->head->field->type->ndim, ndim); + return -1; + } + for (i = 0; i < ctx->head->field->type->ndim; i++) { + arraysize *= ctx->head->field->type->arraysize[i]; + } + ctx->is_valid_array = 0; + ctx->enc_count = 1; + } + group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex); + do { + __Pyx_StructField* field = ctx->head->field; + __Pyx_TypeInfo* type = field->type; + if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') { + size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex); + } else { + size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex); + } + if (ctx->enc_packmode == '@') { + size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex); + size_t align_mod_offset; + if (align_at == 0) return -1; + align_mod_offset = ctx->fmt_offset % align_at; + if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset; + if (ctx->struct_alignment == 0) + ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type, + ctx->is_complex); + } + if (type->size != size || type->typegroup != group) { + if (type->typegroup == 'C' && type->fields != NULL) { + size_t parent_offset = ctx->head->parent_offset + field->offset; + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = parent_offset; + continue; + } + if ((type->typegroup == 'H' || group == 'H') && type->size == size) { + } else { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + } + offset = ctx->head->parent_offset + field->offset; + if (ctx->fmt_offset != offset) { + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected", + (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset); + return -1; + } + ctx->fmt_offset += size; + if (arraysize) + ctx->fmt_offset += (arraysize - 1) * size; + --ctx->enc_count; + while (1) { + if (field == &ctx->root) { + ctx->head = NULL; + if (ctx->enc_count != 0) { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + break; + } + ctx->head->field = ++field; + if (field->type == NULL) { + --ctx->head; + field = ctx->head->field; + continue; + } else if (field->type->typegroup == 'S') { + size_t parent_offset = ctx->head->parent_offset + field->offset; + if (field->type->fields->type == NULL) continue; + field = field->type->fields; + ++ctx->head; + ctx->head->field = field; + ctx->head->parent_offset = parent_offset; + break; + } else { + break; + } + } + } while (ctx->enc_count); + ctx->enc_type = 0; + ctx->is_complex = 0; + return 0; +} +static PyObject * +__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp) +{ + const char *ts = *tsp; + int i = 0, number, ndim; + ++ts; + if (ctx->new_count != 1) { + PyErr_SetString(PyExc_ValueError, + "Cannot handle repeated arrays in format string"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ndim = ctx->head->field->type->ndim; + while (*ts && *ts != ')') { + switch (*ts) { + case ' ': case '\f': case '\r': case '\n': case '\t': case '\v': continue; + default: break; + } + number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) + return PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %d", + ctx->head->field->type->arraysize[i], number); + if (*ts != ',' && *ts != ')') + return PyErr_Format(PyExc_ValueError, + "Expected a comma in format string, got '%c'", *ts); + if (*ts == ',') ts++; + i++; + } + if (i != ndim) + return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d", + ctx->head->field->type->ndim, i); + if (!*ts) { + PyErr_SetString(PyExc_ValueError, + "Unexpected end of format string, expected ')'"); + return NULL; + } + ctx->is_valid_array = 1; + ctx->new_count = 1; + *tsp = ++ts; + return Py_None; +} +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) { + int got_Z = 0; + while (1) { + switch(*ts) { + case 0: + if (ctx->enc_type != 0 && ctx->head == NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + if (ctx->head != NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + return ts; + case ' ': + case '\r': + case '\n': + ++ts; + break; + case '<': + if (!__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '>': + case '!': + if (__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '=': + case '@': + case '^': + ctx->new_packmode = *ts++; + break; + case 'T': + { + const char* ts_after_sub; + size_t i, struct_count = ctx->new_count; + size_t struct_alignment = ctx->struct_alignment; + ctx->new_count = 1; + ++ts; + if (*ts != '{') { + PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + ctx->enc_count = 0; + ctx->struct_alignment = 0; + ++ts; + ts_after_sub = ts; + for (i = 0; i != struct_count; ++i) { + ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts); + if (!ts_after_sub) return NULL; + } + ts = ts_after_sub; + if (struct_alignment) ctx->struct_alignment = struct_alignment; + } + break; + case '}': + { + size_t alignment = ctx->struct_alignment; + ++ts; + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + if (alignment && ctx->fmt_offset % alignment) { + ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment); + } + } + return ts; + case 'x': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->fmt_offset += ctx->new_count; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->enc_packmode = ctx->new_packmode; + ++ts; + break; + case 'Z': + got_Z = 1; + ++ts; + if (*ts != 'f' && *ts != 'd' && *ts != 'g') { + __Pyx_BufFmt_RaiseUnexpectedChar('Z'); + return NULL; + } + CYTHON_FALLTHROUGH; + case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I': + case 'l': case 'L': case 'q': case 'Q': + case 'f': case 'd': case 'g': + case 'O': case 'p': + if ((ctx->enc_type == *ts) && (got_Z == ctx->is_complex) && + (ctx->enc_packmode == ctx->new_packmode) && (!ctx->is_valid_array)) { + ctx->enc_count += ctx->new_count; + ctx->new_count = 1; + got_Z = 0; + ++ts; + break; + } + CYTHON_FALLTHROUGH; + case 's': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_count = ctx->new_count; + ctx->enc_packmode = ctx->new_packmode; + ctx->enc_type = *ts; + ctx->is_complex = got_Z; + ++ts; + ctx->new_count = 1; + got_Z = 0; + break; + case ':': + ++ts; + while(*ts != ':') ++ts; + ++ts; + break; + case '(': + if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL; + break; + default: + { + int number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + ctx->new_count = (size_t)number; + } + } + } +} + +/* BufferGetAndValidate */ + static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (unlikely(info->buf == NULL)) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} +static void __Pyx_ZeroBuffer(Py_buffer* buf) { + buf->buf = NULL; + buf->obj = NULL; + buf->strides = __Pyx_zeros; + buf->shape = __Pyx_zeros; + buf->suboffsets = __Pyx_minusones; +} +static int __Pyx__GetBufferAndValidate( + Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, + int nd, int cast, __Pyx_BufFmt_StackElem* stack) +{ + buf->buf = NULL; + if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) { + __Pyx_ZeroBuffer(buf); + return -1; + } + if (unlikely(buf->ndim != nd)) { + PyErr_Format(PyExc_ValueError, + "Buffer has wrong number of dimensions (expected %d, got %d)", + nd, buf->ndim); + goto fail; + } + if (!cast) { + __Pyx_BufFmt_Context ctx; + __Pyx_BufFmt_Init(&ctx, stack, dtype); + if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail; + } + if (unlikely((size_t)buf->itemsize != dtype->size)) { + PyErr_Format(PyExc_ValueError, + "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)", + buf->itemsize, (buf->itemsize > 1) ? "s" : "", + dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : ""); + goto fail; + } + if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones; + return 0; +fail:; + __Pyx_SafeReleaseBuffer(buf); + return -1; +} + +/* PyDictVersioning */ + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ + #if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyObjectCall */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* ExtTypeTest */ + static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* BufferIndexError */ + static void __Pyx_RaiseBufferIndexError(int axis) { + PyErr_Format(PyExc_IndexError, + "Out of bounds on buffer access (axis %d)", axis); +} + +/* PyErrFetchRestore */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetTopmostException */ + #if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* RaiseException */ + #if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CLineInTraceback */ + #ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ + static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ + #include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { + if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); + PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); + return -1; +} +static void __Pyx_ReleaseBuffer(Py_buffer *view) { + PyObject *obj = view->obj; + if (!obj) return; + if (PyObject_CheckBuffer(obj)) { + PyBuffer_Release(view); + return; + } + if ((0)) {} + view->obj = NULL; + Py_DECREF(obj); +} +#endif + + + /* CIntFromPyVerify */ + #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if ((b.imag == 0) && (a.real >= 0)) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if ((b.imag == 0) && (a.real >= 0)) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(unsigned int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(unsigned int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(unsigned int), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(unsigned int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (unsigned int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (unsigned int) 0; + case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0]) + case 2: + if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT) { + return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT) { + return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT) { + return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (unsigned int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(unsigned int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (unsigned int) 0; + case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, +digits[0]) + case -2: + if (8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { + return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(unsigned int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + unsigned int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (unsigned int) -1; + } + } else { + unsigned int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (unsigned int) -1; + val = __Pyx_PyInt_As_unsigned_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to unsigned int"); + return (unsigned int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned int"); + return (unsigned int) -1; +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ + #if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ + static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx new file mode 100755 index 00000000..ad326ba1 --- /dev/null +++ b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx @@ -0,0 +1,55 @@ +# -------------------------------------------------------- +# Fast R-CNN +# Copyright (c) 2015 Microsoft +# Licensed under The MIT License [see LICENSE for details] +# Written by Sergey Karayev +# -------------------------------------------------------- + +cimport cython +import numpy as np +cimport numpy as np + +DTYPE = np.float +ctypedef np.float_t DTYPE_t + +def bbox_overlaps( + np.ndarray[DTYPE_t, ndim=2] boxes, + np.ndarray[DTYPE_t, ndim=2] query_boxes): + """ + Parameters + ---------- + boxes: (N, 4) ndarray of float + query_boxes: (K, 4) ndarray of float + Returns + ------- + overlaps: (N, K) ndarray of overlap between boxes and query_boxes + """ + cdef unsigned int N = boxes.shape[0] + cdef unsigned int K = query_boxes.shape[0] + cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) + cdef DTYPE_t iw, ih, box_area + cdef DTYPE_t ua + cdef unsigned int k, n + for k in range(K): + box_area = ( + (query_boxes[k, 2] - query_boxes[k, 0] + 1) * + (query_boxes[k, 3] - query_boxes[k, 1] + 1) + ) + for n in range(N): + iw = ( + min(boxes[n, 2], query_boxes[k, 2]) - + max(boxes[n, 0], query_boxes[k, 0]) + 1 + ) + if iw > 0: + ih = ( + min(boxes[n, 3], query_boxes[k, 3]) - + max(boxes[n, 1], query_boxes[k, 1]) + 1 + ) + if ih > 0: + ua = float( + (boxes[n, 2] - boxes[n, 0] + 1) * + (boxes[n, 3] - boxes[n, 1] + 1) + + box_area - iw * ih + ) + overlaps[n, k] = iw * ih / ua + return overlaps \ No newline at end of file diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/evaluation.py b/models/cv/detection/retinaface/igie/widerface_evaluate/evaluation.py new file mode 100755 index 00000000..12b5b962 --- /dev/null +++ b/models/cv/detection/retinaface/igie/widerface_evaluate/evaluation.py @@ -0,0 +1,295 @@ +""" +WiderFace evaluation code +author: wondervictor +mail: tianhengcheng@gmail.com +copyright@wondervictor +""" + +import os +import tqdm +import pickle +import argparse +import numpy as np +from scipy.io import loadmat +from bbox import bbox_overlaps + +def get_gt_boxes(gt_dir): + """ gt dir: (wider_face_val.mat, wider_easy_val.mat, wider_medium_val.mat, wider_hard_val.mat)""" + + gt_mat = loadmat(os.path.join(gt_dir, 'wider_face_val.mat')) + hard_mat = loadmat(os.path.join(gt_dir, 'wider_hard_val.mat')) + medium_mat = loadmat(os.path.join(gt_dir, 'wider_medium_val.mat')) + easy_mat = loadmat(os.path.join(gt_dir, 'wider_easy_val.mat')) + + facebox_list = gt_mat['face_bbx_list'] + event_list = gt_mat['event_list'] + file_list = gt_mat['file_list'] + + hard_gt_list = hard_mat['gt_list'] + medium_gt_list = medium_mat['gt_list'] + easy_gt_list = easy_mat['gt_list'] + + return facebox_list, event_list, file_list, hard_gt_list, medium_gt_list, easy_gt_list + + +def get_gt_boxes_from_txt(gt_path, cache_dir): + + cache_file = os.path.join(cache_dir, 'gt_cache.pkl') + if os.path.exists(cache_file): + f = open(cache_file, 'rb') + boxes = pickle.load(f) + f.close() + return boxes + + f = open(gt_path, 'r') + state = 0 + lines = f.readlines() + lines = list(map(lambda x: x.rstrip('\r\n'), lines)) + boxes = {} + print(len(lines)) + f.close() + current_boxes = [] + current_name = None + for line in lines: + if state == 0 and '--' in line: + state = 1 + current_name = line + continue + if state == 1: + state = 2 + continue + + if state == 2 and '--' in line: + state = 1 + boxes[current_name] = np.array(current_boxes).astype('float32') + current_name = line + current_boxes = [] + continue + + if state == 2: + box = [float(x) for x in line.split(' ')[:4]] + current_boxes.append(box) + continue + + f = open(cache_file, 'wb') + pickle.dump(boxes, f) + f.close() + return boxes + + +def read_pred_file(filepath): + with open(filepath, 'r') as f: + lines = f.readlines() + img_file = lines[0].rstrip('\n\r') + lines = lines[2:] + + boxes = [] + for line in lines: + line = line.rstrip('\r\n').split(' ') + if line[0] == '': + continue + boxes.append([float(line[0]), float(line[1]), float(line[2]), float(line[3]), float(line[4])]) + boxes = np.array(boxes) + return img_file.split('/')[-1], boxes + + +def get_preds(pred_dir): + events = os.listdir(pred_dir) + boxes = dict() + pbar = tqdm.tqdm(events) + + for event in pbar: + pbar.set_description('Reading Predictions ') + event_dir = os.path.join(pred_dir, event) + event_images = os.listdir(event_dir) + current_event = dict() + for imgtxt in event_images: + imgname, _boxes = read_pred_file(os.path.join(event_dir, imgtxt)) + current_event[imgname.rstrip('.jpg')] = _boxes + boxes[event] = current_event + return boxes + + +def norm_score(pred): + """ norm score + pred {key: [[x1,y1,x2,y2,s]]} + """ + + max_score = 0 + min_score = 1 + + for _, k in pred.items(): + for _, v in k.items(): + if len(v) == 0: + continue + _min = np.min(v[:, -1]) + _max = np.max(v[:, -1]) + max_score = max(_max, max_score) + min_score = min(_min, min_score) + + diff = max_score - min_score + for _, k in pred.items(): + for _, v in k.items(): + if len(v) == 0: + continue + v[:, -1] = (v[:, -1] - min_score)/diff + + +def image_eval(pred, gt, ignore, iou_thresh): + """ single image evaluation + pred: Nx5 + gt: Nx4 + ignore: + """ + + _pred = pred.copy() + _gt = gt.copy() + pred_recall = np.zeros(_pred.shape[0]) + recall_list = np.zeros(_gt.shape[0]) + proposal_list = np.ones(_pred.shape[0]) + + _pred[:, 2] = _pred[:, 2] + _pred[:, 0] + _pred[:, 3] = _pred[:, 3] + _pred[:, 1] + _gt[:, 2] = _gt[:, 2] + _gt[:, 0] + _gt[:, 3] = _gt[:, 3] + _gt[:, 1] + + overlaps = bbox_overlaps(_pred[:, :4], _gt) + + for h in range(_pred.shape[0]): + + gt_overlap = overlaps[h] + max_overlap, max_idx = gt_overlap.max(), gt_overlap.argmax() + if max_overlap >= iou_thresh: + if ignore[max_idx] == 0: + recall_list[max_idx] = -1 + proposal_list[h] = -1 + elif recall_list[max_idx] == 0: + recall_list[max_idx] = 1 + + r_keep_index = np.where(recall_list == 1)[0] + pred_recall[h] = len(r_keep_index) + return pred_recall, proposal_list + + +def img_pr_info(thresh_num, pred_info, proposal_list, pred_recall): + pr_info = np.zeros((thresh_num, 2)).astype('float') + for t in range(thresh_num): + + thresh = 1 - (t+1)/thresh_num + r_index = np.where(pred_info[:, 4] >= thresh)[0] + if len(r_index) == 0: + pr_info[t, 0] = 0 + pr_info[t, 1] = 0 + else: + r_index = r_index[-1] + p_index = np.where(proposal_list[:r_index+1] == 1)[0] + pr_info[t, 0] = len(p_index) + pr_info[t, 1] = pred_recall[r_index] + return pr_info + + +def dataset_pr_info(thresh_num, pr_curve, count_face): + _pr_curve = np.zeros((thresh_num, 2)) + for i in range(thresh_num): + _pr_curve[i, 0] = pr_curve[i, 1] / pr_curve[i, 0] + _pr_curve[i, 1] = pr_curve[i, 1] / count_face + return _pr_curve + + +def voc_ap(rec, prec): + + # correct AP calculation + # first append sentinel values at the end + mrec = np.concatenate(([0.], rec, [1.])) + mpre = np.concatenate(([0.], prec, [0.])) + + # compute the precision envelope + for i in range(mpre.size - 1, 0, -1): + mpre[i - 1] = np.maximum(mpre[i - 1], mpre[i]) + + # to calculate area under PR curve, look for points + # where X axis (recall) changes value + i = np.where(mrec[1:] != mrec[:-1])[0] + + # and sum (\Delta recall) * prec + ap = np.sum((mrec[i + 1] - mrec[i]) * mpre[i + 1]) + return ap + + +def evaluation(pred, gt_path, iou_thresh=0.5): + pred = get_preds(pred) + norm_score(pred) + facebox_list, event_list, file_list, hard_gt_list, medium_gt_list, easy_gt_list = get_gt_boxes(gt_path) + event_num = len(event_list) + thresh_num = 1000 + settings = ['easy', 'medium', 'hard'] + setting_gts = [easy_gt_list, medium_gt_list, hard_gt_list] + aps = [] + for setting_id in range(3): + # different setting + gt_list = setting_gts[setting_id] + count_face = 0 + pr_curve = np.zeros((thresh_num, 2)).astype('float') + # [hard, medium, easy] + pbar = tqdm.tqdm(range(event_num)) + for i in pbar: + pbar.set_description('Processing {}'.format(settings[setting_id])) + event_name = str(event_list[i][0][0]) + img_list = file_list[i][0] + pred_list = pred[event_name] + sub_gt_list = gt_list[i][0] + # img_pr_info_list = np.zeros((len(img_list), thresh_num, 2)) + gt_bbx_list = facebox_list[i][0] + + for j in range(len(img_list)): + pred_info = pred_list[str(img_list[j][0][0])] + + gt_boxes = gt_bbx_list[j][0].astype('float') + keep_index = sub_gt_list[j][0] + count_face += len(keep_index) + + if len(gt_boxes) == 0 or len(pred_info) == 0: + continue + ignore = np.zeros(gt_boxes.shape[0]) + if len(keep_index) != 0: + ignore[keep_index-1] = 1 + pred_recall, proposal_list = image_eval(pred_info, gt_boxes, ignore, iou_thresh) + + _img_pr_info = img_pr_info(thresh_num, pred_info, proposal_list, pred_recall) + + pr_curve += _img_pr_info + pr_curve = dataset_pr_info(thresh_num, pr_curve, count_face) + + propose = pr_curve[:, 0] + recall = pr_curve[:, 1] + + ap = voc_ap(recall, propose) + aps.append(ap) + + print("==================== Results ====================") + print("Easy Val AP: {}".format(aps[0])) + print("Medium Val AP: {}".format(aps[1])) + print("Hard Val AP: {}".format(aps[2])) + print("=================================================") + + +if __name__ == '__main__': + + parser = argparse.ArgumentParser() + parser.add_argument('-p', '--pred', default="./widerface_txt/") + parser.add_argument('-g', '--gt', default='./ground_truth/') + + args = parser.parse_args() + evaluation(args.pred, args.gt) + + + + + + + + + + + + diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_easy_val.mat b/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_easy_val.mat new file mode 100755 index 0000000000000000000000000000000000000000..5b78df7c006982ab1a2038149f1f5168b2237f07 GIT binary patch literal 409036 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 z z;ZDOUGg6bXaB`8V@nPYiWjZ4Rz(lXg8i^UKif9*2NzfBj6jYFsuat!YM4A{Y63BDk zw=R9=s?MOa6{JpRkk*1}jnGKTLd)Ngc*^9k`2rZ27ajj=8dINMZyQ!Na3PElTRy*; z{d>-QKLwW#P^}?OUy|>6_ny2zjV02J=wT_ROKn9|eXsE5}P_by;GU&eg$A9dimlLUscK2a$~pE};E^ zOg+T;gZPz)!FQN1nDI-V_f$6&4_|-p{(G*yu^_QLKV-fikcFE#&)P73+Wmp(NvXP! z$qsdfCI1H%!yjbj&zuj~I>XAGBGRoJ(5jN%Gn=BPgY?cTH4e?0$#dt>4T!YTsH&2| zaW$*#G#+s1fMoxDUT>C3+!P#o;R*Z4FWVCM6|oeK=2#8Yyx5aG?8p`jau*0EZY;>! zUaW_F9Lq#p6f6IktvY{3oElpO`w09Kz+$uNYXC+%wB>iDcXMA_T747 zA@ljOHnJumw#)uY|Il!9oUKW0YkS{aQp z8EX&ZYI(n2zbSODla`sw;Koaf9us||f;*ZIOBnuBe@Pqu!|0`&KuoffS@j+NDT~i( zkG$Aj)s1cqAj_L_E%YDRl{7VdoFQ?MC=Ha{u)}w$O8D$0pYA2{NzRhWCE=3jyO-3F8AGwVnMn`5<{TB@Lx<)qV9dFq7;WLpR8G6}OlA-eQc$#& z48Tv-&?iLmrS>Q$xI8hV>(|U{cnW`Or_6Pw9rD7J5LCyxLlt=`F2wXW?+cyM%~ChV z04_Jb`0c37N?eA?9Ib|j2F>rZ!~upqn!X&H%%td7<1|K5cl6iKeQr4VqMZ_Ow~8ax zL+>3rL3%g`1?jbA#0_B#zK^!GO@_hjuJNQ7Dc>MsXf}UP4>8T}()659CmvNYfz{au zV}m8-2R6g24wqzXyYB0CZIoXd)ckg5Xhe~%Bu>)qI@gs@H}CjqmoN-+ZMERjD!{3L zV-0faG?RRrd<7fXlYs_d@{?mCFWvGB-%a7z4PE_zy zSRmGm(=19&kDf;DcHShstVApRJ{z7+%u?8Eiz74W;ak`F*zjn7wnOz&-H4=<3NFvd z{v$TM7eIt^hUSMx62oEf8?unb+az3UeXL@katW?@l(4I`pb<@snD1l;m%izu&akZU z*NLmh997FutNG1ke^pH`q`pnNZFS(wXYgYnqS+=Kb@*l>%>yVLc(u(DK8*qbi2q2B z6S`X3TXuI9n?W~*U#J!)heLMdln0!KlkJ@bL307ApH(c0y#)N_4!qH0@}KREiJ)-) zR9WXy6HXKF#~>@Yo%plFlS&<;!Hq*vaTBQ7da)*=?}6>wuQR#P3~S8&N33oI^0I`$ zYO}V&ks`X(Z2?1aDNMl<+rQs7GVNhc%1#Mb`Fhm)CC{e*Y* zN)alvzYL1*R${(+CX$`4SRN{A=R0Ytdg(e6+Q-^mN*#WDuB@Kj~kLSIS_>h9Cd(&hnF0hZIqY;@(|fDJ|o zho8_B*bMg^=k|XGgcjy6s)anKqynFAPi8nSszs(kg&aP^{uwp#ml0H^<;Ys3^%uuF zsuxTc@~k_y9?GurZGC)IBh=aIS>$(Mpy{QW(l!PvtQ_B_4 z!AN7kr?sbE{YtvIkH4*)>E#mM6b%l1oHETV&wz?(S05P^2C#1h7~~4Xw7co&N%-ed zjSYaaBHs-yRi__u{gEH2nFV5iO;?2;|@MxEoofkv)9YF><&2B!s|$MHT1!!<3?8zuGHoL6d!6Y6ca;dj@M2Q1R6X z=cs})o|SVI4qQ~tSFsKGNWo?cEKmBuVylg>uJ@J4urVvZBaF(dirtgo3F6tW0QjcpCRR zt$uxlRDN~4G1dxV8x)~u+_p+K+I~?sEp{qXQWLVn)}JAHoN4m$gvY0@UQIklm88IL zr0Ot#GjH-qwF7VfdBEb!+lnMA>F*)satP+Z$?|+TPv(eZsp`M^*sJXvR@IVAuxd~b_CiVsxmo^exM4!E%K%RkcTPCbi0%W&z5 z*muB?>GC+m6(fP;kwuA^??ubc^XoHao@pJXJw_bzU=v7;n4qi;k4$`EjT-szLTa(E z%viVxYGzUkEytaZbcNR|F#YG>j+O7nL zl*NJRM(r`SA#9ZtRxmqdrxcF`}fI3r`;nl zgBaqq{+GOWa1`(O^Q@;v%UMNGjBDOEjSI^4nGQ9VX`ShnR`JAeK6Pu#m8&$IKWpv3 zMuTlRi4A$%Xv-ABjW*d*$lsrG<{m5m2G9Pcj*(i;mL0+ef^nv3jzkEhBZskHOK%EG zM8{41{XRGlne5?3R$Cp^4puVpI5DXnK|Pu6NcR;OZ#H$u8M}AKfojdd9{!O5Tc6l; zEIRGlSC5ePjeqgqZXRjfAtH76dHJVH|4cEv2<@tp|6csMe{fdeE6nkaDa=;iGq0Ch z06uglqsyZaS6=3BC>}xZBtzVXY{bkLJox%}JktI3EG_OTO~IXTw|;Z;!I$aB)IQSm zhNo{@g6Sx|e1#Fi$6`)UQ}JBc@`w}?E6A`ggz*9#B#m-Utbc_dA9d~9{_Nr%)8v#X zt?rT=%ETC8YYh}xFt5r@-AS8OlJCzt>r4#A!pba*CF7(kTGq;uXAhcuJSPv^B&XKp z<@9|k@fRYiB6$ORBSy0gRE<8frk0n5nbfJpZ%T&jUFWGTt=awo%<@sco}z*@NwXB5FRw}U2cnx_kAOqB_w(=(q_9ENYZt8l=WY-2ot|bN zz~N%QkYm^GucbU=I5U`gx}!;5Pko2$nXFn5UGbxAq3o%4_VS5uZyq)_i3}P%q&D%a zHnE}~k$+KN-RG`UqHghshVJe5l=~SuwA%%B|K9muIegaH+0wE#LWOXtuk29u+dD(w zC`pdSqQ!iLH|Z=O^##nEqEM=WG>)*i_&93293Gi@p1>E&r% zEO&>@v&nRkL@4VKMmOTU_Fi3vR&RDD6KE%%?o;OpUgBQZ;4N)5;pOd~6mg+X7>)wI zMp`emtV1nGI5cCEcl%a!_&O(~RLIcnQWkF{3~;R1D=~kRUE-4kBfOumTF?0SyFhH) zaZ{lJC;RRFuyc9DtNomcK;Fu0@RGQRy@H#UC<`?um7ptLM{uY`MR*p;>&74iH zjt=m=WINYmnc=0{g?Zw-83V{&wuJQf{%<{)y+C-Alc>^5R^YjMg$5>~&lu|A zqifIx`)OMVKDyevo2OtB2xCgq;b6~}cHt%{q(uKM?pRzQGs?X516@s#(Z)nJ0vb3MhG zB4I+|`5X75mU-*#PX2Sbg=Z_>w-YOFZnHY7NC2i>y95JJuLJ^7HC-%FrVq5_cixQ^ zjZK1Y12qMw+ErP;#i&APkFPH>IIGF2{^ROlyF?A0(fl0gv=$-c_@mvi=5llX^Eiqx z*%6f0Y-)b8KpzfkdUol6i$yzQoj~I(#gK}Ej$zv*f8|q~HDs?RPr%5It^tvq^sVyz z{Y!wjOR~2PkTQi@}~HGJCW&zBb|&MW!AJ zPCt7abMtzMPmL8O9Tr?h5~rSMX)xqZ3r>hBnrY-SLT>U6#*{U$gKPY&DQA&oCgx zDxd{j?|y2m^)zjpIr~CF6YvGGo;K3haHY3Dnq4s=uO>}P-z42p1x-Y zBk&J+gr#n0-mq&f*Yp_cT2>?FuNZ85NBo!;znV8DH+=Qz_m-@|cd_5+yRi;U z%9YtSj-1F+wZB7_hdm!*o>}T&Z}b5TGLl}?lCzc&*M{R(2d@s#gF?rliH~<4A7wW{ zf`&EXt4TN&IKHSpmztH#R<)Qn(SwEMX5VZ@z) z#Bvo`^63VlF88r>i{iuTsqf<%TmKAPguE<*x`d5uT)c^jag{>4_UB zwj~jvv{n`GrppsIVu%?Ekq?3BxD=12DqLaVN#AWDuF865V*Id`f9h2I!C9gav>$#Q=vbi#p?304@j&UD!*z@II z_b}lZ?Y10lPqeIu0b&`8B4;~jwjp0)F1?eokfyYppVUU-Je zjV;r(Z7lRS`|>O@g+`m8MYj@k@WAQ)r?tZALiAG4Zl1F_&AiR%ar8~x%QEZxL+mB`i7JAW84e62K&;1Lj$Gg%1#SSy9plKRE}vQi}$3& z(mwrq?W=VH38LzE3{GlFIPZdl#SoAX_(F{e{Oq-=9}1=4(k&1oSSIXs$Cc4W2M;O{ zm(T%Sun#B169cyI^UqN~a1TGy2&pZp{hc|@j4rc#d=`J+8B8gSBt04PkeMy_Q<`ES z+#d*r%omfbMZ=U0y;N@zl_b3|UUssruLGQ;-M-#f=;lNNfdFD`3&CM2K`>h_b9aFD6 zF+Z_^zsmj7zheG}?Kw@I)~;CURgRdjBj_v8cabbZn-Lkx+(axR&)sz`r5>(9a!T@( z#lnLcLrWzYip&-W(m&$Y;=0&Unb>B5WB)0qi?{xvFgh*&z{68qd+$h{P@%U43s29j zm6ey9cS1Q~D>+)3$yu%1eU(f{Ic4~vohl+P-LQ-MJ5{`%D9{;b0G%HWdYJ!U(s~DE z?(Vb$^ayCMeuT=v8NBOjhuY?86TfhD*N4>+P2U9-b~|3Y4IS?un?CRD56F8#kr-uO zcRci3?CD5URsEv_yqoy&P?CmGx~>bfWd68rN+>(iF#JBbSTvrm(oH z+|k(NQY=tmdp2wAM8}88`jJ=)Z)Y~#JUsOxwa<<%V9ovFS0Z92>*>wX1@6$~jupA(caF-cBYv0s2Q7_{b-$ZaJM?>IZl>zB&66!x_G zvzM(Kmr6a`RJM@^#{DOrf#XS7FWr3=D}t}y`>=*R#rG7d%$?rZ;D|376-`a2#ntvU z`u+cv%F237p1iN_%Qz@3x9?7ZuBji~o&%wbHC99~BsOre2bsx<;=Y$G{zBks5#mkc z8AsiV2zm$6-F1Q}^%?9oQ76BINC{U|2R0k9yozeME2yekj`weZ!*dl4gCBr-MZfOa z{J{IBO!O&Mo+e@xSKlO57%Abz@p<~9S?2DCm1oO|*zfCcVY5d`hu^X1U5*KO0_Vw` zmB(P?Ynt{H>oQf#NvjM+PSND!BBbW#Gb0Y5!>CjR)IEy|j^MS%$gvQgb^IAH0Sz2@MR;2?bh3uAE*=|pxu=#HVV zOPw73x3;Q}>2dRAc)2Of-^m`*o%&7$H6S;HKu3lQG@{N~zYxY4E%f@EKWGZ>M*LCI zGb|Yr^0EQMKWq@)y@k8S(c)U6JiIR^apNio*!-F-&dE;I=`d$Kk{6=tU4-*0iQ9<_ z+SDp3w%E4X=CQ$;scer1VuK|6_v`SIv&MFUrp007Q@V{PxMXeQ;)27$BCpOksd+N=Z6vn?+B)LKX{sYE ztVciNGYphinRYTc?-PWIdpy&wV|d}$RFAoN_P`v`$t}0m<-xFeyMSMWD$xP>ZO(x3 zM2wzdx%ePIJ@E5Ex2^WcInE_#=9Fgs{vd`uO_c{v(h7A4_C5_nB@zYYaeDt#83^bY zD9#dFiFd#bJ2_`|X?O}N|9JRLq(}VS@7D_XDm?!GC3Jt2Y4$!`nC*tb_2-&G?6qT;6lX@v@hz+w_Enk_QG&brJOK0RQO2_=#3hcEA97a&o3n;WqlEgXdQhz z_(X%sGYx%~&(pdOHyPn{=>_*)S+t&|KvS6yr-9v*X1fjEd|Zr={3C@lX}E<3=4^jP z0EE;_YFz}qU-YTMc&vObC&*RZxg4+O6%qt1d+uI>-8|~(&iNLp`=fYaY>&#K=Ir<~ zX~n3F(T^m!7q3JV$c~I>=oZ{Py&Fsu065;YZxvv8wbj*T$CFuj;$yt<;&{|gpGM#c zZ%;2;vX1kd`urtA=aMJv>nj7Dq*^zdE^`}=0Jg%h?I+!aO)PG|Qar~TOh%pkUe;() zfXl?2R#(LU)9$L)1i$~hoImdyeg(C<$YntOD6)7+ym)* z(_{XHvTm_Pe`?L6ckijbM0hE0U_H`U*4>mTe3`5f3=ySZ>6tmJy4}12&Q|Kq;kIdu zciy!CWXyt^@E8D77O$0*3oUDq&Yzmeirl)=9%F6?G^2vgoaMBj3KBO`*16HoT}~8i zyqcyujh{;R5MOU3o=j7-gB$z#kOY|eWx#-Nqm>sgO@GwOw@a_yO3<}~?rFKmj=a+; z-i;ozyV3eL%g63a{Z~GJ`6XGm1bWY?w0}RqNo-!Dq~_#8H-3c>`f6uMtLw$W)}}ko zu-SZdE5EGq9{$g}YPD4*3Dyx`2TeQB(l^=nVJ~1KcB;XGw^lDzeggqptE14lS|>Y! z%%23api)vmYjlLueJqmR_hD-ml!mNi>(O+ro7Febm+a$9E82%+?jfUF&pOt@j@<+;=AU4kRxzT$)^uZn?d$avc z^~F2ubVn;;!(Cp_mJVtDzhiSKE9P&IHgwo!j+uJ4=8*9ck$Ab)v>a{P7skg6Jd#qx%TEm#xCJydfe^#nvrjOr5yVdu7220;!9s1bw z@80f53+MmrBm=TgC423!j#p(eYzS8;7gSOpIXyCb_HdA$Z3=_svHTYQG&z~PYwh*qOXV4ApzM#9An!yIWixfYRTDBbZCD{T z;fQsYMggE01Wn>pT<0v_+`YHOyc{Xu4;Qe#b? zojg9j?gDL0m*#(4bwXB%BYRgwIJV78PHe~R%mzt2kaxH}DnF63c|Go`$l@N>hde}v zb;*3V*_6V`>#$hc-xO3>Q^5~Vm;~P6O3iQZAInNc+PpaAcOQ&^H=1}H7sb!J{>1Qj zcs0n>Jm;J<`!HWw)c}Vsqh4Kxf+dEtY_@BBg5Rt>G|jbL)d33|f*+bJq*{^R{r31K zWP-qfS4LI6U;?=9t9dejkJ0d_{j@HaTM;g=X_jBVIpl99n7ht9No|j3*$xRxyb|S1 zfTfE~Tw!lNX>T;}zy@sg(35W5!vc``5efC4<^QoPgh;-PRB{n^E2Bp&Gt0)%*{QnH zNx{_mijD1Vnq7GXp>?GV91%2N-Tjiku5j!?l;3I}(f5AdX6CUkFOS|yc-OKM6*y}M zl9{VJa+3+dLI7Ce}26TINv3|Z&AbPOm^7912S(D8-@@w zx5=h8@#o&nc?75=u=zP*xAU{0$Eq1Q=s0rJ(m2L{*0RD+pH0REXo`Gcw52rl@)%t9 zbSNkj($2~s%+q)U3^N;NtD=#M>L_*#QdpSO&gr`tga3z+b&*w4N5~=P)~Ke$r-Dv3 zc85Uoy1TgxG?V|1R56cDd--0rjGxSEv_@EmMe|6%v`!xPlbSL@df@!TYv~CSE+1sY z)qip4bFN!S_((ht><#TtwGo@RfvUj{D0K{;tcLY$fBtVQ(qRnzDgKBJA+5~WJd-2c zGH(Mu1{mYQw7vj6i15mVtxIwnpJJKY+ck52Drg zNti~7(9(~SW1l<`F$wPYQL1{c8xbfq<(wXW_y(geB3I|g_ruoyye#>|Ldf>Ss9Xl| z^@<W^c$f>zbghBzS7I?^4ARa80+_$qqP&Fb6b6NGmmsI@x7PtNi(8u`I&oWwjgr zimeN`ApX|&HFG+OLdtoT7k}=fomgQ;=o0Y3{!p3F0-x3pt(qk*b`2dQ0OmiNEEA5o z`+YQE zshsj7mw^`0Xr+{fT)#Q=Bk_*|{HZdi5)oCKgEb~ml|c{YjNOAO8V;nB|HvQT1$$IL zHI@{Y%p*cRHCRn0Pm6D)>K28MWu08s)Q1pPYc630VH?(v<-A>Y%JQG>kL{G?q1T6< z$U6bJv*4RZ31ZDj$b7!Xq{H$_=xDy->iqp08gkZj{s38_Rwz)_w7aY3kkY$;%fj>5tC{C-DB51eO=!(mfVCBt$N z0`ukxA$^mDU6d-njHw5LaWk)^o6@ft9PKP5v<(MDFzAj8LL82q3XcOmJ=I{Br#Zjd zC|e#T7X!&$dnZ!Myt^|i-$=oAC2SAq*U)D79FAWg0%T@|#-!*LZ&`Q;q=k!6#AS_< zo^jAXnb|khv>efvJu-#4=@oj&_sz}cvJ}-Z{9_p{Q+?6I=TFY;?b`n76-(>BHkD`@ zmBunIVYn$JJ^lUXLWs|!ujN>E$_{eO?j`DgkN?l5>z~E^Kf&ApBFJUK&t*f3HIv(p zo{!=BeF>3}2lrw;R%l{%hFcsR)95^mMe3NIWVo$cyx02tW7DtXq5I8Kq260MF+A_C zP=#zpF_xRr{-cS#pui(*J8(#eOSv3zj|d0h!0;AAo<{0*UD}qIEW4}a)QRZc>(9A| zE6_n`NnfcgT`ELW7W())#U#r7vOG`^FpXJ`$>_O0er@qeY0LqMEIat$B0?X?Y(pOe z$-b=Y8SD7@Xq0;F$GLYc-$JSP=n%23{T?u%%L_z&LG6h@YcRuN35IA#Er0F&dN`XE z6BOW0-%SgWu?f-_=e|bU+hYpz+ixV1Zza&Z_}bc%A03NklDL*Y$JQe>4w(8Jq;?5$ zo{5R9Nb2T{zJ@m5?V@%_o>HcHW~#3Nj~l{T!`j`31*2iP-c zV^C%o?kU;~5+860OEbJDIDB|jcrx{w+s)%|+W+Q(EN|oD8Uc?hI#ldbX8|ZG4K)SQ zk>5HIgY))SB^Z%Rr*wkPq)^*hksk1Gc$^ zh_No_9g_}Z(?;$u%NlUkk%L23#_j=`CztNm)pIIk76F>al8FBY@IVj0sbDrZ8;k;9 z0bh{LSa#H!DHEPIp1qJnyJ(ZFj)1+AXD7Tni1IBb*S%UhWwk}Jd_!`34QvJLwDv~n z?V!f{K=R(G@hF@3buQa9CUu)nqW(5(yf)26Iqkr^Yrwf+qI5JsXQo#6k5qWe1fx zJ+sWJE)Oa}6{vCVtt@wAbWlGlyK4orzKmDQq3ziphXC`+v&ul4%*%Tn!2-P+ru z%(W|PhXGn^?-0MKokRQvH|V*uWKbuW%8imux%h_wx60D3ktboZPI9 z^)dZe|Ey$cde4Spov{28=m{FZ3EE@5_GkO4Qki$pRiR)@Rhrjq=$sJ!nLd(XSFPE` z?xH$dTeZr1?a$9y6N+uq+n~wX$hm!5d)sHujbr3Pv98iKlG9vXM^+kXduoqTS7t-u z+<6_FPAfv;Omu8VXEs)c)Y!Iut1C^dmA^|w*0m{Vrw#jM^lam2UBA8|`kwtmylYMj z@r>}!;dy9~j?G?8hn3n>h5K!CsC0F9zu2AS?-i4ojp60U_dPW~ZLcvD?4;I>**O&3 zj>*>KY>#4Q-v)DBh?io8L6^^XRjvB*k z%#BuoxAugz8CbZN4wmfZ89_};U52567GV?L+-G`jtnPSSTxmFBT~ z!t96d85i;X>MNPq*xe<&CO1c2DA+-RO0%=PD^1U)dz-f+Mc%bb-}8A_=9~<@ywl&- zLME~`E)o;f|b_*uC5WI%xZ-LvvD!hCNd>>o| zehq#Bet z^WLDgJQMWO=(l|t4As7`%pZT>tJ>N3AT-*AJ?;T-faPETSPB+`8Q?{56#F_1CgS)(HfV{XriE+kGa3k0NehwZ4 zGcz&9U`)W6dMLO+aSHwD(bNIB9nTX(jP>V*=vxmF-1liAp6i}q5|{(#hM3=YGsGB( zF;8U@VExrZCUb>KT-GME4cgUU=?+mR&3%+y6Icsz+Y8|w9zB<6Cy4$cCDlbEY&PGW4z zxVBXBWR2qKizT~e+2BNRjclFvOWi#XV$8z0o^c)XSYvfwM(8{o(D_~r7KE60xmohb z%eXHHG1l#)Sa_<_-JK!ER?IPtW_|^-SqJ8TmL#5I=8-N3bHI~ecM@%s`4~Dm>+pMt z&i{1X2a|Q?&lX?PJ@8$v;q)ZtZicDv9wW8!b-5c;cZ zR9#n3}>Zf|< zFlyAE>uO43{&Bq4HALexhr~R|dm-izwy9(s%=`jl{Xt1=w_PxQU^y=44VW`{B^2@l zmd|1Qy;JtdaV;;f(ZM#%PqjGKYaaHYjEBlrDMRK&ESFBhr4D*BX?%Dih^Ucz+WK}4RFYLJ{6vy`-^INLjT;3PASjXh){mDul?{q$@ zGF8VlTK*tCZ#Ffz^|!sz#w;eVIMw0=`fGJ+(@XVc>vhrt&w|C0okDRuL48+Hg%eVFC(dVG5QuBM8OUup1@G|vx3CEg|Iewf$8%@U< zr=$Jds92GSIv5UyfhFK5>enXG$C|D07QbcFEI&xb&r67U<;TJn!z2I`yp_c-^@%bucLpFiT>|<{9a~a9MT3p10N;P zPcH$V%1>k6F|J$vN>r9=oo({h=-0D;YZCoT`hSck*X#LwtYus%e6J{H`pA<*;k#%# z8nc(mP`FQXl6!+>ULK0$=l{ifA?8#p_GTPCQe*RXM*8G4edbFwXOrsB16PGYKHk2` zmjCkKP0J57gu)%|bMky11^T7-Ve7G&-`aA##mVvQu1h<1$M}0THu>$6_b^fOE1 z|6s>UH?*&XvfH1a?h?gdj1TyKS=wZ8l(RC?XW~BTAJH$Jf(d(wX<$CuT&DRBF{VN} z2uuP`W#af8^L*N>d}hXww_?2i0ssL2|D2h5kX6MM#{0hE&CHt(7=~q7oMGQan6N}y zXFw3qAd85if~X0>NKlXfY6JuqHZehiLJZ&%TmmjZLBSFN8iRsBBnm`CAb=GC3k`{s z(d7H;d|fn`H~itN`c>cFPM_XRcb~V+IkzBk?tPFAu0y;8{0LkMdMRE8E(1Nl6^ai6 zl}fu9bOEEl)!@fq7`PRj53U7wf>Q7k#Rr29s&@H@uDKkb`7MxMRp}9>(W3@fh;|nv zd<{JB`;(|zPV;pANtiyIuMwa+=zszhk@cwv;j7Np0q12T;-f)FFb3QQHh>dg3s?iT zLFNoF0b}zL!gdHpf%@PXeEX{`BO&)NE+t!tw3 z^K;cub4dO2rT3t7=$%NTH|w`S!YjxujcneAI6E^&b8IB{wsXj>mPRh;Ap?CL3c0Hy zTOUK6oim(6t_#k0q54TV-4(B+{<2*Pt*YJpH0|=dScimsv|9#7Cd|HYdoKi=@bMJq z0^d)94dA25?93mXodZ0R_B*rxv^{S*TNjl5cZGj;w(d)$Gsltpp|12URG6nQrTOE! z<(}ePw{@rYFxO!%^_{k`rpBP9>Q@$4Jr0edH0v7WZ_F@TeHXYM%m?41(AQuvzRMFf zKi_Z-YOTHrUPt`5V0L6@3hnM?;5?8A`hs5I4sanTi0sUyU0bfPdcfJfq<*!f*F?<& z*I}{7j<&0X%3cUAa<&G43MPXY&TJ;v#sHqEuo%1t4uN%G378Hhfva>zR)ChE1LzLwNjLHpbYBB@a;<<9;2`(_?9+D%%AG>^ z1XvE1f|)vV$AbYnZ>J^f?lloy3@+06aqM^}=%jVo473H!HO9xm+Jvp=TM~AktHHAz zR0nlI1~`Pd*#~xO-gqzIdQPg`7x?}>nAcaq3h@LGG zTNv3rk8`;TyzIl`w$0M893dFmp{vO0vYd#ih{;t$MAa|2;2Ve8>turji@0Q>X>bo|np9pHSl z29{``G_7*~d6QZDI+MZo%6FVNq*Vtcvdt{tn`0Q+y89aZOR{Lo`-489x!R(R z$7Daf&TNb8I5V;{k9nVKee)h%C$ja-ciSXq_j#`0`Czs}o~aX@-Dd}Bt@19%J3y(k z^Nnvqp3zUJKFjq~S*G6)7Jxa<-fO%=@cq)u*&Tv=;5O|MmYwEKzh8N#43?}boxNS} z12dhyUAW$tst((}LAr8}_0gVrP-VEER|~#PHi4&|y*0UCMoPwL^_lu|?@rg)43b{` z750(tmC|pB;QgSL#)Gz@o$63F_Z;^*Z3k`3R*mxnwL4t;^R3QvlJC~*)%S9>%X=8l zSiV=ee^+WO@6ebm(KqYgB>gH>hV#-}@~PYFnq!X7o6g=ed!!?ErT@X-|8G>g6>4{q z#%H|d#NWU8-r6hK?>js5*)P7CK618yYDKmVcy`|n#ziLc0+l@hjyT(IyeIQc&5(Dn zVtqGNSQ4c1{>3|7k<#i3)~}(tX{NZppRJAIF*EPto1qjbvgcR5d%pp2Br zR+tl{XT|Cy6{ce31Z`x+>ZOA8R7_rGEI%tq4`n9x9hM2}d7blOZ86MsXZ9&G=tn5i z-*rPB!!~?cW>7CP$P2@)SiTRFLH%T)W4ul($jb@pgl+r2c)gNo+RI8)FFqG>y+axC zxe3=$ysfaEaGa9v%=MFQE|V^OALHe+UHZPo<4Je6PI3K`E`6Wl^AWDq@H@VSyv$@3 zGUDx3Q<#xvOylF76U6ymtE(^^*OWq*r5}TKoHm8;KHk0P>!8i?eh+U~m`6L+)Sb3b z-cRG-jji2je@cnUbFXl3@hw%Zw8oNIsofefGT zW#tF?ey?XMUJ%Ig>7o2o8u@(^2$NQ>M3FfVQs!}H@@=S7$no;TUCdg<(K*mitg!+8kzNL*I9 zZ?a?gp4_0#_}LV%7hfOg0yB;qS>K)fTepbf&74J{{98WiA;k<w;_A&T980YN$`(=i`3HiQ15Sc$~uKX+O z6ZT)yCC=UoeVyI=d5`A3pLbQ>z3FG4sdUEuU7dGD-udZc;=TDA&Z|`dFUT`<_0USHyhl_z^WpnB=L ze{>S;jLc_8A1Zx#k$isRX1o^tG-9C%{3)9|Jdm1@g7NEPv`0)n|MM zcpMA@Z9%Epq0f|lRQ9JeXb2A#2|AYy&IO$N5d0TZ$Ny7k*Msd~4LA-qgBQSi zpdQ9#fgkW(A8mWk1vCW5&{yi5`wdtP_JH-^A@CA74DJF&;MX7q8iEd>9q10Suto>a z5tM;hU;>y4dV>bwc5ohJtD?Q^{JS5)Fv#$Kw0UT2f;Qk^`2Q~0%61(3=7X7-_h+yh z{0s(w2A~?)3yy$`AWh_;+=HOEwqOBR3*G<|!6~e_82nN81C`O22ae+T68IAQ2)2T^ zz)G+QtmFSujNO4Y1q_w>;C1Y~2+RYIfaPp!gEpWW7zz5ZtqXd9Rv-#)0EyrfclEG!{CT0k(k?U@4dehJ!hvFDStpkAf1c*BLYiT|fpHjWxP} zhCIt?jC&dV?}InNE}mm8WgQ3F(&pleUBNK=p{#oX{FP%%=?9{-Ac*iB>lqsoD`UZY z#);T&D!7||oB>(#K>?Tx)>0SZn>XNj6zB#V&bXg`u>sF(zya_LI0?>y^I!^i0!#)HM z*e~%2SyMr8FbfO>iIsfbcnr@UfUod>G&qRorJ#}66Kzw_0rUaG!FVtR%mGh;s3vPVkPzE!Ycoffb+}ETPRef>mI)QF_jKqGx-wP+fm-PA1c(0rQ-!pfg4S4xJ z;(NK1WRGLa+k3zc=JDl>zr|n)cm*tF|2nXVeLEPB5}$j)=e$d%aefKt$-Hp~bCTRG z1HhwTHrwgUn*%{#=H6SuZJ-yZ2MU>+G5fI-Y3BIhvCAI4pBzLoo_oUyqWEOS2J9p%0DIrtXr15Z1jGlw#74gwE?hrvL; zlmBzUcCdl%A}|H?;@$im_!?XwFK~>=@ELd=RA=tU;$2!BGy=KYUvmEuP(9%9;Su1T zpuZoao+t!gR4Kg2P@4DejQ=lnUGbAQ0cqr~YUJZ}UagYU%NjJE}h?_nku2LyfH zG?#JJ16&UHn(THE1K;9*Fz9paKX_)Tzjjj2jr8-w;7#CyK4#vgzkdQ&f)@k+o|QP6 zN8}v)zzUxKBG*l4E+`9nA8kwj8y@gA*1hy~sWrr3rM|e6e&3$HE$>rB9&p9^SdcN3 z0{(s!ol5+bF?PCxVlaw&EdoC{&o|DmCHJk|$A5CZj+DFn0N-z?-<<@Tz)tYI^KmD& zqSQfM!9Cn_Chc27@;EM?X9`koS^JD!$vj^^bydW9gLy8gH6+$!d`=GdIn~(L4s_-o zb*MX`C+8QjKPTX8-)!)c^SMKEPJhykYyOjUmekT8faA{Bsb7H2;4jp{71mxg!1s9m z3Y=w}o-^l@Jn&%NlpEc>1JjZ4&n$g+-z9`3{X z<7u;>IQA3g^XE>=yOrxLcmBI&HTw@y&Xd&HNsj#k=SnU4BnSt54qi+7L@!b+YhIQ) z<!Uo>(48%^XM2u6b&ov)j_Q(sSk8DNz2 zcSe8bzXL@c`F0pXxrgwb*jxPN@6_u>+FRl44AWa^JUP+{(9RGsa+Uz~_zYnKvYt$+wo|dGW8~^c%UO9t`?< z;uqqZa=(kui$99bi?42>FFfvioIFW?nCHB|E#MiZQl}5oM?^Qf=?}x{8(nDo-k>Mw z;rzYa3bdvVG`tPW@o?gY27Uu^#?Fqrz0Z}6L(|8^7qsKMtH{?Bv%-frRi_fRM9 zUq(NWZ~C#c_W=4yGjI!iLS(8Zdgs2)xo-)_52nn0ocFs)^pVNVe}_hmEIH2C6^*G| zi4mz+G?r%3{<79E?l1D{x18vps`E98)F$%%8s@XK4Jl(g>a7dq6PZR5iH}E|j|uU; zRnFH{V$-Fx_iN7Qt|7GN7}}tSc1d*p`$}T3n6?ugcjbSvXDQE7LRlJ9uk}HJ^WUol z)Q8BN4XV&y1+=s1OumVw{wn0&1++~A?j>?bZs^awBrn_ze#>?c?Ikj_p$v7XtLwRT zI(2v#rUj@=V{M1)UoJV{H!N!Aa<2_U*UX?5q&?$XNe>6 z!|BfF?pMIGlzj;0YR&!R3~hPl>zw!ZZ0b$UBKa(nayFrjYEWk#XoraNzF0&Z%0A-D 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

O+3xE-xi)=_Vv73cuE_h<~`9ywi83Y#B|OOq>X^ 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�=z`cG0>;d~B1q_jwZbZG4m6dp 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�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Ⓢ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 literal 0 HcmV?d00001 diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_face_val.mat b/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_face_val.mat new file mode 100755 index 0000000000000000000000000000000000000000..7ac47e55b72d04c5fa237321509b2d2319f8ded2 GIT binary patch literal 397768 zcma%hXH-*R)2&pgf`ZaPK%__&luiUhdJ$Bli--s)RZ1v{^bXRcMtbicJ)sxry(fVH zp+jh)gyj0Y@BP-gKkxiH>->1ubIzLCv-h6SReqzRtn%=gsQ5!&N7lce+{0IH_78Qf-5yFxJd}`>lX@yAA^GsB zxP|IfJfzd@v_OZV>?@cPy*@62J7R;OeMnm<$26~D1jJ~<9y?=OE?m3D<+6()E*}cydCH)|oP_VDx)!O>THfDSG#7kUp{icO(0fYY9#>VS!84&y*EzRsCM9=ZIGz^jIrP{vCXo+en%1!Ej_sw}jc#u%5s5qT~7 z|G`w-zK1(#xm8hJl$(v!(E~3@z-pH2b?jl){HhI*`ps*v|2N#qVnscB|Xfv7I&s0`z_y8+QCHq z?ZG#~lrq{xh0VVo&AF2~8+R<7jUZ2)Ha>i#RP(gD$JW%%ESa zH~BVkEXv}WS?OME-^{H2LOFxa`o_EzBLXT5gYpho13L^^yC&AAM2Pw^gwoqxQzXVb`l$X2ll{XE$gvbp3-jR;B;tFm?RG#RBi}I+5H-kz zbTo`2sCUBXkHj7+;?UEQPA6xtu1hd?jdo8T|S|D@fq!nv-LG$qjLB2-6rSBbD$bCjQD5!!#Z!k{WfRfY}D&$&$IN1 z^x*Xr=q<_Bgifzhmdf4!BnUAmU!c}rF?xK23Z|cBWLETM1)^p{T}IBpq|?O3xXe#n ziL!1IxdkSeX(xL)N&tp7;wEK1!-1I|duuZAXX}&3k6K&~XW?0Tas}fn^*fW(7NpIR z`;G{Abv6KZG{i+@OyqLN!n$pvAtm&Co|@>O><-+Z+~k1RoN5+dhYd)WA-!wZ{We&N5(hLh-e@xyuuldeX)!>&eGDbBxhyzMQl zD(%CjNumz6(tlU%ozS!Gd%#b4h4b%5XV>}SRl5wcohO-p6;eDqfSXqTK!!jVHi79q zP^O2l1nAS#i$D4ikwZ^R`RD;-a8GbgXjj){AgPwNoQOXugJs8Le|7bdgddTQHf&{q zAT8av*UyjW=v-MIaYk<*9&qxQn3DbALfKgRDR6K_bx0jn0^;bthjF_pq(_@>bZ%Y0 znqZQ@%2jlZC*k+X8K|H>H)-S#M_HZp!+E_B$gC&cL&Wf>5ScQy%qpr;U!wkFAI;_& z{?*fq-&+{N@$RFfjvuVc7DQgDh`4Y%^`z~uF3#0lSP@TG+Bk)Gv7GvxzaHyWr|~e4 z0(LGEg{KDmjn*rJWtwU+8;WYpMd8OkTrz(PHTUpkG)LG-cnp5v6r=Jn$&TSW-rMx~ z!M^jHM{%?v&|Lt@?go8PAJ-7`jN{VrkIg%nk{~LR0+m?}5MlOakhjsENC+PJaI-?+ zxAcL)v~6N{c%R6bEYjy~&K&i>ORI3#VKFsjJ}|9y$ZJcwguu zIxplN9K~t3CM$)mQ{`GTw7__y>rimsu2x3TtBvNs)<;NDq8_SSch#qy%{mrhJqIeH zWh>utq2-#~k=G{L?BtSaOr(nVXdcc7-c?j>vrW1uTX6pz6}^nHkxB2md^?+)5?13# zM7k?euq)Gn#DNs+*%3s)$w*Ai$Zfwi|vcq;(T&@yX@TGhp*JwIuk`kbBYQ1p(eSauo_ojHhtYqbI*&<3f-AkhX~&iLI=dvqqwx5joS|QyJ~BpD`J% zr08~S;ooY%eKu{%e-KqCg#4t?DCywcIv?lGk6Z>~nn-#XVm}?Mf>luZxxADwX!NcB zFx>O%6wj(T{bcO@yypY7uQK-|muQUL1>vST@oh2)EQ(~YOv8|)8w1^+AeTK|0z){R zY-HJZgkjD1jacPNycSOa%ukQJexBn_n}1$y%b%f^4Ve0m=hL0=2ZlUgL|Rd)GjV~u z8n?iq;uShH?5OL=SaZvAx?MJf&d2{|kvhtkVVFTR)A8o`#ZN#rzgl6DZ+X0|vQkT5 z!g}7h|E6I_bMW@mIPN6tck1d}wIDrf-0V%YquPPS_%+4aTEtDX`H$v36L5f)K{J@} zpDN!ok#}a4pwD)N)2W1$0tJX)zl`L`F;`6r{HVPpAZS#WuRY|9G&Vq2t zIT+Bb=uRLv@_jbtgNbjgilaQgw`NdS`62jVZ6q(@Hh*Z;{^S~10LgiEQ6$ADiePNkRwmd^A4A_sIv!Mdoz1t3ZyP*V=i0dcZpcK0>QbXXM z?or1o6bGfZI{og$8FI^K6o+wvSOKJ>Xo}Tt07lziBNp;*HLDF6p367RgVq z@%En57@KOM%iA+={~vV+LMy>aLR;TT)pexe#VecvjBR4X*&8!%lz)xzZ|hZ;8ovi} zaGd^PR*>r14BR;XDAlCV!Ngd8?#vVjr$&PfX?%HO-?U^Ix+9{Y19O|5^2%_GVdRY5 zZjc;V& z%&?9f&}VI9o~xOKT1;8(KzyUV8?9tGG(K*8{?m;5YVoAu%Kzy|s89ACQeeL-V1s)N z*Di!@2KdSt_3_UoNw`iO7gRX*2jWrYV6C@p(*K%#bKPUJ)@EXZH2XugFFBg1wl99( z@P@6ix~bX5YIAJ`Akk+yyZC7ECEny>OjzO6~`RJw5{k~1L^0;wM^}<=7 z-gYyQJ5^-Be(hJJ5Mliq{<9*Zb#0Gw{R(vV;2Y{o`_A~iG}ct~qIA_2HqKXg$iFA2 zJ;fOQ8&|{=Gm!WWAg@+w4(k?VK9CpCw_k%kIDh-6WL{hx>2W_}xiYyioX84{D=D zDb0lV&1cvZ-J6%SW0v)Ftf;EzqJ8C4|1INXlMy|32^u|`R@?#ceYNDDU*i9^-~Q>7 z370v4AHnn<{#*a`**tIDB5pJ|8s(kI@_L3ReW4n%FN4?i%uAZIeorj<{5&n;vh5kF zjKxv%&WH>Z!YX7ejDkxVO(~404w&O@1J^ahc4YCojTzl^mu;MA95t(4n3LUf;sU@| zy+6#wvR;pf`tmCI3b%f}d$|(D}0Df^q_nIrl;qBv4=+;sZ?lRwd^+W_f!X!R@!VT)g?nM|b7$fua`MbW#zE_eZda=kFbA+c3Itb7}N$ zt#%A3s1sCBLYF#I!gB1Z;@-nzJElzvj@as~FzZ!PV0~;b1jS9*F6+f@EXgwbX2^J1 z@0uCV57vk4quU?j`z+YUZkTjKWI3pGx&DHcm2_VA6+ptZlzS!K4wYIe}40dxYh9&k^n65djTMOoiuGX=6A70I!bvtM&#^Mh9^Zm$6^4N@(Eg7Krv~ zGXw5!E&%`dLXjJn%>(--+0ConRsNmrURacI!S(m)PmtJ-*Ee-za?s-GJ->jX8utmt zo1HEKI-E<0fZ)E6?=338F}JFJZPxd4qW*^64)nc`0SYx7#&#fhFJzeXUzmodMjqD` zb{!=@)sZ-PIS6i8GVShVJDO>yotayHh;zy`wJ(1XF0uJM0ds9|W+^ohx28JHq%o;C zrAT87aeRqy@a0~r?Zug2`7W4y`1}Rxq^DXc(aL14f^3@#u4<2g18SWgucNk?7Qy)4 zV;Pz0>}a23rvG8M>n7T6UE(wiq?#~;P|w2Mb5aY>wEI)Mr_2`T7w;n(zLX0@2L`E* zFb5(9j}t2fp30yfes^H5oP~lfEU!Sj*A^G;6o}4nvsXg(-M~7NVL4YFSe{c;$MP)23j{a6_Oy51e^njz zDV%Y^MclHSOkqfa$Z?h0cbPjvnsmjR)39eK<^whqKu0?6>*UI;;_2S5cf3jTx`Z7-5TijW(_!V=*DoZ9G`J=;Z}b#?26~v%`tR| zyDK^%(@mtuY_#|->oyNeJTp!c6LT*qM}eS=jIjM?N@$dDKIOzan;udEQ(b2L+s;6= zqqT9A`F4#5&&&&uryk+^I#-8dY9fG%b3wBJgou^FFGsKXN_(5Nlmhsc3fY0_juI;% zIk1)Kf_s6xTCQ$|7M2dyTE+8O6;v2&feI!T&qK~#Rgf}`C$u75m5j@Y;(7@lTyxD8 zT)Xc1hvvaUpzo!w>j=o&@7r=d+44T2YrADGRw*9guaq2_D*@*-i240;;*0RUr-*<^wNI1WHj|Vh}(H0wKv5Q2YY@w8ST6g^l-fHIxpCNa(|H>>QU7C zd2b-b(S?iVpgD{r-4o}4SnePI0|U69YjYPz%xA~>hQ_G|#;F3T-OU{IKvUgjNh#a9 zL@+U$g9PNvR3INhlvGZxo@P?>C8=*BQkx zH&2K+1k6x=bbOyD?78U zBj37Qn5m0 z=rVVOPEl)De_)J12+VsF+b28cT%V4swsv`|bOhB`Dy5wB3?VaB0i!zN*kp zx-97rnn7uGrz<>>v+>WPJ-$Kz4kkxL^3Cy%xtA3p?%@X&gH&pi0Kz%Pr=^xs?Wq zqyGDNnU}?Mx5Yz(sBV9Uo$pcxg16hO``U{Bw#A3evy{{w-Sclh_HjkfE;r<&pDjt3 zEYi9O4bu&tpHBb9Yu~hnaI`m>k$6>Z0Y|ZWPY*8JJr|Q9e>&_hh5B5|{2EGKbWrq* zA^uR7CT%siMxuC}$wU9pUN;5irnpG<_|W&Cv)8zVQ~RTQrCh8S6~j}?f4wYf?fR2z z?(@T9+e1KR2m%l|kCS@SU(fy?qw3>50`$qJCO+hfOnRM;>!yb97U3#K+30{zggK z8vIW8Tj@`*h!eL4=m}lZBeOplPps4{E7pdO0s4Tz$kT(Vg~P06EBKR>d$ft2z4tf! zFlHfE`S(FH*dWDg&NsY6XG2J@yrb6b4K2WTp_ctH^fiT<5l;V z%swh=nwbQ>_m}uIcsXx6<`s#1sj4(kH*VzFWOT6{;sY7^R>jD%L@;@wH_NLm(S0Yy z$_%)w6;BWni}9upe`wiy$HNV4;yvcIZzPii>%aN}4Bss@ZoAa#TFg3>QCarXk)y{G z_hZHkP!Q!M>BwA_T76e%sKTwT`Riv*TaTGwUzyBH`WDvWnhk^Zstf%u~} zQ(EopV%e&?R#3{B=tWx(j6m`~K)+|w?(|lI#&el#adHw60eMFeQ2eGRP%e2tHafak z`*2_&PaLb+f+h2&;S7jR?9t0)??+3eQjwdlJRgz0T!YQWiV=6@t&)h+E3kw@*gH0l zyc{pSs^-&P5x#hDJ_IRnkF0`A1$Owi7#6P-f@_rM?Dxp?j#NPhmtT(48Z;NWK9iBI^&2 z7z66No~+m#j#}74ECj~*QSZ+I?_6TJ7XaySuz3ohHK6g$Q3|Elj{vInk zE8aY^`z1X#CmmE3(ly63w7vdHPx5WIHwZD-2dzr-?>2w4e?)RGLtQyrjQpTE&{uTt zP`EJSFeCsWr!HIj;`lao(fuN!P2y2w60}NZv&OMuX1ZFM^NTiPoGj&54Wt{pG1o^2zs{oU^NOzwg8B z?LLtgu3_ED_=nZPKE}vS-q#yMz4A7pO95F4`CT;EbcXW{9G`6os>!6DWQMr^MzZ(h zpoG^rzJ_@BO%|N^+9SUT$z({Kr>CvisGGnTn6$C`eG!)>3XSjJuy-z%CSsLtKU`H( z;qg&%lQy|ArBg61MTZ4D)p)z0jezZ@4_UlrdY8p}Y@4O5f^)hX%3N8`2F_cnvYRS* z1`{U+0z1Ff_KZz-e4Cjt*^Kxuwr;S%lUSF@9-P1ZlQpz}v?Yo!SS5x|~^ zOY6(OZT?g%X!!BwD%fwPmUZ-Vjar3B0H^Yekg@WUOVyUg;cd8~j%Fj51D-o>?W_~x zaK)c-9@ z@E3H>zvxIl77SgKyw=x;Q`nN1r$`I?Ljx%-^7{3Mrcwzh@*Os?ixEAm>> zii@C|R|BSvN~VpRm2@}$0aB3GtzysKNuX4}EmNCaIg4rU%s^>1XarEeSLACKk6@N z4%PS&hv)w@hgkEz5pjcQ)0Jx(ywpiyh^!RrQq$Ut-KEnZ2w5e_0sSZ@4y7 zrzI?%;felTaNos$X>PeNH-@pEOft-@OS?($|EpxJSLzg+Y0A0L(y<783#oo-IQDL3 zdI#Ho{BTxQVt%;n1TNt1tRdE0!`%A^i2DPTMoqtUfWhc`C{;GYvaj6N9eY;Z5Z1Li zTLUqg-*%;XdY5Xy^a+&-9u8x#SkWyjOP{xD9^yMgIEvP^u>(a^60SmNKWd z{y%{%yWqeHq`*fVu?L%<#jfMVn+7{?&`x0as;qwa(_7^pbEpF zRd+yQW0AkT^)M&4&KmiZ{!U5tILi4py04>IaAq9S?Kk0n6$a*YD^-{p!aZ0?;=LOv z`It-P(2CA87E;c7Tv6*cnC9pMm)dk*lQ-F6m%)O|ACebN>;gacGrl(n{em5RdQbP&Q?M)q$b+ z8$;01;#B*X>eQco9)MaFK91xU8iUBR!>eR0#U@I-a9p}JNdkwTmpPcM&(|`UvKqB* zwfds(vE|K%SZ20LFFL<0=}lDcQ&KY>zelxDwU4zSxoyu-W4^I#dw=`_{?{uS$(YgE1u~cjncapk@-H*Maj)W7PlU#D` zmu;o6_G+Him~G$)rz1I>6+T{!IqCTY`68%qL>c|;lklz!opWgwAK~{oU+tV259Ccl z6gFtRX~ZY+Ykl;)Do0Be?}!weKTHjjgrXquH>4GVl5^$n=A0wzZ-K{R2gz5!7mYnX zSv}tUanA71owlmGDzj%Fh>4n))j=uH+GM_DuHR7$BH!_ZWsbn#rmu*=zs@{QYt#G!G z0$@jP<@G2VnCA@YRJ!OixQOdYQFA=+BMsM=Neh zbYhVE2PFG%j@r3rO)%8#kE3u}Zy`Q_)vv26HtM4)`@Q zTIWfV$#LsfWDxj2nzQY{?p>^rCpF`rA3`sPAH}x6d6OGf%AarPBP<=Ocz)LhZP-bD zHjwA>Q64NAn>g~F)xPKJd$8x;SZrd$gL0O>&)!OR#(caz!|cY!-(%3m-6Xgs>lK+@6)20YM89dM@Qg0PTZ1p2jEh`lq1X z>--w&As&Pl+Yxc`)VfcQ8Z)4i%F;C)E;PqxfU{myY0F&vs? zyc=WHF^lsQKyt0IjW&&&IHsVU=&V1yDCl?kPI;Z*>!b;bb2o+_y%DoYd`J%XzM=cE zUtbOX?q|R3WBNy8DJ8Zj@p#_}_+cbeTNzO>$5dbQ;Ld02gXAB+YWU3P>RU!*Xh|Zh zP6r=)de^)}?;gd%iE2FT?z*!9X9BZ{6>T4e>WP;RUciTwOfgO~(?Bzl=CytJ$AfPf zVKT`>#QKEfa`K>=<&#yt8ZhrXOd?>eykxYDng|`}(&uFBil_~cE8 ztnMCLNIOiFNJ97w_IXa8sDC6)c=Exd2UNgYpBT=txG^YWYpM0r@PX!z*I2aw&w${S zXDXoy%q)M!mo104-HEvxF7_yoPdUE2tJp|55?J5O)**b`VfUMTl@AsBC;Gcz{5I97 zGY~AEB!1>;?gebsfqi8Fe7W=&nRg$t{806o^5D|!WNehw>$dU25?E!D$^QD1UzrnK z`@K5C7?rP|{9a_|Cb3@c1OCg|>dWerVD^JFB%V2AeI_apD~wdk>sOT&nC|x5{uX4x zf(*aF7@1V}LfUU!YD90%1WR%KQN*^a&6YtJR~X7 z3{Ar^-!o^9BJx%&Su0kTy#i!B%AtE)a1*9PGCOD$i8EG)kGN7sEy;v*S=e0A@+~0~ zbs^fyX3*rT{CKujRQ#TdE?yXJ_UrOk1ijh}EIwmMCrm4)ckj6VfgWbmIPJ0P5H1t$ z635|+FHssD@_%v4Hlt8zkH1ztpviTyluP@j=euJZ$UKm)phctI2BBygWmy2BJNAn7 z!zhV3f>P^X=HQQFywSvPpcMaQNPY!Z8J1|GQqQteeQ)0>veIg2Tn+6kQnji!J~{dCe7(n{-Hq|z0*{VcbMT|!yqpgL0wurm zP@g9aj+v7L4UZ@k$ob+T_{=O1D}{Xxr+m6G@p2he_Hns9Vn34nar-wx zsq*5+-y0fi$CT~wUCD6p)IXF3Fwo>o( z`GSr5PE0a2tbY=v9l$kdek|NWFgh9|#seSq*&BaPQ(k?BzQ{*HseSH=klp%3;9yU! z^YPr8^gvPXUo-7oD|Px=1?(^i6Qw zGrE?VrSyHel9T$soiQ&2!_JiIqz+tcmTr184%2FAOH?7r*>^w(`ABuU;zbPr2P5KRO#= zdd&W4tz>641%sA5;G2b3?toQprZ4IbizHxX8xgtHXI6z=HCGX~qXtsqdG?`CHfhp1 z%CI6hHju*m8TE7!`hANKN7flsQT+So8{hM)5w^)BK629Xq0~RXh~2Ka9a+TL7rmM) zY#!wCh5P8UOH1d{rSUoE%vQ+M+IXbAP}5GE&>aj@{}}lHa_|v7VhQ?#=pO>{BoPso z(b91~>jM+s#}a-tTx0#U`+5P@b#>jwTGQ`q=|5w4b&9eO1>>}LlEA4LpNKhO%M)*l z!J86XQTs0Qa(-9_>BmBeWi>jlyT4cx64ge%NW2i;lrg_Fpy!|xh15+8wv*9hpk&Mm z^Gr~ISJdH~Rr&qdZZ$5EbGBr!!hwu0uhmSD!3gGyg21u*dL*tFIMuh=Y`D3d9T6CQ zV4!GFfX53}Zjs53*}eb?#J<~I=Zuxal;hUh5F(y3avh3X$Pcgtni+08>ed%Ht#g`W zzqlAH&dioLA}rYA^e?A4$l>(>t3Gj=9>6IoRD<7QEpr)py%6>V11v5fi`` z*=Qa*zIyS3=vbb5D9;($}`J7{XWB?$!j?T*|%bSR7x~Ri~E^Mt$1_M9}w0YGU3ARHDC}q1E z<8%5mT%p}(G?xFCt@=7>Hx$>R%C2ZQGn1XctWDBt2RghZ5>2N=e=6Une|9Tc=Gp#x z+UKyW`J%QjvT)+vjIvv$t&V1ox-j!i-^lepd59OVlSxaSq z@6qeFu*A!A+?%Kyqg~g7tF~YMN6!hD=``qw#@iQ=chY!NEC3;L{GAuygiF8gHFl;n zlQ(CyX3*+<2|_QU_mgmwkpHT~X%l()1utl7YTvK32#M=6g7VFeoab1CSN4Ogp{r);418ES z-nSk9r|{OTH6bD|=GE}eyW|H&E}-zf0G`Ykmj?hhKQR_4M}=j5&8=sLPG=}gMX#n? zf=eBRw7ZOa!&%L-6cCvGQYM$>9>3DgO+^lC=5_iaUaLu+sBvtsD$hha%x|DA`G@u* zlTC+{wbi5ct3auP`)ijRBUH3MzJ|$L75m2W5XlYX#uBQ()rc2x9xhtaWgQxIwEsKQ z^_uy6=rnD*sP0%L@%e25Q`qdGPA52NAmSvBJ9Zv^psx?+yO#F2yqWRSCq9tt0-DM= zF}q8tf0M$Sw7)$t9*22xS9x!(x?O+o+?yhU_UhFKJ6C`-WWFtvJm-S3OM2&r*y;QklH&(u=IpDI>zH%?A*-7RB(=@njYO=kiCET1ItYkisLJ)zgciS+5Ja zs%8%k2^6=86xWu}zVh?2>;03v>6Ujg{HKoFAGk;lx5f66YF0p>nBRRT85UBmXg$x zJ+&dHxYtDrHk)d!k9BmZ3d-|Xex>_)DI%Et-Vuv#i>Xo^Y};J6lSvW+;jD_2J<8L^ zSDCffO{bO|YGdk_RsG|shk4)eu1nn|8>F_Ef0C@;5{uq1x~d;v%JjBh7PQ!+eocQgMgyM+^i17OUhb0XYbw&%ywv;f{w^y$6VouHg%Bt*C$?f^zxP$c zGVDUKmiZ6HE}>m#CgZnYq-sB-jtFN0PFEgs`F|&7BYNH9G?ndK?|ypzl6i#TlTE9I!c>?}?d8dHgJEseG{3cBtIna}6eAZ!-T!!r$(yZo4Ck^=ZW|Cklfm zBF0UUUBbRDAOmWvWE*$L-GMbYsc4?KrEBAqV#Rm#gaoH0ty|B|0g(=%^Y(iY(|xxo zIn3Gko3=LriN<4o~&)h5g#m@MDgR(H`svioi5G9JyvSHpgAXND&-Q`FR5r1G%PGXL|ZpOeGXR*hvFpG zwja36RiZvl&lp-R0%ZyV6kq8LI!cVaZTz>e-C({ZRB)joi05mCkS!;M)k%?F6MsFh z+hH(rxN7nASK`0J^LI#1Ou03#n9FU!3Y~=B5wf>xKXFNU_01tGeX_k5+1yZV+>^Kt zr<+4nDK6i;%)RGw{ln6M_4~oJdQa+kW?s8A$GMsOD&N}Pq`RnMmc}=(@imoQUe){* ze)kEq2r^&pc%oZ^HU|hrXWuxWZBg^hhM=Ip`kIW9|}Dk&;1D$mRY@ zX(S15+c(|1$9FIFH}V#H0QI;#yOt+z&}p{Lrk_n-`D0J*XgR{W4}!)VP(;&|I@Yzk zLGdV?Eml;P?XWKTT_q@K!$ZPkYYrIpMkbt>Ct-HdwW@To& zI2v8vfQ9QNj~7dJf3mW9zAFLGDl9Kf;xZ|kjOgqA zDXu|gs~s7QeN8|4BbQf9@~}()a$(rUI)`AD(6d-kD8^PA4Ey7fWo&SBa$j3wr!qUWe$G8eJ2Y@k`6?z0?KwlwzW%E~vLat> zB;zIL=1QPAhcf%-?+yrYcb|Hj`M_L8dvsfn!;aDVJF=$fsTrK3 zTbb)?eD(++g9}|W%ye!cZk1Q>cc>)C4A&&?g5E`6$6UXKo;OnPjQ%}o)%r-#onPk- zu~)YiCz1$GYnwEyFfyEc&|J$xKqe}avy`gB_ZHO|;T$Bk0p!;)&v(o)o?li>0P-$j z+3?F5hvxiQb@^v51E-C%3#s3xUM@mwMw6ZQBtUxs48B5|!(Ia?(+aka!F8?*RGyVA z@^iGX7tN=JpO&`{wI}f+y{#h`&HI11YKQy|qnIx7aLl*Avc#K6jhtLblBwx?n{XrR z%?E=2P2%)u2T@BpUY>k69_8ka~hE3 zDs`W$-`%}7o4xlOBO26Vifdl!t9m(TnFd#Y-Nm`wqZ8MQf6_`M$V-mPU9Jb-DCIYI zQ5BQ;2gd2jO1i8aYFFlNJHiM!?LK&C+~oJC(RP=sWbU?xcK9{X=VyGPJn?kj+P_*5 zq)v3rmP)7a4fSx#r#F_N7^cB;q!DY}XUhUt_Tp%SVJxEM+lNlb#wSm@sYX~qE10tj$Z_&T zY<+?wQQhlJXXD+`Hw6NUgC74g2z>v&hX8Oz1YDui+)Uzw6UJ zfqoAle$Hi{2YHXC+?nOwZ!SL1Tnk)9t%cuV^WKMUZF&1%p1>a2IbI!NEOWwOW_<{e ze7EWoJNN1!bx%0g!fQy__0G|rx6p>#_&ap3Q7qdN7kwW~tAND5OS2AtyNd=nwX~j3 z&Q%?89}d=AmacOo`@lu+CpidEoEg84@A=K^ICPwH2j!un&3qpoE08H|?bN@+2%J^F z7xw7#_J0ST|LNDUbu}I;OSZ(FkLoqqn_YrXv8|oFM-**@h&~VSteoEFa|?d!lJbTN z_I`}jJ;x%QzOT^|kjuIOh%oqF;cxjXPuPn%UTuXyUi>2@7qh}~xSQYwKcQq@^GcW* zNNx0lvCED|sqD07b`?RU@cpRQOlY|+C?l_ud$~L)LzaQ8ALVkZ<&tRRPyqRygB>#} zpa9(;sCj*!Jgat`$Crn#os~}m==2a07G{_r5AqnqmHt6ScIV+;EB^MKn8~=BIZTyy z{}U9ly2N$7%fH^G6nGYmWdz+d3hOfsWA^v=C>{7rW_gU_2tuTZm+TfPV_PC*1a3~) zf)#G*aNaWN2Nf~MfhDA>qFPG66snl3>lq*Qs!H&voLyyOxYnOVdGxf@-cSZ#Co=jc z6^^DRmC~`vkJg`KHa6a0Yk25Q@jrZ$3t&;Gq7z3jdQ25Lb2=stV^zl(I$rK`UHHdU zj?FAKEW@(@aWqN&^%|*zD+e^~-5W0|aElCAy3%!53$*Y(-7Gly+8_DHFch=S~f-$!&;Xn7-e)L8D&P9=SM~BpKr0XjOnV}=+G8^GP^^%?f3Bo8`J#pXut+%T1J?f zMR@r&xGefTec5)ZC_THd(1KGp@m_8sk+U*_J1#)6N`~1A;wU-J84oUv##5(%e{?ooN#ye1wEc;Uuu?u2XQ^UIj4R}!_MaZDYF^l0JtG1qy-+mV7IYY@X@8+KczW*!6od`wbq%) zM4a1|6QzIS_@E=@l^eDRfTDLl0B=5y(FIsMKU11tKv&f1mw4x$(x88p$=_BPBYAyAw=-;3A?Yff^Dk9Cedw9JW$o+P3?VTrHd(>TP zQGJ%HXlB=}cIu7)8zg^*ooYhcy5GxUJ1VE)7J+0*?6L;xQ9eircba(^Nf>5RU|evgZPSnLrPWX`qKn6tt$5ICg>(Ae4aE zTqg;(1}NRdiBxdDHFMj(eh`+p%$rGG`Yf&^RJHXONBkcsO#2TM{;-)!_Fzb4){w6b zLk`ra#~$IuI(dJ>YA0p%2EU-3hLY^vulZsVZ%#HbIC(+6buF=ZfAMUjWhxht`BJAixOXAU?wSsw>rZaE- z=ae7-*61FPio5OJmzq^+3R{%Z~;}wO8FXyZKP-y%y`& z@sek_(luZ{nkY4uDeItJML3T7V8(iqOM$*EnfB@YZw7IW_{nJ76QFDxRSc_Ec3mp}iIe9Aoy z>1-s$Gk0)3%N}CMl=?<+5Fd+ll~vOs*t~$H2$HOKpB2$NWZ$elr#l=uS-brQKSoU3#%rLZi1jOR{WQbsr@kw)Z9?a$eA#*PeePHKn8X z*wBu*(OwYX*h{u?^Xuw;sM24(zcAenSd1^GZ*qs~uN9RSpUWW;Krn3_$B?Efalgu{ zpv{qTS+H73*?T*%ta3&{1AkMgqT@f1}9T$Gf{{ zX01O!BB;l|H3+=a`vU%)AEhPv7;2ZcZ+KkBh}umbkIA%P>a2F=Xyl8V8c0QFrJ4VR zAM~W8quGC{57J;yXG>E<&kAfWL(37sY}-lz=wSbqG~Iw5M>L_@YJH0uP3s9CoCrHN z3L_dF_{z1_MTJ?cNG)YZ{eh=G0iHG5t6gq94^IMc5_^lB$k`Y-IvzdthW^>jZb1a$ zzG^F1_pQG7cSZcbhxOgccwYG&2q^SWp&W3WC%#af=~x1NTa2X%vW$$kyYSMNFzA! z9K_HB1%xD19yHL4dbN~^i@M$DU)l&+j(Ci{se|WY^K6dgZmVY@9FIavpJ*RbF9H&- zwR7ODmnqiHdW4yK7h9kM{E&iO$l9C5IUN%$=>PRV^x6RAi}jRuesj>XKXye85an~q zx~<=pIdJt{ANWVEe1+4c1TEHD;+Ot)J6p2~&>xgcO_oRqy@^ucWz#^vIir-s*pQ!w zBxAq^%e~*lNJR#>jzp5HjG($J=x2h=Hu8WY(}xf=j)KyK-o8^JYs|^EpPFsXBIQiO z&%5@D)9I1nnAkJXLO@N^h?jPmze?|6R+yy1PqlfW&o#DZlE1J?%h5kuU#yF2y*ABU z?=ubut>Gphi$8yy6b+p*=`1(z)-`z%d!bfo=yLve()3y}I_<6Y{WU})RZgw1--v{C z-IVX1>}Lcyx+_8HnDf)^ByJq%5|0n>uUYjzxn`!=g?;Q%eB19t z-zt5-^{xXi~mO`_5jtg_?nJ3Y1hYRCMs?V`3 z%kCAgAnYnPDW+Bq=1Z3x;cYeQ$9+mbc!wMOvTW0!{E9Hy%>tj;*N?isW$U+g(I_Ki zwajxaWSNR@ygu?W2V1%CBlRY*2D@^qIH@|&y^*s+lE66y_o&y+{Xcdn_T@`_Yoj~j z{nMbblv9We0=561Z!v+o*aQ3$R|fnLXIY2)+?%r=cG*7VPyd>$k@E#==OxDV*Br!3 z|4wWczfS4unnc0TFW4=o{4ro&WO-NKdi!snZK|+|TQEE)bxnXh z;sWwGGIzkW*zPHbL-tt>=-uq!3bnKH(%TMkCX0kK14XeJcND@*+NJJ+(*sv7(u2Z~ z6RBH6Epb&&tN(|o?+$0P4coUzt)eYzRTZylsj5x1RIQ?DtF4i?sJ2R^_DDkQUA1== zRcci2m7w-W>=+>kqE-+jB;@D)-tRk(U-Dm$C&zt1&vV_^eck7Eo#*9s3CP^^I;SVC zW5}kVadcum$tSqC`O&+$;Ns=fW9Bz9y~{q=+<78%Q!fb+0%c)mze$lUC(gE7sk1&y z!~w?D6%rw-W-wRBzFidGsRaYcXd(AJMexPYy=0|2miRnlV$dCsSC^u%IB%Dvq*&qZ z)CwB;Q~9mA!ivl@5n+>qX}^gMzf7)c0zAp{K5X;Dk3D}E*8h_mM_>C0#@t2C)F{T9 zcHCnm&9r5Z%$f3hI_1N^GshGNyfI)@ZV+eid9bXdss5_rE8o^5uK?WPrNr6MZ;U5p|q2(qwAvYoA)t=ez>f*E#5}b^{3!800zewRsDU-Snb$wgP886-77m_^Arq* zi3OTxB0@;Xqs=}TimD5)P>(BK?oRUP;9UP^^T0e(s471CB#&1))Ob*`jCpgRuNbA2Ln zHN!eR9*D~O0q<_e7Z6sLPxAMS!6MDCy(aD(m%#7$gElq9vO%#LTD3ZN9{{@cQZD;e zCeCY`MmN`~b56*Zt7AC|Z?!hoHJUmD*R1pAg_%I_YA+tD^HM}UL%91vg`1u=_VX?W z-F6n1O8c-=#XCBguoaK7WV|#{rZ#y>n6@y(^UPMb&1 zB3A=0s=db;5q{>nv$W62G+Yr5RK|Ve^E(~6NVSR-uREzdXe_!S;Z_3T{G{o$@1OD1 z&FM*UWh*}052bF~7~2nd;4vTlH}Cdwv9GrE#jiBmZHE^5c}XFeZ0a=#6yy&mQPHe| z_!zq1yX5fTx7)}?h{AjEf?|(wNkY*Jx+4@%ClPNd{^K>zFyNYV%UbF?^Y@yEISnl^BbgU%3I=fChQ z!@`n5ku!Xjjg2At4{u8lTrJ+5vc``RYj^OypRmOHp?Qm8_A?i(p7W{C8!qUqX=b6( z^K|crbILyGxaJQn)GIPose`S}FmLpYQ|z}Mi|#}mXQxoIl9TNjNE_?oR3kp;F&~P5 zn1N@?5I+Y+?hrehgOPc61b^oZ`MQ*S!cqHCYMrLH-Clpm#ecNdzpqm;oNxfUY>%2f z`*&aQEy{UE@i@C8H4xKw@Q70H+S|Lw-@U??;xP%b&txituIlWaf>^ieUaihuYp%6l zdRm?fOb~*xtPK8wQsGYdfvKCLY#3SCccqi((K5Z_1sCQ}+&IPQ{BU4CCGw8=YlS>H zlas;+@Z=4yjRLqY1Zo|CJZwOVSLp=EA&)P zTq950QT#2P;i;l)^zE1=@$74J z`;GGen75-cRC{~tup%O&o?XrEt6n)?f;|(P93xGOI(ekGYIlGn(xT4)c$vYo)ax1A zVD`{2+2Bck&|NkO35iSBIyujmy*+C693FEh#92vrkP}e00|czQe<92L>??Mb*1t z}&HASf*~_-dQD#}|L&z_l;*>5c#jy|R(2FVU3O?vYDCPg7{xV1~|KuLg6H&{qR_`{%xJ0Y;7L)qlnTH#`eVU zHm(I(IGVt2n-%l^sbe%dyM-Om4ks@e2yWH1PKyjob{b*8;?>eKz_C^}OF} zAlAve-YsBV-vFRxPO0vF?5lk$nu5%Cz$=;QAQMPz0XDgLrQJ0y!&bKi?krY`N%{G4 z=+1Za6K|Rn2Nkr4KbU8gAn29EGyZ(w7}3?No+Y|;+CXl)dKjVg7F{xlz2c+3m6z1y z1)g0BiFbHz$FUK$)Sp`H?~z>tTHQ{#=3)DlmW@m0tf&N?xY$Wh%ILj0I1<$HAY5x= z4QvHjz~c5Hz-?TfS?xN=_@uf}VQN`DxvbtOn{QoUk5g3vBc+Ctdn;V%_mKVMy)ahO z-DB0)qvj7pj6|~F5yb=n^wP#b+ov*}!EfWcx2xLVn7~>`_f74n=C`qjxMLbMKgApf(;%bau)3Z|Id^`!it>VlhwTKy@FZ%c!XYDSv$|vJ1TKk z+k11W%AuP|lQl3J?~{pcN-FbU5-F1$OyIG&&}Bo{RvG~HN%+Xaz4cZ@>B`Y-S)fL& z=~>L8-op*!ZQ)rFOR^1P^S*)b2-0IN0ebrqIB!-5C}dms?wnefk}$y%W3Q-Y{TZV(O&;O37hu0G?sFrr;u*|ScKOJflXm?V z>}h}~78Xp18bJ?#WDhvsPy{WG0Y|;RduO)k!d}X8k(9X4{F3ynK}%g^TH}d&J+P2`qa@(rr*bWw z@7=-^8+j1X{8zb&-9Yqh^2JGgX z&FS0ahx*q#6rxm}+}>>wA}r^p*#cc2Y|jjFm0xx1A-neV0$)_!{aECGbHbS|e7*RH znAPg+Q(3+zY;BISG0h#3+&1_E|AJ5uY!sjy20jcCO2#KHPIW;n)>$!1R8nx@EGL^A zrb6;_H6giOKeKL#IZNcLyg7nBP$4$3Fr%gW4x4F{iJe(ai_g7zIZ1-@vxq)D68Ks< zR#Xx_oV<03_p*FemR~^Ofu@6d;-qTyF)_bOU9K zUr*G2gD4r>IbT{!ynb`J)J{a)sQCG&&gb|D?WTQn`os<*xl)uBi5m4RjoLc3cAy=+ zf1zWnL9jZxWogfq461eG0~*y!2$LJao0if;lk=S;l)kZFgA;Wl-Y=nT;5=src`Nq=z( zVI=w9f4=-o-N5avR5E^S+gsMNxjcyRiPQoU>oxflH6(9|?ow}}WJ0@5ioiYHb&ef2 z?b}A1)Q2LdNu`i~+?;2<^UUjXW>fhhuyq`|tjFMu6FkIC_~A zx%HeJ(kIa$n|C`Q7u^ZzM>$9prjD6U!~bOCL(XuY4CkXH zVl56Tu1J>bV2nL>l?$8_n(zCM*Vq|Zl63a z&~=e@>bL|lkD1CGf?zvsmYRCW?4c%-vXF&{AxI`brIWu=}cKfCSX|hu* z!V!@|ZfjwsNq(h<{OOIwJ}4EwaDGSm8ho^KMVvl_ZCa%2FenZoRcYDx=~>FEIxQy% zt4OvJv$p+O$1|KdIKrCRW^^R8$bB7iuk#&+ZDPW#P5exT=nwyWC+9CTlkowoZi1Cn z%zMOLbi!MB0>idCu72!*HB~{FLHa8}NH~s9?u8en>+?&rYfn75pYL{@oMa>BZ*JBh< z=Y{@sDtrtzmNM)vz07z8cXR8WTaeLs<$h12OGIS7{ScyAqU7VmRUP08b z8E4&};8U1lqnspFZFm|=SPkE>H2g7LAQkYA6AlSl4!_utraPz020xm0%xfU(RNW&UE9B(xH#cr(_qr`SvRj|2;= zz7CuX+VY0#t^q!$QS*kuoCKt&*|cGAk+ZIv?dtY1eX{`kOssOez}OPJdpFkP&TXVk z>Vn7UDbGf${@mL8hcmD!b8Uys0K3w3*(HAJ&~XV@?RQL5OP<%K6aMZ~_UYp9vEFcY z?+QUp>k+fP$qTLX*1b1y0}X~?fb*)RIpRSd$u#;;YE`{*uZ?UIKPB>#OxI%U?(E-l z*H@muhz^a__Lo5qio)L9;hZwtjti ziANefu&d^JT1^9HPvzB~46Pbv$j=3A5wI07lLcGa@&E8Aw^A**LvFF%rLXnSq0DL@ z{^dPO9kSenTJ*i1P*mc(e8ul3Z=osOt>5$cy|2p57l^tAWlQ4+CVvtBh& z;m~RRoeiZ}1=|_Gcq8T8wSQ$4GtTb9H@hg!)qM8W`5vWr2_GCBvTBSdoT-L0w|o`f zX_d9zsfqr!RpcZx_RMRm7koEx43a%p#H=A_X(u3i-MZHtk01~C(^EOp#^L#t;;)h{oe^vqMp^D)fZvwkh6y`P^yjl7m!{TF=8 zj9vXz(+?AsM1L*Hwj(>fwWnRJD>Squ`K$Bb-tREx)q_#ot8CrZ&bkdx)a*2hgd}<< z?@XN2XgyRDEY{XFtK~m@5uN2VIU%#$@%yJ-UkK4}1H5D8q5A;2!``pWEANP%_Y;X7 z6V*KgrQcl3|MmL)zH5V7rIuLtUjf}qMkCpF3xY#oUS9t=|G~Y?-j*m1ZsG)5r_Dcl zV9@Ym=J{&j$cV^JUyx~0Q<3ZQ?)9W#9hPt2dzmF(`+YB8>Gd77h!l|I7-6x-R!=(S z3Dys_-z+2~T7+Fl2y* zlN-lWr1vg_Q9hsX`=7~!k+W%RE&7dK7|waGu~ek^{%Xt_8UGPCezalDe?8dzL7XVZ zFWWV!*FljOd6_54-Q9}%>zf;RepJ`@wt}@Pgb>5*70&Tkg&Qt=(%Vh6Tp&ADJ9)h)a;O(ZwvA-RDmr{7h zxX;i1k>nFCp%k9u4$Ls)AKSNp9Fg<>z-J!QrPbX{FM$6z#kx6@)*!4vYEYHwjlt)N zcrWolaJPtDY!PdmrS(VK4hi&LxQTC`wpjPc+;rHdw73vvOR8v7QORm|%p{BlPl&h& znDjX+D?3zAn=1I^Nm&NpLe_%;PnJHabdLblEQBF4 z51pdfUP>YRT!j~s9TdJ$RE@Hl)^{gb-ojkHHJtH4vlrq36&soIYGi#w>t&#hJ^RgK zrB2>HqMf2I^!5SOY5mA@ROP)@6PCSoTRCx}^-W)^3`V%ERrYfP$m*CBW{)^F-Js2V zf0$13VkTEoi|(FtjHcwetJ3?7X}DBxJGBApmf=zu{WiNhJ6Aih=v#!i@XCvZiL1SE z?9E+GmfZv+0Lve7z3T~&yawlIwHA>46W^Ok>FlLm9jr(HeNK1E5l(%7#?N7DG3W@8 zU#*5uQA!!j=Duzu?|9RJBHolH{8@h|+W8#y=r{Ar%b@Ptn5vgp?J*1FPCrDa__#LK zrk|X44E>-D=325(qS9(*Px3#IW3nr&$zUL_m;b!!^?CE283q%k^;%lCVJ<;rzvGhy^N-0X>d zx##yFE+npNl`4z+K?1zFXVpp7=a!x-XP@_S_5cVS(`tt)3dOs=y*izz5WdbW?W9Sd zqbP;rzoc`k8N-=H`&^>mWqqXgDO2#=l`nT+-@Etlp-NT$uU|E{5=Xz7nTWTC3jEqv zym2Ft6WBICYInrzgUX&0a(=0t>u8w13?&V24(2>}&n8?y-Wma^Bg&7^h9-zK0vAJ1qQ!d-j4)5HxnX*!0ipHuzQTM+(Zy_fq|k2B&$b@*-722I zP2q(}y86`5nioE9M@4=#zt2Qe(C^wpyv#+Qnl)pZWx&>n4d6W2t}PtH&J*`gqh@kwcnG zcMLrf)v*DJMcJ_8fV9i2Wed}LL#uytI<*>jwM=W8-bRz2N z!Ud`9%+DV4boe-~Tg*Oe!p38MYrOXCJH~uSj>T9y=lg*-ZKO$zxF4G+R%@hClLd0v zRBeiREx`?kRrtfx-Km|JlNNF1^wCJ30r@&5@kGaiT`lb#!0Vz9O^X?B#)U_>0=W!r zg~@JmmhTlOr_Qk@fI*^Rx%D)#nWXLof04sa*Y%YzXZDuh?~cNDWQC)N$YnD zx$N6!?d7@CFMeoBH9@}4n*WfDGGkv$=G%EpXWmtHU-76SsZNc+tYvR!V4{Fbwovd&#@cZtY3-b?e*p40~ zF@l#5sVPiAMslX~woHc-iy9rs0CyfAm#CMZ# zdK|=EiH2F#e^0%o<1RC93 z$6P&QxFyPOU^VX6JMcjhuA`xN<}~_R0)&#N%OdU8fpCk?`X91B&hP-M29o5{un@VO~60eNE#BD zMI(bwg@&;QA-lD7Ko?d7?1K7ZY}=j(8|3h0W|{wJ(F1$y$Skl7?eP^>G4$Z~u^^kO z-~M!h3O!tQoG?(N^JT$wT@VL8p!{M_aJ3)RP!&I>B^2LH5N0Vw=*_*R)*BLQ^D@Rk z-MDqym88?D!vLcVkwIjJz+KW+>B^lgUG!0{YXST_cdW>)pVEX{ zV!?oRt|08a_|r2}VAdMzB<(23BE?yop4pZP<(7V-iS1wqb_pNtjX_JYEopho4m7LbNvwI?_OqyOED-QJ zg6O#W^ImfbrP-RUSf7S9xyO5> zAH_aa!R3$R5kYdoDD(gPSB44qr(5U4IbH-7Sn#9$8PepNZ=dCk8urPr+pL|*`d`)b zW!}BMj`ciF6M8XhTml{aRP0@Qi*ixMHLK>IX1C8Lm2w~LI=nc*5{tUUwh`{4#ZBan zTDvq2LiODRYX53p;ek?+Ft7YpvybB;@=Tss$zr?$>fM&`hWa)JRJ$E(FTZF0#q7)a zC;~Zvj}MwXFTW-C{>hTAS9wq8M0K}vP=XKu8r5=^Zu4x-Rs^GrJGV?)?}NqY>K#2_ z+}5}_VPZLNa#mynktgb#0~@}h7hx5LSuO$dbr9$mK;r(TFSJOBA*G|7CwVumurWt-_DNeyHR9TA1(Qo0xw=Ch)jUF#D zDT)^*vWW^&*dT>~7kd0DIu-DU zTJPT$2Yum`E0~z>6iCHZAue$(ok7$p%$X?uj@ldP01lACu&m9gMe1=zC9f?pd;Ufs*+3meL+4YWg<&j?%k!nIQ8Ex#hsZ-9%oQ zM8dU(e3bd8Bn${JR1Mmeb4BX-oO4bhDb#KYE#ian&~WsLVOdP4w!@n312t<>M8#1f zApm!I(1&Yv*83DtUcaT?RqP>`C=R)7uIv1u;XAcF6GYrgL;!SiT*TuYZbi%{%Zxs3Zi(mCw-@aQ1efOencN0$gLN236p04d zyDE$@wZ%r|G46QKL1!|@DX*=$b1HASCq+!b=NOX9s6~@d(UbPy?Ss{G$8ghCF)^ zGUxBGJx5^KXW;EX{$10bB3HNv_d-MK7wb*Qt}*wep#!V)f^KHZ>H^bGjvE9P>OUZz z8^jWw&0kK)0@E6P!zwi*V~$@xvB2Q6&^jmH~xXpRL z8_O<_2NA}QwHdEvzMdhxOs78N`roCU&)SvV2fueU(Ym(d0vnt4NjsmH@~m3Q!3|Dl z<9s_5m0!t%iPIsw{P1o`E>|jEZK7UcBbH}0o~MD!Iq;)uBJ&fJaKeRR8+>@L`FL7t z`9{*ujoii5`XF6c6C_0>PMryp_+-0?D)P?=T)T@S9IfVaH7hEZM8q<6x>s!6;Cf$kAv4rj`&}m(INDjHgx)5(qcCqGqC@G z>6;lSvyQvxyM2CMxlS&YJ}r@8VuFPtSH2^ZIF!6ScuDrnC8wTva&^dNLz?b*HR*x(CK82S&BJXrZz^j;PaI^g zD^1npcG#jE^3lYp4y#ZfHs1)brq^vzH=EqpK_)oYmHuL8&l=8Mp|e#T!<&I>_N6;qBHkzFbokD18*w|9Z6?pZ1#cRl)fbJaBi~ufSN(|kt3U$9#8AQu2}D>7CnVnIFn~{bD6Lh<33N1 z*S5VZtU7yIsIX6^#0RR7vguDV!iw2YMR{(epkMwxcQL_Lm(>)2c4cB*|Ba&pR6@88 zfdUqbBl8A4ei-})__QBmZW51eZ@bcVsRe6$w#?2Z$4@^4>9Wn)=DAO7k#ul-~#&u;HC|vkyKK`yruh(GS=20L2 zf;Mk%Ox2{=N3p#e+_N0>dsHhEz(zWU-ii3qNAczgNz1hZD$9QkM$^3Gkzn}jxn9$P zB`3vOU&Eu)Kf6CSG?2!9&yv3u-Z%0;pLWC&Y^PXlMz?*2c&M#i91)#}60tO%#|Iz| z_if+zW$Mqn=vQv}4{>LTo4L!&*R`tby^t7AyV|1NHk-6_9Gb@35_lhGzOVOHoKMH- z4{GB}i_H~6DoZh^+KM2Ob+LsWY4gq4TGH{vag1+cHg?VKTO}Pts=Mdxuto2zrCD=R z>^Iio{um-`(h=4qoh`j^=VBm*s@XwcfLaIZ#1RH=5BZqwt%L?PhQ-JEM6}^0s+Ngj zY#=7zg2I&!Jw=^n?)cBx=WFs&72JVneqZ|{eC7d(zfIlf5ilKf9KgDxc`h)SFcyU( zZATu>=UiY%SH)jEH?3CxN}odO*2VM9#edDp(L0(Z&a-C!ZS3uJjQ|w9ih$n!J3Acc zjPh$Da%BmeYcr5Yey##k4uS`7ka^!t@|NlB2j$r_=nOiiQfjU)T)apf4}zzD1LQzl zXO3;ZSx@tPZ#Y}*5;o{;`gx(9ivj>z%8pEsj>SS&blKsCF=;v;FEVu%AM}usrtL`T zqKUQUN}0soA*TG@O`Wh}Zh6nyQ=>4ZHFxxw1Zccpya&Cu1%E=+=x~Kck$wzh(;nv{ zoF)_R(+u|o?!xHTgYs`#4y- z{YIrc&5|~(w~hK!AogO zG|2@lNniYQFs$<6x}{qCSouT79>frII;&yce_~n{$OL8CQTnQfz6ui$MM&(ZdbVjY zv`CuTztG^leWMg5vfG z(R4w84nc?er97+lHy!qV6?+yVn$2~{*vnK_#mQU?R*EWcCGq=UDu^aVJIeGxrI4PU zMn@a-MPz}g)}n*_ z60r{-z^FQM=WhH!lB%G*T@f-g0fm2*kMPJKYa{lo0v(b z;DeI}@C}mfukwhg&fuR9yv0t+cEC$@HZ6Gf_3gL0wEsm{v_WSurHy|X6sUl?@ck8w-Q(GSnie0zE~$3-Nhz6tJIfn`(uP-niW@i%gNiYOT6Q# z66YmoA84FN3|_h_O@7TtW85)dfYo%PbC1d#SlmIEwlM-7SkTJkP;z+ud>N&kJ=V_GP$F?lkV%LSc)3cYL>HdBXQXvJ$TCiN640 z1FrV#*f1cZRtN6nofOl%-6L1KuNC+ivE_EQN$Q-HFmEvt_|M4_g=^FbqWnM41(f})KZu~# zPnS$yiyN-0yX7_%6YUvolgN5n`P;?$hava1JL33Dd|0@A_2%k_18c}StbglSj>+)y zesfF8_3<++B21{K1)_+a%M}KBoK#?oi}9qeT?u33?(A~wxxcjkqZhe_+~VxvKUec8 zMX$(c({ig0=e?Yc8y^#MNT}+Wb%-l{{F9H!%4yc2Vv=}n0_FWlM|ap*b}laF+FWI+ zXysP#Y?X__$Vr|TI^m5zf<@Xj5*LemK1%43=rI!}V~6sPtZl73NhqQWvks%rA7B0o zG7Mj;xVD+1?cZ<|zG?1fzH+G77ii$8q-rm_}jg%rheN!-Sk<}maTq z9^q{(!@Hrr!H+GHqdyK@xL{cFm&kV32xk!Yo%3aUiuS3%tmf*Y2fA&&*g^8;1RtgT zw{jsv&J&XFKfrCW60Y7nIHBQNx4&ZRVEI;*x{=fNw|QH4G6(3e2Qj1vuPvY~kis{(P zbCc!&_=ui70FMi4dW9GeZ#j`=`3**L?~6|VRx6h~9-=3BfRaQ|?0?MD)sS1(5mjjL zRAMjd7mB2}m@e+jVRe&pEE)@2(P@=gfUyKLTwt;3VRv(@b*c&*gI6?$$J1l9hLa;jg@*F9Hu2?dy#nI z7xqbt*Y#2*gV-Ei2bteGn%j)-9MbX3kp&Mc79q*Y>Rx|ImVBsy*BhS{+7yJKefyeE z3+K;7sEJaOt;7@Suu})(jc6=hOYi860cXUkfPTu8Pi<*M{l~1>%xFJ%))XRq*0k7a z>Yf%GAei;uaER~Bh`|o8*0CUACvqbR6%LS9oyzd+Dr9%a+B?bD!4@geR zj@sL)<8T$ZQgGRW)kw|i&Yap#xkTSaDf{__nUl!sdrO9|x)bNKH`|JWO!AJ9Z1vTH zKF-mH!E;2r&w;Ea@IL}a_QX`f`P3$O*R&+~wn_HjLY0P8khuo<8APvKZzyLkJc*_L zw%T>=Ky{$@t&^&Q+f3Pe?{F&SKsUMu`oGj)fypNuvk~y)N8^c>;?bu|$qK31zcw^^ z%Ec9^zzdn^lN3uV{8(wo$Gagvk>`eqm8S{F?_pK^QuM7|h;M?s+R*^FjK$$e?&ymKwI?5yVh zL7SG-5oa#*eD@YLKWg-`#c2Nf@bAx?@7Nfm8jA{5JOAZ)y#B02VMKyw*kFyrk%05O z(R=gxOj0Pm(J&&nv=<6 zX}6>X`bCzwL1K1edD=%yoSU+I(>yD<`~Mk)d3SP=!C zz6?unZ4p+kS-@Ssb^6X{kfyJ6QtJLEG#vB6bU+d#M6%jVAmJs zgrETF?B7p{RECnc;vw^nKF3q?(g|;66tlwN);7^u`X1)Ubl62 z>=$UI0T!emVxlBq%g+7ejLXzOIvskP%u8x=N)q8|P_xY0G?c~0VPCz}uV(*ViE}C7 zhSIzBEH~q%2fy@}C4kymdCjJ6OZuB$JHTGt+7*!Lw!-^lexMz3khT91+SM|@SwZG4 zhru^Jj07wopSL##Sus*c z&W>Z)q7Pd*mD~gm{{-@X8Uz`wmS-SDPvcI$Arr?r!OQ2)byxkWdH8PeR%+@6EjD;i zEuoF$*|A_MAX;7F;gx0*3DDqvYkM&6RSyO!rp6<_MBc(7T?Ms{mCny0Om&+O=R)gyen zONVTpE42ybC4rn(2+C5#-LXo0U_Jw+;Mogw6vt0knuH(tIDBz;yfhndVXN`UCOX7i zw7@@GX%|0nk5T#n8+;l)0!%@0SqqSAw*`r&EDgdPvf^o~qa%cv<#7GYzu7Ys9c+u< zzN*u4)+KcFgsd0bzbO948s@2|E+V2NAe;M%fZ`@e_v1e(^MCE?sBDn5cI7%uh~ohA zLr-l*DNgtgNeQc^)HWSRvgO!;8$HSi1I>-U{Xc}N{S27oyo+Nfy7(>a+?~(oQ@odd z&z?~zT?0D+uV}Crtom7eXrml8)8gmRO!}xQJG6I*WeMA7#M3Q*7wh?oZ+1>TkP!&b z^Rn2B-`g{wQ{5fmQ0#f{naw_4$PpdvT&TjG)3Am1g?q_a!Wc|cmJsG)asgG7-`2^U zCh~m_q-ik?>dweD=+MLF?8JA-qLFCaQ5g~v|CfI#)!EX*Zgch!CuCfHGHr!wx zXELM^8?c-N5|4(62U0Gi^aO-r<(fl($rT0WA2u^su+o(;Bk{ zQUmi%^$<-1@Ua#~e-Jf=5>f@gy)tZol-1DlkOVs&(bb{Pq=_PsS^2yN{sBm#s#nH+VaK0si4cY%8@3QkatquyDoqgT{DD7+XA=ILq{d3#<}-9F z5JQN&j09=j>sVQrWG)zq+!V@6Z4mpouk3t!736u~q%CE5+JEyks8lY(jZ^HRz zMV)_IS??3tEkMRc{W&JzF{&@GX-eVq_!do^q7zQcy=a)-3b0j$O!8d*(v4kA+yUa! z6B%JgY&U0`1a45`&;z0H{~wNO*_rt68;3C&-g^3aZM4dvN%2g*c+1@7?U%Y}6b~ue zgELy{XUG0rtIuhZQk12!>dC0|^`ldp$0tSW?@;5)?nRnIC2Xbrg zu%Ag}hQ=p_a9eBt1Lp(ZJv9!Zp#1UMsx>I*P};yV<*&6N*plEpja_~4gFpe63Neqk zq)rV4tB8-7!;G_Y&{?mMgYlBavphX zK)QKafYx_nSd1KfMWt5EPwT5@hJ@(h=GSX0^BxlG2#-^j;uG2=(xWGS-2cADNNcr( zryE-i?4bK`{RJl4)hmQyub%8-O~P7oi@`Nyg2cS`FjNT3Q9)>y;*F5fQ}7Wd!#U=S zb7Y0Y`>1N))xwYk-Ciy$B@O{HpUIGW0edHbzwk*QQOwO1Wl1w>tQuXQWt?T-I(0?J-Kg=mjjuQcCW+{9?IZ)wE~>O2si(!6q}aVykj zD%hHIcPVWBPjpp4*VM^-ooGE|S(@B+#W`U#aj6t_BQLwc9e++ni05V*fdIsKpPp>6 zMyzjrcK0^ZUvm~m*1OPd%Vg*L?AJVzeJ-|~QR>M=kIJ=++B^B9wI!btevrJNMsX zN5!8dJ-a!se`UF2zrXIM5TNM42^N2K_Vp5XF$pqU+pp$Ku4~pbic_H;o6<~+)7d4? zJ*oRvWlGWfn=&(cXj9bRd|fCcfX=M|Y-;DMtU!;DA-4{1rO@Qcb5c@H6Nhy!@5jtl z=WHKU+60u;A9IHWvy0tt^haN^i|~BFDI^nF=`+rc&{O;DS5& z5E4D!A;++7D8tG*!j%M?1*qlCBNbJ+?heA$(I?{dl?> zo2Me8fk$`{AsZSCx*OJ!yG#7;e|8_vYS>UVjtVM$g$F3o+ku_mdR7{aaO1?TF73V* zTDM6yUc%%5wyvr(ZtMB*tvjY{KO)(}zj6QIOqmiCicYSQluT$#@A=#NuMPm@#%py; zN$ioOI=q|vM2e?zRTFEMot-4Dd#-5q&EuioOz=dk?%SbRhlA!15tgGf4`pZN7G>z6 zU)nL&(B;B*ZJ}%pT1a}2md-m@$a)O$+*qZSri}T*o1iTHBw(aSkALwbL2{v{+#Eup zG3++~B7^OK<5YOAPE}c!th?r?0J`kD=?hl#BDUuml2Zz{$MQz!L0B%gUXSg#h1H<3 zx-;Sl+FI|0vvRv@Vv}2!d)MQ<&kY`g9$S*!c;LnMi$R*XV^7|qrBaXQ>C9#y##zX` z7jM>GvX=lm_&pBA%5F>Qu)BpUH{aW{6$J2fsTcS^d+-JN?U;ESY{IerEPO1KiYT}Tqoq#{J3jg&68c!ek7q|)Hx_MIc zqkP;7)e3Uq(fo)3_h{>4^A&0hrX{%^JQo6UR^i%i=)dO$eqinKzReh4NxNylbk>za z>2j~7JqUHBoB04@doba>%9JJnee?31Om5MsrMJS_M(#7?ZH4uVA5`+$$%;0QBM&dk zvuy{Jq3AciUBqHqCS-U*XA+dt__IxHT{_uo6H2`71#J(?-YKk*E-#`lA(Tng55#cL z;>!JY{hQm3T`2@0yS9L%oqU@>p9Yi)$}3iV`~I%3pq5W`Qp9Gx3-Iyb9t%6yb&3fYo~Y+imhMD3jLnY;(ore$`B{-ZWv< zxs{(NlIR!Tt2NaE-xPMB{cN|O_$81V4JLn9Vlk%~8>;n$$rhf`g$A#b*)(ds#(Xh1 z&qW^f_Qqv7cP%vMM13d#=raBeND9a&xE3C0>yyWqNGa*~*g+5I0&n^!ZAyWHXW&~* zr3vA=Zcox31()M2e$1tjW@f7z%H22(P5R%IxE*)M70w`iJmLGSe(EN8n!mF7Z+umOX~>&!-Qs^9Wt$p4 z#2L8UEP5-%ZZvCA6B7481`M01!A-`OAu4U7V(10Tm$-vA?(lA?#k)JVvFF?{$t6LK zK0aK^BBi$-S=quItU2za3;r{snB=4V-_lbU@(&l;KVcbrcGeL?*K5q@ zc=tGmYlGkPsx-dj<36`}xMQV6XuMSJ)65b2e!@Kj(Ae68_YxU~HIsb&@CLesn(eS-@X9wIuWy^B z+oa$Ua9SeCwN^L6t4%kr8tn0=lkmSES-zUFO%E7k7a6uc@A~qK3cjx*U~KI%@k)wb;@urKA@nvBZmbs6r@4 zPaN(wo)>N)ZgHS3KS=-f9_`?6Gqk?oe!oZ_5GZ`JrX?duLRh<6Vy=VZJ+}x%ahql% z0!mD{Q=_0Tda*vo&iLzD6#`qb-q7C}%wxr8(XAlzOX0@_>2ZsUGl_AIU)UvYTjB5< z+0HH19aF?#o)e{ep$~m*ml0hS-HoJHw!O3BJ`?&Q9vL;W<@WE`$9{k7g3q;DW+VN; z=6`DtJm`$Hz4Hlw%2P9Bbv=R{jSu6LUNL&FOm@l=Nwiio9kMDv8@ry@0G&9$55D}j ze`M;93TXxrf zEKuL7dZhXdHYIa`_rih}qUjZeyfPWpE<(2)3zDyNnYn&X^HjOd2&e-oK0Q_RW)F6C z@1NgjH>=lc>C0fT?E~xNXR0qx1|+bcO!pbCJQv#~9h8>sk~QiAAJ@X(y-d#oP0b!k zHXqXqjbBU)y^>r8X4~=w`dCj1HQ_7zv+>FPmgF@8|0LeOT5U&`C7FOl@V9LPa^*-EcwUzHJ&xvU3<%D%UOcg{rrsW3%po`l@-2{U|opWxov zYqu-UAF0fG$sa{3ndt}DR~OOm--Bm<{q2dr2&Y_%`h-*eEh1w9M8ChZ|F&AhFT2~W zsiyXlq946*{=)&+q++Wb8jTdfm)L4EXhaB($CV?H*Tb>qgZmuXn<2EFBqORM#3Q-) ze&iE&*F!`;tgw$M-v|K}pcl+f8t+{!zQI_wUgS-I#rrJzff$9pHff^6i%;kldY>A+ zB{Vp`JY2)Cgy{atYcn`*OXb=mc>g-TlEe}N4|K9|ZpK1Cn8iUJYjp_36!x@k%HV+j zlCsgrMPSNC8l0WBXKEJ0NSfAul0R(GqdPF*TE*lku-hOAq)z)kHk(_@Iwq5l{G^C_ZKLUt82RZ@;-DBi;r^qc{Y(-8b@GAc|dQ6IV zW2(cgh>myZFAq++SNARudp?igkNe%*_KYF*G^GKxVCwEb@Yof9?K=@-m9I0A80mHQ zbH-r@D})VYlYVycF=^{gZjjini$i|sQblTErMj-(8p;S82&? zCWD%RZwXk5 z`Kl_Q&9AUYY5UV|P#rE(tlRsUecJ&OIo25Nl2dCGtxQf#)v_1XJAr*#;oQs@J3ed^ zjo>b5A74wP!_w|2-Bb}jofpO@fXISqT1n^NhOHyIqxPDU)ydZM-pV1f=^%%*T?!B$ z;+kW`j1UuO5ogh|)OMX*_hCchwbj)q!)A%NqtV+ONKi$`_wzCWi=%2$3FM$Y0 zoT_+Kdmc4c|MYD1Y*#wYyo2~R7GU|Qr0dzq{mY1FWY_ju3~p2 z4HbJYbfv-`j<>K$dfhv$>aik+JJOfi zamnLic*7z7?zqU*J2+Or!b7TMG{fUcbPNS0vxLBvj zeqR7enVvU6C|Sk1EvbGE`B}>T;FHYAo!i|6Dks2M8@oI=(Pk&pv!I=KNcGbHbJ+0{ zAIgHzYuCkci}^42Io3PhE17RQQaQvTRc75Y6ee4IIlY?**W)L1IlPdi(hhu3G8o<8 z_``*n@g`qrZ{Ty^Ky6G0(^&i0{L|!-K7^D1N$X$BUv4&}nE{+5`HBUFV`G$PYKhVZ zY@3L;(GM0#0q~iMQ)XK#YEyC17!81nMM7_N8#Oge9_YT)k4h^4D8qFkemEr$mmm)> z9}gVOm_Cp1RV7>=hC3-77iY6nmf|D3YX1(~)*7AVMs}5>f`wH4x@B0pX`W zrGJm;oEY{SZzD9`s{})hviRH71Fcp8X1rD6T$H>n-+DgqO)O_Vpt;L z(cb@#m{k{N=Q^?%asnGe$bD91&H5Buft0Vk9Q? z=y0x9}teW7>S~k8whw>xKFw_8NX#O3(Hm6 z(ji23HH;RP4M?--o_*n~oXz<7=N}AF{GiO_ia@ zAE&)w;Jt17WbBE_%qMa?bJ}m(2~rSiN#Qp)MFr1c7hQ_pr-vD;=w`FM4$?^eA=G>0 zmJ)ghwBG)P)=zzHM?!ClAx)dUyKGx4fk!Fq?6^=qDO-hlOT*awro}m75RT24NCv>d z!mBRCP-$8DT_9z7T256si%u6n?lzEJpE~9%go%$@J_=UA){U^IGzPq*&WwKM%p64J zK_d}OzyHX(TnW&#AuO3M0KU7mWZ|sR!mC0i7wLfV+<(LYfRIT1$x`t zyzo(WT7GIal%o&R90i0rR-JRRKnW9>gt}1&SORFpcojTUU~cd1zUBkqU|EPs9ycQW zvyK86a2+;1kuxN~fn$tURkqP}$HaaA_sx<0@Lbf>CjJhVkY9Zav^aOerEgLjdE1m; zH2jeWxOM?wc!Zn+!&;dt&+M`@!yMU6v;|6VU%8G!1scsiFH6@S=aJ7&{&c|I1AEh(CEd%F9kAr;Jn$lRi z=uLAs*(jN#j!_it{1&cK$88*ZQhh6Dezx6?1yTZUE1LxW+Eq zk8Qu2K7!3G_}^pmM~v@Jw*OwdMlz7j7>!faYq`-ctsG>f7G7Ab?}?zpKPYZM96b-S z|8>AfQ1j6Hv2ZQvsikpda%pq`sDB6lcK(N4@K1;J(~qn9H$pS$7kC$#7cA=L67!u_eq0bIsiu{_oWZ(9*ufZ)U&gTV$-}#r39oqMa%^)v zy}~}u4kP~<)%1Ww!NJt_ttQSHFvkR=zW3_Y!z}te3T}9K9oq$481sr|tIR&ZDYEkB zDLEK!JfJ2>Yw=BCB;F`73Zf^OO8+_`pSY!JV@53(@@yJuI8*?d?(@#(%48 zvmC3B)LZd&H`5ezkq^I?f)cE(IxIbwtgXHdee|0kh(Xcd=io8cG=)j~#JofU|M>^B z4<>`y+lSmA7GJ~(jmI{FvH!`*gh4WQWsF}o@bP4WI>`}=_>UFEsr5{n-vt&f>qS%bD zTtoxDbZO2p@)%jS>E!s51+i~ceV;a=l%?KHInC`uy_Mt|p<;mBOA0;@dCBqW#ysBz zO9L@WM)h}Rj?zcl?1kV^SKA#Q*PN6aTX%jtQ6OS8zitiT2Wo{9&l_Zyo4>y9JHc!d z*!F0WeJ{03gp4S6ZqxQK z9XORqH|a5@sh77^VQ@$%lHULBgG~Of#?zZu&&jb0lWC-lyfmP4mGqQDY@UHSCPT}% zQZ&L`5Fs@6bV~N&>kj6E)R~KSTPsfP3G|OZ=Oc*Kny;^SvQhHR(j3eI3X{K%eR0Z@ z0gJNQifZL?ir#+fb_&Q^8gwK%S1x>_J;BJ#PB$i`+={&txi`I33R|waR4l_od^haW z*rwhqPK2IUK)2mf!tNp7s7Uzm%(yd_rIsttVpJjiB_xhLi>@P;$Gd0Q{~8t@VJXAl4%oXDjX}W;J9_p!j5aTKmw^gS+->z~hsfBFA7m&0x2hL;T4u!)%t5 zM7_gwTaSB|IJY{_Nd4IxIpNA?yJ#K``RzN1vS+b zy#CS+F4U}z#lbIKND=g&ucGSY&+Y^P%mJivB0_T6s(Nght#Nqm`?5qLrD``zL!8fz zUp575nE9=p@Zxq^Rvc{fTk7!?;<0@Cb9~Ccu?Q}`z5)BrEO<}8noZ3i^eHG^%x~+& zbhwz9#_y+=^i&+&bQr{R)gnbF@%(8Ff%80Xdo4-gQc~7C3&x<+XZy1+oF8S*v^W}> zk($!PM$u-|dvQXFNZCJHB^DTNSmphOPK`=pZ)wc{@=`mBLXq=a8~JBWx7#I3pql{Z0d{@A zrjJ`O5Y6zWy$(X;;?))z&-w4}0*NEv^EDL$;3bri|l3Ry9dqp?zKm)Tf$0gTPh^Lks286tv^Bg*d|U!l8gWgd1u zHQ`1>vbUa{_;G`9MR&T%=2u%Q04=xdH%7Wx{7#8cfj6y&HjE{WPwFr36=ce&87=ZO z({S~F5aR65;q3bgir4X+-y3n_@hOSreiCq>gL9tqFAGY0Uuv_u9+QgV{u0k#P2F_Q z6HJ<%5B>Dnc1!fViS!G*&`onNQxs+&hPDhQ#ST>Ab*&=5&Ux!xD4mJ~ER0PEW4 zCWlHTUuIl>i(82c<)1t`0scw%DpRyH@=GC1b7Dkb5iTe92xVqpkQ#D1W&BF*6$HVd zF_xXc75*xpQ{qOp&XG#x8)c%*9OuUfcC7$p&yfsT6?=9D_No78c5`&ru}3+%^YGyk zDBx)T!dHDeGLTohkuNEVOQ(4QR;K*LH1WnFlKnaEJy?^woWQtOe&pY;puTVTDtZri z8pT96`No~~v^p8Nc&P=Yhgb%^w`I)xhW%h48(bjxN&q^fTrBtrVYGnD9KcbzXov=tG z21L{i^JeJL(z@DPOqq1}-k@z87U7pVT zeOL8vWNf!^9c=W6DR!*yY4w*$iF2dNhp43``9X&m3o2NL;Qa4TtVDI@D zQEji5;=3&eJ>IhR+cL{V#S{Q$j-G!n738Jchzv%B@3R=wfjN@V?dlO}wOVZgacy$! zBY@^eiD+zOqBDKVb$iI~Q~g?tg$MIZnH`wB2&Hk(h72Bz#+!I9b7WcC+pQuPPif^s zV5+>tVemOz2)M1G$V zyL$v1djgo}aPwSj_MOwg1gF36dQR;Gzc64?CI#2(XnbvvWfie^S>svs#W zqjS3z5*x`>Xquvv-AIbD?r@(p&}L^PoY{v;w&IV)60(3>AqpP|57{MgcR!J2w5Ri$ z2_Dn-dt<_fHc&oDTT!zDQ6WD6#UNm-@JG&cL9C*)L2Bgja2X5)lS1dpxYCS!ngr8@5OKPbt~q(kRXhI7gS%0opTz#+@sgAQ)`Q8JfqqsQ`+fGWz` z7+iNq9la=3eM(EMQWTBkwLGR8DqKt{Tm+Sj`m{2ycVr!R_+bB$B+CemUN^3L7M|VE zbye&e{kz=Bf5I&-9e0}P`7&B!c<=Jca8-F2r$#?>Rbe*|@l%K$T;6z=hG3p%8~V0f zs*2U-X4!iRuKd|zbU!i|?jpGNe9vt`aqq8FKK;*5K3(H&$|mk3tv|;MueZ@Pmlt!X#V%FVzbaWj*o4g*9?C-rHa3M#bWHH zhs!zR+z2*1pSkJqsONz!Nzy zZtPr7Q{6p(S*=RA5Pza5mJ;@Gmh+$VAgF3hS_e7*^zeDt;#5CA(X?wE6Zmmq_8Ig2 zuBZh{%6rXR#rgNt@SjNmZ`Dc{eI{Jri613m`j3rL5HG=`$`l4SoRW1d zK3}+t$}!D80K<7C5yNYnDOO=u>g#BVWGYaKGX{pStcMt};!rH`<&+cIt-HI^@~N+4 z`t-bx#k4+=rw|0TUIY$46jD4G*_by1vPQ7CKSImH1NJ``B)r}hPJM7^G$tUk=|j_O z*lS2?hCH+th50PldB=wEZFn);!RI{ezBf9c@V88a(J*M?+;=x=z5fW;prLR+YPpMF zv$xHENN6(+G{U0guY47S$5+Cf+r2aJ;kot2;i{i&I+wM>prVeq9AD0(r#U_LZ00T9 zh8|^u(hJM&e@cC}kHeXNNOj8=TXYadFM!t9*I!H5E2ZX7PrKrC_wa31c|Vc%pLZ_m zJ?s4{5ytNtOnE11imSYLA?yyhGhDN&S(11=+a>LjElP_cVkUcE!^f;xJMdTjZ|$owD5a_Dr)^fad46@d zE(-5R!}W1wVMK(Kf;MdJ?s+=80&;mB>y8#NLJ~E6ELp+FQHRPB=E{8=9A>*a$5mQy zrIaxz3$E*)WQq2UISa>u|gVL zE*r%4+BEG?N8f9SI-hWsNk6WQP>Ez2TI(^*CMRLEWdSmb@(EJx+i&awMcc*Ul zF;!|~lf4oCFmL;{Z7y&ED{eb^D%dF4lqtIB{=*5ww5rehL@f~n(iz{%B;H3w1P)eu zDE$SKDKjioj4s$$cz<&|oo#-{V4}7dJ5`J75CzVg`0edtVmEV%%?s_GYG+3k;@<;` z1;4j>NiBan^mKrDw&!ag6qBnUG7#14TcSR9f+#!~O+Z2NmusHN8^UCFIcf`8NNFG2Ct5AH>quu=3n+Ow9q-3 z4Eq-{*ks}|k6*xYFkR6GOYt?H@XpB2REsgq}{`_1oSHDf0+CGY`QNNy=)&5;37tuqnA$3?@i>WZCtNE8GqpQ zAo{cMX9nSDF8ye30dxJSPkQz?4bkQaB5!`*c55xX^_46~_nXvs%hNXLkn(|){J z6m3y^1+Oj_EwR*fOamzwzyelI^gjguooWC`5XM9KLuS<@r|LL*nZ6;X^nqTAFAQXkKq znH9)+=C4yeEP-W(X7Y>7!GlkmwbZgk#^#LRKR{l zp2cEFt{wdvblHbCGBJ`7yEzggqFtq*dg_}YX)4uX%Ooc6^>7ddoyBoq7qXZP zuZ^@**wbW0Z^QFOaI0EZ0}2wFj{=4YEr<(zd4fa>5zNy&uf8Nb#3&wa-}sELF`T-O zJ$aVj``u%~(xJvfYS3K=7T@u**Z_YYZvpLKPi^C7#iX0o`2?VtnO({9K&{bbJgkrOb@oBd-O{rz`l+=~tyRy47>5%j?rn&=PNy`?r{yLG zC57aqo=)H=m0ZMg(%D@GuXxC(Y2GGW;AgX5$JI~I4;&l}9lsmA-}wf?f3MkCvM%ya z8l`ER{f2w9-O+sLiFPx|R6(N^Aw^d{Kt(Hd(_WQ*6EfMAZ;Jg}@p9AD|LpB;D-Aw50*Pq2olEy01bjyXo;Vf|LMk+~#SyrNV-7&E4Oz zX90?wwf;;UVoIsm2&CQ@#so3E>p5E70BsCgP7qXtUiB}>b~r`kbgp| zR7t+pB{wC&wz`4;PS>>3aI4ruej;6G+TP-ZeZCk5oozEqNO3zPyzTJFsjOQuqTu)0 zbuqv)TSk8sZciXSZngRn7~85k(0IsocKgU*SGmp#4*u{IrBpYz1f8Rj%fdz+Qk_vM z0IH;#pMGP6@>6!1**2uqR7?jcLcA;|%0)GopDf=v)pa@KA3kKPoQmj#2RMgLJLqE= zvZcL^{GiqM&LyUkEkYozY_0N{UzI(dEu3$6zr`~+Kl`v4w=?Uxp%f{t@_VV-(KC!<v z^+MG*sk;KFf(4tJUs`Ah)$8XXND% zzQv)i>5OvFu#NLxJ@ggK5DL&+hmO)9Fg$-9@t^!+aH+AUadNsDnJ*t#9OD= z{GOvq+YqiqL07x-gV=DU)>wy|+YO4@UGE%!0qOG<{X`C{9^8q&jsp9@81sJIP_vxb``rJ^#J9xC$(V zAMvrnQQ5g8erd^RJ$Qgh(Q4>4h+Tztg~B^JeZlOQ5=tEy zC9j_D@s-;xIpIl&HQa@QCAwdoDeFP|I=N5fW$7NTqtBw-m*ahYxL8B5q@cH8wT2Q| zhrwbDOohYpFQW6RAHiFd-q{n<|F1L0m->`pD;FhGXDancapI}`k+NiZ8?C5u*mI^i zS_lAZb*551yj1goal^h>moF3C8`Nu_rpR$jJvo9@%&hNzSKXOy+q2wwUlFIAwGD;a zD%-OYa-dH&&HMja9wxQ~aA1{K@*q=wY3E!yE_|W6pc*|EQ*Ln8n%d85n(5w74Q_ui zYYOp4$<_JvHRd7T@ID+_uHk!(;~~pz`o?NOFHa_9X189Q#3C;T!jSvm$i5NPg&NpN z^F-@P3CU(wortUnak=Jyc2cbS5VFTo3Y1>f^Iob04ac`Xm2JuCD!Ypai| zGJnuOh~Vk|vLXkUPr;rh;BqJr$XR&1Z%q+D;p8_584%m~l9il=_+o-#?+-OQFQov93-7dpRb5l~M!A0wtT0-dVt1$kXoau2sTS zQxF-AhHC97moAPfIb6}lp@0JKQ4UFPIDQqHgDjRjRef}HwzItff{Sm+xp9FQIw#9O zqcX|%NwucLQpWyB-;FC%_V`kzN&|!e9%gztXZdsGcC*Ip+if#LuZCwM*oYO%Q1>t% z7O;AsJ8bA;@1>FgmnfN@>vq+|GMy*Y!tI1+#&IHGHxq`EtfOCIfJ}jVJE@cFBcjkE zBc5ZB>{`tgy-uo{*|2@S7@V`jTb|>n5rjsK`vPrV^Z5o4BYdQEb}6!-(<(M_P$h{A zm0)jR+e$udHuaF*5O-ZPI=b%5xFGtsvfqX)r1Dih828EF+zxH6vH8=)mXfmSd%Sk# zinZEQwsJ0(e=l2gie@q4NO-h&4#bPEX-*>st>@%ryDe@^dX|xy@1jk=qOtdeda& zDiy{ikSdj7k0g0ZJ$LKP{PJ5?^xPvQ zJvmio$f%ueX@T_X!id%1otie0)xQ;EGdYF8z`iAj<)WIrlT&E!Vp7B-oFsIY59w7{Z<2;p_|ZTV zur*VjeNAkP?b`G7&-B0b3a?3JaJ{Dc%5cr(tEsVZ%x%}dF<)qJTMcm2Nq$jZD=egV z5hto=`XuTay+%gCDd~s^%K!5c+FnsV&PL~${D2;xwvPef|6X3_G332DDsb0IP95iW10#mIT$L`sTVS%SqH`Kej+k1 zKEKa&(>8W;$GF+noOqQTYMfYcO{AJmKM%h5AQiZF^-BJI$)(1K%oyR5^^(h8=VScpCHmGWMBFF z9e8^ICsj@g@XwQQZnLRY?gRiXrXLP2pk1Q#0%*ctb-FBv!f90_02k`#x4{u#`s|7o z%^dxoz+A6FHLRqCt!(cG2hE3`H>P?hmwAc|mOoK4HX=4r|FI8YksFiOn+mKphBeL9 zn-gV_%WjUD0xumDV1r*))o-4Xd9uzR;<)e+6ShDyR}ldf@sH*KNihIpAmzyHg<+uy z5aXdg2P4p4X`0bsl*9wIZ;j#i6}-Jh%{WtRxW~+;UkS9Pz4n-j@Xl3MtaqADG4dO1 z(%81#6mRHld^DRQN><$5kl%Tk5sDOE|4fkcYywXS^t!(pU(&vt)z<}u1sq>)AXRT zQ<@kfnZYXila`mu>gHs-Q%+7Zv^n6z7k!<-P za0nOB)R%vG^Nz^v^d<^#2G(h3c7Sa2`Pmtl=j0ltCGVF3#zVg`M(8f z12n1KW~gg(WU$Pu$#Z3k#CNXFAY0uKZNfgsA?24E?KWGq8>KOwE^9_DRFd1??jh3Z zo`sOfams@iSV}BLi@l%2gG%YQID(t!(aa&x2Hg2nMr`p zQ>FYeglg=>Wd?G!(E;C4JC#L$ys{k((}U_!7fuo0kg&l7L02GuTRo*mnh}_bk!Bd~ zv(GR^0AAgCJ~3+*8kmjUYCz|_X3EuZlF(e>e5aSC8s8_il6>-0jJDIAJq4QSAT~H# z>!L8K6p=Jtr)KwiBvjypn;JO-JQLf!j-we0jF#W*67-B|4Kx{n`vu)U0}PRBj$F-t zt>6rEYG<`}OYU?rT%E0KwN=!M@Nl0eZ-JDKlPPd9Ay9cxA==?WybN7pVzFlEFOn3V!^fl9vWwhdP96U9oq&lnQ0!SC{9~|Ix zdl_vrssCDatKF$cqxu6f#t}rcJjoNNw1bl+veR3X&ee- zo`8+l{#~gu=Lf>X{I{$-?Ss9wFKl+uzm7fvXTai~X7m~-;Ho|U>gJ*NM+i*xNJxvc z7R$UM8tXy@DRs}YP)c(BQGXNz6nC*G`STdv9hSa}atMeC)2tiMmN1J(vv(^WCUUAx zZpb)3=Q$D$dVf+(S>Nqb#};;*XwwVkv*zhhD9;?-D0k**;S~J>F$v_58UN^q9h+ZC zmi=0X#ZELEM#GdCl(wo+d`f*SOe5roC{DUX?F6KknTjMABemc9qBpr-w^8{l2hxh} zh+q{NPyD-I+tSF4pq+zT3;5esET`rgFT(=q6PpPC6?e^N+D~P-xvV2(Uq& zbcfB0u)eHR1GK{*`XmGjq8^-)h0)v}m;Z8=SZ^7PgVXJQ=sT5zs8K-gd**u=s!YRj zU4OM&6kW7+?}Y>*55FDnJO{y?Beo9oebnZtN|ZuL9a-3snFGkWm9x-XNn6-UkFjZ+ z4#}ZxC&iKMUCsh*!n<3fNuz(n8(`zUPszgh)Zu$OJKw^S{BB8zPQh%MA=Dyyy=1X@ z^L8-1+JiCgWtJ5{sH=$Zql`s$J&>G`2jI0HX2>vzzo>Fy|H8FO-g32b+9vPdi|MFK z4raoslha=Cfk>aAk^5zu7}yTNBCimS4XHppLtVc@5hWlqOBWY2&uHq8!#^*4b&7Ty z{nu&*x2|jkx=PATb`goW4d&d|kVtUK4 z$mO%hux!Rugo(UuM!6$T`GEXCJmYMf`|82vD?_H;Z{YWXvi&(TVoSiC8=wzE))FR~ z{5HC;Q^Ocj*|%iyiRPPj=Y>BvBdEuf>sm+;zj?00ZV;1iFL^gOzEf!}#GW7K=>QGU z|1LpsHSSAizohq(e-Oq(dlA__5#?Ed&(F0;nQ=o35{K1k?Lpu$Vzf?nvJ1oVhXY?n zeVeHEpsI1HUa;B)e|E&_f$gp_w_4JEUQyHT11%=!AT|+uDSCbLcqc? z-{=b-e6BW}R>g??#u`a16RF9+BYGx69R7a(0}*AlCX~8<7~3q|v~b@kd+YgmYeJ)8 zj0{TCM^dMMZM?o`asIpBBCmw}P{CaB$t+ZFrS=m>durpoi&zAR^|EV>gp?j6VsV|C zDFID;z42;Fsq)0g!O<}KzLMkWO`K%XbNy2>kgv*-=dpf7U1pze!AIYlzY|=FR}L;y z!-rmeq21xz{W6mceD^ghY{g=t_Pg3!dVN4;{&}Itu=3!14#2H9s3~b}K7pRO`jCY+C@cQt!97GAEG5hWpIr zP19Bs)u%Cm`O>8 z5a~ZEnnViArb{!w60*1bWqL$aN9gNsFOo?YNDjcf$z4sJ$kF9e(A}n|czm}&$CZhO z%0x2$+Wfy;-=w$_D9BZX?|=TJJ4HK0?s8kJsPEO(MHjAi(hbxHL@S>-cG`MdEQf9f z5C&QY3m(3rvyEA~QbuT$qK{5g$YiN{3%K$a7NSp`1oVuTcILj2In4u zk}VVs#;uS7nN13%GN*8UYH@S!)b2oazcCtnGJJdurd_#(DggjapS5(sRQ-HC+RFHa z4zt->vr_+9<_p+8;09sDv5a*s6fu8p(C3Fow?m${e0(m&nX{c@>(Asn;Qz z1l+@0-W-rB>9XOiKxdis-YeLPq!fDuWNcxmyQgM)?7N=gR7ezn($hr013SAg7{vGf^ zA#-ordUUDO$|_2{j%+RZpnz(Lxi69i%4a=r0wDR6uzP>5 zGGqa_KMsK?rFp^tj+0#J?qK4Igh8POa`?otq+`ET-+lK;_jrXv*0)3`XS4IiDcMn( zgdIZ{OYR${+|ReZWz%klR~t#YJ2gY6>b!)cJ(AxhNHtEYmf1PImXM^fU)%8@-cO9E7wnd$e6GEfwf)Jx=inwKW~APmbsSI~{H+dvwpXwkGk zG#?6RZ^k$}U)y91iGe!<=L(1yqByZE${NbtZs7i11(;bTgK(brJ9z)N?y zRbn2!iocYP(R7wRtV!0_HXqDvec~>8ql$d{?(n>AYU`n&bwJBSs(UwU9kmLB;b-CF zuUDYxgOlx{#a3bizjbnY7TOd7Qsq zOHtXKotAmtbpR!uecQ+(8C(p#d{64@kV^q@l%YrRMYBfCN-o4cBj7Syf zw0W?+0qzNzfYNPAV7Dbb?>bCdgf!jRq-;~HC-8os)QQ5}rRY%8UexC=dpzd7IT;es zpo4F*4lWi>t^HB|Cjg}aYRg~Ut_(@fu~OdZv!6Z!=HsR{khRusVNQQr{G#PPJ4`gC zJ-gp4zSSQbk?&tN+^#T*omHymw1_^fYV3os4+s>>y}esxTKrV}wa|8D7k%b&;F0|V z;CPn}u=_DEehkD&I01G#;pC$95AVs0MxDk3&G|Er8#^TO3Z-tftzEvDXXf$_RF%oc zc&I%x0b^y*ZQl6paKn4Hpo~iHs%IJ}Lr;{`MNHenmvhQ__fn%m&^+4ihMsWh(Tl5O zidJ@_X9_N1u`#~@V>u%vrV^Y~-nwB|-0@L7*pZ&XhIxYH^J;0Dl8r6 z@8|Fqdb5%#g3qp;AFG*P6mVg4j23q~Q%tX{*2wHwbZc9)`NPtecO&70r-5%H;i)8u zgl6~s)8v;lRx9&wqjW5GzVc-APB7y*LH|VNpB+AKdd$eBjx&sfpM)CGk}UZ`?wFS3 z*507q*l1^~**--|Y?O*Fdf3@%LGKB*~f=elqBUe$uk_`4ta#55h zDrBs1f$=IVkNB8!W^Om)Py;0yiP_^Vw|GaW0<}|h7-smcq(4Z!tltt)We#460l6ELB}@3-lE2~)gK{ye_LqhT z;*(B}NxVsOdh2(wZ;+h|U&d*|-NxV#uD`GbF`b*caY(F(a*g!4crgDlzRUcfe@Gl= z)_+jJ$zi=1fZc+Jw(0c^hGACULmJXfO`kE~M|8G??i3@Yvg|R|VF}_MGODjc?i6<< zSEfCq`9lrY&O0S7jmw|6I9Ts{c5x zV+s~_IUCYHT@#3D;W|!&I9>5L#|ewdyE^Hk_uPg$7o4QAbbU&T{SH&!?cP7^f*&0Z zXUc4D3!JG2@#hj1mossjqeJcfY!lPI@$37Szs_cD67TWVD|2CwV!MIM#jmV_(HAbR zIE$5b2$j(7cuv^u_8#BR2$lYOL?9M$KU#JXJPGow`g!6o5#fq)`NfoGwUYu1FVw>~ zrt2E5&5Fyf{4iZ_5<yW9!&t={xTJr7|59RRfc&HbkS*t06e`+OPm=q^Peo30r3H0id;-k*&uNv|B?*4-% z{LTsuzX{8ezSyA4?(D>{-`T49!mqfutabu!1%@uzge9F!bURtZ!tU%InffsNA5Ui) z*Yq2>+GMdl-QC$@Libj$!8$W z16H>Dg!+D}gAADRGyWppC!H(4wyXy2e+OA{G`1ZwZ$PiV705nJL*B{aI?55E!|HH% z7rF60eJAkc>XrlfN8x!`NxKKFCS9zeIT2x}f`b^US#h*z^L4S>`j@6z_?PMRX{*HG z5upW&g{*z5iLShjpiK*BU9*+UsTdpVNdJ~p`*`hlSas&eDd{>1r*IIowAl+iqy504 zVAJp0NU@6%)papRt;TddG>beDN{V5!+Gqj(&uHsKWI&6yKWi zXJxk14p2KqdcB3bn5-3GvUhObAmKD;CXQVA;yT|3Q1<OaHyaA*OXj;5rc26b z2piA2dVW^m=N}$SwROuGc9)=hML%D9v5nR2LLTmGScKHStLx{E%!T`SWvm-sfr@6= zj1OF$y}d4l4>KEi1=ptIOs`^r@h5)adtjgZ*}7W2l?T6s3BykKeg(8WgIjS%!P|Q_ zWAS5SGl4-T`x#O#FQkuCwvdxbIDx~F5^~qsyYnml;%ROY=I!OsTeq-4SwJ5VdtIF; z4o(M$KC^jxaZtC3?)I*}T-_a!g^fA)k%BU%{b%VxeHJAE*tiz16nuPD9UQWQ^=QiV zGx>)hKS$_`s@hxf-(=!`$owV||G#@XedY~UKLLwiRtVU)-$eBE2wryz92UKP>xB?& za#RG3xJWA7!|DNUi_Dm)y2rO~i9U;a_9XKIEcIE!5PhkuqoYf8Q<;|2r#|82&n{Kl zB>XNkEF|o_Ej$oOtiq{bkpR*zc>np0GnP4O)<`5=xX0Lwx#`8}GE11?7dIN;9&0bL zY{txJ{vItaiY~^J=w7rHP`Qm?pC+p#cuc#+E0$YwBWt~E&{h7+UD~5LR}YO54r(& zQG~3SI`r!Nv;2-{cA1$5O?KExT#b8@uue6fR7HF76TA zW&r(ix|6E0|Ah)pobzsG_)anUi0MmP);nR#oM7|WF$GmrQ}Ej_jth`R_VNj=G|_!8 zr|Ps3=wojYQoQwYWuWtrVwY4CK%4mI2lwODhzmlB_186 zrXg?=rJq=&NAxfk;{PsrI2?0q(=4+3o}pmE5Hg1K1Z+vl%=87HY8-8ZTIuG$1J4U_ znGov(Z%wq?xsrg-#oyH&ows!s`_5wk8ca&n&EPx@Qf1_lWlSq<29Pq(bl ztfOLp`2+U8$Q}5*1K~Ph6446ZUPGzTlL4&X7et;~;@yRi>O=Eez^+8^PYC;_A>5sO zYCJ}SL5U8dptX}Qps_=a=G))SIbrKnfstLK3=KuTA76?B%yr-f}M zTx*RIj#?|sEvRIfR(k{>j#l#$?jWeEsA?U4y+zTmn$zY#xj5oDFgZx2xoBf^qh^Z? zd6?viyL~DY$ht%~`(pfyRgWbD2KOevb~N{B%y+U>Ue02b6yxhQga0m-SGqCev2SzS zsXbh9TdU?(hKR!29T<+$GR9S(FaJBvJ{NqqrKo*B%PcvmA{|u5JmqW``+K-9(dPOk z!(lX#p^eU(IWyXzLkOF{$VggLC=rI;9eF~!5y*scmCeRRJChxBj6V#Eh3KY&Vtz{A zV5Kp9{#Ro&+;}{esb>aFb)d`;a38Zaca3({*$YP-c$0RW#1$Ym; zsNY7+n6*yrKB<0+BOeP6Qddja^rBPoOoc%9NH(HoreV7A?!{(@ zlOox8Neub&`$Ts(qevPedD#At^rI>S?T#?Z$mh;zruzaOSz%wyFQu(**X za1AT2)H-oe-u%TlGC((ZtpCox3rHjs-Ouj!ZRhS%>*xoswv}RK?Z41?e+E2Y?>4OH z5bBmPFKHau8p79gQxj_XD?beODWFq)Ve_H8J?tbPx}~@2?YFUu!qIl4 zDFiKqvUS@w%(h?Nus@tZMTcbl14pFEmilXR=*ECS_PIBBXJo1w_BY(@l7jDdT|0jg zRlR#5flbR!cn^zgjoo$2Vaq)By=jx{pA}?Raz7udg0)xHb7PXL&i#F9hJ5y6PhL9J z!zxI)=}tZvq}M1n*Txb@Nana`5Zl`Iy*pKPC5AN9T~oS;trSC5TFmY$^83d5*_Q2F zBK(ZzHxxUA{6MZlvZ<#9RY*@6>J>=ig-qLF#+})c7G)NqP3Bxo3L}AUQEyvyfpf+~dTg(Xg0*c3Lr z$CiRvuVC(;E~1i41VQngA(~G6mkR~+8TO#drWv6OAPRTs@#RKV9O?FY7}~`HCiQm z=<2AK$^a7pqBfdWh32v-K-nES%DZSB>U_ExacTh$L7#12`Cj19owOK^*YjjC0e6?2 zk6k{{@1=TOp=xh|llo1?geXby?mJ73=a7W3Ygl+~Wu9?N%cJZ|t~z7Kgd<(Gi?H-hAx7O@&WVFep!O7`A+@vJ-7+`N?ywcE6HY=slS_*rjqH@ zL&_UpE>q?^96tGFx?f!-L)Xr(D*Il#*&|<^mpb{_h}MT~7abPetWC2ht+WB}v_2;_ z`S{mVC0@x4_W?nB(#6uHqsz(nk#@r@NO_H>a}^tzkZygLOJh6~+b}vf`Ii3lYH8Pc zk(i+b$KJ0e;N>87KC$8EfQ?q<_0MBL$}XwdRa#_l5Z zUHpa}#gES(JhpQ%?a%9^JDf=MHRteYP#Ab8>=aGsV0-QDy+8S#)bY<&ln#`=)J`?Z zpXTWCeUvJTNYmo`z!DSX$$-%Pycv1%?S^ZYUB3LWE5%UlGtHKI%@=mpJWT9hlXJ>Z z0XMGH9B;2My1iSx*3DEy%>?%uk94hRneWa@Sz%EkON}!3wQ@n;JJh5``38Xgvry?( zNL0u?-5jGW71Ri0@QF0XQ>TjxXPwo%EUswfR%aG^eJR7WPs86sy=y-*v{ZXoozexZ z2v8>H7?Sh@R0^n4WR{0{7)E6V88+2)9O#Q=a$iWMO%t57z^P?^k*lhcaSr2<*UrHP zg5p_;cc?7xDJNs57)qdd4o0xs|Lj_Z>R(A_h)>V?zVQTe1P8pNgBBOC>a_7z(Xt@? zt{4v3#&3KcqsF{!b#hH$jVQalsDp}75GfPljHpfVh^rIkr7Mk~1xmLuEm60SaUq^? zj+z}qhGi=P17jWJ>nk7cM2+wG3G1-(!TYa)$vszJop%Jw*O2IkKv-e!VmE zgj1s1C^(}m)UIz>Ut*7Zdz*@#{edf^khdpppYD^M<-3Z8UO2=w{2})l0GU4%HwmAy z=0(IAOH@mHAHFGwPQ!-6ESjKYRZTs1Z+meWO)JZ^B{fbv9aV%@NDp7oHNRfK8mzk5 z8J)N60)+{v7#iYWR_}hKYY0EY!kzg^h-)C%XS3nk3 z##tPlqh^4DWQYu%T901>R=VwoijsH||AyfnTldDBbJr7#*mGsx#*O)$cA(L#j5KsK|_|b*jPqoN~P$*rPRm zXi`AD!jfw!p`gAaHw>&W!Q_hgd!dgy=(hLhBg1s6418{b1G{3L)Oq$2(%=C9^`H z9bx*ecW0|u6o1dVI$>)@v&by?lRAMBYV%5j!;Br>Nu+a6Cs2)S^blDtka?RG9kC|HV|m+6C@0@UNCCR_ zJolOuod(=0Wu9KmPi%r)qg=^6(gl4x;mXY`%;Dq_CjMm7Zwvnz9`MH{W&WSz!o4>O z^a8j9V0It8-L~)YyD$oKep`Si=fM=0sm@7a<@CaYv3ohbQvt(-h&ypMc3gF87+{x>`>Bt!&xQRWU2OkOcFi)hV_yVJjDytT&U?(Lad zMi_+Tz=Q$%kYZV(#6OVkOO_rb#wgErX&nDuH&Nwl7a_NP`gzpN25IpZJhOxu#=38m zY?LG+!JYokX{Mwd_zHkAO2njgea&vo%{{-!e8Brh22^R4S5W{qiVe7 z^HqLO>wS~FMU4L)_Y672O5VEM!M$AWhr9BL(mIh<1-E0PdwiQA#ZC;tPh$_=L4G=+syacu5B|?~&g(X@XL1 zxlH|Y{Mgx(B_`C6*&Kj5oD!QA)$CPQilB1nf~#>5@ZR$y*hn2Y9i8_lvwsCsgcVSO zPhWJejVP(Dj$m~FM!~`=6aX4e*Yh*R+|KE@+k>E=jT!Htn~k-4d(_=B^7)V}p#ZbB zHKA`VOK)2|LX*ztavmT8c7d`}^Std&O*@##YD-Km{GE}M)hAp7&sN*+4H$;anEp2I z)-Gn@_BlhKhP*HxHh@?KSck@|g5(;Nm4{CLLiKYSna}K1F=$gS1`9g>$X>LyEdP=W zf7;2PK(COI6~EZW>^pNj`c#rV<^z?bcCSxX$5zcs+1eyL{O_ZlOkLm41QSYk`yXxH z0cC^@4$}~p?$kZ0@@dftTiXTyLxGwnBL@+PB=L%Xdu?n|l(kXF{5^*KSpQVR@Gb3% z5J`)lEnzgaG_?_A%kn||_N2_r%bkJCqotc=UO#420Ta1B35XS6x7OF7Gu!VMYFhec znsZ~c=vc(cLza(e7@UDUs0IwyDMRp{_%LLz3dNeawy~q_@ZMZs>v@*^pkw3 zAgce^?|!GqeU82<(#;bYWd6T!=3f0zj`xdY2XL3=NDx=gq1 zi!7SM@$OBq#~&?JmjN35`Y##0_nC`kFUH=0ZZFmze_0b%xJMQ6-i}Xm?l)8yYN$y# zMQmL3;^Il^u(^|g9nSg1y_tcPI*!{Raf-cf$Df9=6Q9LIO}3qV3Vc3U_NVpi`5DQo zZ+B%KP&C$q1reVFnt9dYG;`Y#CqiR(L>+1R#=N~&ZHa#H;1zSJYUkShIE)-YW-Lnl ztD(=P4Ej88{q>~*wsu`Tvz-IX1&i+{4J(#$5%>4n6H|BGD{f~^CVhPjSUc9ts7SPH z{IPKVjc{PBd4=a2=@L(={>B;7b7(;@#F-#=j@^^5YBUKVintVe8JJbbs6#HdN0e5r z@;zS=4J!Q%CosmJh|NIpQ?66?bo&H)@fmnO+e@0uq$UZco&Kxe+>dZ< zm(w{iu~%Fx&!qH|t2RW%6bVhdQ?N!`>;h`j^k>{Ges;EOA!1p&}h=i?8Ht;ekQ@Q+qq>UJ+kc zcrM*Lmq}21XAXAOScsZQoqFr;Z)A5?ZTraN7T+=z-^@)Ju5vl(-*C>YV4UTbQ9fiW zjALJUzdtK)OB8EP)c+S3r61sGmgdbuIMSJX*U>Pl@H?a0iz!^Up-lJ+mssTKc<2D0mSCS!0PCry<3;c zGa?~-wh1Ku1>}OAVz~*OkCwvVz6^w)q-H0`21?VsMiwj8>v#d+;5B`t%ZqDa|0{l=}^U*_ZQn*I0g zHs$wc_g`d}sBGP*HGa8XEs#RI!kmxoHr8Tim2tVgWF82)p`rkzN)Q*v^hNlhMZIoz z(b>}8>se~@HIK~g0RdSp*vz7G(6RST*k0ZczSbA9Qpg$_ajgDJo-EKaY1!3LNYPfp zInd@n8L#`T%zpzvQTGV_hEU5yJP!?^yAjBTs*Pq|y>|mfIeR-SIS9xU$lS&7imXfP z*73MeRliGOmJ;90~w^o z=|;yE6&}%8Na3glulz6RnF?hncf7fV2|3PV?Km6#6G(S@w@sM&>B@a0%12SfFBVz) zqT{p-jp%}-o6$&popuD8?{`4NTI%vOSky7;^Z~zHh5;<5NxSD(H@h{B*_yA^zp^mw zlT%O3;`zg0Q)v5fArw@kSdy1HUr1YpL!a8W$E}WGiJCQH8BLX5NuU3iYv9SN65Lw@Ypc%H4;>1>nOOA^d2HU2RyXs`6o*T^UH6d6`2Ga-r)AHi38fMt=6=*z;~ zU%`Vz*IGzV6U2uGEA}moq~@_7&l~p5D()F{-rBo!dQXM&vZmqQ!%V|}q^dxcu4^Z% zn*RP#I*K*(Vl98!Y6i{j;Ya0KSk!3~BYF|7ozE|gEBskg9{e2c&li45y1N6$%SmdC z!xSg6jfgB%l~Q$rdY-S)6z^QA{FtidD`BIXm}m@~^0TJTiml?2_(FuQHvN2~DbbVT zti8~><;!}SXvUb5e@eCQWKf2~8$LeOv)|}}F~Qw6KCLsj&Rb>oQ>DP=Gda9`psqi$ z@|@JRt1GN2ruMp(rNXs#H}GYP}v8&#ky711fqJc6vPm9(dhFxF6aOj@>u_-^!2-p)tSxi zTh&89tb#TeuGsMD9h)%DO^(;A=YcGrd=Afk6HSX!xQ1d?2N4jn=h;_JEZiJE%isMd z**lwhW8qDzk#m>z02|8R`coKZuK&EBTDOx8?l4PXBhK0v?2ursrrC#~+i7gk?}E88 zFWRZ??=A5|!mF1~PZ_|iK1UDITQ6K)3I7gn}4pHkN&!;|Q4S;*1N&p3OB$fedRLQDF$f>ip?0hUdzd zF(Gx5O|`=Pv1RpsEP9?T!@4vihAk-ZnFY=q0JM zVIf^J`XF=ww*z&#x}p!HkHspabW<-zVLzk4rX#tq%cYS%2ijYCMBDB2ph*ACw_e3K zOwOZxHgT-C7iXyI5y4XN(N03*`Fsq4EM#E$QCWgDR1g!5E|ZS=GX<8hef712yl4Cx z---M)+(S9Hp8rfZ=2&@?Ks(%{4p!){#ksmVdllda`Zik1XP(q;(`O;FK3~o=&(x!F zfGN59lyIFbBtrt}=P#8}BQae7pS1EEL{thcJM`-Uv)$%&@o)N{3^Dm?>|mf< zF9(bBgF7~z$Le%k*1jQfHa^;AtiBIZPI!bV+MWbc|6h-`6%VBLV zP4Al54OtL4J39*r_CyOFX1IjkGyM_rSl*fN#r;?R`h~V~c4&E81kpj&lnUdQolO8YdTd0%R9Jy!Y0J@mEbfS> z2M=UDtvLQg!cR2JSU1a^8U`RA+8))o2#>XY2@CAR1rT?!QnEIV(JZ~$;@3{}nwPLJ z-4netP-ynT6TyR(d_rufB-%y-TiEyPaz8tOe8bZnxYsEj1supk89u)GE78^9V^ZKf zS(!>GfN$BOvjg)ZIUk%b;s_M7e0rI(Wud|iY3v9#9RZ#gvfro>3nVcv5At`fWC!ov?*_9)h!x%Hb+KZ}1xqQ-26g>MvI(NP;)+2@J== zNrn0$4ei%F$-6RCl+r2c`hGqh7D(Y3wt3#R#y<`?n@4W&V0`ULTFVG`!dp)=)8NzT z;h1&)O|pH`g1$Wt?k20aheDjLyiGZ=&pWXc$*(&P9)&2Eo~wy;*U}He715dL;m(3= zW{2Q((2w)Z9d@tkKIEf}zx-a9bW|4WI6psOq*p6kmNA}=r|jHn#m}frPEBW{4JAY; zkUAWIWIqfM<{4@-Q(NS-tIgc~Xi{qG&K6=?L$Dqr=6Z9HJGisE zepwV~#M1q0N3ED#kn6avu72bM`H?Zy{g{=MYHebSP=Risw?^(7H}j zl1p11p-stk{Vk1z$e#+4s0_1mKYOlcrpZF(-(Tn%OMcb<^HDsb1trss%?tS3 zwVu?khVk88Zui9?&Nr329X&dHr5`-uO8zPT)G=e=!fjmAOImR+s8!ux*vkBlg8mZ%^F^=Wc@Y>nu?p;wyGG2@p=s<$F<#=y~G z#P3zqtgGRyLoFg4>ro<2gi}?=Nb6*_j}g4(KZ6{e?_)mf&)-meV@6_LmKkr!DZ|L$_5pDXC`v|Jvo#3GpE2X+sf6g+A^~XMhv#f_Yz5SY5n@2eeU1Mb z)c(oTN@fCetB$9OX@!EVC`=c)_Ors<>1%f1hGTM(l3a6TMLQAWgSYnoA+7cr z_l;+{}3NK1DQTr|##`ap; zJc=$4vcMH3wjG;ZUh~;6$sNX2Gfu*ZVx7Yktj~OE@*X3gd3!cPrHT#&UIL%PiOBYI z6Z0O<1FAq~=E-0``aQUlERX(cux5h&6N^ign|FA1TzKuU{%vvsRn)QYs~-gO?*__7 zbTJWUK$ba{laCO68uMr&pr8u<&G&%j$E^1^mdKny)?J$6af0V@0qM!2VH}*qJFI%Z zMR`8d3N1jo&_V9?$)&)Ym{4P zEwX3tcSm;c-4K4dyaxM6l^C_?waoC40yEJcI~hsljE@V)KhcafsltLATGhx<8nJ04 zo%1+Sw@$E&A@g$!TN{sgG&QRGN{|9jw;+L9VqNI3VE{&5*mpLgR#&>zCtsOb2>y5yu#K0 z-TXFceaGhXzAV2A(?c3f%6Gt!H2Zd;W4{*iycAHIRuE26K$+X4ht|e-TH+0d35cnX zeOklqvy5#|>OdhkQ)sJPQ^1V1`U#H6Gs7c{E%{m9s!aQw9kb__ z7}swKs96QURtB9vR&+n%Y5m;3|6cIqgz&4Q;|QrJI?)m3yU@+VHwC;%Ec9qr2-kSj zL;$l9=)By?jK8HEjoj@K<%xi5Undlwf;H2l?QiwECeCvD?t_w67Xj4DI0T3XwJQa)pIU=2h>uV z(`MS4AUlj(dk9+eUJCyzu6}^7+wpg={FL@+?2=x8zPY{EP0&~YoVh|`gSxj#HylDbx{Q%5|I#4*MvH5@jO{crP<9$P?+3nZXR!L1KwpU#> z0bVU*&`TnCrZUR=6GNYI|NP|!Q6W4`wXSPD;Pi?q-Ln!k$w*{jKOP1FFAWw4Lj7MR zpP!aHce9PMw$j?r;+pQs*oOu@nu_IUJ9JMD)m(hSk1=v?QJD`?GIIMR*R?N2zgGdk z*!HQr*!>e8%A2otz-Qp>)kANd-&o6|y4Wis$|tmT_AP07b&Wts4BOO@_CI$$b$U6i z8WF(QM(a--aof=i->>YM`$F?orI6n)p)Yp2>Y@n2o$O#4Od$P=8b8j1+fqmyGWREE zw6q#FpOdszuF8f~v3xYO*pfQvHdvlkfUT0B$2&^@_Ko|T^|OD<_>g-jTm`2y*eB_n z|7Va;Xk7ul!t}T?U9k8<-zEQ@I#RaVX0{id8#|?AX4@O_le5s$g+kTyIu4X_v)-kP1x|T@u{P`eZ9oeh{ z%uhh>mb z=wBfBQVZz((M^H3ifuQ9#lF89ojs(1{s6=T*3$a7cmwKixwVfA5MAv;?(6oRH1*@K z=w=GLVjIVFXa-vn=h|b2`!sCPIYnn%BoJ&6*T+?qpJQm!&RO+(#6bABr!fc=wqpC} z*!qJvrhXg|h1eb`=OuKO+pvwZhDH$=@uNx3Z0bDujAl_(vQ+wXzCB@eIW12xxJLZN zChut!>i1(%@=r|QX1Cs1xbVRv6g_uTv$)tAG;$C_duF*AaQs&tw@wf&kg<^wM1MQX z^Dmt3YCVp|j|>O43~INGb}X28 znSUoun-D*2@-JC6<;bY1iK>W@>S@*2q}YlOQ>CP?|D2Uf-i%!ZL|VN$%BAWSW%fQ9 zeHXdQ+jG-YZ{6%nl4EVqlWo= zTk`m2h)#%3Ta>SP*{y{azL&Z(Px`UqiO0M6rwqQSO#n#bL@3>K_sv z*rq%4h%ynuU{tx%-bZ9P;C|UF$LN&}yn!vKIdzK7l;N`G%XY;Kq`P)p86Rw3)>0q; zaj@|G8zAnK2rU{8MXi{gU2$+`Ul^eEM&Ql1BIT#1nwEU9V! z3Da(n`0mO0(Y*5TbPhb`V;s&k(ON?f5GzwpRiI*~?u7?QoT+oizqX0pe!iV^P~~Si zK3tSpPz3)r_88oM*7Omwa5uaVrrEvNX*SxZm^vdcc!2jzW3Cw{r!noLPx?SeWDgPw zDG6S4KWFANRjRD|0;{b*7TA=U+4{H>Y)1Ds7y#bm$L}^+cQXd_ATd(SHvlbNpcx*d zdt!iZYdELu@HyU=EEppi88A664(&?2QJcCwX%}|5gV_{XPv=ZgFxWAT8X_q;4L3NM+>OS1q>Q)& zDchLb$g_n4x(N@ntATr)0`eJr=i@O7+$Vm1><)?aJ8iFS_R52mpI%7+D?;g~gwaPn zMT-WWX{SHEljgJkcja8zN7ATXn&bGmn0uA6kCWia3SGu@yTbSeR=#aP^Xww%OogZo z+w#_zd_Kkv!g~oloT1@@flS>2h1QHt&QTuv&ukP3X|Bw$$c~Ia0L3LOf{Z3q;bndv ziTXYoeZQN*Y%O=JxQodeLSs`-zm_TzLdBc%#hegbb}#zcN@Z zOE|PZcV-fQ$XMJQI}0JidRzYjEpeiF}8%buT>=0CQVA#s0Zj* zbyQX4jgp)!ZBw+Fk=9wEH2=xBkYg%xeFMGvCnEm7C)E@@Re!wprYxNl&0Vw!I*WHe zYj0V&hucdzo0b@nj~)hUkZp0){c@Yia1gL`c5iVZP6z&O{|!50X_R-ECgF^e7$UPR zGYd$f=ZW%{rKs9a1`2_Uf_nn;o5FRIb#1Ih8?WtC#K9BLVs%E3KzBb-1|0||GHoaV zThH_PuYON5+#^ROqJI2vCG;WBri{VYP}8QQ2*>?x~}P;=axT#})> z*$H%w1X*YwQ``V)A_-CS@VjVQFBaYxxr`pg#qgXqHgzDJ;DJ-=qvlXq?a_!9w5Yn;kTue!w75qtW%n8TBav-|`(6xBY39Tn*y zEaUUsSMM=1S>&&`5_-Q*uc(wP4{m)5I3%YYW>KJ`m%bw|1;TWaQm5A4_Oq@Jo?9Kz z8&sesdb?i6jl{_f#LAYLr^&)Jqgc3C*%u58_MSG~Lf`dbJQp}uVF(cE$+orC92w{vZS4*yYr#N&EC!> zF+Hq^&?0H2Q3kPRy`%DD;F0v$r@ZTgzk*Dc5&j`*v&opljXVE(a|_w`WaturoGK{{ z;C-5;=wh^N8}~Uw`d^Zmtm!3Di3}^JNQx*{-vMd{GMzu-KgJq+P5ufya1&}oKTY~~ z=Fa3Tx0Cd>R{~<(d4Z+~e0feIV7kl(x0mSlgzI2A3?up<%;oCzctABJ_^h1?cfnG4 zzVlHv+n*({GE@9r3CUu@VL+&z?K9h5bBWtI(yb3a?$p1Nt|0j5XA(sTPY+w`A#oSZ zc6z=>hj|s>FC{w%afd-Ro>;y3G2Y69SM_%}_MJkSl$SzQ>}zPSjX;Qyk)}E%ZW_Ci z>Pt|oe9^t5_eA~Cd{mO9N0HqLh|+>#zr{kRBeDRmfe{ur$fCW-L(TRT>P|fS^ z%l`fnRrj=jC7HI24^kvxXh*f5G8)XNPQOACPHRWq>CnI6_3HWkL~G_1Z5v8QdR}S| zT7GziTQZ1t?kOps!M(qT3`_bQoSqb!2J}^`QX3oSA6G+~l6Ra~BfW{$-23WHx8hB%oNggDpeZc}W9d1cE;gX< zH%?PRhu$*<1WFBF9bdgY03D>3)R*_apVnM(C#sKS1dVK;S&rdB+sgeTA)he*{|pzu zW7k5F6nef&Lc+oNTlM+KX^J z^^3?^+vikV_=YdIxWJ}xe+mqDYQ6uocf8!W z=^U~@?ORgNeGDp}g)xuws`HGV;b6nKSJ1qgM}V;zq1Vb7ivbrStl7&=`O!vG`S#~) zRfMxdWU7~@qcpH{y$XA)MuIb?QG_A*ac9TUud_h*yyo$PuXmQ@g0PN@{5_bScgbk$ z&D++*oe5)WE2^4le#KVps)#leqYEQ5iN&j#`}tA|4hXTQ^<(9 zNG}i+6Vt2-8Ug&R_&ihDGjIAwH&84X*4;;zXeExi(lE4)=y+k_K(|zDH#LU znR~JIx&z7+tgKT)a&|L?r`Z8bMHTj}5oe#`Ph!K~ckHe$-C3u4F7|Wpkn|$d9H)Xr zj$U>DmAg*(UJDv!2;6F!vEPX*Ic&@t&D^|PyVCBk8T>h7g$yzKT!Jas_$PEyT{-~E z30?3xcyRFjb4c%))cOaqu=euTh0C{4l82YZ$%&uRIwzzR9eqjp%EAIu_TYC{ysLOz z{r$0ZzL~>-z0V@^+z2+19s+}u2%V`9dJ)DqqGI|9uD#hqYU35cGdPJQa zWNskVr+TJKf8cQ0Sqs7!>-idTtY{)NH$AM#Hfz|jvS?6nLr9!>ke1pAiw!Y#zM;w_ ze+#hwtuFM>ld80TBjXX8AqA)oMlidghY+Ken8FIl zisKaH9Sxtn`njm@^!g{6NbP}wfk_1bFwqZ!^S^0dK$fdW1C(|2>MUWD{?SmN!cKwx zh1NJDYvX>Fl-{zj*MIm0SjNRi2wUVHI%xbFyDqOoWa#zx?KGy*`bIRb|5G2M^KMBa zn9S?QE$V1d4j;W@{qF$kcaoyt5k&(-@!zR8+)^7$(RH{_3);1UWl&C@Cb$jd4wD|9 z7(Z9F&S?yUY!u4hZOD6(BRcKO$;m|Q+sM+3 zP=h>I&lJ#t2i&LZRkUnT?r3>(Uk0@_y?OLRo@UT2(^4Pt40tV@QJV6i$4fSOEg1_^ zN_;`Tc0K4<`9F`Ugjdhb00+LZTx%*UrS<~vtc4HuLUO&Xikuf^C~!Sy2T$$y0u(Ji zR%u*LSny{k9)x&tAD8UPw`k>IFM+Z+g9`zDN(Fa0l}HEzmR5<9g`E8N-+s$frI4ZF_K?tnQM{w#wvW8D$sUKD}q; z1N7Ykr9kE?3aj}rab7mDs6S{ruX}AbnJGpKub;Ct-2F?uTO;aSO$QjDW-$c!jBPYkVJcU0tqN9uW1AGw3yGv8OTS@UF%0p^6 zxJ?*kOWPOmw($BXnq{t6?tuS5>GZ`eD<0g_3a2?x-A4QkrfP~LklSy94tOo-TO!Ts z=%gs)PND5+%ab&^RCU+zIBlNLS+3uYIV|XE=zV)2hs%cIW0W7^|kXx$4a zJ~ye0-Z^3QVzWR5)EriYdy1}-e$yd>%`#2U^k}66z7IW(%H9tSs|x;fXMPo?FdifR z<~Yu%jli#W3gG;R@`pRC*xZEWNDcTWLbyZL8!_a3E!+q3`k!_pJvM#BJ;;RrSc4Qmo~glk`1E)9#K~`EfK*H55nzHT`wmfOd6@if z%Axst>@`;n10qA<8cl46ds8Zy+rEJQy16-AJ z*LvWQ{(uml1n!8U!c>CBW1g`ZBr;*S)`4Ys;X{ed(ELX_-u|HLXTjb82W$%1SE zU$pl0)}BCYQ+_Yt_X>af^3IWJ_?k+e?1tf{g##ONeO_O~2S?$*$K+?~r^j)iDL{`=I_<*gY&MvIqr3LH)2&V1z1 z6&r5|K>wg>Nmn2oS`T>I_jbUQ7Gr?$o2g2373`ml#?JakSIo7f?`<2@nRV2=tCD7X zwKJxiX;EBX^I@y$)!7YP_13?GB!OT`Y_WhnUG0rbd{-_)>Gdl|aJuh}cXpFvi!_)u zw-ZP&<}Cf^fB2FrllC`=mx+~M-CzEH5AslF(4I{no>u9J3J%gDNi~ z>tHb#cn9IhSBMj8)tLP%?0#rviqEW1=ysf>0Z=9*lp6z9-0_)j8F4AwG24@yIxn-? zCL%T!A-FOn%zk%8h>h~LjNipiLu0$wS{lFaJKx%PjVgmxf8AT1ZmfxXv|SFT39F5f z=RB|~`H@VxXHk4QdLkQa zL7curA8`^U(=;tL^1tsFFLV&=UY6Nj6x3X)b5xP)7 zUj@K@L6G0|<OP$((DLPB|GpR0y&`8r z#AIO(hOzvwZ&13i9htllK%8xK~1 zO|*gO60<@_qd=;}*`RM18_&qud?U}c68GhMb`I*OKRMrjMtP)8+NAM}+~2cttNK2X zJM4@_bdYBPpDEA8Pb6|2DNY+5dxi;olkS-*)Lk0i3p+ZWmE5_W)^(t#Mzp`u*!W4- z%~Qt4H4-oF0B69Tz&T^jqM{eEsr52$-^SZhJsa0Z{5;yT@u1}RB<7reHeUmeGAAIp zp6RSRZ)`qRa(TSxibJNbMG z_#Svf@(z4|58F%rYcy!_ZJz5U>ZUjK@)aKm)86ez^(gmw)Sb$u`iby9&U?)V>7E*L-YGS~ z`9kBAWOH$h8D*ck-wJZ3)bqQ>q-rNxCv(}%Yl_ov)Ld*gYPXS2=GWD$Ym>UiYn^;s z)`p(rt9jM6lI-ZtmB;NvWm0{)>qOgUQWmv&*G5&h?m9_v?o&+1cADI-jg~|FrrS2v zTx^qWIl*~P?bKaAVTTlF{Bi2a9e0NFTw-g@%|x6zbLIYj|38%fK;{2}zIbrGvAIGy z$H@O+tLb;eA3q2T_SUgH-@8BgZ+jbf!r0t+o3Z~xNRIr7vHxpJ4)&x8azGl>%lS^@ zWzG8)u`F>>sj;z?=5pk!xr$1*sUtC7HQ%Ul)nW6$|3CaM00030|8$rOw9Qo>$M^r- zd+y`h>pt9jy%i~(J(bc88Qlq z=`jpa?rP@yUHiM&+4tY=to2#@|KI=p-oNLG8e`^y2xt$+fxV!0V9a&!KYW-CmL(Xo z9`75$acc3fw#ct;8U;+^Z_F|F2Ht7Ca4F_fsIZ*KLQ8A7n~Cu0~bLQcTh57g(nSshq}w)7Ch&Jeqbsn087CJunT+z zUeYt$#UfVDegf&Zn8Dy0o+Btrg8HB~Xbif7QJ?@k0_KC2;2m%tTmm10tzd!X+!wLW zYru3c0ZakI!QQFgTbRHwO6+d)H~Ew~d@lPuN&t-!tDLC_A2 z2Ty=m;AOB7tN?!pYr%eS2wVVHrRR&mB=7>RbF1WPEtn@g=ni^`Szrc||fvna&Y~`c@891UGB{h3ZGy-6DDY0IUFOv}WqX zf527AHT&KMYJ*0gF({$umY^x<0|tVp!1Fpc+PSyEI`9VA1{Q!B;7KqMOa^^*{DeSOMEcVWjFugE6YS<3pfl(Lwm?r$gV|s-Xag1|SpQQ1T4)WIb=FUV&R{}d zeb5Nd9}EJk!Kaex(ipoeNTL4g?pEmhc^A~xy7Fy@!Dm|kQ7{HP0Gg>yMcO9xIVw4N z49wI0vYZOqY8`ig=HS1Q=ZNH&GDQ8q2C78t`7T!7YMu3bt?hB`oq9W6ayCwTrL6Uk z>{bq}Euai{1os8j22=qzf}J`yp5MoM{&!$)`QgCY^?!i?>!~3d*a#fqoG91pK6yqX z!8F;mCEywGobI0X@gHC)m@8R00ty3r@2`Vp5vw!JbXG&a9@_K0iRr2Y2NIdfl^ z0(;&(E7wMDGcBX7N z@28b~0OuSizd)I71L}c>pqlJH*Aj`?bL1JH1IGjFFB|LZs6*v626ZS38LuaqA0i)@ z3vLD1@jZ+F4CO(cE!RJbX9(7U6A|k(JE7eOa2WiOVD;%Ds07Bymo5i8z#(u(zVTdw zjX7RJSt?@vJY|FD%k|v_+Jf#8>lb;C2f#7#Ehw+`SJ&FBg2IT^-zzAuN`AIPtS?VP zeLpZ1Oa{Xete^a2U}cQ=%->`@4~SUbIYTz4C#Wf1>z zN$?(66IgprTf0v(e_3|!iuO!d+^%-iy#=DL^qV%kophc$$N26t$Ox<*y@uy+#97(b zbF#}P`_v)6&ug(O|8XIrUkniXV z9s{F|jfv;VkGu?4s$|`t!5sB_N%PFsSaVgk*w}brrrN(IpUc=cU;b;L7@+oy5teBT z`mP1W#--0{uC?-Q2gKX*XLB|GMq~Z_Hk}2(?*{Mb%vR_;_NeYNwcTWF+|StfsP2Gw zb3ym^GdQn)yEX24wP7rBRsNASoG}Dr?mjw4#_>;sr;Lq_ST{)f9-(gqs-G;zg9*9= zp1~{NO=EM7m3m*N^L;_*I#F%i`7KpFz7;es zbCAZM6euZTAlca5GtJmMiqA><#+;5hT4`hRHMV6Ad6U-2U!ZpEm!iIGm#FU<>Qh$Z zWQ!bqW4>8V>&nx*iOXBLKjvpHS7q*4Q+unVGvK*Uo+<0RYsS2c(I^um^lg%{azhwH z^KKv2cS6}20>-M%aAWm^u{L#)dO{ulL}%Phv;e;vo0BrOYY@cqRK}k7$mh0K+|X0< zTq>|}F=N77>c`lH`2=lpnZS-&U;etC%6yd^Z-8uUM#TEx)8Na%`b@?!y#pJojRI2w z8^_SLG7eZQTf0m)`EA+YC4r5HKLPK9w`8Z8ce;G#$H2xmj2ZUJ-_xd_(s#xMg=&{W zUlobR5sVAz?@Gwe-z}fa9B@>``Xu_8{_-yc@q>U1@6C{~?b;ZtgBjXa9lhTmI0kL%`^MT=%DS_|wAZw;r;N=(D5Lx@ z;ke-YL1X3+c2kE(>&^nqJyJ5v+;A*-J+Si4Si4PNbBf{mK1Z_7 z+-_Q6^Z94=+%2#ee4 zjab>`U2rbi(_CZiDajFes(0VmF3VV3T+%B`h3c}^F4M$qd6r6N$1~Nwgz7T&oTj$v zde0CgygK*HwlVM7m99;S-bu2)$2?rSRIh(b@2*S=)uo73uk>;MbtV_n-X9~?Ym@Xl z-&4JIsi83wg{x2T+PSqQnfQOPew{lvciw5+dH$bYK42 z`Df+YmoP=|z~6tkU(~y!WUpV$Yvb?9mj|De(6d`>)D+#9nWooExviI)a zPqO#yh=%HmduQonAl%>0k^DR3`{P8t@x$}@Ym9o&iN*By*OU-ypX`0}$4&Iwxiv>k z(Yr_rwQ+NC-@fd*_pr_tr-S}JeOW3_X8b#KeSEogcFL8mKEwO&%U;ZD@7JY=U>j!_ zT^-+PFLPB-8%ldx${RE0^~*GIo0#pbDcc**+4LN5ZEo&d&5@-#*EVM2Hb2+v@B4== zugvyf`#ckm-*Zgd&*X&ObG`B0y*ODYPNy7U`6*5>eA$SZ-|A%4s|(AD-#^itD?De| zPNkZnYYoe`(+Q^+zAf`@Us?#)HmdhjuXK75_HC}t$*3!xFLZkj`xUnzw?_X=T)pq( zeEXCf8prSJ;QW~;9zUde&u+iI?7B5OnRa^U#}rN%T&&?@52wp+9pRWKPkme->h#E$ zZx{FEdZm+Pr>9QNoqpzdUL6@dG`+25O)_n3W#afAWK4HOi?1qDT-BqEjzA(BKi zXvBabl0*}uxP+8iF$%;rDrF@uiB&3PQZ9&tiJBN?F=}ZLR6-Ci0tO5sYUMljId#uG z82|X=d)>E}(|!A%bNY0@d2RZtDJnlFc}mgO{`b7j(|1}ZgQ>11SGduvyrbynX; z>->1tDkrafZ1O&u3xRz*SI;` zTx{)f`t0YEbo~=oRTYLK^RiWqlXG70#Vftsf<#o(t+V`;Up4V|r zp3TK{K%VQMpj7KPmao<4oReLn^``SyUvPB=m790+ti9Mrv(`626SQi5LFZYgW7lh0 zt!rPKBiA)x+d1n^v2qGeX9yReTBEBTuANK+h3Jy=gUoJOm10GU$YUj zBkyOt@2d={{`=JYtM^&vU%ihrKWKirSjWtNm$`Q>o`c!Ex3kjF(|=h%@2l(!)XW*4m? z)&CYpqsnN}Hf9epmk!rQ#xk2|*7@0cH)&l#+u1x#uiA883*GmS?-N4mTPyUtB(8iW zTqv?Ld>eSPB!m(eO{2|}KM(i7pWtSA8cu{mp-bn~8d5)Fe(O+ux4w$^1=8-3Oz-pD zZx8dFL;GXlB?{YMIb{===WC?Xli2!5V7z5vfbKq3C z6z+lBVHNC!{GFteNiT*oVLm(#Yv6iV3(wQ$Ysjr*5>3zw9Z(PVvgniGR$g`?+z)TS zDox*oU9bc;!hW|cDP&Hy$(;qR_H^U17W-NlW#I16YJMQHWS-_4*QcI z0Vl&uxCGA1L?3hq{25+w`E%h9`c0?9{qQKPflW}y_w9rY_|fEDToSLs?^ z0zc5Y8JbGjYj7951$QQKE(^8)gRmNMFc3z;K5!CDgNu{s52wNa$UujdJ;I!Rqw`)0 ze}lh=ST1>aw^G{mhvSoI7n1f(qQ1NpqE5&-zt?%L)VW#u54aW1*LQl3K5vI8W0bz{ z-MTKXsGi6g7D5`6SZZeg!(tqZt?XQDF_DmWWqm>#k6S!d8`Aiy;GV5rKJ?s6YeE{g zSsZ2KTHl--*SGQUX|@;qysF*U7LVC;@%#!Qjl29=*vGhjjqDx!xaZBi3VhM2unoVp5GHCIc8~h!3Gf*- zi=Uv+?QnXCd*_{S5`DX12K^HFM0^!#o5o*rGco3@C4G;&ZSYqZo{2tawA%7B>Qg=m zac{mL#JE7-NA{FCA=>xv;3@IL$h=kk@FKVY#=#(XKz-Wfw3${C_y2oC^ivx`+z#WkFZ7o^7NrlP-j*upVB7 z4CR%ugZyW(9bSS(&`kLZ(pm6hO`nCQpc@vzb#Nv;3|B#pJ|B?|EsHVfo3IT&hR5Ln z7*E}Eq@AQ4Fd9zdc>s)sU!r~Zz-miE0LQz}OY43k(olL8<^PSzTRqJp1prFpXKj-?AzpZZ0lQm z*Hh=dnXQ?>&#DipZ}NUp&Xv9SnbNSkpBWA3Wn%1mHWmMcGvSIP+S3Pc7tDw0aBYa? zVqXu0XuDs;wO?|s9JGgVyEE~uAa;EtToj@$cZV3e90jMrc@j^-V^Be#4H_$sB;Nr) zgqvV~Ci<&60@^e6v)m<6}MGw>f+ zC%z5dfNJJA6x!ixp3fjX1@3@1V7cBet%ItPcqjEL><3$t7`rs6(J8zCYSJ>XBRiAW-d?9VCjHx$W*x_DyMIXI zZQDQPj%k3(7rP#(b|K|$A-(Um{aEZ@?!~(Fo$B;`M(F%xUK2yS<2p&(b!ne=&D-7F z-XXn%^LIt9I#;`cuF<*VL(j8Mg|466cgY>uK<(40WrIVy&$sD&%01s9I=0-iod?&1 z=nFeS`hSi2!qc_g5Pipkb#6z7=qK%-t>2f}z4R%zd)fCzFD?o3UP|mj?xi(r|x2R3Y`D+LK9{>RV|D>6DbXCVBbh_eK#%}I5Cx?| znZYtBgNVff+JeT37Kds@2GOceX&24|V5=2MML~gzL}*1+EL2m(Ws76MIxAS9EG_*$ z_jlI4r7!uzzO{bq+xkKOp_#Au*4(t60I0(J~Vd&g`q(@bc?=H0G zeV~;yjt8w{&uM!1dFgsiQ+d3OFUyS8O^fxJuIJ-GhUzh|jo#ZTO;=e`&sj=Kl%J!z z$Ii{qB~9;{dd^Uqsj+;yA17V?rK|6>*j)U)vtxZ{=$&nI)n`&|{1|y^m#6${waHiA z%-A@8)_l^`*2TUhL+cg9@|S@}63)#7Rp4gqV*r+*Qa)G;W~0ux!3xds3h*R2AB+bh z)%Qej6X*oGgPx!VI1!wz^hA|0|0Hl~tX^+DpRSbUee_)}X#TshQhXQJ;c;YqU*GTq z*dh5&!}pbgIxqrE2ls(S@F$c%4;sN*umx-c&w&^8z5#3!PX>|9dD-!@lp)$^j%~D8 ze$Ufm#N{eW<=L^eng7TB&IboT0}9>-!|hrz&r_p3D9ICYt}QuBrAH^FBK?9W)l{HDGyY z^1BhN13RgcK-YxPA4~u@g5}^3UkXGqzeG4Q(FTwm$FaUG_BSEd6yMq%zk@DDf0_Y4* z1LfdT&JSsCPz^c-b_VVRS7?mBU?3O@#;ILrjnNJC1Rpu;V}QPgdZ$?Xl&iGJMLLx7 zSt@z0)O(idC1dZ|l8tuCPsU_CUwsy;PcQFbp$+%xR&Y<5ToA1}p@(AhQN%p%AiqN5b^YufZqkdjz<{nSOWx+ygEE zUxE+75%8LxIgig;(A#Ax=CPTwt#^()3k-I)_s=+!ah{V&;68AAXnL&z=~Qqhcm?EO z?i;~uFc2IEwjlo!q>q9UJb#d|xi*BhhL3`5@Jq=9_id50v$PxxLA`OI$q@BBbwUO5 z9|D!guL`YRF1T6W!2OvAo>JfALz4x{3(rAejC|#JnJ(6zdO0tMwP_c_zq5Uw>iIr> zJ73l=CMWqZDzwHGs#C1|9Q9M8GE%92OI4odqH|EHeed4Fz9&=cJ6~=?@`5uRNd5E- zxC`uNMXXy-a51<5tOBotx53ba=|bwS%fTt&FKF_yGo3jTbfw(~r-Ca3)7jK-Ki63E zsRLQxnf&ogcF;5JSB>&&Rj0k)JE@G&Hqf`Bz3QfROzHE~tIYdFtkXr$b*l4C&p+j# zwtB7Bk^MXtHs4RD6#dLm{U3ot&d%31+6&|_rB9f!b>57!ZO-frZ3E|f6Vl(y&Ygg| zy+gCl?}J-qW2fNx_R!Ytda&D>&E%f!!SndQWNE51eex{c9|ZNG^?ef3#mK)7%m6dN zXfTv>1!p+3)%B=*378>!$#lBx+xcKB?HM?iNW*-y&TZ*m>bu;d%3R$LHmV9OcF9_%eSM{TXhjI!wLo@%_j32G43ytZ(0^ zw_ovjRj96q=e1mYl*Rh;w$0}iYaXS_CzUR;Z>6g1`}4Y@M&+zqt@7$vUPY|k*Zyq_ zdZQ$T+%5}jt{i8sGn=#%G=X&Kga+;BUXUJ|?x)?LOx_3TMKo-jD!0yoQx85GmhV%j*o!zZz5Bh2!dZ?W9YTv?n z$WAe@&z#8_eYEqy)y{m4F49%h(La;z;~oEgK$YNxhd*2-L@kGw2X z#;UYVkF{`r?44qr<|OQ$zS+gjzI&xJe~|WwXZ)|AbztAiI}-g)`k%B_BfvHCC2jx< z!Fk}#z~W#ZftRS8u(q8;v!%3WcY|qoUjw$wf7u5fkxxS%^cB+4vbR40SAq0|-76nQ zS_=ArCe+)D^mE;5cP4DTCLn)pX#UU3;8|zBGwt@fTp#%h)Lqm~TSSKRCBJ(wII42W z0d?I=dVXH}{vvqAnJ!~o;6rD=)caiH!16xUIx_DaXZHz?+oU?XRklxapzlZDk@w^6 zk}=+~SL6Mx!1Ut>>Z4LJ;bSC}ty0NM(nWVRA8(<&40Lu^^z!6mc4;n(;rV!>kHzK3 zWb_heI?&5-o{M5TKCZ{{ybkv^KFdWm%*RapIF#ROoaqIBzfRM9JGv-F>FsJa7x@Z> zE{ZiWE-^u4QGZk`KifqyNFP%yQa$hca~z%%>ezl-Lw^qaeK;BGqd;T$I}7`7tufh8 zm5Y22uEVv?^qu!h+KSDt`E$$fI`-UBPg7q~uIa-CvfXDWrqiTzP2Dy{vdnsCBHa&u zi08%9*VMW6*#~Rwr-32b=US~Z*Oc+d(OQ?`s^3@NkMar%uB2 zi;9oc9(niUJ?Z|yVu*Wm?kJCK1B-W17k{BKvvn8p zbMbM@YUJmJ7IWUI@p|C>9B^r9F`L6GTLJ#<%m(a|UZ9TeA6Sf+{`!kZ3qtd4#_1fS z>01f!*3>ADeu0fM)!BOSzRDkURT|0<;ysbDy?u+mQE0J-r{&jO z4rYWV1N5B^fX74g2X77S3|tLv0ByhX<|}@pJ*DlYjhzgJ z1m-J{rOxc_GH3r06iE-#XW~8QVQ2opUOn@_BK`+-xB6!L`D#lW$Cw%aGoo)=FA8)% zxc=GFYy454{8VSYOn&r0o&QYmA=b13X+^?x(E_dcwb~E*R};Za;36W%yq8|8=Q{)Q4MznQ zZ{Yc2Jc6uNvtO>KNYF7#F!p zGJdYJ|7Ea5ZWMSM{7Y-RN_ycSctZQf|2{_OY}M(Ub=2A38d}Q#H#i@jL)ywUV1H;n z?;D~0KSKM-yUcggXFRsx1xPF* zHU|(XYSmtXGsRqEO=B^r~yD_N$5p&wU;li}l4u6^mG%*pWj zDP^Cl7%$?uN?qI1M~dN4FdU2kUjSDRI*j%8~}l}oR2X{uZA!iJEUb2V&V>6#0*)TjDV!*7M1Tw9t?ot(@%qW-Fm zpYxqunJVUWbh_@Gr6cR#u~~ZT;>N8yD)03tJ@|HOS*M$`p~}h@_3pdU*|;&wE;X*6 z%Bx?J>viG#(&*yemeOq<)6|CaSLtL`XO&mz=ZM9%uGH5mXSXUROY5h?$NYF3GvsS@g}Az-O7(lGUYpFmA7@3w=q%2me&h(1;=yzy+hn{j$xT|!AUG*aodL`fwRGhU=ZcmTpi4MCU*>F zHBygX{{lUhwW7x^hzy1P0(c!d+Y45MjfhV~*cbE!FQD8yuo!%b;=cozgRO|?qwLKn zGtq1U&Pbx%W5HOY|06_d5w8SQ)+Xo&_JjH0+$7p16*6n6A!OFi9OmVRmgi*`j(xP# zt!&&AbO$|L-gM@toxQrT%n9IB@MX}C<%*=&RNH!es5QN&;vAR)ZUGO2OTj|$5;z3j z2(eND=b!0i7&seD2TQ?na6NboyqH9N9{~ShSPuOT0pme)PV8HE&XwheZvjt%k3c=_ zbRSp(&H^Jq5!i*iDue^U05A$Pg3pn@AM69q@%w488{7bPfK6ZpSPCuzGr?N$9WV(@ z2J69;8L&z%m%B#7O=?HH@KMJW{=U}G=@{bcyJ==}gTuM@_uD#4;=W;bB%3F5%@&A10IuQMGg*r{f4@!n%fJez zEn)sL?hEt51z=WIota<;`(^19h^@PCg0Wo7%`9tU85ZK6XKS(#=nKAvzKsHNsq?7Ji&+TYg><(@jRTYdhcRME&R(GQN}AOgp(=ha$~#9f@?|`%~oF zFJU=_DJQ!_mVEUw-9{PNM>3>e`K{${{2HTVr`Uc$XlYyZP5M_Gg&e2!?`>B|`$|8> zlp~uf?scTOV(s*&tm4peKKU^hx=`PKUbYqbIj?zAzlye5D%J_5Dp})m7g$ zU!^PAS8K__E+O+4A^mt8OW&$1TS?cc&~hH?Tl$yoxlVf2nXjzKX^Wv1;!w~1Ly%RL;QPS zH#h{|1v|h_upX=c3wY1Bdrfbi&x3hpHuJ1C-}*P;U+7;ayZ3~6XMH|IAK3I{zU+<= z?=K5Xr(hLiZ$R2w-firjVScp9Fh4K>dEh{Z_f7MyUjrYTUfG`}-V@B{elNs(@hILg z?2dIfMBmcFef&1R%6!z@LcCX79eXdRV|%%j_mw32Th_j{Q_4G&-8beX@onG;W&927 z4KZ$auO4js)sR_x+9$N;n7iD7TXBG=-M?u;uIRu_9#l6OB=2 z^&YD|ME3{nyV|qWw(c0FQ}cOyvLEGH`sl@Wbq@c(?@e>)&zjG>lXp^^FU6SW6TsHo z_?B`UI0fk+a9yqhZ-INvcSicIBEPH@?kF)&3BMF{$eiuEziPZXdx{w^qmA?~Z*L==sVCXY-%E8KEA%$nn%}k_FKI=O3-hC|XnW~- zU|NX&o%wY?4$%jGfjkM`4{_a_A8hNmz1urVxtDaK9Zoeph3E^n!}oC8yKJ0E?8KLn z=&MZT*)f1+%x|=}fVXWw6_R*x99_Ufu@{j zGkbT~2DVeigP=X~hTEG=ZhTj>x3R(CDzFS(4`%V*#NKpzgO#kaI4ADIpMpHpKg@HW z5{%~C%@i;ltjUe%*ak3!`}@maJKu70k@h0OZk)HP!CIaT2f>Hn4e&8IKR1?}ofF?z z-b45%--yh{XCQtB=nOtg;@N5Xw|9zr!K2_Fuo?U`#69^YhW2)FKX`(+ws0HyIqPf$ z>%pcF-^@M_@f@-_VYah(M0+NcDI6GhInq@ z4(?zbyAvz}4{#j63URMD-T|+JJt6w2w$?vmy1fVMEyDa!d*^ut>CcAvW@CN03S14= zfL~J=n>kK<)440e_iF3Ya+Y7gJbO#DccHgA$4wu04qqGMnOBUo)ewg<;;rL-Ff8?7G$-d@%T3L!_j(aPue+M=#2Mw zc#SRX+LZrY99rJteP2?p{~CkNjY77ocG^4pwB}E$4;q)^t=TtQj?M-78%A}={MW2= zydq@oNd>O1_vQRMino{aTIlTR&pzEVbmy=>=>KHzU+Z3@dzj9-g3wa8*>5`jEg*ZI z=efH70{{U3|D>6Dl$KQ;$A8cJ!VELaKFl!e!!8V~0s$(rg~TGz!NA}sC0mJ*q->dj zU{)Yom{3Xxg5{Ek8HS*qutb3(QSpEZYKf^RQB+81-><*#J|68_=bO{&)Mu7*x zY|t6}1FQ#I!3AjGZSyiSz^z~=m@KXXw}I*4dN2vx0It<{zE1zJL`w>nB|C)PT&!S&1%W!lfu zgiO>;^b`6{%0afq#rGEaUatLNezEehR6a*-by3|c>8SUM_Mn$i;Fn6S7nV*5Jd< z*tZu!Y2@~cnUlQwu7~i%T;^O4qOQOgYM=s$Gj1sGw20+fG>cl z`rbZ}obxfU$K!Iu|^T z=h<45=IE~w6oYSr-C#Qy4Gy5~kHK5u2zU`}20Ov6;5qOFcm~`9=7EJ^C71-pgQ1`Y z=mk1}=3q7JqVG2(D}U1db0Lo-IROrU-C&2l?*hLAe>C?gOy2{qgT3Z*^gcLbE}QAd zW$*~tr#c@h|1+e2GxtecALdm>Zdbks)__)#+kz1wM|IdI$K3+&SAcer+cJ*fFI-E! z_ov>0)08{;yq#dH>OO6r$1%NNZf|#Ley=KzW2Row<`*d~u-LxWm5djilOOyN)8IS8 zH`@BbL>)fYQ<`j}p2`#^-piH8v^dcZb(H$kM&IhGANrG^V+~a&^vnFF8h^3s2Ok%F zTkx}C{JBc=&Up|1H2Bv%^--+xm#UvI{}4mvD6dp$fe7;r@fOntYA+CCg0e*W6`EJM z=GI*Kxtc%er!q}6Hrf>0r7Epc{Y0OYptbVKRWGbZa(%+y2A0IUMLWWV-+HQ-UO8O#AaWP@J=?}GiH zHHg4o^i?0}Y;cmkAMX#D>*P+Q9Wkfdk=|<_BmBl(Uuj!tE0&u3e?mKQC-|Ag@dJ4V zEY`ZtQ{E~q?)69(n)~`e=Kg)C7_Rr}=CKmX&QV`XC!6~t#y`U(Z_H!NumWrZcY|Mn z+rShsQDayHHfTO4!40e*xhyx9oKgnpOG_-)feL-2toE?8^}OJmav`7cUvBX^Cg@K) zi*=IavMi35m?mS~U=It`em#rh>#RiGU<25GTlL*l@4*%Z8^n3ij$NeoFEQ7BmSsG^ zwP=|r-%#x_k8$Z`7TbhiLn~EggQ)n@Ve?!*BSF}R7zdDOZE6n z{rri(Jz?(e8Smsv&lwvBpV!dNw&TICRaorHf}aY$w@UR2wQs>MB>i{Tvv7V5KBFYD z@09rqRkwFy3~kg-h%-VvL5|pW@PCCCpCwzWTnCH&d70+X(Bhb;&|+PtJcihtXPsUe z3%?Du^FLR8ioJgsnXAB`&CgEXH;=Vw^M0*;8EtM02b!NLDLcOeH=5hlY364!j-#>$ zeQ1_p9LFh-sIx%v`~=ViGzA6Vy~xY#RouQ!vHK+X*n!|A${htec+Q3__euL%Z9v*% zTKXXRhcW7RtDqdN)tO*1xEHJhiz3gbzvjKlosr*>Fz;@j+rjO5396TCuk$PtA6lb-7L2Im1?J%%5_oS^uMDdCp>Fa zCnrT2OX4BkQ;Zz}%!RD1#o8QY}%e(kW% zjI?RRk=rBEEsFhWh_8d)3HMpadnekAaBq~Y`Ggob*s@}a?MJW^p^t$U`>Py_@1HhX z_3IYyZj$RZA56h~b|JGoa(ny(umO4dz%5vpx#sZ}^J$}b-$2{Wc;}48aXHtSvP3)7 zLTmq3^SFo4UA5nov5U1ovo-GHHH$SbFug!0@J8fwW8C}A zwAa~Ye!d+X`F$wkN#3QE>5Tf3`5CxJ6t6q`uhO37E3dWYNrLWBuPEb``JU!BG@OMx zs*NhG(GWZT_#iLswl^F{DYot*7!0?CiVnCKkuF!H zN4WE1J71H z)NW-Bezh<|yVNt@x$$?3*}7|Z5*!5AfFUWrr#OU44};$5e{9nF^{uosM+W@}XVGL#e3QA1Cu5~ji_g3j7ROG>d%1A- zKA+z|c(+oKav#I7^NxdemAqS}Tv4_sn9DYQbD&&L7hC?1eeWH)J!kz|Desr-&4NqR z?t~iJO=oDAG1W~ z3-8QZNg0i&V!_klP%*}YKoqpG&ZNG{35Dbs}zMs$h9e{WEyvH0JxeN^h zty8X-rP`lxh7R{n;kP8(3hM0@=C*5~>Xd8lj4Nqp=_~#V00960q?vhiRn-;7&$%y5 z31dPMl7J9EkQox0A`_D_nv$1z31$G_Hg#Ay;|U8jvg*a?Fo`v7i_D z9a!mXFi+ud7<>+XklY>uBQ#&ivJdF4@l6Juz?~pd@2>-@>O9n6JzduVm33ZG`m3d5 zHJ#T`|2le>dTk&*v<6M2<1C#w(Y+Sxo26&7H2$hu57bdp&_>TRke-$opr@1=dK!g` zpWs-6@5A|BpdEMsECYwYYVa-i4@iM7=79C!ENBc}`pTAULmxz)rs?@qeXp_FsPjs?S4r#T4v+)7IP+We)t`Df zzTa4qQ;9kv>>x65b z>$9%p-&g00o!P}uXZ^X}X!|$t{07abu>PhF8eYJ-i-G5HeVqO?FnQP0xH>ewg`N*W{vY{XOyx{;Qa?yfJ=F}h(>U^IgbHeegv`#sNn z{{uU&>)MWEpX>cT&(}-ut*V!%Z6o3R6GjTQ1hvRmQ^FaTRZ_wsxl@eCT_*Ql_ykn{M?nB3MnZCC! z*C?SlZ%DB{!$o;RC?Dx3ZF%ZSpU+tG7@{-aW40N!NME2NRTz~)?|h6g3vIu8W81igN@B<>tlF+FOmEG%OD7-s``yfxnGYupWZ!`8sE93xtlU#88j?G&D|`H2xT0 zR}_h`dEIW9&U=}=FAjs1R`4NB13qJ;V?d3_({ZVsOSM7xz>NGR-{w%ri9@RwZ9@2G z^Mk=Gs1=zOWJp7E(4Ba}q(f6XrnM~DTe#_F9gJ*JbG0?LXbh`LMCZs%QXtrrqB!&K zmX#^|VSf^Vc042v+U14G{>efX!^G})loHq|A$L0-9W49sl<1}l|8)QI@%8JYz4mnG z0N&dO5|&@NG>aild&*~QX^ z!o*76#W&tJsqOJ%fO}5RLaRR=dr%_#W(j_mjny$Gv~#=Y%niiCw(rJpJ-?0HPr7;= zb;gDO>%PYN(bbl2nQ!(EBySA%6K?xI82lTQvwfE>N3~aRHaeg$SdbD?>Jlk-?+%^~ zYimTml~J>K5$YW}P?LSc)fV1a6od-4@QgV{Dxhh+{lFXeLzl^1_4tFa6uL>5c0B%< z&RyT6@Ygm&`f4c}G$SP`D?l}!5FQ5GZy|lAl)VZPA#U+yRao&z_5L{3h8Tu3aLd%8|{$W{5_zQdHS=ZGwZtT;bvXST1U=1 z>o?o`jaG=}H`&{t*8KgDSz54{6KU6^N1fJNMSb$44p;e7nlAOM}I2wuf9Kc>;s)}5!tm>$dlZm z^KX>|h{SL!Al%_n`}AmnzyV7J(x+DC-PQ1W4^5nwB#9^B*O5c*s6}j)yL0V()RQ6P zM7o&i;o)CTZ{}m=`hYFo^0>1N(-7~%^IlFW?1#0Mrj$udj>Q?Jy&Cr`hw963)h8IU z)hy%zi@8DI<62c!&ji`KgQAEZz8ii<$2S(y1+aG$J5e%uZ&$3;#(W#a?77tj6?U~l zsGaGuVeh+KfTT!a&P~HPH0j6cc4^GUt$=8M@ZPFY7+jLvNhK_uiNZm(P`zMZ)FQs*8^L(3m zEjA0{LmBWZ7BP-tl?R^j6WKM)?9{x*-9hnTSXytKMzcTPu;pA{&VcI5DC5beE#A0T zDG_ZXAKik8LCtA1wdJm8Q0c24fZ{_<=)}_i9|O5@YfR{s=!sJBkX6@@z;SMnnCopR zD|Ox_rIFcC-R|Bm1f&H3ssE`${r3?dkqSBEek(`Jpe zDk-J9Wp?smlm2PmfeY;=H^0J*^NRW2#XaxHVr*7M`=0HbEtB{9&!~Fl$o;{qy=r&a zXx2aN5JxDIiWc_JkJsd;jhmO2sNf(R_O!#(U!)uAR6MRWXk zlDNp5<5uu;7N~A=B;;;@yh81HKY`w}M~t1`z!4wXXO}&HPbuPh!*9tE85&BdXm$?9jCcIyP)pMYE=zMu(DUXlC*G%gl+Vu)Ij}{N^h|x|a(MJV}9m zx31RuEV~!}BRj6si2LxVawv^7N5k^ZJ6X@aO0Hu!a=qdwvaJ-=kwJa#_T0g*4-g9G z1y{<8c47;BspQ%7E9*qgSu&igtT#+U@tN+RPStY1y+j5%;zQ-SM)}wIJq+brwz6;N zxAu=(Z!hHrQU`M^?({v*R%h6E<*7pq5rmJ>AO3_KldXlPLsA ztwd$#cXuj6~G#=oEKxq`=5 zufH{wJh?>G!@Z8bq68uV1xu39sn)r1(e0@t@N>{ZYN=IQ(Yg+Ul?*Xlodj zmvY$ZqHp|CL4xCTH#BsNI=Ji2l>_%Bt#wM}fiPkgyZFXB?;da>O>|!`t+G$bE=N#N zG{Iv*kG1l%G+?QkU5BT3fmQJONOV#)Zj;ixStHB(8@NKiZebHJyyFAy2Z55}wgYnS z2ITId4i>h59Y^ENPTKyIg>Dn^;>2@%B_ulF;vrA}PknPbK>R1*^3DInLK0Ev{}XC@ zr~eQQ1z|zhb*JSZiB>lINXpwB#!p{!OEA5O`c;(TG?MYavCz%nJ6ufjB~9-ICq&g4$6^W1soAPq$+QKz?5MFrkfb zXMXS1FG;6a=c^t@+waHSUS{>rXvu%smZ^?~2@*f)I!srM>wCbz)umvd)Zm2a=6+|a zSQTKvWx1x!@_?J`-!fF#bDG=ntYe+<7joxxpMU9d548#)(tV6(5U(k8@X3)>SP-P zT!e*HG|A-5eV|A7zpQb5)-G>p;@p$9mI2%z`t%XDW6j3}t!;Kp{VBRJC{`Wb{Sdim z>EoYao#|5)GvO6WDeqm;0EzVm)z>GFEF%z5p^4~^P@rn4)yjsuaJitYfqDsBLvs4a zpk!!T_41*Y^zzTc?2H)9>SRJyqLLKsJ$gk!u4KYpuD(8d!Qr|9j__X0&hZKhA4Gd~ zKNGUm?weR=|Gt=FW@Dv;weO3~^Dke%C!*-lR9HrexyY#_7PF9U;F?)$EJ0cdDEdmICaKfqNLB{v$UpFY*&pkn1 zH$9x9hgt&C(tB`!<%Z|PZZsAH)3nU|qbe=<&7DiQ?NF_1@k;yC8Mvg1x)CF{EL9`B z3~V6QRl1L^CO+m4HcIci5tuN1ueA)VgIJaJsTih4Y|1)0o!t9A>(2GD^_s$!IeXOq z5S9g&OGn?jL@nPxp5|TlkJ{p7mut259~&Nsx=f14#qOLE`RW&POSE1k-NZL0x)aXe zbjL^2r7y_^qeiY?t)AZ}JiNGXevA0WVHRN+F%Ne>ajIqMq{l?@*sHTs@|Z#%Pf?Xb zH1rPGv#`@RL)?2UeE>@o3#asvo^UrGl0)iv4dh}Jr9JCzQ8Go=>mbSJ;b(kD+9)U! z;SP4y!d~v80waXo)Hr%|_2_sV77?x^c;>wW0YuHt)kN(){?@Ks>1&P&DhemZW!qLH zDM%b(Dq^m$7@BmATIj<>zkvW>o@{3{>8AWZkffyu*a%GlM}*)DJh#@E7afrpn0l1 zfjvdbz)BRgKmTK2dgrSg&RW!{VB5uoGv7=6QPcxgV<;~;8iqpJ7`w!>Zwc2t$_c@{#G@g0^9IZZts_k4P# zSj&DE)ne2P@Srw}uz-i1Jibz4%qs=OY>z=iFgll}o;uZFidw^y?y^mhoXapXm*@Rl> z8Jr)yy?mbfDurNWsx}e}s|nE`s)#M_GKf<%Q&W6yr*5_AL&>qvZX8gLd5+UEvm4 z4^(V7HR$5yd-qb|9sxUYd}l5&>dMdrSTlMx@BPz5#-cf^s9ENH=|Mj{kkfY1;770U z{aiqG7l{q@^RXFme*AS0!{msyxW928!#sKG6zo#jm*J<_YJO?i#Pu?+D2DrNEQaBj zK}rky@VoM3YCf0zafQxM!$f+s2<1La_%|lU-tf=tRwiQ`=}`4pvxVL9AP)x&TkXtKk2~`_AzAu$eP$B|JK_1$&>&NU z1{rA=y}Rk`!xsS%sLOV7&iyBvd!YX@P53~xmUgYgFION`W@)*0u3KUWgy^xk zK$2XCW_C4H#TH|zngcOMkueL`wH*_aC0#*7U;Zgq$llFE+D=!^;eFz*qEnm7vw`SU zPtKZr6l2rT3^Ho4wyx49eGqN|xAOjV;O=eE0jR9%QIENSbvT^(_Xlr%4VC}X^&fiz zcALi@usfvI73(cFWy*n_V7R|g943Jx3}Y!_T%8TT>%G$5^b$R<4y(8~m$+wPxN+vQ zZ~ms?AHMEfnN&HVnGV=3oO#0NWSs5tLpL2Z2H>hABN^D);rO@XKlT5$d_8_R>0WQ> z+at_I5J3)t3A_nwf?o=6yo|{&ZK(-K@j?q$%xIrP9~)2Bvf7)*&tib(-S)tlq;_IAJeJ9D-OkrNoV|Y zjY2&~C8c+Se|`enQ(iySsIzA$fwu|bgtJA8#VH|J7WM3&p{9y^=TNX#gRaUZLWcJK zIVpmF+&cqCROzyVOzm_W`*cSQO;?KNHV9VHwL?-)XHRhxscLEY@045l4tV04V044` z!vXue^iqMF>wgqBsqce3{socc${Z{HaKQ-(7StdzH`P>Z%N?$_T{i)vz25Zc1^-BY zsDD|aK6e^)_=3wu-mELZY_8P&Wm_pPW9{jN@587KjMiV-^Dlk57Sla5jWK=eu6`P_B2 zH+uDkd=XI4QX(C)x%#c$j=I`}fQDbFO*Ab3{TJ_N)8m2}daf6}WQoIU zX%5Z_#bh6Tv8L5@+Y$Soifdr(wQsmPXkk1vQ^v&^n%jjP_wLFBsY>I7TW??XK(zaW zPLyluI%$4C6)U3vJ?+kQf2t^CY|}PlY{bBMHs0)1j-owRq@Xv+iw((x5;VG2OhjOY zpgL&5hsFFW&hu$2&__yg$x=og0J+V0_|f?qLnHa?-`N1R_v5s^`gO}7`&+2l#BNA? zd>?l$i8aGj)X>QaFrObKGF2@<<7WiG6yhDHI4+@yw)YjWKZv5^KJ|w%H6bgG%TBH* z=~pQ+77J$5w+@UdP$5mo^dz3uh4M-bC-OJvu^}!@+eH|NKuhLA{hGAJ)*$xgR&(J= zOM*t>dm}cWU1`J!{I<`11uNLz!syk<2~^HHoT8SY6VUyAG|`@>mHOjAOX*-YqZE}T zqXAWXL;xZLB)-BxjvHV6?*1QGoHV&Ftd=sss_)nEwlV)DMHhpTxj4r{N$%KObGTl$ z1L&%()AGQ$=DbWF1VP)vzT*L757GySXEbK^@83P|eW73Y(`_#p>CN9kVNE&tdUS{H zgX&-evwaa<2D>Dg3S}z&>XxFOam!%7Rj@_+SYfPHSmJoP!Lfx-x%aUTkrCnUjCl5L<$Pt$M2>J0}m9S3+@p6#zH)a88nD&$7ohdh{v+wGW(T)V`0 zrfXRSt^Fjl)atj`_B{Dnibn>b81*vr8}ILfVyr*$8ulg32rcsl#@c%PcKvL93d0!p z1Q(vA2)vXfuAx^qZAoF};064-GKtH7yK&Be|OZxTXpL z+_BHpa+qCEQZAtBp%%Nuy0`}>2Tm9AThtJ`ZVVHfQCTW6LEk!xihpbZ>|Q|#i|I_L zj;k+y4olts!1#G$YkJ~#XiDM7*rrZ^^2!ZT^UCo!-LNlgx1VHBgq6_qc+ zYbpk?481nz*k5{%MTWe^QodEuuG}3~9NIggoB5!Um(6aTyRcjh$dBDZAqgWu;PACt zjg<64$Vahsk5k&@Sl$`Kk1D(jCggtHVaW(t7yUAcp4o~R`aPXzrRkw9mk9-*^q*sa~Ucwd1u3t&X z1`+1qGkd+|FOjxZ9;&k1S$w+q9GvUSgOoHk;A++O#Qf$#s$4w=v)^rF^ow%>Z*w2F;}$;cI9(O`YH8hg3KI(4Be%< z+IiQS@omN`%r0UAAqQ!`e~||_4Eb*Fjxs(MMW*UO!U1x^7vu0`&BLtZeHlU1JaGVl zGW=)U4}as!kK;M+(Sytm9*X5slvbR%5KsDMnWHRCJIcV_HHeMaf;??jlW_gRW8qg# zboDfj6Z)@{u51%*%#*{qxI994MgHjRfoFX+yEk;9{FOGozi+GE=SMAGnI#%(>u|?+P>Hs*puR-$Y z9zh=cm)_vN^*hkXvpvupAI{lBO%DdQ{l&mniHFZ&S3~0Uf^QNl2$P{LHi>xvR~f#6 zC2ffD`fMc?-BU{QOkXaYjp1d&=VQy`b8xFmS@YI$(M%HV>qgpIsmWsoEb|Ym>GU)_-wu$PR&Wq( z5O!}fq;U-oj=ui7W4zKyiI8%uE$B>ltQrpJF12rT^}P-kAaHG3C9w?tRc#|*;QG_4fF~4 zScv)9n8q>1huW?%Wbn;esAK9EkfH(72PQrEPnE(k`H?=x#cCla_gzHW8sxiG4f(4? zSmbGp`jARozU{OG*!lR5cEKyPV9raJPFzfCngz*x-f6rRO7CZ zT5!+Nc8xWhZO!}Ow3bsJ6I#4bN}=*iiZPy`UK;;kQE`y4#>O=-kLB@%zm3gOx+J}L zR`01dBKztB@YRt~%|2tRZ>Lc7+mT{C+A>qSLln(UzVPDOjtS}?19dh&M%1w)t;Qw- zAg5aBo4XZNM+cMUNju&v4>mx@@pxOe(s%Y7(AR+04g5`1kj0&*G!5#j)q-|i3)9~* zK_JK*w|m*~-6}zU#Ns<1jJ0+QfT2S-bU;S1ChAuu=Yx1ngRl7RV7)E(mp!96*ttF5 z(wG7lA?%iI9Dx^Dj=6BXT(ZcxQ7bxlDuvR9p!>)+BAudHS{4gnbpz5a5PGWAcDC-iqLz-j)=V2BEnDi}nKVCnQ?J_8TwR%{vy=x# ziGC3K)=y=ATm93`(6Tr_$fi2zfJh^z*o^QM!V9?mQQC1?lh}R^HtP$$+kK|~{|$tT zGHHBF=ZOPhP`toa*QZ(})2)XTI!nw}Xw*z{@CX@rLzyGCJGA)bFxxJ_?HhOw=14D-I@ObfN3Ogg@cXC71a5>(}JDn*? zJ6aLoe03r6{@y2&oH53#Tq=~mBj^)8V$3Ygf9K!6)rrk6ly4=u`c+^&-Zq=>xYl+D z?%c`6a7+>e5w@qfAa#wB0_ID(mP@leA*p&Qn3|*EK1F(0XR@DVI8%pz=aD3{-?m1H zH(ZgglFBaf!AEXtL}XB}?5;fhwoongkv4Hh!)H!635oBGhJ!}ZL@wPUS$Si#t7O6u zmfxE;RH|zDg-n)N8_kp#6(6>qDY=(exQIUv=v6uq3g+!3os39^*W{}$EHX8ITeieO zh~76eTP+#X<#jWKs)pvoNWH2nW4#8eD}!a^$~{A9ilV0DQZz;=$>z5%hC6kB%WU}r zbWW+ENv&E{A8FB}=XmE=+`jIFsitE?r{aDH?By<@krrQS%-MyZ1cXtG zmJ%cly*u+rzH6wSFmKe58b*xN^EftG+1H&iUZ|SCjUJM}!o zoPW!S7fS|RE=e-wqBQ9md2__&e#1+nxNeqV=AuMM9V+TyM)$OUGuq>KZ}>rJrVHa^ zp8Qo7I1{lLGgL(YkFqu(MQJ_mZC2b~io-hgI-+LzgUur9*>*pjx)^y;h30G{C5n@Y z*;${ihA>O{+Ex&AHp!wcTTFR$A7iZ!(iN>~xp+JFh&v;G8p%0!%&<+}=&xUu1?je~wBtf6-uE)Oqi;5LL6!lr}5 zf1spXfSa#Rq|F&a6w&Irjv1OABi&UtkAtQLbFB9}HTjPBMX~3nxtYp)^5ogudB-zu z-*T5r8{qOQU{iGXj;sy-6-P?#hs>_0J3l`5asBo(%AU>NfNsV?|uZohPx!)IlT`hRBc!NjtZmK z{N)$)%yqb5;9Do#zr2!0IM+uP z-uc`52=&>=y3Y0B^11i9@B(*sg^uT?ctFWk%TGO|BFnC-a_j~`c@^gtn)^94zmEPT z2{t0Smuz4rbqd+qdQ{r+P7Xi-{YE%;{SJ!=os(-?KOQ&i_-%J*ukv}fk==naFE8A< zu0MFcpqVVy43cHD@6`uZLC#{mW-cNpQLp&+4*bxY&YeqN{RA#r5X&am8T6Fh*irnh zI`_7@i{j^Y=i~gm9$G5pu|y9mxG`{>qD1mw#-QludRHb@}BqbY+AdhG!4ZY<_cLJ?_cdCxq_% zFD&OoVn6RkuFJMIpHB|@^jvlydLK~HjF-6XOf`5e4< zOG9-?TWwubM*Eix@;C0)5{jPGc5DbU0S>R9Wda%VVd&%jPzN)~yK8sNd2#p6xy`%T zeJG?_dK?YF4rl9GLW&fXMAeSruUvC>sqPOVgP^Zo$+)P z74_5cfGj_*AryWv6mH-{m%+#y72PM%izMq1G+JQzjrPDxDFAMN-5$*UD#fVh7}&CP zX>Vp9G-#M1qT$)dg7W&)kmdIfiw`32aL;D+fNm2SDiF)}2#3_AWH^RM^w!W}_p>fS ztOjI<`^3$D=ii;A_|PDc+`s3Z8!pP|YA8M)gOK7{B|A&@C~g-yjRCT?vc-@U_C1j# zI?iB}jsbzd+nskCaHk(~*?Mo+-tN4`Ym}GX$Iu=>L8VT~HJ=AWQJz#!p0o7=tLcCZ zEUrapDQqPY!fVf-@vC7>u9inMJ`1ne))P5mUu~vF#!KejEAqHSui2$(a!+b(J+v)P z#?Eo_Cp86{&!gE{}Q^D;5V@Yw}UrgNEU$MD%70)SkB0+ z{4_m8=g(1~XX+cJvMr9nmrmvXK)+Em;p&@&FjDj17dC}!_4;)LIde*067|=40{bln zZL!jP6x3&7Z~gKT$D0JW!eNS~Oc&4YObA^WLo!lj{8`cjyQP8fsXNt1!SEyk# zH~6Pmm2);_pyal*oY`|4i2BHeC?oxiekp6N#9N4Zt2*lqWG&z`OnAjQD$hD>Pzhy2 z7maNu^^|O}7XkN_$31_@viZNf$nv|e^1FB`%?|~u?scJ8|C7esMZt2XT8qr$=O)g1WpQByEzn?1X>!4b=SYs@cd*VByU+eE&j&yI zYZH2h?DVBk8{u(ai8=p;8;7h<@^bs};IN_}f_B)~nMpJ868>}HpuF$Z@{dCwOyKV? zCrWi!&n|DoLtH!fqNjmjVLd0fs{{QI!Y}`e^N)(94{~0B1U~$5^}u0Hd$wC}K)KD^ z{w^;NuR;h(ZhGn%8Jqp^CAUDw!*VV{Q0ECp;&JY2HS0$;t<$ojQ}P0|2AUNF-Rg~R%H z9^ej_o>_cFR^&N`#U|A~u}1%*_v}3U1j9(beefUQRQk4EPi_h7M4H+^QJ_mH1e+Og zRkFb_2I0s3zzspWf6>H2b}Ny>Q)(yk`k`4uRy+GaD|0xeF>%A; z!^-~SzgPBvMQV2(&5VT(ADLk!?^1NEii_nz7aR*$@*%PI@>0*GSp1-ZbbX~b8Tm_B zdcLyFHy3iIV!r*dTx9U8f1e`a<0yqs_e_Iq;OL=3m8Nc5fY4|yqjn$fxI1IUEhWf} zefLl=t0YtBcPizlh9@ffunJ!gsdYXG*Io=YiG3f1Q_)3d79s(r7FDAaqE#*Bb|GJn zR}P%d$C?fV!f@5Uo&i(${WBK6NGm^sbwQPE(>v)8>Y4BvSCo6+mo}CC6qOS=ou2=$ z{nv7hyiwMj(1utPKTYW-A7v1v=0Ujdj3?aJr~Lh9z(eIkFYT+ewuTYk|;Tkqg+dytM1cL<6nnkNr~ zb-5F5R4K1X=8l@bBx^EV~qXK{jobW2pC^^K*=5xeMD?Zrldsr*3o_?pG^Kzx8xIUaMl8(Q$e@Wtqz_dINHB2*Z1ApYxvJjGY zwjO&0&MYG*1S}-i^QV*=q|l5!_GApW2UF(nVGoPg>4(=K&h}~i+mQgoM=__PuN&p^ zH(p)_+0d!sy~%XbL9lD`21yT5KnDP6G@0a{10SHxrNRP*a8gM{<~9K~p@> zzf;YOK}V*%ou0p&vfdJ{1{;DWYP!403;XM(8)_FIv4%$VzD~6?%$tfoPeG-5qqqZL zM%fH6&O3z?x4q53hV}YyEIOSn54rj|Ak0?xX=|yi_~XsJ8)bXisC#rKoOS{L!!Bqx2Co0sCl0(0{7?hIUIA zd)$Z4v2Rf1i@J*G20Cq>F?&jZK3;7NjqkPdW&B`sD-8cI=^S1bG8byqT2rQOtkm|z z?=q}J6lHDXZDQo#WUf1%Hi|{oS^H)3OTY@S73Yu3H{@quh-otK%9Teq0}e@P;Ab`(C_-E9}aFi zn5+i3juh$cRR?kBjo)D_e*}Bolj!2|0yDcWHs!h5V&u#4%DTq8g+YLg{zHAT}wu+`ry=*T%e=}FN#^RFDk(|^~o9LjyjD_YXZ^1m%7z<%T z$WY}hK~yTjGK9CS&d)9n^YDxXubS1ecnub8#OhYf{wI1c$KS8iw7V_se^u8oxea@; zGmAcUi3z)Wd$}d}RCU2M_1!sJKy|QJ86;1hjaphusjLg0S#Vqe8zGfsEabTooOy#d zlO|Z~FW&s*q6V#-J*12A+!HYZyqdD^j7itY{h0z?!m8-68X@)HT3l5Z4_M=e6;5f- zU*wp1?{z4oy_wW5H)y;1J(m$I{`hblDa+yA=mz326U+C|63=UQvfTP-SpyJa+rXlB z3fE?KkY`;MX}(*|>_Z;@JMX2X*|ZJp)JcqK7TK`hu2s+3k*`Z5e~hmuo*2CQg<689 z{$$G&HtclwL?0x-5Z9NfGTi!j1|MGUuYAI`c$Px24-3-4MAdEk)usoMZhDcd_L3!# zFQD*+UQq5*?Om&rNema_U5Z>Wdi;{2Q^r~-%?(sN%f4&IG-wts7X)2`&9o;?r7c+C zLX~R9@ZF|XSGfZ?#*KwHe5km&v5uY&I%LDut?;0JZ`r*rU7!keXC8<19*RtlqO_b;xYB%QU}#Inp7y(I308w!1^m ztWwDKvx9mwGgqigWU&13C6pQqxt2y|>~&NZs%QCN2w4a`*W?kWzso20CvV1U&n{an zw|~r6zw(5dg!|a+#!p2fK>A+)jj*h$zca`clJOtU8RGb$ZPRSLY5faZ%sJF2x~W5a zz#xRjj&RioXA!WS>)(cWit5&yH#yhD_^K=#cr)bR*X9d5 z7+;@fe4_`1D{|KC{QWRnrc{d5Y}n09qDTK58?sa%y>~;@mTHHZlTUujp0p+rPwpx* z)PSK`eIESXXE0uez7S6tY2tGcV39}*` zYy0r`fx_khRBvEP2m2ujlDL0YCx+==h;xZ5m+o+$GYZ*!GLtB2-5CZG$m7(CJE|#W zRo?C;%^!M2c#w3Rs8HhL0*X50qc<;G;N(7cQ3ga$yOt!YdlReQt&F((pr_s0nD&M~ zhYu~v?38hfmR*z^Z}{~3p8HTJFuo*dfrwd4G-fii@8Uvyn0D!?A|sRfd;5|=O>v@& z)bu3%eMVh;#m(QFa?gL_AWx#BMF>3SSPDt=qmvGDQ!{n|PK7as%Et7|!PHdyUVwsZ zzfxsi4|w>32`Zw%s{&&O7LfNX!(DW|$V=Tex?R+eW`4(g)+eo_C-kC!Lab@7BJVCm zDy2Q$plxG7Sxb_H#htPGaAicC0rT0|Nih#7E+SW0^OODDtApb?g`w?~IcO zM)LRFJMSSMCJmjcksj7;YF_Po19z*vh0hL%bc2)n02ID@!aJaSS#Yd94eCQ5k3D1X zBNRyS_2xPokT3L|dNstF%8SI`xY}L3ANS2(X?L`ZGF)m=Vot!@l{XVB9ZZH_!H-u{ z7`j&@$%8WE(a(IOc1f#AYJ79}7d6(<42X~)N(VNzx&igarf}gCrVD}A7ou+nSYpAC z`Jx=do41phm!8$O0r&Dr?&c~~^-IERhi%s^a@Qld#&;YG_ARJ+DSMX1uH~5@X+4*gxn4F^`=}mD*ISB5Zd@W zY1?tAMTVOH*%c1;YPg059A*8x#sBWr5uR+Y&AEVeIp`{zD@6^(ZMzDkw@pSyCcVo#;UBDM$QO!pdL>arv7q+2MvjQ97^je&X zhu7w=6@v+k=4e0)p*EL@kV7m@#hc6$%0}kmQ&z>DZAn)AU_Wuc58iajnz`RSbA#W1mpT<#Be(TUv3}!?!ehWKn+*HYH zEWe=$C#M_tykN1fYcrJL-Ug8044~-{Ar8@)IT!ArEj0k4!&oJpq74=Xn{9!E5z95y zpuQid?Z7d4+?}Q0A5#ag8JtzBSiMw~P^c>(Wrkg8(DrCWVrBhBoJoO-8rC?oT`RyC z^HODT7nFkv-Cec)UD}g-S>5t*FKbukV87H)buM0d-loE@=|f@7`x-4!jcHdCYhE-n zX5#z`BCL)S*k?P)TzjdyM}K}YJ|jV3xBfx4_!F5kG*`<1TtUXAJV$n-aaLSYxuNf1 zc$dAcdK2c?h!r)zg(+F5#*@5%0VdY4Y>BZbhpm9MG9Y(;;BG~uDc9HpR%J0!?PF*c zH0^!QklZZNJkwzLTJ>$;{BLm1TBGl zapEBMfh3hlRLF_#7PfD;uV)JL7TxWmW=G03fwWu09=(@P=E}h#}$THE#g$C+_VDuaY$C+@;b<+?;gqdG)4S z5HAJxgI&-xC*{pIxBV=pRobhXmzSbeKZohAEsgD3jF*3X5}gU^Gb`j4`^aR6Lv!$xZP zBrWqsK+A>Koqr(DR6Y+4$Hxy3<^uUNaMQ-&XI_T~Qufjq9>~C3G4Aq##+Ur zQ{BOE%>A1e!|MrFL_0BQ22FQD_Z3qmWy6D(p4s=CuE^bn2C2a?cD_!HP42Hqt726- zt)8IFHt3ja`;bcWm^tI7y#6@oSz3Y3x_x!BEmLD^ysMbS5Gce;5-Zs9Er4hZLU=|D z)P3@CVZhd6Mgc*?_K+1FX90vf5Xs<@l8#WBR7riHGRC+DsXJe?W z*U=lipEGPlsitu$26ryz@b8rH3&k*Pedz2E=E42!mzDpU?E`ybcEau3llRWcs_mw2 z5kM~Z6BeDpczPuD?=~9uXoz4evpG2`dF+J1C1XRbfH8lY-`sGRb?K`iriM2gKo5HQ z857qXz&2amM&ZjP@44gM7v6-5T7eGA0vOxn){bzN+7+L>}G=;^~f*km|+Z9Cgq zUKngxRP%B;%s0N;WEsg`HB5bnmV0c`W* zA4k9wjVN`agoOLxG*91{c*0hfz+pk$W4@1uUqh*~xF?P42Gle&2XF~TcP%P=zMH81 zxwiD{Df@#rjLME?3;LO-9~WLb5aQ}5b1oN9Q^*Ge)loA9y=sGLtNv$xD;!&37%n`- z-L~$!*H)U>3p-}jRO13#oy}f`PFM)XdwLjLf}*;GjwT)soAJj7P4^V@=__m9q<~5Z z>P81rPyICrFV^0-tYuDI{f=pj07k0Lz^`HrvmKWE`bCmfH zkFd>`?J^z|HpbO}|3lMxhO_y`4ck_`t=g-twy3H-Qmd*cZH?NsOT}KPEwQTFnyp>L zs#UdTjF1j9#NUb?8WLLwf(WnoeV+H@eH_=v`?#*(JWoSLO@;10yE6Rd9|a<)Z`yV2 zLmY4DM{S(7V8RO2Wu^`j>tLNJE;435wXZ^h)oi+^CN^%4dhg_~Zc-A)EiS#%+GMw= zK7EhmI2}3kt+L$vLs$jMeca-9qg=oY|K^^6AHx*R0~FpmYg=oA2Q&Q-{Ubaz#hkYf zb<(xc@L;HB=uLG;Qo~O0RP#_j@0X#rI4vL8Q{8OyC%SL%V6W>xk^3t9_P#>9@wm>b zB)K@3J7rEDuM|!p_>*&2Qc3{@tFB7SA;M9BU7~6hUJV5rf$!vX@XT|}M$Z;r?&f*K zP&-~-V|yJHP$=QXq8szB8K#Xf_dBwDy~||GeEeqLc2tO~@s<}yZ#X&W+>t3;tc(8c z+M&dO1w-G>{--B^Hts^81YLsh`IQE6gu0^4h>dswl^)G$BXx|OxOB7zH6`?FO!HE> zTFSv5+LwxsjKG9E%#u;(E99@>ml@&XcQ9Z3Dfkx+qK>&H9vm~Yfl9o7kZw>E->rI8 zaH+GTSn0G;0F_H02*SLh_0HQak#+oud-pRzvs=J;k7;nzQNoJNBFcGbfvW55==y!V zBCnqshV-77I&dM=m__lp#Rvl1Tc+`R+%WEW(dBNs1Bo^z8s_*dp}VG|>(EzYTBH!@ z=|XN#kjHRZqGYZ>bx$NJcv%JuA3gn7iwYa^<(ypyIUz(5FS;JvkPDCH|k+MjPwKytvKm*>rqJnn3UK1n4yBn~>L149_X)rF>e$ZV} z3>+~68;dy#5B?*u18l08sKbQ!Tc(gAa#3qvZ^oF=*o6 z{vJy-w)z#8Whl#WAc+Z`i@b=jO$_$ilhvy(#G^vJ&1{^cUH8eeY0BkBko%CmkP?KS3xwK(3en6%-g7YQd-?uE1%Aoou#6 z8^wALg_gv#*%$q}%TM6{Sto`tuc*u!smcEbZIhOxe`_7)DlltL3j|7K2CEX|CrnT| zMlN>pJerH6B*9)@xlzZ0*4^8Ow*vOiPWj4_{@0tB>sWfFaK6au3)VH1IWQc1U*(#k z!-2A`1GIjSafO5P=34oDK7bp=Vsk72f99KaKKwGW0`l+wE>o6CeiKPzX)kGH=?aH3hPY);!Yl8nvj5?3NNm&ro zn$(RsQ1NO45D9hLxw-Yqf+rkURxme(13TbVN8P#VRbVQOl?O``vG)#g9CO}`k(WO2 z8=W5!&%mQJtPCkJmwgKrMuXof0?}cgSI0$FQ~q<1WprfMu-w7mV4n>%v7L` zZ0VPk0Y#ss&jFo+>pvyuDoT&MOpR6;rp3_lN+XR6!s|1yVxV#o2Yv;z92$Q$!c>js zS04S!^trRO6CM5)p6l;hd#bKS{FayC@oii!DR)02Nzn$2@51G8h=Gr`PjjHf1;7bS zoZUgmLHK-DqGWE~Dx2CSl)iD)r=#^Ozkbsn2tczLe+YKCNt5yPo;U|Cik(T7<=}hH35`VdO*<(ul-sDVaz+i(X7YV5^dDs|tg6#B&xt%)>;7BCB)@{BzmvSg zm#j4RDr_ce=Le7-sT!@;>|TB3)z|n46-$c#?-ZVv;LFn_2?b;;=d;y~ze9$y`GQ4+ zM+>?Zca&M04gC+B;-vC`?D(xtArji-d_Qp1O;<>iFflMSaB-PX_ze9~S-FeeZN=pw z{m-Y#$OzZ%uA|xR=A+l$=-2p0( zZ(328MK@o=-Fhs-nKvlJuVqNvzaAGL)^bS5)C;f}A0O$WMg)T$6hC)rYC;zlH#e zJ}YG2A-odQ-F+q9;8r}P1|MFb#>_Wa1dO}a!M5Q;73eK25c^?^^Bs+p7WoP>C-$@R z57G=>lzv|1IUQWFywyxcqgdf3(+RZlNm@Px=x)qNqQ5!RYdlqhEk2U}z0v5E=l%FvfAcP~6`%B!auHS~ zI&*Exsb+k7jCFPDN>Ff*`}`&q{MzCAOGE@Yv+fkYE@VM#is1W+(4AO_*OiX#TH^HN zY4tbLUJ&{^I#ah7BCV3FftAfC4z%bV^acK`U7Tw9QgE>}OPMfGyxP7YrWD!lFehD+^U_UJkmt{ z-jb4x?nKtSBXJgSYclg^>U*=>7FO9ilW-pW zNLy2#8~OPrUhw`o_o4gVl>j9xFTAqd$D2UD`$~ms_rF=180zx_awJwp3luq<6X1r} z-vvwViT<}JspApQy@Q4dA+BY3;<(iY<A=^SnLlsVkXyeI7{9Jk*4?i zm6PW-X7ecl_XiuV{Zn#256$fkx~}2l5bq0ff%~Yp3H)r(J(v+i^c9Ea$LoMcZT}P8 zGO3%`0Vd!cH5GhX(yud~AenJC*BcZvS9onA6ie)HOv~3;N~UQ?I?OG;9kE9(4mAW< zO%v;g!P5}{>~`IifQKs0+pEQJ&7XO%qfhx~T`sPK`EwAjriBQq7`t;W>&W=;fvja ziQ!ut?nES|#AwmNq&Sf3wOYT94=05=>sx~@yO)+S$u0(l#XwC=8Gl(&FsSN|&m8)CZ~W8b4u zP(w6yyEXP++lA1oNHIBEaY<`VbTYxw$OZ}Lhz)rPP|G?sH&gyqv)NS)qw4!5nBP7` zVGIoYIgGDY2pB3$wV~NiIox~RGv4;FY5w@;^kJZ?Py2Qf+i02vpCPfL!Gv)5Go{R zl6=CQv(w4PfB8qbD3D?G+ovPRl_O{!uu_G9II^*8w>SbP4yhfR=uPd697wE#Nadf3 zjck6uLVQHSRj#F%7-?GQ{|zv$C8IM@#*6*DHH)|WStY$p`7fXx-<125bVHEk@a^|% zfz_!OX*?_CsY7jl=fC)WZuv7`s6ojeCuXMf=-WKUQG523w_q@gWmdwf3+pHMx4k;Y zK?QnGDblF+6HPi$W)YG$|CBlM-iosy{E~TTqEU%##OqjCWIjboi+wuYp$Oq;@r@86 zkJo$_kt&ect0daF+keVyw}haG2MKlE%a;k!-QX^W3wqZGGQY5{N{ zkBO#m>mv;;jG1J;=-Pg_8oOPrQI%<8{?2zWWPYS(bLMnM`UO&ZpR^B;nLIg_B(EzF zEhPSS`tP(dhV?#rFdDiH;~_mNr%_KSSp@BBa3uPNLEdG#)eOUy_@>?@P&#DGot-_j z)#hC7)qi;N>f4&#* z?WP)=wwRL3S}-2>2?Ty~dhyE@R~ilNAV$X88<}J6HREGWW zbBz(*F z&Xum@0M!thdAb@p$sPkg5i4=Ir3e{zg&1zatwoWfeP3}*=>x*O5VkFFc>l8>4ZP9D?GOi{Q)F$Fv%>PrB-LrZl@CQ8!0OPN>qLgcF1H5xo zaki>Fr$Oogv&JaTm?hr2vWn`Xu+|QpL*8--lr* zsYcO%9Uo@X!8kL~dyc-PT( z_RIb|aXgtx^TYhuvwyP_8y1aO3R5^xdqOd0e`?Jk+|zgwl@W4&hu38%a`7=hWVP9m zde*$?C*$N2uW@c$tq;w`(>Y7T(31D8KwzXIX{ehd+Bq7hks)&VrWw3ABF7A#_`GVucG@p!^edY=5m*(XOQMGAsh}PUFu|U^%vtp~p+5`^lt9wz9xl&AFzt48N&*!bl9}W7u%4_W@UgMS& zw#43!bV)Z%g(ADGl26;1M*Si{B^e;}OZD zJ0griV~R*vS|FI8w;HJZR&)c<^$}XB7S>QZl1@&$yJUm(H6Ecx$81&~gvikbpbPWp zGxZG%%$xwR`~6PB$BgNkiX@4W^~PIR{!xTg3|VC0!<>H?s~1&P%rcVE>7sP$GA`Xd z5qIwM>gDew%KHhoUH29%f?Ug{@j%#5Ec~9Pdd=m`7)`;!Q#D#`+W$kHTVY+c+HU%H zpMKckGsWegtf%}Jp_L6fN8gx7WDCLr8#pTKy^^n9+0j8QeUKnPBI~n+{WHtiEL{v z;pjkio~^0giCaAwCJ9|9F(IogJ$yU31us3u9@9Y0kV_i7JQCDEx{jgYN@~hM8 z=c$oR>7XqRQfzQ0+*Qm>`r?$#h|#hZ${eoGMp2OZcQ~MM`9$WD-#nPWkX)v z?K|xFgHo|)2)~Y^=9T2#)TGuOXmLVP4(-la;1YA->v=zdmQ_E@f5g5vb+L82;7^gH z4J!lJ9=iO)-_5HgyB1`DI_j)UBS@{!j~( zVq_^olO-_9dz~MF3f`YvTffcagx}jK(RFiBWID*G1uiQ5QuF06`wCliv>V?M9R~gQ z^5*@H>UUD{?XdX9C@bG&3eUdCMNg~^;w8>A7v6PyPtfT$uMZSEhWAU7=N9xVB_mon zHMM_caY&nwH2opHCw)Why;_yA7>F0v|8-)+a!fy*V_u#t766+T-cF}!)^N@KJ2G1j$WD{<)m&%@4U!1B{D*vWV9l)H z%sW25IBVy$G4u(h6a@?OlYTdwx=&$3<%Kdl?hc4M$x)b-<0#@dA645SJ`knV@P-F% zKG+nMh(Ct{<^;hk8wMg%uRjRI7ypYm>@H;ms09}%K1^<91q^>8f0gC80gwS3zt!G> z_ySa0#QzG+5ZmhQ&YjiQ&_IADieU#l3PFiNoIM6-|;z^f?8tjJ!gZ{fZ_xC#DwKl(6Cxp`w@W1kvkH+ zCf#eT1h4Z}iFD6gtmXQz<6g?5pqR4;`W6Y6$TzRqDXH0IfbTYy{V?qA(82Q!Z`d@6 zzQmfrPjVzciMhi>;7IK9SO$R6`RMATP_5h_x8#KL$e+E+2D^!tLIp{wHKhvI5GB-`M^G;;aAf0bu{xXHQ6LM%KkRkRbS(tb_}gS0!Eyr4>4GAc+I+DCykE z7Q07;&Ui8pG#a!xCLO?D@D>gS)be#?^T_o9AwzlL^}WbO#opH=o;9Ml`7;L`WW8a? z09Csta%sydN-DaLu|?5=dIDtr&ifjgg!hgn_Fmcn95~L5PVhM3S6gRQ1*LOR-L%2Q zB1r=O(-Qg&fW$BlxDSW|U;fib$3Il-D2;?098H&=Jj3*X?w%|EqNtL7E?akBm9KX)#R1Jm{COr@v1(-k}?M zCn4;|W7-Ppz{1z4{Kxba--SM>HT@bXeidl8vG8+|C2%5E@c615gB_ReX!!EN=ZZx` zdX)8K)_)yR4bAp%JrH!0CZ+pjYQ3D3X;0T9NV(5cKKkW`T6w5H|Ki8_t0e4UGqm|x zo5(V?jPaq@P9gO3?ZXE&sz`jVMKWm6ON=)znq1>`CUhLD!mbiil88Xv4T0Xb8KGh6QEc!vVLU8Lm{6rt zxb37U$5FT(e>IYO@4rvwm=DLz{3RICh|)yJbkh3)q;`n!tM)E(&)d2~-nJVk>DY`< zDGnT?^hm1mXpOhi9aotek(8kgIUMQ19kmYx&MO>QdkgUh+X&*j8*R*}U_ytM!|1|1 znw1_H6$B>Ls=A4pe$U^HqJCzTqLf@*tw)%L?!!Cz&gf8fUr09ZYopknk(om{BbXjA z21j=wco6DKRfFZ~2ayMHo;~+vrX%L3jS#K=XZ%{qV04#9ELdh_zCcL_W4qDzJ(VE& z9`mG4&OA)r^6nzXyysMUJzV)_5r)y;|Iz5RXh(pHRsE{`NfSSQClIL~^x63)^}+-nf*s z(s1^~b2^9}c;^u*PaXclL?1k`a@RTx}ekqTPd!NZ)O>zX%K~Zqegrzb^mX=%{BdkCJt~b^LMA1oW!oeRFU! zjA6N5kZoj&7t|HN27R-`qJnB`Dc_{9C}Mgy7YG{7S_zBZSwe}emF&su5k!jWwXR{j z5}1v`1f~L0Q^df}r8D>nkBnM7&v`3Ir%!kPgscC~gZ>7HRn_UAuw`l*#Wgg0s3xQD zLrq?TwIGI0x-KkU{p&EpRo)}Z0$F>`)jp-S#U$D!9WS3z6;?}!QOnl*wfYKfYW$Pv zqI`?e%de`z)*rUd&1z&Dx^LY#^$p#=(R=H_Ie-5N#QTP?@#}282R4pkqZ-@U<&fKVlDrgqGtvmk^ydP%2l~yYzQBhv7if^!9hn(3FZpdj$u@SEPLq&Ig z!vNBMY*u|C2ybjh(-2E(D-iC==<8^1JTrcncg9y}?VIhFAbWH20rmVi#H~g#q+nly zpfMNACf@_vkFRz|mFRxgT?Uj1kZS&*9Mw6|5KaV*AN#S@KTwelc&d1BL|hnWJ7w63 zSrXhX^Yv~#QxpD4$}I`TDu#J7QiOI){y~=7K)WG{vj&)UVRusWHh*{UL_7$o$VHmA zZdf+}VFrjp3ZR!q7oqcr5QQ7{v9qZy^FB4wFe5{)*`y^yLg!Jdx1;7-ay@TB5T#Ci zJAB~BpTiBAb>R)*Vw%5gnCDLwc$Y%CVMdGKO-N>2*|3}7kL{Uq8?-^f>!Bjb8M zl1XnJtJ7$+_eSBy1c2?2MNQQxx`fy2Q|J$`> zy2f>U59_5EjjDiNpoiip7IJyeUj<5z(Z2+j@owpya@UEjV*djEHa_?Llj}ws!gD#+ z9YVXs7`}=UmZln$~Dkl+lmfittwP z$c(X?7iaA2*VT!_eo2c9bgr?XpDaL~^rTBnFM5yzh$ti8PRDNH)= z`SFXFeZ=t`=1|?O@?a}??Z4QeHycCpNj5Pro_vLw(qG*qnUxUElt6QV+->SD4 zuf1=iYDNUi{MA@pAgWuOhJL=tP~oUpi2Rm*evx$Q(sWep?v8e;Edxhlg?3-mvHwIv ze+5o>g-Y>_Y}rX&V4BSH-jvP-@`9W=x3WJH1U`8>dED|iW<=0BHp7%&S8BX<=p$9R z6so-3^V2i^ajr?1e7DBB5+%$aosAlD<-*xb+?>|nvgHW6l$aQm+oJq1U^BA(?)Okl zU2pAS?d`PZFpgz7<$8bFSsuy$-{}Xq*m2vmNFO;Qf6Sxg?4GK>bkboYp)b&+Gk$d! zz}r$Gor9@pKWF@(sU{{ri%Gr@-Qkf}XR< zLCYrVDkeG$udy#OJpa${MtbxIUUapD{8_7215sSSThDlh2LDO8(AG2bS~mS@)bi4G znJczsn1s8Y?}V_4p1eRC0@ZyDYVxuAyLOh<@ypry;HnFaM4i7~sloi6@9`|g!J7Br z)bj~=dfeq@o+yXj=0FHHQ+jOITEz_u5NF(l|CHS>y^DR7oAcNi$6mgEb#~#;b|ci) z*GOwz>ZUs*Z9y`XJJ zwFg}&G>eWd3V|!^2Y18}FS!i@NUn?}6T(f(H`AW-Bq`zS~ z;p`gt1~f83PBbXjoz}oC=)cz>!vlHF$C6qF=HDC40=aOIB#r7Wm((`{4@?I%&bZOl zrO@@~Yo?FH+-kp4Iy}|#={DOi;K^QyvzFd~LzKU5@;QrBAP>c_ z3Tk?{R`w3!t8qco*5SkI9;NE84}7XI^j~wN0D!>b{4xHiXr%)>Tnp>2B7@`}S+k-b zdS5Ypv+W$`e{r93e*K*`*{_Z#;u-mG2P%5#*5=#M2LYPBZLPwBbeNbIGISBb;g>^E zn>wN8NDTQsRxX9gcyP-&-TTFh=>Rvw}H7C)AkX!VHq1%q;>ujS!((b4i)R`ORnOy?FKNcC-=&3!<}W@?&A ztl&tn@zx`Mhe2!~H?b3_G066%Po_6J_EO-O*rL--Z5UG;5~;g|5q(*OXx9xJ`Jo#W zGn#cs+{o68<;NioZFoX|I&}&p$VNuDb1tb9V6c|~3)-DmF4Z?pxsw- z51BdSs+UXbGJTy%dmz}m*iE@7?d^|k#VI+(%~qv>h3DguNII5b?>(jFq%ZRZAQ3;Q zDTeFctvUCU(2WAm^+wC0Q&$5<`NNKkMbyjAH0cwmL!W49 zZl!vnX#ap2xW&cw&Z49-m?bF}Qc?}eH>-d@IrKiTEe^f$+^1$GuKt7CO})dn-$ckf zcYAG$V%1{@CsVOHl}N1;dT|I*c7SJ*5B}^t8rnq#^6U44*hdwHrtRW z;OYh>YOjXrKE&;jdsFS~HWp??F6^IW^43g&ta0 zU4#ahZ0)5&KKoOI31HA188&$#{O@+ZdKqZ)iJ!w(OP^X<{@ESWJLKEvx4UWoEpP;W zH3sJXKpNYi3Vknc=$6g(3O8Jh>5 z#a#}BJ2B}=v@PgD5joFs{j{ZH zqF3#se;iBzEJoR_#z6w$R>faQf=In}c}q`W)jRPNzK-5?Wui%qR(&buX&rXycLS#< z)P3Dn3^jIsZ;Or0fSIzrVeSb$bDl5U9)0+HQh4i8rwII7gmuVB+I*hJA^j{q;(0;y z^XnAiT~Ju)Yoo8HJ(w;to{gD{60_~Fzw^cI_S;V{${)WS+|~F{YTJulx^mP_J%~2( zN%P5LykrL$6fCBksZCr_W7uKDI-{uZ(F0!!ydCHpjU(w+e}BPLR#SPu(PY_YJ+TCl zao~P&9ET&_ao0&sNbW(REVwlku5;1G0e(2eCs*2;L*Y%x0m^ce?8tF^Ul4XR6gmNK za5?5}oy*DG+LvEYNph<19oVz4I=!_K%!U7cwECrBe2rX_sAjohJL~Q>QSxM9vj)R< z8>N{Oj?;x0y4X)$aq)0=_M=5xIa3(X%qz|hr4UB99Xz3W%I>V#X70AEwIQj_=BSnBt;ggCnVl}392)XNKcFvT>~L$r{nEVS zzpaa`u!GG9>fv?ai{q@X3YLIGDR1l9B zZ$BrOjEcb)t@(}mbDt!S>Vnp))g{qq2@@6`?idpc=>D!?4r$CmGl(G|M0p_M7%i^c zd)Uo^Jt-7FYJ32SZ~4*}2=x!WFc5%#ua|??`$%OoGyH+t_-Q2SBbl;UkgovdsE7i< zRZs-(rhvi)z~UmDtg0nq24PNi7OXObWR}zr;AdXo0@CC0;avt@Puqwr*)PHUX;NSg z`vTCSEa9OFQw?=;`=!1+bdjALvwakRG~fyZ+m6 zz1MAhL~R>zm=Vd*cB^K?=ojoGQKDAm1}YJr&5$Dj49yf#))|M?5+#^djE?9 zwmV?YpeI2e1#&DVYhA^l+TqU6`#wfc%1~^O9F)#v?`!eb71g2tV2@E!oPj!-8X&HF zr*we37K#qfM`RfxZ^r}^dCj8<55XkC(^J+w>oGWX~1x7^v!U-~L3(TCn zSWG^GbDcZgxe)%c-}ylUA}O9UPR^RIO0{_pGn?95m_3s?gu)gLM;S2`k^dz)hF=mK zxq8tWmN)OH(JV0N+szx_ zlUt_r^mV+!-1Qod^&YfLY%Fy=YfgT{B0BMi0cZ>^U ztF*DMi5S|$dlQ$-O9pi}4rnI}pB^yKD%e|p_6NTC$;Jy(_IcNPs6pUcU1}F*)$U?v zHJ_on7vtQclB8PM({>BhR$9o>n-{asxMV-zE_Jh9TNogZz`M24H9XWi@wRn{CBb4n zuZ&PtnHi3QlE)i~Lem#7s+ZO3Wd4%9s7ppe=#PC?0%n=}*VFab(Yst{Bx}E$$HTit z6@OK?sWjQ)hMo!|B(1xr_E*|V9JnfE(D6{*=D-mg*Z#ZtyYQhbx=2`Jk+il1-lYjQ z?LXmV>(+tI+G5fML+RN(he=D@U&n>PU3u+l0j~kOj+QGR2-kGd>4Q4K!_q?j7xcM3 z32qn`ix@eX>xqo&h^(ufY+f|J(Or($DyW>z#zxMrz7=p&Y85*($A;Z>c|jvDGvc&V z>*k9LxnL?3%%f+BS}tT2T#ATMM)<%5W;OIqRMrf-=ujo+z`ai}a7kkQl0Ha%k=mZt zbTsIy8XJV6h7nWb6RTNtE_ramGtI<+4NEyl44Y(0R6uvz-v{je#kFIsJ)fvQV9eM+ zTYFj-lm8Z1&4wFrdy52u(|O<2pqu_H8775@t()j2A@(*WQ^MbLp4hL~HmqDgYjbJ-6f>%SzlKAwu*Nr5ku|Z98 z*nNhgaWy~YjaWrY-zqX(a~PGhWF_-tS3~VD`GC15cQ=Pz{5=3lO^OzH9R3+!1lRny zA1GstB6?5*{)VnJ+AwxnE?} z$-FIt2NE1mJym9S_t5*Q$}d|+0kahFiLo6>(@#X`?$;3x%H-NoyK(LlL%q(+^a%at&!dlG*mOh)z?qUIvZ zXgq=>90r8pzG#yhg^APbuF?F2%g&If8$;=m+CeCT8jsq;w-E%6Gm=x?qOI84B_;c8 zWFD_sMkcu>t)n#MQaD3W_GZeLUi-C%vhG)eB8{sQi$p}qnv2fO-5;F3p3S?}uBjV1 zTT+SB$lM;@uqk;29@EEdY9Q1uF3oEV-YqUd9IiR!*|Hm(NYa9%Pl?Fbsh32Z26(^U zIw9fqPko0vPS1KKFKw`R1y%TMRL2hO90Jg`gH++X2v=U=?l<5hz5}b2hji#lK{ZwZrsg-g^aN(6!VJMZ({$~Olq*du_epY3XkH1mt>ng1Gu zdqXH*dN0%J1nrxTZRnOsQE$_;e?rN+L@g$S?#Od(v&6Rg(yGQ3)E*?M>D^}%M(=g4 zD_3?q4{vjC#(T0k+a(5Ow4?8U6G{3!3nhjY8y6G9Dq_X?0xmuxjQYBHB7aW@iKWhy zz2rnD_vbvD7v?eG9K6B?U^+$iB!p7?O0G@V|6IJQhpTXw?!Z30LgHA@4j3Kj-5U3ADnrt0~d20qB()Y#ORr=m>u zoo`{45`p(vdW?Eb_%!Dnx0KWa0Qi`++Xdu$$HWn(doc{7=I1H+dx4I!R)f=5k+daR zzJB7zFyXfmH_ilaqf`Ds#LJ!$dGSP;MwJRM84yVcIBiHeFXsl z3FJO_ z2Dw`)2rZRQ?qE=EDN8lwI^koX^iX%9XK4Z+;l7Oj!bjz0t&>eOX~H@m?%O(+ylJH@ znQnymVa%%!Z#RWEtqx}n_X#MV#5RQssv2yLU;%yj!>i4IxAhOpuPA?rQH&59!mTG3 z>3vTn-_8Dzi~80#lGkX8n8f*eyn>yv?>{4`yg&V;7WeK7^to6@IE|0m)ljeB#I%fm zPG8I(b{EM=0|m82UN}s8K$OD718aP#VUi&b5(~6t zYi&zCXVZVjlG6a0>NYOOR{6H>ljnp+g1o#>0dM5!y}dc!?owk8?uw*-+f5*Wf?M7VnA`^Jij32W%`@=x9|ldj%v_!c96rNXML7!k#t`@Zm&_{V#xA07Lz+_=?y zQzGku*#p*F*OLrhJp1!G71UWygcmO&MSROPlouSNTRVJ%G4KW7gy0%yBn&nJ)4D8< zc@x43dZU+3VZNIz3ZSE`8eg+O_a415o7j{7X%359&YzTL0>1`2bFM6YOq6mI`WMOg z8^PxIqfyp)=RkL*H?4o0T36Ibb)`iwg2w7f(4{I*w$9=0#^X;$T^Gbu8NnQuJK@~f z)JjnqTGDVQn9jh;KW90HDTXtqh6~z}Sn!hmrSOe)CCbt`NZg7=sc0vFaJzz_p~?Co%2P{YjbX8P=jxI9qDarBQ*LZ7D(I$&S&Zak$+)wJ)QW}l6|YW| z?*HzTOQn4jJ+f7>G5PG_kVO?Fc=TFRpi-p6^|KwS0J{xhM%?>3=a#azDRvJ#1?^Mv zSJkF#FpW?1G=9Hk+UHnih}cTf?!!BOQej+s<|DrtdvceW?AK5RwLLMCwFo=vh#BM zK*Sebq5YwUarl($z5k3X|0`ih?f5-~VfT@$&i<~|Y5vro8@b05MOwS=bmTjh@&9IyP_jU8Xos?H6N8pS-Ci_hy| zjR;TIjP?_>V%q_=#H+-^j?b?w*XCFE&4{bgxU*a}q!s8+7w&x*2tF>8q z_lHAS){B71C2RPL)v(z3#}3s+c1snfikwY)C&3ErHAIo{xmrvxuDlL4-xwTqJ~Hxd zWX7_I;e@0J1QK4z{K`S;i6m{h6uU%lCDNhY77l3a^78i-`G?FhI_v}Et1z_mB%_>O zRclZ0#Fb=P^dll$+dal8ghy?M3;Qe0&2*mG9lV#rND!{dUmYU~ONnC4&u=^k^!a)g z{ll^fR`H*$#yz{Fsp*;XtCQ;$N0ogij-8Ffpw9;YZIGhf{2jiZs?RCw<@Jea>>bhi zBN4ZDa>LLBc+pE(1m-8TWIY2!xRJO^V`YH3{*D^uIp6e&t5C*OX(?33;k^G&wdqDQ z+@=WEl7BE}1G1E`Ge%b{h~z8qfX!-ju`1|~`MzIV1l4}8*=*BbwKPJ6z^AM~8J|DS z%}#RWBuRSH9Ot(l>UY8QV8u7dyty+9`SZ~lUI9VRioLe2zvT~zx zo(E{B`8n;P6=1l3<^;t zvq$-cbW~9U4nE~vycAH-3Xco-yc<~7_`ylcmn6H0S$E#|A+^be>!=#pfSB^$;lfSM zCtq(O@c^yv%%BgC@Taae5u%PFQ_Ez*U%xv+QGa>y;@`oXZ+#dAV0eV1F=MZ1N;A#+ z>(-pl_~-yaWoy?S>{rk;a(ruJa(EoJd#&2G{pdGvpQXV}NxNNbbJ*};Lc>Kx8?TC* zV0XOTZ{aZbCP;e3j3WEBKrDbO`E!o6?2|)Aal;)dqbQx(*8B;dWEaIt=EPq*$+zk#5moLw!Nw(XF2XRhDIFCr6N6l}0 z4tD_axXy=XXyIY~S7LVI3Qc^6fX0k0u3MsG5c}`d$Y;AyzQ-G6Dw71ttyJzwQJX2 zAyu11t(XxtB32MYLgeRje2@SC?sXj3jqA?!I$!5`J|B;-{M>r}p5`fyqa(xb-)&S> zf5{NU+Lmaa?h|i-pBi>K-%xSX@c(ONU!y$>*MD%NA}uxZg=0h35M)~r7+gAW(qd#G zPvbWgF>YGp&jl^=8@VUk*`4N^vr=;d<^DVTCE|+&Dn?VuKF8j((39(hQSD!uo4F&t z%Z#B911pwYT#=g&g47!OWbGUM=8wot`k7nc4~)y84c6s__ZJg!xR^hz{{^yA#^4df0zzbdps~AD#4-jVT%x%XnUFkj2*skj<$HtYt7o5f{R#TI^4vw7kX{ zTK!v!ewSzMF|{}T>U{L~yw4(k7I*rpmo=r z`p4vEH+IL|sYOmsE{3JSavgsZny;PpFm&Qx;_HC`*hQN>5i7m!Nx|wZ-DV*vF$s_zk0)e+pKFakVN!5 ztN-zxab?K+{Fbi()F3a!>;c=w%&1=Pz>026{-4lODl^*t7@Kh0FSatTFk~?wT;6UQ zXYTH8X!YNSLvS=yba~U(KyjHjP(ExD44(^IkVbRD&j*g-d(8x;4jhPrqf)Z|y}VO$ zJZ}81CMEB)^iGxE5-mXvY2S)Fh%l|JYuN(X9_}fdg@D;@o`6}VhJyuV6*}+qT2^!pK%P~G?_&Qs=K=_`T0=}s0akHeIjE04Inwh(l9*3MyLa-E9)VZS=@zO zTEN}00)>bDn^g^Rt|f(ZbSI?d{_twobLovoE5t6q?CWfrJzI`OFUDE+{_=??&rW2{ zC@x?Yc68=w<^j;$gO-YB6lwxE^L+!j9`WR6UyA%>n@?{dAbTRZlzI7=C5j5JkfpsL7gXf$k8`u~7|A!){aH~P1s1ER@unXy^+AGiY@ zxn%+L^w&RF(;5l68(mL0`@sD1xw61h@7G2j`(;9(QQ!Ie`O`Mz?d!fsk&oI_t%Zz# zTjRB#-dolHgZJp1&+kG(5g1g^Wg)z^wN>+TkKZ{^GBZUsOvcHC+GOQ|{u1n@;T*pY zW#6O3p1nAL3KaLqoh}O^#n8CcTG+9Yl`0+EyT}LS>Pv+MtmV|}1;Sj6^HEazm)%I# zabABaK+LPl;ruwh$f%ot5WsH7#Z@CKyY}5_^?N1Z+zCrT%mJ?7&l88m4~*ApKcg|D zX}&~P-=C$QxfC0l>|dV4owTx1xXZSucO6gF6=Zb$<*KIr{BbCsJRpab1t1-e%TRDf z=?3y{k1zP_Svrn|6piHr=+pju_TjiEqx@WbnBo%MY$v+O>aJ!hK|6&d14KHQJHH&B z`M@Uac!M<%c~@8=gq{&Qw%{v^ta;Sg#@&3oWSiq!I>?00g}<-=@a~$XgxZPJ)AeS* z>#kQ43xwr4_~=Vx9@O#E9I*#8I_^h4t}%@^?2#YmPK!Ynw1{73T0(q*nKTk(_N}8Gc~=xlrsE2hr{khtXa3>Mo_s08v^wt(wVulLvM`*GiNfV6d+aKcGuOS@gbd zu5{5Ym@&^l602zVIY3@ts(O2bhU6{4dll_VYNpoPYPlDLD1*yXU z3E`cOpM4sxx8Y3R{^?^B?ft8E-R@zzahqxW{{7p(vo~z>72(dr>#lh?kpy}D0hW#f;ruP}mEw-UTe{~=H#dv}{y4w={WeM@t z_gxASkMz^Nh!;`XNX~UB2`J7@^QQVRg=3?Ca(|yla0yy&BwT!QH0Z{XIeDilkPi7 zbjTZkNWbg4vgjtDnlpWT@w=DQ`MO?WVty)qTQ!9lnd6PKyq!-I}JRci}m3Ww4xstLcX>O z9wz_QK&z#N%q*I|EmPA%)4gEDiC~4Yy9V@rl=$ktI=<2(0&ha-Wgd(>rX^P`)zBatBQ^p)=9=mGf0%^9P8oKMQU4Q82Y5NH>p#>2QLlm`6D z*Z7{y(f{0S>DC8!$oneGrslj#7t6f zTz`%Os3-(j4-emyinG7kL9Mf4)k~Q}YaWB++N?ixw&nWshTAsve_hpBU_LMld7j+# zwWzzlBKxvco!F+L@00$cx<4m0w9#25X( zp7UO+R`lhR{PJJs|6*8^AoL$=)ukzT&VxW3j|S|`NuRsRpKQRAf08qLKxhQI#jdS?UGHB6Xu0vt>hB1Y^B!wOTx68X zDE@Io{9)CX9KG*ngU9Z8=lxbhZ0`(&4 zOTB!C<_6d8<~2|a)neQ~l5ydQ;;`79cY2?sr&RO0)eo|XC7Sa{+_ur!Q+Pm8`h`;!Pj)J0@t-EAa zGF%@Ui);Phn=2p&em~nf^Dy6wJ!FLYx1yX;yu<`a<=0@QRVIaw{Ty zcfCCFKvK35@x_89;Tq%ROkB2g^?6j=pQZV`{6EM` zl`wcCWedG=<il&4L-fQ-nRd0BY3k%zV5Z`AMoLjn_xF&iZjn++$X{l z$olXPJ!pa9aPhu^JSKFD+rh48@@OHyLg37{Oll`c0~@{0GM)~NYgWs4yKe9EQ#T-Z zoo7+cVVH2-UiKzoGTq}TzVZRM%z%WM)%zWA+UZ7>RP}YE1C#Dye|FgcpIywD9A?Vfl6@{$i z(Y~N5lAfmaSjG_MWIb1brJo(-#)NWF#w`7Zo*U!WWZANNsq||DjbX@N$NZ;E0@ZB;>K@W&^lb+XnS?yXlyv4YVFE5sW zwygs$e@AO-*W=$EddDiQxMxyp^l(dXvp{Z)143U&AH^tcUgiBwKh78!N9B8C^uvOk zy@3B{#*X%i{4C$AUh_<4w!P?7^na~4oO>a@a^duXuUhK1i3_QQ_q!91u~ zgnc?HGOEk|`eI6~q%A$~?{@tU={&XSb|U9LDyZ9q#8| z7duX%>-@)!yJpbbviikqq+UV@SCQH{=Z9OrGoQXlA7h7h(@>(tZwuEl1mTqdrM)xy z@7e7565d_Yox$<(`|7uk`mXYFMWpt82WFn{&A7x$sAj-y(X1hv+p@{aCW4}H zNT+!nwZMDkCi>7`jn3Nl19k$+)yH36pOC*pEb+iw!~6WW+RX*6^vL|92Ib;Q^8iQB z&9T)iiMy;0ffX|zVxGIX447VtO+ehUrX5QraYjpr?n(LiV3a8M0rJR-0r|Vl;%+Hk zE3@<+%5b}~d&a@Gy6vt#*O6fs{}GwGm5SbS*}coU?3~dzZEIn1jw$rFbKU)`^^&oZ zXkY9Om9z;>DEcA%J%D0>>PJ<{Y4zlsjkO~(b&rE35T;k z;&yDCd2s>Lw&c1l$1Kl<$a!syq{IW(vwq%v$#CZU9;V-_#Res>^Qm z806yXyfgX82W9)stMcBYXUM`#2FV4SXsmSl;T+dc=M(vc1ndO(zzl-9_7E{*ydxSR zHnfx|K%+S2HQ50XiOf?r4Z~9JPPg>1@AGm224E|`Pj_emSR$=F^$FyL1Ydt|i7%rS zgYfTqUq!wmGFZ+&;DMukvWkAlKyTJphXDAO&XE<_b@Q&bz8}{RsnsXpJPGNeFYK9g zAeDAMwz795B@ATws{#dT16d$o$88pKd5=JYkW?A-(4EeXE2WCrdJ`STMPnV^zeO{t zCa04Orz6>nBC0$o>^qegd}8F@Y4}5)7uhcO`*@SY)H(l}9R)y5T-eI}^s^_PjH-|T z`=~V*eI+qN${T}j3#G{KvG`yOSJv(i@H*hr=W?f?3{n@^+MhMpk(}Oy?xm4^coADG z7ISiz38_yOwDN|qm-!YKEWHG+*4MXBct^#Qz7CJ`%cdmePQh>go_7E_yByb-yeRRY z!EV&}ywW8o8B|JN_@Z-+aowR-;?w;US8{Z}Cgk{-K>##a4 zJegE!ZJy7WKMDM}%DtXu4X#~4bba?c&e6oE2mBB|DZwG!O>5voZ=8tlD&F)rWLD3K zsnXvUR+@jC(b)B%LU7$!7_rMnyl7iHA|B{mzVx-!!Nj_-v&^i}=4X+Cr2!dg>(JH+ zwh27@b7GOf(IB(n9P%#zNe8C2Y>vM)zE1k5v754VM{8#=D$w75nh-qG^r*W5#k<%N zyb%~kQoJ1KYk?ywN0Qwdi`17p6qeqaHnudZ1us}y5m}Ow_QFyd6i(DD8;TS{ymcmm zS^A}w=J&RrDs{O*KMaBdBR;w~r%ujgcAB;e_9Dph(IG&j(~6dLJrRHc;MDP;Yy?pPgBhkRR1h4!ZVvK zD`MxrFw0-f_#cHay302C`6$c(BGarEcpgn12PFi5D8{rdr>^GhAtEBZ%Luo-2TBQP z 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%0DIrtXr15Z1jGlw#74gwE?hrvL; zlmBzUcCdl%A}|H?;@$im_!?XwFK~>=@ELd=RA=tU;$2!BGy=KYUvmEuP(9%9;Su1T zpuZoao+t!gR4Kg2P@4DejQ=lnUGbAQ0cqr~YUJZ}UagYU%NjJE}h?_nku2LyfH zG?#JJ16&UHn(THE1K;9*Fz9paKX_)Tzjjj2jr8-w;7#CyK4#vgzkdQ&f)@k+o|QP6 zN8}v)zzUxKBG*l4E+`9nA8kwj8y@gA*1hy~sWrr3rM|e6e&3$HE$>rB9&p9^SdcN3 z0{(s!ol5+bF?PCxVlaw&EdoC{&o|DmCHJk|$A5CZj+DFn0N-z?-<<@Tz)tYI^KmD& zqSQfM!9Cn_Chc27@;EM?X9`koS^JD!$vj^^bydW9gLy8gH6+$!d`=GdIn~(L4s_-o zb*MX`C+8QjKPTX8-)!)c^SMKEPJhykYyOjUmekT8faA{Bsb7H2;4jp{71mxg!1s9m z3Y=w}o-^l@Jn&%NlpEc>1JjZ4&n$g+-z9`3{X z<7u;>IQA3g^XE>=yOrxLcmBI&HTw@y&Xd&HNsj#k=SnU4BnSt54qi+7L@!b+YhIQ) z<!Uo>(48%^XM2u6b&ov)j_Q(sSk8DNz2 zcSe8bzXL@c`F0pXxrgwb*jxPN@6_u>+FRl44AWa^JUP+{(9RGsa+Uz~_zYnKvYt$+wo|dGW8~^c%UO9t`?< z;uqqZa=(kui$99bi?42>FFfvioIFW?nCHB|E#MiZQl}5oM?^Qf=?}x{8(nDo-k>Mw z;rzYa3bdvVG`tPW@o?gY27Uu^#?Fqrz0Z}6L(|8^7qsKMtH{?Bv%-frRi_fRM9 zUq(NWZ~C#c_W=4yGjI!iLS(8Zdgs2)xo-)_52nn0ocFs)^pVNVe}_hmEIH2C6^*G| zi4mz+G?r%3{<79E?l1D{x18vps`E98)F$%%8s@XK4Jl(g>a7dq6PZR5iH}E|j|uU; zRnFH{V$-Fx_iN7Qt|7GN7}}tSc1d*p`$}T3n6?ugcjbSvXDQE7LRlJ9uk}HJ^WUol z)Q8BN4XV&y1+=s1OumVw{wn0&1++~A?j>?bZs^awBrn_ze#>?c?Ikj_p$v7XtLwRT zI(2v#rUj@=V{M1)UoJV{H!N!Aa<2_U*UX?5q&?$XNe>6 z!|BfF?pMIGlzj;0YR&!R3~hPl>zw!ZZ0b$UBKa(nayFrjYEWk#XoraNzF0&Z%0A-D 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

O+3xE-xi)=_Vv73cuE_h<~`9ywi83Y#B|OOq>X^ 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�=z`cG0>;d~B1q_jwZbZG4m6dp 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�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 literal 0 HcmV?d00001 diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_hard_val.mat b/models/cv/detection/retinaface/igie/widerface_evaluate/ground_truth/wider_hard_val.mat new file mode 100755 index 0000000000000000000000000000000000000000..061fcab0761d4fb6a0574756ae5c3d4591aecfc7 GIT binary patch literal 424085 zcma%hXH-*R)2&pgf`ZaPK%__&luiUhdJ$Bli--s)RZ1v{^bXRcMtbicJ)sxry(fVH zp+jh)gyj0Y@BP-gKkxiH>->1ubIzLCv-h6SReqzRtn%=gsQ5!&N7lce+{0IH_78Qf-5yFxJd}`<6MriA^!dZ5 z;u6vi|3Bl_{|1q!F5SOp!0TJLyfcSQTAh+5X#Px5SNz6C`Q$i+y`%8>&G1oKj)cUp zpwy`MU2!mJuBw{yM->VQaSV-uiuxHD+74>3w~h>Fzg6lQv7|e!4^3 z`H;uv*Y7wksskpXIgA6v_&R42dF1j#0&8e?4kM&z~R z{|8fT`yTF~_rA zk7U5l5^-3w4tIsB$6vD*9&pCIS~J>=WRHGK(Q3_{ipsB(mh>>wTHKk2?6-VVX$KSa zw+G({Q_5%)6*m8VH0Ms{Y}~PQHiA5H+W7E|QqBKzln=bfxVaEqxzflE^@c}#x~S(V zBzqzliKb+$1|=pt*&^JgFT~{XM8+KDP*cr08w`*TAcwwZ1XzQ916(jbF!%}a?tI@} zH%-0rY=b52;hcaaN_#~rmBL88O$zjp9~#W?)>b)eie7JqHQ;`MkK{CJy4j&|Gn zS@NkA?|>}BhR%W?rQN%Z8U@cL;=#PEA~WLA6vrma771~04I`8G@yY`i4!W!gGlPDy z-sIcFu_%jgW~Fl^b@j0mVK49YuT4eT&v?V4Dd5+Ulxj1zW^uoj!k zSxkLnMXLcU3Dw%j5lU}&O_3P$=%e~8O!f~uAjeWXEzE~YkcjWKw%Y-PjC{vPK-3@; z($O%Apxz0iKN5SSh(k|HI-Q)ox-P-c*)VtuTm$iKf5Mc;&!W38^O5WnGPmhZtUXU` zc&c;gyNARXcKL+r#b>lP&eqq2jmq86cbl9i&w*;pFyf!>59_=E_uHI_vr(_3J@68!!jLoj+)JrSwc!4!Sy|wia zX!hxIJByz-94c+nkJZLpDqr^-;^0g!Smma%ze|9Dy{+`uu>m~l2TI%)C53H;pJ5z~ zvvagbfAiG}J+cJ7Nr;?p?P24S4liti`Gx;B8&0C@#SiNtOu8EF4!as%r8xi2@wT_H zsvd0B&0S0~rEg*aW8c zK$#xG5};2{FaGF9L=HVM<)a6T!9Bq}p#2LMLc)-bHVoLUd3uR;Nr@+A#)gg6Q35cWn9>(pakRENi(YbZ~ zYJy4rDp%1to`l~kXP|=m+@z5|9A$OV59jqlAhVu$4-vzkLS)L+GOMUYeTn*yeKebA z_*YLaes5t6$GeY`I)1P&TM&7rBI3g7)RVTqx;R&JVMRP$Y2y^$#d7L%{(7uioyNmF z3fQ?w6rLLJH(IX@mT9WRY$&QV7lj}HaLN2F)ZD|D(HvnT;W7AuQ;f>TBs+%hcyH6^ z2m8)*9>vjyKz9KoyBqXHeOyD#GmcBgKQ`}RN`k0N3RGq_K!n+wLEc7tA|ZI>!_5kP z-_i#H)3%A-;e8@!vPhq|IdjziF0H~{lS9ua>0LwxZ~GxVR!LCdP5(iSar^B?hw8Yx3dA#rAHrPgU3G>AF6O}&r4otr;_WzD{7xCB(}0*&Kik&M&wL;Pi3^je#T_5 zlA_zSg@3F4_Sv*4|3Orp5b~2kqojj(>wKI$KXMs}X(H)mi2Zc13RXes=kij%pwYMf z!*I{5Q#`BY^pmmo^PUgTzRKK>T%s{{7lfPY#J9;HuqcwnG7UqHZVYsPf?W1=2@K(M zvXN!u5r#G2H)549@mf3yFh4!=`gx8!ZT@++Eq{huHel*Mo=cidX2+u%oUcW6dqg>2}!^Iv@X=Md~PDhG7QPOvjt!7e4{j{Az_ozUA?<%1SML z3F~?1{+os!&B5DKIu_)q?b_akDqoj%o)QewUNAp+x($X`;%*60VL^G}coigkGDLObsk z%F8hQ9`>8?kRs(3#0M{$TwZ8>(ep!ZrU!G;&V~wT_ij7v?S>LeBCelsgHr6mNDYC1 zxh!x0XUHv|Q5?nvVg-p+4DnNP+#TfDP_7 zT)Pmq8Q?2p)W<)UB;h)BTu|ZIABabpgSFnaN&jo|&2^8>TAPUt((Dh}zT{}4+P?UC z!yC57>ZWEJtIf3)fJCFE6tiee*Oem+w_SxnwuFtCIR<3{<)fEI_xm>0%Hzg4)eC2R zdfUxJ?o^Qh`?X(@LWK2e_|J-r*0nv#^()ZbgKwxW?K|W5(pXc`i_%qB*f?L|A^)D7 z_7r3IZ(I>i%s}EhfV^6zIjmcd`B*M@^$QG^Pi^A})(LolPtLu`Tw0oJq3iqd3OX}{ zeeRmb5YF7-zghAd%a{Ztk*E~$&)RsnewKvEF1rI4bdyv*9PYne<98=r@j~HWJ*bTq zr8E=bH=kiwbZ=hPj#<{zv7)M;i}saI{kM#lO-A(CC1~_$T5$)&_tlbreu@9ve*33S zCS2zHeFW2c_;3B!XY;&qi@4F?Xq0y*%j+4Q^o453z6@U5GcRe<`aQAa^YgTX%eH5z zG8RY4J0mhw2&<5>FbXbdG^H?}I$(~s4P4h0+mXfVHfD6wUAA$ean!7GVNQ0_i3dUL-E8P0^?&VUv-zD@_={6m&!fDeX=>ad#+-MBVFOlNj>?ClT`e}{( zk9dcMGHet_0Qkib-D|EGhqsSIp|``^NQz1$s7^{kt++3eS&KKv_$lx`Rnk4{NaM+y z)J=Ye6~~u{9_CWKcp1-YO(cxlTY63_0vG!e9610OS$DtqdC5p_Y3S>)ao_%^`%(J3 z=b&aOU7xx+OjRlOR7T|pBQKOz)w_TXAA`;iEnd-WoD!6g&UbMYAA2aLplYzGAVkEm zGY^dShz~IFTa}#SnC0zl1h?Pba`EOPAKjJ12Z~y3(@8}v-XFmxp1*gfZNuoo&85-1 zwc0VDpiWRh30>+;3CppsihB=>?U*(xIAW`_!mL+Gf%UP$5EM6IyQ~+tu_Vjzn<3+6 zy=!JbKUgEe1YRw6&=BFrI(ldd0+Ao?GN3*O9W510G-L)5k;iNn!^BAOES-QdxVY%+ zR$uaP23gzK5FfL&rW>YYyO-!Qs+p_WF$ydBek#?s*f_~xf=M6Zv9|pR1(Qao>bxo& zy_Tgus%vx0?h%&bJx8>MM+7u5F%_O$rH$bT0K7Wtui6_x86CtuT*iLEDxra|TOit} z%?!A^xd8m*3q@{RHV^EVWH+yNSNV6gdtp(=1=ruFKS5$UUf$w7;!_xu8mYTPFn zZ+5x}=x{C}0)qQOzPG3V$K0y^wOQZGiTWFMJJ9z&1}M~U7~6s1y^vwje_8S#PKD*!Iyifwijo9<-1_+;qw=$lb&j+L@SfE3bJh~xT-w{4ybj0ypGylS_I>F zk7Z=0v!i{Enf{02uA6APb&1n7kZQsVLOlz2&q*yj)9z34o-$jUU%ZcG_);zq9T=oK z!W@VcJWi|_cq)T__}ziIauy1{u)G58URzwWQy@CS&0aNaXv##p{9FCfp&P@sa(u?ggs%d%3t9$^Auks7F!j z=e>a#M;9)dgXS=jbWfZEV!49=3=H6YuFYK>F`pgh8ycq?7^e!Tb~kg-15I_CC8ccZ z62Zi14ib=a69#K9iCzrsTI&tV8`o%_8mxKUR$LA^A&PTkUcTE|Rn$-s?L2x%pXMO* zJz`2jENK_E+rMPevr7s&=AD5!crc?^FD&U#gx`FX#U*rzy{)$y1=VqaHiI-`R*Hgo zH!>bVjJh;&x}6gzOzTP6Lk)f)4%&W51}T5UbptM9?@q)kQAorKe5(oOix(uk6ga zlE*znMJaS+?FA9eI-I`A$a5CNvmR_{XBNHBnN&toQ{Y?s6~}6L-di^QrW>zUNW}_~ zq08JAIz_Er{edz5ATaMyY@h6$bA39l+S=ubO7{J&xks+LGGls}_=LRY2O7uE4vopq zh7H}a z>9V9hXa=R#ov!di&c;8F_V@<{iv?676$X z?#3cl-##j6Fl>3O4e?)UoNkPW-2No+J(};nh z?`3N7DWkdeVWBQwch}@I(CYDwny-iDf{z+n^;#TfEbO>rq;c%9fGQb-FSnQv=T;gd zj{5K8WnLE3-4+iCqPqPZcD_p)2;Oe9?rSUh+ZG=>&r(u%bkD#2*vAz?yWEhAezqiC zvPkPDG)y;memeaZuYJ=R!qMJjM&ebu1suihJw3Q=_gqYd{OPd26zX#+^J^$|(LvEK zhWJBSnzYs68j0d@CJ+5Xd)*Y6o8ltb<3rzn&R*jdPVJBKm2$CSR18lk|Mjw{wd+r= zxz7)aZ4UvNAqYU=JWlFOe?9wqjH-|K2+%_>TmJQ)j+C22wpTJnyaUXMRNO^c0?>Y8 zfehCO)~1@4JTVz>_CTn+izx?vy9Z+Z>+0=mQFIQ{bn&FPi$i2~%m_;+x7bT}wOb4P z;$U|OZJ@&+rMtj=3PLjV0e!onV3Or&C9l^biC==Ide)nDqV%1)G}b{2xMB2L^IpeJ-qkIepLJh4)*tXLa92IvC8~i?$IW8_TJy@ z!P@phb6M_5dd9&+H$Sha)r#o-Vi@Uk5}De zGW)2gX=W1i-e2O=;N`sOm{%n3rK-|E-MEowlhMU;h!14sTNNY662at!-Yl=OME9K( zD>LA#Ry;vSEXJEY{Gny*9S=9GiT9Y-zL888tpDl@FnqVrxb0G_YccCkMrGMkM~)s( z+>aSEKtYt3q$6`xYV}>6p$fOU=C7YMZ9Qg!ePuE)>04NfYc>#eDAI}NF<>mo1>%p^ zOlh^Vi)E|oT0tpiq8DvFFapW{0R5gxyVF|<8qZ~}#mPxP1mqn>K=GTNK)K}o*y!kD z?ZbhAJaMdM3zp2AhBF{Ou}3eHy&o-=N=0tI@_a=0at$^gD@NRrw@M;PufP%tVei;H z@^ZZRs+v!GMfl>q`4FVQJ+cZe71-h5VpzOV2(D40v)?1nJ5mK5U>=aep@EH%VR?Eg zc{Uk!s?paWL3hFsX;pOO@I?yeZz&4CR9wFCbd#|eA$1kVBl!l9h^$L+kp0T!d#v69 zVhpJ7da`0~IBH=Fu@D&JN4-A>ymN`=UI3)S!R9H1)_}%0M=6wIKMJh9W9_@{ug^VH zta$Ut?w9n~oODoCNY@0K7@v2B*J3eM?nD05{!8#r&R%5JLM z8BClQ2<-e?+cP%V@oi?pWHaKs*t#Y2b^RLkgiExWU(HUUHd+7Jg3ceot(7JSL;!mt zF0C*Bw)s=7py9`xt6;yGTGr9eHEI&9|hqvK|I+~4K4tVakwX;r$ z!xewVdDMPb-5xoyP%^SiEcJAoednH$z*%uUXr_j5{GR`Fh+)v^m*%QR?E$b58750p z!(Y%j|Dq%LSTJ-^@>*XXPGL)4o+2&m4-vf1Rz5akjNJyid>n>@vd$qn{5ZbhXwK3NK_|Lc&wy!nNi)k!@c6iefidk5L79r_w~hn{;0p8 zIaK3A9G?Hr9AeG;M#K%KO;@gE@KPs*A+l1eOHFGpc9%|vAY_#w2lS(uIIxn%$3NFU zotCh4h9~-W!F?D1rMcz8+!)4sGRZKrF6}10|F4p@Ua3=PrYYw}OUEMYEu{LT;n=&C z=^bqU@xxhJiTUBO6S#o4vxZo24Rh}wAnp%T8a4ga0S2S%p;Xxn%f517ckEetLs-}9 zYz@R{eqZK&uyR)~%Qo-j2t06eyUc`6lQO4D|F1`80lMffUMdyJLbJZsn_DD$N;n5s zY50TyufCoyCG396g!`CJp`HKNKhtOW=aO3h^IqL;;5PW(7y0YwL#dvG$a(uPTFRW- z`u_y7?1BR)kOCid#2##Z7Q2ocZyM~pK|6uvtFrpxPj8ib%%Kjb{0i=-J+R>kIh7~n zL3z(x*sU~loy?^{hhdF0Z6ZBvvC&?8ND($~4V!Q&LY*XG`WKk$vFhLXtwJ{I4qsDj zR^0)KjYaSRT!AptyE!Z2=`zmiT7@x zEXds+X&!hl!LPLEJMT^;PNA6U zj3fM$;~V|O808g;zX9|kc+zrD&`%d7IhkwnQ6#L3z1in?9Ky#?-+lzqIphOhtK((I~~wQnS{-4UQAL15XR^Ds+gsq0L{K zMmX%~uCzW=?3uV)usqBHwvr=SyQG8JHMQD<&;3V~#-UZJNh^iNKs>&yL)n!5RR@ON zZwx_4i&O1ms#AaVc>roz_&AbZXbd9L4zH526q_jR!g1-^BncdTUglu3K3~gZ%4*cM z)#{7B$Cfu6Vwu@0z3BY1q&HE$Pf5*m{2tXp)jrmSyc6{q;G9Bot)rhxh-pDxirIN*fUbbb?sCoyowZhp# z3VyxvvgL8#ICy$t^5hBWcG2D-hL26=2k*iOcjcM8L;;dGXg zDqh9t{Zw);jiHC!NxH^coyHg|whIlmddq}nK6&jwm6up|62OGkI?ot448hSxO>#(# zv_cneg6`%Q+6_&gHhe>V&GQ?VZwOe!q5qbM#YSHd+jqY{Wzzas##XuPF8e5&u4FSN zx6Ji+YZkktcJIJ}vmO^_Z8c6|z@@}sEGqGQ*Z+vZ&F}S1rN>8PmhjqP^pq*$PEGpg zlIqvg*6-73X&k&hFE*en$rtHm!xQCEoCs(SD>1Eaep+7giAFa44 z(TPFsACT<7Ich^U#vgHAx!2^xSG6Ouj**^iFCfK7ZQNiA$13$&PDNjx8O+s4IN;aJ zXq_ibCdaK`kwM`9XwJ6(x_7Zgp45zgeh9rFeiYmO=1p!`DSy7DkFa#C;`v=4v|%Up z*+8DhM|rShY~sjwR{Nf>@4=pXW3h=156W5kK6@+O8T0Y>46_>>e~&>Mcaz|ntXF7m z{aq1sbAIfmaC=s61_Uic=(&^|0kjY5cp9I~?{7xCGcgwr!XEsymT4W!uI2)9tY;*k zt@CT7hjNp(Tm1 zIvsrI>0R>@y?Yc3C#vzVyX(#doC(Y(RswZAPcmW?yGQ~K}OaskGn%DN>9}m7| zgvlfi5$h9@%gKXgmQPmoYQVhnFo}S<@{-XqY9e%?OP}NMfbKa5Mbqt0rK8jGqePTGn;>Mtit)USrYzKLdhS zo~eW;Fthv>U$z|Hb|>a)xY(mSKIQo8u3{tMNML<8TZiy%huv@XRX$YgpXl#?@!M3R z&OoqulK7dYxfifi2lkZ#@a589WZr$m@kV^qF=@_Uh;o5Xs(5BM)ws$p6JD+l)e?J^otpfF{?)QZDVAp6`xvAoD=Ff)g?$|5R z52GaF2uiJknS(!airlSAX<2YTlp2*DjBEF>RxllnNxl&>bDq0=WRm(>y+p~nFmMS* zdp>^S(fEy{7oS(7NMK zCm6A-HNH{a8JwQ?WDd;7`Sk)A3GS`xad%u}sqo_HfCV}215$P?vErZ{(3Q23k~)}q zb)?yA>rzp@^}T(k$V#i7aW%BFNY$#^_~hij^YtE+b~na<3p_e*&B2d?^Kw222$cNJ zLw%k!IA%@~G(4hEAm@vV;4`y4tQ7Wb@MY3}URRW%pYrL(#LHz=*~jJbi2X?N$L-$) zrOJyNe{X289aFZycO}EYQ~yvFz(A8Tl@p*_%@l|1jO6F&=wxkvw%kkOwK{Gpk_lP$ zgC7h}WQ|Xu65sW33;scxhE#+iY119}yB_H)uCVcX*cW=FSVNo#m+hB@w zjyU_vPvQ8j0d!**`Ze-I!{@R%zDSx*R(#UeCFzT&MJub^zC;`LS>h!RTm=7!Q2ZXK(yHO?mYh`XV0*rS`ceLU!vDfrCA@ z&c}0W(gQ`kf6cUWt<>pfm7jb-5_12;y0KWxdyga4FWp-mx%IXfvsS(&*MN>1wkcE-FA3_DY*lR9v*S-R=XI83Xdkwg3iaFHoYo(i>#;$x`}EPvj% z_xs^@-*Lf~|7fAWtMW-Ydm}MErS~X%YHkoWUY5}L}e5YD1-_3h>I%c(^%le66g z{ZZ-X?Af8s@Ci*7_sY^!CX1WmU;Ogxm1ATzBhDz_btNHh+sgMky?UvzKjn6N{OD|e z=`s7GwUV9H6bxGKfNvIBxdT?YnZBq$ERukkZA9c&pIH@h)m%l`jv7db=h=ro*`!J5 zD8q{2*gy*JXVlX{==Uu`99d^jMe*;SZ+y?IM%X5k_{d4ihf@ClBX+yyc4QG}U-W9K zuz8Tj7w)6aE-jr)m&WIuGg~23YvYmfLQOkuLU%As{bS(&%fUzVh$ZL`qJId)lSD*V zMoY)}tPf0hA4~YraEiG)hWtC6pYi}Ndl*0d?MzAEl<2H z25(AmMeV!H%lTm$q#p|yfx#;8fpcv*G4;c0^$K zfq|ky0Uj?@xkV;BX8Qsp5c_U-oikPvQ;u72Lx_0F$aN@kAwR$pXlA(Ws9Rs)w9aXg z{o-P*I5S(~h_GOb)4!bJAcxcYf6$aMuzvt!I_7FO=3sYcS@4FhRNrmOsQ2wvMN9x& zWTScL`0B+AqH}G|%m>D~4H)O}RuR{9i-dW;l-o~pFbroWA}EqbwgDUO;n4??mXa}n zZ=Ndw3a`yVvB^CH4EUK2gy6+XRKROKI%c%Ol`1L>dgyVMS8$k|3wbNR%hWMl0%%%S zM|H>WsOP#qc&Ju?<#UelkpY0@Iyx_>EN>#R>7ot`y0Eo284Lg^(B@TZB-joqpp@-u zjL+%MaD{fC(OCXlw(9Gk-B4VMD!ZcL%uIF$vo=Yq9q90uNHm=e{i%GP{@JZ)nP>a& zX`j=|PeRJ3`3N*i?v6k6Nk#JIY@eTv&EB%b6WpJA3p0jc5}~W_!nUREgnIAy>wQ!l3kEmXsf&Fg@M8?kX%>#_N_70%`g5V1p%$hFR_Tm|+v-CsGbu3sE;J(PEHW-XQd zy+^Ox!V)jfac`n-jCNfQuG)V2A3Y~rrqiG!8gE}f-bv$8u>gd~@poQ)6E6L}*VviT zOx~Q)nnA1cB?!HY-cQ0!LjJ1`r%mMbyT$3x(^8IwRo1wt0Ug2g3^uRGL$!wYaHOwZ zy#k5yVzROxV=nhBH7HXiAM=CH7rdaUseQlBA|$TQ2+B7m{-F;?~)%Bxq!m^0(dfGTpj@2{KQzG92J)JHMgD}I-Q{~6}_5n z2`+UM((W?y4QDmSQb1t#OPO4jd;Cf}Hx)Uonb+xyc&#RNqQe<&uL7kG?yp^Pj8M`3_!=f}RqPwfLnJql8%wDERwG`(dAMjvmvv~=(f;pH z*K6kQq0_YKqPk<1#OJpKOkuN!I-TI8fryhh?$~+wfxbSN?^@d9@@B?QpZGwo3ur3i z#OyAm{!I#R(*E|qcpT=%UFE&C>URCTb8m_a+N)O|>|6oTkomSu@|+9CF6o_b5_w0! zaNtD3u20$YNoDf7OE0oYr;G@*HXlITS`@=e$CFtEoXa0sY8lmqK?;v>R!=X6X1y-x zs+v7GBv9NUQe0a?`^wM9uJ=#wrd!_0@Si$vf8ZiL+!otMs#zT+N6x114SP-5Wb~Os zgLg>f)#sPchV%EW@M&4)GO}@ub^^|LSmp^US;=Z!+K1Bp9~bWZuAeCNY8hHiT1rw& z_SA-);$9ai*len?KGxBtDk#rm`IYYHrHEkmdq*s~Ev8Cwux)eMP9{kRgtID6_9#yu zUuD)_H=SB?sEw&xR`rjk9_D?=yDoK?Y>?Vs{zgGH>_oNmETH;Mr5~;qM0O5+BzO6>ppqfDrfRWFRfyxcF(dWpgT5tu;zd ze1M0~ThL;Q`ZfL07!7O(= zd7}Mk6lZ`sa=_+jz9(iXoG1*M zh!{6Xb_x5sfDEXul5N}}cL&zsq@sD^madIciWT3{6B3-3v~E2+2Shr6&fD)rO!wWU zVI4haDTT&f}z?upi6`J#(+{7dzws6@D#j#(wG|rf4qg|HXB& zDd|+~a;UG{B;B#3!YInjx5;DrEMy}<2?R_WzaX-OzQ2mFR!;`~s(kjv zxCuMH@AB-vJYvLA-(Um6ce*qa_gJa*g65p8sgz4#zoep7(6F%l5N+KA^*LNM9Ey`z z+kW6OSBd&KJ!5FO2$U%dP<*8~=qNGvw(;M>c7yqvP{DcUy1(?&)*?6G3C~{VlKA@D|8ZiN66l){lq2Z)i;N%^vU*KWOGBcaZlnp zoNf+PrMP_WGWVX#^$$x2*6#OHCFnR)Hf9Oq{8t9)yFlkTF5SsLHC#@AGKc~$dM z_}wSaBFKEX{_0R8wE z2F0UnwpdYFw!^yUlSh$R+r&oHxVjpBhmohW-t+n@Bd^_quJKN3LIUOnweAYznw6R9 z;%Ibv0~W5AJYFo>{mIJa`K|;!tFXK{iOZyDGNQBdNPg23kgl{x=ROseuol;u6P8E5 z-*(T1NryeZY*}45a4~WcR$-9F$;g%Z1~fca#(sy_rA&NG8(XxSntwB|^;a&u)AgEH z1eLAuVHS$dd;7JXxhC8FXaW7(7cA?ritmzhZ?Yru+WmJ=CT{IWuVn9N3+K|WoZ70d zrML!}t#)KI_BH+Fk6d0c$-^%F%Y|VZ>l}hrLeFAFp%`0fFzk;@jw_eXJ~M~ZQNiW5 zUdO&9-XV+M74NPvIR_Thm$AXk$$f2!oyzRg`Z@O??a;tE<*S%1wC4;x`}(f}$%=fj zk&Ks|n=66h9LnsQzdImc4lQoG?Ga<}E?4}0@BC}#%94Mp1;pD5HeGwEV{v5552g+t zT->Xz>z-ebKpA7B8%}uU)5JX=FUF=z+~;4p+h*!pLy)L31q&0hy>w&Qhuh-&<5?gmaMC29RIJJl`?Hcz#(i0m!?A zWy3FL9GdfI)#abL44gL3E~I{&dbtR#8BKQHlK|}nF!%~-4toupOe@$v2G_YNPjAFXP!!h6f$`WrPHF9z#Nv5XnZNiPL zHy;T8H;LE(tISf8%)4Cs;{yYASR)x(LIV@rv?Fyw6P~JZu6q+Xzyp|muS*C38F8&> z#UWGmSg)r+PS1CZ4iYQ$YxmCXu@L>pYF0|$9X1ymZXg#cJK{(jq6$grU7>EGV-el@ z!uUI%c6IZBVm0c}j{XWba*FzHly;W*RKCwB6ODepDhbq*^8qQhOvm2Zy!1#8=pMsrW#=dtzgbBAjioU zvGoa#M0Kw>rF9+8jXLe|x{J3WET&)X5Tf_<@&RhS1Jv{@_c^g_ z&ndR*1D4-rZd=GO?(N47@}_SY(SsHobMKZPBDKaUH0;Zh<HYFrnLozJ{0Z{;p5^ z1o}OI_&Jw(9^^fma%Yxzzq$B4b1iTcwHAJd&3hlZwdL)5c>;T6=XiC9vCIjBne`z= z^4+RW?A)t^)IH%`3$Gzz*E>gh-a;E{;o6MpX4Awac2BFzUMcuKrZVBAj05xg}>#mJYg^5c(oM*dGU{sT+9l`;ckK#{DhKq%`0JM zAhppG#x6S=rLxnS*;NFY!uO+IGoj_Spp3jq?&b2J3|R)Uew53tmP?|MLjmM-4tC6_ zfC6-Xpyu^?@~ql%9$y}|c2+(OpwmN0SeRjgJji1ZSNaDT*`0@Xt@zt_VkYBi<}g*- z{ZCNH>Jr!SF8_L$Qs7xMmJxKK|J#sBb0E`UX$icTEC=rL8~%;}goj8z?D=ySaZ zIX1J{unf!o$I&G9*K4E>t{l*`cW=C?z%4Rd=}OmKEzrXEbhF^(YkzD3yy$KT4$uXK z`jEuBSYoGtjjF_6YJ<>`%nAA81Fzymbaw$3pv}p zqf(hk8ySaB#mMAuaFqb<8PA$rUsIn^e?RQP zXPVc20jslgl~5Fc$1&F*T(ngn1^$zsFH73)7)vzKcFs*!QYV}*FkJ6d0J_}bK10Ml zLzq5tY3H?<8s2DL^35kFqF)ZU*ZN!@*2_pUiP@>d)ukeSJ+L8hBo6d4OYtwb(ztv} zQ+e2C_RSF+u_iJf5p_b=2_`yYU6YSHa(4y26VFV2cXxDZIjxf&YP6c~n#>kQ47jtH zD2Elq<)1&=O>=9a4)Tq5iG5`^)aL!<->&?Lp(sF8sis{|Sy7hVOEjAjNL%46)MaH4 zdP+$Ze5qLq9>n$Z=A8N^4Lh6rr_5%I1K@_7kQR9Kg5Abq!AF;N|CHwN1(&c#*IH*H z6LD@=PL%$Q zdkK1^#{vtm>P316<5Fg2KNy{tExyUUV%_VR36NK@QXSf-4or04shEZ)G^_8*>D7McB%<&>wYhb?WmlFTLh9NvCA5$M+KD={`PR(208}@!R;ZP zM!-h>hu{v)tM=;9ozwJ=DsIbyO;hziLOc=>%AO1SWdc1grhy(RQP7%J;@AmFfKUQr zbDbpE8lZF+CsM)r*351D`axLYGH)h%>9e?wP}SCB9PxjkFzr83_`_x@*@GdGSwp@$ z3^`Dv9(#lr>*W0jtDTh58~lQD8cMQvzvhcgl#5*wFn-rk=@DZ2jO?Z=tFo$P77u+T zjvaN0BSL?oxb-FS`qk;2_7tYg@3z-+114(JLH|*!paI_xiOL^ec-K z)4vzDt^!`v5`?}KJ*^3rk+kt+@+tQ; zq_dF}&)mWFEPIG0Q|cSRL3}LIRaQ-lVDkc&B1p2{eO5&8kbSfIobGVsWHE!^wu*V{ zzDbh=YKXs2R-RjFP-A+!m3C{TcIm}h360+BEXlHI)qRwF*xs9n$az6`UVHwH)Rd0i zV?#UMMtebkV=vjp&9AHXp-O-C{=#%SU@^X!zR4Y`zgARUd@hGX0Kv3z97CF_#QiF( zf;LCWWx;ACk(1kBq@UFLZUaLr>1K>2?`Ut)ZSJTWWLxNCKu39D843Jq{*5AUAMfs- znYI1^iJ%_;)*$dw?+f^Iew3EvW2jx)zTt5hBWgE&JSNkEsk7RdqmeIeY9JMzm1h1M ze$bPWj%NR*K1hQ-oh?lbJu9%i3@t|hvu!H@po9Ha(sToM9MObotMx5vG_5Cma3bv7 zD2!-y;49Zw7Zql)BDItu^#`8%1bEhHuXefdJUj`&N$f3hB4=aV=y>$l8~SHAy9E)1 z`>L&6;qMLTFiGR!!?|1%9~5QX7{MiFCxr2p1KOpQHrUqOR)pGq!OpzVi>icX@*+pz z9^H7$Ubtu*(BYz{-kIj$Hp?YTl+{7Ak|7`w3ql>7kYnqjAdQwjGGD=2MOJ}3A&ua? za}Yxl6cCb3dC)*F>eW&vF6wrpe`zCRIpQ()rVgHq&9ga{yRDvua6AeveWHC#y$DFS z*3N;qUZz+(>k($|U2K64@IwlAA!~0I=X6Z4p#Rqc(Q5;cFV<7u`OQJk{@4{YK$OoZ z>$ZMZ=D^i+ec&It@)b^(60}%riC_BH?QG2|Kz~p&HCZAd^d?G$mrVox=8RGjV?%x# zl8gZxEcbpFBNZ9kIuc2)GJ@)^pq~jc+sFfsOdmqfI0{M^dizd^tT89sermQkiNz-e^=(M-m_ty}KR5`W2ej^gn zbyL23vY!#;=&l5%Z;A+e0vtqzL`9`}3CMeq9^A*2tu?bTRL2N;ydt{E^PbMkxp>x~ z*7vl=luuz9LK$fre`;ulelr5OFTZjzh>3@t`SQUCIJX&M!h2%Dds49}SqjbKIWEklXP!j69WIP3sXoWD zEW1~{g0QRHq?lScm@i#>yhGANMH%;T>-9%d$;_@+-n*Hw%1XUq9;lmaX5~MWc+6 z)iTeykYy^q@%qTi9Bk#jkJOvM8tlrc;-u<8_eRbRNdo5-+@oGM_y5?T*q1Nyt&Q%8 z_fLb$QcfW@2-N<2zQqLUVh`|3Tp92~oMj#Eb8pUi*k${aKmBX2M$Q+gotGHbUvm&E z{X4N){5qwpYa+d-bO(x{Eg#%}@@?4UzhJkV^2dOAk>y=^>+QdRwyDAE7Z=)OK&^GnJf~{3>3v?+))TKX_vYOP7hqUNDm4_ zPNZ%PwZv69t^OaTzB`=FHf-M>wTiZ=RaLyIrK&d3QniYrt+qzmqS`8v+9L_Ich%li zRH;$5SAyCjv15cFh+09AkdUAEd%y2Ee#w71o*ei6JkNDs_jRAwb)J{kB_MOt>ztmn zjv@RqKlc1xSpQFM9DVI07;_gjQ==Gb z+HsGOG}D$rGH1&3>68!u&Ky%9@Wy~qxj~%4=fSd;ruwUfuY6mNyaI5Cml9`3zhVAn z8!yKNgwjsBj;@QoZ{Eig`r)$Lws;#!*PnvZ02mx!RQ2~QW3^+$4Pv^NcCYM!%~LQK zCKhO(i3lMjk2X{6UzO(Eux9|4R!(0HtUuQmaY_UqD!0KFQxR28%Sm_L{hFTmrw}58Bia%Lc`2Xw~Z6eE{g%OS$Y@ znK-X$8r@u{&N(4tu8!p>yw%!R*J$btT(i!b7iI#ztG#%r&Px&b4B_qv6>fUg*w4Eh zblX{2D(%Bg74PU|!d5)SlJU|+nchqygEPFV-GuT^XhFU z88ltr>_1`NTkY!qrTLTg{W$lF2k0Fw2Flv6Ra}Cvu!KGq^>bMiDHrQL?M{a`bnd5;Fer?%BN|BRR&xHjc4uD`}t=dk*2Gm&~8WShA+ovSx@rwBQp$0)b! zXNW4bm96+}Ka{#{V{AXb~P>?^ML`Aa- z;$!H3?~=oV-)WHtVzDe+~d+uF#(hvqGY+0R_Cdd{alZ@8edrkRCC z&(pmh&MEt#!@SWqPO;y5EV>hMoSj0+N=~+CAZ@IRQ;qnX$9yRM zVFsQlL;M^RxkK!14o2qP5&WGu-|GrMaaKZuXvOQ|{ z?B9LGw1lZ`FhK~$vNHG!N`*V+2c~Y0vSDOl-<3|DN6Ykz7hIS_apM%H^TUDpl*l{cuNCs- zOil_Pz>_z)HVWXr5U6zk@~{CdW-S*#8Jl}Am1S$=Y7LxxsXgG?;RWwx$t;JqHur8YS)8>OF{xp@E@KY}StDoo= zx@S=Mab_oIda`EKDr}dj=B7fb#se)RB}%@%4J2^6e~IH(6?if#Ivu> z?KjQ?VBU_(Q0?ul!-|NAdUiFtuX^Qp3HD5Ea*Q-B>g18$s@(ySNQ*lE<7EcVQmODL3i0CBqT0f>+GE3ReA7To=Oj8&{d4QFOPzo6jkqn zjn@K7kBxrAw!o?~TxLG*=AyRc#2mik7xsg6dj~GZ%qc$Z)sX>j+$o{(R8~_sZl{?^ z%ujFWE(ci3duG|+fuOX|;Hz!o9$);81J}OLr#k{D^vXu6zC=@AyH|FeCbEVlpX8@e z#PQNmk^!%;=heSqf_}H0scX7F3F3bd8Q|)f@duj2T6R(2$@EXOYQGr9Gm#V;rf)4<<2XbLjl0k34HgG?Z?1=!@~m3G&-3|rk6xU*O#CgtbH zp*!EvPrPYT98}OE{$QR}f}mFt&-n9!V?S2V|TXe}J_KJ`CR$fw* z7kG9lB;Mh<9mhu0Qh#c(zejcrXmvZ`nuqOIS~f0~v!W7o;$kO3DWmu1;7Cx%gK({h zHLw+A0gKy*0Jm{@X0_`e&DXGkZNu*42FoDP7LYEC)TWJ8)C*dOx_tsktr7K6TWq}&8 zre`sWdJi{@w}od#EXg*E&HD;coF1Rqu2|D~x5b&BaH~V}{*9b5oNz%ze#uRQ@4!d@ zA8h7+a3BNr(}=^pQ$Y#q--s}{K`h*`+M-4{fW}VM5rpay2c%pXVrbTF2&Wy8kxpnm z!v6Ee;JjHKppb3hyK`z`O2Pz7jJ=|o^=FLEGYhjUW6Jd;S)lb+=a zrv!t*P|~e7xe=R$1swJM?w#4D3wtTYMN;BE^GnjR1}$}wX^ki9^}s^%jgo+epUSm# zzIO{xY~(>i^IzpAlA|}!#t^yn)aOK4IZTxStL}hrBoVwt0Z-sM24-XUbrd~t8?c*m zHm7fwAL?K0P>51>a(lN$h_IZWW(#zAust)xResg2hwR$d3w%*^_hXU&%?W3=@b%&& zVpglOPi6U@u(dhP#x!?Ca@*hw{0l-suu*_+82B(mC>fu)IMoHQSZBp3QAxppvz%;h zmQacfGqvGeAI-lbsw43(P=@UDML3n@`Qo20Vp{-;!c;+*Hs`Fx-=Fd4i9h|ortZC1 z8F8U(10_9>fs;EBnjSI$txwv22r<~}D!vKGoHOzEL#7=fhTGIpqBB6Jqx%$%C;i1G zgpuTX|M~JWbpyAvQpxzSZEso6=JFuMCsGSctk>jI)R4R-x=X!@k_qiLDFXL&*Ex3B zv~L@2QXh(-CY3_|adV#aBC5yp&jRZvHRwsNvp-OZH}bq_ACB>f?7#cx83ATD;^<{g z`kqGMvK(uC>&_|D1!Zq199fnHfH& zi?ukYxFT7ygE98lRW5K!Xu>~Ww?T%Tl@T*bZze3Bv{;L;;CD~R@XJ9m81?5-x_$Dz zK-WdqspAsJJZ36$2!idjS!(Jfvxk~U%37KuiTNzqq`OCd;Szle=gi!_+3lMSq{&XL z2uDN;xvhnjCi#^b@~1Zz`=C_#!ucKLYw*#|6><6ywrP>7!=N~XRHbF#r)Mdv>a?67 ztRmS?%-Z&A9nWy;;0SAKo6(WXBKLL7z0P+OwuuR|Ht{nVqCfoiot(eWOvVSSx(QZR zG4By~(Ft$i2@KonxcadJ)=b&k$7*z!M1fNNCg&U>g5(HXNV2%=swCH*R zxsDVT6vcic-pm;*zR2xWlIK|L*^+>8-1M_kyE5Kka&JDr1a{4Ys9nPS7BwdvT#r#a zofrDksqit>Sjw=w^fKcW+|8|fZb3%lmHR!7E)kLa)0`8T6=?G)VkPddb#a2Ocm+|z zW}J0@f=^+JjdGGywc%+fVKsci((uQ0fmHMd{}pco?Ylb1q*Y1UhR!vfhOp(6ok$i2fRN9ZXJ1X*CU)J(X8`GPG)xAwL(eMZi|TOcrcu$N$5h+)B0J4!Om4m%i3Rhcc^u z_?P!Ab;xoPYSH(4LQ#qD@)f_EyoIK8w|>v(_kKN%yZA)^Z4_^GTgXFTw(Hw+HDc1;+2-^#oX{Q!76tPqH)tY)E;8xgbMh!96-cKZU zOjP#}lzww9|JUpH`>qXUm0Dume+6_e8I5GyEeH;Ud3pWg{0H|kdt0J7xQP>Joi_jI zfkDHMndhs8BO@X^eL<#0O+~KHyVsL~by&W6?`4*F?f1QWrPp`RB2qw-V}!*TTRrKR zCs;q!ezTB}Xc2ZHmAkOD8m6THTj0v5eh@|k_-e(T9pL8^Q;dg{?$2-Y%_}8DfLWkI zPi`Djk>0xyM)`ck?|&u_M$V?Owdgl`VL0c##!`{u`>Qc$Wc)|m_|b+n|Mg(=2XUet zziii_UI#^DBVu9-DSBCA5k`S$O`DNUjF5B>%Sg3 z{=p#bXE)_D&H;Fu)=SdrMb`dNvh)NjBn2zFr35x1i^Y!rxWl87IcK*UMwheUjucJ^ z0rLcY>}M7=eWsb!xym@})p>_T2(;<`J5vcDFO$7Xg=!e=dkEIzfw!9y$NqNsT}t60 z<32z4N0Lvpgi?5pJ21nHe{A0ZazxJi1D|6zk?pT7$3xsXO$+G5=&bJJm;(&9pxEvceSMJ21m@dntwNa}{1lc2M|2Q8mhHTHl>$c?)y()^NrH&0dHDRBU9*tC95$t(Sp1_Ut!{ zl{$I*h<1v;(Ax)8r}ZPtQI+>rO<4BUZRNy?);E2vG8o~uR@u)HAgg0im_6dybb~hc z{b4%Ai|E{0qHhu6!YeNtCa(6v zu{U=$S#}eQ04#sR^{yv8@*13<)mlLEPke7GrL&iMb+8`&_c`4uM>zHU89#@q#h@cV zezh7tMJZ)8oBO(vyyHy=ig;6+@Mry;0p2Fjm&Pp6#_TPFMVW@z<^=qq~aMvO05v)n%mY;wA&KA`Eb$=b%}*>lo=|C-$wP zI5_^DX`qTu93#?~8#V_AP30ZnO%^I=JmmuULEJm5w@OhClpfc%S!u1#1U4O1fTKn| zowHmqGA|U%Om*WvwW>N#^d32mj6{H2QW=pK7e(liynO=`fyio!o*bzKgk$eU@Xj_J zA%5q9lm4m=8e;r|Sk2L)O^0FRs3>pTw3&!QA4sYfzw5nG{7Ori0s?f4uIkWJpV(lo z1e})HKMkgpI@$9suCEGBYqq6@c$IAU*R5&nmt>QEk;dpWF5mC@l`Gew&4kh8aI+`+ z<(}VzxRAK6RjMrN2MO@zo>eDRpIdsWoPFNQ*#jVSOsgHHC=~Dd_Ud$=Lijqjw38-* zj-nKf|B}wFW(;Q*?Q@BKm-Ug}r%b_fSH9eReed4GhbmS1zkb!+N*w)SW+L7mD)4Jx z@y3lnPGH;osNE5-4=Q_3$oZvmuA^c4GL$s9Ihga@J)3a-cxwctjwnAazx5Yo2FH?3 zAHKNaGg^Ox8JZx{2wV(3i5BlUFv2{&=7#B^287nr`wH_RMHjQ_kwUvgKihiLcdK{; zH-#4_>FQHIYhL)c9ToY}{5}&=LBDGY@iG^IYSxTtmH}HQHh}Y7yS8u)J5Sud-G0u) z5<13^{q#%lCoS|fbAjc*@0T-BJ?jLO-g?nLL^crrj*4>N7M#o-a{dLe?vS=IOpB+5$R}+GDZ&Pa7KeU;p!R7L)H@&lfdnX2;Jg|;44sE_2 zGxj2akGTa+6#!jUT@elSm7Xl$ZhVOoYgh|>xA%^y{`+8HZ}skcwywP}s;l#qM-FK& z-7)k`RL2G=7G=YV1JW+9mMu*04Xyso>C|S#qT(fr7EUBw4`L=5g~3e+w@vZEf3Xs| z*Y`Z&0!t9MY7({Q3Qe&u?{SPj%CeDGMZC_VcJ!!a)g$!Dwe5KDZ<-NKYEWJ4)q2(*r@SF^vkQ>v(yu+tx8o$CH!{JBcyha8n40!s$#9kGNR(}}37 z3m2raGe3LG)8XT|ZZZ3?2^)|3t?}Bk?-=tTITmB-obLzTw2>w;;(lzRSgnylO%}*u zQ?)7PwFEaDR^bm%cc*q@PFlp3(?=tD2IT9M#1kD4cD1x~0I!QaG%aSh85bVi3gj}h z6(+mMk&pieMA&@Z{IAvJ===4LF$IRcy2VNuEoN37BpdsB;>bA(J0}78D4^btBbWPYN^q+-pUdqeBl4Rd&;#;mQ_*wSvpGR} zYVU0`^u~71PAeT;fP?0G^F6kiuM}ae=qI)4^&}zTVlHkaE(Xwl(Bvx>$lsUU>1#1p}dlfy+9h**#hdDB(^& zh8>y9I$sXA9%2h&Dir~#P$f*_C(YybX{7ZFyra?1lc36T6CKXL`eOjeH39!>l~nPvW?MGx$)BeTFVw8vLi#n6M_$AWCC ze*4o2D)eyKal$~6&X)z#bwM2Xfbxqy!PS0LLsk5kmQZ{*L71f!p*Q!MT5m|K&C3`E zb>r4)SCUSr4g-ufL*{{G+WxO3A!of^fmv&;leD8Cixg*VdS+WHlw10RCboke*d=_llM@P*>elARoN*Z$ zPTm5Vb{#1W4Eqnyd8T(OU-{P!Mdn_W8=a*)y)3mO))pY!V!k69M6exN*t1`+K)69) z6Dt_!4#rzdafik`0YO-ffTuNXb_c<`8~!sHJ^y#_m; zkUnXiL-feKIP`O{l?hkn#r?DdA@fOxfy%q)?kerqJ>i#g;N;TQ{50$RAc6lBut31? z2%_We&wI@&lxAzXVtpFcS1diz%(@`sAe1}zhirkH?>DF+;EP>vm&e31O1 z!iLMGAW;5~F`1USZCd}hz}!juk`n7Fz76(VyNO~;qB+&A@0*XK$4;1KtQzVsAfEug ze-!&z1(!dLM+C_Uqs;&FUl}IcpKhHG=XeoVV8M^}XGoK8zI~QEYS<^gZnJhK>wi_# zmwEU4I@a?zP3Xn2aS3$vQ?YmLEy_h1*Q}a+s?LODyUZ+eWyH7B`VQ zYVFcA2-SBNsQs&Xg$GJO!o2cZ%|4EY$TN9jC5!P2sCQe!8|vE_Q0;cCz5Jf}7qc(x zqX^^xK0avny!@8j`zK4fUgbTV6V=_yK?y*h?%XnIy$=?nt9SH# zaa-f!go)+6$yt#RM4qT`4s7_2UW8Q~X1N5+*Fm6Pkh?7I4jo01I-_Qu{`Hu3;Te3T zP|jqmncv~YQBXtanIPcmJ37*q)_$1YQ4CVn)%WGwA#T`l8Zy zv=GTJ@J>S0Jfg7yiwv4o0uzF{{k;DxZON$mcNK^88(v|uU{|bads_8)-LiyFH+sCt zq$pmL$R;X8VS^L`Ug+_sjGq$GQIPiKYbGyub6|N}F&<3xby?r$1Y9j^3g1?j>QulZ zYQ2A39Q1`#u3%!iQy>*vg}B7EbOuqYFlVCpJ8EyF12{km!?HG~7OBTc?bhymRR+cZ zqcN2MK z5((ED@=@lWk}x2^P&H^<&K0TSbIv)5q)@vpw1^MNL&MQ0hGj9G+74^B57ewl5fw*` zgaF*-K_9NwS?^OodHt4lSFwj&qB!KTxvukrhVRt!Ob~Ia2^PN7;(l_vGIne`;Ct3( zVA}}S53qhypeaL|vI!%WZ&wXB{O0NEshe*@V)=GVzWyo7HSfR&p`ygB-+1T@vZ;H2S4d9cS~qvf z0`Du|;Wp>} zZY;Yz9z+;J)@Hnx`Fe)%GM)O6>wlMaK5JKcAN=0cMC;m)3v6uGC+&P*%Cl-I2RAsK zjq~kLRDLB3CQgU!^256&xm>AuwTXI(jaZ)1c%B9>=fIDuiOf$>!U-3OZSdi}=HqFp zjCrR7Y(3zwEl;PW>^-l_Z!{H;cXcQAA_km zr(Z6m*H{14o_@$RaL3DFj&EP3#)rOW@|%&_JhxW|yg6+kgLU%T$4Zc$boS$DF{KqCZo@)4SI; z>#^STG5f>pT=|Yr;!yJT;3e5Nmz;Xy$<-m74QaaL)uadBn@ALTH4nGhys4}WJ#mn| zt~6DX+hL1x$VU^WI;=u{*nA_znqId>-E4AW2bthpSNe;YJ!?33h0bFAReYiC;xDbM zar`%_mPEdG6wxo6ZfX0EYnop2Nnw-^#x{cHzUv`G_{m#z^~hpX^B9qS!GVR(R{Fxke}aV9-tvnM_+MCT8jk|U z)8TtVa35*h?8V$_UaX=4Z7`IixSYW$_!$<)lI{FeCPAoPXd&h*@td9%Sn+ zUZw8Dv=smF!2Q=%uXCd^!MVxq18N47+LeiM{Wp#ZPzm8W z1PWLzj?5eI_+juH;M0DLxk)^>z3ocdr53Ca4wY_G%&*SD_|)0T%6{`rH&Mi9VTGLp zmd@7QLGwg4$`vF$7&mM1JTUDjbjTEdqD*UG7+b^^8`qU-pm5=*`S`mgy z+_!z-m#IJRqF=e?Kg69WZssm8U)QR#_d;Sg?P`m5+icR#acCNAOW=K&`M%y)aXuZR zKd6l_EjCvOsVv2uYAb?B*2NZjq|G;DYe~lw$1%Q*+1NF^ZmS)XO zvENvS`(uc(Nk>?dbhh-uor{4Ks%8g)0cstr6Gs@hJ>+Ayw-OrI7#1Jr6VZm3s9Gk9 zv4NO;3kp{{^b~cPx#K@$pRdVBRd5HQ`F-t+@RkagpL2m7T@`=v+_YN#D}4&BTNlqa7ymUYNAGBwIM15>x3Ra^H3CrZDgt`@@9c1( zGs>@t$dx5F0%ZE(!o>DLXPjIu;9A(Pf7l#-!$Zr=~0hngg!j!C==;zquxP#;EL)pJlU$)6B3 zU}4iFa4zvcU!Y8(sa>EBPjyLra&e#mwn=-z*d{Dk`bWy|$z**K@fb8wzCnsws|dpW z^c$7(G)vmZvgvroXl648N+mFR`o2T+%a8ml!%b7l9NN^my~QmW91JSdk{m=>8yr%|A}c;AQO~jN9n5``YKF36d|#r>e;5r z&?0GS|6Yeg2U3Vg2rz^4k!9P=mAj)nPx+veZK#=!1ciZF;0U4g^Z^S`Z3Rn^^TJ)A z=+2~)?~j9NW-YsL`6Q31(FuC391%OsPasCJ3KO<`&?no9nf(5<%H+w#oo$LZLp>8T z?Jh!YU>57})w!(CWXN2x%SLPI2F^Tjp@b61z2gzLOBR&z0@MT}z2oCW+v}MFZ3+_Y zdjh-uNaH`fo6lN?RZs_t`OWue?5M1cKT*Yeb9EbOmn)3|Uu|FwAm3O#(YHN42#VV$ zMAHQUIs_f=m-4LI-*njfRqR=eXg1d&V=q%#6(@5oSShN&mBjCZsUVsd?I_a&l|p)Y z8XaxS7m)>~T8j?aYuPdAGHfm-g$eL8_j{(oi3UC)fl!1aiBIN)vdIqtDiMw!6@kgz zNyI*U0HZ3cXfi9|B+;*et(7FS-5hSJ9kH~*2#0d#T_ZnS3d(AAV22$={`4`JZDJ;! zf)7p_z&A*?zse(~I)i^c@D@8M+W{}t*|gx@*SFv1(*74+(FUCb$#KDLvmvibYGZi=a_;Bmt7W zP*cTHe3p$kczvZZiel@lLe|~P%QIVQu) z`^_yW*T>JSh%lj^7KkExE>{@jaZ-UTF2<9>b|s9ByR*x!=l;_Ek6z>!a*MNv|6I+Z z6uly&P0Ou1ocD4%ZhTD4A)%^g)*-I+@lQS?E2mk9ib>+R36%FI9o=DL*}1rwYjc&Q zqLo{{vsEqzBPV%Y=*+$%?zH$N74G_sExhJ}nCP}Y$WY#2_$z6?IBPzq%L5;>`6hJk zgG4jm>1rsVaix+zP=6=oqm!Zey*1fnIf+R^y~mf`!E!x}pEP$GQ?)e#rsfJ(xI_}z zhz>S&J-2?=>O%`_^0 zkcTBV-PoIL2DUM$vhQG=3KnVCNL(!L`6!`BqQ^{_j2+5DvbMGEB%z2h%sPxde|-5X z$S{1V;@W14wtvG>_@=p^`O2YQU!Z}XlB&JbhSI`8IU+RE=OM-Aj`{w{!u>&FVR)By z-eDn#TY<0Ze@DMq6C1B6wJ0F)xsdx-fy`{|#0e|J^Xc zdxW>G4DW{e20yk)j{Z1s;euhwUn1LCBb-6pcg~mbDcYw3vzn`q9_Y69Vh72W6MU5V z-^zsyIZsHw{{XkiO1OIS;Dm;6-TsQLgXLRM>PAl6-{x)I$sC|Z*ELvWeM>&FcAT+r z24{5TbhCD8zg!Z#7ORVs7KqA6yR{vv4xvk`3IVdgXz89cN7JK#v%xRKZJ36ZmA}|*WR-Kcu|4$1v?B# zQxhjZY~9q69_tsD30&?8mx{ggEy7OzQMP|F>BYLukCC(Is`!xIJ*XDfchho%5nSbE z&P|s8<0E?V06Z?F=@nu?yyZleA>tO2K6hRwFg5J9BC~Q0=`-fSxhGRZqavej1) z`Zz})2G0@gJ_oXz!2bvw*%MO@=Tn>DUDJ}_+a}qA3so9YLFO9ZXAr$|y`h}F@FbS{ z+iKUf1J!}rw@#`KZZl=?y~C-P1KsEv=>JlG1tyWt{hLp>19Bz7){j&=4?ksj54E!Mh~;^M`HTsoh7YECAP zrQMPm=oeYy28r2?9r z^-JFloWljsW3u~v4PbEj#y2&CEGB2sgDM^H>rzt5Zz7HoRs>WA`~6=(kBG5IaIS(nhw6S7`#|DyOGYnZ2=x`>F9fNbt30*ad?-H-pE%>T8kqq0HL+Lh}tA&vvc z4?VRNr8wa~BqgktQrmPO$(CaWZuBT83^X_X_Wuy7_A_9T^Dd5|=;F7ub9X+UPw`&< zJ$pu>bPenPyrRKgu=p^b9XOpBjKGwGwM?9kpJmL+VT5l^@LU99ITzS%kXKt>=y z&&y&jes9l!PIY&LL$T+*XEytIAxCtubD;`%PQw=37w#oz31cu(SwfhH$putRep@GZ zl1tOnA&OIbdMhSj?(vzhXmc9lW?YVe1d&IJM1%k;nPB(H1;07u5L&plxyll#+Hiw) zoXLmw*VO*_2-y;$Ed!%rYVKb<6AUwicUB&_o88TE5KG2GRbrKOE-2gaR-P? zPh^B0vE7_$61YK$Ll1<)|9?2DWoP2MZyd&CcP@^swbn;*N;wZ9-kDgznc(vg32T~4>`Lo)TnMVF646BYOl^z z>>8(o(*+y)c(yMtSn8V3@MHNFK6ZfIq6B{b3zpvWo)6BEe1$ih%HRBmXWmsmAIPn} z!+s`_85*Ay!fmbn51bEt_tZFug7U|2tJa{LLumugl)u)7U`vAYG24${kw=6dq+PhLZx;f=<^BY9p3XnrD?P0#uQj#g6i%6a6m z0qN#x0b1XQVKH*_6_r{sKdrBt84{w0n_sW3%zH?zBRo!Bice^hNROWQasT@oBdygE zo^EV8u!HW$^%t0ESFaF;y?U~TH3@6UEe6++2@><#!%!hCM+Ko-iZ?<^Pr*l=4Ck0P z&XE-o@1v@HR|`WHbbGn1lsE*)d?rKg1?-&!{=z4LL@_s4lqJoiv2yeP$(@YbS?1aa z>oMAkFmp0#abziwIM260DV^noEdxJ_*@$HJ++2j2kO?6Mv0j~LowELImT{JS>$q}0 zJb&`Nawgf(c1^;z$?>lx0mh#2lIy9d^RZ34S-u8))R(|P#`KKghqB7@4=Tzy3ABTO z2BVKOWrc3I;BzJnuRBM_bfd=Kj#K^x@7NQ~moO_GzTa+3TdXq?T)3X^j1*pHI#s95 zyvZpD-G<|!#xyH5!jn*_egUnxxM?e^cr@+9z0!PhaTBA-zNHl}sPjO4O7qH@#;s7B zsbFi;-KDVgKhaeIT~jCTb)xl_PLB#e9|3!lL7=~4L=oX>zYxh+l?m<;A`Um zO&)3V?!_VNXTRE%W5Ifpaex{_ATBJp%9T?toK_f_2g{_ z_@LbyD^(6NcwyZjzg|tyte~gHE;>gWza?=Tu*0#h9<{&^pj$5ticr=`)SWme?%aQm z9Tk6;^z7!i{*~p9{rse_y!i^KVy0rUN zXx%2+cnOdH+q$aGxUJ{Ix9*s-{fJ}>|Hl1;Gi6FpC_1@HQZk_}z2|T5zd8Vr8?V(Z zC9y}A>hNyv6Dgj?RZXm2c6O4q?zy7bH;;#UGr<$Fx^IVO9S)j5L|Bf_Jd~Z4Ta=-P zerd;8LzfHNwS}@ZXd&r6S~~AsA?q=~b7PfSnlk1KZ-TP)lYo&TJ^sa$1j&V(a&riY z#<1J`iww2{j#J^eI#p#^vhJFn0_d{qrY~5{i`brPNKPr(9?Kh@2VuF~dOfz|7FL7C z>duHKXluO}&dTksiA`=@?p=@bJ~wy}dTdE@P@Q+Jv|exuI*1pd3Gpk2Ky!wQRXo?;cSZ)u-(}50Q3psVawr@#Jl@(+M}w6X>i`MhT~4< zg&M9b?B9T(2(mgHb~Dj8&2S#DL^IvOx@>c~#lns4&>|&PZsTDyvw49 zBtlaN9Z&mlY>7S*a-Z=oeeF-n^UsdxIHme4s)<9cb^`v?D*V?QXgq!BU*IN)>*h(( zkMeOVR4d4ZNAn{F+@r0F%~z;3n3m*v@LUMYS%qu6q5qy2_<^;@`!-{czGCX5Gj}Jh z{6Kd1#QJG$@$11Gn9c=h9fZkt%EB8KYwe#!CZG>Hy9zzy!V}(_8*xpICGDmG(^*#z zrOUmR_8`=iZsr4s?ZJfiDpQ&S^v%n2GPy;kmfi|y8@bPnw-weeeo)D0Co9@Kjy$|D z&$b;@hN9p6b`gtdnULWLok>tm1!BcBK%2?Aij3cJgfkeHu_c3|AFV`qx;RXBXkz!)EJLzdL)~EF*|lYxr)R zu73lCDoW^-D}VWMnFYGY&%|H;^D2l7QG^$A16J$pZ@0<6piElNv&|Kg`&Bc+deeka z=T?5ANTOeSuhvuxd{fwg_OsoB;+H^fG?@HZiN%~|Y^c@~CR=z$7aF`$X49zk8uP{6 zJQsP?+Z&hV+_li06ZN40pv(9>ASoc9;97W~txq0bBBi9`V+TE;3%u!{v?&D&o`G*M zl_rGex;;sE6kLw8_%WA8nwhO?D0kyDjE}bDKw-m`joTRbqf(!T2RHW{(|#tDN-CVa z3taS5nnpMD{SQikH0gg+;&$92S2%<8@r3WQ`l*}XY5vOQzwuQCrXg>_b&LOblx=GG z5NF_Wv*@i5yV0ygO-S4W88B?31~(aBhN!fSilG-UU*ZnhxWl`l7Vqxd#-4M-B$os^ z`uK1umk&J$GuT`{2O|nWGrLujwG8Rfp4AE%YbkGp*lI_LRQoyOSNHbDJq?FDLL^_qO!9*Gv-LNS!7%_UVG4}HPy?;M{-1l=F z&+**XeO{mIJnt;g`Dh5mi**?sb*J@Q{KmLcd@^e@4GWw1#{oI#&u&HDX#24&*2&L( z;+LGfz{l|0DEIWiiIm=UWMvC;u;#dvF8I%kVv>*ce@jnc$Uj_U|Ab}i*;z*nU9T~p z+Yg42|gG21uaVboj!>3ZE`4`;-ONrS}3X+)HE_)=cv8!yD)lYPQ3U!7JZS?W#{0>qPyf3yXAA%7=vQ#Q8zT zK*w<^#YSajv2-pXzf5lTK9&KZ>QX%Pe&*lQEuUygf14uT#on}4GMz%iJve!>IN0

xNGaBGVS3{7ndOyrz1_iW>g9>vB{|>8R~H)nZGtl#*VQ#1b#!p$efG zJ#o0#cwV@HxW$3C{2=|?d$fbQ&CvRS`~4z$K%nr=nwE?t31RJOiMbAr_uL{7#ci66 z2q-b(PK|=X=*9XRJL9isRS0a!dP9F_Fpm|VMYn>;FNGf$q{l5X&LqY;eqooqZH2>c zWIMN1cT5p~c}|q>g+BDLT}E_SbT^V(+4jzg`%LJMcx2SfmfOE$AN&2S3qIFsnT_-V zoBypr@Sro&_Rc5#DNoIi)%6H+G(L<|dd29yGTA9hB+**UbjYgwZ0veo19am2KKSzA z{*kFaG8Cxdm4uFJ?etzdw!#xA{2gALp5Mg!P7orGaSxLYINxs{IbL7H;vylc1!zm8 zx&NrZ1s7_T_tMD1yX)E>?VM`U%WcgMO^Aln642c)zNn%NLQxmCaHf76c=7)hZrNS` zu|R#R>XGU<*p$o#-U|y_h^AK<^2%gXy9nKKEJ(i6W#;-l%~Rz*BcKkX`1DlKn?2ao zy?=hA-K<`(r7wfUwhye6pQ*k)8IZt>mpm@?30}bWmEhOV+3hd|V5A_cA>XG&OrD z*?dedG=4EH^h$CWm~G1!=wm%4)P%3-&&DVFTawoZ{F8Y9YPB6%mSh4JjSI?r(jop2 zCUU7T^B1C&S4+sfaUcivWh=d!eN{$8=CU3bD*N6B-Z>Nfr@|Dac@lERC(Q8WeS&*u zuidUZf21<&C4UsDWTqcnUtL7Me-EDd^|vSfBAjw5>Jv`=w}^}d5dHqr{@ZF1zwBu{iexWzen@HNnfiMi)_UUCAd&i0|J zM1ht&`?v=cx!bff`nqowDsL-%~IgYwbs-Ph34K=z|QZhQt;A?#wn^?UbQq(1qHetyY@ zHSVkh>bCqO{ANCDr@X8fi6x}GzI2JsC0mZW9nQX8%yLXf5m&CY2nNwokT8y4s?D()v zG=jUJeS9sE4okbAbW=tAbY2*r03r*bX(gS58@7(`rh^>Lb}2x3 zh-;1!JJza7e3{)R6DD0B7r|y3n*4&$IT~vHg#eDnjv34{Egsdy`~I9hDPQ?bRa#Yh z{!DZTn+oXm8|Y?b|Ebh<=RA#FmXrev+(PMN9h6SqPn%8SHvb>^9_6YoPd9}+dcF0Ve$4IsSuHn>)&+@hjzXT#2 zajN1`?RnH({nNA2vt8*p^A6(QSb*iHjyp#qw8{Ife7?UsuP;$@kRD61zijvAyNcbB zG*s-p(3J{%INri0>2>e0s>g~PmZK3U_))?d5g5Sx@BRDsOrMfVIwgaDhC%oi??_*6 z$0d)8;SGoQzo%fwCnN@VGFdp)anZTtiXe*j{@O0>BP`c`&5iw!_a`o%IgL&x;9{L7 z`+Wf@WqRHOp=1^3wxs$wAFR774x8ZPe5>d7%4FKPsvGqYT%H_~Dd1T!K8j zd^~V8WBNS4SCw#i81AHST%65PS&EPBs{K1`TWfTd8`)Kk3KmlF>y}~Zrg^Q2M)Psh zmi|4Wb7I(Uyp7O!uM!M3%HnTR542hZnDJJLb5ZiTeCzqZH+ivf!#;=bpidKP_vD&^ z9IjFDvc9s$8+z}eIIq^AKL%&@?_#EL+wZ)!+NczXeWC=8_VX8Sc}Lm+cLjKzi(!d~ zM|=M}Vpd(8o$JV6$O&way)dMqb^dTTAC-0e^W#W5VH(OXs$)OraYR%Jk}Nq~i;+s0751a*{lxsxm89P5)}^z zIV)ySwZ&+mGM$+eMD6st-JP$`W&3z>25}@%6XC8tasz-?=La0LC6TxHRTnPk6zFYl z^TJ2jY5A$yP>w!Ka}*HjSar_L0wqjj66!`BU+rxEas{-DS?S%&}1&F6Vz zfv(iw)xEwr8FUSr2I-3CGlp+_-oLp4Is;oWZn%L47!Lf;-cG+*bFJHkx&b@~;u^bb zKeqj9`Up0&;D3+JA2Gf^+5UU+8p%L9V>C`xujNL+v~rM@T6kf#z9)hX|Dd=5ar8XQ z{?`E`LCr(&$HKLwrBJ8iei>%g#ag@!vbOp<^wDpEAO=N)pM%F((-bD{6Y~-c{O2Fg zK9~$*Zy$1hSbPyDG#=Xw$^zscpe_db)~5zex%Tp>66B-YoXM>LFJrW2EqU6TCS+VJ zHgw^06wX&gp=J_q(j~Ybe-K58qre5Awg~1`6NP7Rf4>I|`8c%OtJtxO1Os0`G^3s6HRnk)qv3UmSm<%o3 zO3?^&L4?rM(<#}9uRE9vQfDsSZLK)DC(u6vosS?^YrekT$wtXLOLH&>C`|r3_Qfer z1}w^IE2@>pDSG>@+bJMxY0#16T)FUx_5>p{JKdO&ax3;qzqgq8>^B>y~lzUE$_Sad~`Ma@l3HdHQFOOy=YG; zhiClL(GiZupm0&%q-W2@nAMOyf#Q?xY3)Nt5ANEl0gq2^iX4OOG=tr04)G_u46|8I z67>$#Z9VQa#(~D(hCU^e_qCc3N2C96hpopk{x?U-*rOi*;{u`gxvxe`?Q6g67SvQ% z@cK(PxKOh;76-p{Aw|%8zKW`oKf4nIFb9yvi3rJMtLm|3w#MPL@5>U2l&ak<4RJm< ze%TbLVdl4X!i(EwS#hw@Z>h&qh{y8j&+#b($0E4&`UdPfv*11XYBn{8(5IkuF~6-7 z)8S%b8o!@f(o=D8(_s+PRf`mz#Pg>y1kUrk?X@I{OG#PpEEt1MpY6}SaDJ3I)8c4k zMrukE8%3K<@5KozB4z(b*5uy^00l$pkA@#CkjXrJT;t0b3)cfLQ0JAx)>~a4 z262aRW|!DhbZ9J7o7MyGi#_!uunj!RX)3M>qwT06{7FAs?ie^;S^oNZn{a!$^iQMn z*MFkT&kjPn-}p$(-4TatK=*?vPd)mRMl8VU_nAIyEYZy`?n+$V=@g3PsLyZRDRh-ENmCfo=kr2iW!f znm%sDKs3Xf_BsfWi&tA@Jmf{&D$D&y=n)U%0WwnWxgU=LZIZ%d z;uLDCO=Z@@gzu3A)=?yHD`dq;j>bx{U1nq11u!;0&+Bb9W{3zvjwru>e1-0|m3i3t z)Px%i$=-T);>Qib72WA3n_q3M0JPk)-x%p)@jE3(1>Uq8+Ax+hKB>RBSCA>AX0*uD zOvBaxL5QE{Kz%euOK_zYHuQ>FkNqZnuN5=ceSUN zPGCUjTPY~Jq-&S339muR1s4t%b$*?$t8O0Is33%Pa_RdMK|>@Z<$7PFT2j#P0IX}D zn;a^Ye3^0iEp8<)lz;N%1o$W2t4z_-$S;L3&503#MYx>YBb1qaL2Ah5l<_OIR}ch; z##nX&SNN-ZPKg`YI!7v%Z$Ut80M!uvdE}iBLSefz{)5IH#NcQKr_h3!#asuOC`H_FWg8IJUtLQ!8 zX%rLP^cACZEg=uY=E?im#@w>&&Eg{vdL=)#7bEs?4l-bPx>dG zEHdjlQPOAy#2!=*>~WtdV^Z(qd9kVsLo)*7Pj?GQEmuZTp}RK^VGUhFV?eCQOWK7Z znsp)>_M}Wr!qhJ0b+tq3Mbb~4%y|u8MJ04$gwPGFC`w$=SyVl_c>AYu`1TR#Qv54c zO5^p6vM!>%!aFM|qKo!Km*b-nd^__D7p=dw!+82{Y~}xf+q~@1FPRpc{fKskcETc& z7!Xl6%$uP{OY3THF=f)>dxN%Zkb_R@T6CtXx~E3!zE;e8OAPJS-8pAWL24FliB25H zGab|DY`5RNjD>>Kf?I_ABk%_JbiMiF?`YVm{fggc=n7f|t%wK?Z@s2*Zy-we>y7Ce zn1;Dxm3?``Lb`}UC%=qx)4GU^zaq|ydw9cm6+iE%7NN#o5`0qr4qU(ME=@d4GCh(P zc7Sr>#4;q(&T25MM+2=*Y+fq4nu15mis{t`)!ap>6{w$Q7$Gk-V>rPROzcnyf1ro% zlRBF6Q2EO4y`!J`&kX>R1ZC=W!hSKzVOW5 zw6ZPZg(wH(LbO*w%!&h5rvuCqTRE-rIb;_7xCmq0dQxi%cJ%bDZJy#VOWimrfW7Bq zM76zIitn}@^mxnKZ_6wf6;lA1IePxRRFIc$BQh8jzRzMz2j)mdx2s2_)oQf~#I?z> zj{uq@C8DvBiO%#b*X<#{PxWgp79PwuWp-fhB9z8C8!~t>8gJsc%#mejZ?}qIJf)Qj zfvNfrR`+a+E-%O*BT$Y+^sVebI9ocr7~d2Sv9}J>^9IF>>6Q zLOoT|@o2BYdp(SS%l*@FS^LI};ZfV=&26Od3&);TKAqC2Via|q@^95MKDTd;n+d@X z%7AF%x{2KGBbJ3P2B=4C-Y&VG6Zw5g z?Cue4>_F{6P*6O>p8U({N6N^oS&KJS?kYIu3F|p^xQ#|Cy{be3Cj1@ zU`#j4Vn?(hx4Y@<*s7=qf<68yFCS_gj{^S)1xsWiN?`L-6MIbS)$NQ@E1DUlse+`i zjLz*=NNglip=pXvb|Wdqy2E|aK%1SFaAqGW*@{0FOUMFlg(!R=JY<)|-Tg$8(Vot0 zCU{KS?~Mr`+CcdrZAHxrM1}bL7lVMU!XG))1+j|G2C0$9!(}ieU>UrHsLuNez^o_d z9pw}Q5MbD*YcQZsBkf*a1m58>eI@+-jQ|O;e-80k}M-MdfmA0S$K9s z*Hy7^^zU*f{|UFWblhpC=gVk`;l0Z%!&T*BoErViRfXL=#7`l1aCzfd8iIM6ZRp!_ zsVY{Rn`Q4QxbkO<(f!C=xQpQ4^F6l(#l62yk>`R7na@zS>V$vGd<4lN_SN2RvWx^G zB5r(>sAF6LKq#@%KkqIGEqqNJ}pILfCw`QO=|46~LA(T$DpMHTa7xy- z_C^K%7SsAfoCp6y~#F=N%iux8cQX2cPq>``+k)!rw9xM#G?mbKl*h_5LGVgNDNSsO2tx z&E7WuA)(DQ&hv(K8hpT?B>0H(hgNi!da(p?Dp62w}vzfPa z8+w!tN-r$8|0(s^J`QL8A=NEgY|%j+y#QKYUwRwoFy)=3DX#L~g|Iv1&T!4bCeiMCQ|u1;>qOXSlgP)C00E~L9+QZwKl`qp znlpw$9(h$O>^bGQw@p$8HI9b&+ZXg#V1=lKY0$!a(EVXkr41-S4rV`86C8Yo9ga<1 z-}0YW{NsV~SG616yCczM8gRGLtXjitKIq)m;VPRbcBT)?+gNyf`3E!vTRFAyd?oCj z>t|P;+e;lZ=)T7{025lK)I2WdG|DDhG5iJ%CkxE3KdAE7aZ#-|!SPtr-v4HhdlxTt zOc~67_J$RED_Q6O@+)+Z!TC{8il?m6Xwl=^+^Iu`et4SnpSD@y=K0m- zx+uIO4cEt!g%J@_3fi!>yXWcX3drSktUFr72ualNv1A1wM;$6lm@D^faG34x99L<* zl~Tr>EV!U_dkCjGcJLM5Vk-0ozS>-2Fm7s>si>W#stK=WUOEmld1-<`VI z$5g3}P4-6k!@TX+wzN&i`wu4!)2cr26SYJTNN0R2lXxE$5ja@s zq4XC_rp&NVF}h%1;r-3=bhh~&gNfQ=>{KnPLlih~;VU%sEw5eJAu6Qxz*{XQ+^m1 zz)2TSwpK_?cXM$6+U~<$+SQYUX|LIf*Ei%}jp%7y5Z@n2_EnX}yYFpO7&tPDTcg7SMlp@|H`Y!E?IpjgT4ly-R(Pi6u)Gn}kD8 zZ~}X7eg1NhAKau~l6DWz640xp|6%U$v+2HA^s;?KfQuMqj$S%Bzc-PiwsF1wWc-2G zgXqu3pBaRsx%8vC1pC|-EUIkEl(4*SZ7--WyO65 zNq(1RwP^guj*43RN;o)FaT$!yn~eYC@i2>ynVJy83x6QVbxcW!#zs9xsY~)PPW$m@ zQM5(v6}-A!w8T=^F%6_#01H?-(f<(qcd7v(K`g6J>71!Iu4cQl&c5?(_4;>Z!Fu|z zkLZ`*jqY@EFa7r3zZ6A&1yWl^LL-IXYTZ~k5hdrtWKEL<2#s9rRzxxSh;CCeNPRqa zW>z5Qp}!w#;w(AGz(}F`SZ0$UiMli@*x9>IWE1cP9$I$fxBuvjOjKh0@U+?gkfX@#0Zk=sp)vh|S)qE;d2Bd>%TTnTLqc_m7vQFP9X zXE%3&%o%3DAb$Ew8pGbJ>_9IcHZ`LF-^63|gN3$XmU^v8CUh)Z|N7{-1Q33lI zc@~QyxpwqxlusQyM`bXSissFzkg#_|o${Q`O}LH^8AoZ;+-QKaWELay&5Ig97M`?lBIvMD+c}n1wxtn09%-4qc5G=6MfSb)a+NEN0dZfcLt;@Q;blSzA?ZV ztHnNh8CrH(G<~@h(q$jo$izrS?B+;}h<25J>Zxyrq^VSkEt8nM*TX>=bQZ^bUC3fG zyf)HKVNa70y$#PB!L4dt4Jb%xJ_;Brv>-0<~`wN^bFVjNDCxVItdI-SxmpO%{( zloXPadOCrhRB{o|NoRK%yy79Brg@uifuGHK9ald+KX7m`bo_4ce&-tm|Gj2o$-2lx zX_TgM_8acac1QD}C)&*Y1ChmI3v>b?rC?54-d2vP#Dahs>*mI@2THFtl< zo&_j!*7`Gbh$*FJBanJu7!$KZ`|GY|T79L{;wFA!LdM=!c!-qkF9ZS@R@8Kq3xz2%d-a*o`!d7W4q zA~~?V*Kvucoxk8Rz`bijb63}2>fx*_oN`kR4csuJ&DlbyZt?yrMdc79M8(*hLjDP< zQYHCXm)w*9+v*1XJ6+RC!>wWu`H6I$X?u$s_W5EMbhgbbA;s;G@V3Jvr?PIvh=Si| z*Tn$KY#IGkxIKaRxYg=QU~H@EK;t3T+3h2LUFA9}IQYX;lv3T;5_FDAE(;rRNOeZ3 z0H~5`e)^3O%1_y4X4{ZbQ!yQ+2=TIPaSezJVyRM+K@fB2BGaw?(|9^f20?Vyig z$d>jt@`G02JC~SFwg`c=vbD-*epU8-ws5}P{T9#Q{OrSG+|I1$hEk-o%I~FSkH0Eg z1ecNBGZwfeN}0Nuo1dEdJ7u}H_n#%pV$W8py!=*!AzYF4tV6>?mOo1+C3_W_9tufy z)C*PbEG_H?UzW{qOyaD2M7vU3YjYsaI;)OW^mlWFub<~Z`79@HtX8`#g51`YoROD5 z_!fu4rZdVx!#2))_0U%^LnuIR9Xd*b!0`Na#DDUO!KE4xQsjdedbR3kssLTo5^tSe z^LvgeZ9}*c1zqjR4`RcaT4Nnjyn> zJvzcXljOVrbWo03D&G-q_d<_I@A?z~viglVj0*YRvbQ|l?Iedu*PL_m!*5Wjy{WSUyk?r;bINJl7ilX)f!4< z9R`arFcl8VzlhGOegtn-dS_2a|G&;0U+Pnatz48$ovG9(#fhi#N6M1vZM34sVb7W7 zXdwWs)tO55@KVhS#tr*kUA|0kZ&0s!nj*(B_2dXrF|)q=U3F)+ZO?M!eMOvd);1Jw zt8C9s$bml9H1Gdwd6?J|z=2g_$%9P!rJZx-xbTJMf@<_wOu4~TYid8MX{LKSHMsr7 ztSQ7FC0FOu*O-TV!~1Y#xrXmCj)yF>=^LvBy*!zancaGI5{tYX2t)3JBl|{F7iwT9 z%@eIFB_x|!bt1Bc^Z+?%OOlz&Y)qjesB!0chtD{E|4E!`W*+?F|G`K}-Aw~6U$)zU zxQ2a%7axtKtCUT?=a<2?DyUFXuK?-!U8m>p7^Hzk1kAivtd8~uq{dYvkWY@ zkNqc;op9eZxhI&=UK@5|rQX73p?By##MXJ{X;Hh*(ThJ8whvdn;QR@9UAzp|_(9L{ z4hFZ;S@B$nk9PX!%v3FmLN(qDo8Lq9-en3dz63Aq6@1Us`tgSw- z%KSkCA%ds-%ZeOaJ_UQ4fXksgAZOw2zBNVsgp=PKWI$}^OIC6g;)@A}y+73KkjIy5 zW?4DAp1CttT*pP@wY^9p_6yMNhncl_gjYE2$6Rb6#64l#fr^iYAH*jULB~T*?BG@~ zl3F`q^NQei_o_Do<+;{C%eTwq(b20XND4pIf%;R0eWI)5g6t@VH^0c%FGz~^nZl2Z ze_htOg0(P9TauKOf#uKVze+fNuql3U#JV~S?B$sJRZ0yc3zTe1dS?N5Ay2!vyH*KT zO+jQd8mhIUT)H@_!`;%XFSp3%3)R8OMo$-AoutvW|X<0Wt;d?W9hwkBCBx zjChVgvTHS0^g5|(X2bURVsOq9Z+VWRMi3e`?hCYe&F33HjPQ}t*`>&SPOI3!L6syf zRD!*MZ7cb-+0;XJL)>-I=;*pH@pPC~p(Q}WK z^yE~TA)|J>r3KQj3nNy4cWT;1R{vIv&EymU1N)XBmWyigPEMh@i%AiWaGEr_R{M^h z1NHf{kzHf`XEasoupyP1R=O?G?^n7_cmA;qT)yDbr6655y^coojr=%kyDF4q(XnRHdjQ1bNyi7d^cD|8|%}qt;iIANa${M{c9AH`R zS^s{kjJKi(_%?lGOR*SjzNUBqOyJkdie~hG^8vO!+~c?JsoMK1IhT=A@eM-pAhSA* z)ip}M+>xo|US25UmW(rn0t1km>2d4EG==P#!WnPoz(u~66mmXs#Gj)(5yiK!lEuIr z8BlON=mz+bZ-j=STfm2Lw<(6{N*ScMAL;%$bc|6}i!>Wk>`XaFAI>!D+Yv-+mB~`m zR4foxt|Ny`D`%8a%<3QBTC+K=6ApvXT~;jm}6jcF>NIgH+(!)hqe;C6^i_GGl~K)=%0Y7+I?! znDA8Kj|EF%vB^0ot@QTerwM$F4Eky?3d((z>staobMql`eL2|2ZFDM(eS%1%kbULv zci`;>oK!g}z&}sIxy`0pxf1}mn0`38fOd(_3!n*q)#e_-v&o~>9Z?V zG;{QS0&~3z)v%Hlwz9n&95f$#-k9p4T;?e9Lm4|$!^fx1Epd*Ce05ruPs8}Hw#)7`q37~_t7vb~}c zVywN5H22#po7(2-S1kYN`?5d5PhhhbW}NklLtbcv&-?NGB8myLjpVoA(y!GC1t|@m z&PGE}+^B7?{%)=v_17Z`uY|g`c1D89J4S;CN)P}NMK6b)w~tT|g(zhxoYVNdlp3Am z)Es+sS5(pH4vBSNMiqP2MF^?WJW{E8yFj8G-2wXlW&KmCem)~yw304@xH7HjOw)tT zPHAF{WCpA3Pg-6stFsS&30bt+9`g670t!zAfy+;F$ceQGI2Sh)F9kK@S9oSby zCam5mfL%?y;ipMGxsQrqH4+-*tf2O+H|wisRQIJF+1Ox(DPZPN3!LI zz#&{fQ(ykcvh<&?Z%+b}0z|c4SfCMA!{8YJV?as0!`=2KOwk9|HC%^NJVmOflZlxm(3Dcs)8cSv6KDL4Dd^GxC8QLpP}&dItV#|yEU3D|<^L9_ z4bY@^o1w1Fk-;*rCeM{E65qKxgKTv}vDxwA*aaZj{D!x~v(sP)TlkyN5`t zdmf^0bc_MhARH?Nk>1@yd2EOb@C@T{uN}L&63V1YLprZS|BMX+~f!Mw(%` z&pyKx0eE%m`NXVMXka#Ws{x(!nkiSuNkVgh^POInYJ8v6O7h81G1^Xd_7rHQgV^9~ zt&75_Qbf{potoY6kx+pXZffKV@Jwv?I*w*2Fj{`IOVBf>HPB=P?iY0b3@}8hIdV1o zwSqIush!o@ExFUhaCNq_)mBk2!oz)@yaiG^Qo4_ogiicRmd~I6dmkkq1Y6D~o(Ub+ zMyXwiJKZXh>>kXbqx0X;&D}5d`F4fzFx~B^(AP{umeGpGaq!fTlIpCI3m{#*e{g`) z?Pavhr2cEwt#+p(jp`4`7)KD%_B^W>yRMf%|8LlS;Ujz7F=UY8B)wWHZJT#Dq;V*S zc>*?G`*)?voF51i^WU=Wv=8>yzOdOr|2p~zoB@k_n$c^VfUEZWtDA@7A0aT&BOxu) zS}gO5Xsinrq|`mnLMh4hNBvO@P~63$oOtWr0Tf!_F&EBnin8>L% zxgq2Doaab1=>17CWqr3#9b4FKqD?QD&zh%4p*(YRquiONg;Vqk#3YbIX8fZcc5Hqn zS@vrk7CX^w7!6ZmP}-_O@hSDSFpZESqB!XmwG)tDW-5|gjMRSXi{9jV-A3iJ97rp= zBZ5_AjI;Ky)0ubkKgSCsUNK}0&iv6?XdOKNk<4lwd&-npb!QIQx>(EO`))6L`oUS%n#%DCqnlKbIO(i>%si^dV!dTF4oU4*$IH)hXI- z^k1tL+_su&{Y2>G$3Qk|zgUJp{KHz~qD{xX)LFBP6C@z+$CN?P-ZPT=DTbjM8<;LW zzVPR(zGJ{GkQ6Kw!1Fy}d`|`>MFU31{d8baXRoCS6xuONJk0<~5?T9(reEm7E?;T^Hi0LiE zBA3r1!?GDu5hn7s8Rd>VS`{Pm8*3!7Or$3Nj_8>ParpcB4@8vJno#QcVQjN-)53kH?5*eLtqF~W zF)}DkA4#45wek9%#rf}gi@Xx@Lj`liC$mt!mD*1j?Wv9TE@BZN*2}Ij5>k4Qh{bhk zrUW$Y^~S3yrOFc{2S>x``$~?hH*u0l&-G8mK)xzRp2zwTb(wv>1s{EH{!VZyUOBi- z4Ig^>g?5K;_sdK+@ZHz2uoa7m+V5&_>Gc7X`R9cm!^(s6IRLlbpr)j?0jVR$bl6LW zPVe0b(&QOv1~g(*tSG(C%T1JvXtvJF4~EG99ywCaP^}lkvTXs(O1oJV=amJ0y|I%wE#%Ad<3j z9f2A{wC(lveyDZvqzzi!-sP^I{C-)`Q5VWEqMNlhLMic3&SmLs67Fe&9mk!AkT+%4 zXiE%t7UTWsdDOi+YpGGl_g>+S*mI7pXXEOZ0_EIu#AmOa{oEjdsuvLjsUF&mVJ0OV zLZttwXc8$bn=Z}#O32>!m+28z9igwky+|fqAUOc@CU-S?B1e}?L3f*;;_=-A9aknA zDig{0YxDnZeUsu!pdeQjzW@1??iB41xyx;>qP|yC7hSm8NjFd*5UqUT*lFu+u^hS` zKp1EpEO_{e&NgP{N*SS1iat6~A(N%*E#S&yScpD#7AT`)k21uE^KnovY=w%98Jv3r zO14lm7`H+SWHu?3%ACUasm0B?Q@aDz{l;kQ$?)+tn0DnBsssQyeb&+iQ}y%pXe;9v zI?QHk%}V`anJ;8d1z6Ui@dA2?IFzckt4OWs>!gL}IeZQI#g}i7M=pM$>{N}b&=kdV z>3U@z<$ZQ#huOOIQ&xIkYJa?ZqY`FxW2*vsYb4jD!WcULD|2|FT_Q8*Ljup>m+tfImG?cj}Y$2ez3MR;iT(6m_uEWCUuq!k~|F!j>Lxa5I#5k;cB z5t3_DRaGFbJ#$j=u@fixJlvjJ+fq$4c=R4lu)iP7L48i5O7}%yVV_ZVP`p0$RRH&H zD=GBL7^i>d0U*%2;&;H8l~3;;Y_i;sdYHrFHf2OiundvNBBzP;d+hf|NFpoKX_aTN z_N!~Sq520*M#&ml@3J?=m!Wa7Z$9{Sxk^*l)U(QlBE2}8+IF<&oXyT3r({QE z5_Sw-EV*x(azEetmQA}IUTq}p?$ivOs`C<(_DFu4Ak{dnT4v|;T0)Y_er?BtcvIy+ z9$ay;Ik#H}1oA4v955QtK%-I%X!Eg8L(HW~H#-=BhhM$Fx zzg~gbmuYtnZ$)w{txm21n5b8~C4KVo3-sd2Be588z4}8?HtRtrF>q2fC(+L~#XVOBC=5hXd zEk$K_dJ0{C;MaxkSRJ+Wwwm@+G$@U-?+4S?^*WiK{_|Bb>ck8dX^Yxe*I&WmPGHlF z_-+A7C24*?iY&HltPWC!eadP<-`$YZoIDc)^ZNkHj8RGFFAKI5snzh5d-qbiGa^-_ z)8@hQ2Dm3=0!p_ff!&t$yz4M+5z=&Lld?^*p1}KkQYQ*?m!d;Wdr_ai?D3fQ=441j zgATsMI=EOkwf0B-p8%8!s4ahWyD}s_$4Yst&wly{n2(#*K-OBjg*p9g@r#!G>@d-k z_UwMI_*Q>#M81F7aJ#}Jc2=pL(<1t`s<98kJ|Ivi_x5g)Y4KC>*FxKsUG$m9fk*Ze zfa6^@!0yMu_%RS8;RM*}gp-TXKfEV18g&{EH0RGeZtRfAE0ns`ws!eqo|(%#P*o-$ z!|2tK=VeynDGQNV@GF-i?G0o(8^+gr|}q z5}MujPm^ELSgp*zjnc8$`O1^cJHd?O1pO14e|Gq|=`kahI?gZ_eiCX#OS0q(xno+A zTYH0cW22p|X8RN=u~9At&RW-N!!Mz5RQc1mgv?$n*Ow)T`}=dz#O^C&#DEwg%3;hP zypM=FX_-%b{4)aVRvI$sbv$+?us(S@`LcNe7w={iB+nzLY+K!N{U^I98et#hx-a=v0Azf2yy!p31r_-(*qPd9&}4261~hG;|%?GvfUn9rEVN4LC+=c-ySW zgfjtbn7=UVtIo7NSDJM0kiWJ#jy2Q?I3^D-{MEj{%M=a}2`;5bj$B0rOETCq$wg73 zsI2LMT8k3VHw5x8Z%?EOM4?sosUT2_2ny^t?&%6*O@1QTL%b`{dE{ahCUw*U{KgW6 z-Wv5_^50JGrXQm_CS#BG9NpVf&RfCh;cC>8;d>N++cN>F0xcJmp%Cg5;hb4%6$f&*&xl`Pc zT$%Qa<_|Ua_kG(N{5?bFojYl`DcJ;Yai5-y*}mT&T0EUws)Hu~UzLd%{Bz}Uss7`% zjwx8!gS2WM1(8GBGph4o*5eGx7!H;~V&+VdAA~(0s9Y+2= zjG69J`m-h3!n#D35t;6MXERn>hD~#xBE#3CA@15G`fIPf$o`6XlQ+#-pzG!2gY|JB zb7Ho{JePT&Xvw=Wa`84e>|OK zT+?sZ_GzS*Mp99fkdzV_q9P(7AP7iKDUpuRBNhHiH%JUbLb`i{iPDT_^d>dQ0b>j{ z;@N#a&*yo$*ZW+*>pG9~IKD^VH39EUJ^7emBS(MLM(A*lth0Z*QesO2!FOT8C!c{h z4_Mjq6YBe^4l-cM&-jaYpLDMH+Oit7{~ct-(b#s#yaB!bRv`N@4S6Sv>nKNv4y(i6 zUF631^qs($t6L7_ABE>(CG8%xnsl*>=0t>@3JzkZX2sE>&DX_h>tC8?;a{fLr>zo$ zM}!tA7P9uKCc5%Af;KIjbK!M#^2NtcM{GycJNgm+p$gaAP<(63 zpOx84J3#Fe>Gc-!VzO3%$=<iJoLpMQ8T)z&R%*j)LW>}N=|ypTRl*+Nb#;RFsxO2}Pj@6NCIi>J9sn75ZhZ{5NIWdVIe>~(dX zI5-^~`po9(#X;RBy4$<@a&>n^7B=SGM+(Z6_MfE(^;whvVB=c2QtK@;|CHgGx*^|rL-eJtj*c$XO=Vh6pZbK8Kf6?I zlkmIHu#m9xw(vkCu?nY#MFL2>;Qi+}&RFKCStF5f;T~fz=B5{?%Pe7nU)*SXd#t_0 zvKcd@`FpgyD7qL=qI=O+K;<@meVVL};4$qYgV`WXbrxHy*e0mr!buR2+kz5C31jgm z`%I-}S^g*2cU_kCn2y${`W?Ro<0JB$giU{2D8Y2__21(CGGXgeOp3u8!(d_=Z+ z(C$o9N>d9{Ho~7V`0kIZCedjBV4)PIV~aLVK4JYAhYdn|9~jh8T7Nno>|kAnU;BZl zODJS+5MlEn+F)1P(*s|v;a|ctBtL#|jIYugYd<;q(t`T}xCq>SXq(IH3w2$DJ?IA9 zMG>-Q>d>q6&+g~1orT&NpXM*Y z%$;rijbFmfPt$fjxEjCU3xK++wF3r017h0?yhq|-G35Q+55q}|o7jyKse41*xVT4b zn*sF8=}xM~{ue4Zan8G$;XB3XBc?BHS?`1`bAruh#}rgiO~G%!I4(dM*~=%e(nR;Y zoT}4CppU&pNC{(*TjwBNmAxtI9XlE6ZbkTBs`w!r={ejgAB6NQmP`u(J+K{r*t>85 zK5dGsg!tm!0D}!d=4C5*=b%5&!e^aUGFo9$sO{6nnL?aFnqW9L<77~Es4(CGmUwiO znufqhlzw879?`>Gi2u9f;c(2cO|!`AdxnAuL&zA`6R;&IGt(D*s&TXtYNeb14m>Z! zWkReEyfx8k=SnUT$l!1sM$mLGW+;v8{IVH28vSy4VOdv@1&$-(*47fl9pm5M*32nb zDvQd*`K-Lbto6@Td8?t86>H@jyA5I<$OJvt4_EB)cY}PDe#qaq32%DC?w7kqAFg=Q z*@ESE7JyzL1*o@ATP%OuRRJ!xQ=%j++0`dcw&mT)CfhG$UeqCHBP)9@9wjbw^%-Z$ zvnG-(z38(e<70b*4C*>3?ka z1L^qdA|#V0m-y-vTY172D~u<453RB~Je>*oezHeDvk9;oHbg#L7*6ZqmDO@5naSR4 zs@#LJkI;pu8|@3!u~=8T8%$m7iygKTjy|5ml-wXbO8@I`o`@$!|7BnQ1`6~T>abh$ zgQ$%0ee(bZL*1QAe_R}lG=H2Es|OT%s6HixM$Ed*$jNzrKk08_8yF;LWHn&ZJ>9ZG zvyO@Z<`3BWB6r~L4utE3Nkl7rdkv*VPX@4lUl4g}iFX%5st?U?0lN~tKOyX!hH!WC zsqq*Q1|>R-g4Rxc&CZh54)d%cMqN!}MB!!5J^awCmdN%I1dUzl-fsE$EBBXb!*@;{ znNr%A(kEuAsz!0>v79=(^sODg{MqOk;2X{zTTe(%m7-piubv0i04ZJRRnS=)pBA>6 zaIG~;IBKmhx1f?`TI~^lI9kn1xPzdsqN;WH^%h0LYEGN~0qz~ms6=Awx1GC7t)m~j+E$8{wf{on{Tc9pz1y&& zL#SKIyrgkpYY1Q0jn5h#DM!o=Ifb}al=hrM{jX;PTO%?glyl*L1Hn3;^B28#QBQXT ze1fmPyYVhgo^OOcD_V{$RFm^nHpc-AhG>=pRWF89_Q1!#z|BU#pds}&T<*z+TL2?i zSyWQAVe}c}Fj#-s`sZ0_qt*VlO--ojulz9Br+`lJh0TZV_OO$H=$785x8KGt3P;eOJ$dO= z533;IraSpykY1zQTpLRqA(`W%L2PT+_wH2Hl^D`YcTMRYwo(jLX)(L2$nP8HXIr*! ziSRR;-%#uf@&maJ$)=tbR3SZOs8=A37cy;!8Fyw&T9jFcHkorVDU1ZZMZIm+1 z#Hx=l^|7Q zSVzA*`>_gcMC^ep!2Qia*;7!>akr&nwN0;yVs};;TN=UB?uej$k`Vs@%`h`@%;93? z`TBzRXu!T&DeA@>xF%3zn|J%(Hq*lBwBxi)Yc%Q3ImD}$M$k7l(f8Hoi;pk)?jgTj z`5s&)<`#Q(+x3$KmP!HA7jU%{f=J*?EXRuEx$u8ixx18vaaMX`&fQZ(NJf-G^5V$nQY= zi&uLJ3-(Q|N85`AXh5VQTC0x!oI<@g0B2mFwvaV9EP5^XI$~O_gDsn!sZr>$)@YUN zp{t`_Dg#Uah}vjg6`ISU0A+XRDDR?isPpM&#Hj^11bw!7<$HlYchX`wUeA-o1l(P6 zK6d#)znAKDg{r*;PU<%m6QU%+yYDPDo3(&U3|%|Bs_c8|W{-SvUh3pyBU&G}U36GhazQ4iWkP0{Z}oYT6GF4|1SsdM-G$M%pa~kLb&IPwxFftPa=0>4&oWa z9&1HK+`m>`ZgHK4l9IAy)l}*~P66Ws+G|nYOMnk#{z#NZa0yuc`~j=TBtDib=K3-D ze&V~?*Caky5?BL;u<`Jm%sD}vI|*McH`X?GI**Nh$y3|T(-Rq?9#hp5rpJinvjCoV zag@^uK2|oOeH1-KGgT%L*0TD5Y~px@?}%tAq??Wk9=GxKxtmS15OIf>qCv|y8M}+r zckvr`6hA(D@Yv45v_G$t?rCq&bG*I6==N^$S~pV-H51%tJkqtMWxhKrWranFEH%p9*UANX?@*H(GaiA}f$$cT2HcfES0;iVwMXst&#yN~bUONXH z2#RMV-l4L%r<{zLVkm*;IT*oi|Fdfus(&S!AwE6l`^FQ@5ghQ64q9Bms?)|>MazQl zyJ9$C8^7^+j2iQ@)yXx1HKOeHq7EuTL8MHGGom)dBd$)Em##E|7AW1uv_#!P#)Wvo zjjwBAzrr#9nTrT8b4Pe2&#*C5Uch)8C z8E0{Hj+y}qk|8p5YCV1lSp7N3m}oFb12C#0s{wxm9BHcx{=DY`6gxi`JO zcYYqxUJP9uvtuJXEop=zUv9LOE!?lQzJ*a6D?wbGi|pAcbbISF4V2{@L zp-BPp3QMk`go65x+%T}h1d}gboV-k76#G*)y$a{Lb+_fgB*jzOK<;zaF6zVx&7lG` z_*j*|w`$XK1{BI>u6UdmzzVaAsiRY;5TXz139V!3qVk}Y^n+P*D1>-ZAMc2fm&^)* zc7*A>-kq&tQT#pc>V&Ns%_6hlPwE6lsLd-84l{OiCy~xQoj^6R(L-dpK;~^$blh5t zXH9<|ix$L5M1W~!(ssKaM-fT|NM2IzSw>TwN_m_hF^Jt!Meke`y&_W259xbZJEQR; z#0$E=+}VTgkm)YN-{hRnjdI?n?T8KP_ve|8t{6bTV_W^| zX3*6-;PE-{FB#K)QD@Yg&O(=hpRys1^K&PjBzkHs=Pg0h6J30)kL7JQp`3gZAqD8x z^W1AvbQ*B0lzDnJKd}jJjdCUPNEh_&gey0%Fo%;znD~=Pzb*V@c)%Z*l=**-3-{hE z&E}^58>Gcw@XQis80)@K zvQd(R3}-^lCCUAjPtu&`>kfMd30?eaF@?V`*e(5;a;207Yl^~9WgKExKdDV@9=-F3 zk+pWVlM!%!a%AETj5mrDA zK7G->Hln1qI)c>!7zGQfPylE=UC+-Lb33QsZV!TfHfFqoZZ_8H?NN8j$mc_@gaXXg z)`Y&fEWK^<2u(Vl%XxqZ*agZ?&GWW9HSJ&`t1U6P@OMU1R-bSUJX>wMH((exWBS{; zTf3Nr+vf~{8uG$)*Z^V`U>zE-3X*G7RvtR}3)RnUWInT3#h^{S7%b@gBYV--viwUj z{AnkD0=+^;R{UZgv+vCD=u=7dm=9Ez+Pywm9a}XkWowi0@V}3GGIf1F6HF-G?SHg& z2b2*uI7~xWx>NV0%BMvqY;70(4+UzTj2uKDlEf73l1SE0k735^8j^|C*>$)S)d;ERrts3yNK(NFTB zf~fvuzx$mc_c{8eNHap9l%|dkE1rgkI!82Owr?OV5>io>N4H3 zFS2M3$GbPd9)Gk@T?T0I>%V01-e)eFy%>7~y1iI?{AEp4;T~1MdpkbOx!+J-sG%m| z6tQv9i;E|v!{$x~b~xu3_htrG>NswP#3}Z^9e*0ePJ9*iH-}4}D;qg%O zj_L4d-K-R&#i^MjVXv&325hKh8gExwYog$D-pPwnljdqsR* z;kk70TqZ&3ojKT9V}AH%Z1x@|Wv|`5x6On)fIm zS`7qiipv2bt`1LDNjygZ?wPeN;ubWUL(U+_rSn<4p?(s**R{}R^JwilJtdZlk2^mg z0p-G?Js-|yq{%X>*h~?Y^sY{*i{+$z1&n^weD!3>ZBuHT|Ck2q2N0VR1FNHh_HJD& z&xnNV*(Q+q7my2fisdGBK3WQc`!W!IlCpvQN>YPeL~7d^mvfZl`^{cemL;m$q3+Y{ z&A`U<6xW_!@~OuHIOO{V*n%3*Q+LSw_4`gRgBr;z*W7!#IJ^IKqI}9>O3wTrA_xf_ z+KD3UH4Hm??n)C#zkc~l(X@;5w10a4+H&Zw7U#9Ml(YWJYxdu} z+mzp*-G7l?qOx_L*7)UmwLl8-3UfZT+gOX8RmSD|l6fHHhKd4=DnVQv(-+~37WKN> zMQ2NUuV<;r*E}+}2LxobU^9!#LC4-VVS9N)_*!4YN+D}##IgD>d9pyyq-9q}Aw^pW z=RlhSWxVdUGXD+yMBO9w8$vA;@jNtu?nWRVsy3Q=_1+B_P%<2Z>5=m|>kRgM@0DrM7WMr;g_q)$1@djo_&F~POb3}lcR zryCtxRCq*VA%&wJyz;-KXDXDT-0|ibCgeDewc~8`Paxgt-8Nz7rz`i3C?7=?zgT4H zi;mMWG@=WRZbl>Zb=nbVzTW{6YpKiEU{S}U(+B)+83wSJCheYE-R#yhW^2Au|H{I! zPfk5Ci{}r2O`+|_g-}qDVo6@+d?9TW4t;9h9=AG%C2H1)Wi(ZKC4K&5u7M}7N^pM} z2ly%Jq7+UG{yVyOOpgI|Q&v&g_l)JYUZ|#D@cuCJ(EJ41JnW?l+&^qa#iQap1B zSPh^kh)!PIkW~Oqpa-g{(CpK?_GH~DqYtEZ|0mJOPMq)?S37EHyHREOqO+DtTZDe0 z;Xw*=L%c%x@Ylf3F|GluX(TP2O%pSeMclp;-s%pg3#ajnL`e#*UywKUfd39&ecI`H zEo*S8tP85Y;CZ%Ur?X9BFG(=B)cD7+puN&RUn8H)Q)F1B%!DXHd<0+V0hUENqAv?` ze+3T?U27pdO%NX%tk}0SlA6bUJa5=HtGH*-d28>^={*(7%bJFJ4>Jw_k*We&x~`q5 zYWn*}=_uCBi?#e^s~I%AhaZ(|VNs_|jOazQc0Ru}uJC6~dGK?%KVSGM>Fy2~FDI!n z4pW@OHX^c6RZ7(f>Uq9GQ@nGf@?)x+uY`?mVxlo{%FmiUE4GS9;tLVJ+Vt~{rbJJU zv-U#kmM`mRq8VdK{wdYIlR+5{Z}|9B&wir^#sqiQ__WU8I&YQTPn80f&*bp(fx7<0 z%5zfNuCB1AnA+=BmI~L}-N2VEjw>37v7Bi_Qa%y`I2+FW*uPkTt6FH(=^(KLS_A`b zhg@mnJp#fm%SKS**yPFZTNj$E=id(Mb{kA?Ilj>~pI*K(;|(Da;zJJ$iQzB7HOZRC z-!<|eq{aRZEDPec9z%11pI7(Zf0B29Q{(<5OfAiphViE!#~5FBree@7A(%qpV{&qW z>xC`i{NBLm*RILcGd`1=@d0T?{HDP`!=KViBj=U%#YgUHjaT=WHyGd8)zCIP_t4UR zWxFRSdsbw}XClo{lGZQmIY+g~{cw!8UQCRlQEdr*C&lbO`e)K@`7rp&Rbx#M>1htI zHtJbMWfH(xS#`A$YcGR(%0`YR%bT5 zZ&eTdunO8>xMIVncWlBqH#uIfo(Hmg@;N;FO*Ab^;Tnon9YjFPo@ZY@v2b(vEPwZ- zWbbV1jfFRrY{vx&HHhYTZsYxWg=kjW}yxutS2inr0t{Zl|$DzYFHZ zylAJkzqiB>39nu{J!Js5`W!t-Z@qAJF&Ml%EePRX#eGm0TBqqA8LZKDwXUy^Y%Vrv z+-rvMIPly(zc*;ByC$*{d%EC&4BAQZmrf*^PTu70OW(6!IY%LW9x5%gPi#xO*e2AH z{FeuEJ5oa>Tv*xGd`ex93{RrFWg$m5KjZ8jCOab@0PiFE_>DxChakdY(FSP7!M)ex z4NH|A>ji_SU6SNr_nkIMeebZ#(Q=KF(lN;%Nd%&?tMjM37@jL* z#)Q;KHq{FE$ClOmvFLfW4C~U67`C9qXDUo&y)64Ez)WV&)J{GHx(oMY>h5d~FnvUecE|*679B6Ol5pB26gChMm-+C3} zFgcI%*~GElUYwz-M+8g7M>`3L=kqZHvXFu0M`a1tP(e&Ix=cFe&lFh3_SM%8@}BW) zd?)hHa1Z6&dj2!vm}BKl0_|{*I#{8*7U$~f>{Wmx=-X&1pLtTZO`nCx`g}RhJX4Rx zkt<05-OeY)sD%6fC60xBZ=owCn0F=kO;cQ~Fv6(0O8`&^Ll|3gXCz{*NI>+j_3ygQ zbJ$CO9b0hZ7xLvnK^Lc$s_=q&JX}q}0oAJ-2by`*&Bpg5c>70j(WKzc)(`bC^Ov5@ zspdsj0jA{YQ^Iw&kPHc=pTAT_jl^^TeA3Eu5K$?(?9i_Z%yyg8#lPu)GQ{Mov4eqb zy&Npg5AN7>9;?%FS^I{_+4yLevHFG>?u@U^I@Yy0wDp6z!OuLtE(8`WsA(PUe^0yQ zKM7SWX-uTsz^8P1S48{&y9K3rYm=by@sqnf87*&~^2>5Q>S9Nv9c-$M*EG5)He@#D zS0VRYdJ+nTYPn`6-`0h@&Nnv`FIi-l&J-Q17K}E&AufWD>nOpQ7LA$>P!#cNEr+$e zG`(wHH)KKJ?CdNg*b^;ynBfwB&-6#gkK1yl1lzwtDKN8pi;5ND)YG0Vo(0D}XWQ~# zaYIST`@D8lVR>i57x!QN>lfO}*`eiW5kv=7Q!0#Kb~XXr=&=z2Q(*;`r7cJMvA83i z9z2lswBq;|2|v*=W8ExwY8ZfgXnR!SB0SdqB`mNL7eL&_O3B(dMzi#0i(fm@YhJ>_ zbWiloK%vKC%l+&C@(oXS;9jSA6mTFDW%&5!uS8dak4b^| zWNG55qshQgx}|F6asi|slqLBuuwbR+R0#iY4st{|P-v1tcfy-fx=~J{a%7hwCDZM2 z3^;$5sU@gtb;Pc;#TNosJ7m~id?w2(MV~-K8C3Y1t)rf_C83uuH&Vh;e>F&Zsmcl; zVV*3m|3P^eNfseBbp(c>Xbqi3T=*O+Mx#cbKc^cET3!c?ix%Du=7|yuoicO#LA|slQyEAPL^MComif zCl%_4G_+syB=5>lQA($%>-+h5SRjRC*yefL8vi)pY#zD6gYmU1X)Pn%32!~gOoLCS zhhx_HH_7%%3;OmrxSOov9tv@~@;2qfKJUa*B){%Fcod>sdafqYT}wX*PT^Z+vArp3UbHv$UeNIRz(dF}WzP z{sO;#!8C{S{plJutJjeYu z`ejj|5li>09kpU|L9XMvy84k5pyFw z=hNhKfu%^rwk*1+XuuopePw>&DJ0!f5wcPrxK!Piv*y3AD*+#u@z7oMu-6=_ci`& zQ2R$8cJ2AUE13z@tva4ArWFddqA*?H+RqAar?1(48;;3EN^;GW741Zf58m4UhqT&j zjH7xJmFoJvs4$zBq6J zHhiNEj@E&TqIG~`78HFEojv)$yan9K^$h$&&uuNxproOzP@0F=E4(PtMD4p|7~5-U z^C-GJ$O2cC*mi7sdCh0PBzG87%{U1siggZGus-vt$$N}|=Iz-Gl`1+AcnN$CCnDR= zP0V{Z52yl}nJ0t&==b1GvOM~)!I}y7Pb@A~Zrr1O@XgG)mS(Y6~sE zwaA{m-yPY(cSHE;@*3|`XFGd?aH|3ov|qzVgeXjLOaX~d?H zbk5^Q-8#W8hRn|`Y;8Q|(bVYf$TN-o&jDJz3o8pH7xm=*gA>z2vo25`^!CIxwa|uN z2K6{Z*;J{%dnjmoOKj6cUWTMJZVAs`4qX8bxyz?B4O^&f2{P2 z%i#qxK8J@}Ixxee72(bO$e?bYI;wE1bfB=;DCEs9NN6M~48}qi`3lWA&gl?M@CsM| zck|n*^&Okj`?CBhOb=-^Dc=D@((K!Xj{RE5^HM-sRM=FOrfoEO#w63>L)lN&kT<+w&Z7Zt1|7cepOpUhV>F;vS#K#b~6;<2Q-IIl8RvGnPJ*&{Xg@;Mzm5V)fw-~qmyc+22rug`pgO>?Om83@xcULQZpYuf@>ANQu}gaW`R4XsH$h_saOMh$4eH(|mDgOg z-?%usyrZUts#1H)o8@a-@TLi%^#d>;>OkS3#^wVCG@b7Dj`t0nX18BkTO~D}*j{zj z1bDTKK`)8mnaU{dPYiv={qvU_M1}A$)w-_rfYU3cbk9oEBqNc9{dgDzyfj!G2=#xN ze12N)+|4%1+DdCfi)*?kV;>suXeySY?a)0rRCDnOKgP(pMP)un$;j=OT-Ux7{aytC zW80_hV)svYC~v;n0iS`hR}Z~;eq$|<>SC{mD4)>U*|((S)inYkF>F&q+W*}3)am84 zYD55I8?8TW#BE16e7~}1?hDOVl|p{IgudA6s*557cd~+lH3e)4pbiv{aeV6=q>PXpco7rA;ZtRqfnQd>xPtHP1lk*#7p$5N^BaEwc z?J+64&>+e5fw4v%?7om*5(g;EO6o3W*Q+1;qW52=V z{gjrNoC*}=+j-qj_$(G%j5u1$>p|26vdS7A-Ql-B3f9p8l3|b!v$`&aA&~Z>kNub=d4bxH@_1jUMR>C zy^fC|#j5Vik8k#?$F=+9pw+YOy{m<10`ECwUKK1eteAX#ZX*}L0u&ga-V*m0gFQ#x zAaAjO((cScVLJ6#iTUq*BEp1MMd#J$47j@m8?uI7-;|io1wpwzx1E&$59AYHT8a)q zyNCGU*PNBkgto4`pUaPaK8bB9l^{wpNd*Y}1TiyzVB|14kK8mfa9ad;fw%Z%>>+0_>AB>&QmmKU?99%Oy8& zpnrkfOD&-DM>hrDDz@Da7W@8cboP)2`U4OXSWD~Q;ti<7<<>qfKya%oR`p9Zo@Xt8X84h#E&L9v#ImsGnz$F$x`Xl`Syg><+MD(;2QB4 zo4lt{sNau4$v-iHo85Y6;lc-xQ1skU&EjHf(8xgy?V06f!0}&o+&V$9K*mN!5dG~i z&%bcCtMxbW@jP&`;cCBYMaDjI7LS6F%$K2UAb!7gP(xe7)@&e%#+p%EY zW&WKsZ9@F8$-iXPlp~|2CaNMrs;5<7lVU4EOqG(l{&Q9`c{6qu5NY-1D3_{Rl-c`a z^j+jGbNAs=4Jodf2kXTx%4!~BtDqDzl(QVBi{-2GNo>Sw3k)wWtZ695Xu2ddj2hkfM6lP7v# zrr`6d=}?yuAL?ADe#4M~Hm@p&mKSbQmTC3h#%Or1qzUzXqlX0V(y6?${|n~(LFP)& zI&$@oVZl5nL$FTLerJHRUT4I$0UM(yJ)G;@_y05abv;$7=#J$F)mv|qXMivNT<_)m za6|m&M7fLqU#G&?rYhfh(b-Np&t*-_rvAWC1=t)^qnZq^G#9Qg<~zZdjoqI2k9fSm^B*jfmmF%`It2j8-czMN3; z2}T-TY!s{h0l)FvDU-fw2bwM=gQ!1hf<5`kFNzE9Cg=7K(4$n7N_if zCrrCR;=3o~NAt?V(>d^%k8wEHL~9K_K&(tXRe_3`x)&ZKai-24|Jo*Y`}uaxL6x87 z_;68XK@t4h*kf@2S<^?z!rkyfm}d84r`c$uV(N^*-~rwOkU;ucJAHUmR-OU)xgTzQR-vG39fo6D+ z?ujMhH+^$w>w8~=eV{+$gYlRKux))ohb>ptPR>#DfUZYKE7X00*V-`mVN9UVg9%@~ zhXrC6Cl^Jw%yHx`Img)Ip0BO@s_$P+vuH)->_VHtfkx8Ue^^bFK_f6}sA=@GA5M{Vl%q+QtI4rWtmJ)JW}!C=QUYKWxZG~D21ayJ_5kuu^A zq-hosY*TaG&`3u{$Kv@3g(T*((oLetIGOuLz}|5=I~S z6fGKfrk(!uPMXjD-<5M=A4#KnX^!LLV(wMOK2CxwD|8vt?F!=?SoyXE&9jT3GZmsX zY|C3;^7$Ay2=68IaE68p1~PRA6k0PnIY)WuKeJIFq`5M~B0Dky0Th?C2r`;bg_rqx zB2o-P2kIO1+*Fy%qvAqQD-Kc(=5;C+}{mNju zEaA`s-I+=JA!BiK>@0*3>uvoDwAAsyrausRs;&#N9Xsi7#MlzzzE+V~n=~m|qaL7N z)lpTEH%fA{v`x`wMp|cu()=giLXN4(^$qmupNRPTo>WutRQ>VVo3eCLGVu;MP z%q$>@o+rv*mZEAy87KrY3hoKWZwl8<*0r%3ZM?Qm5eH8|i`5xD0^R*U8FV0=$h4sd zY*|mBY~5K@ot$uE-<5KA_zv5jon`W>^0tdWLwT_{&BLB>;%Iy&gv;E4_Ol3?XK15Nv8Sv?Ld|h&a!H2j zW+%`!5@ex$OmPFGi6lhP!|$SLy;yi(n#Uiyx>6bREvN}XDF+t0c_cy4t- zZ%~1n=>1600MYE5E zj8$E16R38LP`O=c(o&P4^vd@K%iS=$pK;}_4+~Bjt?P~fmZ)l*%93`L?#_o6H+wsm z#PqNtLW`u8Mj6DO^^VGqfk)C~pYpB~{t7Z(M)-%M%_d_GH}3rF%`If#lc7rha;l^- zfcI&VqKnb8ZQSP!>3>OLvZj|rB{Hm>A}OL+eFvx+$aMaQ{}^lRHTf&-z)h$T{WR&{ znLCrW+)mQhUI~bC=LMP~@Z~v;fax+D++L#F6Rv~hFpTJbFqf;-;{nx_;Inon+yzVF z`OZhxY=4%(%1rThB_xXphXJ8>w$E&L%_VN3OL= zX!+q4Zpk3pxu>Lj2KW9VGA!wLaC%Z?8qim%N^NYQliQ6MGt$_h#=q*c03cc}uxt)| z=*;|R^C1r9`IBw)rW9psbgf0*Pj!gihR$=B?tL0HI1Bf=*aa`?Z+q0CbRAQeWQxep++Eov1#R5j3)WW;uojZ7cVWgnYvI|1(_t zj$I2yQt0_A2?+=5Z`J4bS9-rvM~H^N)DhZ2-SIj9)Ut=WjO+!f@Sa($@uq6~s%sp? zlC#W(I95I1$pSV)UO*0!&&eeWfjb=i)-NJwZJ$$d;Tyi-;sTq({V6cqsrCNT-tlth zrgO;tv~Nj4_c5q^7REfztIjiehJy{`UP1F}9s$N?gkCFSECyVRux2ke^L^P0yGzTR1q3&J`s^7mkR-X){0 zLo-y_`>v_*GWGbP-ISJOVk6>GlTl>IP3o#dfx;&I`F$aKM6?{98Sg8e{WBFWOd%uY zBE3LROiZ&TXaw-L;`4OD(*WUSTp;2q>+fMEW{6)@LA?a zNviYU?^$qbvs>pAe&?>)7s5W5q%@pb*K(ZJq|xLU{}vz(E`DWGT0fCF**|UkcSSu(D1G$=S^mo@NI$6;;@?Mx1?$KZy-{-?6*4bZ4FFx!BLWL(+>-bDRni zIeOLoSMECDdo5^`A#kf@#(pQNs zCv?H*;K9N7&mp~IQtKbc!rIGU7cSpINgiGrCntVN>zt5Qbo3?VD+>!u*@NF*@vh== z_4mit`DP9aPQHEa^iJ!;2CP^R^qNoXt9GvBET<7*_HaVd$>Ozk^8O!;nq-@;Je(WU*fsCG(lsCZHi9ok zkcKPfjgt2DlsX;p$Y;8@EhGPXKb?Gy%F>O_^iH1$`}Mo=RJY(Cen0+Eb=_;4m&4xL zD2`K%cQkzR>gS@q)9asPBDDt!1|}5%z(hX?&i|%;0a>mh4N%t6tFwer`bR^73Ofb% z7h2O%5A#9O*=%Ddy?7F-Tk)hY$x6_zL>l@L${!e|3&buXz zU^1^Gx2U5Sbl-ditvlc$s3(57mDsoneO$6D-=dX=y#&hc=tSPMcdVdTR_UMgzk`>hVlI@n9C$W9Wx>DG z58zkzkQ+iAAHAawR=rX0Gi2c(#ne~R&M*FyEoHP3pVJ15+bL;Fq;7Ud9W(upRUAv2=jJTbIZlEleqR70zc7T6D`y`;MQN?HTT43Xdp4!QqsEHM+Kbwy|p zk0H5UP;xBVKSC6peyq)JOU)Y9j(+Z?Wk@f7~ph>kAe5AZ=C?=DUCZY9N!C=aRO z;5K2DEp1=K+rsOoXqLHNxdZ+KrPCL?taxxwE1c#)bsO3hDtn z#`fTu2WTfR$?RulQ6Tg+6_$#&SGn=aRt|=N++8$ews_AQ>nmJaOv#=(JgH~7kS$Qa zjbb<+|0Q}pYnOI({ET*tSbW`WT|1p87~b*V`30u!>QnGCZ2`qScp6%^nrA*nTgk#mpR>q8=&po#dUZv;h3$6> zUh9EJ`U66I61XFZ3R4Lhk9o#wkjRAPS_hWlg%2e*L-QZ$c>9B{p9OmZ9Iz>1XEBRw zebL&}TYCbrP5Hfm-z)s_%R5J^;cF^=vKxk*77lF8^?7{_Bc$uwS|{PEdV{d(CqYBv zNyo-;z`f}9yeqy}SEJKubA8nUxLZT_ad$3vIToS~`R`Lxm$zmB87*GgDR4B6JM)o4 zS8Ti?0R4liC0&7VXg%O*-`fFKT8sh0Z>B2ERj_|H8awMFT`|{^zPD{qXVy{gu1cEm z)y|l5rbTgm&4;a~S7$eH)m#4#k_3V&vBd)RbhS4!@m;wHrPr?}UNG zyBF;WbI-@tb%Tm zn~2y{gy71QF#FvVAvVg}GJY374UO$yYiazx?|f_HHL46&{dI43y0Iqm(RMkUCag9_ zp7X$}4|Kx z1#$WgeZ)zaOw+W~$p5}yywE|cds$|CQBZTG&QV3GW7rj$rwMxsN*TQL)5ucAR=RDk zeH8%r1wnq-mqY*EG`;9IAiq#ft9kLIBy+A|mRIdxJK_!&UD7q4@XdG*T$GgJR4iJy zPrU0+e?}LKJ{>#@k3Lxgtr$A#T%eueev7JAIO(hOzvwZ&13i9htllK%8xK~1 zO|*gO60<@_qd=;}*`RM18_&qud?U}c68GhMb`I*OKRMrjMtP)8+NAM}+~2cttNK2X zJM4@_bdYBPpDEA8Pb6|2DNY+5dxi;olkS-*)Lk0i3p+ZWmE5_W)^(t#Mzp`u*!W4- z%~Qt4H4-oF0B69Tz&T^jqM{eEsr52$-^SZhJsa0Z{5;yT@u1}RB<7reHeUmeGAAIp zp6RSRZ)`qRa(TSxibJNbMG z_#Svf@(z4|58F%rYcy!_ZJz5U>ZUjK@)aKm)86ez^(gmw)Sb$u`iby9&U?)V>7E*L-YGS~ z`9kBAWOH$h8D*ck-wJZ3)bqQ>q-rNxCv(}%Yl_ov)Ld*gYPXS2=GWD$Ym>UiYn^;s z)`p(rt9jM6lI-ZtmB;NvWm0{)>qOgUQWmv&*G5&h?m9_v?o&+1cADI-jg~|FrrS2v zTx^qWIl*~P?bKaAVTTlF{Bi2a9e0NFTw-g@%|x6zbLIYj|38%fK;{2}zIbrGvAIGy z$H@O+tLb;eA3q2T_SUgH-@8BgZ+jbf!r0t+o3Z~xNRIr7vHxpJ4)&x8azGl>%lS^@ zWzG8)u`F>>sj;z?=5pk!xr$1*sUtC7HQ%Ul)nW6$|3CaM00030|8$rOw9Qo>$M^r- zd+y`h>pt9jy%i~(J(bc88Qlq z=`jpa?rP@yUHiM&+4tY=to2#@|KI=p-oNLG8e`^y2xt$+fxV!0V9a&!KYW-CmL(Xo z9`75$acc3fw#ct;8U;+^Z_F|F2Ht7Ca4F_fsIZ*KLQ8A7n~Cu0~bLQcTh57g(nSshq}w)7Ch&Jeqbsn087CJunT+z zUeYt$#UfVDegf&Zn8Dy0o+Btrg8HB~Xbif7QJ?@k0_KC2;2m%tTmm10tzd!X+!wLW zYru3c0ZakI!QQFgTbRHwO6+d)H~Ew~d@lPuN&t-!tDLC_A2 z2Ty=m;AOB7tN?!pYr%eS2wVVHrRR&mB=7>RbF1WPEtn@g=ni^`Szrc||fvna&Y~`c@891UGB{h3ZGy-6DDY0IUFOv}WqX zf527AHT&KMYJ*0gF({$umY^x<0|tVp!1Fpc+PSyEI`9VA1{Q!B;7KqMOa^^*{DeSOMEcVWjFugE6YS<3pfl(Lwm?r$gV|s-Xag1|SpQQ1T4)WIb=FUV&R{}d zeb5Nd9}EJk!Kaex(ipoeNTL4g?pEmhc^A~xy7Fy@!Dm|kQ7{HP0Gg>yMcO9xIVw4N z49wI0vYZOqY8`ig=HS1Q=ZNH&GDQ8q2C78t`7T!7YMu3bt?hB`oq9W6ayCwTrL6Uk z>{bq}Euai{1os8j22=qzf}J`yp5MoM{&!$)`QgCY^?!i?>!~3d*a#fqoG91pK6yqX z!8F;mCEywGobI0X@gHC)m@8R00ty3r@2`Vp5vw!JbXG&a9@_K0iRr2Y2NIdfl^ z0(;&(E7wMDGcBX7N z@28b~0OuSizd)I71L}c>pqlJH*Aj`?bL1JH1IGjFFB|LZs6*v626ZS38LuaqA0i)@ z3vLD1@jZ+F4CO(cE!RJbX9(7U6A|k(JE7eOa2WiOVD;%Ds07Bymo5i8z#(u(zVTdw zjX7RJSt?@vJY|FD%k|v_+Jf#8>lb;C2f#7#Ehw+`SJ&FBg2IT^-zzAuN`AIPtS?VP zeLpZ1Oa{Xete^a2U}cQ=%->`@4~SUbIYTz4C#Wf1>z zN$?(66IgprTf0v(e_3|!iuO!d+^%-iy#=DL^qV%kophc$$N26t$Ox<*y@uy+#97(b zbF#}P`_v)6&ug(O|8XIrUkniXV z9s{F|jfv;VkGu?4s$|`t!5sB_N%PFsSaVgk*w}brrrN(IpUc=cU;b;L7@+oy5teBT z`mP1W#--0{uC?-Q2gKX*XLB|GMq~Z_Hk}2(?*{Mb%vR_;_NeYNwcTWF+|StfsP2Gw zb3ym^GdQn)yEX24wP7rBRsNASoG}Dr?mjw4#_>;sr;Lq_ST{)f9-(gqs-G;zg9*9= zp1~{NO=EM7m3m*N^L;_*I#F%i`7KpFz7;es zbCAZM6euZTAlca5GtJmMiqA><#+;5hT4`hRHMV6Ad6U-2U!ZpEm!iIGm#FU<>Qh$Z zWQ!bqW4>8V>&nx*iOXBLKjvpHS7q*4Q+unVGvK*Uo+<0RYsS2c(I^um^lg%{azhwH z^KKv2cS6}20>-M%aAWm^u{L#)dO{ulL}%Phv;e;vo0BrOYY@cqRK}k7$mh0K+|X0< zTq>|}F=N77>c`lH`2=lpnZS-&U;etC%6yd^Z-8uUM#TEx)8Na%`b@?!y#pJojRI2w z8^_SLG7eZQTf0m)`EA+YC4r5HKLPK9w`8Z8ce;G#$H2xmj2ZUJ-_xd_(s#xMg=&{W zUlobR5sVAz?@Gwe-z}fa9B@>``Xu_8{_-yc@q>U1@6C{~?b;ZtgBjXa9lhTmI0kL%`^MT=%DS_|wAZw;r;N=(D5Lx@ z;ke-YL1X3+c2kE(>&^nqJyJ5v+;A*-J+Si4Si4PNbBf{mK1Z_7 z+-_Q6^Z94=+%2#ee4 zjab>`U2rbi(_CZiDajFes(0VmF3VV3T+%B`h3c}^F4M$qd6r6N$1~Nwgz7T&oTj$v zde0CgygK*HwlVM7m99;S-bu2)$2?rSRIh(b@2*S=)uo73uk>;MbtV_n-X9~?Ym@Xl z-&4JIsi83wg{x2T+PSqQnfQOPew{lvciw5+dH$bYK42 z`Df+YmoP=|z~6tkU(~y!WUpV$Yvb?9mj|De(6d`>)D+#9nWooExviI)a zPqO#yh=%HmduQonAl%>0k^DR3`{P8t@x$}@Ym9o&iN*By*OU-ypX`0}$4&Iwxiv>k z(Yr_rwQ+NC-@fd*_pr_tr-S}JeOW3_X8b#KeSEogcFL8mKEwO&%U;ZD@7JY=U>j!_ zT^-+PFLPB-8%ldx${RE0^~*GIo0#pbDcc**+4LN5ZEo&d&5@-#*EVM2Hb2+v@B4== zugvyf`#ckm-*Zgd&*X&ObG`B0y*ODYPNy7U`6*5>eA$SZ-|A%4s|(AD-#^itD?De| zPNkZnYYoe`(+Q^+zAf`@Us?#)HmdhjuXK75_HC}t$*3!xFLZkj`xUnzw?_X=T)pq( zeEXCf8prSJ;QW~;9zUde&u+iI?7B5OnRa^U#}rN%T&&?@52wp+9pRWKPkme->h#E$ zZx{FEdZm+Pr>9QNoqpzdUL6@dG`+25O)_n3W#afAWK4HOi?1qDT-BqEjzA(BKi zXvBabl0*}uxP+8iF$%;rDrF@uiB&3PQZ9&tiJBN?F=}ZLR6-Ci0tO5sYUMljId#uG z82|X=d)>E}(|!A%bNY0@d2RZtDJnlFc}mgO{`b7j(|1}ZgQ>11SGduvyrbynX; z>->1tDkrafZ1O&u3xRz*SI;` zTx{)f`t0YEbo~=oRTYLK^RiWqlXG70#Vftsf<#o(t+V`;Up4V|r zp3TK{K%VQMpj7KPmao<4oReLn^``SyUvPB=m790+ti9Mrv(`626SQi5LFZYgW7lh0 zt!rPKBiA)x+d1n^v2qGeX9yReTBEBTuANK+h3Jy=gUoJOm10GU$YUj zBkyOt@2d={{`=JYtM^&vU%ihrKWKirSjWtNm$`Q>o`c!Ex3kjF(|=h%@2l(!)XW*4m? z)&CYpqsnN}Hf9epmk!rQ#xk2|*7@0cH)&l#+u1x#uiA883*GmS?-N4mTPyUtB(8iW zTqv?Ld>eSPB!m(eO{2|}KM(i7pWtSA8cu{mp-bn~8d5)Fe(O+ux4w$^1=8-3Oz-pD zZx8dFL;GXlB?{YMIb{===WC?Xli2!5V7z5vfbKq3C z6z+lBVHNC!{GFteNiT*oVLm(#Yv6iV3(wQ$Ysjr*5>3zw9Z(PVvgniGR$g`?+z)TS zDox*oU9bc;!hW|cDP&Hy$(;qR_H^U17W-NlW#I16YJMQHWS-_4*QcI z0Vl&uxCGA1L?3hq{25+w`E%h9`c0?9{qQKPflW}y_w9rY_|fEDToSLs?^ z0zc5Y8JbGjYj7951$QQKE(^8)gRmNMFc3z;K5!CDgNu{s52wNa$UujdJ;I!Rqw`)0 ze}lh=ST1>aw^G{mhvSoI7n1f(qQ1NpqE5&-zt?%L)VW#u54aW1*LQl3K5vI8W0bz{ z-MTKXsGi6g7D5`6SZZeg!(tqZt?XQDF_DmWWqm>#k6S!d8`Aiy;GV5rKJ?s6YeE{g zSsZ2KTHl--*SGQUX|@;qysF*U7LVC;@%#!Qjl29=*vGhjjqDx!xaZBi3VhM2unoVp5GHCIc8~h!3Gf*- zi=Uv+?QnXCd*_{S5`DX12K^HFM0^!#o5o*rGco3@C4G;&ZSYqZo{2tawA%7B>Qg=m zac{mL#JE7-NA{FCA=>xv;3@IL$h=kk@FKVY#=#(XKz-Wfw3${C_y2oC^ivx`+z#WkFZ7o^7NrlP-j*upVB7 z4CR%ugZyW(9bSS(&`kLZ(pm6hO`nCQpc@vzb#Nv;3|B#pJ|B?|EsHVfo3IT&hR5Ln z7*E}Eq@AQ4Fd9zdc>s)sU!r~Zz-miE0LQz}OY43k(olL8<^PSzTRqJp1prFpXKj-?AzpZZ0lQm z*Hh=dnXQ?>&#DipZ}NUp&Xv9SnbNSkpBWA3Wn%1mHWmMcGvSIP+S3Pc7tDw0aBYa? zVqXu0XuDs;wO?|s9JGgVyEE~uAa;EtToj@$cZV3e90jMrc@j^-V^Be#4H_$sB;Nr) zgqvV~Ci<&60@^e6v)m<6}MGw>f+ zC%z5dfNJJA6x!ixp3fjX1@3@1V7cBet%ItPcqjEL><3$t7`rs6(J8zCYSJ>XBRiAW-d?9VCjHx$W*x_DyMIXI zZQDQPj%k3(7rP#(b|K|$A-(Um{aEZ@?!~(Fo$B;`M(F%xUK2yS<2p&(b!ne=&D-7F z-XXn%^LIt9I#;`cuF<*VL(j8Mg|466cgY>uK<(40WrIVy&$sD&%01s9I=0-iod?&1 z=nFeS`hSi2!qc_g5Pipkb#6z7=qK%-t>2f}z4R%zd)fCzFD?o3UP|mj?xi(r|x2R3Y`D+LK9{>RV|D>6DbXCVBbh_eK#%}I5Cx?| znZYtBgNVff+JeT37Kds@2GOceX&24|V5=2MML~gzL}*1+EL2m(Ws76MIxAS9EG_*$ z_jlI4r7!uzzO{bq+xkKOp_#Au*4(t60I0(J~Vd&g`q(@bc?=H0G zeV~;yjt8w{&uM!1dFgsiQ+d3OFUyS8O^fxJuIJ-GhUzh|jo#ZTO;=e`&sj=Kl%J!z z$Ii{qB~9;{dd^Uqsj+;yA17V?rK|6>*j)U)vtxZ{=$&nI)n`&|{1|y^m#6${waHiA z%-A@8)_l^`*2TUhL+cg9@|S@}63)#7Rp4gqV*r+*Qa)G;W~0ux!3xds3h*R2AB+bh z)%Qej6X*oGgPx!VI1!wz^hA|0|0Hl~tX^+DpRSbUee_)}X#TshQhXQJ;c;YqU*GTq z*dh5&!}pbgIxqrE2ls(S@F$c%4;sN*umx-c&w&^8z5#3!PX>|9dD-!@lp)$^j%~D8 ze$Ufm#N{eW<=L^eng7TB&IboT0}9>-!|hrz&r_p3D9ICYt}QuBrAH^FBK?9W)l{HDGyY z^1BhN13RgcK-YxPA4~u@g5}^3UkXGqzeG4Q(FTwm$FaUG_BSEd6yMq%zk@DDf0_Y4* z1LfdT&JSsCPz^c-b_VVRS7?mBU?3O@#;ILrjnNJC1Rpu;V}QPgdZ$?Xl&iGJMLLx7 zSt@z0)O(idC1dZ|l8tuCPsU_CUwsy;PcQFbp$+%xR&Y<5ToA1}p@(AhQN%p%AiqN5b^YufZqkdjz<{nSOWx+ygEE zUxE+75%8LxIgig;(A#Ax=CPTwt#^()3k-I)_s=+!ah{V&;68AAXnL&z=~Qqhcm?EO z?i;~uFc2IEwjlo!q>q9UJb#d|xi*BhhL3`5@Jq=9_id50v$PxxLA`OI$q@BBbwUO5 z9|D!guL`YRF1T6W!2OvAo>JfALz4x{3(rAejC|#JnJ(6zdO0tMwP_c_zq5Uw>iIr> zJ73l=CMWqZDzwHGs#C1|9Q9M8GE%92OI4odqH|EHeed4Fz9&=cJ6~=?@`5uRNd5E- zxC`uNMXXy-a51<5tOBotx53ba=|bwS%fTt&FKF_yGo3jTbfw(~r-Ca3)7jK-Ki63E zsRLQxnf&ogcF;5JSB>&&Rj0k)JE@G&Hqf`Bz3QfROzHE~tIYdFtkXr$b*l4C&p+j# zwtB7Bk^MXtHs4RD6#dLm{U3ot&d%31+6&|_rB9f!b>57!ZO-frZ3E|f6Vl(y&Ygg| zy+gCl?}J-qW2fNx_R!Ytda&D>&E%f!!SndQWNE51eex{c9|ZNG^?ef3#mK)7%m6dN zXfTv>1!p+3)%B=*378>!$#lBx+xcKB?HM?iNW*-y&TZ*m>bu;d%3R$LHmV9OcF9_%eSM{TXhjI!wLo@%_j32G43ytZ(0^ zw_ovjRj96q=e1mYl*Rh;w$0}iYaXS_CzUR;Z>6g1`}4Y@M&+zqt@7$vUPY|k*Zyq_ zdZQ$T+%5}jt{i8sGn=#%G=X&Kga+;BUXUJ|?x)?LOx_3TMKo-jD!0yoQx85GmhV%j*o!zZz5Bh2!dZ?W9YTv?n z$WAe@&z#8_eYEqy)y{m4F49%h(La;z;~oEgK$YNxhd*2-L@kGw2X z#;UYVkF{`r?44qr<|OQ$zS+gjzI&xJe~|WwXZ)|AbztAiI}-g)`k%B_BfvHCC2jx< z!Fk}#z~W#ZftRS8u(q8;v!%3WcY|qoUjw$wf7u5fkxxS%^cB+4vbR40SAq0|-76nQ zS_=ArCe+)D^mE;5cP4DTCLn)pX#UU3;8|zBGwt@fTp#%h)Lqm~TSSKRCBJ(wII42W z0d?I=dVXH}{vvqAnJ!~o;6rD=)caiH!16xUIx_DaXZHz?+oU?XRklxapzlZDk@w^6 zk}=+~SL6Mx!1Ut>>Z4LJ;bSC}ty0NM(nWVRA8(<&40Lu^^z!6mc4;n(;rV!>kHzK3 zWb_heI?&5-o{M5TKCZ{{ybkv^KFdWm%*RapIF#ROoaqIBzfRM9JGv-F>FsJa7x@Z> zE{ZiWE-^u4QGZk`KifqyNFP%yQa$hca~z%%>ezl-Lw^qaeK;BGqd;T$I}7`7tufh8 zm5Y22uEVv?^qu!h+KSDt`E$$fI`-UBPg7q~uIa-CvfXDWrqiTzP2Dy{vdnsCBHa&u zi08%9*VMW6*#~Rwr-32b=US~Z*Oc+d(OQ?`s^3@NkMar%uB2 zi;9oc9(niUJ?Z|yVu*Wm?kJCK1B-W17k{BKvvn8p zbMbM@YUJmJ7IWUI@p|C>9B^r9F`L6GTLJ#<%m(a|UZ9TeA6Sf+{`!kZ3qtd4#_1fS z>01f!*3>ADeu0fM)!BOSzRDkURT|0<;ysbDy?u+mQE0J-r{&jO z4rYWV1N5B^fX74g2X77S3|tLv0ByhX<|}@pJ*DlYjhzgJ z1m-J{rOxc_GH3r06iE-#XW~8QVQ2opUOn@_BK`+-xB6!L`D#lW$Cw%aGoo)=FA8)% zxc=GFYy454{8VSYOn&r0o&QYmA=b13X+^?x(E_dcwb~E*R};Za;36W%yq8|8=Q{)Q4MznQ zZ{Yc2Jc6uNvtO>KNYF7#F!p zGJdYJ|7Ea5ZWMSM{7Y-RN_ycSctZQf|2{_OY}M(Ub=2A38d}Q#H#i@jL)ywUV1H;n z?;D~0KSKM-yUcggXFRsx1xPF* zHU|(XYSmtXGsRqEO=B^r~yD_N$5p&wU;li}l4u6^mG%*pWj zDP^Cl7%$?uN?qI1M~dN4FdU2kUjSDRI*j%8~}l}oR2X{uZA!iJEUb2V&V>6#0*)TjDV!*7M1Tw9t?ot(@%qW-Fm zpYxqunJVUWbh_@Gr6cR#u~~ZT;>N8yD)03tJ@|HOS*M$`p~}h@_3pdU*|;&wE;X*6 z%Bx?J>viG#(&*yemeOq<)6|CaSLtL`XO&mz=ZM9%uGH5mXSXUROY5h?$NYF3GvsS@g}Az-O7(lGUYpFmA7@3w=q%2me&h(1;=yzy+hn{j$xT|!AUG*aodL`fwRGhU=ZcmTpi4MCU*>F zHBygX{{lUhwW7x^hzy1P0(c!d+Y45MjfhV~*cbE!FQD8yuo!%b;=cozgRO|?qwLKn zGtq1U&Pbx%W5HOY|06_d5w8SQ)+Xo&_JjH0+$7p16*6n6A!OFi9OmVRmgi*`j(xP# zt!&&AbO$|L-gM@toxQrT%n9IB@MX}C<%*=&RNH!es5QN&;vAR)ZUGO2OTj|$5;z3j z2(eND=b!0i7&seD2TQ?na6NboyqH9N9{~ShSPuOT0pme)PV8HE&XwheZvjt%k3c=_ zbRSp(&H^Jq5!i*iDue^U05A$Pg3pn@AM69q@%w488{7bPfK6ZpSPCuzGr?N$9WV(@ z2J69;8L&z%m%B#7O=?HH@KMJW{=U}G=@{bcyJ==}gTuM@_uD#4;=W;bB%3F5%@&A10IuQMGg*r{f4@!n%fJez zEn)sL?hEt51z=WIota<;`(^19h^@PCg0Wo7%`9tU85ZK6XKS(#=nKAvzKsHNsq?7Ji&+TYg><(@jRTYdhcRME&R(GQN}AOgp(=ha$~#9f@?|`%~oF zFJU=_DJQ!_mVEUw-9{PNM>3>e`K{${{2HTVr`Uc$XlYyZP5M_Gg&e2!?`>B|`$|8> zlp~uf?scTOV(s*&tm4peKKU^hx=`PKUbYqbIj?zAzlye5D%J_5Dp})m7g$ zU!^PAS8K__E+O+4A^mt8OW&$1TS?cc&~hH?Tl$yoxlVf2nXjzKX^Wv1;!w~1Ly%RL;QPS zH#h{|1v|h_upX=c3wY1Bdrfbi&x3hpHuJ1C-}*P;U+7;ayZ3~6XMH|IAK3I{zU+<= z?=K5Xr(hLiZ$R2w-firjVScp9Fh4K>dEh{Z_f7MyUjrYTUfG`}-V@B{elNs(@hILg z?2dIfMBmcFef&1R%6!z@LcCX79eXdRV|%%j_mw32Th_j{Q_4G&-8beX@onG;W&927 z4KZ$auO4js)sR_x+9$N;n7iD7TXBG=-M?u;uIRu_9#l6OB=2 z^&YD|ME3{nyV|qWw(c0FQ}cOyvLEGH`sl@Wbq@c(?@e>)&zjG>lXp^^FU6SW6TsHo z_?B`UI0fk+a9yqhZ-INvcSicIBEPH@?kF)&3BMF{$eiuEziPZXdx{w^qmA?~Z*L==sVCXY-%E8KEA%$nn%}k_FKI=O3-hC|XnW~- zU|NX&o%wY?4$%jGfjkM`4{_a_A8hNmz1urVxtDaK9Zoeph3E^n!}oC8yKJ0E?8KLn z=&MZT*)f1+%x|=}fVXWw6_R*x99_Ufu@{j zGkbT~2DVeigP=X~hTEG=ZhTj>x3R(CDzFS(4`%V*#NKpzgO#kaI4ADIpMpHpKg@HW z5{%~C%@i;ltjUe%*ak3!`}@maJKu70k@h0OZk)HP!CIaT2f>Hn4e&8IKR1?}ofF?z z-b45%--yh{XCQtB=nOtg;@N5Xw|9zr!K2_Fuo?U`#69^YhW2)FKX`(+ws0HyIqPf$ z>%pcF-^@M_@f@-_VYah(M0+NcDI6GhInq@ z4(?zbyAvz}4{#j63URMD-T|+JJt6w2w$?vmy1fVMEyDa!d*^ut>CcAvW@CN03S14= zfL~J=n>kK<)440e_iF3Ya+Y7gJbO#DccHgA$4wu04qqGMnOBUo)ewg<;;rL-Ff8?7G$-d@%T3L!_j(aPue+M=#2Mw zc#SRX+LZrY99rJteP2?p{~CkNjY77ocG^4pwB}E$4;q)^t=TtQj?M-78%A}={MW2= zydq@oNd>O1_vQRMino{aTIlTR&pzEVbmy=>=>KHzU+Z3@dzj9-g3wa8*>5`jEg*ZI z=efH70{{U3|D>6Dl$KQ;$A8cJ!VELaKFl!e!!8V~0s$(rg~TGz!NA}sC0mJ*q->dj zU{)Yom{3Xxg5{Ek8HS*qutb3(QSpEZYKf^RQB+81-><*#J|68_=bO{&)Mu7*x zY|t6}1FQ#I!3AjGZSyiSz^z~=m@KXXw}I*4dN2vx0It<{zE1zJL`w>nB|C)PT&!S&1%W!lfu zgiO>;^b`6{%0afq#rGEaUatLNezEehR6a*-by3|c>8SUM_Mn$i;Fn6S7nV*5Jd< z*tZu!Y2@~cnUlQwu7~i%T;^O4qOQOgYM=s$Gj1sGw20+fG>cl z`rbZ}obxfU$K!Iu|^T z=h<45=IE~w6oYSr-C#Qy4Gy5~kHK5u2zU`}20Ov6;5qOFcm~`9=7EJ^C71-pgQ1`Y z=mk1}=3q7JqVG2(D}U1db0Lo-IROrU-C&2l?*hLAe>C?gOy2{qgT3Z*^gcLbE}QAd zW$*~tr#c@h|1+e2GxtecALdm>Zdbks)__)#+kz1wM|IdI$K3+&SAcer+cJ*fFI-E! z_ov>0)08{;yq#dH>OO6r$1%NNZf|#Ley=KzW2Row<`*d~u-LxWm5djilOOyN)8IS8 zH`@BbL>)fYQ<`j}p2`#^-piH8v^dcZb(H$kM&IhGANrG^V+~a&^vnFF8h^3s2Ok%F zTkx}C{JBc=&Up|1H2Bv%^--+xm#UvI{}4mvD6dp$fe7;r@fOntYA+CCg0e*W6`EJM z=GI*Kxtc%er!q}6Hrf>0r7Epc{Y0OYptbVKRWGbZa(%+y2A0IUMLWWV-+HQ-UO8O#AaWP@J=?}GiH zHHg4o^i?0}Y;cmkAMX#D>*P+Q9Wkfdk=|<_BmBl(Uuj!tE0&u3e?mKQC-|Ag@dJ4V zEY`ZtQ{E~q?)69(n)~`e=Kg)C7_Rr}=CKmX&QV`XC!6~t#y`U(Z_H!NumWrZcY|Mn z+rShsQDayHHfTO4!40e*xhyx9oKgnpOG_-)feL-2toE?8^}OJmav`7cUvBX^Cg@K) zi*=IavMi35m?mS~U=It`em#rh>#RiGU<25GTlL*l@4*%Z8^n3ij$NeoFEQ7BmSsG^ zwP=|r-%#x_k8$Z`7TbhiLn~EggQ)n@Ve?!*BSF}R7zdDOZE6n z{rri(Jz?(e8Smsv&lwvBpV!dNw&TICRaorHf}aY$w@UR2wQs>MB>i{Tvv7V5KBFYD z@09rqRkwFy3~kg-h%-VvL5|pW@PCCCpCwzWTnCH&d70+X(Bhb;&|+PtJcihtXPsUe z3%?Du^FLR8ioJgsnXAB`&CgEXH;=Vw^M0*;8EtM02b!NLDLcOeH=5hlY364!j-#>$ zeQ1_p9LFh-sIx%v`~=ViGzA6Vy~xY#RouQ!vHK+X*n!|A${htec+Q3__euL%Z9v*% zTKXXRhcW7RtDqdN)tO*1xEHJhiz3gbzvjKlosr*>Fz;@j+rjO5396TCuk$PtA6lb-7L2Im1?J%%5_oS^uMDdCp>Fa zCnrT2OX4BkQ;Zz}%!RD1#o8QY}%e(kW% zjI?RRk=rBEEsFhWh_8d)3HMpadnekAaBq~Y`Ggob*s@}a?MJW^p^t$U`>Py_@1HhX z_3IYyZj$RZA56h~b|JGoa(ny(umO4dz%5vpx#sZ}^J$}b-$2{Wc;}48aXHtSvP3)7 zLTmq3^SFo4UA5nov5U1ovo-GHHH$SbFug!0@J8fwW8C}A zwAa~Ye!d+X`F$wkN#3QE>5Tf3`5CxJ6t6q`uhO37E3dWYNrLWBuPEb``JU!BG@OMx zs*NhG(GWZT_#iLswl^F{DYot*7!0?CiVnCKkuF!H zN4WE1J71H z)NW-Bezh<|yVNt@x$$?3*}7|Z5*!5AfFUWrr#OU44};$5e{9nF^{uosM+W@}XVGL#e3QA1Cu5~ji_g3j7ROG>d%1A- zKA+z|c(+oKav#I7^NxdemAqS}Tv4_sn9DYQbD&&L7hC?1eeWH)J!kz|Desr-&4NqR z?t~iJO=oDAG1W~ z3-8QZNg0i&V!_klP%*}YKoqpG&ZNG{35Dbs}zMs$h9e{WEyvH0JxeN^h zty8X-rP`lxh7R{n;kP8(3hM0@=C*5~>Xd8lj4Nqp=_~#V00960q?vhiRn-;7&$%y5 z31dPMl7J9EkQox0A`_D_nv$1z31$G_Hg#Ay;|U8jvg*a?Fo`v7i_D z9a!mXFi+ud7<>+XklY>uBQ#&ivJdF4@l6Juz?~pd@2>-@>O9n6JzduVm33ZG`m3d5 zHJ#T`|2le>dTk&*v<6M2<1C#w(Y+Sxo26&7H2$hu57bdp&_>TRke-$opr@1=dK!g` zpWs-6@5A|BpdEMsECYwYYVa-i4@iM7=79C!ENBc}`pTAULmxz)rs?@qeXp_FsPjs?S4r#T4v+)7IP+We)t`Df zzTa4qQ;9kv>>x65b z>$9%p-&g00o!P}uXZ^X}X!|$t{07abu>PhF8eYJ-i-G5HeVqO?FnQP0xH>ewg`N*W{vY{XOyx{;Qa?yfJ=F}h(>U^IgbHeegv`#sNn z{{uU&>)MWEpX>cT&(}-ut*V!%Z6o3R6GjTQ1hvRmQ^FaTRZ_wsxl@eCT_*Ql_ykn{M?nB3MnZCC! z*C?SlZ%DB{!$o;RC?Dx3ZF%ZSpU+tG7@{-aW40N!NME2NRTz~)?|h6g3vIu8W81igN@B<>tlF+FOmEG%OD7-s``yfxnGYupWZ!`8sE93xtlU#88j?G&D|`H2xT0 zR}_h`dEIW9&U=}=FAjs1R`4NB13qJ;V?d3_({ZVsOSM7xz>NGR-{w%ri9@RwZ9@2G z^Mk=Gs1=zOWJp7E(4Ba}q(f6XrnM~DTe#_F9gJ*JbG0?LXbh`LMCZs%QXtrrqB!&K zmX#^|VSf^Vc042v+U14G{>efX!^G})loHq|A$L0-9W49sl<1}l|8)QI@%8JYz4mnG z0N&dO5|&@NG>aild&*~QX^ z!o*76#W&tJsqOJ%fO}5RLaRR=dr%_#W(j_mjny$Gv~#=Y%niiCw(rJpJ-?0HPr7;= zb;gDO>%PYN(bbl2nQ!(EBySA%6K?xI82lTQvwfE>N3~aRHaeg$SdbD?>Jlk-?+%^~ zYimTml~J>K5$YW}P?LSc)fV1a6od-4@QgV{Dxhh+{lFXeLzl^1_4tFa6uL>5c0B%< z&RyT6@Ygm&`f4c}G$SP`D?l}!5FQ5GZy|lAl)VZPA#U+yRao&z_5L{3h8Tu3aLd%8|{$W{5_zQdHS=ZGwZtT;bvXST1U=1 z>o?o`jaG=}H`&{t*8KgDSz54{6KU6^N1fJNMSb$44p;e7nlAOM}I2wuf9Kc>;s)}5!tm>$dlZm z^KX>|h{SL!Al%_n`}AmnzyV7J(x+DC-PQ1W4^5nwB#9^B*O5c*s6}j)yL0V()RQ6P zM7o&i;o)CTZ{}m=`hYFo^0>1N(-7~%^IlFW?1#0Mrj$udj>Q?Jy&Cr`hw963)h8IU z)hy%zi@8DI<62c!&ji`KgQAEZz8ii<$2S(y1+aG$J5e%uZ&$3;#(W#a?77tj6?U~l zsGaGuVeh+KfTT!a&P~HPH0j6cc4^GUt$=8M@ZPFY7+jLvNhK_uiNZm(P`zMZ)FQs*8^L(3m zEjA0{LmBWZ7BP-tl?R^j6WKM)?9{x*-9hnTSXytKMzcTPu;pA{&VcI5DC5beE#A0T zDG_ZXAKik8LCtA1wdJm8Q0c24fZ{_<=)}_i9|O5@YfR{s=!sJBkX6@@z;SMnnCopR zD|Ox_rIFcC-R|Bm1f&H3ssE`${r3?dkqSBEek(`Jpe zDk-J9Wp?smlm2PmfeY;=H^0J*^NRW2#XaxHVr*7M`=0HbEtB{9&!~Fl$o;{qy=r&a zXx2aN5JxDIiWc_JkJsd;jhmO2sNf(R_O!#(U!)uAR6MRWXk zlDNp5<5uu;7N~A=B;;;@yh81HKY`w}M~t1`z!4wXXO}&HPbuPh!*9tE85&BdXm$?9jCcIyP)pMYE=zMu(DUXlC*G%gl+Vu)Ij}{N^h|x|a(MJV}9m zx31RuEV~!}BRj6si2LxVawv^7N5k^ZJ6X@aO0Hu!a=qdwvaJ-=kwJa#_T0g*4-g9G z1y{<8c47;BspQ%7E9*qgSu&igtT#+U@tN+RPStY1y+j5%;zQ-SM)}wIJq+brwz6;N zxAu=(Z!hHrQU`M^?({v*R%h6E<*7pq5rmJ>AO3_KldXlPLsA ztwd$#cXuj6~G#=oEKxq`=5 zufH{wJh?>G!@Z8bq68uV1xu39sn)r1(e0@t@N>{ZYN=IQ(Yg+Ul?*Xlodj zmvY$ZqHp|CL4xCTH#BsNI=Ji2l>_%Bt#wM}fiPkgyZFXB?;da>O>|!`t+G$bE=N#N zG{Iv*kG1l%G+?QkU5BT3fmQJONOV#)Zj;ixStHB(8@NKiZebHJyyFAy2Z55}wgYnS z2ITId4i>h59Y^ENPTKyIg>Dn^;>2@%B_ulF;vrA}PknPbK>R1*^3DInLK0Ev{}XC@ zr~eQQ1z|zhb*JSZiB>lINXpwB#!p{!OEA5O`c;(TG?MYavCz%nJ6ufjB~9-ICq&g4$6^W1soAPq$+QKz?5MFrkfb zXMXS1FG;6a=c^t@+waHSUS{>rXvu%smZ^?~2@*f)I!srM>wCbz)umvd)Zm2a=6+|a zSQTKvWx1x!@_?J`-!fF#bDG=ntYe+<7joxxpMU9d548#)(tV6(5U(k8@X3)>SP-P zT!e*HG|A-5eV|A7zpQb5)-G>p;@p$9mI2%z`t%XDW6j3}t!;Kp{VBRJC{`Wb{Sdim z>EoYao#|5)GvO6WDeqm;0EzVm)z>GFEF%z5p^4~^P@rn4)yjsuaJitYfqDsBLvs4a zpk!!T_41*Y^zzTc?2H)9>SRJyqLLKsJ$gk!u4KYpuD(8d!Qr|9j__X0&hZKhA4Gd~ zKNGUm?weR=|Gt=FW@Dv;weO3~^Dke%C!*-lR9HrexyY#_7PF9U;F?)$EJ0cdDEdmICaKfqNLB{v$UpFY*&pkn1 zH$9x9hgt&C(tB`!<%Z|PZZsAH)3nU|qbe=<&7DiQ?NF_1@k;yC8Mvg1x)CF{EL9`B z3~V6QRl1L^CO+m4HcIci5tuN1ueA)VgIJaJsTih4Y|1)0o!t9A>(2GD^_s$!IeXOq z5S9g&OGn?jL@nPxp5|TlkJ{p7mut259~&Nsx=f14#qOLE`RW&POSE1k-NZL0x)aXe zbjL^2r7y_^qeiY?t)AZ}JiNGXevA0WVHRN+F%Ne>ajIqMq{l?@*sHTs@|Z#%Pf?Xb zH1rPGv#`@RL)?2UeE>@o3#asvo^UrGl0)iv4dh}Jr9JCzQ8Go=>mbSJ;b(kD+9)U! z;SP4y!d~v80waXo)Hr%|_2_sV77?x^c;>wW0YuHt)kN(){?@Ks>1&P&DhemZW!qLH zDM%b(Dq^m$7@BmATIj<>zkvW>o@{3{>8AWZkffyu*a%GlM}*)DJh#@E7afrpn0l1 zfjvdbz)BRgKmTK2dgrSg&RW!{VB5uoGv7=6QPcxgV<;~;8iqpJ7`w!>Zwc2t$_c@{#G@g0^9IZZts_k4P# zSj&DE)ne2P@Srw}uz-i1Jibz4%qs=OY>z=iFgll}o;uZFidw^y?y^mhoXapXm*@Rl> z8Jr)yy?mbfDurNWsx}e}s|nE`s)#M_GKf<%Q&W6yr*5_AL&>qvZX8gLd5+UEvm4 z4^(V7HR$5yd-qb|9sxUYd}l5&>dMdrSTlMx@BPz5#-cf^s9ENH=|Mj{kkfY1;770U z{aiqG7l{q@^RXFme*AS0!{msyxW928!#sKG6zo#jm*J<_YJO?i#Pu?+D2DrNEQaBj zK}rky@VoM3YCf0zafQxM!$f+s2<1La_%|lU-tf=tRwiQ`=}`4pvxVL9AP)x&TkXtKk2~`_AzAu$eP$B|JK_1$&>&NU z1{rA=y}Rk`!xsS%sLOV7&iyBvd!YX@P53~xmUgYgFION`W@)*0u3KUWgy^xk zK$2XCW_C4H#TH|zngcOMkueL`wH*_aC0#*7U;Zgq$llFE+D=!^;eFz*qEnm7vw`SU zPtKZr6l2rT3^Ho4wyx49eGqN|xAOjV;O=eE0jR9%QIENSbvT^(_Xlr%4VC}X^&fiz zcALi@usfvI73(cFWy*n_V7R|g943Jx3}Y!_T%8TT>%G$5^b$R<4y(8~m$+wPxN+vQ zZ~ms?AHMEfnN&HVnGV=3oO#0NWSs5tLpL2Z2H>hABN^D);rO@XKlT5$d_8_R>0WQ> z+at_I5J3)t3A_nwf?o=6yo|{&ZK(-K@j?q$%xIrP9~)2Bvf7)*&tib(-S)tlq;_IAJeJ9D-OkrNoV|Y zjY2&~C8c+Se|`enQ(iySsIzA$fwu|bgtJA8#VH|J7WM3&p{9y^=TNX#gRaUZLWcJK zIVpmF+&cqCROzyVOzm_W`*cSQO;?KNHV9VHwL?-)XHRhxscLEY@045l4tV04V044` z!vXue^iqMF>wgqBsqce3{socc${Z{HaKQ-(7StdzH`P>Z%N?$_T{i)vz25Zc1^-BY zsDD|aK6e^)_=3wu-mELZY_8P&Wm_pPW9{jN@587KjMiV-^Dlk57Sla5jWK=eu6`P_B2 zH+uDkd=XI4QX(C)x%#c$j=I`}fQDbFO*Ab3{TJ_N)8m2}daf6}WQoIU zX%5Z_#bh6Tv8L5@+Y$Soifdr(wQsmPXkk1vQ^v&^n%jjP_wLFBsY>I7TW??XK(zaW zPLyluI%$4C6)U3vJ?+kQf2t^CY|}PlY{bBMHs0)1j-owRq@Xv+iw((x5;VG2OhjOY zpgL&5hsFFW&hu$2&__yg$x=og0J+V0_|f?qLnHa?-`N1R_v5s^`gO}7`&+2l#BNA? zd>?l$i8aGj)X>QaFrObKGF2@<<7WiG6yhDHI4+@yw)YjWKZv5^KJ|w%H6bgG%TBH* z=~pQ+77J$5w+@UdP$5mo^dz3uh4M-bC-OJvu^}!@+eH|NKuhLA{hGAJ)*$xgR&(J= zOM*t>dm}cWU1`J!{I<`11uNLz!syk<2~^HHoT8SY6VUyAG|`@>mHOjAOX*-YqZE}T zqXAWXL;xZLB)-BxjvHV6?*1QGoHV&Ftd=sss_)nEwlV)DMHhpTxj4r{N$%KObGTl$ z1L&%()AGQ$=DbWF1VP)vzT*L757GySXEbK^@83P|eW73Y(`_#p>CN9kVNE&tdUS{H zgX&-evwaa<2D>Dg3S}z&>XxFOam!%7Rj@_+SYfPHSmJoP!Lfx-x%aUTkrCnUjCl5L<$Pt$M2>J0}m9S3+@p6#zH)a88nD&$7ohdh{v+wGW(T)V`0 zrfXRSt^Fjl)atj`_B{Dnibn>b81*vr8}ILfVyr*$8ulg32rcsl#@c%PcKvL93d0!p z1Q(vA2)vXfuAx^qZAoF};064-GKtH7yK&Be|OZxTXpL z+_BHpa+qCEQZAtBp%%Nuy0`}>2Tm9AThtJ`ZVVHfQCTW6LEk!xihpbZ>|Q|#i|I_L zj;k+y4olts!1#G$YkJ~#XiDM7*rrZ^^2!ZT^UCo!-LNlgx1VHBgq6_qc+ zYbpk?481nz*k5{%MTWe^QodEuuG}3~9NIggoB5!Um(6aTyRcjh$dBDZAqgWu;PACt zjg<64$Vahsk5k&@Sl$`Kk1D(jCggtHVaW(t7yUAcp4o~R`aPXzrRkw9mk9-*^q*sa~Ucwd1u3t&X z1`+1qGkd+|FOjxZ9;&k1S$w+q9GvUSgOoHk;A++O#Qf$#s$4w=v)^rF^ow%>Z*w2F;}$;cI9(O`YH8hg3KI(4Be%< z+IiQS@omN`%r0UAAqQ!`e~||_4Eb*Fjxs(MMW*UO!U1x^7vu0`&BLtZeHlU1JaGVl zGW=)U4}as!kK;M+(Sytm9*X5slvbR%5KsDMnWHRCJIcV_HHeMaf;??jlW_gRW8qg# zboDfj6Z)@{u51%*%#*{qxI994MgHjRfoFX+yEk;9{FOGozi+GE=SMAGnI#%(>u|?+P>Hs*puR-$Y z9zh=cm)_vN^*hkXvpvupAI{lBO%DdQ{l&mniHFZ&S3~0Uf^QNl2$P{LHi>xvR~f#6 zC2ffD`fMc?-BU{QOkXaYjp1d&=VQy`b8xFmS@YI$(M%HV>qgpIsmWsoEb|Ym>GU)_-wu$PR&Wq( z5O!}fq;U-oj=ui7W4zKyiI8%uE$B>ltQrpJF12rT^}P-kAaHG3C9w?tRc#|*;QG_4fF~4 zScv)9n8q>1huW?%Wbn;esAK9EkfH(72PQrEPnE(k`H?=x#cCla_gzHW8sxiG4f(4? zSmbGp`jARozU{OG*!lR5cEKyPV9raJPFzfCngz*x-f6rRO7CZ zT5!+Nc8xWhZO!}Ow3bsJ6I#4bN}=*iiZPy`UK;;kQE`y4#>O=-kLB@%zm3gOx+J}L zR`01dBKztB@YRt~%|2tRZ>Lc7+mT{C+A>qSLln(UzVPDOjtS}?19dh&M%1w)t;Qw- zAg5aBo4XZNM+cMUNju&v4>mx@@pxOe(s%Y7(AR+04g5`1kj0&*G!5#j)q-|i3)9~* zK_JK*w|m*~-6}zU#Ns<1jJ0+QfT2S-bU;S1ChAuu=Yx1ngRl7RV7)E(mp!96*ttF5 z(wG7lA?%iI9Dx^Dj=6BXT(ZcxQ7bxlDuvR9p!>)+BAudHS{4gnbpz5a5PGWAcDC-iqLz-j)=V2BEnDi}nKVCnQ?J_8TwR%{vy=x# ziGC3K)=y=ATm93`(6Tr_$fi2zfJh^z*o^QM!V9?mQQC1?lh}R^HtP$$+kK|~{|$tT zGHHBF=ZOPhP`toa*QZ(})2)XTI!nw}Xw*z{@CX@rLzyGCJGA)bFxxJ_?HhOw=14D-I@ObfN3Ogg@cXC71a5>(}JDn*? zJ6aLoe03r6{@y2&oH53#Tq=~mBj^)8V$3Ygf9K!6)rrk6ly4=u`c+^&-Zq=>xYl+D z?%c`6a7+>e5w@qfAa#wB0_ID(mP@leA*p&Qn3|*EK1F(0XR@DVI8%pz=aD3{-?m1H zH(ZgglFBaf!AEXtL}XB}?5;fhwoongkv4Hh!)H!635oBGhJ!}ZL@wPUS$Si#t7O6u zmfxE;RH|zDg-n)N8_kp#6(6>qDY=(exQIUv=v6uq3g+!3os39^*W{}$EHX8ITeieO zh~76eTP+#X<#jWKs)pvoNWH2nW4#8eD}!a^$~{A9ilV0DQZz;=$>z5%hC6kB%WU}r zbWW+ENv&E{A8FB}=XmE=+`jIFsitE?r{aDH?By<@krrQS%-MyZ1cXtG zmJ%cly*u+rzH6wSFmKe58b*xN^EftG+1H&iUZ|SCjUJM}!o zoPW!S7fS|RE=e-wqBQ9md2__&e#1+nxNeqV=AuMM9V+TyM)$OUGuq>KZ}>rJrVHa^ zp8Qo7I1{lLGgL(YkFqu(MQJ_mZC2b~io-hgI-+LzgUur9*>*pjx)^y;h30G{C5n@Y z*;${ihA>O{+Ex&AHp!wcTTFR$A7iZ!(iN>~xp+JFh&v;G8p%0!%&<+}=&xUu1?je~wBtf6-uE)Oqi;5LL6!lr}5 zf1spXfSa#Rq|F&a6w&Irjv1OABi&UtkAtQLbFB9}HTjPBMX~3nxtYp)^5ogudB-zu z-*T5r8{qOQU{iGXj;sy-6-P?#hs>_0J3l`5asBo(%AU>NfNsV?|uZohPx!)IlT`hRBc!NjtZmK z{N)$)%yqb5;9Do#zr2!0IM+uP z-uc`52=&>=y3Y0B^11i9@B(*sg^uT?ctFWk%TGO|BFnC-a_j~`c@^gtn)^94zmEPT z2{t0Smuz4rbqd+qdQ{r+P7Xi-{YE%;{SJ!=os(-?KOQ&i_-%J*ukv}fk==naFE8A< zu0MFcpqVVy43cHD@6`uZLC#{mW-cNpQLp&+4*bxY&YeqN{RA#r5X&am8T6Fh*irnh zI`_7@i{j^Y=i~gm9$G5pu|y9mxG`{>qD1mw#-QludRHb@}BqbY+AdhG!4ZY<_cLJ?_cdCxq_% zFD&OoVn6RkuFJMIpHB|@^jvlydLK~HjF-6XOf`5e4< zOG9-?TWwubM*Eix@;C0)5{jPGc5DbU0S>R9Wda%VVd&%jPzN)~yK8sNd2#p6xy`%T zeJG?_dK?YF4rl9GLW&fXMAeSruUvC>sqPOVgP^Zo$+)P z74_5cfGj_*AryWv6mH-{m%+#y72PM%izMq1G+JQzjrPDxDFAMN-5$*UD#fVh7}&CP zX>Vp9G-#M1qT$)dg7W&)kmdIfiw`32aL;D+fNm2SDiF)}2#3_AWH^RM^w!W}_p>fS ztOjI<`^3$D=ii;A_|PDc+`s3Z8!pP|YA8M)gOK7{B|A&@C~g-yjRCT?vc-@U_C1j# zI?iB}jsbzd+nskCaHk(~*?Mo+-tN4`Ym}GX$Iu=>L8VT~HJ=AWQJz#!p0o7=tLcCZ zEUrapDQqPY!fVf-@vC7>u9inMJ`1ne))P5mUu~vF#!KejEAqHSui2$(a!+b(J+v)P z#?Eo_Cp86{&!gE{}Q^D;5V@Yw}UrgNEU$MD%70)SkB0+ z{4_m8=g(1~XX+cJvMr9nmrmvXK)+Em;p&@&FjDj17dC}!_4;)LIde*067|=40{bln zZL!jP6x3&7Z~gKT$D0JW!eNS~Oc&4YObA^WLo!lj{8`cjyQP8fsXNt1!SEyk# zH~6Pmm2);_pyal*oY`|4i2BHeC?oxiekp6N#9N4Zt2*lqWG&z`OnAjQD$hD>Pzhy2 z7maNu^^|O}7XkN_$31_@viZNf$nv|e^1FB`%?|~u?scJ8|C7esMZt2XT8qr$=O)g1WpQByEzn?1X>!4b=SYs@cd*VByU+eE&j&yI zYZH2h?DVBk8{u(ai8=p;8;7h<@^bs};IN_}f_B)~nMpJ868>}HpuF$Z@{dCwOyKV? zCrWi!&n|DoLtH!fqNjmjVLd0fs{{QI!Y}`e^N)(94{~0B1U~$5^}u0Hd$wC}K)KD^ z{w^;NuR;h(ZhGn%8Jqp^CAUDw!*VV{Q0ECp;&JY2HS0$;t<$ojQ}P0|2AUNF-Rg~R%H z9^ej_o>_cFR^&N`#U|A~u}1%*_v}3U1j9(beefUQRQk4EPi_h7M4H+^QJ_mH1e+Og zRkFb_2I0s3zzspWf6>H2b}Ny>Q)(yk`k`4uRy+GaD|0xeF>%A; z!^-~SzgPBvMQV2(&5VT(ADLk!?^1NEii_nz7aR*$@*%PI@>0*GSp1-ZbbX~b8Tm_B zdcLyFHy3iIV!r*dTx9U8f1e`a<0yqs_e_Iq;OL=3m8Nc5fY4|yqjn$fxI1IUEhWf} zefLl=t0YtBcPizlh9@ffunJ!gsdYXG*Io=YiG3f1Q_)3d79s(r7FDAaqE#*Bb|GJn zR}P%d$C?fV!f@5Uo&i(${WBK6NGm^sbwQPE(>v)8>Y4BvSCo6+mo}CC6qOS=ou2=$ z{nv7hyiwMj(1utPKTYW-A7v1v=0Ujdj3?aJr~Lh9z(eIkFYT+ewuTYk|;Tkqg+dytM1cL<6nnkNr~ zb-5F5R4K1X=8l@bBx^EV~qXK{jobW2pC^^K*=5xeMD?Zrldsr*3o_?pG^Kzx8xIUaMl8(Q$e@Wtqz_dINHB2*Z1ApYxvJjGY zwjO&0&MYG*1S}-i^QV*=q|l5!_GApW2UF(nVGoPg>4(=K&h}~i+mQgoM=__PuN&p^ zH(p)_+0d!sy~%XbL9lD`21yT5KnDP6G@0a{10SHxrNRP*a8gM{<~9K~p@> zzf;YOK}V*%ou0p&vfdJ{1{;DWYP!403;XM(8)_FIv4%$VzD~6?%$tfoPeG-5qqqZL zM%fH6&O3z?x4q53hV}YyEIOSn54rj|Ak0?xX=|yi_~XsJ8)bXisC#rKoOS{L!!Bqx2Co0sCl0(0{7?hIUIA zd)$Z4v2Rf1i@J*G20Cq>F?&jZK3;7NjqkPdW&B`sD-8cI=^S1bG8byqT2rQOtkm|z z?=q}J6lHDXZDQo#WUf1%Hi|{oS^H)3OTY@S73Yu3H{@quh-otK%9Teq0}e@P;Ab`(C_-E9}aFi zn5+i3juh$cRR?kBjo)D_e*}Bolj!2|0yDcWHs!h5V&u#4%DTq8g+YLg{zHAT}wu+`ry=*T%e=}FN#^RFDk(|^~o9LjyjD_YXZ^1m%7z<%T z$WY}hK~yTjGK9CS&d)9n^YDxXubS1ecnub8#OhYf{wI1c$KS8iw7V_se^u8oxea@; zGmAcUi3z)Wd$}d}RCU2M_1!sJKy|QJ86;1hjaphusjLg0S#Vqe8zGfsEabTooOy#d zlO|Z~FW&s*q6V#-J*12A+!HYZyqdD^j7itY{h0z?!m8-68X@)HT3l5Z4_M=e6;5f- zU*wp1?{z4oy_wW5H)y;1J(m$I{`hblDa+yA=mz326U+C|63=UQvfTP-SpyJa+rXlB z3fE?KkY`;MX}(*|>_Z;@JMX2X*|ZJp)JcqK7TK`hu2s+3k*`Z5e~hmuo*2CQg<689 z{$$G&HtclwL?0x-5Z9NfGTi!j1|MGUuYAI`c$Px24-3-4MAdEk)usoMZhDcd_L3!# zFQD*+UQq5*?Om&rNema_U5Z>Wdi;{2Q^r~-%?(sN%f4&IG-wts7X)2`&9o;?r7c+C zLX~R9@ZF|XSGfZ?#*KwHe5km&v5uY&I%LDut?;0JZ`r*rU7!keXC8<19*RtlqO_b;xYB%QU}#Inp7y(I308w!1^m ztWwDKvx9mwGgqigWU&13C6pQqxt2y|>~&NZs%QCN2w4a`*W?kWzso20CvV1U&n{an zw|~r6zw(5dg!|a+#!p2fK>A+)jj*h$zca`clJOtU8RGb$ZPRSLY5faZ%sJF2x~W5a zz#xRjj&RioXA!WS>)(cWit5&yH#yhD_^K=#cr)bR*X9d5 z7+;@fe4_`1D{|KC{QWRnrc{d5Y}n09qDTK58?sa%y>~;@mTHHZlTUujp0p+rPwpx* z)PSK`eIESXXE0uez7S6tY2tGcV39}*` zYy0r`fx_khRBvEP2m2ujlDL0YCx+==h;xZ5m+o+$GYZ*!GLtB2-5CZG$m7(CJE|#W zRo?C;%^!M2c#w3Rs8HhL0*X50qc<;G;N(7cQ3ga$yOt!YdlReQt&F((pr_s0nD&M~ zhYu~v?38hfmR*z^Z}{~3p8HTJFuo*dfrwd4G-fii@8Uvyn0D!?A|sRfd;5|=O>v@& z)bu3%eMVh;#m(QFa?gL_AWx#BMF>3SSPDt=qmvGDQ!{n|PK7as%Et7|!PHdyUVwsZ zzfxsi4|w>32`Zw%s{&&O7LfNX!(DW|$V=Tex?R+eW`4(g)+eo_C-kC!Lab@7BJVCm zDy2Q$plxG7Sxb_H#htPGaAicC0rT0|Nih#7E+SW0^OODDtApb?g`w?~IcO zM)LRFJMSSMCJmjcksj7;YF_Po19z*vh0hL%bc2)n02ID@!aJaSS#Yd94eCQ5k3D1X zBNRyS_2xPokT3L|dNstF%8SI`xY}L3ANS2(X?L`ZGF)m=Vot!@l{XVB9ZZH_!H-u{ z7`j&@$%8WE(a(IOc1f#AYJ79}7d6(<42X~)N(VNzx&igarf}gCrVD}A7ou+nSYpAC z`Jx=do41phm!8$O0r&Dr?&c~~^-IERhi%s^a@Qld#&;YG_ARJ+DSMX1uH~5@X+4*gxn4F^`=}mD*ISB5Zd@W zY1?tAMTVOH*%c1;YPg059A*8x#sBWr5uR+Y&AEVeIp`{zD@6^(ZMzDkw@pSyCcVo#;UBDM$QO!pdL>arv7q+2MvjQ97^je&X zhu7w=6@v+k=4e0)p*EL@kV7m@#hc6$%0}kmQ&z>DZAn)AU_Wuc58iajnz`RSbA#W1mpT<#Be(TUv3}!?!ehWKn+*HYH zEWe=$C#M_tykN1fYcrJL-Ug8044~-{Ar8@)IT!ArEj0k4!&oJpq74=Xn{9!E5z95y zpuQid?Z7d4+?}Q0A5#ag8JtzBSiMw~P^c>(Wrkg8(DrCWVrBhBoJoO-8rC?oT`RyC z^HODT7nFkv-Cec)UD}g-S>5t*FKbukV87H)buM0d-loE@=|f@7`x-4!jcHdCYhE-n zX5#z`BCL)S*k?P)TzjdyM}K}YJ|jV3xBfx4_!F5kG*`<1TtUXAJV$n-aaLSYxuNf1 zc$dAcdK2c?h!r)zg(+F5#*@5%0VdY4Y>BZbhpm9MG9Y(;;BG~uDc9HpR%J0!?PF*c zH0^!QklZZNJkwzLTJ>$;{BLm1TBGl zapEBMfh3hlRLF_#7PfD;uV)JL7TxWmW=G03fwWu09=(@P=E}h#}$THE#g$C+_VDuaY$C+@;b<+?;gqdG)4S z5HAJxgI&-xC*{pIxBV=pRobhXmzSbeKZohAEsgD3jF*3X5}gU^Gb`j4`^aR6Lv!$xZP zBrWqsK+A>Koqr(DR6Y+4$Hxy3<^uUNaMQ-&XI_T~Qufjq9>~C3G4Aq##+Ur zQ{BOE%>A1e!|MrFL_0BQ22FQD_Z3qmWy6D(p4s=CuE^bn2C2a?cD_!HP42Hqt726- zt)8IFHt3ja`;bcWm^tI7y#6@oSz3Y3x_x!BEmLD^ysMbS5Gce;5-Zs9Er4hZLU=|D z)P3@CVZhd6Mgc*?_K+1FX90vf5Xs<@l8#WBR7riHGRC+DsXJe?W z*U=lipEGPlsitu$26ryz@b8rH3&k*Pedz2E=E42!mzDpU?E`ybcEau3llRWcs_mw2 z5kM~Z6BeDpczPuD?=~9uXoz4evpG2`dF+J1C1XRbfH8lY-`sGRb?K`iriM2gKo5HQ z857qXz&2amM&ZjP@44gM7v6-5T7eGA0vOxn){bzN+7+L>}G=;^~f*km|+Z9Cgq zUKngxRP%B;%s0N;WEsg`HB5bnmV0c`W* zA4k9wjVN`agoOLxG*91{c*0hfz+pk$W4@1uUqh*~xF?P42Gle&2XF~TcP%P=zMH81 zxwiD{Df@#rjLME?3;LO-9~WLb5aQ}5b1oN9Q^*Ge)loA9y=sGLtNv$xD;!&37%n`- z-L~$!*H)U>3p-}jRO13#oy}f`PFM)XdwLjLf}*;GjwT)soAJj7P4^V@=__m9q<~5Z z>P81rPyICrFV^0-tYuDI{f=pj07k0Lz^`HrvmKWE`bCmfH zkFd>`?J^z|HpbO}|3lMxhO_y`4ck_`t=g-twy3H-Qmd*cZH?NsOT}KPEwQTFnyp>L zs#UdTjF1j9#NUb?8WLLwf(WnoeV+H@eH_=v`?#*(JWoSLO@;10yE6Rd9|a<)Z`yV2 zLmY4DM{S(7V8RO2Wu^`j>tLNJE;435wXZ^h)oi+^CN^%4dhg_~Zc-A)EiS#%+GMw= zK7EhmI2}3kt+L$vLs$jMeca-9qg=oY|K^^6AHx*R0~FpmYg=oA2Q&Q-{Ubaz#hkYf zb<(xc@L;HB=uLG;Qo~O0RP#_j@0X#rI4vL8Q{8OyC%SL%V6W>xk^3t9_P#>9@wm>b zB)K@3J7rEDuM|!p_>*&2Qc3{@tFB7SA;M9BU7~6hUJV5rf$!vX@XT|}M$Z;r?&f*K zP&-~-V|yJHP$=QXq8szB8K#Xf_dBwDy~||GeEeqLc2tO~@s<}yZ#X&W+>t3;tc(8c z+M&dO1w-G>{--B^Hts^81YLsh`IQE6gu0^4h>dswl^)G$BXx|OxOB7zH6`?FO!HE> zTFSv5+LwxsjKG9E%#u;(E99@>ml@&XcQ9Z3Dfkx+qK>&H9vm~Yfl9o7kZw>E->rI8 zaH+GTSn0G;0F_H02*SLh_0HQak#+oud-pRzvs=J;k7;nzQNoJNBFcGbfvW55==y!V zBCnqshV-77I&dM=m__lp#Rvl1Tc+`R+%WEW(dBNs1Bo^z8s_*dp}VG|>(EzYTBH!@ z=|XN#kjHRZqGYZ>bx$NJcv%JuA3gn7iwYa^<(ypyIUz(5FS;JvkPDCH|k+MjPwKytvKm*>rqJnn3UK1n4yBn~>L149_X)rF>e$ZV} z3>+~68;dy#5B?*u18l08sKbQ!Tc(gAa#3qvZ^oF=*o6 z{vJy-w)z#8Whl#WAc+Z`i@b=jO$_$ilhvy(#G^vJ&1{^cUH8eeY0BkBko%CmkP?KS3xwK(3en6%-g7YQd-?uE1%Aoou#6 z8^wALg_gv#*%$q}%TM6{Sto`tuc*u!smcEbZIhOxe`_7)DlltL3j|7K2CEX|CrnT| zMlN>pJerH6B*9)@xlzZ0*4^8Ow*vOiPWj4_{@0tB>sWfFaK6au3)VH1IWQc1U*(#k z!-2A`1GIjSafO5P=34oDK7bp=Vsk72f99KaKKwGW0`l+wE>o6CeiKPzX)kGH=?aH3hPY);!Yl8nvj5?3NNm&ro zn$(RsQ1NO45D9hLxw-Yqf+rkURxme(13TbVN8P#VRbVQOl?O``vG)#g9CO}`k(WO2 z8=W5!&%mQJtPCkJmwgKrMuXof0?}cgSI0$FQ~q<1WprfMu-w7mV4n>%v7L` zZ0VPk0Y#ss&jFo+>pvyuDoT&MOpR6;rp3_lN+XR6!s|1yVxV#o2Yv;z92$Q$!c>js zS04S!^trRO6CM5)p6l;hd#bKS{FayC@oii!DR)02Nzn$2@51G8h=Gr`PjjHf1;7bS zoZUgmLHK-DqGWE~Dx2CSl)iD)r=#^Ozkbsn2tczLe+YKCNt5yPo;U|Cik(T7<=}hH35`VdO*<(ul-sDVaz+i(X7YV5^dDs|tg6#B&xt%)>;7BCB)@{BzmvSg zm#j4RDr_ce=Le7-sT!@;>|TB3)z|n46-$c#?-ZVv;LFn_2?b;;=d;y~ze9$y`GQ4+ zM+>?Zca&M04gC+B;-vC`?D(xtArji-d_Qp1O;<>iFflMSaB-PX_ze9~S-FeeZN=pw z{m-Y#$OzZ%uA|xR=A+l$=-2p0( zZ(328MK@o=-Fhs-nKvlJuVqNvzaAGL)^bS5)C;f}A0O$WMg)T$6hC)rYC;zlH#e zJ}YG2A-odQ-F+q9;8r}P1|MFb#>_Wa1dO}a!M5Q;73eK25c^?^^Bs+p7WoP>C-$@R z57G=>lzv|1IUQWFywyxcqgdf3(+RZlNm@Px=x)qNqQ5!RYdlqhEk2U}z0v5E=l%FvfAcP~6`%B!auHS~ zI&*Exsb+k7jCFPDN>Ff*`}`&q{MzCAOGE@Yv+fkYE@VM#is1W+(4AO_*OiX#TH^HN zY4tbLUJ&{^I#ah7BCV3FftAfC4z%bV^acK`U7Tw9QgE>}OPMfGyxP7YrWD!lFehD+^U_UJkmt{ z-jb4x?nKtSBXJgSYclg^>U*=>7FO9ilW-pW zNLy2#8~OPrUhw`o_o4gVl>j9xFTAqd$D2UD`$~ms_rF=180zx_awJwp3luq<6X1r} z-vvwViT<}JspApQy@Q4dA+BY3;<(iY<A=^SnLlsVkXyeI7{9Jk*4?i zm6PW-X7ecl_XiuV{Zn#256$fkx~}2l5bq0ff%~Yp3H)r(J(v+i^c9Ea$LoMcZT}P8 zGO3%`0Vd!cH5GhX(yud~AenJC*BcZvS9onA6ie)HOv~3;N~UQ?I?OG;9kE9(4mAW< zO%v;g!P5}{>~`IifQKs0+pEQJ&7XO%qfhx~T`sPK`EwAjriBQq7`t;W>&W=;fvja ziQ!ut?nES|#AwmNq&Sf3wOYT94=05=>sx~@yO)+S$u0(l#XwC=8Gl(&FsSN|&m8)CZ~W8b4u zP(w6yyEXP++lA1oNHIBEaY<`VbTYxw$OZ}Lhz)rPP|G?sH&gyqv)NS)qw4!5nBP7` zVGIoYIgGDY2pB3$wV~NiIox~RGv4;FY5w@;^kJZ?Py2Qf+i02vpCPfL!Gv)5Go{R zl6=CQv(w4PfB8qbD3D?G+ovPRl_O{!uu_G9II^*8w>SbP4yhfR=uPd697wE#Nadf3 zjck6uLVQHSRj#F%7-?GQ{|zv$C8IM@#*6*DHH)|WStY$p`7fXx-<125bVHEk@a^|% zfz_!OX*?_CsY7jl=fC)WZuv7`s6ojeCuXMf=-WKUQG523w_q@gWmdwf3+pHMx4k;Y zK?QnGDblF+6HPi$W)YG$|CBlM-iosy{E~TTqEU%##OqjCWIjboi+wuYp$Oq;@r@86 zkJo$_kt&ect0daF+keVyw}haG2MKlE%a;k!-QX^W3wqZGGQY5{N{ zkBO#m>mv;;jG1J;=-Pg_8oOPrQI%<8{?2zWWPYS(bLMnM`UO&ZpR^B;nLIg_B(EzF zEhPSS`tP(dhV?#rFdDiH;~_mNr%_KSSp@BBa3uPNLEdG#)eOUy_@>?@P&#DGot-_j z)#hC7)qi;N>f4&#* z?WP)=wwRL3S}-2>2?Ty~dhyE@R~ilNAV$X88<}J6HREGWW zbBz(*F z&Xum@0M!thdAb@p$sPkg5i4=Ir3e{zg&1zatwoWfeP3}*=>x*O5VkFFc>l8>4ZP9D?GOi{Q)F$Fv%>PrB-LrZl@CQ8!0OPN>qLgcF1H5xo zaki>Fr$Oogv&JaTm?hr2vWn`Xu+|QpL*8--lr* zsYcO%9Uo@X!8kL~dyc-PT( z_RIb|aXgtx^TYhuvwyP_8y1aO3R5^xdqOd0e`?Jk+|zgwl@W4&hu38%a`7=hWVP9m zde*$?C*$N2uW@c$tq;w`(>Y7T(31D8KwzXIX{ehd+Bq7hks)&VrWw3ABF7A#_`GVucG@p!^edY=5m*(XOQMGAsh}PUFu|U^%vtp~p+5`^lt9wz9xl&AFzt48N&*!bl9}W7u%4_W@UgMS& zw#43!bV)Z%g(ADGl26;1M*Si{B^e;}OZD zJ0griV~R*vS|FI8w;HJZR&)c<^$}XB7S>QZl1@&$yJUm(H6Ecx$81&~gvikbpbPWp zGxZG%%$xwR`~6PB$BgNkiX@4W^~PIR{!xTg3|VC0!<>H?s~1&P%rcVE>7sP$GA`Xd z5qIwM>gDew%KHhoUH29%f?Ug{@j%#5Ec~9Pdd=m`7)`;!Q#D#`+W$kHTVY+c+HU%H zpMKckGsWegtf%}Jp_L6fN8gx7WDCLr8#pTKy^^n9+0j8QeUKnPBI~n+{WHtiEL{v z;pjkio~^0giCaAwCJ9|9F(IogJ$yU31us3u9@9Y0kV_i7JQCDEx{jgYN@~hM8 z=c$oR>7XqRQfzQ0+*Qm>`r?$#h|#hZ${eoGMp2OZcQ~MM`9$WD-#nPWkX)v z?K|xFgHo|)2)~Y^=9T2#)TGuOXmLVP4(-la;1YA->v=zdmQ_E@f5g5vb+L82;7^gH z4J!lJ9=iO)-_5HgyB1`DI_j)UBS@{!j~( zVq_^olO-_9dz~MF3f`YvTffcagx}jK(RFiBWID*G1uiQ5QuF06`wCliv>V?M9R~gQ z^5*@H>UUD{?XdX9C@bG&3eUdCMNg~^;w8>A7v6PyPtfT$uMZSEhWAU7=N9xVB_mon zHMM_caY&nwH2opHCw)Why;_yA7>F0v|8-)+a!fy*V_u#t766+T-cF}!)^N@KJ2G1j$WD{<)m&%@4U!1B{D*vWV9l)H z%sW25IBVy$G4u(h6a@?OlYTdwx=&$3<%Kdl?hc4M$x)b-<0#@dA645SJ`knV@P-F% zKG+nMh(Ct{<^;hk8wMg%uRjRI7ypYm>@H;ms09}%K1^<91q^>8f0gC80gwS3zt!G> z_ySa0#QzG+5ZmhQ&YjiQ&_IADieU#l3PFiNoIM6-|;z^f?8tjJ!gZ{fZ_xC#DwKl(6Cxp`w@W1kvkH+ zCf#eT1h4Z}iFD6gtmXQz<6g?5pqR4;`W6Y6$TzRqDXH0IfbTYy{V?qA(82Q!Z`d@6 zzQmfrPjVzciMhi>;7IK9SO$R6`RMATP_5h_x8#KL$e+E+2D^!tLIp{wHKhvI5GB-`M^G;;aAf0bu{xXHQ6LM%KkRkRbS(tb_}gS0!Eyr4>4GAc+I+DCykE z7Q07;&Ui8pG#a!xCLO?D@D>gS)be#?^T_o9AwzlL^}WbO#opH=o;9Ml`7;L`WW8a? z09Csta%sydN-DaLu|?5=dIDtr&ifjgg!hgn_Fmcn95~L5PVhM3S6gRQ1*LOR-L%2Q zB1r=O(-Qg&fW$BlxDSW|U;fib$3Il-D2;?098H&=Jj3*X?w%|EqNtL7E?akBm9KX)#R1Jm{COr@v1(-k}?M zCn4;|W7-Ppz{1z4{Kxba--SM>HT@bXeidl8vG8+|C2%5E@c615gB_ReX!!EN=ZZx` zdX)8K)_)yR4bAp%JrH!0CZ+pjYQ3D3X;0T9NV(5cKKkW`T6w5H|Ki8_t0e4UGqm|x zo5(V?jPaq@P9gO3?ZXE&sz`jVMKWm6ON=)znq1>`CUhLD!mbiil88Xv4T0Xb8KGh6QEc!vVLU8Lm{6rt zxb37U$5FT(e>IYO@4rvwm=DLz{3RICh|)yJbkh3)q;`n!tM)E(&)d2~-nJVk>DY`< zDGnT?^hm1mXpOhi9aotek(8kgIUMQ19kmYx&MO>QdkgUh+X&*j8*R*}U_ytM!|1|1 znw1_H6$B>Ls=A4pe$U^HqJCzTqLf@*tw)%L?!!Cz&gf8fUr09ZYopknk(om{BbXjA z21j=wco6DKRfFZ~2ayMHo;~+vrX%L3jS#K=XZ%{qV04#9ELdh_zCcL_W4qDzJ(VE& z9`mG4&OA)r^6nzXyysMUJzV)_5r)y;|Iz5RXh(pHRsE{`NfSSQClIL~^x63)^}+-nf*s z(s1^~b2^9}c;^u*PaXclL?1k`a@RTx}ekqTPd!NZ)O>zX%K~Zqegrzb^mX=%{BdkCJt~b^LMA1oW!oeRFU! zjA6N5kZoj&7t|HN27R-`qJnB`Dc_{9C}Mgy7YG{7S_zBZSwe}emF&su5k!jWwXR{j z5}1v`1f~L0Q^df}r8D>nkBnM7&v`3Ir%!kPgscC~gZ>7HRn_UAuw`l*#Wgg0s3xQD zLrq?TwIGI0x-KkU{p&EpRo)}Z0$F>`)jp-S#U$D!9WS3z6;?}!QOnl*wfYKfYW$Pv zqI`?e%de`z)*rUd&1z&Dx^LY#^$p#=(R=H_Ie-5N#QTP?@#}282R4pkqZ-@U<&fKVlDrgqGtvmk^ydP%2l~yYzQBhv7if^!9hn(3FZpdj$u@SEPLq&Ig z!vNBMY*u|C2ybjh(-2E(D-iC==<8^1JTrcncg9y}?VIhFAbWH20rmVi#H~g#q+nly zpfMNACf@_vkFRz|mFRxgT?Uj1kZS&*9Mw6|5KaV*AN#S@KTwelc&d1BL|hnWJ7w63 zSrXhX^Yv~#QxpD4$}I`TDu#J7QiOI){y~=7K)WG{vj&)UVRusWHh*{UL_7$o$VHmA zZdf+}VFrjp3ZR!q7oqcr5QQ7{v9qZy^FB4wFe5{)*`y^yLg!Jdx1;7-ay@TB5T#Ci zJAB~BpTiBAb>R)*Vw%5gnCDLwc$Y%CVMdGKO-N>2*|3}7kL{Uq8?-^f>!Bjb8M zl1XnJtJ7$+_eSBy1c2?2MNQQxx`fy2Q|J$`> zy2f>U59_5EjjDiNpoiip7IJyeUj<5z(Z2+j@owpya@UEjV*djEHa_?Llj}ws!gD#+ z9YVXs7`}=UmZln$~Dkl+lmfittwP z$c(X?7iaA2*VT!_eo2c9bgr?XpDaL~^rTBnFM5yzh$ti8PRDNH)= z`SFXFeZ=t`=1|?O@?a}??Z4QeHycCpNj5Pro_vLw(qG*qnUxUElt6QV+->SD4 zuf1=iYDNUi{MA@pAgWuOhJL=tP~oUpi2Rm*evx$Q(sWep?v8e;Edxhlg?3-mvHwIv ze+5o>g-Y>_Y}rX&V4BSH-jvP-@`9W=x3WJH1U`8>dED|iW<=0BHp7%&S8BX<=p$9R z6so-3^V2i^ajr?1e7DBB5+%$aosAlD<-*xb+?>|nvgHW6l$aQm+oJq1U^BA(?)Okl zU2pAS?d`PZFpgz7<$8bFSsuy$-{}Xq*m2vmNFO;Qf6Sxg?4GK>bkboYp)b&+Gk$d! zz}r$Gor9@pKWF@(sU{{ri%Gr@-Qkf}XR< zLCYrVDkeG$udy#OJpa${MtbxIUUapD{8_7215sSSThDlh2LDO8(AG2bS~mS@)bi4G znJczsn1s8Y?}V_4p1eRC0@ZyDYVxuAyLOh<@ypry;HnFaM4i7~sloi6@9`|g!J7Br z)bj~=dfeq@o+yXj=0FHHQ+jOITEz_u5NF(l|CHS>y^DR7oAcNi$6mgEb#~#;b|ci) z*GOwz>ZUs*Z9y`XJJ zwFg}&G>eWd3V|!^2Y18}FS!i@NUn?}6T(f(H`AW-Bq`zS~ z;p`gt1~f83PBbXjoz}oC=)cz>!vlHF$C6qF=HDC40=aOIB#r7Wm((`{4@?I%&bZOl zrO@@~Yo?FH+-kp4Iy}|#={DOi;K^QyvzFd~LzKU5@;QrBAP>c_ z3Tk?{R`w3!t8qco*5SkI9;NE84}7XI^j~wN0D!>b{4xHiXr%)>Tnp>2B7@`}S+k-b zdS5Ypv+W$`e{r93e*K*`*{_Z#;u-mG2P%5#*5=#M2LYPBZLPwBbeNbIGISBb;g>^E zn>wN8NDTQsRxX9gcyP-&-TTFh=>Rvw}H7C)AkX!VHq1%q;>ujS!((b4i)R`ORnOy?FKNcC-=&3!<}W@?&A ztl&tn@zx`Mhe2!~H?b3_G066%Po_6J_EO-O*rL--Z5UG;5~;g|5q(*OXx9xJ`Jo#W zGn#cs+{o68<;NioZFoX|I&}&p$VNuDb1tb9V6c|~3)-DmF4Z?pxsw- z51BdSs+UXbGJTy%dmz}m*iE@7?d^|k#VI+(%~qv>h3DguNII5b?>(jFq%ZRZAQ3;Q zDTeFctvUCU(2WAm^+wC0Q&$5<`NNKkMbyjAH0cwmL!W49 zZl!vnX#ap2xW&cw&Z49-m?bF}Qc?}eH>-d@IrKiTEe^f$+^1$GuKt7CO})dn-$ckf zcYAG$V%1{@CsVOHl}N1;dT|I*c7SJ*5B}^t8rnq#^6U44*hdwHrtRW z;OYh>YOjXrKE&;jdsFS~HWp??F6^IW^43g&ta0 zU4#ahZ0)5&KKoOI31HA188&$#{O@+ZdKqZ)iJ!w(OP^X<{@ESWJLKEvx4UWoEpP;W zH3sJXKpNYi3Vknc=$6g(3O8Jh>5 z#a#}BJ2B}=v@PgD5joFs{j{ZH zqF3#se;iBzEJoR_#z6w$R>faQf=In}c}q`W)jRPNzK-5?Wui%qR(&buX&rXycLS#< z)P3Dn3^jIsZ;Or0fSIzrVeSb$bDl5U9)0+HQh4i8rwII7gmuVB+I*hJA^j{q;(0;y z^XnAiT~Ju)Yoo8HJ(w;to{gD{60_~Fzw^cI_S;V{${)WS+|~F{YTJulx^mP_J%~2( zN%P5LykrL$6fCBksZCr_W7uKDI-{uZ(F0!!ydCHpjU(w+e}BPLR#SPu(PY_YJ+TCl zao~P&9ET&_ao0&sNbW(REVwlku5;1G0e(2eCs*2;L*Y%x0m^ce?8tF^Ul4XR6gmNK za5?5}oy*DG+LvEYNph<19oVz4I=!_K%!U7cwECrBe2rX_sAjohJL~Q>QSxM9vj)R< z8>N{Oj?;x0y4X)$aq)0=_M=5xIa3(X%qz|hr4UB99Xz3W%I>V#X70AEwIQj_=BSnBt;ggCnVl}392)XNKcFvT>~L$r{nEVS zzpaa`u!GG9>fv?ai{q@X3YLIGDR1l9B zZ$BrOjEcb)t@(}mbDt!S>Vnp))g{qq2@@6`?idpc=>D!?4r$CmGl(G|M0p_M7%i^c zd)Uo^Jt-7FYJ32SZ~4*}2=x!WFc5%#ua|??`$%OoGyH+t_-Q2SBbl;UkgovdsE7i< zRZs-(rhvi)z~UmDtg0nq24PNi7OXObWR}zr;AdXo0@CC0;avt@Puqwr*)PHUX;NSg z`vTCSEa9OFQw?=;`=!1+bdjALvwakRG~fyZ+m6 zz1MAhL~R>zm=Vd*cB^K?=ojoGQKDAm1}YJr&5$Dj49yf#))|M?5+#^djE?9 zwmV?YpeI2e1#&DVYhA^l+TqU6`#wfc%1~^O9F)#v?`!eb71g2tV2@E!oPj!-8X&HF zr*we37K#qfM`RfxZ^r}^dCj8<55XkC(^J+w>oGWX~1x7^v!U-~L3(TCn zSWG^GbDcZgxe)%c-}ylUA}O9UPR^RIO0{_pGn?95m_3s?gu)gLM;S2`k^dz)hF=mK zxq8tWmN)OH(JV0N+szx_ zlUt_r^mV+!-1Qod^&YfLY%Fy=YfgT{B0BMi0cZ>^U ztF*DMi5S|$dlQ$-O9pi}4rnI}pB^yKD%e|p_6NTC$;Jy(_IcNPs6pUcU1}F*)$U?v zHJ_on7vtQclB8PM({>BhR$9o>n-{asxMV-zE_Jh9TNogZz`M24H9XWi@wRn{CBb4n zuZ&PtnHi3QlE)i~Lem#7s+ZO3Wd4%9s7ppe=#PC?0%n=}*VFab(Yst{Bx}E$$HTit z6@OK?sWjQ)hMo!|B(1xr_E*|V9JnfE(D6{*=D-mg*Z#ZtyYQhbx=2`Jk+il1-lYjQ z?LXmV>(+tI+G5fML+RN(he=D@U&n>PU3u+l0j~kOj+QGR2-kGd>4Q4K!_q?j7xcM3 z32qn`ix@eX>xqo&h^(ufY+f|J(Or($DyW>z#zxMrz7=p&Y85*($A;Z>c|jvDGvc&V z>*k9LxnL?3%%f+BS}tT2T#ATMM)<%5W;OIqRMrf-=ujo+z`ai}a7kkQl0Ha%k=mZt zbTsIy8XJV6h7nWb6RTNtE_ramGtI<+4NEyl44Y(0R6uvz-v{je#kFIsJ)fvQV9eM+ zTYFj-lm8Z1&4wFrdy52u(|O<2pqu_H8775@t()j2A@(*WQ^MbLp4hL~HmqDgYjbJ-6f>%SzlKAwu*Nr5ku|Z98 z*nNhgaWy~YjaWrY-zqX(a~PGhWF_-tS3~VD`GC15cQ=Pz{5=3lO^OzH9R3+!1lRny zA1GstB6?5*{)VnJ+AwxnE?} z$-FIt2NE1mJym9S_t5*Q$}d|+0kahFiLo6>(@#X`?$;3x%H-NoyK(LlL%q(+^a%at&!dlG*mOh)z?qUIvZ zXgq=>90r8pzG#yhg^APbuF?F2%g&If8$;=m+CeCT8jsq;w-E%6Gm=x?qOI84B_;c8 zWFD_sMkcu>t)n#MQaD3W_GZeLUi-C%vhG)eB8{sQi$p}qnv2fO-5;F3p3S?}uBjV1 zTT+SB$lM;@uqk;29@EEdY9Q1uF3oEV-YqUd9IiR!*|Hm(NYa9%Pl?Fbsh32Z26(^U zIw9fqPko0vPS1KKFKw`R1y%TMRL2hO90Jg`gH++X2v=U=?l<5hz5}b2hji#lK{ZwZrsg-g^aN(6!VJMZ({$~Olq*du_epY3XkH1mt>ng1Gu zdqXH*dN0%J1nrxTZRnOsQE$_;e?rN+L@g$S?#Od(v&6Rg(yGQ3)E*?M>D^}%M(=g4 zD_3?q4{vjC#(T0k+a(5Ow4?8U6G{3!3nhjY8y6G9Dq_X?0xmuxjQYBHB7aW@iKWhy zz2rnD_vbvD7v?eG9K6B?U^+$iB!p7?O0G@V|6IJQhpTXw?!Z30LgHA@4j3Kj-5U3ADnrt0~d20qB()Y#ORr=m>u zoo`{45`p(vdW?Eb_%!Dnx0KWa0Qi`++Xdu$$HWn(doc{7=I1H+dx4I!R)f=5k+daR zzJB7zFyXfmH_ilaqf`Ds#LJ!$dGSP;MwJRM84yVcIBiHeFXsl z3FJO_ z2Dw`)2rZRQ?qE=EDN8lwI^koX^iX%9XK4Z+;l7Oj!bjz0t&>eOX~H@m?%O(+ylJH@ znQnymVa%%!Z#RWEtqx}n_X#MV#5RQssv2yLU;%yj!>i4IxAhOpuPA?rQH&59!mTG3 z>3vTn-_8Dzi~80#lGkX8n8f*eyn>yv?>{4`yg&V;7WeK7^to6@IE|0m)ljeB#I%fm zPG8I(b{EM=0|m82UN}s8K$OD718aP#VUi&b5(~6t zYi&zCXVZVjlG6a0>NYOOR{6H>ljnp+g1o#>0dM5!y}dc!?owk8?uw*-+f5*Wf?M7VnA`^Jij32W%`@=x9|ldj%v_!c96rNXML7!k#t`@Zm&_{V#xA07Lz+_=?y zQzGku*#p*F*OLrhJp1!G71UWygcmO&MSROPlouSNTRVJ%G4KW7gy0%yBn&nJ)4D8< zc@x43dZU+3VZNIz3ZSE`8eg+O_a415o7j{7X%359&YzTL0>1`2bFM6YOq6mI`WMOg z8^PxIqfyp)=RkL*H?4o0T36Ibb)`iwg2w7f(4{I*w$9=0#^X;$T^Gbu8NnQuJK@~f z)JjnqTGDVQn9jh;KW90HDTXtqh6~z}Sn!hmrSOe)CCbt`NZg7=sc0vFaJzz_p~?Co%2P{YjbX8P=jxI9qDarBQ*LZ7D(I$&S&Zak$+)wJ)QW}l6|YW| z?*HzTOQn4jJ+f7>G5PG_kVO?Fc=TFRpi-p6^|KwS0J{xhM%?>3=a#azDRvJ#1?^Mv zSJkF#FpW?1G=9Hk+UHnih}cTf?!!BOQej+s<|DrtdvceW?AK5RwLLMCwFo=vh#BM zK*Sebq5YwUarl($z5k3X|0`ih?f5-~VfT@$&i<~|Y5vro8@b05MOwS=bmTjh@&9IyP_jU8Xos?H6N8pS-Ci_hy| zjR;TIjP?_>V%q_=#H+-^j?b?w*XCFE&4{bgxU*a}q!s8+7w&x*2tF>8q z_lHAS){B71C2RPL)v(z3#}3s+c1snfikwY)C&3ErHAIo{xmrvxuDlL4-xwTqJ~Hxd zWX7_I;e@0J1QK4z{K`S;i6m{h6uU%lCDNhY77l3a^78i-`G?FhI_v}Et1z_mB%_>O zRclZ0#Fb=P^dll$+dal8ghy?M3;Qe0&2*mG9lV#rND!{dUmYU~ONnC4&u=^k^!a)g z{ll^fR`H*$#yz{Fsp*;XtCQ;$N0ogij-8Ffpw9;YZIGhf{2jiZs?RCw<@Jea>>bhi zBN4ZDa>LLBc+pE(1m-8TWIY2!xRJO^V`YH3{*D^uIp6e&t5C*OX(?33;k^G&wdqDQ z+@=WEl7BE}1G1E`Ge%b{h~z8qfX!-ju`1|~`MzIV1l4}8*=*BbwKPJ6z^AM~8J|DS z%}#RWBuRSH9Ot(l>UY8QV8u7dyty+9`SZ~lUI9VRioLe2zvT~zx zo(E{B`8n;P6=1l3<^;t zvq$-cbW~9U4nE~vycAH-3Xco-yc<~7_`ylcmn6H0S$E#|A+^be>!=#pfSB^$;lfSM zCtq(O@c^yv%%BgC@Taae5u%PFQ_Ez*U%xv+QGa>y;@`oXZ+#dAV0eV1F=MZ1N;A#+ z>(-pl_~-yaWoy?S>{rk;a(ruJa(EoJd#&2G{pdGvpQXV}NxNNbbJ*};Lc>Kx8?TC* zV0XOTZ{aZbCP;e3j3WEBKrDbO`E!o6?2|)Aal;)dqbQx(*8B;dWEaIt=EPq*$+zk#5moLw!Nw(XF2XRhDIFCr6N6l}0 z4tD_axXy=XXyIY~S7LVI3Qc^6fX0k0u3MsG5c}`d$Y;AyzQ-G6Dw71ttyJzwQJX2 zAyu11t(XxtB32MYLgeRje2@SC?sXj3jqA?!I$!5`J|B;-{M>r}p5`fyqa(xb-)&S> zf5{NU+Lmaa?h|i-pBi>K-%xSX@c(ONU!y$>*MD%NA}uxZg=0h35M)~r7+gAW(qd#G zPvbWgF>YGp&jl^=8@VUk*`4N^vr=;d<^DVTCE|+&Dn?VuKF8j((39(hQSD!uo4F&t z%Z#B911pwYT#=g&g47!OWbGUM=8wot`k7nc4~)y84c6s__ZJg!xR^hz{{^yA#^4df0zzbdps~AD#4-jVT%x%XnUFkj2*skj<$HtYt7o5f{R#TI^4vw7kX{ zTK!v!ewSzMF|{}T>U{L~yw4(k7I*rpmo=r z`p4vEH+IL|sYOmsE{3JSavgsZny;PpFm&Qx;_HC`*hQN>5i7m!Nx|wZ-DV*vF$s_zk0)e+pKFakVN!5 ztN-zxab?K+{Fbi()F3a!>;c=w%&1=Pz>026{-4lODl^*t7@Kh0FSatTFk~?wT;6UQ zXYTH8X!YNSLvS=yba~U(KyjHjP(ExD44(^IkVbRD&j*g-d(8x;4jhPrqf)Z|y}VO$ zJZ}81CMEB)^iGxE5-mXvY2S)Fh%l|JYuN(X9_}fdg@D;@o`6}VhJyuV6*}+qT2^!pK%P~G?_&Qs=K=_`T0=}s0akHeIjE04Inwh(l9*3MyLa-E9)VZS=@zO zTEN}00)>bDn^g^Rt|f(ZbSI?d{_twobLovoE5t6q?CWfrJzI`OFUDE+{_=??&rW2{ zC@x?Yc68=w<^j;$gO-YB6lwxE^L+!j9`WR6UyA%>n@?{dAbTRZlzI7=C5j5JkfpsL7gXf$k8`u~7|A!){aH~P1s1ER@unXy^+AGiY@ zxn%+L^w&RF(;5l68(mL0`@sD1xw61h@7G2j`(;9(QQ!Ie`O`Mz?d!fsk&oI_t%Zz# zTjRB#-dolHgZJp1&+kG(5g1g^Wg)z^wN>+TkKZ{^GBZUsOvcHC+GOQ|{u1n@;T*pY zW#6O3p1nAL3KaLqoh}O^#n8CcTG+9Yl`0+EyT}LS>Pv+MtmV|}1;Sj6^HEazm)%I# zabABaK+LPl;ruwh$f%ot5WsH7#Z@CKyY}5_^?N1Z+zCrT%mJ?7&l88m4~*ApKcg|D zX}&~P-=C$QxfC0l>|dV4owTx1xXZSucO6gF6=Zb$<*KIr{BbCsJRpab1t1-e%TRDf z=?3y{k1zP_Svrn|6piHr=+pju_TjiEqx@WbnBo%MY$v+O>aJ!hK|6&d14KHQJHH&B z`M@Uac!M<%c~@8=gq{&Qw%{v^ta;Sg#@&3oWSiq!I>?00g}<-=@a~$XgxZPJ)AeS* z>#kQ43xwr4_~=Vx9@O#E9I*#8I_^h4t}%@^?2#YmPK!Ynw1{73T0(q*nKTk(_N}8Gc~=xlrsE2hr{khtXa3>Mo_s08v^wt(wVulLvM`*GiNfV6d+aKcGuOS@gbd zu5{5Ym@&^l602zVIY3@ts(O2bhU6{4dll_VYNpoPYPlDLD1*yXU z3E`cOpM4sxx8Y3R{^?^B?ft8E-R@zzahqxW{{7p(vo~z>72(dr>#lh?kpy}D0hW#f;ruP}mEw-UTe{~=H#dv}{y4w={WeM@t z_gxASkMz^Nh!;`XNX~UB2`J7@^QQVRg=3?Ca(|yla0yy&BwT!QH0Z{XIeDilkPi7 zbjTZkNWbg4vgjtDnlpWT@w=DQ`MO?WVty)qTQ!9lnd6PKyq!-I}JRci}m3Ww4xstLcX>O z9wz_QK&z#N%q*I|EmPA%)4gEDiC~4Yy9V@rl=$ktI=<2(0&ha-Wgd(>rX^P`)zBatBQ^p)=9=mGf0%^9P8oKMQU4Q82Y5NH>p#>2QLlm`6D z*Z7{y(f{0S>DC8!$oneGrslj#7t6f zTz`%Os3-(j4-emyinG7kL9Mf4)k~Q}YaWB++N?ixw&nWshTAsve_hpBU_LMld7j+# zwWzzlBKxvco!F+L@00$cx<4m0w9#25X( zp7UO+R`lhR{PJJs|6*8^AoL$=)ukzT&VxW3j|S|`NuRsRpKQRAf08qLKxhQI#jdS?UGHB6Xu0vt>hB1Y^B!wOTx68X zDE@Io{9)CX9KG*ngU9Z8=lxbhZ0`(&4 zOTB!C<_6d8<~2|a)neQ~l5ydQ;;`79cY2?sr&RO0)eo|XC7Sa{+_ur!Q+Pm8`h`;!Pj)J0@t-EAa zGF%@Ui);Phn=2p&em~nf^Dy6wJ!FLYx1yX;yu<`a<=0@QRVIaw{Ty zcfCCFKvK35@x_89;Tq%ROkB2g^?6j=pQZV`{6EM` zl`wcCWedG=<il&4L-fQ-nRd0BY3k%zV5Z`AMoLjn_xF&iZjn++$X{l z$olXPJ!pa9aPhu^JSKFD+rh48@@OHyLg37{Oll`c0~@{0GM)~NYgWs4yKe9EQ#T-Z zoo7+cVVH2-UiKzoGTq}TzVZRM%z%WM)%zWA+UZ7>RP}YE1C#Dye|FgcpIywD9A?Vfl6@{$i z(Y~N5lAfmaSjG_MWIb1brJo(-#)NWF#w`7Zo*U!WWZANNsq||DjbX@N$NZ;E0@ZB;>K@W&^lb+XnS?yXlyv4YVFE5sW zwygs$e@AO-*W=$EddDiQxMxyp^l(dXvp{Z)143U&AH^tcUgiBwKh78!N9B8C^uvOk zy@3B{#*X%i{4C$AUh_<4w!P?7^na~4oO>a@a^duXuUhK1i3_QQ_q!91u~ zgnc?HGOEk|`eI6~q%A$~?{@tU={&XSb|U9LDyZ9q#8| z7duX%>-@)!yJpbbviikqq+UV@SCQH{=Z9OrGoQXlA7h7h(@>(tZwuEl1mTqdrM)xy z@7e7565d_Yox$<(`|7uk`mXYFMWpt82WFn{&A7x$sAj-y(X1hv+p@{aCW4}H zNT+!nwZMDkCi>7`jn3Nl19k$+)yH36pOC*pEb+iw!~6WW+RX*6^vL|92Ib;Q^8iQB z&9T)iiMy;0ffX|zVxGIX447VtO+ehUrX5QraYjpr?n(LiV3a8M0rJR-0r|Vl;%+Hk zE3@<+%5b}~d&a@Gy6vt#*O6fs{}GwGm5SbS*}coU?3~dzZEIn1jw$rFbKU)`^^&oZ zXkY9Om9z;>DEcA%J%D0>>PJ<{Y4zlsjkO~(b&rE35T;k z;&yDCd2s>Lw&c1l$1Kl<$a!syq{IW(vwq%v$#CZU9;V-_#Res>^Qm z806yXyfgX82W9)stMcBYXUM`#2FV4SXsmSl;T+dc=M(vc1ndO(zzl-9_7E{*ydxSR zHnfx|K%+S2HQ50XiOf?r4Z~9JPPg>1@AGm224E|`Pj_emSR$=F^$FyL1Ydt|i7%rS zgYfTqUq!wmGFZ+&;DMukvWkAlKyTJphXDAO&XE<_b@Q&bz8}{RsnsXpJPGNeFYK9g zAeDAMwz795B@ATws{#dT16d$o$88pKd5=JYkW?A-(4EeXE2WCrdJ`STMPnV^zeO{t zCa04Orz6>nBC0$o>^qegd}8F@Y4}5)7uhcO`*@SY)H(l}9R)y5T-eI}^s^_PjH-|T z`=~V*eI+qN${T}j3#G{KvG`yOSJv(i@H*hr=W?f?3{n@^+MhMpk(}Oy?xm4^coADG z7ISiz38_yOwDN|qm-!YKEWHG+*4MXBct^#Qz7CJ`%cdmePQh>go_7E_yByb-yeRRY z!EV&}ywW8o8B|JN_@Z-+aowR-;?w;US8{Z}Cgk{-K>##a4 zJegE!ZJy7WKMDM}%DtXu4X#~4bba?c&e6oE2mBB|DZwG!O>5voZ=8tlD&F)rWLD3K zsnXvUR+@jC(b)B%LU7$!7_rMnyl7iHA|B{mzVx-!!Nj_-v&^i}=4X+Cr2!dg>(JH+ zwh27@b7GOf(IB(n9P%#zNe8C2Y>vM)zE1k5v754VM{8#=D$w75nh-qG^r*W5#k<%N zyb%~kQoJ1KYk?ywN0Qwdi`17p6qeqaHnudZ1us}y5m}Ow_QFyd6i(DD8;TS{ymcmm zS^A}w=J&RrDs{O*KMaBdBR;w~r%ujgcAB;e_9Dph(IG&j(~6dLJrRHc;MDP;Yy?pPgBhkRR1h4!ZVvK zD`MxrFw0-f_#cHay302C`6$c(BGarEcpgn12PFi5D8{rdr>^GhAtEBZ%Luo-2TBQP z z;ZDOUGg6bXaB`8V@nPYiWjZ4Rz(lXg8i^UKif9*2NzfBj6jYFsuat!YM4A{Y63BDk zw=R9=s?MOa6{JpRkk*1}jnGKTLd)Ngc*^9k`2rZ27ajj=8dINMZyQ!Na3PElTRy*; z{d>-QKLwW#P^}?OUy|>6_ny2zjV02J=wT_ROKn9|eXsE5}P_by;GU&eg$A9dimlLUscK2a$~pE};E^ zOg+T;gZPz)!FQN1nDI-V_f$6&4_|-p{(G*yu^_QLKV-fikcFE#&)P73+Wmp(NvXP! z$qsdfCI1H%!yjbj&zuj~I>XAGBGRoJ(5jN%Gn=BPgY?cTH4e?0$#dt>4T!YTsH&2| zaW$*#G#+s1fMoxDUT>C3+!P#o;R*Z4FWVCM6|oeK=2#8Yyx5aG?8p`jau*0EZY;>! zUaW_F9Lq#p6f6IktvY{3oElpO`w09Kz+$uNYXC+%wB>iDcXMA_T747 zA@ljOHnJumw#)uY|Il!9oUKW0YkS{aQp z8EX&ZYI(n2zbSODla`sw;Koaf9us||f;*ZIOBnuBe@Pqu!|0`&KuoffS@j+NDT~i( zkG$Aj)s1cqAj_L_E%YDRl{7VdoFQ?MC=Ha{u)}w$O8D$0pYA2{NzRhWCE=3jyO-3F8AGwVnMn`5<{TB@Lx<)qV9dFq7;WLpR8G6}OlA-eQc$#& z48Tv-&?iLmrS>Q$xI8hV>(|U{cnW`Or_6Pw9rD7J5LCyxLlt=`F2wXW?+cyM%~ChV z04_Jb`0c37N?eA?9Ib|j2F>rZ!~upqn!X&H%%td7<1|K5cl6iKeQr4VqMZ_Ow~8ax zL+>3rL3%g`1?jbA#0_B#zK^!GO@_hjuJNQ7Dc>MsXf}UP4>8T}()659CmvNYfz{au zV}m8-2R6g24wqzXyYB0CZIoXd)ckg5Xhe~%Bu>)qI@gs@H}CjqmoN-+ZMERjD!{3L zV-0faG?RRrd<7fXlYs_d@{?mCFWvGB-%a7z4PE_zy zSRmGm(=19&kDf;DcHShstVApRJ{z7+%u?8Eiz74W;ak`F*zjn7wnOz&-H4=<3NFvd z{v$TM7eIt^hUSMx62oEf8?unb+az3UeXL@katW?@l(4I`pb<@snD1l;m%izu&akZU z*NLmh997FutNG1ke^pH`q`pnNZFS(wXYgYnqS+=Kb@*l>%>yVLc(u(DK8*qbi2q2B z6S`X3TXuI9n?W~*U#J!)heLMdln0!KlkJ@bL307ApH(c0y#)N_4!qH0@}KREiJ)-) zR9WXy6HXKF#~>@Yo%plFlS&<;!Hq*vaTBQ7da)*=?}6>wuQR#P3~S8&N33oI^0I`$ zYO}V&ks`X(Z2?1aDNMl<+rQs7GVNhc%1#Mb`Fhm)CC{e*Y* zN)alvzYL1*R${(+CX$`4SRN{A=R0Ytdg(e6+Q-^mN*#WDuB@Kj~kLSIS_>h9Cd(&hnF0hZIqY;@(|fDJ|o zho8_B*bMg^=k|XGgcjy6s)anKqynFAPi8nSszs(kg&aP^{uwp#ml0H^<;Ys3^%uuF zsuxTc@~k_y9?GurZGC)IBh=aIS>$(Mpy{QW(l!PvtQ_B_4 z!AN7kr?sbE{YtvIkH4*)>E#mM6b%l1oHETV&wz?(S05P^2C#1h7~~4Xw7co&N%-ed zjSYaaBHs-yRi__u{gEH2nFV5iO;?2;|@MxEoofkv)9YF><&2B!s|$MHT1!!<3?8zuGHoL6d!6Y6ca;dj@M2Q1R6X z=cs})o|SVI4qQ~tSFsKGNWo?cEKmBuVylg>uJ@J4urVvZBaF(dirtgo3F6tW0QjcpCRR zt$uxlRDN~4G1dxV8x)~u+_p+K+I~?sEp{qXQWLVn)}JAHoN4m$gvY0@UQIklm88IL zr0Ot#GjH-qwF7VfdBEb!+lnMA>F*)satP+Z$?|+TPv(eZsp`M^*sJXvR@IVAuxd~b_CiVsxmo^exM4!E%K%RkcTPCbi0%W&z5 z*muB?>GC+m6(fP;kwuA^??ubc^XoHao@pJXJw_bzU=v7;n4qi;k4$`EjT-szLTa(E z%viVxYGzUkEytaZbcNR|F#YG>j+O7nL zl*NJRM(r`SA#9ZtRxmqdrxcF`}fI3r`;nl zgBaqq{+GOWa1`(O^Q@;v%UMNGjBDOEjSI^4nGQ9VX`ShnR`JAeK6Pu#m8&$IKWpv3 zMuTlRi4A$%Xv-ABjW*d*$lsrG<{m5m2G9Pcj*(i;mL0+ef^nv3jzkEhBZskHOK%EG zM8{41{XRGlne5?3R$Cp^4puVpI5DXnK|Pu6NcR;OZ#H$u8M}AKfojdd9{!O5Tc6l; zEIRGlSC5ePjeqgqZXRjfAtH76dHJVH|4cEv2<@tp|6csMe{fdeE6nkaDa=;iGq0Ch z06uglqsyZaS6=3BC>}xZBtzVXY{bkLJox%}JktI3EG_OTO~IXTw|;Z;!I$aB)IQSm zhNo{@g6Sx|e1#Fi$6`)UQ}JBc@`w}?E6A`ggz*9#B#m-Utbc_dA9d~9{_Nr%)8v#X zt?rT=%ETC8YYh}xFt5r@-AS8OlJCzt>r4#A!pba*CF7(kTGq;uXAhcuJSPv^B&XKp z<@9|k@fRYiB6$ORBSy0gRE<8frk0n5nbfJpZ%T&jUFWGTt=awo%<@sco}z*@NwXB5FRw}U2cnx_kAOqB_w(=(q_9ENYZt8l=WY-2ot|bN zz~N%QkYm^GucbU=I5U`gx}!;5Pko2$nXFn5UGbxAq3o%4_VS5uZyq)_i3}P%q&D%a zHnE}~k$+KN-RG`UqHghshVJe5l=~SuwA%%B|K9muIegaH+0wE#LWOXtuk29u+dD(w zC`pdSqQ!iLH|Z=O^##nEqEM=WG>)*i_&93293Gi@p1>E&r% zEO&>@v&nRkL@4VKMmOTU_Fi3vR&RDD6KE%%?o;OpUgBQZ;4N)5;pOd~6mg+X7>)wI zMp`emtV1nGI5cCEcl%a!_&O(~RLIcnQWkF{3~;R1D=~kRUE-4kBfOumTF?0SyFhH) zaZ{lJC;RRFuyc9DtNomcK;Fu0@RGQRy@H#UC<`?um7ptLM{uY`MR*p;>&74iH zjt=m=WINYmnc=0{g?Zw-83V{&wuJQf{%<{)y+C-Alc>^5R^YjMg$5>~&lu|A zqifIx`)OMVKDyevo2OtB2xCgq;b6~}cHt%{q(uKM?pRzQGs?X516@s#(Z)nJ0vb3MhG zB4I+|`5X75mU-*#PX2Sbg=Z_>w-YOFZnHY7NC2i>y95JJuLJ^7HC-%FrVq5_cixQ^ zjZK1Y12qMw+ErP;#i&APkFPH>IIGF2{^ROlyF?A0(fl0gv=$-c_@mvi=5llX^Eiqx z*%6f0Y-)b8KpzfkdUol6i$yzQoj~I(#gK}Ej$zv*f8|q~HDs?RPr%5It^tvq^sVyz z{Y!wjOR~2PkTQi@}~HGJCW&zBb|&MW!AJ zPCt7abMtzMPmL8O9Tr?h5~rSMX)xqZ3r>hBnrY-SLT>U6#*{U$gKPY&DQA&oCgx zDxd{j?|y2m^)zjpIr~CF6YvGGo;K3haHY3Dnq4s=uO>}P-z42p1x-Y zBk&J+gr#n0-mq&f*Yp_cT2>?FuNZ85NBo!;znV8DH+=Qz_m-@|cd_5+yRi;U z%9YtSj-1F+wZB7_hdm!*o>}T&Z}b5TGLl}?lCzc&*M{R(2d@s#gF?rliH~<4A7wW{ zf`&EXt4TN&IKHSpmztH#R<)Qn(SwEMX5VZ@z) z#Bvo`^63VlF88r>i{iuTsqf<%TmKAPguE<*x`d5uT)c^jag{>4_UB zwj~jvv{n`GrppsIVu%?Ekq?3BxD=12DqLaVN#AWDuF865V*Id`f9h2I!C9gav>$#Q=vbi#p?304@j&UD!*z@II z_b}lZ?Y10lPqeIu0b&`8B4;~jwjp0)F1?eokfyYppVUU-Je zjV;r(Z7lRS`|>O@g+`m8MYj@k@WAQ)r?tZALiAG4Zl1F_&AiR%ar8~x%QEZxL+mB`i7JAW84e62K&;1Lj$Gg%1#SSy9plKRE}vQi}$3& z(mwrq?W=VH38LzE3{GlFIPZdl#SoAX_(F{e{Oq-=9}1=4(k&1oSSIXs$Cc4W2M;O{ zm(T%Sun#B169cyI^UqN~a1TGy2&pZp{hc|@j4rc#d=`J+8B8gSBt04PkeMy_Q<`ES z+#d*r%omfbMZ=U0y;N@zl_b3|UUssruLGQ;-M-#f=;lNNfdFD`3&CM2K`>h_b9aFD6 zF+Z_^zsmj7zheG}?Kw@I)~;CURgRdjBj_v8cabbZn-Lkx+(axR&)sz`r5>(9a!T@( z#lnLcLrWzYip&-W(m&$Y;=0&Unb>B5WB)0qi?{xvFgh*&z{68qd+$h{P@%U43s29j zm6ey9cS1Q~D>+)3$yu%1eU(f{Ic4~vohl+P-LQ-MJ5{`%D9{;b0G%HWdYJ!U(s~DE z?(Vb$^ayCMeuT=v8NBOjhuY?86TfhD*N4>+P2U9-b~|3Y4IS?un?CRD56F8#kr-uO zcRci3?CD5URsEv_yqoy&P?CmGx~>bfWd68rN+>(iF#JBbSTvrm(oH z+|k(NQY=tmdp2wAM8}88`jJ=)Z)Y~#JUsOxwa<<%V9ovFS0Z92>*>wX1@6$~jupA(caF-cBYv0s2Q7_{b-$ZaJM?>IZl>zB&66!x_G zvzM(Kmr6a`RJM@^#{DOrf#XS7FWr3=D}t}y`>=*R#rG7d%$?rZ;D|376-`a2#ntvU z`u+cv%F237p1iN_%Qz@3x9?7ZuBji~o&%wbHC99~BsOre2bsx<;=Y$G{zBks5#mkc z8AsiV2zm$6-F1Q}^%?9oQ76BINC{U|2R0k9yozeME2yekj`weZ!*dl4gCBr-MZfOa z{J{IBO!O&Mo+e@xSKlO57%Abz@p<~9S?2DCm1oO|*zfCcVY5d`hu^X1U5*KO0_Vw` zmB(P?Ynt{H>oQf#NvjM+PSND!BBbW#Gb0Y5!>CjR)IEy|j^MS%$gvQgb^IAH0Sz2@MR;2?bh3uAE*=|pxu=#HVV zOPw73x3;Q}>2dRAc)2Of-^m`*o%&7$H6S;HKu3lQG@{N~zYxY4E%f@EKWGZ>M*LCI zGb|Yr^0EQMKWq@)y@k8S(c)U6JiIR^apNio*!-F-&dE;I=`d$Kk{6=tU4-*0iQ9<_ z+SDp3w%E4X=CQ$;scer1VuK|6_v`SIv&MFUrp007Q@V{PxMXeQ;)27$BCpOksd+N=Z6vn?+B)LKX{sYE ztVciNGYphinRYTc?-PWIdpy&wV|d}$RFAoN_P`v`$t}0m<-xFeyMSMWD$xP>ZO(x3 zM2wzdx%ePIJ@E5Ex2^WcInE_#=9Fgs{vd`uO_c{v(h7A4_C5_nB@zYYaeDt#83^bY zD9#dFiFd#bJ2_`|X?O}N|9JRLq(}VS@7D_XDm?!GC3Jt2Y4$!`nC*tb_2-&G?6qT;6lX@v@hz+w_Enk_QG&brJOK0RQO2_=#3hcEA97a&o3n;WqlEgXdQhz z_(X%sGYx%~&(pdOHyPn{=>_*)S+t&|KvS6yr-9v*X1fjEd|Zr={3C@lX}E<3=4^jP z0EE;_YFz}qU-YTMc&vObC&*RZxg4+O6%qt1d+uI>-8|~(&iNLp`=fYaY>&#K=Ir<~ zX~n3F(T^m!7q3JV$c~I>=oZ{Py&Fsu065;YZxvv8wbj*T$CFuj;$yt<;&{|gpGM#c zZ%;2;vX1kd`urtA=aMJv>nj7Dq*^zdE^`}=0Jg%h?I+!aO)PG|Qar~TOh%pkUe;() zfXl?2R#(LU)9$L)1i$~hoImdyeg(C<$YntOD6)7+ym)* z(_{XHvTm_Pe`?L6ckijbM0hE0U_H`U*4>mTe3`5f3=ySZ>6tmJy4}12&Q|Kq;kIdu zciy!CWXyt^@E8D77O$0*3oUDq&Yzmeirl)=9%F6?G^2vgoaMBj3KBO`*16HoT}~8i zyqcyujh{;R5MOU3o=j7-gB$z#kOY|eWx#-Nqm>sgO@GwOw@a_yO3<}~?rFKmj=a+; z-i;ozyV3eL%g63a{Z~GJ`6XGm1bWY?w0}RqNo-!Dq~_#8H-3c>`f6uMtLw$W)}}ko zu-SZdE5EGq9{$g}YPD4*3Dyx`2TeQB(l^=nVJ~1KcB;XGw^lDzeggqptE14lS|>Y! z%%23api)vmYjlLueJqmR_hD-ml!mNi>(O+ro7Febm+a$9E82%+?jfUF&pOt@j@<+;=AU4kRxzT$)^uZn?d$avc z^~F2ubVn;;!(Cp_mJVtDzhiSKE9P&IHgwo!j+uJ4=8*9ck$Ab)v>a{P7skg6Jd#qx%TEm#xCJydfe^#nvrjOr5yVdu7220;!9s1bw z@80f53+MmrBm=TgC423!j#p(eYzS8;7gSOpIXyCb_HdA$Z3=_svHTYQG&z~PYwh*qOXV4ApzM#9An!yIWixfYRTDBbZCD{T z;fQsYMggE01Wn>pT<0v_+`YHOyc{Xu4;Qe#b? zojg9j?gDL0m*#(4bwXB%BYRgwIJV78PHe~R%mzt2kaxH}DnF63c|Go`$l@N>hde}v zb;*3V*_6V`>#$hc-xO3>Q^5~Vm;~P6O3iQZAInNc+PpaAcOQ&^H=1}H7sb!J{>1Qj zcs0n>Jm;J<`!HWw)c}Vsqh4Kxf+dEtY_@BBg5Rt>G|jbL)d33|f*+bJq*{^R{r31K zWP-qfS4LI6U;?=9t9dejkJ0d_{j@HaTM;g=X_jBVIpl99n7ht9No|j3*$xRxyb|S1 zfTfE~Tw!lNX>T;}zy@sg(35W5!vc``5efC4<^QoPgh;-PRB{n^E2Bp&Gt0)%*{QnH zNx{_mijD1Vnq7GXp>?GV91%2N-Tjiku5j!?l;3I}(f5AdX6CUkFOS|yc-OKM6*y}M zl9{VJa+3+dLI7Ce}26TINv3|Z&AbPOm^7912S(D8-@@w zx5=h8@#o&nc?75=u=zP*xAU{0$Eq1Q=s0rJ(m2L{*0RD+pH0REXo`Gcw52rl@)%t9 zbSNkj($2~s%+q)U3^N;NtD=#M>L_*#QdpSO&gr`tga3z+b&*w4N5~=P)~Ke$r-Dv3 zc85Uoy1TgxG?V|1R56cDd--0rjGxSEv_@EmMe|6%v`!xPlbSL@df@!TYv~CSE+1sY z)qip4bFN!S_((ht><#TtwGo@RfvUj{D0K{;tcLY$fBtVQ(qRnzDgKBJA+5~WJd-2c zGH(Mu1{mYQw7vj6i15mVtxIwnpJJKY+ck52Drg zNti~7(9(~SW1l<`F$wPYQL1{c8xbfq<(wXW_y(geB3I|g_ruoyye#>|Ldf>Ss9Xl| z^@<W^c$f>zbghBzS7I?^4ARa80+_$qqP&Fb6b6NGmmsI@x7PtNi(8u`I&oWwjgr zimeN`ApX|&HFG+OLdtoT7k}=fomgQ;=o0Y3{!p3F0-x3pt(qk*b`2dQ0OmiNEEA5o z`+YQE zshsj7mw^`0Xr+{fT)#Q=Bk_*|{HZdi5)oCKgEb~ml|c{YjNOAO8V;nB|HvQT1$$IL zHI@{Y%p*cRHCRn0Pm6D)>K28MWu08s)Q1pPYc630VH?(v<-A>Y%JQG>kL{G?q1T6< z$U6bJv*4RZ31ZDj$b7!Xq{H$_=xDy->iqp08gkZj{s38_Rwz)_w7aY3kkY$;%fj>5tC{C-DB51eO=!(mfVCBt$N z0`ukxA$^mDU6d-njHw5LaWk)^o6@ft9PKP5v<(MDFzAj8LL82q3XcOmJ=I{Br#Zjd zC|e#T7X!&$dnZ!Myt^|i-$=oAC2SAq*U)D79FAWg0%T@|#-!*LZ&`Q;q=k!6#AS_< zo^jAXnb|khv>efvJu-#4=@oj&_sz}cvJ}-Z{9_p{Q+?6I=TFY;?b`n76-(>BHkD`@ zmBunIVYn$JJ^lUXLWs|!ujN>E$_{eO?j`DgkN?l5>z~E^Kf&ApBFJUK&t*f3HIv(p zo{!=BeF>3}2lrw;R%l{%hFcsR)95^mMe3NIWVo$cyx02tW7DtXq5I8Kq260MF+A_C zP=#zpF_xRr{-cS#pui(*J8(#eOSv3zj|d0h!0;AAo<{0*UD}qIEW4}a)QRZc>(9A| zE6_n`NnfcgT`ELW7W())#U#r7vOG`^FpXJ`$>_O0er@qeY0LqMEIat$B0?X?Y(pOe z$-b=Y8SD7@Xq0;F$GLYc-$JSP=n%23{T?u%%L_z&LG6h@YcRuN35IA#Er0F&dN`XE z6BOW0-%SgWu?f-_=e|bU+hYpz+ixV1Zza&Z_}bc%A03NklDL*Y$JQe>4w(8Jq;?5$ zo{5R9Nb2T{zJ@m5?V@%_o>HcHW~#3Nj~l{T!`j`31*2iP-c zV^C%o?kU;~5+860OEbJDIDB|jcrx{w+s)%|+W+Q(EN|oD8Uc?hI#ldbX8|ZG4K)SQ zk>5HIgY))SB^Z%Rr*wkPq)^*hksk1Gc$^ zh_No_9g_}Z(?;$u%NlUkk%L23#_j=`CztNm)pIIk76F>al8FBY@IVj0sbDrZ8;k;9 z0bh{LSa#H!DHEPIp1qJnyJ(ZFj)1+AXD7Tni1IBb*S%UhWwk}Jd_!`34QvJLwDv~n z?V!f{K=R(G@hF@3buQa9CUu)nqW(5(yf)26Iqkr^Yrwf+qI5JsXQo#6k5qWe1fx zJ+sWJE)Oa}6{vCVtt@wAbWlGlyK4orzKmDQq3ziphXC`+v&ul4%*%Tn!2-P+ru z%(W|PhXGn^?-0MKokRQvH|V*uWKbuW%8imux%h_wx60D3ktboZPI9 z^)dZe|Ey$cde4Spov{28=m{FZ3EE@5_GkO4Qki$pRiR)@Rhrjq=$sJ!nLd(XSFPE` z?xH$dTeZr1?a$9y6N+uq+n~wX$hm!5d)sHujbr3Pv98iKlG9vXM^+kXduoqTS7t-u z+<6_FPAfv;Omu8VXEs)c)Y!Iut1C^dmA^|w*0m{Vrw#jM^lam2UBA8|`kwtmylYMj z@r>}!;dy9~j?G?8hn3n>h5K!CsC0F9zu2AS?-i4ojp60U_dPW~ZLcvD?4;I>**O&3 zj>*>KY>#4Q-v)DBh?io8L6^^XRjvB*k z%#BuoxAugz8CbZN4wmfZ89_};U52567GV?L+-G`jtnPSSTxmFBT~ z!t96d85i;X>MNPq*xe<&CO1c2DA+-RO0%=PD^1U)dz-f+Mc%bb-}8A_=9~<@ywl&- zLME~`E)o;f|b_*uC5WI%xZ-LvvD!hCNd>>o| zehq#Bet z^WLDgJQMWO=(l|t4As7`%pZT>tJ>N3AT-*AJ?;T-faPETSPB+`8Q?{56#F_1CgS)(HfV{XriE+kGa3k0NehwZ4 zGcz&9U`)W6dMLO+aSHwD(bNIB9nTX(jP>V*=vxmF-1liAp6i}q5|{(#hM3=YGsGB( zF;8U@VExrZCUb>KT-GME4cgUU=?+mR&3%+y6Icsz+Y8|w9zB<6Cy4$cCDlbEY&PGW4z zxVBXBWR2qKizT~e+2BNRjclFvOWi#XV$8z0o^c)XSYvfwM(8{o(D_~r7KE60xmohb z%eXHHG1l#)Sa_<_-JK!ER?IPtW_|^-SqJ8TmL#5I=8-N3bHI~ecM@%s`4~Dm>+pMt z&i{1X2a|Q?&lX?PJ@8$v;q)ZtZicDv9wW8!b-5c;cZ zR9#n3}>Zf|< zFlyAE>uO43{&Bq4HALexhr~R|dm-izwy9(s%=`jl{Xt1=w_PxQU^y=44VW`{B^2@l zmd|1Qy;JtdaV;;f(ZM#%PqjGKYaaHYjEBlrDMRK&ESFBhr4D*BX?%Dih^Ucz+WK}4RFYLJ{6vy`-^INLjT;3PASjXh){mDul?{q$@ zGF8VlTK*tCZ#Ffz^|!sz#w;eVIMw0=`fGJ+(@XVc>vhrt&w|C0okDRuL48+Hg%eVFC(dVG5QuBM8OUup1@G|vx3CEg|Iewf$8%@U< zr=$Jds92GSIv5UyfhFK5>enXG$C|D07QbcFEI&xb&r67U<;TJn!z2I`yp_c-^@%bucLpFiT>|<{9a~a9MT3p10N;P zPcH$V%1>k6F|J$vN>r9=oo({h=-0D;YZCoT`hSck*X#LwtYus%e6J{H`pA<*;k#%# z8nc(mP`FQXl6!+>ULK0$=l{ifA?8#p_GTPCQe*RXM*8G4edbFwXOrsB16PGYKHk2` zmjCkKP0J57gu)%|bMky11^T7-Ve7G&-`aA##mVvQu1h<1$M}0THu>$6_b^fOE1 z|6s>UH?*&XvfH1a?h?gdj1TyKS=wZ8l(RC?XW~BTAJH$Jf(d(wX<$CuT&DRBF{VN} z2uuP`W#af8^L*N>d}hXww_?2i0ssL2|D2h5kX6MM#{0hE&CHt(7=~q7oMGQan6N}y zXFw3qAd85if~X0>NKlXfY6JuqHZehiLJZ&%TmmjZLBSFN8iRsBBnm`CAb=GC3k`{s z(d7H;d|fn`H~itN`c>cFPM_XRcb~V+IkzBk?tPFAu0y;8{0LkMdMRE8E(1Nl6^ai6 zl}fu9bOEEl)!@fq7`PRj53U7wf>Q7k#Rr29s&@H@uDKkb`7MxMRp}9>(W3@fh;|nv zd<{JB`;(|zPV;pANtiyIuMwa+=zszhk@cwv;j7Np0q12T;-f)FFb3QQHh>dg3s?iT zLFNoF0b}zL!gdHpf%@PXeEX{`BO&)NE+t!tw3 z^K;cub4dO2rT3t7=$%NTH|w`S!YjxujcneAI6E^&b8IB{wsXj>mPRh;Ap?CL3c0Hy zTOUK6oim(6t_#k0q54TV-4(B+{<2*Pt*YJpH0|=dScimsv|9#7Cd|HYdoKi=@bMJq z0^d)94dA25?93mXodZ0R_B*rxv^{S*TNjl5cZGj;w(d)$Gsltpp|12URG6nQrTOE! z<(}ePw{@rYFxO!%^_{k`rpBP9>Q@$4Jr0edH0v7WZ_F@TeHXYM%m?41(AQuvzRMFf zKi_Z-YOTHrUPt`5V0L6@3hnM?;5?8A`hs5I4sanTi0sUyU0bfPdcfJfq<*!f*F?<& z*I}{7j<&0X%3cUAa<&G43MPXY&TJ;v#sHqEuo%1t4uN%G378Hhfva>zR)ChE1LzLwNjLHpbYBB@a;<<9;2`(_?9+D%%AG>^ z1XvE1f|)vV$AbYnZ>J^f?lloy3@+06aqM^}=%jVo473H!HO9xm+Jvp=TM~AktHHAz zR0nlI1~`Pd*#~xO-gqzIdQPg`7x?}>nAcaq3h@LGG zTNv3rk8`;TyzIl`w$0M893dFmp{vO0vYd#ih{;t$MAa|2;2Ve8>turji@0Q>X>bo|np9pHSl z29{``G_7*~d6QZDI+MZo%6FVNq*Vtcvdt{tn`0Q+y89aZOR{Lo`-489x!R(R z$7Daf&TNb8I5V;{k9nVKee)h%C$ja-ciSXq_j#`0`Czs}o~aX@-Dd}Bt@19%J3y(k z^Nnvqp3zUJKFjq~S*G6)7Jxa<-fO%=@cq)u*&Tv=;5O|MmYwEKzh8N#43?}boxNS} z12dhyUAW$tst((}LAr8}_0gVrP-VEER|~#PHi4&|y*0UCMoPwL^_lu|?@rg)43b{` z750(tmC|pB;QgSL#)Gz@o$63F_Z;^*Z3k`3R*mxnwL4t;^R3QvlJC~*)%S9>%X=8l zSiV=ee^+WO@6ebm(KqYgB>gH>hV#-}@~PYFnq!X7o6g=ed!!?ErT@X-|8G>g6>4{q z#%H|d#NWU8-r6hK?>js5*)P7CK618yYDKmVcy`|n#ziLc0+l@hjyT(IyeIQc&5(Dn zVtqGNSQ4c1{>3|7k<#i3)~}(tX{NZppRJAIF*EPto1qjbvgcR5d%pp2Br zR+tl{XT|Cy6{ce31Z`x+>ZOA8R7_rGEI%tq4`n9x9hM2}d7blOZ86MsXZ9&G=tn5i z-*rPB!!~?cW>7CP$P2@)SiTRFLH%T)W4ul($jb@pgl+r2c)gNo+RI8)FFqG>y+axC zxe3=$ysfaEaGa9v%=MFQE|V^OALHe+UHZPo<4Je6PI3K`E`6Wl^AWDq@H@VSyv$@3 zGUDx3Q<#xvOylF76U6ymtE(^^*OWq*r5}TKoHm8;KHk0P>!8i?eh+U~m`6L+)Sb3b z-cRG-jji2je@cnUbFXl3@hw%Zw8oNIsofefGT zW#tF?ey?XMUJ%Ig>7o2o8u@(^2$NQ>M3FfVQs!}H@@=S7$no;TUCdg<(K*mitg!+8kzNL*I9 zZ?a?gp4_0#_}LV%7hfOg0yB;qS>K)fTepbf&74J{{98WiA;k<w;_A&T980YN$`(=i`3HiQ15Sc$~uKX+O z6ZT)yCC=UoeVyI=d5`A3pLbQ>z3FG4sdUEuU7dGD-udZc;=TDA&Z|`dFUT`<_0USHyhl_z^WpnB=L ze{>S;jLc_8A1Zx#k$isRX1o^tG-9C%{3)9|Jdm1@g7NEPv`0)n|MM zcpMA@Z9%Epq0f|lRQ9JeXb2A#2|AYy&IO$N5d0TZ$Ny7k*Msd~4LA-qgBQSi zpdQ9#fgkW(A8mWk1vCW5&{yi5`wdtP_JH-^A@CA74DJF&;MX7q8iEd>9q10Suto>a z5tM;hU;>y4dV>bwc5ohJtD?Q^{JS5)Fv#$Kw0UT2f;Qk^`2Q~0%61(3=7X7-_h+yh z{0s(w2A~?)3yy$`AWh_;+=HOEwqOBR3*G<|!6~e_82nN81C`O22ae+T68IAQ2)2T^ zz)G+QtmFSujNO4Y1q_w>;C1Y~2+RYIfaPp!gEpWW7zz5ZtqXd9Rv-#)0EyrfclEG!{CT0k(k?U@4dehJ!hvFDStpkAf1c*BLYiT|fpHjWxP} zhCIt?jC&dV?}InNE}mm8WgQ3F(&pleUBNK=p{#oX{FP%%=?9{-Ac*iB>lqsoD`UZY z#);T&D!7||oB>(#K>?Tx)>0SZn>XNj6zB#V&bXg`u>sF(zya_LI0?>y^I!^i0!#)HM z*e~%2SyMr8FbfO>iIsfbcnr@UfUod>G&qRorJ#}66Kzw_0rUaG!FVtR%mGh;s3vPVkPzE!Ycoffb+}ETPRef>mI)QF_jKqGx-wP+fm-PA1c(0rQ-!pfg4S4xJ z;(NK1WRGLa+k3zc=JDl>zr|n)cm*tF|2nXVeLEPB5}$j)=e$d%aefKt$-Hp~bCTRG z1HhwTHrwgUn*%{#=H6SuZJ-yZ2MU>+G5fI-Y3BIhvCAI4pBzLoo_oUyqWEOS2J9p%0DIrtXr15Z1jGlw#74gwE?hrvL; zlmBzUcCdl%A}|H?;@$im_!?XwFK~>=@ELd=RA=tU;$2!BGy=KYUvmEuP(9%9;Su1T zpuZoao+t!gR4Kg2P@4DejQ=lnUGbAQ0cqr~YUJZ}UagYU%NjJE}h?_nku2LyfH zG?#JJ16&UHn(THE1K;9*Fz9paKX_)Tzjjj2jr8-w;7#CyK4#vgzkdQ&f)@k+o|QP6 zN8}v)zzUxKBG*l4E+`9nA8kwj8y@gA*1hy~sWrr3rM|e6e&3$HE$>rB9&p9^SdcN3 z0{(s!ol5+bF?PCxVlaw&EdoC{&o|DmCHJk|$A5CZj+DFn0N-z?-<<@Tz)tYI^KmD& zqSQfM!9Cn_Chc27@;EM?X9`koS^JD!$vj^^bydW9gLy8gH6+$!d`=GdIn~(L4s_-o zb*MX`C+8QjKPTX8-)!)c^SMKEPJhykYyOjUmekT8faA{Bsb7H2;4jp{71mxg!1s9m z3Y=w}o-^l@Jn&%NlpEc>1JjZ4&n$g+-z9`3{X z<7u;>IQA3g^XE>=yOrxLcmBI&HTw@y&Xd&HNsj#k=SnU4BnSt54qi+7L@!b+YhIQ) z<!Uo>(48%^XM2u6b&ov)j_Q(sSk8DNz2 zcSe8bzXL@c`F0pXxrgwb*jxPN@6_u>+FRl44AWa^JUP+{(9RGsa+Uz~_zYnKvYt$+wo|dGW8~^c%UO9t`?< z;uqqZa=(kui$99bi?42>FFfvioIFW?nCHB|E#MiZQl}5oM?^Qf=?}x{8(nDo-k>Mw z;rzYa3bdvVG`tPW@o?gY27Uu^#?Fqrz0Z}6L(|8^7qsKMtH{?Bv%-frRi_fRM9 zUq(NWZ~C#c_W=4yGjI!iLS(8Zdgs2)xo-)_52nn0ocFs)^pVNVe}_hmEIH2C6^*G| zi4mz+G?r%3{<79E?l1D{x18vps`E98)F$%%8s@XK4Jl(g>a7dq6PZR5iH}E|j|uU; zRnFH{V$-Fx_iN7Qt|7GN7}}tSc1d*p`$}T3n6?ugcjbSvXDQE7LRlJ9uk}HJ^WUol z)Q8BN4XV&y1+=s1OumVw{wn0&1++~A?j>?bZs^awBrn_ze#>?c?Ikj_p$v7XtLwRT zI(2v#rUj@=V{M1)UoJV{H!N!Aa<2_U*UX?5q&?$XNe>6 z!|BfF?pMIGlzj;0YR&!R3~hPl>zw!ZZ0b$UBKa(nayFrjYEWk#XoraNzF0&Z%0A-D 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

O+3xE-xi)=_Vv73cuE_h<~`9ywi83Y#B|OOq>X^ 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�=z`cG0>;d~B1q_jwZbZG4m6dp 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�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%0Ae<*Hw-dWA~M)V__V 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 QcalR2ZR~Wne|Ko%) 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 z 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�Wo>+mORQFK6$t3&h zrfu#<_@qCObO@fYuB<;A;MxXF*Uz-v{^`C+2UyxpE$+bPd~g3Z_`2f;_5T^wLZD+F zhxCO+@V%!MrpwI<}Uj$^5E_<%!N__@cGw5C*$Ll!?q*D>9I`x zAQ@^_fnMT1_Ye#YkDOv-C5BsZpxUfk<6 zcJ@9n4fQ^xohN5{*8qch_vQAf=OTB`^uT%{br6noPk%ejb9GBe-{Mz+0eDA|04=x{ z)uN%}fu7nR_Aw8qA;P{37yJ>;H{8cK@(uYSZ2O6RnZ(J+k`f$lF{?M_*K&8Q-Tt|b zDZBL@!yWK&&MC#gD`o|QL0t=laZZiA~p!;N@ z;QtDP{|^zE9EKMa6&5y9teHJ+OBVGqJ2fmk`Tr#X$roWhh7QK3qx>!}BtM<_|1huJ zN@phs7S|fIk+>RZ(H-P!L`_4vWq5nfG*6od5V*%*9}&~yki5CpzKSJPvFV2}k!21t z(E>;J>3jAcoLrFIfw(N(*9H8RVi6N~Q^s8KSv5`;vNe{B$8A-}U!6yW zA!Uxtyx44*9__8vWVkT2%a?6lh~G!%?(^q>YT>5yvASC)(!3tz15_=CXH{mCC(HwU zPu0CuS-gk!0g{Q3X1YnhV=iWbWyyh@n=fXu$L0+?DKY}7#1uv7)WyxxWw;;s_FZ z*X4gic+&OqX|B%AGOhG~q}TsNg3@}mgw@6Fedc=b@Nn3+`EWR8*@uAR10vXDD(>kB z*m*x-*3l^LweXGOkmmuf;5n22>_!8Jy;8m3<~SyE`||Y1ch{6+UvCH}X%H#8BwR&k zGLs4>*=~g9cmvs=Sa6uho?!4Ia{3Vs?~wR9YBSrKKSUwz5AR& zFGm?i*Iv?lJ`I-#1d{N+R)UuD=jE^Wl;TYOsfCXw?X#70*noNtZ6070z4PkknPrq~ zJhM$L%~2;0_S=dBE7gPfCM3O-3fKL3Tkd7SwHo7pA%ulMycguo0jfDDzB#D!&Gysd zt|QhKxb;z+Sm+%UhFQZRs%~=7pLSR`IA9|;dPicbkSN#$K{N5m;*Y;{d&+kljj2x) zWUCyL@#NT_^7;ib|I9gb%}K8_^)$U*%=dy4d_LugO~Y3jJZ8IPyc&w8rR*`foU4)=`?ACNJx{ds`@8OY&5)W4i+GX zWly9?pPy_EEXWO&7}e8+dZX4B?LfIkBoFq3oKs?gmE-Hd8A^{ZRR_j5{`$e0EV}X= z%D6|yeeWQzOgU>8B&brN;ze6zLbOShcAo~^>)wihcJNpXPo(~AIQWUg{a1Igm&$hD z%Zvu3)MKZD!wJ1~Ldr=e!BkrTsVm~`^jOiy+_e0v}R)_%{#Atty9~C0m)J%- zC{N4VBDxy*J!(jE=l#^=n;8hOy*w^Zc#=?o_tNx8D-ck{X|v*=?-}~Ht2@h36V5~k zaOb9SC+}?Xh53o04JWd5PX1N_)#B0+@_XVged}^_7(&x7OTE?eO@DI6CG_P4)W5rR z&Yuh>i3cL>bX|2gB*7~5Vrdl3_ALmH)jBz!U8i8{hFsOqP@3Cl811^;`kmYMKLp6)sf8$ zj?RQ1{mo_1CB4Rn6=75%rgXZyZ68T6z>puz7zZnCdr<$!HME1uq<1-!N+s@rMh<~l z&w{1LLMJiu4cOIZNdjtAOzQ*XMG)fF9k1<-9rq)0zvn3*RLU=>yXjm8Ok4jn9Gc7JilvIIBHctd&V-8N@ zB?nc6*hlEp1A=V)6*;2KNZv?0@tBx;Lm9)pnyWBxWez*-<-##ID<*e`Pv@#HDVn_p z5#eleE7lm4@&1Zf6>Bvq)(i}~f}(CZgl-ZpzuUKE--Fu(s=3#kY^uo!cpypJR?f}r zS4QL1PV!PgntFK70hUVxA9eyWrn@pimOrm-$f#*Qss+FqU7;cEbVv`r?U6a_v3LTr z=Lxl1{fO3s1~3e+GBnJZ-pbJ-WR@VC65{`Ub-cQnOck7!AHT;rFE5q>1%)Wkwh4S_ zV%Q^^)zdjMkQ}6K6Ahe0mmR2pP#LY8e;((s|yD=wV(Y&UmrTG6~x;h>nV0YHg?(qL$y2bLXqkxK3*}9_J z)M$(A+`y)dh8fu~&D}OpTl48QvspgiukGz-KdMr}fx)N}M@Seb3mvQA4q6Pw?^oi| z{S(Z%)N^iQBZ+4dO;S;TrTGAc@yYP4jQtLZ>TNYbOkZ^h6!5X zY9nTvYRK#Z0@kCHfsIPFnuqClne<1m;YMBK+JYPY&t;wZSZs2N-4Eh+QE|I6j2c4d z+;zEAHJJ3P4px4P?_aTEKQXl-SG6H6_I&H5U4f|0rMce6c>e9Z^bCsEKNJVsgb9zL z083F@%l`a_km6)9#E@I6~>yb0>k^WT;Y%m=L_06&BTQsw^ z=kH~Sl3>J&p}$%dpQLZ!qyUz@DplLCdYvH5N>{MbgBqaXUz4Cz-IsB>Ac7v z1^2m;Y3cdrDKwu3<;Wh&>)ULDGn*;tpbV;z%#5}!C38POJu`l2w2 zSrR%sTqxCN`%3%7f~#ZSd#R%W>KnC_{RgIbAH;G}5Q^af_yz}*3aiJF`n7u9GZGk&RL zZo5!|OHgFamJQDjoO?t~;9lh&f7|tTCuE#Eo~-k`!JuW3E8a6U8YNQZmPAe)2W zCxBVswFf~*$v1B2->rHo5?YcaJNyn^GW)-dyf0=zV ziYPeEpvHW|OdOJ{-2`tb1lzCpw_cRXpMHW>+L=x5Sq?4eMSkOa;`(1U@edi-%S92g z3c^h3h*_@}ox~ct?1?LW6LEAdcr7Ds^z3_b)+f&D65+^ng$K->gq%~Kf6;k^S(Ix6 z4%*?P=`Bov6JAk5v#Y;My}3979`z!Z;96w&b2?OV%f%(DwSXb|JLGsqs;g`B8D2|& zrIO`(Y$xZ}^_LaSEfy+K0F7?aT#=@0>2Z7mDkS|6U^chzqSndcXwCk4F%uLIpeobE zI(@ZJ4#J`%5OySiW7G05`5K0slG*u)3GoO89NnFd1@EZ^w}9h;tT87(i9hf0`+q}M*>C>gP@~e4ylf|N*GbH*{O`t`w_NoU5hMzONi9VOB*Fv) zmARJHrqKl2zFh0^x&2-_za$1{oxZb*ZSA7emJce}i)AmEkSk4@P494PxXe=6;W*8_ zIf(ty4>{hCbw?5ms9+9JwE}a%ISAd_#d>kj6P}e<>1h+xm-m){8oifY4aH5$(`aLH zq#5%=n}fN8_Bu?&H5Au*e8-&ip-B+?GPpQL3Y_oh8uEP<^aM#%A3W?^`qz*p=hO9< z9C9jv_yyd>_pf8L|31LPb@nmRkpQWFg2iu9Dhh_|a0(mDda}5_5%>Fn>sR90@}f)k zrKMI5{z?uY6KfXVgw?tcEb-JmS-Xef_(~ojhu@#a$ef zx-8V2VHrH3io79M$(RB^`7k16;eG=2k7-^w&y30i>!8<=Q-9s6h~4~MW`D_Cpa^%n z&g9?*9YX`k#MZ%}=`0ZbO7fj%>6%N{oi?rP{Ko1-$emFjQxNS>?EA|La)81ML{gm! zZ^eM6=t&R)p)?)fr5ug@w`%gwkj-6S5w-C&r4YfsmIP1e0FDu%K8z#`N$A;!J=^!>Xd2frm^8a=2+_idu>ha5N zq!avg{okh;#H5 z?ay`XM7JC;L3-n!=p9IPxgFl+>kWkfvwKFA`OFV6O^Qnz{$Ws!BkN@ia#d{MGd)e; z+oYfVcHb#ps9YsQcR{eR|9n-goIJVfUV)446bk<=moyN**C5zH@F9+^Jwbhsk2qp) zzP8^wzV^`v=-eBZ6zTbw=Wy%KCq1-74+hg+))f2YYjDgAeTCs2kqmbV=3SQ#(3MFz zU$Gxou_x@9`VTpfNC3m8ekVjivVTv1C16bo{zmUfP5d1#=J^w$crT>kMz;{kxrJ56 z_C097HSjJ{3{=}$#A)~Fgg!;YPWrn|F27&uH^yx-4NnW4y=kuzmfHy90iu*^rH=lc zKK~!S=866nU(4^F#O0mEefR&z*Ys6|`5La*2QAYtMmu>`m)~lZ{r~G0w zGOHF$MkEc}5IL9r(q$ zZjEtD0l(Az!@a8Cr_H!+tZHk?$4NK{%|0Gi$o(lhMf`3_K{={eOhpyapsXu>z<*!y zU1CG7z~Z)nb|<3c)yL+yt_YxZObO8IsbXYAA?ow6!hP~b<;@UpT4!Z81yOn;p>oOl6U%C zQ(SM_5+b-uUS&%R4Ob68Pv&+FWeb&vfBLf?WH%4CT};@-i$`ty&gC&Hko;^c>M44Y z_(F-ryX;cyKt>@kJhBcOqevbWO~_4sr;J0gayNx3Jg2(Y1Bp8}zzurHvM;QSc6$hZ z2Wze@XeT;;Lb+NHL0vuH-U5bYh4|kGh_2hTA!I`x@WA6wrN5)~_iMCUHq2HKtf8Fv z*GxMa`vpE4A>Ln8n}5%CD0H`L_xSH`TVvhvpoHj};;^kkDs*@Dc5`ZkaIR~UX9PW( zs9Oea(eVs3oXMWwZj-;Pq2%`fpqB4X;xTmI9@lpc3A~+fn1ioqV{LYTOJ&q_N3v!0 z#q!F80R~}W6As_80T=$I(8wikJ#}b3u^*}j`{cVUR%#X%rGX1?z*f^k{qH1^g?wCk zn6lbmaEMq3Tbs-W^rPattDoh}ap^XBO`hoPWZ|+)>I5yzpKHTpaKKZOnT+x9nJSFj z9wz=$S#i9iu{h`p4w{%W;OM;GeN<=E@=-Tbf9IOlCnLlzyWGI(rRx!XaG-j>Xh06k z0l%wB)o>1z9j8XUb5tNJJE?d6oIc-1bq7!|^sCDiuMElY{A8!2d7*1Q2sL|i_#;GY z^k!)m1VjmQ!k5lF6 ziAby>PZvY8XycxRkUk{B47$hS;|`JCMS2Wsoaz*e zTnu1GqcIz`8I`PF|F=-s zUr+AWrr;Lm*2; z5tb#$@Jz6f>t1232jO#G-mhdO;RMgg;_ivaX;yGY2^TtW9U#i-ZV?$W^D z$Z$k3`UG~_^P|WTiO#)6K{D+b;N`t_Cqoqp;GYt=sPvP&oHIBl=71fg*K+P%cpc^n zF;q!LMg$aHYe<-5%Bx_8&=kz#?c_X9{q&7f_z?uJ&7CtXH4RD{P?~JS$gl!tX+hwx zpk6qWdDR`uKe8yrzF{c~maLuuw@QEq=JmoaTlLhlB672P+~}S1!!YLfsCXR4K;Fu) zDbE+X(+kBagA6>NWXCQg?{4eQ0pmaymKGVj71sRZ^tUCP;Sv_}-R*2JbKQNvWY?}Q zu-7I74?rjlo3#e38@myOcO$tWm(m zg!of_v}WWT9B2F{Z)l3U_Wog<)N_c%<6u2j5nfsf2fiV5mLUuiEYPFokA6}5+UAv3 zc(Y#_uE@Q8IorzNo{_WX{FzV8{mV_7DdFFXMSB5tJ5Ve;8A9UC+aId3|hxy4Q7N?~#7a z>1qvXb{JztVYumJ8nn-_kim{VtDC;BcgJvvp_34$HqOKE&uUb9+av@27E4nj*0c5`vyNzGbpFLU-bUSZqg|!Hx`S?e-}gl_rFuLpUW?gv0pxbMx)L8%8qLYd<^viefM^Js;^Hh zLcAgTX(kWf`}3_CUq2|ye~R3SQLecOjGt)7oiN|Bq#IYSj>s>z5=_~i>BcsP2D8C9 zwRwKO{Ftu8SFlrAjaRvP3f7#@%628{$m|=MF6(y zlJe0o^rK!m^6TU6;EH&U#7mnCza7F5WK$?os@r!@UW?>8p*QG{ zj1Nb%tw;)(3dWj!X4AX-Gep`yL=NF7SO^?zq=27*Wo7iT4OG;KP1)>9t+;?tmKGrX z%Fw7#DSgI$mig3<#=A!w&-t$7<9!3P)`l$RS5gB)dWQR>VChdo1DSs3r4Z(M(PMH# zpN6?Y;A_ij7o*v-q-5B@9~nATv3T-OP2Kbt2*>BF1c;YPBGpk^#a;7MX^~!h9Un!- z1t&;e{2>0o`vDO4E}(Aq=-0LjF|yfHMH=jB;Y^HlS$3>@TUc z`l6hxplqM^UXCWS6Mdz(_UURyzy-eiMYZi8sp8bf+v#haPB3Ls0LVvpS0m-L^Y`eZ zcL@ZBs$M&3gwcZ>Wkn8?;wEsB%I)(A;Fp*3B(NFrSb{nU;?(~VHmBcxL^AAU;C+au}A=3w9Mo|G=>GDfs z*A8R8)K`oPHlX19mzYQ^bLI^w@9!(}b))}0(eC^LlNdB;Y96*IQ1vk<=;DbOGvf5p zWw6n3@fN3PigE#Va7H4i#2VC8!uTw@3po35Lpl4zU@HY>`ec=N#~%U0^mg8n5TKCB&z_gjIB=)gcaGhWN+33QO1qzQkD>dp@@B-4`o z26z0q(+(fiO+vTby_(m&FzNtC$2E0f@w)yM)^z6E(Jg7ap&`n) zB!kI!Jk96C&n&F&Id=rGqSZGRBO-h5l_De z?}HIl!P7=qb?%AQYf60pcWxj+xk(e;WeYI$oR$vFR?Xvy{wzcwBbP@Hl4)OQi#cH%!Q(f?8@GDIz zWb?p9uni?64>mF=*LyB-&IilXw~c9xmj?Yj0!_5(QMRf0x;zpO(|)S{bdMo5afGJf zM3X-CJr=0=i-7-FwbA)U>^g3$fnr3q5s@BiNkz8Q^HdHgy|qm&9PD>%74O+57VNuv zQr7JJU0ywBB46)a3i%pm+4qg>ANLehWV|neR~N9Jj-{{dIb}+*EHk}d-87L0BFNiM zGja}6zew!dZ{ZBO0Kb#H@=*8wn$wk*cS<9ODB)a_Cspr^GA!rPP#g-nH@tEPkYBA>C8Gb*{<$ z5@bY{19g;~D5>5sGf^7St2iZvl~1_~^U{`FX=cCuviRbI@B0Sfcow&Sb?dF11I{{S z=e!BE-WQj&1OwYfuUaLy=c{5Z@kP2?|Gv%dpA!5j_xy_ucMJ2lK|}Og5h=BbkJk)v z{86=6?-YCg+Nc67D!O_Rq%6vh{(K)m``qjIRhJd~QkZ-%rbJeLMucIOz~EWqluq3C znXEFYdDfg1x5Ng?;;yfNv+OX_IUVI~j2n02#H{&g|18p?BVf%4YxWQmsnNG7@|K_X zr%lJ$S-=Hm3_~>GzZm@ew+d8x$4`N1xLhXaBV(bZEALEf`{p>O{Jw?MPEZPjMebSB zt3O7YmjC8({l=}%Y~mF6b{ztFm2p6i9g82+5Re=UhQ>3P4w{dC6*Vt)|L!tuSbR~7 zCf47k*Z(x2wmt@sT1%0+FX2FGht^DCc&UR&z~W*z|L4FY*F0^paboi)H_EC;_VuUQ z9#m&HsTu5+0NUfje;zQdv z#nP@rDE3ZEcPny$E22e;w3UgX`|JY-A={!*pz!73w7MI$mQpJf=aN_abTU@te$;{2 zIt(Pc|J}Q@jYm>cIo`$bx=McE$TmEA=Yfig!u7ILHf6o!4c$Z_E_|@3m9$dxjNDB$ zj(#FY5cmMYuwk(DUCpmn;q;9C?()i^L3g7MMRc zCroD0dCx_q9{;rEt>YRM2 ze`78!m^U@<_XTqI6cuY+$b7?@ z!YSI6TM)~UyUN=-cXuqSkF3;vr`+VKz!3eLJ!h+5rWB~Zc<-`2C0=9=h__Z9?yXI~ zm_PioNc-Cf7KMOc&lY z>J`q~%etCL33RX5w&%=IxP}`m3Y-Rfda3cFF3?>XhCJQt@5%l(XE<&1`!AGiReTBf z`Nuu6SC~ZUAp2Ygs@o;D{S^d&2wN{&p1e1LXr?VKg{ zGA9RJMtIvy6OF~cEPSHK;g>;LeRfSm%=Tlww%=$lzuSPtmh_F1rg)(XOlYxs$$DWfQ{$gZ@a=A zXHwZO*lz>Z;lSZp5a2h#yDO$!`_SM##rM6t808MloTau?6Zp38mMR}q=?rPEW(aj? zePePOY3*KDf1TtNMRFZTk+yN*pkovIf-H111oPwr{b@oDd zz{v&od6j=pkrktH-MdpHNypnbXcUC=;K8#L*c!g3l4vuBe^o!Zh|6SIx!*yG#^EL; z?IW9>bT)29#wYJVNzkEel8s%#R};^9_z|ABz3PzmZh3o`=lt~F3%20Dd4>r&@4~PT zVIM+>d#edoNQ+SYHy9Q5NRtWgXA^up@affXynZW@tAaVvd&gSW^^(aA2Ai2YFR&>r z(<{h0d_|Vh!5bPtbHbYGV34z7_+y;WAdVeKrg*ZVxaLv-{e6`~<; z*;mf)Pq7x9w)CL7K@VTcpFn1qae~}hpeq{Etl6lxO(9-yrAqe zI4s9w_ta=9xg+k<`Db`ph9V^)I#toU9jqDDVtr<@wHo4n=w6NSmj(;az5`DrZ@)Q( z%Y~~L`c_u=o$KN*)MjV+UXuH+5Jg>4Qdj8nD)aF;(ND7f@qsnA*`X-=WkO$@dR~1q z7_cm|uMDvHBdlK5%u@~7LzodxJPf&Y;4<(#VR}Jv7KWeZr<^SL;I*?0&rHY)gI8F} z$bq2BPtmB!a-j=I+pRB5Y)_`x)yZA-!N>@z$JN??F<9wVryDGRp8qJ)O*l{Tj8`0` z<7nrUmz{5Ew~t>T+HSYG_5=2S|CO)JiR;+#yrPtxMz%J%YE?$i<@NT{QB<{WK_epP zs>3F!t&mqN&;#3f{}@9N1e(;mZbGWB_kO*xJ`9+619zqec1>V-hW$Tmc7EI>Ww^)s zfO_@UYk9H>!lrW|C&Z*X7S4m4czO9X#r+%AVpq5RjlqNVvM!j`tBr}v<}WPA;q~P@=DJ# z&Hd7MY5fvJ{ja%|n}*(hj2ogVwN0qD$_ugMB@p_m?=62Psjd1brDNt&2R{9$-5WuU zTZRYN=Wu3^=;NRg7^wDZc}F9fky!$BgWDeYN~6%$hhilNL(-NZj)@GUu+!aS+wp~O)DZgB>uhmuH>*}!kK%vV>q3ikR5dRN861F>x z_pa|OoEL8#PuTGWVXw=~wk?ljFBGi&PKJZcQiw#o+s6X~gbp`^aZ$5%|DyY_gH^?XV)_IXEMZQ<0$zP}QL zT}kcsy#JTK1RmbxlC8_9`FLD-lpzHAI#lvSH4)K<(wy?IC~?fW3$FKvt3Yu)!We#u zUj>DqA_XgKUI-YNsr^q)VCBwbVB;|b|02JR{$@zw%%elE9k)Bxa54r$Jdf6`kR)~t z3A@4?&soaVXMwmvN26bknsxg>@B}0_fZL$YaWA-4r$Y&FHkFUZb%I)L4wDiUnz(H4 zP1JdY5RX(5p=81_X|M<)RW$**--z3%PnE9|I;39-kQsTG%u77(d3v!&EO#W~mc#6p z^JM1PjZlw4<7%Eni?G_7a2~ z!q+=FiACjl0w$V>v5ab!l+`Nc{^FRiWNDuetl)IK(Br*T(ZD&ln7rZ;4q>s93bKL8 zum?;8myzZPse@7wrQM5H>8sS_uG+t}sSKH1IzFBRPrEy>4ArP$uMc2fPH)G8P-SYD zrz_ncHTlxh-wd9EhC}QUEnRTSa`9){qZOwOyO2?NB}17YnX_}LHIWc!7Mv2Z;;AdK z5on|5XzE;bHmCVBrSu#x<-DUHjdc3xd4J1Ws#`8_LC))=)(yC@qL>!S@^;0kvt_*` z_C~%rH*<5onc_&ihxCzFH6@EPeN5Sz357CwrT8EJG}O$MQDrKI&tT|w2li!Ri#zEgR%;TRD;R!gK6z{WnW--mBNF?k6*=CzeX_aj-eCtsQK(uPh_GTTI{wQ z3ZMSH;BJzyTr&Iv`gV1k+~Y(U*d%YiVm6_{Xc`YO3nUrPSu|t`7mIh9oym{}SrLcr zbp;*ziR}GozA7m3^*mDcdUPZg-Y&k`nIa@Trz5R!d7NPeI;s2e(j_v~)jlkwj5mWRJp-+2%Z7kT{fP~ml$5=c*C zBflqNT8v(02ck5-^@?ys9Cx*<$e=n}8OJ**+&X8xFyx)f@xLH#CfAAKAkX85*YQQT zvL1k#>xXbT%{7y*Xu_^&)6?gC&da_*?f}C`UyA`_eKjI(*>d|73a;Dj+uT|O$_9k^ znNhr{TuV`}B2cxX%3mM3Dq!Z6BYe^z3tv1e3{O*TUsF}FWLxolwuY=47l);9V)tOm z_cuRdzM<7-1HQ4c_!M78T?Kdm<|BR0kOuTm`96LVs&h^keHp{2KfHE1rMx8x$y4zF zOqa>Uzdi3?Ot{+0r&3yK&GSxd@H}5%>Bxus`Z09HM+~vt&aebkd7?qC!ot&qpE(DC(TxadK|K$-Z@4-pt!TCy1bbBV@^2zh}uZxc%dn`(WVaj)1 zxB6;FnT+rYLYoD(N8oQrlHvPp^GDjA^yMnxoO|fJUHtWj{qvnc0cQE$Y;A^~YdlJ( zlS*>7XF;-O&g5s#lD;vN$$@X9kDooPuOOCN`Z*u#vUMpHH5;GDUcWR~yca=PS zxi#r4I_WDN`0?d4a|7m>ynHH0<=<)p>5HYYecDnduOKHonsOwb`a|%Tr*3m!Yq4pP zKuoXVQF!bKlt$>u3u4O0_gyq0+*0)hdklEl%Gf6$liQ0qWHA@^<>N&D-ax+=;mOwc z{g+KiRs-8LdL5s*K9b)XOZIs{OTUbx;bP!`87>BB0CBpuP z@J9|x{q$lZa@Ao|aaPpTW$Bfi41SShf7gGzve@`{>OC2XbOOmx8a#@3xTz zeR+mFLlwp4=%Gw!5MCW}@$mTF)iY@D0i;desjzZJZ?u--`11^3X=zDlv(OWhE4_4s zK7G3#=|37`E{1U>@V8Fg4Q`D2Xn^PoUqKh%rFh_{H4+|$80xnlkG-BpN$9q+etbw% zlKxj;@tYf+x~}G#$76i!OL{Wbz|jwZ%E{HroF5k-47ir8n|mG~JvlzAE3c9hoqvuG z=N=8IBfIYd_B?iWJa#5Itd;?_-yLLw=t_f7DZ1cSY*_YYnD_OU-hk&pfR?n!;*U4ycB>=Rkc33bp+ zM|p^P-h7z0@MtKpWTucyoVcOD641_J)mx+}BMXC>^dg>Zk?F_$dcr9Yv&=pGeSH0+ z9zu@=>DQ|Y`0N(5!)sz=I{}3?ownP*yHtx$5Jtp3_J8+}IB5Pr%bzw`id2(07(?}*BN$#|H4W}fY zEM9mkRXKS2My^fSF7Yzw8Q8Cq^ZfKHb)u`v?0NFfh2veA6+p^Ms>@Siy6b4%+ux5R zHf1F8s(bh=*W#!G&p4Jvtx9Zh8&nCGw2nPozW2(>Q29c-K+uS9HhMtn#mm3f{+Kkw#7l5o zVc7FkMZQ!uCJiM#xeS!z7nn-nH%)25))C;~v!Ztp9|u8a^%uTcD?7UwPn(tb3dcA- zP?BlOp9;70GgpV1+PRkpYG4f8r|1qDnH%ReaSD*y^YTB(IF>*v74YX{B>AhQ=|YhS z2{}o)RgQlRHBo{%e%AX2zPuPK&PNMuk*tya;bdW3>^eM@#In+(lBMt@IWs|tU!&73 zl9SJ?1`e{8B`F@O_OBp~n!IG<+T^ip^4Q79CG==z#St4o%0;pjBdI)t2sYV(aP%xVO8*x9D=Y&+1JL;kB;{f7<;Bg81 zj1|lK_LLA)!lQ!h_&<(@k}xrPcK6?d#zM+bPqpQUj-`~Sm8>OS7$!>HiNZb}^I1tV zcdc#4wj7=L&oiNN8CgWS6~YZ4v5iw7Ne#9(;Bv+n&FZ;a_hHUT3@JdU8B@Nl?C}YV zzv6X$D2k3RXf_!@u<_xwvzynj|8cuR3uRr~zS%wq{=QKe*m> z$49u2J>KP!i166Cj`^mQF)YOJhgbA(+0x{Fh!=2w|Jb|ro5#Tk!h&Od1}TkYi&-t1`?EdFA zy;2N(_x;M2#98`_%dd6@PdYL{rIfu)B%b4G7-+S6*0f(@K#@FiLnubhp&Oa>F6OMK^PFK z8o$x*b3(eJ+rML)nkJlkWB!u=5%SW+?)FIq_1lmzBnk&^Lkuqh_^)jQOy*Zf-B2(T zGNx{`jiiw}x2bDAR;M@BFWvmDoQ%4{TWARGT}vzv^^7n* z>@AB_d1URLH2JiC7VWpn)}q-mXQ5%tF>D8woWlBi@vVu*WJv+xPI*ZmbLTt zOS~wVRFnpLj>fd&m}s^6dq^NJ0wRxwSa*S*jN=FBpXb+5NY#9BYF!I%^6x}6b*`a) zj%HlU_wO};xPi4)75I;!-#nvQXkX*uIV5#Fd0<$UZ#wG9&h_E7Ic^nhFKh+4UKdy( zDbcw2N)QNq&0;~S)UX*YwhJ%ZIqP$?HoLGHqP0L9MedgA43}6F1FFR5f41j$P`P?^ zNT@O497UTsI7+G0-Vet$_t!e!-mJtF($pR=s+Uk)Eq$2yExlSPxbps|P(p_S9k~*0 z0p>-sG4*VPu2yW1`lTULKy@KWiT>3KKEdsWhoi$2=1bGf+WrHiG75fvlBOg+A_oVW zP>6yooPpGSLWG-l(v3erUpVuWNLYP4!s=`kq9He!sp=a2+S^_Tt*nd}QMY1w{B zj37NucKD3GCm?N}$^{Wd-&s1Tcps|_Wgz7mIPHnF4(XVlDca94LK0C{S|Ka$UR~dD zbK56|jLD$2#4xUm(aiyfvG>Nxlv9qv?)JKL1#VZ=?`mEB>@Xp=pWMvzF(*&86uEn< z9)u1Fo!!K!Ftv!g#W-@{tI5&;dqiAK7>IaPLzvcQKd`F>ScOcJY$!GXzLwvS%NsJt z2OKBUtvOy3kv7G&znwO@VnT~`zg<9{^*>WfAd4h1diqAvaAl)6umg_!_0=y zkIjF&wG6+kRX|Q_9$Recd`U9pmby-?X32kZSGn%+9D$^ZNRr(0S&1W73gVdRhyX+cmLC8Puf zNOzZXiFBg~NJ)3Mgye*gLt+C4jKSD`yxyPh?{?e2yY{?p=j?i(>pain{+LfB5mYxA z{C6kU7r5CUDE8=yKTU|5skAb!@YJJ%*IB-^3Gmk8%AOPvV!U8Bmwn#Kgf; z-_wevE{pUdueX2DS?62Eq1SH$ugn?jBGObUxn4-VlywoTRcKt<>N2`0c}1P^giv>d z(>wO1Z*Ee2Yp|gl z&$eDi^Rg4pStYX{%sdsiUV^NBh0@eCA|h1pG;%DnG3~BUQl>@i9D*QNpkzo869m1~ zFBt43PJKr1iN94ula_j1E7N&yIY8q7?OBg`7SM$+IYeAp@e#*3z+LhSFm5Lg^uE2& zyEoD+G=|O{OZ;D#vCFjkzIji5r4xq3#TZBZ2$z;uSB*!Y)QEqsoPyncLO~_qD~Xi= zZ%X#%)HU>KF~UtBqfz_0FNT(a0}qYGy5O zBj1Ks<}?VrvGdI1(97A&V?LPDx-^^`X@Ur8~3;$RuHzRd^O9TvG(eiXl`u8 z<>w)>ftKS#qb=DA4i7u^Xslk%SDwwnflkJ^1!j{g zdZ2|`dF@Ew*vl#H&N{ybCwHp`r}8Bkt7VFz4LsRFRNUB2GMHX2az-}(waVZ(LW6|2 zAo28{!^&We-BTgfgGU6pD`uGBk}3}$M+1t

=khtj27dzJ$(2Z?$YK^6z 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 iz(#4AjIb8F${+8{da}Uw_R Date: Thu, 25 Jul 2024 18:07:01 +0800 Subject: [PATCH 17/17] Update: remove np.float in retinaface accuracy test. --- .../retinaface/igie/widerface_evaluate/box_overlaps.pyx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx index ad326ba1..66544c1f 100755 --- a/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx +++ b/models/cv/detection/retinaface/igie/widerface_evaluate/box_overlaps.pyx @@ -9,8 +9,8 @@ cimport cython import numpy as np cimport numpy as np -DTYPE = np.float -ctypedef np.float_t DTYPE_t +DTYPE = float +ctypedef double DTYPE_t def bbox_overlaps( np.ndarray[DTYPE_t, ndim=2] boxes, @@ -52,4 +52,4 @@ def bbox_overlaps( box_area - iw * ih ) overlaps[n, k] = iw * ih / ua - return overlaps \ No newline at end of file + return overlaps -- Gitee