###  What does this PR do?
Currently, Accelerate has supported ascend npu([see](https://github.com/huggingface/accelerate/pull/1676)).
This PR enables users to leverage the ascend npu for training and inference of 🤗 Transformers models.
For example, you can run the official glue text-classification task using ascend npu with below command:
```bash
export TASK_NAME=sst2
time python -m torch.distributed.run --nproc_per_node 8 run_glue.py \
  --model_name_or_path bert-base-cased \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 128 \
  --per_device_train_batch_size 32 \
  --learning_rate 2e-5 \
  --num_train_epochs 3 \
  --output_dir ./output
```

Below are the output logs:
```text
WARNING:__main__:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. 
*****************************************
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 2, device: npu:2, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 1, device: npu:1, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 5, device: npu:5, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 3, device: npu:3, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 261.94it/s]
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 7, device: npu:7, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
  0%|                                                                                       | 0/3 [00:00<?, ?it/s]07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 224.74it/s]
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 229.06it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 4, device: npu:4, n_gpu: 1distributed training: True, 16-bits training: False
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 220.52it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
  0%|                                                                                       | 0/3 [00:00<?, ?it/s]07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 6, device: npu:6, n_gpu: 1distributed training: True, 16-bits training: False
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 218.07it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 144.02it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 220.95it/s]
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,044 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,134 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,225 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,255 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,349 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,451 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,487 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
07/18/2023 22:10:04 - WARNING - __main__ - Process rank: 0, device: npu:0, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:04 - INFO - __main__ - Training/evaluation parameters TrainingArguments(
_n_gpu=1,
adafactor=False,
adam_beta1=0.9,
adam_beta2=0.999,
adam_epsilon=1e-08,
auto_find_batch_size=False,
bf16=False,
bf16_full_eval=False,
data_seed=None,
dataloader_drop_last=False,
dataloader_num_workers=0,
dataloader_pin_memory=True,
ddp_backend=None,
ddp_broadcast_buffers=None,
ddp_bucket_cap_mb=None,
ddp_find_unused_parameters=None,
ddp_timeout=1800,
debug=[],
deepspeed=None,
disable_tqdm=False,
do_eval=True,
do_predict=False,
do_train=True,
eval_accumulation_steps=None,
eval_delay=0,
eval_steps=None,
evaluation_strategy=no,
fp16=False,
fp16_backend=auto,
fp16_full_eval=False,
fp16_opt_level=O1,
fsdp=[],
fsdp_config={'fsdp_min_num_params': 0, 'xla': False, 'xla_fsdp_grad_ckpt': False},
fsdp_min_num_params=0,
fsdp_transformer_layer_cls_to_wrap=None,
full_determinism=False,
gradient_accumulation_steps=1,
gradient_checkpointing=False,
greater_is_better=None,
group_by_length=False,
half_precision_backend=auto,
hub_model_id=None,
hub_private_repo=False,
hub_strategy=every_save,
hub_token=<HUB_TOKEN>,
ignore_data_skip=False,
include_inputs_for_metrics=False,
jit_mode_eval=False,
label_names=None,
label_smoothing_factor=0.0,
learning_rate=2e-05,
length_column_name=length,
load_best_model_at_end=False,
local_rank=0,
log_level=passive,
log_level_replica=warning,
log_on_each_node=True,
logging_dir=./output/runs/Jul18_22-09-51_localhost.localdomain,
logging_first_step=False,
logging_nan_inf_filter=True,
logging_steps=500,
logging_strategy=steps,
lr_scheduler_type=linear,
max_grad_norm=1.0,
max_steps=-1,
metric_for_best_model=None,
mp_parameters=,
no_cuda=False,
num_train_epochs=3.0,
optim=adamw_hf,
optim_args=None,
output_dir=./output,
overwrite_output_dir=False,
past_index=-1,
per_device_eval_batch_size=8,
per_device_train_batch_size=32,
prediction_loss_only=False,
push_to_hub=False,
push_to_hub_model_id=None,
push_to_hub_organization=None,
push_to_hub_token=<PUSH_TO_HUB_TOKEN>,
ray_scope=last,
remove_unused_columns=True,
report_to=[],
resume_from_checkpoint=None,
run_name=./output,
save_on_each_node=False,
save_safetensors=False,
save_steps=500,
save_strategy=steps,
save_total_limit=None,
seed=42,
sharded_ddp=[],
skip_memory_metrics=True,
tf32=None,
torch_compile=False,
torch_compile_backend=None,
torch_compile_mode=None,
torchdynamo=None,
tpu_metrics_debug=False,
tpu_num_cores=None,
use_ipex=False,
use_legacy_prediction_loop=False,
use_mps_device=False,
warmup_ratio=0.0,
warmup_steps=0,
weight_decay=0.0,
xpu_backend=None,
)
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset Infos from /root/.cache/huggingface/modules/datasets_modules/datasets/glue/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
07/18/2023 22:10:04 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists.
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset info from /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
07/18/2023 22:10:04 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset info from /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 279.65it/s]
[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,346 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,352 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "finetuning_task": "sst2",
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,353 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,354 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file vocab.txt
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file tokenizer.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file added_tokens.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file special_tokens_map.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file tokenizer_config.json
[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,355 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,356 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|modeling_utils.py:2600] 2023-07-18 22:10:04,436 >> loading weights file bert-base-cased/pytorch_model.bin
[INFO|modeling_utils.py:3319] 2023-07-18 22:10:06,936 >> Some weights of the model checkpoint at bert-base-cased were not used when initializing BertForSequenceClassification: ['cls.predictions.transform.LayerNorm.bias', 'cls.predictions.bias', 'cls.predictions.transform.dense.bias', 'cls.seq_relationship.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.decoder.weight']
- This IS expected if you are initializing BertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing BertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:06,936 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - INFO - __main__ - Sample 14592 of the training set: {'sentence': 'a great movie ', 'label': 1, 'idx': 14592, 'input_ids': [101, 170, 1632, 2523, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - INFO - __main__ - Sample 3278 of the training set: {'sentence': 'entertaining , if somewhat standardized , action ', 'label': 1, 'idx': 3278, 'input_ids': [101, 15021, 117, 1191, 4742, 18013, 117, 2168, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - INFO - __main__ - Sample 36048 of the training set: {'sentence': 'even when there are lulls , the emotions seem authentic , ', 'label': 1, 'idx': 36048, 'input_ids': [101, 1256, 1165, 1175, 1132, 181, 11781, 1116, 117, 1103, 6288, 3166, 16047, 117, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
[INFO|trainer.py:763] 2023-07-18 22:10:11,652 >> The following columns in the training set don't have a corresponding argument in `BertForSequenceClassification.forward` and have been ignored: idx, sentence. If idx, sentence are not expected by `BertForSequenceClassification.forward`,  you can safely ignore this message.
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[INFO|trainer.py:1686] 2023-07-18 22:10:14,427 >> ***** Running training *****
[INFO|trainer.py:1687] 2023-07-18 22:10:14,427 >>   Num examples = 67,349
[INFO|trainer.py:1688] 2023-07-18 22:10:14,427 >>   Num Epochs = 3
[INFO|trainer.py:1689] 2023-07-18 22:10:14,427 >>   Instantaneous batch size per device = 32
[INFO|trainer.py:1692] 2023-07-18 22:10:14,427 >>   Total train batch size (w. parallel, distributed & accumulation) = 256
[INFO|trainer.py:1693] 2023-07-18 22:10:14,427 >>   Gradient Accumulation steps = 1
[INFO|trainer.py:1694] 2023-07-18 22:10:14,427 >>   Total optimization steps = 792
[INFO|trainer.py:1695] 2023-07-18 22:10:14,429 >>   Number of trainable parameters = 108,311,810
  0%|                                                                                     | 0/792 [00:00<?, ?it/s][W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
  0%|                                                                           | 1/792 [00:24<5:20:41, 24.33s/it] 63%|███████████████████████████████████████████████▎                           | 500/792 [02:39<00:57,  5.10it/s]{'loss': 0.2132, 'learning_rate': 7.373737373737374e-06, 'epoch': 1.89}                                           
 63%|███████████████████████████████████████████████▎                           | 500/792 [02:43<00:57,  5.10it/s][INFO|trainer.py:2807] 2023-07-18 22:13:00,287 >> Saving model checkpoint to ./output/checkpoint-500
[INFO|configuration_utils.py:458] 2023-07-18 22:13:00,289 >> Configuration saved in ./output/checkpoint-500/config.json
[INFO|modeling_utils.py:1851] 2023-07-18 22:13:01,488 >> Model weights saved in ./output/checkpoint-500/pytorch_model.bin
[INFO|tokenization_utils_base.py:2214] 2023-07-18 22:13:01,489 >> tokenizer config file saved in ./output/checkpoint-500/tokenizer_config.json
[INFO|tokenization_utils_base.py:2221] 2023-07-18 22:13:01,489 >> Special tokens file saved in ./output/checkpoint-500/special_tokens_map.json
100%|███████████████████████████████████████████████████████████████████████████| 792/792 [03:44<00:00,  5.38it/s][INFO|trainer.py:1934] 2023-07-18 22:13:58,740 >> 

Training completed. Do not forget to share your model on huggingface.co/models =)


{'train_runtime': 224.3121, 'train_samples_per_second': 900.741, 'train_steps_per_second': 3.531, 'train_loss': 0.17379718356662327, 'epoch': 3.0}
100%|███████████████████████████████████████████████████████████████████████████| 792/792 [03:44<00:00,  3.53it/s]
[INFO|trainer.py:2807] 2023-07-18 22:13:58,745 >> Saving model checkpoint to ./output
[INFO|configuration_utils.py:458] 2023-07-18 22:13:58,747 >> Configuration saved in ./output/config.json
[INFO|modeling_utils.py:1851] 2023-07-18 22:13:59,855 >> Model weights saved in ./output/pytorch_model.bin
[INFO|tokenization_utils_base.py:2214] 2023-07-18 22:13:59,857 >> tokenizer config file saved in ./output/tokenizer_config.json
[INFO|tokenization_utils_base.py:2221] 2023-07-18 22:13:59,857 >> Special tokens file saved in ./output/special_tokens_map.json
***** train metrics *****
  epoch                    =        3.0
  train_loss               =     0.1738
  train_runtime            = 0:03:44.31
  train_samples            =      67349
  train_samples_per_second =    900.741
  train_steps_per_second   =      3.531
07/18/2023 22:13:59 - INFO - __main__ - *** Evaluate ***
[INFO|trainer.py:763] 2023-07-18 22:13:59,922 >> The following columns in the evaluation set don't have a corresponding argument in `BertForSequenceClassification.forward` and have been ignored: idx, sentence. If idx, sentence are not expected by `BertForSequenceClassification.forward`,  you can safely ignore this message.
[INFO|trainer.py:3081] 2023-07-18 22:13:59,926 >> ***** Running Evaluation *****
[INFO|trainer.py:3083] 2023-07-18 22:13:59,926 >>   Num examples = 872
[INFO|trainer.py:3086] 2023-07-18 22:13:59,926 >>   Batch size = 8
 100%|█████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00,  1.85it/s]
***** eval metrics *****
  epoch                   =        3.0
  eval_accuracy           =     0.9186
  eval_loss               =      0.258
  eval_runtime            = 0:00:09.61
  eval_samples            =        872
  eval_samples_per_second =     90.662
  eval_steps_per_second   =      1.456

real	4m38.911s
user	39m59.583s
sys	4m9.578s

```

cc @sgugger 
add ascend npu accelerator support. ###  What does this PR do?
Currently, Accelerate has supported ascend npu([see](https://github.com/huggingface/accelerate/pull/1676)).
This PR enables users to leverage the ascend npu for training and inference of 🤗 Transformers models.
For example, you can run the official glue text-classification task using ascend npu with below command:
```bash
export TASK_NAME=sst2
time python -m torch.distributed.run --nproc_per_node 8 run_glue.py \
  --model_name_or_path bert-base-cased \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 128 \
  --per_device_train_batch_size 32 \
  --learning_rate 2e-5 \
  --num_train_epochs 3 \
  --output_dir ./output
```

Below are the output logs:
```text
WARNING:__main__:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. 
*****************************************
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 2, device: npu:2, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 1, device: npu:1, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 5, device: npu:5, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 3, device: npu:3, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 261.94it/s]
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 7, device: npu:7, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
  0%|                                                                                       | 0/3 [00:00<?, ?it/s]07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 224.74it/s]
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 229.06it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 4, device: npu:4, n_gpu: 1distributed training: True, 16-bits training: False
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 220.52it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
  0%|                                                                                       | 0/3 [00:00<?, ?it/s]07/18/2023 22:10:00 - WARNING - __main__ - Process rank: 6, device: npu:6, n_gpu: 1distributed training: True, 16-bits training: False
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 218.07it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 144.02it/s]
07/18/2023 22:10:00 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 220.95it/s]
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,044 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,134 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,225 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,255 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,349 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,451 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:03,487 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.bias', 'classifier.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
07/18/2023 22:10:04 - WARNING - __main__ - Process rank: 0, device: npu:0, n_gpu: 1distributed training: True, 16-bits training: False
07/18/2023 22:10:04 - INFO - __main__ - Training/evaluation parameters TrainingArguments(
_n_gpu=1,
adafactor=False,
adam_beta1=0.9,
adam_beta2=0.999,
adam_epsilon=1e-08,
auto_find_batch_size=False,
bf16=False,
bf16_full_eval=False,
data_seed=None,
dataloader_drop_last=False,
dataloader_num_workers=0,
dataloader_pin_memory=True,
ddp_backend=None,
ddp_broadcast_buffers=None,
ddp_bucket_cap_mb=None,
ddp_find_unused_parameters=None,
ddp_timeout=1800,
debug=[],
deepspeed=None,
disable_tqdm=False,
do_eval=True,
do_predict=False,
do_train=True,
eval_accumulation_steps=None,
eval_delay=0,
eval_steps=None,
evaluation_strategy=no,
fp16=False,
fp16_backend=auto,
fp16_full_eval=False,
fp16_opt_level=O1,
fsdp=[],
fsdp_config={'fsdp_min_num_params': 0, 'xla': False, 'xla_fsdp_grad_ckpt': False},
fsdp_min_num_params=0,
fsdp_transformer_layer_cls_to_wrap=None,
full_determinism=False,
gradient_accumulation_steps=1,
gradient_checkpointing=False,
greater_is_better=None,
group_by_length=False,
half_precision_backend=auto,
hub_model_id=None,
hub_private_repo=False,
hub_strategy=every_save,
hub_token=<HUB_TOKEN>,
ignore_data_skip=False,
include_inputs_for_metrics=False,
jit_mode_eval=False,
label_names=None,
label_smoothing_factor=0.0,
learning_rate=2e-05,
length_column_name=length,
load_best_model_at_end=False,
local_rank=0,
log_level=passive,
log_level_replica=warning,
log_on_each_node=True,
logging_dir=./output/runs/Jul18_22-09-51_localhost.localdomain,
logging_first_step=False,
logging_nan_inf_filter=True,
logging_steps=500,
logging_strategy=steps,
lr_scheduler_type=linear,
max_grad_norm=1.0,
max_steps=-1,
metric_for_best_model=None,
mp_parameters=,
no_cuda=False,
num_train_epochs=3.0,
optim=adamw_hf,
optim_args=None,
output_dir=./output,
overwrite_output_dir=False,
past_index=-1,
per_device_eval_batch_size=8,
per_device_train_batch_size=32,
prediction_loss_only=False,
push_to_hub=False,
push_to_hub_model_id=None,
push_to_hub_organization=None,
push_to_hub_token=<PUSH_TO_HUB_TOKEN>,
ray_scope=last,
remove_unused_columns=True,
report_to=[],
resume_from_checkpoint=None,
run_name=./output,
save_on_each_node=False,
save_safetensors=False,
save_steps=500,
save_strategy=steps,
save_total_limit=None,
seed=42,
sharded_ddp=[],
skip_memory_metrics=True,
tf32=None,
torch_compile=False,
torch_compile_backend=None,
torch_compile_mode=None,
torchdynamo=None,
tpu_metrics_debug=False,
tpu_num_cores=None,
use_ipex=False,
use_legacy_prediction_loop=False,
use_mps_device=False,
warmup_ratio=0.0,
warmup_steps=0,
weight_decay=0.0,
xpu_backend=None,
)
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset Infos from /root/.cache/huggingface/modules/datasets_modules/datasets/glue/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
07/18/2023 22:10:04 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists.
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset info from /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
07/18/2023 22:10:04 - WARNING - datasets.builder - Found cached dataset glue (/root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)
07/18/2023 22:10:04 - INFO - datasets.info - Loading Dataset info from /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad
100%|██████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 279.65it/s]
[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,346 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,352 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "finetuning_task": "sst2",
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,353 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,354 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file vocab.txt
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file tokenizer.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file added_tokens.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file special_tokens_map.json
[INFO|tokenization_utils_base.py:1841] 2023-07-18 22:10:04,355 >> loading file tokenizer_config.json
[INFO|configuration_utils.py:710] 2023-07-18 22:10:04,355 >> loading configuration file bert-base-cased/config.json
[INFO|configuration_utils.py:768] 2023-07-18 22:10:04,356 >> Model config BertConfig {
  "_name_or_path": "bert-base-cased",
  "architectures": [
    "BertForMaskedLM"
  ],
  "attention_probs_dropout_prob": 0.1,
  "classifier_dropout": null,
  "gradient_checkpointing": false,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "model_type": "bert",
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "pad_token_id": 0,
  "position_embedding_type": "absolute",
  "transformers_version": "4.31.0.dev0",
  "type_vocab_size": 2,
  "use_cache": true,
  "vocab_size": 28996
}

[INFO|modeling_utils.py:2600] 2023-07-18 22:10:04,436 >> loading weights file bert-base-cased/pytorch_model.bin
[INFO|modeling_utils.py:3319] 2023-07-18 22:10:06,936 >> Some weights of the model checkpoint at bert-base-cased were not used when initializing BertForSequenceClassification: ['cls.predictions.transform.LayerNorm.bias', 'cls.predictions.bias', 'cls.predictions.transform.dense.bias', 'cls.seq_relationship.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.decoder.weight']
- This IS expected if you are initializing BertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing BertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
[WARNING|modeling_utils.py:3331] 2023-07-18 22:10:06,936 >> Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-cased and are newly initialized: ['classifier.weight', 'classifier.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:06 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - INFO - __main__ - Sample 14592 of the training set: {'sentence': 'a great movie ', 'label': 1, 'idx': 14592, 'input_ids': [101, 170, 1632, 2523, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - INFO - __main__ - Sample 3278 of the training set: {'sentence': 'entertaining , if somewhat standardized , action ', 'label': 1, 'idx': 3278, 'input_ids': [101, 15021, 117, 1191, 4742, 18013, 117, 2168, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - INFO - __main__ - Sample 36048 of the training set: {'sentence': 'even when there are lulls , the emotions seem authentic , ', 'label': 1, 'idx': 36048, 'input_ids': [101, 1256, 1165, 1175, 1132, 181, 11781, 1116, 117, 1103, 6288, 3166, 16047, 117, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}.
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-6dd95798535d1820.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-0f938cc5dd2d8410.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
07/18/2023 22:10:11 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /root/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad/cache-d00cbf8279e5d543.arrow
[INFO|trainer.py:763] 2023-07-18 22:10:11,652 >> The following columns in the training set don't have a corresponding argument in `BertForSequenceClassification.forward` and have been ignored: idx, sentence. If idx, sentence are not expected by `BertForSequenceClassification.forward`,  you can safely ignore this message.
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[W LegacyTypeDispatch.h:79] Warning: AutoNonVariableTypeMode is deprecated and will be removed in 1.10 release. For kernel implementations please use AutoDispatchBelowADInplaceOrView instead, If you are looking for a user facing API to enable running your inference-only workload, please use c10::InferenceMode. Using AutoDispatchBelowADInplaceOrView in user code is under risk of producing silent wrong result in some edge cases. See Note [AutoDispatchBelowAutograd] for more details. (function operator())
[INFO|trainer.py:1686] 2023-07-18 22:10:14,427 >> ***** Running training *****
[INFO|trainer.py:1687] 2023-07-18 22:10:14,427 >>   Num examples = 67,349
[INFO|trainer.py:1688] 2023-07-18 22:10:14,427 >>   Num Epochs = 3
[INFO|trainer.py:1689] 2023-07-18 22:10:14,427 >>   Instantaneous batch size per device = 32
[INFO|trainer.py:1692] 2023-07-18 22:10:14,427 >>   Total train batch size (w. parallel, distributed & accumulation) = 256
[INFO|trainer.py:1693] 2023-07-18 22:10:14,427 >>   Gradient Accumulation steps = 1
[INFO|trainer.py:1694] 2023-07-18 22:10:14,427 >>   Total optimization steps = 792
[INFO|trainer.py:1695] 2023-07-18 22:10:14,429 >>   Number of trainable parameters = 108,311,810
  0%|                                                                                     | 0/792 [00:00<?, ?it/s][W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
[W reducer.cpp:1278] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())
  0%|                                                                           | 1/792 [00:24<5:20:41, 24.33s/it] 63%|███████████████████████████████████████████████▎                           | 500/792 [02:39<00:57,  5.10it/s]{'loss': 0.2132, 'learning_rate': 7.373737373737374e-06, 'epoch': 1.89}                                           
 63%|███████████████████████████████████████████████▎                           | 500/792 [02:43<00:57,  5.10it/s][INFO|trainer.py:2807] 2023-07-18 22:13:00,287 >> Saving model checkpoint to ./output/checkpoint-500
[INFO|configuration_utils.py:458] 2023-07-18 22:13:00,289 >> Configuration saved in ./output/checkpoint-500/config.json
[INFO|modeling_utils.py:1851] 2023-07-18 22:13:01,488 >> Model weights saved in ./output/checkpoint-500/pytorch_model.bin
[INFO|tokenization_utils_base.py:2214] 2023-07-18 22:13:01,489 >> tokenizer config file saved in ./output/checkpoint-500/tokenizer_config.json
[INFO|tokenization_utils_base.py:2221] 2023-07-18 22:13:01,489 >> Special tokens file saved in ./output/checkpoint-500/special_tokens_map.json
100%|███████████████████████████████████████████████████████████████████████████| 792/792 [03:44<00:00,  5.38it/s][INFO|trainer.py:1934] 2023-07-18 22:13:58,740 >> 

Training completed. Do not forget to share your model on huggingface.co/models =)


{'train_runtime': 224.3121, 'train_samples_per_second': 900.741, 'train_steps_per_second': 3.531, 'train_loss': 0.17379718356662327, 'epoch': 3.0}
100%|███████████████████████████████████████████████████████████████████████████| 792/792 [03:44<00:00,  3.53it/s]
[INFO|trainer.py:2807] 2023-07-18 22:13:58,745 >> Saving model checkpoint to ./output
[INFO|configuration_utils.py:458] 2023-07-18 22:13:58,747 >> Configuration saved in ./output/config.json
[INFO|modeling_utils.py:1851] 2023-07-18 22:13:59,855 >> Model weights saved in ./output/pytorch_model.bin
[INFO|tokenization_utils_base.py:2214] 2023-07-18 22:13:59,857 >> tokenizer config file saved in ./output/tokenizer_config.json
[INFO|tokenization_utils_base.py:2221] 2023-07-18 22:13:59,857 >> Special tokens file saved in ./output/special_tokens_map.json
***** train metrics *****
  epoch                    =        3.0
  train_loss               =     0.1738
  train_runtime            = 0:03:44.31
  train_samples            =      67349
  train_samples_per_second =    900.741
  train_steps_per_second   =      3.531
07/18/2023 22:13:59 - INFO - __main__ - *** Evaluate ***
[INFO|trainer.py:763] 2023-07-18 22:13:59,922 >> The following columns in the evaluation set don't have a corresponding argument in `BertForSequenceClassification.forward` and have been ignored: idx, sentence. If idx, sentence are not expected by `BertForSequenceClassification.forward`,  you can safely ignore this message.
[INFO|trainer.py:3081] 2023-07-18 22:13:59,926 >> ***** Running Evaluation *****
[INFO|trainer.py:3083] 2023-07-18 22:13:59,926 >>   Num examples = 872
[INFO|trainer.py:3086] 2023-07-18 22:13:59,926 >>   Batch size = 8
 100%|█████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00,  1.85it/s]
***** eval metrics *****
  epoch                   =        3.0
  eval_accuracy           =     0.9186
  eval_loss               =      0.258
  eval_runtime            = 0:00:09.61
  eval_samples            =        872
  eval_samples_per_second =     90.662
  eval_steps_per_second   =      1.456

real	4m38.911s
user	39m59.583s
sys	4m9.578s

```

cc @sgugger 
xk#Yz)B="uʬTN2Bu$2Y,Y6``mؑ֫-H(
|
Gde!Aӕ$#xsZ׼GkO~T*ۊ^l
%x{f34wz~Uȳ^/ˠQw0~FZuI~yz0x+%K]Yg(zmu7< {axzxaǫnrZ6HZ#/>/^{<5t,.^]]}e95#N޻}/a<<~E<mkWpx|p{?腵`@=޴x$;g_۬T?{{U9=T|*ǯ^yX}%kH"n,9?suCx2uxa_gj{Q>-E{~(lv~

a/|g_2sxTW<{?z?|ڵcØz>/66R=j
,z~5f7㒆*/6Ώl
&hcg$sfZ?,ٱ?ן|Q3(
/%O@Kcw[4؝R,aE{c'lrsF	bc
/bŚ]lن'?9gqxtv_i8fA2DM8gE/QɸYo_~8%	S1H#uo}l#
_Q	~<;OmDҩ㛻B5_=Yˏѹ(!8noq^lۍ_f+8EVBt`+F3X,Rzg
gwQǵ[݇7bSnA#WV6֖?O,v_v
}eZAIݹnӝN3
,~'
Nw*G;o?J-ԙ__G4
"q_? o8?dw?_ 6ȯ___׿AF
m/?;(z`qo0l?HlAH/~?/~/}֚̒_Jy	.Z;|gZ~Vw2:{kN?FU:q&H\qG]qjsЏ ok~VHliY˰q7a190ɠIkǍ Xs:GbPwAy`0+=kᡦϭU1ZyrW޿Cp=\!1
/ҫG>~p41{rx]WAϹv[D
eMaM7Lͳ6ո.F0l~\"?'ztE$d"z@u{gPΗHt?߰_}xY?*.){MWx}
Xȫ|-+LtZy罸\"@ x)N֐aOw畓}fE4bN=@Deb>%}MJ!Aֆ/y<9P~x}\$е=dAD:n}cq/n;8oذ/ Ƽ
BX.dX8F~{Q[vv+\bb)I`Ci7Лj~G@üwcvAvB72X"_?<Dx/57:z\{ m}{7/40~`OH۶
i
KN$ W؀e/{/z8!%IX-{(]
9&cE(-я@5xϠ5hGV䶘(.Vp{^WHh|q'f{wH^t{%:
XSI{b}u9'TOs}#AwXE\q`cW~~;)Tvҋx<ɽ%;^,IN[͝ӳ=\ҰSϤ#>AQzB|ȭ5Ng]~Z6l2uFJlfP$$s(ZZ-Οqs<-tfYERl!,ƝFY394>ǰOOJ+SVXHsAhoƟl-$Xq.?EDZl7doͅ+Ay8ō}EG$Ek2cͅ`bP#b
uuem>_yk/m.>_y0Htkp`|j8myG˥>+[I|'/CZ6 ,1tgPc(Sgaye0dVTBZ^v<r㰉(M`G6^pf˃X^+𼣸c ^dqmSj`5t1j8w@\X[^COdOjF"w#?Huꒈe?h7FQn ~2lեx"~avP!	>Џ|Ѓk
U4zWޑ%Wny{\#W-W
-cya}=>ԞտqN4b02Ac1'siQ^~F=kֵXUhHUd%	V	7gbDоj,N*ǤxxaXsViE]W֘OWw̻>ׯe8۵o~]1uwBt[5.QwU!C(!Jcv][,^aiw{":}Fm'@pW67φhpЎY٘fڈ"%,:@@Hs	_$̝<9kh6C//1GތPGA`7^aH%
?>,\d+cu.Y/\"xSHrOYЅ2;L&5tEBC2N ԁ4mxs'9eKug\9JI2	XATl}D	1{!@u=	zC{*7-s8i~򵞣ߎ-xAdSgpܱct8;WU:BKs<ʯ}YДvE#,%)aZ1>jEAPׁ;%& [hyJ.
VPkd*H.f?X戣rU񽘀r<\2\WE0K5c6<5`lE,%@'B֧\uEw載kxA{ P
^Mf#3/0Ȥʚsrl(GvNWfqJ,=+\Z_r	P=oFRm`6c֗W?qPr >1VmM_RC4F66-oLd:{S/
+ҵE9L%Ҭ?c;?Z<#tXYx	ujЗhe8G/W^^J.W\yɕΟ{Բ8FV@Ɯ',]mݴ&^	.Zh٩uY`adYKǫG	%lցF3s2㭒B*'ѓ}? ?H;W_-.
2<yd-+o6ť~$'nԗ@Zb=
%I0W;v>Phd=JEҵi)|Y[ [vprH$I`H!_]@aP'^(K]A2\
fG+
AsyB.1ĈtZ}lJG,\HXf0H`a$<Р=.̲(!pbk	2'AP\Xz!OI܂L{%1ˉ1Ƽ
)̵6mkw+q2j9(;dWv ̅/ˋ7}Ol{Ym	|%";*R)e)΅hM@Lظ>[180eԒ?M,
OGxpo&abQՇ #D.Y\qπ#
#m
	1yfH%%Uf W
ĉz|Cra4]3v㪻\Ǻ(]S:xk2kci71%Yd0FaQH[s׾G@b_=Zz͚/}%y)@HfAa}=m{Aq	;b/ZQ,vqr8wpuîd|*\N}26˨DI1xҩ(q-u)=2D}iE@%=rJlN_Ύ 	Ǔ0{5g΅]?Mش)M:+_7&zi;*S,/Ǣ*%hd.!T:{Η_\UɏP]oy9|!"<e2Qk/[o~ *9/wx}ѯ1rǏVm<^xw~Kı/&	DP',BrkKr:MBIamڭ\?!dKٸG!d]"Rwc/9ܪ8}#H6Ao)5[+ReTnEs~
Yna.:nZt.L6l(6y(EŒyW6#m=ǍIX!a>eJ:v`aʙfHݞy;^-d7`(ore=/kpYo/ge)/~;t2os_u+
7~K-nxc􈤸K++O˷ G</k{6o?_{{~>,?蛕ՇKl[Zr%ruQaG7
pm}:c}|HZ߱p-Y_]}hpo^|pK7
#Voy톃X[,FwR	+fGsr\F)C*3ϘAꙙ.KiiL"wj.=JA"wFH$z:*I9#JW]SPeNZiXnw>)زז)w1İIMkIr^cK;Xs,ԡeL%6&tN4gAIa{IqWSΦ-:48&S"	}gl-ti#LZy[KU7#aRR$GԿv|Yɜ4wOV\f঳"Rr Ǯ,Kvg[94v{nuzKvy|^1=&yZ_$D$7+3F`avxacNa:[MiB3/9v8Òtp~;ɞ"=ԉpsgI-K/J#<#"LAig&$(|4ișP
R8A!$
%8T;)gΙU5x>v&6j6m7pؓ^pIQHwԂ0M%ѹx҇zM#ۋHB)Yw*f~X֠n-gw&(dy
̥Q7P |ѹEw}IX,: 6;[QaONysgѲ!6u6ò8SǬg9c=styj֒ߝ#3^+zB]$=_,4ëY<7ݻ\v4K6>
.y{dᥙVʠD,3\QZy$rBӃItg8߯t~@rPO>9odhObcU,5޻
xҷ|eyDD̵3,w@_u[;U>qIRm0-H:+Z2ofO{5vAJr5VMY׭Mw\Gw&xt'Erأ@'Ca2yLH&>a;T~1MEq~N{_ň%Q9',[XiNLRpjIlJQxGEl	Dɒw$ٜ	o#hfzKbb,RĔ̍wq;N5WEț>;:;VXL"f	pIuodGMe*Og`*K&,ɓ8>&͏$0m\%dQj(%`jxvնs-& %nL,V춻9THj/T$J#Ӈ썼{gƠijGiN`B0yl]QK[":ɃA@ȁ5/Ieo?l.y~NNB.FTOn>6ےr@71MLƬTʝE,`qۖ)@ν5.T
Weg23(,8sL禣ԉ*"UVe+eT#ҳA[&?.JhC!@21S!cõA8^yxT6\MH)캈V>*{U!]&$0 &$wF/K܊
iٕubY&6jmi)1kE(-iM*%I%gn죥PnS;䘷H̆ѩʊnQ)zerl%:kl,0w(Wn2
ҋ;ʨWNfٚVJ%HeʥTְsC:tܶO^1`pw,FC||Y뾒ߊkɋ#U	d4QQrq
r|O^1y6ޱKnW"1B!08n3tqp
௵L|5N\,Ӻb)E!ycs9$WW9<hSn\T <̰V󲈚xQI29z)QR/3Vs>jr~T|'ԤVvz>~ȵ)5˕݉ktT;8O85Hp7Dg$F2)*i{!x,0d[)ZDd30fΠ{丌F?jStuK<@[R?JZ	8mx͉'bIɠO3*ݤbji%E;37xM!]pH<HS'|8UG=~~-wk+;YQ7Ү%ԚKho:s/ĀV4Z>cW;yn*{%;\(Jn[B0JA$vaB,=èfRASa"߰\^HnBcWYFD0RXIhXv/PU{x&A	:aWo*d3Ltڃ~.
TlYv]g$Ie'Pr}4PF Q mU΀.ӓ_DZTJW|<D-32U)Por*Nf6:XSjJN:	թ뚹ꢥ뤯iȃDj4Ҩ9ԍii!-PRzn&MxPPpvʔƢo)/ZγB!Jxz>$՚71a-64!qę]oī{4g{SIΕ)DC7y80ENLy`{K3rxqyy
99pXM=wz!V(	o@;?8)0o@P$
-JUsRUq(gz|vET cҋ^t.Z*?)ij~1/#BjBwn_c+K`3돗IZ~=!kkֈt9KAfl8Ee0NZ~9Xq{	Tzi&fGip]ۣ.
;̝/J2͘}RٟA@Nb;HW0Ϯ"	`*Ӯ6//mJXV0D=B*ro|3.R5Tb}Μu+pE-t;fO^zbIp]yYdA>tZJeLe8Se2Ƌ-{%xl$&Vm)(AHfw)XڊQI5l3%R\Wf Ӝ7:zɳ0h
CX!{e%iz$c܁n.rA
Hś>Wj}3x%=ӫp@43kg7*}V3VU#i=;[(ҐFƝ<Iҟ-sӄdB3y9nD?'X~Jm,UW!&:B\Y&a} [f;}jP |J
B.<Hqx%KX:	Mp`
H}"ⴂ8Ƈ|1>9,87OpETd*2j
ݼZS
$d&
2$dPjDwbʥw'&|&%&R"xnJqoNaxw>Ҥ\;F׿AG`Nhm%Gp$m?s?@oDM2u}i:Ό꽙.9E=3"C=q&+uղ+tP^}he}v"{>	[KA߱(]?%dﶭ5*r-yf rЉ1C,?b,="-_3N+h`LZ//S8ķ?7asEᇀJE2YZqʠ^.4帋Q?Ñs')$^$8'';{~Ѐq0QL	mtǹ!%U6žw(816)~чUf)҉>491n/Lpt?UPA&df]_9Qϑ{^%ZʢԄZˡP?dNȒIr},|BYo9&Y0lz'73j6edeI|&J;P}}(|h>.Y_HZ~eV)yz۲`'UUʧ
NvN]%]J;<JUZS&T.l&z;c:"hfV`rUtAtg3$L"\
c)oN򤢤64^ʸީ^
Xk~R	S%,N@qtf[zj׈-=^xI)h<7JkVKkZm}-ב5ß_Y®rC6v< J΀Q%P%>^z'qZgaPba_fjE'I3M/7óOu8.vr9.pDVV.pDDd6xNx!ܲ,<bI$yCa9YPїF08@Qٯ2ˀxNn)]\#),υWQQuj `lZC_X}hpSB<"0ܶ=ÓǟKr=g2WQ=>RWm{zGeJ&k!&aJDVJYsS#TUw9GEfp%柠3էJ3`aқpȢT^g+)̜+9h̝냅YIzu0i~>𶱇m~āRҟ[8/"!x>ET+܅n	LjjP]hrmj4[d4ѥaB%eLϧM8n4C$veOw-zEI-l1YNP1DSҜOִUaz2`z<0
ScqYl`SؙK"ޫ>mŷ	wB\Br/aNZZ>毼G4I		.(G7Y~}3'~Ё&ک[6cv1)6h|u,L)T@B$8jtD	3o(+lUꜴ9я+/w8a,1L27Pإ!(g9AKāb*,[Vt/.#@Uǵu
ƭѰD %A|E]*`@qËlf4)rFw?<Vcd-+ˑAD||HErXe>տ.deέ8uHJ)!B͑2D~f	`tJ9W$~Dţ Α=/XyS_NSnԶF]wȉA^-"r*-:|l
ђ㼜oqCAtcC
L]I#͠rx㛓#|_9}>W?ƻЎ|
B1(=@6K\&8ʧU&3_4,6?sh0,i`rѝhHLNstsvJS++3"qt˖c\o1.$
~Э3c1ֻІOH2職?/䵔Cf=e2VU:ݩ+Ox[)UGy-bO
(CIm 7Ȃ˫ttɇߠՂ	N)3bE| rS>Jl%?ZuX&lo-+̈́<R)~Nθ!.*A=^udPX_e1ML	5F7%{M!
Ɩ5Kafilx8ڢh,CƐZ0	1)'Q06rͥT͈]J3"wYhGinuaF#?ɣ{76)d7=
IbHVêЬ>RAq	EL}*&lmETD*m׃n9gE:3yΆ~SkHtkyc"_^O<f2:;
FJ1/0*ymvIс,}eiN)DՆG唟K奇+k\
gqq'e8]v/*PpOߴ;	KbMwDIҫk>w[AˑWh^x.hރKcQ_9tχ:~Q ʅG

vR>cd,ϫF@}@8qTF8
Li垍{"J1F2tY>)?,7^Ew(:ڄJb&O-Y`y:6۔N6~
#xhK֝(f!Jq}4c|`	wx;uxIRU6)S	ma1g)~돿}U.H+Jo0BZebiv.i&pIzaD$7|Ėŵ|
_/IW=C2OKID;?i{݀'aiW>ӊ݈;paVɠ/ȡv/<uZdgSt|$o΅Y͏gK$Q^@3$1;;}	辋
ubQ6vcy݅Qif<ke.d9穙evQdPC)+(XXIP\V "m{
h#f6l'Ό,5L3
o{Vǲ	U=vJ%|w(5or%@IJh5bՏD:/VT9N+rz9aBͅQ/9#[YI=e
2;5Z<oj{.t[>j߄Žx)%ШrY@oGm(x/8cxY,iʺ]#]FDQ5Ldb_:H	:ZhU$JAoBQWJ
KxWM<wҀN4ÙᲳ`ĳLo$ؗ9bhC$Y	kڷyŲY
nGn	RAan':Ӟ<~`{PIxI/X4m냭඲MrUd=3e${+8$Img\s$9tO2 ᩙ99*Uw0z.gd5mmdLH~P2j%<e񌭳LfЋRXInUѣYfFn/jbKǜtma5;$P4cq.AпmDGul$A{wZ&_ou4f"9PBj9Uea3ᠭKr[XmDsZ %ULӖSH[/6ATき+cEJөoB]H7,"NꜯCb._DJG|cW"`-0^έV=e&;4tzĤ_@̓ұVkq"wQM7EXC
fF@&|~Y#
T
m]ht!@ѯ1ǙU?W]	9LߖqDV7l哄 @gƫ2B (]g$$Qض OsXW7~AoSS
@-q5+e_;tL Mp\R@/G55Z~5|DCvT瓔~4!xvLy|;Ĝ/~BNFaUpe	obEq<C1ۦvb96yƄ[:'HObޫtEQ\.}G{>qP~fkwGB*j5_R#Ig/%3prX9-dp~TN)"Xd_S}A#Z!,AT>%î<z"	TJ@O{h
ri/.
#GG_	Mj$39ܚx@h`Hb̀l|21T|1utvm+g'8L!?,:z;RN4piBA=A
t
ՀȪR0c-5HP*)Nr5D"	RߗSpl;gm$ZOh<@ <R
9XQ0Mb!t&A:Kc'pƪ\g5Ki|P{vO	3w9
S7ϒ/f_!-!搂؛J%ڰK-0mON7 ɶUqmBo8dӻOO@pKxdv1<B=ӭBo꠽h;@/ݜqd6S9k_'E79ڄscϼv$Ӝd	Ǖy)R>"谛)o8V#h(,0[՛<]cgO8@aKxGRk3s昽Lf6mDię!eJbͻ.Jw<M|yNl/#9o
<ȠW/)Zq';{BIp2D'8|h},	RCa$MrkmJ~J@02K`oVg*E6adwITR1r~+	hIAZ4~k'FO	o$C]oF%*B -&!lDt1<g?88SMo>;̫֒%W{&;h)1MS35k
"-|xs3\F/j;8o?_Z&cs@#!	B&7ROK_:q/Ix1[-y,5R OVԡyE.


*b])NNc-dNFVQC
n0*@Y)8	0cLVCY'\o̫5
:#enԩ||Ⱥ#]HgIi&nS^8Xɛ!A0
nKNR=YuNpYSSWZ72J<:uƋBnCerA76\1^I>NyPsHǐQk'j
fbbBHe{{,ϰb|dB099w":5e)Pv5g?O'ӛ4Q2m5ud{=/pB};~8Z6D.ޙ;
,#!L&pu5wMOo1Y<V'Pz#cBb<iS	gj{2t tJ\oQViBId-tw-Rv͙!%GU;~6blbORܽ9=y&>:RVA6gL.7(	o4,`Rk3Qb6sΆZ
)FFBTgCH.[8~w_]*PRq4XiIĈ{욡3iFƊ	Tv`(mۮe8!7eGBb"}Ji쎛D{ʊƷ(H"G2jZ%2?_	#4P$%RJǩ&4].cw;;E拜+Δ7Y#@viZMkQ.u"mO9I9GelR8ԼLwU$3m[V7_9=ޟ6,inac8ki'o
ld81Ov UWV+wUFY*ϲX<%p}3r^$<LgDP8Ҙ	
rnE8\	縄-RJ}j7B4)}j&<BxRP	9Yg~#";dձ\t]&i(M1p:'9RfǁFH2H*	%\޲GZF.-װtqLtIR8I9*aHWPK,RV$s@,lkᏯ/&4\?\nN 5,./?Z\^_XYlLtN	I.`l:\]

aH}e!
s*ϊ^Y/2VU>46t,噪QC7`Яs*^~YH@x*XiOwLHToIb!'g0ŊRgyiyr"KkKk%dVTƂjHF]DKa~hEtT$	5NQG7kvO^KM)ȁ'[C~zε9)gx2}/PFO(XH$uƱ'!]WWjqu@LkGRZ)IjUDATJ}ψb|vj͂]?bvn>/0G1˛ntC:*Q@ILwj`H0T"
^F{~|	;|GJSY;BUl8aǮ=e:X c'ğM~v'(Ph=zҎȧ CSh0ZMDҺF%qY@ZNUy
ngJxwQ+9﷾4	lTWҳBHrA;67
mtWF?Xz}0O]н $!7:$k
OF)g
	G&wo(aL/&GNYb
ڎb%S'^|`9sB>&pIO8~_E#K(f>N9~E;!PGJ6a%?6a4ga;\m`$z!ޛ5y/`})c-r6WmQ
hvGdJ iC[FEUF	TK&0͢FFC(%]%*{%WfkQXm{$1vNoZ*nYvbMlNUA`JC^*Jn)GT8
?4eB2`+Mуoh'O/qSUШhOa
g1),3UrPϺ0<Ad;D
-6D2hjDoB4*ryݹﬆqSJqB.r\8
Iz7%2${w##8wpD[by86qȮd(]ܸ'fj'cJ(zͰxл\JPMqb2rpW86LT0DC.'z?1XLѤ szʯ AH~YXl4-*3:1EͶS[i$$_[{L
N8JREu_*^
3|_Fi*c

t7	CqGH)O P	&ͧyq*,UL x{諦	q	qS|	ST]UV,9.VO9:Y.WضɡHr,`)	1F*0zҠG1* !{Bdd1X[QdޟuAN䬱ub1aOvV/OQ'noP.勀
	˱5,norԀsF"XIŒRP0
,TI
XԎn4oa優lז#*3JFe$ OYX^`Ͽ"ѣ+Dx 		)Ql
>#hٝ_aǿv_/hhIpS#zAȓOs/G}tl.:rN%2.	-9ՅJM¥g<!eVZۅK^`YNtEc+Tr
  յ"
n:V?瓻hnFBǉ~)фGC@[k1	0dqdQ2 _@ǭȧ|B֒em(Mµ'ɮ	*-ȥee?j;9ka#<!݈fKc9CsU'7H^rVʄqW {/eVȍLJ;KZsTD]g	:c@xzz6j%BoGXLo;AЎ( 7FEQ9!
YW/
mF䛣I#G?X:;.M>&wRBh+kD7wY*-vrVߔV6WDJ`RՎ
shUrve4ۂ\Q+TEC%11H
UtZAp 3EY%uER"քٚ,{P5MʮV!9Ee6p aĆ*A5,TAqh̷cud٦17̅1}}.yJЕ͝gņn^h6z2RQЅmDtHe޴Xep}A(j
ƜH Rv(($jw	*{9QZu8ZHR_
pjW DIX9hb4[<'į. K]w޸yo\ϣ8~bsJϤ >q#p.*?OTVQ&J+<f"8sjxZ+mk<gքƮudqQ&e=tO[ xVݝ_/VsEVܵՇesfv.fM`[FHMp:MۘHo%
MIW"VԮM%\4I81ӜmKN$hv0~+%m]2
i*$_3tZ_Dp5qxJԲp g#фqf-LV?rN/ѬDT#ڊW1jlqBXe)<mr>/
_rj]$#wDatˋ;/yDtC
*uFVad`mD5fk4X1SL$aE#ؕX'1USB<H]]+a+@0RFh$LGZ(
JP1
:Fp[ҹCY*?@ǘ-*w~P}&ۤEIqDBG3QPYHcE9Q6׹Iֆ_Ӽ=^C
{áwlk7xŇj]g,a6Zx
l	w8EWdn{S+BwdaQZ/<Īx%v)l*!T;|7H,5{X Q=L
/"= ]UE),raBLe*F#gA ɼdD|,!SV_*t~
xN__Yu딣΂r[| K
<#qb.ByϺTlq03KϹv
9Oتn}_4'tTU>p#oˁ(L^Q	m
44۰G6؀.ӇYP7S?<)y^f90@BO'.wt**DIeIZgY`ԃÝgj蕝1Ϊ{ƣ'"D<W
٪GWke$NrѱTQIAeH'
NG54:vpakFavRc Կ¬maw&bGi,c葕FĘEtC(d\3"\8^[
koRL`{9.) %1-rAҗC0Uo85Y8g`tu+Ad7VRGRAvZshnY$(rzHk5
J
ZX':ZW/#H:!_.V5B+9{2\N;JqH<~'Po/
KvHƴr_\Yݖ7W
1.=XgtCCw*t"[U!}M$m@	,I4щxbG`02VP6֫P`y̷hn8dz:	3)d<b.^r@+Y
bSA4YJ876+%,-%wlhfZe6
Dy,>#Qy`jRBrp[rguDa@9x
䕓il.z.`Jc+ysޞi/]c秡8J!9TO)ZMu}6T.vZoj&<e_cM7ȊMuQrrhЉK$">DVtѵEXӄP?^m(eXsI1m"f4= BQN<(fDanApmM(kcEyyuN"snoyTr3ANēpq!CZYiT0ɗ0hzu):2H?EQǌn;71azzk\ms8<s~󡔭?Yl}=WQ#=$L'0Qw`w1aj)$Msޤʢe@qIR4Q(M?Bf*E*1lRoQ{ĐGF%u&LbD2HH	)'
8(-o.ϩk/xuhpl#hM5]Tj*.vyXFC-|Hz0 k:Kah؁Il,=eG13Ĥ|Cn^4Zv,6SHw
oX-{&#xyYG&Ro<{;۹q-NdYm-0P1Ld,|2Ҏ]ZO@g4Wk=~Q5?BqQ0eu}x;zj(Y+IOhC6M_PhD@p~|L)D.-"~*%K8,Ճ(T 
z/z&epTu@Ly+$b"3:Th
ӣ~'~+YհNPWd(!feSմ~RIwR<nl~.v=>baoAd-|IجB6nes)lt`MQ#&Ip*#
^}gVXY$p[e`
20v :]*/0*rRvzqgC6%Y'ʓyP&kNca<:
lAf3}Q(<m-| yF~Ґtbp'0WCN>}Mr!^RE_+AB@?Ee#"uNFV	dnuG	1b  ~ZѶ@Ax^/N^4{
=Nbዸk@@S]i"HM7匡#	
*cLSߘ"D;眃2ab]D~U$茐ӕr
#fZصD1N]yB{̈c3yUJ&R\bl(bZ:3:U
d:Ԋwׂ; ?͕ހW>@J/	NٯO60}V3uF$f6Ig	3Zәm.{,i\j1k%4Yqc']yЯ"$'
zQU[F!HhHfb&DySWkఄ
mi+:GHULr_}F<DC☮*FX@RQ7J*E:ΫVܘiuJa":(8خ!N*Xe.7I$}Gq=~Bi_Nʄо.Fx
^Ώ'W'!Ӿ$&9f$Ls6Cn_{r0,Bcd%!Z.3i3doMBǌn=g*fxp4'Zˁ-%sdvBta󰚩Q,1,qi-/-NLtܰS 
{Bͅ^d`8j%Avs Yp!~Е{2j 2I,D"Dǳ-V9V*alr6٧/h{BBv'ZU.OA}9@]ůTb-Q)(/dC
hd9A-]l/v\kDt9Ō7"=9+HGs~`t:*mm#T>tI?6-1Rta[#F=d)A3YIYpǡlfL|\ z6:0]ؔ=B*W^v E8sR{V<Y-:MHceb/
;
8U&8"(K\@io#[mɀ1[hsoA@
:GfC_CGv^e3$T]:`P]N$!Vg[ Zj!&_1~e]ZwaiB7t{p|8f1/Jj*6uj(L]U-mlj'>6(#-{:6l}D.$abhBe>D紨W.OٙdGn	u'_fHJ,';?+,߮=m;Gs"Ykn
|i:V
b[0gC	"|<?yQu$<ur0đm$?QeuʆZFqҶ_Jdg1#u;ҒáRgϓRA&LoVSX7_86 ph=	Y@lV
e޼նƲ3axbk&fp57YQ!hs3snfr䮳6D[OIJlceuPIhdߓz3D#ŷdI>:/@t\D~ՐAv`m-'[P6Vvc̩3f9|;mUooj3`2\oQ$qc=G4~E*w>϶im>	Vsx.Q^X;a`' kެi}M[Xecښ#j҅8B?eG5P[1HhI	 9,iq:0U:O@+uj}m
#ei}N+Q@#ǹ;G#{Ag*SY4&
sTJ	IzZXܮNIztNܪ\|QZT곳twY-+(!_Cf2$+tWtFrc!0vq9&j`hf@%BXE^Mb!5eJ:%*/"N#ޅ^SEG{,FVt	Ɖ%$ĐS@m&]{ar>UqiG6(,Ծ-}W )Y߇Sʷ0g`0z=;xA8qgJR{`};^	웣'iwtα *i,	@#,:j!	LD=p&G'N~J$ANR՞&.*09viw每UY,&EJcue?oplPF9v$1)9چ\hO$!H>*:Q,ڏfCUM) x)#!IF#(L@DzzN~-,>q2gbi/ɝF&(c)޿_J,l]D\%z2%@FS]6`O,%bF/;t+~.mZO|̸(`Bw!PPtwB
dI%0wFRAz{*g:+bӅfx/0?T?U7x>EG);O 
U/]Uqܻ^Jzd˧&O0<݇ÏR*.¹B:sյq	>	G*uE`[ɝT.j:ifX.4vGYjy-v6m|IvC_l_5ir;N?_.^.=2;,#%=_Ѳix}G3AkCh`.ࡩ\~TڵGIlH[QN3h7K.B	?,hc3*`ǶV|kvUF4i^#_7'⃍K mƂ:4NG,V9a_:̥GIl?r;LHt!d]mLjϛ6XƮ&$[Z!@%[
b`\uP>7^&\Mje9!Z-BZ$)g0>Q"K5
߰%/?uhJA#wO9Q"u?Ry6FT1X==T]+O~>'ͿRZ\50QE7t8B-<=REҹz|9
HZz;Z,\C-ezǇ'㑮9YkXIpE/gXOej*;9!9)
71=j=qL!J)/-!LJz[uz`Al uT1G4	sUT>[W1IhjCmtMdΜdA\ҿr^pҚ-d ##lHRX~rAM+QuvY
F382˩Lu$}>˻ܤY!}d}7I=oJIûyPpf&ri=eg<]UȳZ+ImwEgdV	;d;=.c'벛
w63u$S!d1{-d3)"E	[Wv rZA8BN@$[-Ǖ:~AW?$ǲMjq/懕=\^ssoO'*\
H$S:6?ĳ{v);s|юYRA,/w>)=!,b|G9K3hC!zEjљȭi28ᐵ8r>yp"|alCx$)|-f>Gp*]H}_CYf^9qsmNrrBRS}\|À<5+@̔F\Y6ɜb'~"xFrT1dm%KG热`-xHj5[Wu`ٮyumǶ3wh6j)MPnۯ|Lx]" c??oFOG'Ddߔ(Sb3T&vhП?m9b5IO#cj`BgCt'[(>m-0΢t$&n+wM[ַi٘Դ=Ft);Qϊ8ђƪU#y-5"g8gd-ZMOڇߞObuJVqM,>*$4йkՎbr|~7QCp2|<'~fFK
3PNr{N8:aÉC%EV
ȏ,gz~mPGu'zT_hmMVWwJ/9w0T̺Z>ui6qx2TeH[F'h{(%8ӎTAE&!6
?B%6/BM/Z,HבRY*LE\h3UOqX8W(/kYk}oN'Zyyś=x$~fnzir@ꭳ*و(7[)3Idd^:;:<)لXp5F%`PuNMW1kh5ozx޵$Y<#aDw4ֹW0@?,3E=09q	)TA!۴\"iscM44
(㠎P5(rGWD($K*stX8Iݛ3HtB]3=Q`GuO}2f/jq} C2z{N{cuEda/䶘/fhj%Y2||$tz[8㓔RPGB
qoLctNWG[݆LQ&Ti$'Y߁߽\$9HŊ4
F,ٰ2ғxJ	WU:V禋kyI1%S`	d-8-#eMՠ=~tل
\w=`T0IzԣN)
PѓV},GwESl8ރ`oTtG4ZO4Ma^:x@5kG5',CP҆%}+)Up<4GDӳ?{4'C~ئQW79,[ZH{onu6	i: L6N2<'?Ǭz2,[\?M,ȱfG12-BsR7J+鑅{0Bx,ȧ0oyć[UK)zʙ}eqYlD<bT׶>O,Pa@ڨq4
k>
1]Sw`^tӸb?#MEeF9mϝc=iGF|S	6#/`eFi`	ҋY-#7s	_L['pEebVz\>DdU(3ιdJ2o&_e|3h?񺭰\^ܪcR!^ ^m88'g~fMΣ)50Oٿ
yҲQ:w
tl=a0 Ǌ+nN)~)hSW~TSr|\O, #GE8Tﬢ$s"7'U9%PɘY9~"ܒ䰆o\fz'NO|Ũ9[JΦuI`(Q(u
{=rXlU"U5':;!*VCh/Dhyv(j	*V
b;.<Ҩ_|+앻@4^bdހ2Y1SdD&0~bfUmBvKPnC^4xUS	Ʊ;ʩPoL#+8vxbGMQTKUZuN+5;6)@w0,ْ`BYe[eLmA`\J\ͼy"y|սV"Er @f(YV:K]LTC52ҥx4Ijls*nJ{T"YBT/?0zL~#3+[ųԓj
G>-.s~/N̑{SЕ<KyT<g*+2MXhbfE4!5f=lh~ٶ[B.4As!RA\OݐuFuAp'
٪_bd6"` //Ӻ|+-8E0ܷ	jW0ЖCBG1"FR뛌<H(Q_;"(4o,]teCҨmm8 pĈH->qSZC]C)MvDqh
7ṟwjTbgf5ðvzS:EjFtw	ڐ
>rd;=אCZ❄Qw`/MN:pd[rizA]6fA02d;<7Cpdy3˄b"zVǀEYF:Ht2^@c`@nU>+&|f|Hj\m:$QsW˥9!I<6R]9̰ŕAY"iٸDoCR;PbWlW`_|6D}]bP}?P9"9:[xLs)d>z|J(`hox*9XeᅶFRw}q1U!#Y'D[x1zV|U<Gh{`N.ytc#|V)ؐ384'íxY;Q~$$k@rFB0nD*D#}nտo;-R3-yOWCWKRmdNE|!$Gb"0r
jbvpX
ZڃҳoTkNҥ|V{ua(HJ#QW~QyreXA8!ey	qߓ2jaNa?X*YV-Xվg	{na$X{j#ĉ;	BI YPk՞V4'HDnVݘFbOӲ_.8nˊ>	\}t̎I&IpTQʚ
2Yz_NeIo4~ÉN"i.p?I:@4Q#
#;ݐRx1^D\" ^H#\%"de8ex`:[D"OmH,
5YӅ\ES.!	3Z>L톸!S86<	;|Y5q$f^eYjZXσa]%-Rý
~vmlqR*7x a2)?qyy{7*99LK֌`FS
)H&M|hcSr4} w?IdlzΑ,BNo1	w=e؜䀛[ȑٷ4xEF78]3wSʶyaTbq7qA+5;ݷ;3(t1C=
1l/>. k|&/7J|zc;@ݡ#%{v]3TyFnՂ ab(~DJWoŖLH򗲶h8aL>|*+NpqJ9oV&ÆYj2j_nfaT6˝2d~ûX+(?zah!qSj2.}QS:#r}2@?
MLе|贝/0BNgy]]xp2q/
Lz*.w '҂q<ѨvL]DuLdPY3GFq7 
g
/e.
a]ro&v&WA/+	YT}k$L#=W ]by@?эG5=)ꊃq~h\u,ˣ#҂M_UߕOH:s'kL20GS}j봓2j,_r!%.hMi
a[>3JiԀ@OUP
H9L'Q/[4bs*`;V2Ka=T,uD-db"=ua+Y

:'W<6?͵UNI5s)չ?akjBe!&W\.hW)=>$7lk]vj
^1<ќAz^`$JT]-;>w!|V_܊yGW}F{EVSLoi|Omzkʒչ&]z
G_
9T&n1ՙ#\AmΉU5sl\EsZ,]9"J&\P"MnU9&?<t.tWK>.arMLE=K
#)fy]Q/)xݭ3!<**`g}Rׄ?1ٌy7(><IN9MmC5C841P,(FP5*&nb]$M%wOȴ"1#R؅\F&`IsP42
:s&fuyLae8	U+GyQ!95"Pg'Od=
v(AdlCN4+' $GέZ7xz1E)QW*rIf8[T[?YgNs+nmx)%٧m0%* φOZJ̥W1Q\+=aDi(1Fq8cM2kWFLaiAڛ>2)+#-oS%(хU5<fLn\	oi-$'aT0wA	(axAwѮ|Cd;CY=eb@jJ΋sĝI	Os43y{bꗎoTlq	SF}Qfj:hxRh'B.s<sLFP֖F,uJF꘲tk c{B4Yx&T.@;@ґI	`@'knC_mgA׹-o Eq5D41f,{@݁
T-}Ŀ?$iՀ%CNmkڏ^-7je1;Αc4uYI'˴rqH
WY3dtB<i8H˝wUE$@&+eD@*eK8W
`xRӥUmf&dTL;3TwSGX-&JՎu1ٜ3jHLLeskeBrP:.},nF (:Qd!/9\A23O?E:vލhWNu:xU4o?>4I|:M.ŹtRb"ェ],i,EL"SWJȹHuv=pivҤ׏	1wz!On9N,4'țʵz~M3</T	APubzn`:A&UQ3I1Q׈Nys;*ڃta2$wc1͏	2Fb"*T&T<zj0Xqϟ5)=Fz/en2XH3
ĲfFAAA
vTUã,.kzA$$ʹ_Np/AO5dW[7X7I^`cLcR^0)صGn>Uob-U
$ʰŰٟ{Bku@=)RsVq6
B{tl#r:SFni
)	MQͥsKLD=IVc>rhteGh{h/*jerFZ61:gtO
 {-D:mIbXe;J>U7D蔐&>RΕ1D1Y`ue>9/X'_mMQ=*جڂ|oQHi3l=nBl6X_8:4ZBI&z&@{{ޒr'7;hAFGEnKh#92;vw-hGo؎j
#pǉgCyкI1Id:}Lz
[%2~3UQ֧TEw_3ܫ
K}9ufҸ-D㨫[o
-
ʿ[0F;ɭՂ<S0&T:rtii^\)૰T1Z\Z=Njl
v~jUswu0,zDq-\:t[#mbmjYp@iT=/#PttX+mxDomfІo1VyɬCחuC2<|C2[O2ĄJsL4-*Ճ;jje^-nnWkڋw/j;zOar]a>YV}WcP/
U0ϽI[qЈDy9=,F(FC
^%,OӞXn'BfSe3qʘ&ӭVSCIFv*?cȼlW5m򢈒GV6hzN1S#DRO&Tb(Q?=WmUUA5HZ"F\Oq΅ںC6+uH]	|KoAQ^h\BCx]ʈL'~?D8awe	EدwGWH{I!eT
O7b"Sz9PKD-a۵vkY'+;۲Ȅjk*erƦ{xr5Hܝ8`
`!dE2s*doAɀW W3MGj]oY+M6ʵQV&ӇCBj%JNH4.[q_,l
+ΰmqE_ ٚfZA\񶌱5v;֣]b#*P&F~(4P0a_E:3HB,Qb
O<Vh}8ΠYͿ0nv|HLv盧GvP@lac23&#
d
]@ڕ@S˸s3GU4	|fy9y-~їEy:+PuL&$ϲuu#)`qݛ)1&􇪔8+/+@*`Q>aVP`sCEbc0y
Ӵ-T5hvsAs/	_oΉgZj¯`OU/\|kk2ܺ\IV֭wq?xMOcA&x<4ﯯ;DO:-4OJt?a8}ŀPh/gm6(71Iw˪EGs[>xekf5ً4%o1M9rSnNh([*GRm_[/ݲ;T
^lټx,͚EC-Ww嫻@*s֍%QJ[v~ALh0љ0'y0֝ZU"OhJ#N*,dJ$@&dLNtƅ̮ݒZS(&LjaXBӏbT[h5>(3P鐉78M-⬐KٗXg*u)rH#dexE-	%
^p;"\K7:h~tzbO39zQǟOJO?%d:zƅ7vu*Xi*J;8uh"m$hzqĊOb#4
:!9SZ^Xī⢠|tʣ"q[gk
ة]#lX!_gwmqTo"?$V&BkGIc*/jEX٢?W"zt_-RΕSd7G<jk1㩍[lTlvQz&r#̼2|VyqX~3kǍD[ʬv!Lpv	'le;UWxQJ6-=SXkkX%~$0;2TبMЮ	H;΀<VDXqqʺ<ЬaMlSY X`n췴aH78%C>_9PZ|nڔtfoҧcU"zWi4׉y]![>WjYb>tZ96x:zgQw`~
_rϒS4č8rLR$NRX׈WiD%cmǕQpi{i`//,K6zH}JY(4ڲ:a?q"$/*#w,VF
=PP}l%S_8ȟqQFU<yNPv□1RY-KY<IY=sI]zo$HzsjǕn5FJ*hA
L[F#+#٭dG u߮J6(MU_=O!rC"%)TxP2saaR?_D=@ųyJg#)B)0;2DϟBG-!
6-<_lȬMSx2)+jj; YKi><
p좣2􉆆YV[-鸌d?0Ve/-=YIdG4L-e
;#WkMCuh(TT&WEu >3¬E:#Ũ¡&2@XD)n<{0Y<_}eB{zF]+;Ih0NC\f!*ЙmB=EB煐^RU](dL8aՂոeՅ&dT|-l=㝻1
"Y=MA<scEPW*X@3Z4
`_[c+Ʀb3'oXuMrh<dԈ;I/{D	B%%69p5
^^gǛqGdIP;
u]CFsZS"rQE}Af>I?'}(kq;Ϳ
dq{*ۇڧsȂ
)zE~}W(b@1=jy1@v8{yr]nG[ U4ywq+.Ry|aIwdUEp
c%J@}Q`m"T=uI&V˦Tiy`2n@oEr,m"w%n?#'/-'+a&̣#?pN'1CED5ALM^~xz:5Q
9@hYsdj.]J!ۯi=#<oL:=2;QV@ rPM
]u[[prtGaPl.%($WbM9b3`eoz'.6DzRP97(#TgP+q7z#nb)&私e>Yf:px-s"~7P32A8Ap=cB:Q<{t7lH#t
3$kR7ͦ 4Q
!HAs4nqõݓY1I&`?j>>ʟ8tE t/#R_3mo1~= ~ keVvDE"b=Mv4pĜ({"0orjKKZKFdbF"(G_5:tsZi
(ٔqDֆg+QxTD A/[tL+%5@wY;NcͯsVӚT;SNNdG}+__YL΃&~2藾Sԓïi[2:CPEEHc<VMkD:Z+լ/ѕoGnÏMRh"#M;&+Y
K~ƒ[
&𥟗~.cNoJ!1J?Q9xQ*|Rr^L4$$bciznDrMXc1PAH;fDC<ai4O3нh])J0ɇL;mf"E&nqK߄ڶPPEJ3PVv0eG7ԝ'[][75b
O2wW:n.iĕ-pay){=?%\jnb|FJ7M*&tI&%!{yHX$^|L/8A{	&:,u"pZqFҧONZ'6/mkZ<і2'tLz^R
Z_~9
[̍`xfJ!]ꌆa&)!ܭ^rr<P`yfBk.{?>F!8[ƊtIxJD|oPHYh*e|jܸClI 73xHf/?RQ_>N}|.=f-K8g>B>It
4vSl9KE7)|dӯ{ ";,ۇycҦ2OY{4#"nf%B_ȵbMwԦf`qy	׍d94:T0t}'v/$>d[CesBP|ݱLcK7h
xk#Yz)B="uʬTN2Bu$2Y,Y6``mؑ֫-H(
|
Gde!Aӕ$#xsZ׼GkO~T*ۊ^l
%x{f34wz~Uȳ^/ˠQw0~FZuI~yz0x+%K]Yg(zmu7< {axzxaǫnrZ6HZ#/>/^{<5t,.^]]}e95#N޻}/a<<~E<mkWpx|p{?腵`@=޴x$;g_۬T?{{U9=T|*ǯ^yX}%kH"n,9?suCx2uxa_gj{Q>-E{~(lv~

a/|g_2sxTW<{?z?|ڵcØz>/66R=j
,z~5f7㒆*/6Ώl
&hcg$sfZ?,ٱ?ן|Q3(
/%O@Kcw[4؝R,aE{c'lrsF	bc
/bŚ]lن'?9gqxtv_i8fA2DM8gE/QɸYo_~8%	S1H#uo}l#
_Q	~<;OmDҩ㛻B5_=Yˏѹ(!8noq^lۍ_f+8EVBt`+F3X,Rzg
gwQǵ[݇7bSnA#WV6֖?O,v_v
}eZAIݹnӝN3
,~'
Nw*G;o?J-ԙ__G4
"q_? o8?dw?_ 6ȯ___׿AF
m/?;(z`qo0l?HlAH/~?/~/}֚̒_Jy	.Z;|gZ~Vw2:{kN?FU:q&H\qG]qjsЏ ok~VHliY˰q7a190ɠIkǍ Xs:GbPwAy`0+=kᡦϭU1ZyrW޿Cp=\!1
/ҫG>~p41{rx]WAϹv[D
eMaM7Lͳ6ո.F0l~\"?'ztE$d"z@u{gPΗHt?߰_}xY?*.){MWx}
Xȫ|-+LtZy罸\"@ x)N֐aOw畓}fE4bN=@Deb>%}MJ!Aֆ/y<9P~x}\$е=dAD:n}cq/n;8oذ/ Ƽ
BX.dX8F~{Q[vv+\bb)I`Ci7Лj~G@üwcvAvB72X"_?<Dx/57:z\{ m}{7/40~`OH۶
i
KN$ W؀e/{/z8!%IX-{(]
9&cE(-я@5xϠ5hGV䶘(.Vp{^WHh|q'f{wH^t{%:
XSI{b}u9'TOs}#AwXE\q`cW~~;)Tvҋx<ɽ%;^,IN[͝ӳ=\ҰSϤ#>AQzB|ȭ5Ng]~Z6l2uFJlfP$$s(ZZ-Οqs<-tfYERl!,ƝFY394>ǰOOJ+SVXHsAhoƟl-$Xq.?EDZl7doͅ+Ay8ō}EG$Ek2cͅ`bP#b
uuem>_yk/m.>_y0Htkp`|j8myG˥>+[I|'/CZ6 ,1tgPc(Sgaye0dVTBZ^v<r㰉(M`G6^pf˃X^+𼣸c ^dqmSj`5t1j8w@\X[^COdOjF"w#?Huꒈe?h7FQn ~2lեx"~avP!	>Џ|Ѓk
U4zWޑ%Wny{\#W-W
-cya}=>ԞտqN4b02Ac1'siQ^~F=kֵXUhHUd%	V	7gbDоj,N*ǤxxaXsViE]W֘OWw̻>ׯe8۵o~]1uwBt[5.QwU!C(!Jcv][,^aiw{":}Fm'@pW67φhpЎY٘fڈ"%,:@@Hs	_$̝<9kh6C//1GތPGA`7^aH%
?>,\d+cu.Y/\"xSHrOYЅ2;L&5tEBC2N ԁ4mxs'9eKug\9JI2	XATl}D	1{!@u=	zC{*7-s8i~򵞣ߎ-xAdSgpܱct8;WU:BKs<ʯ}YДvE#,%)aZ1>jEAPׁ;%& [hyJ.
VPkd*H.f?X戣rU񽘀r<\2\WE0K5c6<5`lE,%@'B֧\uEw載kxA{ P
^Mf#3/0Ȥʚsrl(GvNWfqJ,=+\Z_r	P=oFRm`6c֗W?qPr >1VmM_RC4F66-oLd:{S/
+ҵE9L%Ҭ?c;?Z<#tXYx	ujЗhe8G/W^^J.W\yɕΟ{Բ8FV@Ɯ',]mݴ&^	.Zh٩uY`adYKǫG	%lցF3s2㭒B*'ѓ}? ?H;W_-.
2<yd-+o6ť~$'nԗ@Zb=
%I0W;v>Phd=JEҵi)|Y[ [vprH$I`H!_]@aP'^(K]A2\
fG+
AsyB.1ĈtZ}lJG,\HXf0H`a$<Р=.̲(!pbk	2'AP\Xz!OI܂L{%1ˉ1Ƽ
)̵6mkw+q2j9(;dWv ̅/ˋ7}Ol{Ym	|%";*R)e)΅hM@Lظ>[180eԒ?M,
OGxpo&abQՇ #D.Y\qπ#
#m
	1yfH%%Uf W
ĉz|Cra4]3v㪻\Ǻ(]S:xk2kci71%Yd0FaQH[s׾G@b_=Zz͚/}%y)@HfAa}=m{Aq	;b/ZQ,vqr8wpuîd|*\N}26˨DI1xҩ(q-u)=2D}iE@%=rJlN_Ύ 	Ǔ0{5g΅]?Mش)M:+_7&zi;*S,/Ǣ*%hd.!T:{Η_\UɏP]oy9|!"<e2Qk/[o~ *9/wx}ѯ1rǏVm<^xw~Kı/&	DP',BrkKr:MBIamڭ\?!dKٸG!d]"Rwc/9ܪ8}#H6Ao)5[+ReTnEs~
Yna.:nZt.L6l(6y(EŒyW6#m=ǍIX!a>eJ:v`aʙfHݞy;^-d7`(ore=/kpYo/ge)/~;t2os_u+
7~K-nxc􈤸K++O˷ G</k{6o?_{{~>,?蛕ՇKl[Zr%ruQaG7
pm}:c}|HZ߱p-Y_]}hpo^|pK7
#Voy톃X[,FwR	+fGsr\F)C*3ϘAꙙ.KiiL"wj.=JA"wFH$z:*I9#JW]SPeNZiXnw>)زז)w1İIMkIr^cK;Xs,ԡeL%6&tN4gAIa{IqWSΦ-:48&S"	}gl-ti#LZy[KU7#aRR$GԿv|Yɜ4wOV\f঳"Rr Ǯ,Kvg[94v{nuzKvy|^1=&yZ_$D$7+3F`avxacNa:[MiB3/9v8Òtp~;ɞ"=ԉpsgI-K/J#<#"LAig&$(|4ișP
R8A!$
%8T;)gΙU5x>v&6j6m7pؓ^pIQHwԂ0M%ѹx҇zM#ۋHB)Yw*f~X֠n-gw&(dy
̥Q7P |ѹEw}IX,: 6;[QaONysgѲ!6u6ò8SǬg9c=styj֒ߝ#3^+zB]$=_,4ëY<7ݻ\v4K6>
.y{dᥙVʠD,3\QZy$rBӃItg8߯t~@rPO>9odhObcU,5޻
xҷ|eyDD̵3,w@_u[;U>qIRm0-H:+Z2ofO{5vAJr5VMY׭Mw\Gw&xt'Erأ@'Ca2yLH&>a;T~1MEq~N{_ň%Q9',[XiNLRpjIlJQxGEl	Dɒw$ٜ	o#hfzKbb,RĔ̍wq;N5WEț>;:;VXL"f	pIuodGMe*Og`*K&,ɓ8>&͏$0m\%dQj(%`jxvնs-& %nL,V춻9THj/T$J#Ӈ썼{gƠijGiN`B0yl]QK[":ɃA@ȁ5/Ieo?l.y~NNB.FTOn>6ےr@71MLƬTʝE,`qۖ)@ν5.T
Weg23(,8sL禣ԉ*"UVe+eT#ҳA[&?.JhC!@21S!cõA8^yxT6\MH)캈V>*{U!]&$0 &$wF/K܊
iٕubY&6jmi)1kE(-iM*%I%gn죥PnS;䘷H̆ѩʊnQ)zerl%:kl,0w(Wn2
ҋ;ʨWNfٚVJ%HeʥTְsC:tܶO^1`pw,FC||Y뾒ߊkɋ#U	d4QQrq
r|O^1y6ޱKnW"1B!08n3tqp
௵L|5N\,Ӻb)E!ycs9$WW9<hSn\T <̰V󲈚xQI29z)QR/3Vs>jr~T|'ԤVvz>~ȵ)5˕݉ktT;8O85Hp7Dg$F2)*i{!x,0d[)ZDd30fΠ{丌F?jStuK<@[R?JZ	8mx͉'bIɠO3*ݤbji%E;37xM!]pH<HS'|8UG=~~-wk+;YQ7Ү%ԚKho:s/ĀV4Z>cW;yn*{%;\(Jn[B0JA$vaB,=èfRASa"߰\^HnBcWYFD0RXIhXv/PU{x&A	:aWo*d3Ltڃ~.
TlYv]g$Ie'Pr}4PF Q mU΀.ӓ_DZTJW|<D-32U)Por*Nf6:XSjJN:	թ뚹ꢥ뤯iȃDj4Ҩ9ԍii!-PRzn&MxPPpvʔƢo)/ZγB!Jxz>$՚71a-64!qę]oī{4g{SIΕ)DC7y80ENLy`{K3rxqyy
99pXM=wz!V(	o@;?8)0o@P$
-JUsRUq(gz|vET cҋ^t.Z*?)ij~1/#BjBwn_c+K`3돗IZ~=!kkֈt9KAfl8Ee0NZ~9Xq{	Tzi&fGip]ۣ.
;̝/J2͘}RٟA@Nb;HW0Ϯ"	`*Ӯ6//mJXV0D=B*ro|3.R5Tb}Μu+pE-t;fO^zbIp]yYdA>tZJeLe8Se2Ƌ-{%xl$&Vm)(AHfw)XڊQI5l3%R\Wf Ӝ7:zɳ0h
CX!{e%iz$c܁n.rA
Hś>Wj}3x%=ӫp@43kg7*}V3VU#i=;[(ҐFƝ<Iҟ-sӄdB3y9nD?'X~Jm,UW!&:B\Y&a} [f;}jP |J
B.<Hqx%KX:	Mp`
H}"ⴂ8Ƈ|1>9,87OpETd*2j
ݼZS
$d&
2$dPjDwbʥw'&|&%&R"xnJqoNaxw>Ҥ\;F׿AG`Nhm%Gp$m?s?@oDM2u}i:Ό꽙.9E=3"C=q&+uղ+tP^}he}v"{>	[KA߱(]?%dﶭ5*r-yf rЉ1C,?b,="-_3N+h`LZ//S8ķ?7asEᇀJE2YZqʠ^.4帋Q?Ñs')$^$8'';{~Ѐq0QL	mtǹ!%U6žw(816)~чUf)҉>491n/Lpt?UPA&df]_9Qϑ{^%ZʢԄZˡP?dNȒIr},|BYo9&Y0lz'73j6edeI|&J;P}}(|h>.Y_HZ~eV)yz۲`'UUʧ
NvN]%]J;<JUZS&T.l&z;c:"hfV`rUtAtg3$L"\
c)oN򤢤64^ʸީ^
Xk~R	S%,N@qtf[zj׈-=^xI)h<7JkVKkZm}-ב5ß_Y®rC6v< J΀Q%P%>^z'qZgaPba_fjE'I3M/7óOu8.vr9.pDVV.pDDd6xNx!ܲ,<bI$yCa9YPїF08@Qٯ2ˀxNn)]\#),υWQQuj `lZC_X}hpSB<"0ܶ=ÓǟKr=g2WQ=>RWm{zGeJ&k!&aJDVJYsS#TUw9GEfp%柠3էJ3`aқpȢT^g+)̜+9h̝냅YIzu0i~>𶱇m~āRҟ[8/"!x>ET+܅n	LjjP]hrmj4[d4ѥaB%eLϧM8n4C$veOw-zEI-l1YNP1DSҜOִUaz2`z<0
ScqYl`SؙK"ޫ>mŷ	wB\Br/aNZZ>毼G4I		.(G7Y~}3'~Ё&ک[6cv1)6h|u,L)T@B$8jtD	3o(+lUꜴ9я+/w8a,1L27Pإ!(g9AKāb*,[Vt/.#@Uǵu
ƭѰD %A|E]*`@qËlf4)rFw?<Vcd-+ˑAD||HErXe>տ.deέ8uHJ)!B͑2D~f	`tJ9W$~Dţ Α=/XyS_NSnԶF]wȉA^-"r*-:|l
ђ㼜oqCAtcC
L]I#͠rx㛓#|_9}>W?ƻЎ|
B1(=@6K\&8ʧU&3_4,6?sh0,i`rѝhHLNstsvJS++3"qt˖c\o1.$
~Э3c1ֻІOH2職?/䵔Cf=e2VU:ݩ+Ox[)UGy-bO
(CIm 7Ȃ˫ttɇߠՂ	N)3bE| rS>Jl%?ZuX&lo-+̈́<R)~Nθ!.*A=^udPX_e1ML	5F7%{M!
Ɩ5Kafilx8ڢh,CƐZ0	1)'Q06rͥT͈]J3"wYhGinuaF#?ɣ{76)d7=
IbHVêЬ>RAq	EL}*&lmETD*m׃n9gE:3yΆ~SkHtkyc"_^O<f2:;
FJ1/0*ymvIс,}eiN)DՆG唟K奇+k\
gqq'e8]v/*PpOߴ;	KbMwDIҫk>w[AˑWh^x.hރKcQ_9tχ:~Q ʅG

vR>cd,ϫF@}@8qTF8
Li垍{"J1F2tY>)?,7^Ew(:ڄJb&O-Y`y:6۔N6~
#xhK֝(f!Jq}4c|`	wx;uxIRU6)S	ma1g)~돿}U.H+Jo0BZebiv.i&pIzaD$7|Ėŵ|
_/IW=C2OKID;?i{݀'aiW>ӊ݈;paVɠ/ȡv/<uZdgSt|$o΅Y͏gK$Q^@3$1;;}	辋
ubQ6vcy݅Qif<ke.d9穙evQdPC)+(XXIP\V "m{
h#f6l'Ό,5L3
o{Vǲ	U=vJ%|w(5or%@IJh5bՏD:/VT9N+rz9aBͅQ/9#[YI=e
2;5Z<oj{.t[>j߄Žx)%ШrY@oGm(x/8cxY,iʺ]#]FDQ5Ldb_:H	:ZhU$JAoBQWJ
KxWM<wҀN4ÙᲳ`ĳLo$ؗ9bhC$Y	kڷyŲY
nGn	RAan':Ӟ<~`{PIxI/X4m냭඲MrUd=3e${+8$Img\s$9tO2 ᩙ99*Uw0z.gd5mmdLH~P2j%<e񌭳LfЋRXInUѣYfFn/jbKǜtma5;$P4cq.AпmDGul$A{wZ&_ou4f"9PBj9Uea3ᠭKr[XmDsZ %ULӖSH[/6ATき+cEJөoB]H7,"NꜯCb._DJG|cW"`-0^έV=e&;4tzĤ_@̓ұVkq"wQM7EXC
fF@&|~Y#
T
m]ht!@ѯ1ǙU?W]	9LߖqDV7l哄 @gƫ2B (]g$$Qض OsXW7~AoSS
@-q5+e_;tL Mp\R@/G55Z~5|DCvT瓔~4!xvLy|;Ĝ/~BNFaUpe	obEq<C1ۦvb96yƄ[:'HObޫtEQ\.}G{>qP~fkwGB*j5_R#Ig/%3prX9-dp~TN)"Xd_S}A#Z!,AT>%î<z"	TJ@O{h
ri/.
#GG_	Mj$39ܚx@h`Hb̀l|21T|1utvm+g'8L!?,:z;RN4piBA=A
t
ՀȪR0c-5HP*)Nr5D"	RߗSpl;gm$ZOh<@ <R
9XQ0Mb!t&A:Kc'pƪ\g5Ki|P{vO	3w9
S7ϒ/f_!-!搂؛J%ڰK-0mON7 ɶUqmBo8dӻOO@pKxdv1<B=ӭBo꠽h;@/ݜqd6S9k_'E79ڄscϼv$Ӝd	Ǖy)R>"谛)o8V#h(,0[՛<]cgO8@aKxGRk3s昽Lf6mDię!eJbͻ.Jw<M|yNl/#9o
<ȠW/)Zq';{BIp2D'8|h},	RCa$MrkmJ~J@02K`oVg*E6adwITR1r~+	hIAZ4~k'FO	o$C]oF%*B -&!lDt1<g?88SMo>;̫֒%W{&;h)1MS35k
"-|xs3\F/j;8o?_Z&cs@#!	B&7ROK_:q/Ix1[-y,5R OVԡyE.


*b])NNc-dNFVQC
n0*@Y)8	0cLVCY'\o̫5
:#enԩ||Ⱥ#]HgIi&nS^8Xɛ!A0
nKNR=YuNpYSSWZ72J<:uƋBnCerA76\1^I>NyPsHǐQk'j
fbbBHe{{,ϰb|dB099w":5e)Pv5g?O'ӛ4Q2m5ud{=/pB};~8Z6D.ޙ;
,#!L&pu5wMOo1Y<V'Pz#cBb<iS	gj{2t tJ\oQViBId-tw-Rv͙!%GU;~6blbORܽ9=y&>:RVA6gL.7(	o4,`Rk3Qb6sΆZ
)FFBTgCH.[8~w_]*PRq4XiIĈ{욡3iFƊ	Tv`(mۮe8!7eGBb"}Ji쎛D{ʊƷ(H"G2jZ%2?_	#4P$%RJǩ&4].cw;;E拜+Δ7Y#@viZMkQ.u"mO9I9GelR8ԼLwU$3m[V7_9=ޟ6,inac8ki'o
ld81Ov UWV+wUFY*ϲX<%p}3r^$<LgDP8Ҙ	
rnE8\	縄-RJ}j7B4)}j&<BxRP	9Yg~#";dձ\t]&i(M1p:'9RfǁFH2H*	%\޲GZF.-װtqLtIR8I9*aHWPK,RV$s@,lkᏯ/&4\?\nN 5,./?Z\^_XYlLtN	I.`l:\]

aH}e!
s*ϊ^Y/2VU>46t,噪QC7`Яs*^~YH@x*XiOwLHToIb!'g0ŊRgyiyr"KkKk%dVTƂjHF]DKa~hEtT$	5NQG7kvO^KM)ȁ'[C~zε9)gx2}/PFO(XH$uƱ'!]WWjqu@LkGRZ)IjUDATJ}ψb|vj͂]?bvn>/0G1˛ntC:*Q@ILwj`H0T"
^F{~|	;|GJSY;BUl8aǮ=e:X c'ğM~v'(Ph=zҎȧ CSh0ZMDҺF%qY@ZNUy
ngJxwQ+9﷾4	lTWҳBHrA;67
mtWF?Xz}0O]н $!7:$k
OF)g
	G&wo(aL/&GNYb
ڎb%S'^|`9sB>&pIO8~_E#K(f>N9~E;!PGJ6a%?6a4ga;\m`$z!ޛ5y/`})c-r6WmQ
hvGdJ iC[FEUF	TK&0͢FFC(%]%*{%WfkQXm{$1vNoZ*nYvbMlNUA`JC^*Jn)GT8
?4eB2`+Mуoh'O/qSUШhOa
g1),3UrPϺ0<Ad;D
-6D2hjDoB4*ryݹﬆqSJqB.r\8
Iz7%2${w##8wpD[by86qȮd(]ܸ'fj'cJ(zͰxл\JPMqb2rpW86LT0DC.'z?1XLѤ szʯ AH~YXl4-*3:1EͶS[i$$_[{L
N8JREu_*^
3|_Fi*c

t7	CqGH)O P	&ͧyq*,UL x{諦	q	qS|	ST]UV,9.VO9:Y.WضɡHr,`)	1F*0zҠG1* !{Bdd1X[QdޟuAN䬱ub1aOvV/OQ'noP.勀
	˱5,norԀsF"XIŒRP0
,TI
XԎn4oa優lז#*3JFe$ OYX^`Ͽ"ѣ+Dx 		)Ql
>#hٝ_aǿv_/hhIpS#zAȓOs/G}tl.:rN%2.	-9ՅJM¥g<!eVZۅK^`YNtEc+Tr
  յ"
n:V?瓻hnFBǉ~)фGC@[k1	0dqdQ2 _@ǭȧ|B֒em(Mµ'ɮ	*-ȥee?j;9ka#<!݈fKc9CsU'7H^rVʄqW {/eVȍLJ;KZsTD]g	:c@xzz6j%BoGXLo;AЎ( 7FEQ9!
YW/
mF䛣I#G?X:;.M>&wRBh+kD7wY*-vrVߔV6WDJ`RՎ
shUrve4ۂ\Q+TEC%11H
UtZAp 3EY%uER"քٚ,{P5MʮV!9Ee6p aĆ*A5,TAqh̷cud٦17̅1}}.yJЕ͝gņn^h6z2RQЅmDtHe޴Xep}A(j
ƜH Rv(($jw	*{9QZu8ZHR_
pjW DIX9hb4[<'į. K]w޸yo\ϣ8~bsJϤ >q#p.*?OTVQ&J+<f"8sjxZ+mk<gքƮudqQ&e=tO[ xVݝ_/VsEVܵՇesfv.fM`[FHMp:MۘHo%
MIW"VԮM%\4I81ӜmKN$hv0~+%m]2
i*$_3tZ_Dp5qxJԲp g#фqf-LV?rN/ѬDT#ڊW1jlqBXe)<mr>/
_rj]$#wDatˋ;/yDtC
*uFVad`mD5fk4X1SL$aE#ؕX'1USB<H]]+a+@0RFh$LGZ(
JP1
:Fp[ҹCY*?@ǘ-*w~P}&ۤEIqDBG3QPYHcE9Q6׹Iֆ_Ӽ=^C
{áwlk7xŇj]g,a6Zx
l	w8EWdn{S+BwdaQZ/<Īx%v)l*!T;|7H,5{X Q=L
/"= ]UE),raBLe*F#gA ɼdD|,!SV_*t~
xN__Yu딣΂r[| K
<#qb.ByϺTlq03KϹv
9Oتn}_4'tTU>p#oˁ(L^Q	m
44۰G6؀.ӇYP7S?<)y^f90@BO'.wt**DIeIZgY`ԃÝgj蕝1Ϊ{ƣ'"D<W
٪GWke$NrѱTQIAeH'
NG54:vpakFavRc Կ¬maw&bGi,c葕FĘEtC(d\3"\8^[
koRL`{9.) %1-rAҗC0Uo85Y8g`tu+Ad7VRGRAvZshnY$(rzHk5
J
ZX':ZW/#H:!_.V5B+9{2\N;JqH<~'Po/
KvHƴr_\Yݖ7W
1.=XgtCCw*t"[U!}M$m@	,I4щxbG`02VP6֫P`y̷hn8dz:	3)d<b.^r@+Y
bSA4YJ876+%,-%wlhfZe6
Dy,>#Qy`jRBrp[rguDa@9x
䕓il.z.`Jc+ysޞi/]c秡8J!9TO)ZMu}6T.vZoj&<e_cM7ȊMuQrrhЉK$">DVtѵEXӄP?^m(eXsI1m"f4= BQN<(fDanApmM(kcEyyuN"snoyTr3ANēpq!CZYiT0ɗ0hzu):2H?EQǌn;71azzk\ms8<s~󡔭?Yl}=WQ#=$L'0Qw`w1aj)$Msޤʢe@qIR4Q(M?Bf*E*1lRoQ{ĐGF%u&LbD2HH	)'
8(-o.ϩk/xuhpl#hM5]Tj*.vyXFC-|Hz0 k:Kah؁Il,=eG13Ĥ|Cn^4Zv,6SHw
oX-{&#xyYG&Ro<{;۹q-NdYm-0P1Ld,|2Ҏ]ZO@g4Wk=~Q5?BqQ0eu}x;zj(Y+IOhC6M_PhD@p~|L)D.-"~*%K8,Ճ(T 
z/z&epTu@Ly+$b"3:Th
ӣ~'~+YհNPWd(!feSմ~RIwR<nl~.v=>baoAd-|IجB6nes)lt`MQ#&Ip*#
^}gVXY$p[e`
20v :]*/0*rRvzqgC6%Y'ʓyP&kNca<:
lAf3}Q(<m-| yF~Ґtbp'0WCN>}Mr!^RE_+AB@?Ee#"uNFV	dnuG	1b  ~ZѶ@Ax^/N^4{
=Nbዸk@@S]i"HM7匡#	
*cLSߘ"D;眃2ab]D~U$茐ӕr
#fZصD1N]yB{̈c3yUJ&R\bl(bZ:3:U
d:Ԋwׂ; ?͕ހW>@J/	NٯO60}V3uF$f6Ig	3Zәm.{,i\j1k%4Yqc']yЯ"$'
zQU[F!HhHfb&DySWkఄ
mi+:GHULr_}F<DC☮*FX@RQ7J*E:ΫVܘiuJa":(8خ!N*Xe.7I$}Gq=~Bi_Nʄо.Fx
^Ώ'W'!Ӿ$&9f$Ls6Cn_{r0,Bcd%!Z.3i3doMBǌn=g*fxp4'Zˁ-%sdvBta󰚩Q,1,qi-/-NLtܰS 
{Bͅ^d`8j%Avs Yp!~Е{2j 2I,D"Dǳ-V9V*alr6٧/h{BBv'ZU.OA}9@]ůTb-Q)(/dC
hd9A-]l/v\kDt9Ō7"=9+HGs~`t:*mm#T>tI?6-1Rta[#F=d)A3YIYpǡlfL|\ z6:0]ؔ=B*W^v E8sR{V<Y-:MHceb/
;
8U&8"(K\@io#[mɀ1[hsoA@
:GfC_CGv^e3$T]:`P]N$!Vg[ Zj!&_1~e]ZwaiB7t{p|8f1/Jj*6uj(L]U-mlj'>6(#-{:6l}D.$abhBe>D紨W.OٙdGn	u'_fHJ,';?+,߮=m;Gs"Ykn
|i:V
b[0gC	"|<?yQu$<ur0đm$?QeuʆZFqҶ_Jdg1#u;ҒáRgϓRA&LoVSX7_86 ph=	Y@lV
e޼նƲ3axbk&fp57YQ!hs3snfr䮳6D[OIJlceuPIhdߓz3D#ŷdI>:/@t\D~ՐAv`m-'[P6Vvc̩3f9|;mUooj3`2\oQ$qc=G4~E*w>϶im>	Vsx.Q^X;a`' kެi}M[Xecښ#j҅8B?eG5P[1HhI	 9,iq:0U:O@+uj}m
#ei}N+Q@#ǹ;G#{Ag*SY4&
sTJ	IzZXܮNIztNܪ\|QZT곳twY-+(!_Cf2$+tWtFrc!0vq9&j`hf@%BXE^Mb!5eJ:%*/"N#ޅ^SEG{,FVt	Ɖ%$ĐS@m&]{ar>UqiG6(,Ծ-}W )Y߇Sʷ0g`0z=;xA8qgJR{`};^	웣'iwtα *i,	@#,:j!	LD=p&G'N~J$ANR՞&.*09viw每UY,&EJcue?oplPF9v$1)9چ\hO$!H>*:Q,ڏfCUM) x)#!IF#(L@DzzN~-,>q2gbi/ɝF&(c)޿_J,l]D\%z2%@FS]6`O,%bF/;t+~.mZO|̸(`Bw!PPtwB
dI%0wFRAz{*g:+bӅfx/0?T?U7x>EG);O 
U/]Uqܻ^Jzd˧&O0<݇ÏR*.¹B:sյq	>	G*uE`[ɝT.j:ifX.4vGYjy-v6m|IvC_l_5ir;N?_.^.=2;,#%=_Ѳix}G3AkCh`.ࡩ\~TڵGIlH[QN3h7K.B	?,hc3*`ǶV|kvUF4i^#_7'⃍K mƂ:4NG,V9a_:̥GIl?r;LHt!d]mLjϛ6XƮ&$[Z!@%[
b`\uP>7^&\Mje9!Z-BZ$)g0>Q"K5
߰%/?uhJA#wO9Q"u?Ry6FT1X==T]+O~>'ͿRZ\50QE7t8B-<=REҹz|9
HZz;Z,\C-ezǇ'㑮9YkXIpE/gXOej*;9!9)
71=j=qL!J)/-!LJz[uz`Al uT1G4	sUT>[W1IhjCmtMdΜdA\ҿr^pҚ-d ##lHRX~rAM+QuvY
F382˩Lu$}>˻ܤY!}d}7I=oJIûyPpf&ri=eg<]UȳZ+ImwEgdV	;d;=.c'벛
w63u$S!d1{-d3)"E	[Wv rZA8BN@$[-Ǖ:~AW?$ǲMjq/懕=\^ssoO'*\
H$S:6?ĳ{v);s|юYRA,/w>)=!,b|G9K3hC!zEjљȭi28ᐵ8r>yp"|alCx$)|-f>Gp*]H}_CYf^9qsmNrrBRS}\|À<5+@̔F\Y6ɜb'~"xFrT1dm%KG热`-xHj5[Wu`ٮyumǶ3wh6j)MPnۯ|Lx]" c??oFOG'Ddߔ(Sb3T&vhП?m9b5IO#cj`BgCt'[(>m-0΢t$&n+wM[ַi٘Դ=Ft);Qϊ8ђƪU#y-5"g8gd-ZMOڇߞObuJVqM,>*$4йkՎbr|~7QCp2|<'~fFK
3PNr{N8:aÉC%EV
ȏ,gz~mPGu'zT_hmMVWwJ/9w0T̺Z>ui6qx2TeH[F'h{(%8ӎTAE&!6
?B%6/BM/Z,HבRY*LE\h3UOqX8W(/kYk}oN'Zyyś=x$~fnzir@ꭳ*و(7[)3Idd^:;:<)لXp5F%`PuNMW1kh5ozx޵$Y<#aDw4ֹW0@?,3E=09q	)TA!۴\"iscM44
(㠎P5(rGWD($K*stX8Iݛ3HtB]3=Q`GuO}2f/jq} C2z{N{cuEda/䶘/fhj%Y2||$tz[8㓔RPGB
qoLctNWG[݆LQ&Ti$'Y߁߽\$9HŊ4
F,ٰ2ғxJ	WU:V禋kyI1%S`	d-8-#eMՠ=~tل
\w=`T0IzԣN)
PѓV},GwESl8ރ`oTtG4ZO4Ma^:x@5kG5',CP҆%}+)Up<4GDӳ?{4'C~ئQW79,[ZH{onu6	i: L6N2<'?Ǭz2,[\?M,ȱfG12-BsR7J+鑅{0Bx,ȧ0oyć[UK)zʙ}eqYlD<bT׶>O,Pa@ڨq4
k>
1]Sw`^tӸb?#MEeF9mϝc=iGF|S	6#/`eFi`	ҋY-#7s	_L['pEebVz\>DdU(3ιdJ2o&_e|3h?񺭰\^ܪcR!^ ^m88'g~fMΣ)50Oٿ
yҲQ:w
tl=a0 Ǌ+nN)~)hSW~TSr|\O, #GE8Tﬢ$s"7'U9%PɘY9~"ܒ䰆o\fz'NO|Ũ9[JΦuI`(Q(u
{=rXlU"U5':;!*VCh/Dhyv(j	*V
b;.<Ҩ_|+앻@4^bdހ2Y1SdD&0~bfUmBvKPnC^4xUS	Ʊ;ʩPoL#+8vxbGMQTKUZuN+5;6)@w0,ْ`BYe[eLmA`\J\ͼy"y|սV"Er @f(YV:K]LTC52ҥx4Ijls*nJ{T"YBT/?0zL~#3+[ųԓj
G>-.s~/N̑{SЕ<KyT<g*+2MXhbfE4!5f=lh~ٶ[B.4As!RA\OݐuFuAp'
٪_bd6"` //Ӻ|+-8E0ܷ	jW0ЖCBG1"FR뛌<H(Q_;"(4o,]teCҨmm8 pĈH->qSZC]C)MvDqh
7ṟwjTbgf5ðvzS:EjFtw	ڐ
>rd;=אCZ❄Qw`/MN:pd[rizA]6fA02d;<7Cpdy3˄b"zVǀEYF:Ht2^@c`@nU>+&|f|Hj\m:$QsW˥9!I<6R]9̰ŕAY"iٸDoCR;PbWlW`_|6D}]bP}?P9"9:[xLs)d>z|J(`hox*9XeᅶFRw}q1U!#Y'D[x1zV|U<Gh{`N.ytc#|V)ؐ384'íxY;Q~$$k@rFB0nD*D#}nտo;-R3-yOWCWKRmdNE|!$Gb"0r
jbvpX
ZڃҳoTkNҥ|V{ua(HJ#QW~QyreXA8!ey	qߓ2jaNa?X*YV-Xվg	{na$X{j#ĉ;	BI YPk՞V4'HDnVݘFbOӲ_.8nˊ>	\}t̎I&IpTQʚ
2Yz_NeIo4~ÉN"i.p?I:@4Q#
#;ݐRx1^D\" ^H#\%"de8ex`:[D"OmH,
5YӅ\ES.!	3Z>L톸!S86<	;|Y5q$f^eYjZXσa]%-Rý
~vmlqR*7x a2)?qyy{7*99LK֌`FS
)H&M|hcSr4} w?IdlzΑ,BNo1	w=e؜䀛[ȑٷ4xEF78]3wSʶyaTbq7qA+5;ݷ;3(t1C=
1l/>. k|&/7J|zc;@ݡ#%{v]3TyFnՂ ab(~DJWoŖLH򗲶h8aL>|*+NpqJ9oV&ÆYj2j_nfaT6˝2d~ûX+(?zah!qSj2.}QS:#r}2@?
MLе|贝/0BNgy]]xp2q/
Lz*.w '҂q<ѨvL]DuLdPY3GFq7 
g
/e.
a]ro&v&WA/+	YT}k$L#=W ]by@?эG5=)ꊃq~h\u,ˣ#҂M_UߕOH:s'kL20GS}j봓2j,_r!%.hMi
a[>3JiԀ@OUP
H9L'Q/[4bs*`;V2Ka=T,uD-db"=ua+Y

:'W<6?͵UNI5s)չ?akjBe!&W\.hW)=>$7lk]vj
^1<ќAz^`$JT]-;>w!|V_܊yGW}F{EVSLoi|Omzkʒչ&]z
G_
9T&n1ՙ#\AmΉU5sl\EsZ,]9"J&\P"MnU9&?<t.tWK>.arMLE=K
#)fy]Q/)xݭ3!<**`g}Rׄ?1ٌy7(><IN9MmC5C841P,(FP5*&nb]$M%wOȴ"1#R؅\F&`IsP42
:s&fuyLae8	U+GyQ!95"Pg'Od=
v(AdlCN4+' $GέZ7xz1E)QW*rIf8[T[?YgNs+nmx)%٧m0%* φOZJ̥W1Q\+=aDi(1Fq8cM2kWFLaiAڛ>2)+#-oS%(хU5<fLn\	oi-$'aT0wA	(axAwѮ|Cd;CY=eb@jJ΋sĝI	Os43y{bꗎoTlq	SF}Qfj:hxRh'B.s<sLFP֖F,uJF꘲tk c{B4Yx&T.@;@ґI	`@'knC_mgA׹-o Eq5D41f,{@݁
T-}Ŀ?$iՀ%CNmkڏ^-7je1;Αc4uYI'˴rqH
WY3dtB<i8H˝wUE$@&+eD@*eK8W
`xRӥUmf&dTL;3TwSGX-&JՎu1ٜ3jHLLeskeBrP:.},nF (:Qd!/9\A23O?E:vލhWNu:xU4o?>4I|:M.ŹtRb"ェ],i,EL"SWJȹHuv=pivҤ׏	1wz!On9N,4'țʵz~M3</T	APubzn`:A&UQ3I1Q׈Nys;*ڃta2$wc1͏	2Fb"*T&T<zj0Xqϟ5)=Fz/en2XH3
ĲfFAAA
vTUã,.kzA$$ʹ_Np/AO5dW[7X7I^`cLcR^0)صGn>Uob-U
$ʰŰٟ{Bku@=)RsVq6
B{tl#r:SFni
)	MQͥsKLD=IVc>rhteGh{h/*jerFZ61:gtO
 {-D:mIbXe;J>U7D蔐&>RΕ1D1Y`ue>9/X'_mMQ=*جڂ|oQHi3l=nBl6X_8:4ZBI&z&@{{ޒr'7;hAFGEnKh#92;vw-hGo؎j
#pǉgCyкI1Id:}Lz
[%2~3UQ֧TEw_3ܫ
K}9ufҸ-D㨫[o
-
ʿ[0F;ɭՂ<S0&T:rtii^\)૰T1Z\Z=Njl
v~jUswu0,zDq-\:t[#mbmjYp@iT=/#PttX+mxDomfІo1VyɬCחuC2<|C2[O2ĄJsL4-*Ճ;jje^-nnWkڋw/j;zOar]a>YV}WcP/
U0ϽI[qЈDy9=,F(FC
^%,OӞXn'BfSe3qʘ&ӭVSCIFv*?cȼlW5m򢈒GV6hzN1S#DRO&Tb(Q?=WmUUA5HZ"F\Oq΅ںC6+uH]	|KoAQ^h\BCx]ʈL'~?D8awe	EدwGWH{I!eT
O7b"Sz9PKD-a۵vkY'+;۲Ȅjk*erƦ{xr5Hܝ8`
`!dE2s*doAɀW W3MGj]oY+M6ʵQV&ӇCBj%JNH4.[q_,l
+ΰmqE_ ٚfZA\񶌱5v;֣]b#*P&F~(4P0a_E:3HB,Qb
O<Vh}8ΠYͿ0nv|HLv盧GvP@lac23&#
d
]@ڕ@S˸s3GU4	|fy9y-~їEy:+PuL&$ϲuu#)`qݛ)1&􇪔8+/+@*`Q>aVP`sCEbc0y
Ӵ-T5hvsAs/	_oΉgZj¯`OU/\|kk2ܺ\IV֭wq?xMOcA&x<4ﯯ;DO:-4OJt?a8}ŀPh/gm6(71Iw˪EGs[>xekf5ً4%o1M9rSnNh([*GRm_[/ݲ;T
^lټx,͚EC-Ww嫻@*s֍%QJ[v~ALh0љ0'y0֝ZU"OhJ#N*,dJ$@&dLNtƅ̮ݒZS(&LjaXBӏbT[h5>(3P鐉78M-⬐KٗXg*u)rH#dexE-	%
^p;"\K7:h~tzbO39zQǟOJO?%d:zƅ7vu*Xi*J;8uh"m$hzqĊOb#4
:!9SZ^Xī⢠|tʣ"q[gk
ة]#lX!_gwmqTo"?$V&BkGIc*/jEX٢?W"zt_-RΕSd7G<jk1㩍[lTlvQz&r#̼2|VyqX~3kǍD[ʬv!Lpv	'le;UWxQJ6-=SXkkX%~$0;2TبMЮ	H;΀<VDXqqʺ<ЬaMlSY X`n췴aH78%C>_9PZ|nڔtfoҧcU"zWi4׉y]![>WjYb>tZ96x:zgQw`~
_rϒS4č8rLR$NRX׈WiD%cmǕQpi{i`//,K6zH}JY(4ڲ:a?q"$/*#w,VF
=PP}l%S_8ȟqQFU<yNPv□1RY-KY<IY=sI]zo$HzsjǕn5FJ*hA
L[F#+#٭dG u߮J6(MU_=O!rC"%)TxP2saaR?_D=@ųyJg#)B)0;2DϟBG-!
6-<_lȬMSx2)+jj; YKi><
p좣2􉆆YV[-鸌d?0Ve/-=YIdG4L-e
;#WkMCuh(TT&WEu >3¬E:#Ũ¡&2@XD)n<{0Y<_}eB{zF]+;Ih0NC\f!*ЙmB=EB煐^RU](dL8aՂոeՅ&dT|-l=㝻1
"Y=MA<scEPW*X@3Z4
`_[c+Ʀb3'oXuMrh<dԈ;I/{D	B%%69p5
^^gǛqGdIP;
u]CFsZS"rQE}Af>I?'}(kq;Ϳ
dq{*ۇڧsȂ
)zE~}W(b@1=jy1@v8{yr]nG[ U4ywq+.Ry|aIwdUEp
c%J@}Q`m"T=uI&V˦Tiy`2n@oEr,m"w%n?#'/-'+a&̣#?pN'1CED5ALM^~xz:5Q
9@hYsdj.]J!ۯi=#<oL:=2;QV@ rPM
]u[[prtGaPl.%($WbM9b3`eoz'.6DzRP97(#TgP+q7z#nb)&私e>Yf:px-s"~7P32A8Ap=cB:Q<{t7lH#t
3$kR7ͦ 4Q
!HAs4nqõݓY1I&`?j>>ʟ8tE t/#R_3mo1~= ~ keVvDE"b=Mv4pĜ({"0orjKKZKFdbF"(G_5:tsZi
(ٔqDֆg+QxTD A/[tL+%5@wY;NcͯsVӚT;SNNdG}+__YL΃&~2藾Sԓïi[2:CPEEHc<VMkD:Z+լ/ѕoGnÏMRh"#M;&+Y
K~ƒ[
&𥟗~.cNoJ!1J?Q9xQ*|Rr^L4$$bciznDrMXc1PAH;fDC<ai4O3нh])J0ɇL;mf"E&nqK߄ڶPPEJ3PVv0eG7ԝ'[][75b
O2wW:n.iĕ-pay){=?%\jnb|FJ7M*&tI&%!{yHX$^|L/8A{	&:,u"pZqFҧONZ'6/mkZ<і2'tLz^R
Z_~9
[̍`xfJ!]ꌆa&)!ܭ^rr<P`yfBk.{?>F!8[ƊtIxJD|oPHYh*e|jܸClI 73xHf/?RQ_>N}|.=f-K8g>B>It
4vSl9KE7)|dӯ{ ";,ۇycҦ2OY{4#"nf%B_ȵbMwԦf`qy	׍d94:T0t}'v/$>d[CesBP|ݱLcK7h