From 3e3401c6eb92cb6975a7e9a28beb45ef1a986ffc Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 28 Apr 2026 09:50:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: aasim-m/daft-qwen2.5-coder-3b-instruct-full Source: Original Platform --- .gitattributes | 36 +++++ README.md | 61 ++++++++ all_results.json | 8 ++ chat_template.jinja | 54 +++++++ config.json | 69 +++++++++ generation_config.json | 13 ++ model.safetensors | 3 + tokenizer.json | 3 + tokenizer_config.json | 30 ++++ train_results.json | 8 ++ trainer_log.jsonl | 27 ++++ trainer_state.json | 309 +++++++++++++++++++++++++++++++++++++++++ training_args.bin | 3 + training_loss.png | Bin 0 -> 33168 bytes 14 files changed, 624 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 all_results.json create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 generation_config.json create mode 100644 model.safetensors create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 train_results.json create mode 100644 trainer_log.jsonl create mode 100644 trainer_state.json create mode 100644 training_args.bin create mode 100644 training_loss.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..d42d3ad --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +--- +library_name: transformers +license: other +base_model: Qwen/Qwen2.5-Coder-3B-Instruct +tags: +- llama-factory +- full +- generated_from_trainer +model-index: +- name: sft + results: [] +--- + + + +# sft + +This model is a fine-tuned version of [Qwen/Qwen2.5-Coder-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct) on the daft_functions_dedup_sharegpt dataset. + +## Model description + +More information needed + +## Intended uses & limitations + +More information needed + +## Training and evaluation data + +More information needed + +## Training procedure + +### Training hyperparameters + +The following hyperparameters were used during training: +- learning_rate: 1e-05 +- train_batch_size: 4 +- eval_batch_size: 8 +- seed: 42 +- distributed_type: multi-GPU +- num_devices: 4 +- gradient_accumulation_steps: 32 +- total_train_batch_size: 512 +- total_eval_batch_size: 32 +- optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments +- lr_scheduler_type: cosine +- lr_scheduler_warmup_steps: 0.1 +- num_epochs: 3.0 + +### Training results + + + +### Framework versions + +- Transformers 5.2.0 +- Pytorch 2.8.0+cu128 +- Datasets 4.0.0 +- Tokenizers 0.22.2 diff --git a/all_results.json b/all_results.json new file mode 100644 index 0000000..20e603a --- /dev/null +++ b/all_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 3.0, + "total_flos": 3081875480379392.0, + "train_loss": 0.06056562058377327, + "train_runtime": 29609.547, + "train_samples_per_second": 6.685, + "train_steps_per_second": 0.013 +} \ No newline at end of file diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..bdf7919 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,54 @@ +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0]['role'] == 'system' %} + {{- messages[0]['content'] }} + {%- else %} + {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }} + {%- endif %} + {{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0]['role'] == 'system' %} + {{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }} + {%- else %} + {{- '<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- for message in messages %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %} + {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {{- '<|im_start|>' + message.role }} + {%- if message.content %} + {{- '\n' + message.content }} + {%- endif %} + {%- for tool_call in message.tool_calls %} + {%- if tool_call.function is defined %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {{- tool_call.arguments | tojson }} + {{- '}\n' }} + {%- endfor %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- message.content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} +{%- endif %} diff --git a/config.json b/config.json new file mode 100644 index 0000000..63534fe --- /dev/null +++ b/config.json @@ -0,0 +1,69 @@ +{ + "architectures": [ + "Qwen2ForCausalLM" + ], + "attention_dropout": 0.0, + "bos_token_id": null, + "dtype": "bfloat16", + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 11008, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 32768, + "max_window_layers": 36, + "model_type": "qwen2", + "num_attention_heads": 16, + "num_hidden_layers": 36, + "num_key_value_heads": 2, + "pad_token_id": 151643, + "rms_norm_eps": 1e-06, + "rope_parameters": { + "rope_theta": 1000000.0, + "rope_type": "default" + }, + "sliding_window": null, + "tie_word_embeddings": true, + "transformers_version": "5.2.0", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..47205fb --- /dev/null +++ b/generation_config.json @@ -0,0 +1,13 @@ +{ + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "repetition_penalty": 1.05, + "temperature": 0.7, + "top_k": 20, + "top_p": 0.8, + "transformers_version": "5.2.0" +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..3252dad --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b3a0782298f3bc5526de50d9ee1bba89a44248fe431ffc888ea86d6ed217618 +size 6171927112 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..34510ff --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fd169731d2cbde95e10bf356d66d5997fd885dd8dbb6fb4684da3f23b2585d8 +size 11421892 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..dc55654 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,30 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "extra_special_tokens": { + "<|im_start|>": "<|im_start|>", + "<|im_end|>": "<|im_end|>", + "<|object_ref_start|>": "<|object_ref_start|>", + "<|object_ref_end|>": "<|object_ref_end|>", + "<|box_start|>": "<|box_start|>", + "<|box_end|>": "<|box_end|>", + "<|quad_start|>": "<|quad_start|>", + "<|quad_end|>": "<|quad_end|>", + "<|vision_start|>": "<|vision_start|>", + "<|vision_end|>": "<|vision_end|>", + "<|vision_pad|>": "<|vision_pad|>", + "<|image_pad|>": "<|image_pad|>", + "<|video_pad|>": "<|video_pad|>" + }, + "is_local": false, + "model_max_length": 32768, + "pad_token": "<|endoftext|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} \ No newline at end of file diff --git a/train_results.json b/train_results.json new file mode 100644 index 0000000..20e603a --- /dev/null +++ b/train_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 3.0, + "total_flos": 3081875480379392.0, + "train_loss": 0.06056562058377327, + "train_runtime": 29609.547, + "train_samples_per_second": 6.685, + "train_steps_per_second": 0.013 +} \ No newline at end of file diff --git a/trainer_log.jsonl b/trainer_log.jsonl new file mode 100644 index 0000000..a1601f9 --- /dev/null +++ b/trainer_log.jsonl @@ -0,0 +1,27 @@ +{"current_steps": 130, "total_steps": 387, "loss": 0.11126101016998291, "lr": 8.438497294267117e-06, "epoch": 1.0077594568380213, "percentage": 33.59, "elapsed_time": "0:18:26", "remaining_time": "0:36:26"} +{"current_steps": 140, "total_steps": 387, "loss": 0.10776399374008179, "lr": 8.097241806078616e-06, "epoch": 1.0853540252182348, "percentage": 36.18, "elapsed_time": "0:36:50", "remaining_time": "1:04:59"} +{"current_steps": 150, "total_steps": 387, "loss": 0.10431833267211914, "lr": 7.730761885468486e-06, "epoch": 1.162948593598448, "percentage": 38.76, "elapsed_time": "0:55:23", "remaining_time": "1:27:31"} +{"current_steps": 160, "total_steps": 387, "loss": 0.10304663181304932, "lr": 7.342042203498952e-06, "epoch": 1.2405431619786615, "percentage": 41.34, "elapsed_time": "1:14:02", "remaining_time": "1:45:03"} +{"current_steps": 170, "total_steps": 387, "loss": 0.09784629344940185, "lr": 6.934248555404197e-06, "epoch": 1.3181377303588748, "percentage": 43.93, "elapsed_time": "1:32:53", "remaining_time": "1:58:33"} +{"current_steps": 180, "total_steps": 387, "loss": 0.09537227749824524, "lr": 6.510702077847864e-06, "epoch": 1.3957322987390883, "percentage": 46.51, "elapsed_time": "1:51:08", "remaining_time": "2:07:48"} +{"current_steps": 190, "total_steps": 387, "loss": 0.09520423412322998, "lr": 6.074852201055121e-06, "epoch": 1.4733268671193016, "percentage": 49.1, "elapsed_time": "2:09:17", "remaining_time": "2:14:03"} +{"current_steps": 200, "total_steps": 387, "loss": 0.09088362455368042, "lr": 5.630248556101448e-06, "epoch": 1.5509214354995149, "percentage": 51.68, "elapsed_time": "2:27:46", "remaining_time": "2:18:10"} +{"current_steps": 210, "total_steps": 387, "loss": 0.0899280071258545, "lr": 5.180512066149682e-06, "epoch": 1.6285160038797284, "percentage": 54.26, "elapsed_time": "2:46:36", "remaining_time": "2:20:25"} +{"current_steps": 220, "total_steps": 387, "loss": 0.0881616234779358, "lr": 4.729305457072913e-06, "epoch": 1.706110572259942, "percentage": 56.85, "elapsed_time": "3:04:52", "remaining_time": "2:20:20"} +{"current_steps": 230, "total_steps": 387, "loss": 0.08638249635696411, "lr": 4.280303427629404e-06, "epoch": 1.7837051406401552, "percentage": 59.43, "elapsed_time": "3:23:30", "remaining_time": "2:18:54"} +{"current_steps": 240, "total_steps": 387, "loss": 0.08716154098510742, "lr": 3.8371627221284495e-06, "epoch": 1.8612997090203685, "percentage": 62.02, "elapsed_time": "3:41:53", "remaining_time": "2:15:54"} +{"current_steps": 250, "total_steps": 387, "loss": 0.08580605983734131, "lr": 3.403492349320101e-06, "epoch": 1.938894277400582, "percentage": 64.6, "elapsed_time": "4:00:25", "remaining_time": "2:11:44"} +{"current_steps": 260, "total_steps": 387, "loss": 0.08316840529441834, "lr": 2.982824190050958e-06, "epoch": 2.0155189136760425, "percentage": 67.18, "elapsed_time": "4:18:27", "remaining_time": "2:06:14"} +{"current_steps": 270, "total_steps": 387, "loss": 0.08091338872909545, "lr": 2.5785842330619038e-06, "epoch": 2.093113482056256, "percentage": 69.77, "elapsed_time": "4:37:00", "remaining_time": "2:00:02"} +{"current_steps": 280, "total_steps": 387, "loss": 0.08085420131683349, "lr": 2.1940646731880887e-06, "epoch": 2.1707080504364695, "percentage": 72.35, "elapsed_time": "4:55:04", "remaining_time": "1:52:45"} +{"current_steps": 290, "total_steps": 387, "loss": 0.08156624436378479, "lr": 1.8323970991978823e-06, "epoch": 2.248302618816683, "percentage": 74.94, "elapsed_time": "5:14:09", "remaining_time": "1:45:04"} +{"current_steps": 300, "total_steps": 387, "loss": 0.0808843195438385, "lr": 1.4965269896332884e-06, "epoch": 2.325897187196896, "percentage": 77.52, "elapsed_time": "5:32:45", "remaining_time": "1:36:30"} +{"current_steps": 310, "total_steps": 387, "loss": 0.07979943156242371, "lr": 1.1891897243618184e-06, "epoch": 2.4034917555771096, "percentage": 80.1, "elapsed_time": "5:50:50", "remaining_time": "1:27:08"} +{"current_steps": 320, "total_steps": 387, "loss": 0.08049517869949341, "lr": 9.128883072055411e-07, "epoch": 2.481086323957323, "percentage": 82.69, "elapsed_time": "6:09:14", "remaining_time": "1:17:18"} +{"current_steps": 330, "total_steps": 387, "loss": 0.08011389374732972, "lr": 6.698729810778065e-07, "epoch": 2.558680892337536, "percentage": 85.27, "elapsed_time": "6:27:50", "remaining_time": "1:06:59"} +{"current_steps": 340, "total_steps": 387, "loss": 0.08163015246391296, "lr": 4.6212290164521554e-07, "epoch": 2.6362754607177497, "percentage": 87.86, "elapsed_time": "6:46:09", "remaining_time": "0:56:08"} +{"current_steps": 350, "total_steps": 387, "loss": 0.08051948547363282, "lr": 2.9133001876746004e-07, "epoch": 2.713870029097963, "percentage": 90.44, "elapsed_time": "7:04:35", "remaining_time": "0:44:53"} +{"current_steps": 360, "total_steps": 387, "loss": 0.07719261646270752, "lr": 1.5888529698718347e-07, "epoch": 2.7914645974781767, "percentage": 93.02, "elapsed_time": "7:23:07", "remaining_time": "0:33:14"} +{"current_steps": 370, "total_steps": 387, "loss": 0.08128957152366638, "lr": 6.58673872923693e-08, "epoch": 2.86905916585839, "percentage": 95.61, "elapsed_time": "7:42:08", "remaining_time": "0:21:14"} +{"current_steps": 380, "total_steps": 387, "loss": 0.07743191719055176, "lr": 1.3033842410251074e-08, "epoch": 2.946653734238603, "percentage": 98.19, "elapsed_time": "8:00:28", "remaining_time": "0:08:51"} +{"current_steps": 387, "total_steps": 387, "epoch": 3.0, "percentage": 100.0, "elapsed_time": "8:13:28", "remaining_time": "0:00:00"} diff --git a/trainer_state.json b/trainer_state.json new file mode 100644 index 0000000..80c17ff --- /dev/null +++ b/trainer_state.json @@ -0,0 +1,309 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 3.0, + "eval_steps": 500, + "global_step": 387, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.07759456838021339, + "grad_norm": 1.9683642394428182, + "learning_rate": 2.307692307692308e-06, + "loss": 0.7343237400054932, + "step": 10 + }, + { + "epoch": 0.15518913676042678, + "grad_norm": 1.4175428237350762, + "learning_rate": 4.871794871794872e-06, + "loss": 0.5461452007293701, + "step": 20 + }, + { + "epoch": 0.23278370514064015, + "grad_norm": 0.5442834252561063, + "learning_rate": 7.435897435897437e-06, + "loss": 0.3490773677825928, + "step": 30 + }, + { + "epoch": 0.31037827352085356, + "grad_norm": 0.32322946422972365, + "learning_rate": 1e-05, + "loss": 0.2592954635620117, + "step": 40 + }, + { + "epoch": 0.3879728419010669, + "grad_norm": 0.24901563193155196, + "learning_rate": 9.979639600327522e-06, + "loss": 0.2136533737182617, + "step": 50 + }, + { + "epoch": 0.4655674102812803, + "grad_norm": 0.2047675084448879, + "learning_rate": 9.918724219660013e-06, + "loss": 0.18301695585250854, + "step": 60 + }, + { + "epoch": 0.5431619786614937, + "grad_norm": 0.1694310997257767, + "learning_rate": 9.817749962596115e-06, + "loss": 0.16246029138565063, + "step": 70 + }, + { + "epoch": 0.6207565470417071, + "grad_norm": 0.22587456656054467, + "learning_rate": 9.677539179628005e-06, + "loss": 0.14934264421463012, + "step": 80 + }, + { + "epoch": 0.6983511154219205, + "grad_norm": 0.22154973989105028, + "learning_rate": 9.499233769787534e-06, + "loss": 0.134801185131073, + "step": 90 + }, + { + "epoch": 0.7759456838021338, + "grad_norm": 0.2099862635469814, + "learning_rate": 9.284285880837947e-06, + "loss": 0.13017673492431642, + "step": 100 + }, + { + "epoch": 0.8535402521823472, + "grad_norm": 0.32230657820182124, + "learning_rate": 9.034446082750352e-06, + "loss": 0.12214579582214355, + "step": 110 + }, + { + "epoch": 0.9311348205625606, + "grad_norm": 0.324253054340729, + "learning_rate": 8.751749110782013e-06, + "loss": 0.12026152610778809, + "step": 120 + }, + { + "epoch": 1.0077594568380213, + "grad_norm": 0.20488241588612174, + "learning_rate": 8.438497294267117e-06, + "loss": 0.11126101016998291, + "step": 130 + }, + { + "epoch": 1.0853540252182348, + "grad_norm": 0.20661218086124847, + "learning_rate": 8.097241806078616e-06, + "loss": 0.10776399374008179, + "step": 140 + }, + { + "epoch": 1.162948593598448, + "grad_norm": 0.25468202960165104, + "learning_rate": 7.730761885468486e-06, + "loss": 0.10431833267211914, + "step": 150 + }, + { + "epoch": 1.2405431619786615, + "grad_norm": 0.17930064486716413, + "learning_rate": 7.342042203498952e-06, + "loss": 0.10304663181304932, + "step": 160 + }, + { + "epoch": 1.3181377303588748, + "grad_norm": 0.20225538073749422, + "learning_rate": 6.934248555404197e-06, + "loss": 0.09784629344940185, + "step": 170 + }, + { + "epoch": 1.3957322987390883, + "grad_norm": 0.2256721972453044, + "learning_rate": 6.510702077847864e-06, + "loss": 0.09537227749824524, + "step": 180 + }, + { + "epoch": 1.4733268671193016, + "grad_norm": 0.21487787771920072, + "learning_rate": 6.074852201055121e-06, + "loss": 0.09520423412322998, + "step": 190 + }, + { + "epoch": 1.5509214354995149, + "grad_norm": 0.17540761321861204, + "learning_rate": 5.630248556101448e-06, + "loss": 0.09088362455368042, + "step": 200 + }, + { + "epoch": 1.6285160038797284, + "grad_norm": 0.21743503130668765, + "learning_rate": 5.180512066149682e-06, + "loss": 0.0899280071258545, + "step": 210 + }, + { + "epoch": 1.706110572259942, + "grad_norm": 0.20331687416060285, + "learning_rate": 4.729305457072913e-06, + "loss": 0.0881616234779358, + "step": 220 + }, + { + "epoch": 1.7837051406401552, + "grad_norm": 0.15781467110120098, + "learning_rate": 4.280303427629404e-06, + "loss": 0.08638249635696411, + "step": 230 + }, + { + "epoch": 1.8612997090203685, + "grad_norm": 0.1623620489054104, + "learning_rate": 3.8371627221284495e-06, + "loss": 0.08716154098510742, + "step": 240 + }, + { + "epoch": 1.938894277400582, + "grad_norm": 0.15611783173066054, + "learning_rate": 3.403492349320101e-06, + "loss": 0.08580605983734131, + "step": 250 + }, + { + "epoch": 2.0155189136760425, + "grad_norm": 0.15287072067575233, + "learning_rate": 2.982824190050958e-06, + "loss": 0.08316840529441834, + "step": 260 + }, + { + "epoch": 2.093113482056256, + "grad_norm": 0.1853136112632167, + "learning_rate": 2.5785842330619038e-06, + "loss": 0.08091338872909545, + "step": 270 + }, + { + "epoch": 2.1707080504364695, + "grad_norm": 0.14114872525549504, + "learning_rate": 2.1940646731880887e-06, + "loss": 0.08085420131683349, + "step": 280 + }, + { + "epoch": 2.248302618816683, + "grad_norm": 0.13643528182686213, + "learning_rate": 1.8323970991978823e-06, + "loss": 0.08156624436378479, + "step": 290 + }, + { + "epoch": 2.325897187196896, + "grad_norm": 0.14573681730374075, + "learning_rate": 1.4965269896332884e-06, + "loss": 0.0808843195438385, + "step": 300 + }, + { + "epoch": 2.4034917555771096, + "grad_norm": 0.1466398992341211, + "learning_rate": 1.1891897243618184e-06, + "loss": 0.07979943156242371, + "step": 310 + }, + { + "epoch": 2.481086323957323, + "grad_norm": 0.12798260710398743, + "learning_rate": 9.128883072055411e-07, + "loss": 0.08049517869949341, + "step": 320 + }, + { + "epoch": 2.558680892337536, + "grad_norm": 0.13826353734235647, + "learning_rate": 6.698729810778065e-07, + "loss": 0.08011389374732972, + "step": 330 + }, + { + "epoch": 2.6362754607177497, + "grad_norm": 0.1305401343538733, + "learning_rate": 4.6212290164521554e-07, + "loss": 0.08163015246391296, + "step": 340 + }, + { + "epoch": 2.713870029097963, + "grad_norm": 0.12804004522045906, + "learning_rate": 2.9133001876746004e-07, + "loss": 0.08051948547363282, + "step": 350 + }, + { + "epoch": 2.7914645974781767, + "grad_norm": 0.12808224007612634, + "learning_rate": 1.5888529698718347e-07, + "loss": 0.07719261646270752, + "step": 360 + }, + { + "epoch": 2.86905916585839, + "grad_norm": 0.12117673381149041, + "learning_rate": 6.58673872923693e-08, + "loss": 0.08128957152366638, + "step": 370 + }, + { + "epoch": 2.946653734238603, + "grad_norm": 0.124324493318766, + "learning_rate": 1.3033842410251074e-08, + "loss": 0.07743191719055176, + "step": 380 + }, + { + "epoch": 3.0, + "step": 387, + "total_flos": 3081875480379392.0, + "train_loss": 0.06056562058377327, + "train_runtime": 29609.547, + "train_samples_per_second": 6.685, + "train_steps_per_second": 0.013 + } + ], + "logging_steps": 10, + "max_steps": 387, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 40, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 3081875480379392.0, + "train_batch_size": 4, + "trial_name": null, + "trial_params": null +} diff --git a/training_args.bin b/training_args.bin new file mode 100644 index 0000000..5be1217 --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183e7b3bdde253f2571677062e7c65704a64af443b29948fe6b9d366ccf011e3 +size 7377 diff --git a/training_loss.png b/training_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..490158f8b1e6b61a6c1bd40420d0676048735900 GIT binary patch literal 33168 zcmdq}byQYe^frv{n{H{4E5Nd+oL6n)901b*+70_tH5^G8Qrn!zeGDSHFT` zctIG38z&)xpPcRoBz zR7RM~*2BZaT~18Q@qd3q)Y;8OtikBcSGWqP%lRAb7sb#HE$?V`zS`1f6A{vi0LI!6R47yL8sp2h$Ff9w;KoXjl$ zuS>1e=TChwzJ$woy-)Pp55H;4Ps!X}<%^&=iWe9dcs@RiGjO-No15m^T*f^PRV}TD znT_chSFT(MVKVchxqSJu?s0l%2}|{84ki0u;q&n~%kvcvO#4nN=5X)_T{7QUUr0V} z&-kvSgq@wNCv#=0b*d{v&3it-eEEy?So*nGju@(Jl^ep0VG$9NH5;Rk%SpM>C*z4m zPAbaE*gqcyIj_Zs(qn#f;o;#_57%2f7Y4&mTz!*n)f%(BzOM22=NAc|f3_(yt}hK^ z&8od6_%7ruCq8>-xFF-^?k?fG?%=U7$e^gGxV*Zm`u5U`+0XX3+uUavJ~Xxjp-_(%kzbG`t!!0K7D$`N6P89tfFR2 zMn+C90Z;2NT3x9UV`e5{T;szam_VkqyNr*SPkapbKG@rEU8>oz{1ku88*aiX*|NFm zt@TVYdvNDE{g_$cUigiYTimj;l@oYt;)3Uhm3s+X*8dE6!yHpnQ|m6ZDh2Gy&_5WQ z*`Dvs&z-fESG#-ge?)0F zXn$|VsyFXO*Zf-lJ8SY=UsLXL25jP3r5uzE43a~6#g<0A#+u6eVarA6b{ZcUM|7 zx@}#S$5s6H*7^);eD0LeU9ov*-zWNSX^fMOUn}U++s0b|o#n4*mdqO?C^x5KmD>06 z-znTvC3*GwwZ+P0bH!B5ndPyAeI~EbyKh4aKIRk^QJ2_s5@Gk&p6Cfgj0Nma#`9UU zJ>tfK4)&G;Z3o|b;?3e&^e6Tf0329nYC|2CV0x$cxy%H&4aGLsHK34+-WC%e35h zL}`3$Hm!AMsZMNZ1IBChZ>}4nnt)#`Imj$vtNAkbb-Tg$w>S59mKH`2tXdwb%zk~b z0?#)-*`duw{BRvoA~63`E*;{`HL4De|~x1U1+9MwKL{3FH*g;San*_$%J)uiKDesa^PNS|G<6uf-;9>5-dWV{4rgys`2j%gZjiJ7Wi)-gpLA z2?+@y(w+YOEx1ua!_2pSO zlc_fj>w0;XyfU}3_p`_a+BaHHLzZfHsMybVhUw=v50={FFo&ko~>l<0+f3D0tj9y5TwXEbt_} z7L7gr^wap%a0CYj&vj=K*B& zETXMSwq}ydrhDsNzT~Ms*x#`oDiitn`RP@sF^k3si`~r?gOXd6o{Phz_0K#AiHX%n zxR*A5T-8yD=ktS2zgqVGy(HvMxP$TNEpcXX_n%ttokmy;^BEy+dapDyS%@?L`D(x8 zzrE7R*`0k=VC#cp-Bl^bb?%jc0T6DXG3;k1VQOXyW;Iqr?(BQWh@VPWG9#GFmdQA`~Qy`BpYBCxAJ{_e>Yde~rD zJpNcmQKdD8J>&Z?Y7UMVfmCn2>xHJJLt^~=M6e$P0(KUpA^!0pPB&LO#Oyt4%En@U zQ-qR|kOUhwJvsi&&TU*O~#xu{ah9NpBch1?$)l~vTEMz3rx8J!>o}}eH z7t{3X``g@yxT4w^`@Vu^s2DS%E85ScCfee7SNESwJ0~8LnT;hl_l;tloZV=Bd87<(JX`*`l`vWp05MWqbQE| z++@>zy3LKcgXmbLeP(WMZj9^T3V!d;Wt29rzR^-Se?D@zb@jWBQnQKINO-YT>qlEj z%U|DKGoQAj57^(b*$Um%NcH)Bf`Ev~62jyBrAsXWX?`J4q|682Szl9Jf8jM6teR2( zw^J!LC55eeW7HQWK-lw7KljpKNIO=L(C5bLlv4fIZ}15SST#k`kWf&lm)!bdx2bhQ zY10|DC_N*iCG0K|Dyo+FV;5ceOuQ_bA23uvUcq7HjKcLlvah0oGx_Unng&cL6^DEz z?DTP{2^c27HT@ViHX%v@{rv_vZ{4zlsv_g_?>OXq)7up1V%Ss;_V*?rl2A>zD`kO{ zcZ`UNEpjaIfW5|dqXnj&hMGFaCe5F5V=Pc2^Fg5`VpP_I@&(lYp%+##E9e0&Enn^$k9vI9c2lKi zVR?X(S*-jj36$-X&!;-|&PZYBwY5vVZb-InFGU`r8q6i=oRQcXqdLihHA7tcINf@+-zgSSU_^~(NXa&BC zD!q)y95s{_D+C;dr=RB=m0R}YTuYX`P3!0HzcOHxHj(PPsG_M!77`jN>Uyx%8Hizl2RmcAcT!>7S$zy6of{|-fN%(fEa12O z>urCTBP(Puf$}$bM&(o+!|q2ct*j($zOte9fUh&`D=Mxu(XF}yNO=I8$8xm#E~<2} zFNjJFMV5SbH(iGV5B9t#?+YyVTg7IWRC!82EPwTiU|?WCoF!VuZ&TdVf9=}l_V!EI z&NJ&@K7CTr&>#wz1!)v+vxT5{&{oTKv60Vc#!?1anW!?C&^ovQNo_$Z@p#%1|Cqj=X2ALKXUVeD1 z5Q;~1l=dVcQ56O3`LHSaF_V&#UTZ0W05Ps~BlH?}C012aTS4G1zkF0R zAfR@)^Ts_YcDvnJ?K{a@{0{v^IOn=ODXiXBl1D;7qNSw`YqpFlSK9egqMEJu;Ljh2 zyF)=Z{3iH+I!)SfkPnNbVwWQcZQyb~`1f6h5ObaD;^q#cCJI%7+8LFq;7j)S6W>y~ z_lhO1elaM+@r8s4=Vk@UpUlG#jvszKmVyQIGj=ycntMEif^1^7Zg|k8z>D=6i=%tdEwC000tzNV-`b zyRh_QO*&s+h*8YcIRCHSKVO59y1?A)g>ZuclPW=leWx z)Dcr$>9Z#2=H}K_7kFTI#|p2v*ueVj>IQ&q*na>-b61N2br;R^%tIBy?3qN&7vw&D z{@i30t8l9iPtx;`0hA_vq1yR;0FX64YwzZ1{{nylSRMoEdKZ=h%QI1D5;d+rd|-X( zyP!B-&V2d=t`DW6F_MP2>z(z*yS_JX@^N^N;~YjlFjQ7no~|wU-DI?0D)m&W?ek}K z_$E{d^9`Taqo;`YA75~KjpgMlLUv+4b&CSCzu4QJASB_?FHXY!C@zkBjFyfr?(t(@ z&Jwv|TyNhS2WcHsQx2@Yudn=DYyV=&0xQ%6NSH9neGGFLDx=hVO)FNtjQ8!^H<#7v z3s^5>J>;TKOCvKKNhqV+j@8zTl=io&a86I_`|<^GQo@M0A?msPbCU z@bQu3*M4?WTFQH_D+Ap~UVRdEB6WdEEwP+Opi#bCXXIQ{Iy{yHqiGx);{;5WJL1j) zfQ*wf&8_ox6r;#=@67MW=;-F{wfPlzs>x<1v#|1VugV+sQh#SVTj9sWkU0Hz7RphX z;qd==xoX4PQEzRdv)67Lz(eEBlRew=bOM+1)~v1<7~corCBOFL>dazQEyYD^X!)+@ zb7Vvm-TK1P)Y8&kqhGc$0{Qgkk87AbA)PXl%bu|6^R&SIqtYWDbRKf-At52tqW1wA z*|C@3{rl5XX^6IDzIF4*&*CzrmrxJOhIC$E>G2`zt8||g{A2j;4u1dFE$E&bT3d-B zh*Y0TIf~z1y$LJxWl;jK2L~0W;=`=0;|TNvcKKj|hZzWX0&vl132nA)*!nwb?`P6; zzdS38M?f8(Q^nI$s&@Og z5HJLTBhZjx^@DrYM*6k*>3R#zoHw}L{oSt94EbBz;9y6XEl!R=?FY~i%%R}Jb^JI9 zq+k^%Cs8Uk8LopyoIxu+yR6%*;nMexL%oZJ4h4Zrc)c6W)=N7-e&|uK%hB)e?<1`A zMAQ0pp9k;W_L|z#Xic$2BhlR<$ODg_Jrf*rxbP?~ZHzLl>Yc;V&V$jUg`x7KrE>rL zEb{H`)>Qesw6e0YB;@2m8`VE&XOny{6&|oABqUgSne-iK19(tVRmF=q!WrW==FbF3 zl@0wJpP1@NR6dmL^XJbi!{;qA>`?&12#br0lTTWcJ=EY0YENrr&HnA&4>idJe$5={ z0uoZvhUJOIV%zSQZd01h>abjP6;WRRJ9ooIHjMSs($;Pst?^|~#1h$=C=A8~zQ56K ztlM8h9Re4WSO~kqbsNSWG5#RY^p^u3FjozLaS2~sx)-?rHx0EnFvqdP9NzU#)O*o- z>ni#$TKi^-Df1D60*WG0)Z_tdLW`O9gt@*#P9PgjES*AhjI2A6`|Q`V(19&O&zuPz zRZoFfZ~uxS1T12I#NkW3(03b@JF%l%K!0W+%vd!Q4XFbHOBH|%1ra`s;b0taSe%l& z!;aGCc&J-P`&v0r3;JiIj5=o7y@t7+OG=Nk%X=4nn=c!=UUs_FtS+Dey1B1FSpeuv z2XF}89xP*HqKHwE|BffR3qhAgkhdZ6{9u~HUE5a zcm)N?Zrr%B+Nt2Xu7308E5DMST>G(F1<1s9Ye&xd7a0h{GUxu2t*L$0x)zwJ5yN)d z%LFjcKgv!U)~YffR|KuD0zC%1S=6jnxSZ_zy8P(*YfJbS;)^Vs$)JW?0Q6sdl?`Cp z?pShADW2NdV-dcG+HlLR?KPs~uZg${2SI_80dyEoq3UiOdBw=cU<1V!}S z&eT<4@F4kDskEP#{RyzV!%@lePx6Q?u6}5U6$p-oWC<&CNfrsW>GRcVy++B3{vU?5 z8IK;lf8jB|#kW@%092lXR(hq^$a!LY$hmNN7kC2ToDy2nb&pdsFkG9O&$(1Bq@P#6 zxiYmfagVb-_JpWtflKc+Tv!}vxjf@a+KGvYwl80r0c6^Eu|r=d{`?DUfGl^1GRCLx zM5@Z->7WBqFugki+?vC|(!u@_Y`2v90n>G| zGfrEbOv&$aEaE>KjduLO@*GK8? zUl#xmO$e`leQ_oe0@!=4=Xx;&^}mH7z+NkaqkezCXvSVos~fu6%&072o=bl1af0#_ z&0~BQ-t8<2%gPSiPGp@2t_7N!V)F*Pt=QA%duk>xM1MXQc5P+vuXGmxl5yG*7^ltO zxrNkpbi9GeHn(mKDqPC!=8}?PR3!nRp8Vyf8>gg&g@x_6SDz@Wyx{u47Kfw-Y=0`) z)ig9@K}^oS`Mx7S)Br@tnJj&=v(1H6#WH9HlUu%pe-O%Jl}C2>z%#bnW|8+P&PE}h&Z<@X*yck=_3ceOEpX{ z&Um%JT3T-elz-~zc%0UUN{z5E1uQ}M$j(NeSzt3jiL3hq~u8Gv5zVhVBlj6>!)o!gt z&H6Ve7%0C~#Ldmw9#7D`OHuGe30hSwHW#6Kb*^zWa?=QJfw zzzek&dJJON@ZH%Lo6vxaFD=Ca4T7>S zkkbi?B1Zw9-uj%3gQ|Cq68xF|^C@P3eWawo?&>U4u*ts3~ zv?Ens_sYwqFQv#>Tn`{BO4Qtf47oi0SjQ47^xROn*ymfPfc%R93QDCw=Qh^XjfXTI5R{RCf<;w1T|akav1$p?5zOM|*kav5KqZA1 zXg(t+&7l8jfW=3owmejB7)AWNeBwec8+>hRP^A|51#rDrE*xwG9^AYA{f!0mPKbCTBO`;k zg_02vh+NXr<%6W@b#+QW8HPjdQjO<(Z`VTx5{Y}|N@~w#J-sl*NJfd(77gt~Kpz3B zup#SmW>=Y`5wx%4&z)=I4o=j>RaD5p)r*zR+eZb8}H5;cpA8 zbL1QC=Valk7SfI!%CBcMYxlS9yWeQDX7t#dh5oSl<=Lp5(+XqyL=)SqL<|YItUQX( zYu`781R0>!O!HrV3Oz5QVZJ^9?~8!OwVPU7qlTQS^4n)$y?lrFRws=S7{@|H3&_2= zguaBh6we($Ah#z$W}|6nXi&}Vd7z(fcpn&amFeke67D?f%ckBFgx#g~*C*!Zg{o_6 z&ca5US>?SpP~}y4UQ3G}BsJB-z9^MYqWb`VuW$P4y`|8)wnE0;)RTL?IgFG}9e7jV z>1poYzmKp>LgHi46<--kSwWx3kSZ-Aq7A*+4G2-&Y!2onp&b+I}}=M zB_9B;z7FilW!q9i8fNC>lT%a8uvr&UTiXND3IaKZDVTLFNNI=ig^em>-&v;sx?rGT zVnX)|2WtMyb7>}MvFJe+V=#5M2HsH+asxMrki!3bYPx=TyuAAMlI8ZlU#S1{+z|y5 z!(+Zz8{Leao)2)lkf?Em?qV{85Irzc)UYnljXi+mcOOtzk`Mz=7`2)IT0&%OEEDiA zkkhVvEDqnO-kgk@1We%BIRcw3_l^RfG+Lkt=m5mh!}ow1zYhuF0pbsKcm1mTg#__4 zzyDGYOyLuM%K2T`=Lu3XjNqH@h@yAT8*H9%_rbbVy`8xiX#qVIgFuI3>0BcfTQCt=?ens^9w%=afqJC z2M^plnBm5HqaOoV!k+xE~prwLksyCy$_@=04koI{a#V z@521-Y%98LTeJ7-vPkEjO@4H1b1e+M9w|>j_dg?(0Gq`0N*ML=6DNWP96UXa>m32~ zrzec!XhJ6EyL$k-#pFHqomOqQ**j0w1?j?fQJE2GyF=n zI#lZPZrgsl>B%r^;IJ#)X2^iPjRIoM+o5=t_0WdF(P1n3(XyBex-p-c(e4Rdg_YIS z5X1ZyNXk%2pvPfjkN<9=sRjOxSP}KbdxgKER|dEbr|xk4@=bX+N~oEbu4lGVu*pz& z%Kv@XIF-KLj2=dvV-g9!S9KJwWwxS%WLNqjn1|=w;hm>{!l<5qfg~0j8>0dL{RxJFSQWu{VG}qu zB+ljQM*&hwoc9qqaiRf8RHUjv>s$Tr+eK!j0C`}cxR>1hnOwBAC`JQz98sZNURyg0 zv9<#2=s@#2@GluautK9{JMiw9sqez+WUV(5esWn6$(UTmtM5cV4j&^+Tfdv77WdT~> zwbX-{GmG^wILyFk2gy4QgYQWf221g=>h0gTtF;mm65gOr6?^=;f--K;2Sqz?Pytno zwfCqQ<_M#(fMKuh?g?s|xW}^o+meuJw$~SgoUi8g%=P3l#c(JHIz#((?sY5Fauw)w zeAa#+bG|BwvU%a^uC)=}u?wo|>IA@@&p4v)2C5eLiEx~poap}NFI>o8U%T9BMV?N# z+M7kq$sYFix|rqGBDr^7;6+hwNEjq~nuHn~wm*y9`=p(nmwc4?gWO6&j$H_8wp?hr zq^bE4Dk(Cx@bUA11eOt0nP$k{{anSm3q^!oq`yvUHl5v4%YWi>Qh}3LbXrCZl0|IB z6+t$)-1|`Ap`9>?HC>g0?gI29ZYilU!&ZQd=e)fuSn6q$>M0b~b0zzRq@ zs$Tv`4oO}W#qOx@QU*9Ykh%vvoNoRU;w_U;*-#mlJ4FM>YqdCBS>dy0_rm7|lD(fi zp%*s!Ko2Y41XOzn;EBF%?;qm*cyq7(-fMa|bC6)0oxvB6OFd<0gXxuhi~<;SKKuI{ zb(y{!i!yh9(<2od(cU}EVm1G05tKz)7pPy@%SV8F&iLLFusVShT_kHFo!8iyt;~5W zrq9$jzqd6rf}4~(EHl*Q8W7!RhAv&A+TGp#z1Dx`>&?lVK8lJ%-n75&68ZU3= z&hK-lrn&oJa?%ntG9rfWv#x%d5*217m-CnlLI@Q4Jr@s|J8qeMW!y@2CWO#nJt@~G z4Cl)*drpnjKTwD{aZy=aeQ_S*8ihTy2EjnGS%5e#uNc0wy>`7D-PLYMJvr>XHa$onP$#0I|b@pm@B>RQ|5ge9N3I(yk`=P>w+1*u7) zs!;$b=EMs_+-p2)yo%Q*$Nk<5rgR85eJ#0hO(_}5#2nGEAT9;mAC{Ju>EC~KRe3ps zN2%nSKQR>>$%Xj#kq9dG!AP3xm*V;6PWS37a|dO-;KgAbvPZ+!C^=&31RjVWfU5g7%@H$urw8869oX zPh?ICL*{pLb$W~i{Odl4+Bb2Fj|70hCIPC0YT5cRoLp#F33>$xomEFj)R0UsC18X6 zA@t0euqPuExkrynJ}dq?ZcThn14=}}XAxTE%!`;en>0qpq0<0L2r6&9gjWnztM?ObV`g>wD@rpZWFGYbjrj+jhCr(a`kV zyT{=}!mIHxYhy~(w3-=*!>t7v>r60`nw$888*6U3@)RVcJB@oFJ>!EevBk*1(39?( zuz*JtL=wopT~11f<(Ufs;*gC4{tx^qdpjFvcZ|;g!aewUOY*oytM;|$13`ZmB*cVVd`^8;XpH zQ&SU?ju>M7k?{jy>z^1eP-+nq@i-Rwx_Fh8%xcHL0t59J!K3sZJHY<;O6~jFH_C0h z@vtt?9AQoX3l6d$fXuB7iWiV&5+HN{^R=Z2MIQOJpz{ld{@rI|F&Y|%A%y_&wAqeU z%Yt2Tv3AD^B>mp+r+z&h=D`sJp+>VIgb-LDQYat~pk;ZPo{oWFhhZoqfqE;pQGqHP ztg5n$i;LAgW06s7%?7OZm5aAA9ag_O@`s3@Cr3w>gr4OhB=S$1IsmX*0H?-6?q`O| z-3(YCF|}LF;6ONV`StA>c=R|ofnP+XBZP|qnKwcIfG7s=52V(IllKn31DX%v0CRIL zWU2(=$_fxJ=nW72zM?t~m+M zh1G3=E*3F4!Vs2_hZ2|4K)C=qu?UJSxTd*nSGcTU{8o&L{Q9VfH_ zAE8^mQN{EW!{S{sOVQ)p1EUEiG+~iZQH_wGBY@MuFJcUcxqrXdw~<{bfDJmC)(>~) zU4XXe-Sqq4N%~S~DUp+6YRtuf=D8jolKe(L47(>fZQfs<-<3t*zZOfdIp0I+=ETF} zb=}zbArR}RyMey$xMU)iXNxn{{h7i(x*0+&=N&Xs&`R^l${q!GndgQAXx05-eFJF$ zKm6n1*YCCdzG30v6Nma_@|RniJ3CWm2ir_QR457?6k(|Bd`(jlyWWU&6x6XmwdR(W zXM^Brp8oV05%_9~p!w8vmDuPY5)C}2AmtDupIb#mh1&|^GBsb9erN_3EkpM>nn*}G z>5wD=NvHsJo^CzH$CnP5@CMOvr5^tXmw*5r=0QhmB&=D^N-i9uyPgODit)f8q(mU!50WmXu1OuZ2GFD){1vWs?0;4mi z&|)s$R^yIB9AK%VS0GTee?FvV--1fxajvhEfGDq{X@qr*!g=3~zGK7K9DLh)I@Lck zch`JgHhwiR0nHdm1u&(>P9t)kUz}kotX?HU6g#GyyWk7ZJjVqxRJQMUj|(vBv$LqS zKn3-@z=MG*BdO_^8VM!$Z*PAr?tNvI(bej|^Ac>;k3y%i@7gj=%ttOqMhi>SzXh$4Np-@$yz70yz>d%@i3jX@BX^efrR$kPQ6g?dhLzs+U4w7~z- z{?Tu|x9_8Z{EG|_UDbEpF{B@a0na!Nwm-ytq3A&nzVw6sJGa~$_0jpow`lf?cH}ib zHWI9~pUuhb1mmcFnmWh+uDtH-{(qjMTwuo@mrVnEmKhghq4};38u>(C)`GOJne> z1Ngj2fLr`{t?C(m-Ajnpnt77N?7H9twtR%=l6;i9^_2PL^> z1!wIW=@z(f|A!#TV>9+Ryk5KIk!MDIfx}7hBgq*wG?kJ=wARR#9~1Wb`NHX%fTMEn z+@jZ<nmTzzg)>I=J=W^bxF{QJLrEvj>qy zjNRqOf~Ps)LeqVT?N;#Z>Wg&s?JYRZ+dq%IR#mlgk`T3K%D518o%bBNDc=QEsOG?j znV)>h#!l6PUuyUzu})AN=Rs5E8kF#bpx0h+j`~+rBa?fv^o$^I6)#z?2qtK;v{|{( zMn+}X!Ss7XO{!BPl*0n6GGX$8r7fDaez6;e)!*lWIrUHj1A18OFro3?3>zcz@wli; z@h3%GlCZ+p0J=vNMdKtB4a|j4n2}RsFGJTzR(tDh%f{PY54TXnqQxeG%Vy{creC{Z zR-kItJW?Oem*IO`Ho0cDpArZTbq07$RfqhbyUo(cB$h@r(|(>-VeoTxQAktd#nJe} zlB4Eq>G@oeMu@t}qJ{B9I`X?%mtwed`x5Lp-}seF5?9=^Rd4M z>5LfbZ*>!gtLfpu5uk1sO+Z~=dY|i%MajZLm(pSAXc+JidqMIpNhk!4(p)A?#y(Ix zN8h1H|0L{WFgGAYGu_pkqG?YA=W60+VF^{CqxG&eJd>&C`Sbazrx<3cZ!`1JuLBb@^6|485FXep4Bf&;8FA9Vd5h8-D zppl@fc~dWwSrYSr1;2m?oe;M|5@7~B_Z$n1|ED3j`OITwtp562jVc#2Oqf^=uC)#W zPX6tQ!&jCbl2K+11ETBYN%$GFbM$GPa4`w}bEjc4+g##`SP{ez=@G$5GWE_cf9toy z={xf;H$)AHKfOT>8#^)&evOMWpGCQ63NwoEZXCN9ZTXn++7EJ2sK?j5JU8 ze58;F$rmScnDTcPcyl4s_qkef1VZ{h1aG+UphhGCW-6pQw~~eAzd+JUH98gq_Kb7D z1c6rv0ZmXHM_mrUqJS(+VC(C$E42kfI{1FRpYQHX)uGgEXgYl)h!1z-MtEDBw4{eE z41XGLm>*|c=5Q3iSp-n9mcUa&RTe_#tJGA}iG5(}z^Wt^|M+n+SQ3EGVFUU`8B{1% z+0|!%MNKGQ$&sd~U5b{nP{b;PQM-MkQX6j*Nr1(z9F4&9BXvxyb`uYr{NO>zb2$J* z9FLF?xzhe7FRF%Md!%3%$AE5doNlxKYLpqmhr30td$W2)%N(0yykk)iWmI!WQIWVG)F~i=T7fS{ zXLQD4Mza1%0JaC-Aja=Z;JzQPhC?C$YjeZ!ZHPzJxK9tQvhPx|v%rMP$|hvuXB`3O zxvpRWoE<3{N=;0RfcPTggabaHj!?e7a>9AOD+B+^)vFf3cy`;iD`@2QfN0a}yjkWD|#tE`=IcjW+dgp&?yi^>LKU(zq!j=DKa$B zIwXsO!^?cQ!WDT#st>?K9|!CI;ezjGnC`#BvYSH zmy>jPN39>IkaKfg_(r)=o)B{3tFZd5T3mzT*X{(AGop29RY}efPvn4~99*QxdB3@} zb^3Ru2xG8yRi_$>xq3N&mwnFH89K#n_P5{uuB>fxFb{KAx9>p$8II#ss(TSW)rm4He&!N3U@(p$C%o zpuHD=`f!1DAWpS`ffF5nRzQSjY(#U@%S}Jph6d=RxOtche!pqP`e!=RkA(7%+*N4vTg{aYGx~!|HNVctqmQl4V_OZZ9IVifv&^5ADb%* zn&khp<2PF2rpM{y<*AC&^`|h${}sX`uwuNWB1Dv!>lgfVz4H|=r6fu24}PCHj2|9& z>d5kZ!XidG71%mW8rwK?S!S3IFSuMZROH?_-#T{XlBQ~t0x$`a`MD(TZjPS@9QPJrGQp>V@8T}9PF*)j)Rh)Q)KCYtw#L?>Z4*x_X!&`H>^eO_8h-P$L`#Lf(_DX{4JTf)vr2A2x?8$_G_U zk|nyo#O4V2L#7>pMFxKDyryQ(Ki93TE$|j-fK?ZnRN*wm@Ur~>kd)FkSNjZu;`u)1 z|A*10Q{g(F+uDK#97OvK#!GYfJn5@)JaoBEhhM$#LermJdo(XXo$|G z3Hg5pTL-d`j{(gx2E=kKD*cYF7#>8xqM{drYNXHo!L#DEj11CBZu zFCr{h8k3=)+YOXo3fM-z`GX%B4vfCAbhPbzpwg#^`}3oT(=Y+=2BAjEr{l`Gx@p^F z2&AV38NJ8sBw2tQvVv;5Dg_V##ORkW(jK{p0f!dwDnT(F(6x{v8{&Heknq^g!7r0N zS@a;1VD*P}b+HYQ4u<+wMqz`XV;2+0fi6jwapeIo3gWA=`U=-6anQH!9)O*U9hvZ9 zwu*p~k_Q{CjMpL?@`s-@QLX99d7^vb7^bWuVuOco%miIu+l$JxOyU@vjvxa2bOZbe zw&e%lLjiBAekwCia(LmBhPA$Hzpu%!_geuNLPQSYYeDk?qFnAb?eFMvjqns6I(6 znQG-2$f9qt)udeKgzlIoE)>$w)zN3$7cd4gQiYeYhxO|P4DRZvp*@p}1$$Kxt`{Fk zH_|YiC;8+ubsWDp)`Yb&uVZF}NioowxcQ?`9Azs$FoqHZiGJD5xGd;$tTU+ODB&GN z4pfC0A&FVD;@g&C&3Ez$v#tuw4Aj@9Ra}|vNA<86()EdO)p#S^d?u^6Zk0Gz|7Pm2 z4jHqLi7g9<0m zq4$XC;Vts`OE$e75~wM5g@tk7_TeBtej$Fu0X1cA3g{P5q2Z{q@94$9d01rnpu_xP zB1CvKu%mqK_EEfO&ETkkvoZ;(X3nk0plxh{iv8u&YxCc?Y2hIG?I#u4*5a5aKGe}l z9vJ@DUOWS{k|0MS*Bdf$k0coNmtPl?LWNEmnwR|;^R5YotnPWthC6M>9Ol#*;f=Rf zg)*+3$9|WyR-BELwhUPle@a;PqCKm83Nj)n$9Qu%2cZ!9-YIqJaYLc;TQP_6bAn0- zO9F8pjtrdL--2@`>TrYyo$Ln5_G@rl<&hzo`t8LW>;Il=dYNDubxv@W7ef|Uboc~p zttdar!wER5n6C=`xA6Kl)E_-JBvQ-0GVXRsBIfN(&wMeOya^e3oP6NEJV>{c*e1vf z=(z1T{Mibo|01yU5ucmoC;$XICTjk|@cwh78yyWUQV0{xyLjWxO-+S<)|!9z4rMer z21te>>RnLK?WV0$V^u0lPKOkg%Xf+Yo{IsV%Nfpp%WuzRdV`wh3jS?mRK|j!7IE?O zw-h&2l0u5zP9b!#GGg-Xtjui_k?Pr5K?B{Fl|NJ?!K)Pt9H=>*Q6Qlz^E|OQP(lpi zLS1O4`w_+0kCh)h{OOaH*DY@lo0u_ryqLt{%%?*Rq(FIQ4g+%O&`Uc6bmKyh?eOCy zL(*^rZ)_zyNdP!-+-HQP*mYVLUhu*z7a%L>9k7k!Rd_BK!ZE39`*-(uw~&Z| z%(B1;%ZZ=d;J!dxElJr=Ih^|6!ryPCt4C+oLBzmg;hH@B0> z@&#{qsJqlR@#o*Oh!cR<3=?SmjY`-kU}bY*WwW|%bqx$iFmR~iqnC$ZApXZ25#>(( ze?lqXH$X>S-~|quplaNyq86~pB{ZLD6nwP1sIWf?7;=lcF z^K+TN1&-b7X6vCdK#E}Xlyn@V$IvT4Cc*HW+baRyYTyfie{d>S04WE#1Ql;VEF}TIJwKFGxWhaLy^qPN}zh+OmsMoRk228S>AT{U?6OS@Vt)hdDy_)V-wO+aMak z8S+`TA)rg9h|bu+893x(umZ&pj`w7*Pr*S1Cuxae($am_@yeCt6*&IjehNFL2UmY> z_51CTE&loTs^KdFGk2zz38;%=ns?Bigf<;h23f@wPKv8!>*>$0{NL#Xw;fPZSU_}Q zmU2i&+yI8@2{OcRD#ZYwpWvGU@~nPt{`wtRI@n^gQOd=iC|-Q<>2%blaA1lcH2P}! zcSWekfPkJXd$dyp4PbUzbR67~0Dq|dmns0h#|d~9fjSxrY(zVDH8@D1sK~)8?ewG^ zUi;!OTtS15VA5*aX&9V^(f1+ zldCtVfFfyoiZ(g8$kB^5Adev%9tvN0KMi{Mh1LtX(!tiJ|KCv-2Cpnp1Iy(fClJ(; z;|l%`#x#~`L-sGdWc|9Qf=dODIXO8lTp9CtSP~5BB_*M;Dk$(^&kLzCDAdd04G>dc zv{V7lPp*H8gjLHpoWKD-hzMAl|0Ochslmw7b!Fto?i}aLCwscpLiC&j4+|X(x7ahg z-S0O^mdY~x=D+nUon0o-&F$e46Du5E2kQw-d6V|jlZ4<@$zHAn)p=~W7-ZIh?n>jh z(K0q;{5v@O`g+e^H}Rb-1(SBcG{K{b1J5)8?6k9u@_Ej_@R~$P8bn~Oupnx@!2KD%3O0)zTdc)% zLI>gE`kQ6S`3}iM;~Wyfy`%z!8f?|cp%qy{M6yQ!G4#Z!(bmIBjcfKw7c4t2`+v)# z*A+UJ{24Et=+y2S-d*s%)$ z>aH(Ub^RY7IphY@9~CJwP!CP(OvId&Ufl1HJxdv&h=v7v#gR+^7lI~FGbIdhnIZq? z80ZMNgVNT`?3NF2-II*@aQWYscCoU&a#v9P=)>;f)4jLHIt8`Ov&g{M*mQY`w$ z^QA?nFPK3qE-_go+S3$%PcW7=o%r3cpzvsM(xzKzM(^4`itBuhaz9%%e75TJYG%A0 zmXo>n7%f(XHs60g?>04}Z2A#7Qtahb?uqYy8-c7=;JbqVu`u{~2$JAl%^qc0s5W`N zm1+I!n@b(Xhhf`Uz->IfT9|@fSQ-`f=-E~H(R(wNm_ueS2Ko%O0owZa!z~w~JgDEs zOZJGk*oa^@V6!6(Ki?8!H<_O4{)l|6(k@E5F{LO<32neM30&{VrF`{Aoj<^m}(2B?v~#?oJ(;^xN?2wjg`Lj1n>}Faomf?N049VHntuf;@=%GGOjg!$`Ssn1|glynl9> zvX9eLEdC#Ggebhkw~#biUh6H14hVo?(3$*yU~}wx1d-bn6$E(C7?=ZVw|+j?c-XrI z#G&a|S1sAZ3!#QMtak4&n;V%n)%{=ybl`aLDjWt*BE}rvc+>>k5IRBuZcQEqg_@6h zp&=ni9zdv@_y|W6s3)k|-vx0ynyvEhBXZR&G3roE3{J{#Qq@Zh4R=XnbBEcIZH zi&fkviB(u@pq&;e{T(+Z;WHCvbt5pXxmr)CN-@@>os9o`qDnO5hZSu|#Wtd7T*epH-=F)nIt% z7jW^{w!FCs&>KGBjTuvLUL@N?30zRa!^Tz5&s-K_AX)FmbNTE5bpD_$?U&GhZGz&K zzeK;1KtE_l0@u8C^CrBVj8|TM*vZ%1TLy}ukiRjQDgFHXpu&oK%;_Rm253jp zZZERg*p>YOa0P=Y-O%va$U3~W1?F9ETL$In1`=Ig`p3L|IN zGnwYjlzN(^EwtnXjL)d2^KbuShN$EC)rYsV>qB9-8^FR_bvj&?`?L=mTyn8p#PI*Y zA7{teYFS)w?xNNAwnXql zo4MU{yRVw9S#p-B941Sc6L+N^M=gxTfsiV41EOHa_5(~Y%Ju^wNydgVR)BMo^s7R zETgIT;yZ0Na}$oma^Bl8-LqW=P=JPUbjmr8Ofy5$lE_rCUzIT;(ck%pnba)vAK$Ir z{J%;&4{)se_wRr0ncGfDGE#(;5mGj}jF3Gdt8&>lBC;Z6@0rZ3tg`nWMaCTx3d!Cj zDb;g+`u*rB^X9=Vp`K`*=|PU)DmeTH$@z-hfr`LBfQZf?mo)%pzOi&gY?^+3@t4=WolmWcvdMm(^8$GSkYG@ zN(sxj2_1t>JqIW&3LZ22eX1mk48cFV;>%V#f27=HlSDZfZXxq7$(VKmXL`XgYV$|w zI|jdC&PI(tR?y(+A%qCVC^58WtN?-9plGWF9Zh7n?V9?)FyCv|Bm1O{-zU%g>lxbU z8L(=5+-8LPIK*B-IgMc@xX_x-4QlMGk20nEshbjLyXPElBaSWtF}kF}Hv%luifRGFuYGF|zbS7jG^(S^c$nD+;DBBseVF zm<8!zH`if<-ZYA*qPL>-Xk_ihHb}Exh^7Zg}$& z>yQg@+F-%)i)W-R!XrCAq-Of2(Xy!Wd+hdf(6&p|7eL#kL;9=;7FD^V5xv%&q(5(* zc8=uikL8{npnH_5%UcdgZl5V%1lokthA4~+uHm-3#7m)(F5hK>E;OWC42v;LRG0pjOX#Embdu9w1Pf3g-ln=GM z&&zdLlKhX)4m8-;o)viwVGTG7_ol$)G78-q=a{-m6^7B6x@PFfU>?iWU&yzI=lT-} zy_@$d|MljQ@aALnN+cNe%7*boe((Gn^A`|Swp#)xD)L zRLJ!8lNvKfs%Dnp&>52c`(;=YDKsS3>Q6Nhd1ygWOZKi*+7NW(m(-lz{tM#22hk#& zGFG1cDeQZN-ifz?MSmy#OyAvFGb*$TyJt~2{%C)TaqXNlL<1e zi+isA+yup6OgpQu9f_oYp6;E625f>PJUb=Dm6xI?MDyPa&%Ox_qin5B%O=3imPm!H z$t@l!hHrvSj)m7fKzqZmL4@+MlND_`Gy9$HA(T7qLB)#6^{&$W%&#b6FCFZHzR z^HYIpsb)#C?+axm&c$Tb$eTY8PF4BH~XK(6?~ zwQA2I?d$BL7*h=UB=)G?QCa)9cOu3Tdhzb)<&nd-d4Uk{e`PJHf93=hzBIIpj4Zc&u1WiW79Pc#)PBl;5_m&UMk%x(4 ztApOZDr_rAqeRBXnSw@Qg5KG$N~HgQte$J?Y8b>WJbnffX^fj9&r39FuWM(RmflIx zB8i%ypov>^>5QhCz-3>d&a_))k}f8h^>kSJ1~=dELLM^2wJKE|dkvA6fI9Tt;va`Tmudm8%95OpZv z_`e+UE;zmm2O~2(Tw>+4wdu37vxTgBX#qq~5yN%Ij4~+D$6gL5J-Tt4_UW_1y8!L< z%U0yl+kWLGFJZuYuF6q@irZG)}sr@Cr z;bFMs?#NZ^8OtGw)M^TS9|F^|L@i6wGa~F z6e9x=@UU^4R&hdZcf>;A`o*#M_2ztoF!P=pA^FNZ0W{Ynwg(~IA{1W4U>6yF0 z;?}S1S5FB_ZG0Fd#qQD zmqR`lrU;VZKuEK9aPZFSlOEy8w2qZwP8*!V=Q!Sd-55@zT`Osu4Xdl&3tJaYGMrf| zN8crAlG_jQVo(DiB@g&y5e5Jx&L2ZLczJniz4xCr{sPkk4OnOpJp-g`JL_PraDump zchDMtsNm>4!a4jXZQru1GmVaEKIqSspxVVx+{fJ8t0G`QwS8f~f=Lptl8>rqRS@I< z$j^RbB^yTT`1v-|+EO%Me1>uOc9{F@(npi8w{*YSnn*b~FwLP4SCII1e_ctyZ~iVs z1in?%z(Rdfn9}LIz~C^4?rF&QTVI_Dd?yeP?RdIPp6bpGa1iNA!`9KO0@0!1`sORH z^>K-&+kX{S%+Fr0ZMsGbStK6cmZYxi(2!nh^qMoq+~0hAMq<)u)8ho-(7$kLh|SXL zLNIMBUK*l6t5?OXFTsMCjhw6+vkQ7{F7&lOT%Y`WXHLFK@5 z_eQdS8X-K{4erwUnc7BS3N=xme=pznr3bCr=K@0$xK%uOvIO288>WaQKJdCp$#bu! zhc~GP&Ui(j9CbO0)S{ncK8I5T!dES2H2)Op%A%THra+BJd0Z3uxi53)Ry^f_JNKav z%o_?CF`q_7;22sDVoMiEdl;pvlbQwbV<$h1{YrR%*7A;`A;@Z=Z@)EKRQ}11x!XHs zzS5EfI>jy-i@j!hbSB97Vqk}Aj*LbO#cE_Or|^4;B+J#m_*hAjqc@(6Xe^~)T74r7dPLJ);z=bS0)v}fW!PiUmIDGlR*CiRS z8!F6e{qqQ#2lT>l!0v)W=9`6}O7d-`B%7aGV@1bUO-SH4KD(Uv-T7PtIW8zrYkNS* zQxmU1vdjkh#u(+9#S09rlC!M6b@Qw^rx|atSJp}V!qDMBzrF6Emu8XJf z%ZD2WmA~jQnY?JBB4x%W2PLAZq~bR(h{0X$pNB|TLt99nWL@?gOOUVRBLRt*a+(l3 zNQ>_0Jg-?aVZJ=!L~pENgJG|66ggfBH%3l?7*yd<(Bt=Dbq{nrvFJW)%K>5ARqRN;s)uO<2woV0l*w4GxWq6+t1ry4#=9D9j&i9hyJjXZ9C9 zvM&xQ&@LYQKx;3?c2|K+@+0*W+s*UaeGlTUNLs2Bi{eN&R+)lSh>W?~%@${t;37#R z-I9WhQM{Ka?XaqzDO0TzzbkQ=`34*Nn~G3rxV^|OTTQoP=oIeV_>07*-6+XF4>^_J8+d8)S#+u;8~al6wJc?|%)i{9L&(?v>e%DXS0lTD zReWG14r#aiVVvz*{>janfv%3w$48jpDMPcr$#`8q;hK8gL(ZHk<66(?EqRF~3npNpH*Md0AThS1=YH&LCKWhhCopv?zR z#06py{4h=3&#_M~`)h!i^l7O12z-nE??(=N<{maSIj)*ZNn|p8tAh1c!fXmu6A%9G zioIxE^G?{xtrl1b43ZL7VWMf8mB6r`8h%;#btOs|*?fhP^jab#K6fw>8Cl#~yiySV zN_Q_Bt{+=}_sQizTJd{%7^pis3@p}}9hg=kO0@`v3LljjzgcJ>mE)gE4bN-P*1T0& z8aBm0L>2V~?>~GgCv#l@6%7sIZ^x@BL9zJ6cE z@lZgcDEVuAx`TDhnjBZNiezxtWL%7)Q_0CcO&+tr!un_6zRQ9TUCg1syJzFfr7{+; zK~qIN|HAg~O;tFFBh-BA)Q__A%HLRZKfH9f-27$AdDS^^3`r7m&83=O=^_6rKKrc~ zWUHb7G>*QN$OqdjI=IK}SMX(tszh4avG=7BjgA70hGQcZB5Y?O!Kh3Ua=(V(gtH+O?%#rw^rbR;OcU>pjw`Fn{jvr*X1^*JVwP z0gMFBg2ktM_(h`!LouBFXad`VZQBq8dWAtVi+-SB+)z4)c zGgQ)ia=YRUU-h3US)}HkMF+BVI8}r+&f)tqaU5XVIGjqhJj^Y#SneWl(uS(~@vF|L z?`P*~ItotmSeH9jV9GL=Lo}hTrr;3#cheO`7L(-lnd@=vl&O+(5xK%L z1;=gpQ(`tcw&`X|B7#%Ae`kRC$bf;b$RX+VhLHDHO=LqqzI{w=Rzi8tIM^H%F(}JP z?)wTtx8ptk9wD@&I)IDn=Pz(QuVNTWd@Ft|S2JH*E?dzV z?{W7!nx9!Kl{S&*0S}c+m^y0C^lbbt1&lznV8fXSf_;aWuj={J89NL~7U=R0RfMwF zi%`jopZ0aV&FshA_D-X&^gNxX*xySjyrgLxx&;5Jp4>>kqM+eeQS~!$|oTQ@B zG%uQ#DOb5z(=qUynA%}yL*_6U7aIalytcvP#GNj)DhqyW*Q_sfG0bWyP=QWWH(Up)(Fi?6lm=R@vc zI`idtN2Bze%b34>o#)NohhJ$brZ9Oix^$bFXcb4 zI%Z@{zxte5UC&=@L#(=r(Z=*b8!-lPECKn(VZrvp>s;RO;}7&hq&18|J)}VC>;9nv z6!$j#w?72AI1ug~(d$9{fy^L4`TO|gEI+>j&@2$@=C?p7B)MRgmyzDvZH4kCS(*Uh zKFqa=d7(jbxtNN|W9rRxDf=Je&OI{XICcNB5fkhVws}=fRXASRym(xTzD!Acrrv2j z^$}QBSzZfL-+yc9do_p_M#mKg4k_4JK|UU1Y!VQ+yf2=T5d~hhME1=Rt!(vL0p7}Y z76DCk8~OKRLpkWQf~KC3fF$zWZ_@fe8W{#ePC(%Nb~OV0ZT~@3L}+N6@Ss!&vrM)& z&vTOfypjji#OL0dtJ8<6e>~-`6Rb^uk1fzX(QAC4mR&&3yOMlMTYn#@8JW>}5<#g1F0;>Q!@eFix>m$3ix=i!jH~ zpe9A2{Nqgc@!zfJEOp_wl7ZF#By_tyr+u!dEG^o z!(3el!ePCkvlXwUV3c=s6)QsU)TCdqy=yHSS0=1krUc8p0)znB)*_P4FQtNxoMA13 zT$-&RF|^nIznf$LhG@|AsK;EW6+F1oiwg^5lNF&RL2%8D#@)}PjO}=6z)#2%Msm`I z05$`;oFggwN>+?4(J79B;O{!)Novw3jP(*>5N{>^ehco7iV#}4EXm}`XI&SlR-%*X zmVDMIcz^Dd;CM9*BK;j|7ebG1TROo6AK${yi&F9wkWN7%l8(bKe+lAsC>6+->Dasl zBr1J&mEtfq9h2R_5R+tMZodd?xb7!k@~Y11IN`!e8AMznM`6EgmWEv#;%-%KmIf(m zxD?TOs&I(-&Dds91SttqK7Z(R`DOF&E7cr7kaV4mpadJm=c6YZMR5CGkKW$B#>cJj zb(MCuOy1koJjnSYbDGn3k?0Y%K0XDU9!IP&m6PCe+QsLTH~1@hEookw#u0;qvSe}V zdB&-!!Eg6+TWDtUCY!1b7*rKr^$Glx3MwFCd`$@s6{B6%OudnCK7dscgbCzB_?Z$dj7id3l%`+>R^seG7jg(V}c=4Z+3OaDe zV&;#CpFyxfE#-XPyH`1*wm_*{UH4GXK~{j|$22#5Bt6q;$J}D5B5W8_`cI!X>NyVk z>}e6h7Um-*c%C!?zaxY)yNfj+4=2UD%bI=2xyAuQv!(!}wqt!L1^44tCV zD*w{K9DRestpsg3zoe?CkvLwCH_G>&qy-?N=!eVl)8>%Piw1XtP<%4P?gRTrDkAm6 z!h2s_n8P*GE!TC`#yYkpm=NtypFAyQ=+qn_xcShdu;c?**;VR$ZhT8sd|z)R4B>UQ z#tLRiblZ)K1Fq);M(L3>J@LVd)5om3q@5SSK&L2GN9ziS>dW8Pgg-;T5EF8mk%6#| zInXIEKcIa;MW^hkbBHVt`XT*Q?{p=N`HY9^HXv#!JsA|FG|!l#*~aHC%BkY_q>?dG zFE2W-0wy*|o^bJ>VYujPR&p8@y9fGIYTz$C!S!Bqm0rraFoC|Y>I+47Nk&f1!R}l4 zRUfqP($3_``dyE}nvTM}YAETm-u^T>K;PQkeStP+5kzA<4^?4mhrq+3i9@@zzv*Un z+Wq=eRmPl*d-{Gn5yv50tOqF~XfQ3iXPKEIw=3O553@X-o(rjM*i%`>84kZCJi1y!=5 zXUg zU&c5H16TU-z7hYE^Y6_LA48j+{iXup?a-^AFSdcbsKU?=yO z@k`5!zEq*3s{E(|?;h#rALJT+lz;>KZ%Lu2>WukmoaE@0fD6s|5y9kHfZuTdE* z8{gD_a`C$9g7erq?v^g)tx?LQ*JGQaIG(KeI1%<;J$}1Bp><(9pR#Zmb6G>5APVRs45)&1n zh>lY-)-KRJGn-e<6HVEd>URdm;G*)($5BAtb-kE7;p!`0>lS@n9z_!&F38QjQ7#sz z|E7XxR_V{%a}E`yjn}m6n{q3+>L)l)By?w0{;+hKmUx+=pQkBPrj=OTTQr+y+T9xV=ykdqpym;!F zr&G72)rWol=o|YeFmcCuvc8##GJgMh0PUF7NFw>$<{F=%gQmPnrk56UdDC+?j7bI` z_^VG=o*a)giZhI_t~E60y%b!vrg?jvqfl+W`f<>19n8Ic!W~QdMbV^g;44}_@5+nk zE{LZrz!_7F;z(ZOR>dawY=a0_Mg;9SUT`<$l?0s3>k&9-Jjivb+s0om&P`6MqOhMu zH%?Kb-aalA$4@AsIEoJyU@Z>BQ&dJwaB5mrTrShs`k4%35H*YyvSyGF60v6J!j#Fb zU9}Skhk50i$dgqnsi#TqFPBrNcJ5DxokL^w$r6fVc}MNz9`wugPWLoRo(yQLBL6&g z!k|nxq|D9bs-kd<{V(!)rnLD!g%pypjk#i2v6zxt4J_;ppV~<%7qRmALGsHjQ=2cd z=;ze&{8K7NbB zPf?S+Hm|;@%l_MRQY1F%F;q^Po|3C`C2yBIsT6iLm~ zQh$mZGsaeBvNSWHHsR>I_k)9j>%N7hJ@_xwjW&a=@FT-zAmi=M%?~NJ&q9_uh76<) z@F7qUO))|s8-hUzEXk6R@k$;4@ozi^GQ#6zAX5Mh_M1uYe`+|^w*Mw{hx(B3`k{(g zEce9p+ZxBS@67<)1B75M06_tRwstYYD>^Z8p)~}*0VJMQ0Qn992p$+tsBYzk4+k;e zTm5@`uON052M58as~MG(r@)>L*czZuv4g-L>BCP*OSjOKW!n_hF92YxU~1K8(!OS5 z{R3`X3iRBc*CrSMPY<+zR0_ojDls+OEBbU@Lq!E4k+T4C$;|u!DfmyGJQ?B1JF52x ze_Y(jyl#9S^s$wbJqe}zP`^VN@<#J=J;=ij%5=W>n+|2?G0QKA=K2sduFS zPlT&^rKmn+c>rT#0lovKcfSDBGYc>707$hzR0KnGe|YF=LBYhmBT$440icmU2=X)C z&|v;><7})D%<3+xx4{tneC;~0lE1%q-)k5Vg$j6^$x@!@p*Ymlr)Dk3dEzMKA5hE6 z%KA56)!np)BqS)mQEfDk0wLNJ!n8w1NPI4~Naqor)UW5bSO12a50na-|8BCLng-Rv zP)5z`%UTktJT)d5ISC;0w9J|3`n4%GQj zM42JVDUt?_9U~~eO17GTivV7}E`aiWw1_x6Dc1`}rvPJ|K6UiPNGFhkA(FXtQpW5Aoa zGM=81A&8;6Xr|;^O?x{~@eHaT(L&B_=Q5O5soVPWiGlQfmh;(6=F%1$jzFMj`+0m@ z&OdW6yx8nHtsDReANu}SH9Nk2bn;E9A^D(3M4^Qpft?Is7@!?w0dCx=o}~$xIRX_G z6`Js;K97K&1G!OIbpM768StMV)w(u81Qi1A`~U`)GN5&)7rp_qC=4o?G~ho2st`o* zAMt89oE*4-pb`qlW?XbM20AwAf04WWyVmeeU?|JOH%1IkfR(-2tNSLpI6seJKx4;r zHk;Dp;{$z#WM%iTJWG_8-Uf2#l|e*nB5M1UYdU&t(2(T5LO0j605 z-$67n2zv|z!XLqjphbsni2$>@+)M3WszEjer%TUGl@-e>)|=s*0+DE9x=g!}mXUG( z*qJ8ex!taE8?`h_VAs5hkuI)YgM*LOHN1!6<0~XeNj6 zNA=xdpf-2wfQPJ511f>K?|&CGtvn-+i@ zHiH%lxL^%EH5B&ra(nj@CKXfjA9i~Z#V<WcYCx47R0mB#Nr@A@BDPg; zH@-!IEd{usHFZCMt_k|T_Kl-(YldQsH2X)tgTo8vKMWt`cZ;xGvGX&B9rTQin$|iI zq@<*TgohK)+#Tl+Y>nr=hPv(mihRgJL8i5hvR7VpVB3XafYGLN4NyJ+677A{_OEh_ z@TI*_NSB~>!_7SpUmDV7;ooNN^m4rRd^P;vMd)n`0>n2k?+j2KEo8Ac z42ofQ;Ubd>r~`0H%<&yR5RK0OEQ<&1)rg4>3;JO>@@*jTJp|5O7^-h;0rC!HA4Y#^ zBI|9ShF&L(RP-0hr2%Ut6pRg_;0OmKsRuYYz~1Ng6(qi>4onve8W{Bgs4$v$IB?(9 z5sw_eT=K|%2H^!IR5dWNK9_HLDfJUP7OEuoL4|D9pom4noJKtNN^D?@uQ-T zCEaj{(2Ks#9Q4K(-4)mXn*-q6{;+S!0|)_5Y0->sVjvmsZe#NQ=n#w6P8)1 z!pj6KXlCH91%QpZ;$q|((@zMHo}H5u1ls|)+%2|d+FW){1%7YpmYe#TI=wCWWF;<; zHhcRmD`en9dWXeHk8=PIrC>DA*?#z1Wc7%qq@g8+w6wF~AtF)|Vc^jXPS zSa2dMC%ix=PkRwi{ znMCggj8GvUWdhom2m`1;H3r({fHrd(fF(5k0$>dlnEBBT4PiB`{MIlhF)^_@TBXlh zkz)|qH3zvfi0+r(RB)jZ*$8rs#5$Rp<@bX^(hvWVql=kbg^)h!AIHOC1GNN9EfQ%% z83Ci^pTNOw1w{DF>M9iwp#d+5NTpp}U9e+SPCM`3Z94c9RO?V&EDEe_7nXKu=|-90 z$lSZmn}9KK{UeV3D$XO%SJ%qB%JcPZ$g z|BfVlpp*mX_Ug$RAWs-T;2#Wp(7spe4xXZEeitlFJSZ) z91y1wktQp=_8j0KVh%eJBDN#X0YIJ*;}d3*GL-HDZZ@)Yf}t2nT^>VK#bB{P3kn$W zn4r#JbQE6X=r$a?XW$^*4u>d&DTRn)(1%|ky~`B<@0iMfF$0dsKfHJPP62`(W}FC8 zucN62q9`(0SHn@&9cgJKvTKKe$guMI&g3OsZ--*FXduBRh31dDKmY<)!i!Mp69{F` z!1B`rK=@;Kz$7xt{TuRpg40Fxk4v9vp-erh%qJ=gIQ>(y4I#0mOFx^X31SU;kt;5o)2iyx0(h!G9`>8VaRy<^lf$##GU9 literal 0 HcmV?d00001