From c54c1b33699d5b41d4bb1fbf5607ef7ab430d475 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:43 -0700 Subject: [PATCH 1/8] fix(diffr): fold Bash else bodies on the clause A body run starting at the first statement gave that statement two folds when it also folds itself (a list, pipeline, if or loop). Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/crates/diffr-core/src/parse/queries/bash/folds.scm | 2 +- diffr/plugins/shape/context/queries/bash.scm | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/bash/folds.scm b/diffr/crates/diffr-core/src/parse/queries/bash/folds.scm index ddc1675bf..96f3eb082 100644 --- a/diffr/crates/diffr-core/src/parse/queries/bash/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/bash/folds.scm @@ -1,4 +1,4 @@ (array "(" @fold.open . (_) @fold.indent ")" @fold.close) @fold (do_group "do" @fold.open . (_) @fold.indent "done" @fold.close) @fold ((comment)+ @fold . (_)) -(else_clause "else" . (_) @fold @fold.indent (_)* @fold) +(else_clause "else" @fold.open . (_) @fold.indent) @fold diff --git a/diffr/plugins/shape/context/queries/bash.scm b/diffr/plugins/shape/context/queries/bash.scm index 532872209..f10ef2647 100644 --- a/diffr/plugins/shape/context/queries/bash.scm +++ b/diffr/plugins/shape/context/queries/bash.scm @@ -26,9 +26,7 @@ (case_item) (case_statement) (elif_clause) - (else_clause) ] @fold (#set! tag "context:clause")) -((else_clause "else" . (_) @fold @fold.indent (_)* @fold) (#set! tag "context:body")) - -((else_clause) @fold (#set! tag "context:scope")) +((else_clause "else" @fold.open . (_) @fold.indent) @fold (#set! tag "context:body")) +((else_clause "else" @fold (_) @fold .) (#set! tag "context:scope") (#set! tag "context:clause")) From a0b75cf933dc358207c3fefadc9a075ff1a4f680 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:43 -0700 Subject: [PATCH 2/8] fix(diffr): fold Ada if bodies from their then and else tokens A body run starting at the first statement gave that statement two folds when it also folds itself. Dropping the else relevant region shifts fold ids in one golden; its output is unchanged. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/crates/diffr-core/src/parse/queries/ada/folds.scm | 5 +++-- diffr/plugins/shape/context/queries/ada.scm | 5 ++--- diffr/tests/fixtures/context-contracts/ada.rs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/ada/folds.scm b/diffr/crates/diffr-core/src/parse/queries/ada/folds.scm index a9521b069..449ab24cf 100644 --- a/diffr/crates/diffr-core/src/parse/queries/ada/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/ada/folds.scm @@ -1,4 +1,5 @@ ((comment)+ @fold . (_)) -(if_statement statements: (_) @fold @fold.indent statements: (_)* @fold) -(if_statement else_statements: (_) @fold @fold.indent else_statements: (_)* @fold) +; A statement may fold itself, so the token before a body owns its fold. +(if_statement "then" @fold . statements: (_) @fold.indent statements: (_)* @fold) +(if_statement "else" @fold @fold.open . (_) @fold.indent "end" @fold @fold.close) (handled_sequence_of_statements . (_) @fold.indent) @fold diff --git a/diffr/plugins/shape/context/queries/ada.scm b/diffr/plugins/shape/context/queries/ada.scm index 62b31b825..b94588c75 100644 --- a/diffr/plugins/shape/context/queries/ada.scm +++ b/diffr/plugins/shape/context/queries/ada.scm @@ -31,9 +31,8 @@ (exception_handler) ] @fold (#set! tag "context:clause")) -((if_statement statements: (_) @fold @fold.indent statements: (_)* @fold) (#set! tag "context:body")) -((if_statement else_statements: (_) @fold @fold.indent else_statements: (_)* @fold) (#set! tag "context:body")) -((if_statement "else" @fold) (#set! tag "context:relevant")) +((if_statement "then" @fold . statements: (_) @fold.indent statements: (_)* @fold) (#set! tag "context:body")) +((if_statement "else" @fold @fold.open . (_) @fold.indent "end" @fold @fold.close) (#set! tag "context:body")) ((if_statement "elsif" @fold) (#set! tag "context:relevant")) ((handled_sequence_of_statements . (_) @fold.indent) @fold (#set! tag "context:body")) diff --git a/diffr/tests/fixtures/context-contracts/ada.rs b/diffr/tests/fixtures/context-contracts/ada.rs index b611da3c7..bc3c91e5d 100644 --- a/diffr/tests/fixtures/context-contracts/ada.rs +++ b/diffr/tests/fixtures/context-contracts/ada.rs @@ -61,9 +61,9 @@ end Send; 8 - Dispatch (previous); 8 + Dispatch (updated); 9 9 After; - … base 10–12 / head 10–12 collapsed [fold_state_id=33] … + … base 10–12 / head 10–12 collapsed [fold_state_id=31] … 13 13 else - … base 14–16 / head 14–16 collapsed [fold_state_id=11] … + … base 14–16 / head 14–16 collapsed [fold_state_id=10] … 17 17 end if; 18 18 end Send; From ad737137a67c4ead3d55ff2113d8d5e85e718a6d Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:44 -0700 Subject: [PATCH 3/8] fix(diffr): fold a Go block once when a label shares its statement's line Both branches of the label alternation matched `outer: for {`, folding one block with two indents. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- .../diffr-core/src/parse/queries/go/folds.scm | 10 +++++----- diffr/plugins/shape/context/queries/go.scm | 8 ++++---- .../plugins/shape/deleted-bodies/queries/go.scm | 16 ++++++++-------- diffr/plugins/shape/removed-runs/queries/go.scm | 16 ++++++++-------- diffr/plugins/shape/shared/queries/go-tests.scm | 10 ++++++---- diffr/plugins/shape/summarize/queries/go.scm | 16 ++++++++-------- 6 files changed, 39 insertions(+), 37 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/go/folds.scm b/diffr/crates/diffr-core/src/parse/queries/go/folds.scm index 9467b81e1..bc93d6113 100644 --- a/diffr/crates/diffr-core/src/parse/queries/go/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/go/folds.scm @@ -2,11 +2,11 @@ ; folds whichever plugin imports this file. Comments are left to ; docstrings.scm, which folds a run of them as one region. These patterns ; set no tags; the plugins that import them tag what they need. -; gofmt outdents labels, so a labelled statement gives the indent. -((block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold +; gofmt outdents a label on its own line, so the statement it labels gives +; the indent. +((block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n")) +((block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n")) (field_declaration_list "{" @fold.open . (_) @fold.indent "}" @fold.close) @fold (literal_value "{" @fold.open . (_) @fold.indent "}" @fold.close) @fold diff --git a/diffr/plugins/shape/context/queries/go.scm b/diffr/plugins/shape/context/queries/go.scm index b89fa07de..3e56a4e93 100644 --- a/diffr/plugins/shape/context/queries/go.scm +++ b/diffr/plugins/shape/context/queries/go.scm @@ -24,10 +24,10 @@ ((select_statement) @fold (#set! tag "context:scope")) -((block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold +((block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "context:body")) +((block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "context:body")) ((field_declaration_list "{" @fold.open . (_) @fold.indent "}" @fold.close) @fold (#set! tag "context:body")) diff --git a/diffr/plugins/shape/deleted-bodies/queries/go.scm b/diffr/plugins/shape/deleted-bodies/queries/go.scm index e2b01f948..22b28af80 100644 --- a/diffr/plugins/shape/deleted-bodies/queries/go.scm +++ b/diffr/plugins/shape/deleted-bodies/queries/go.scm @@ -1,13 +1,13 @@ ; inherits: builtin:core/queries/go/folds.scm, builtin:core/queries/go/docstrings.scm -((function_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((function_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "deleted-bodies:function")) +((function_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "deleted-bodies:function")) -((method_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((method_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "deleted-bodies:function")) +((method_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "deleted-bodies:function")) diff --git a/diffr/plugins/shape/removed-runs/queries/go.scm b/diffr/plugins/shape/removed-runs/queries/go.scm index dd6585957..1b6d69418 100644 --- a/diffr/plugins/shape/removed-runs/queries/go.scm +++ b/diffr/plugins/shape/removed-runs/queries/go.scm @@ -1,13 +1,13 @@ ; inherits: builtin:core/queries/go/folds.scm -((function_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((function_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "removed-runs:function")) +((function_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "removed-runs:function")) -((method_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((method_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "removed-runs:function")) +((method_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "removed-runs:function")) diff --git a/diffr/plugins/shape/shared/queries/go-tests.scm b/diffr/plugins/shape/shared/queries/go-tests.scm index 5b231c998..76e06c772 100644 --- a/diffr/plugins/shape/shared/queries/go-tests.scm +++ b/diffr/plugins/shape/shared/queries/go-tests.scm @@ -1,8 +1,10 @@ ; Test bodies, tagged for every plugin that treats tests specially. -((function_declaration name: (identifier) @_name body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((function_declaration name: (identifier) @_name body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#match? @_name "^Test") + (#set! tag "summarize:test") + (#set! tag "test-bodies:test")) +((function_declaration name: (identifier) @_name body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#match? @_name "^Test") (#set! tag "summarize:test") diff --git a/diffr/plugins/shape/summarize/queries/go.scm b/diffr/plugins/shape/summarize/queries/go.scm index 92c665974..b6eb715cd 100644 --- a/diffr/plugins/shape/summarize/queries/go.scm +++ b/diffr/plugins/shape/summarize/queries/go.scm @@ -1,13 +1,13 @@ ; inherits: builtin:core/queries/go/folds.scm, builtin:core/queries/go/docstrings.scm, builtin:shared/queries/go-tests.scm -((function_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((function_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "summarize:function")) +((function_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "summarize:function")) -((method_declaration body: (block "{" @fold.open (statement_list . [ - (labeled_statement (label_name) . (_) @fold.indent) - (_) @fold.indent - ]) "}" @fold.close) @fold) +((method_declaration body: (block "{" @fold.open (statement_list . (labeled_statement (label_name) . (_) @fold.indent) @_first) "}" @fold.close) @fold) + (#match? @_first "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") + (#set! tag "summarize:function")) +((method_declaration body: (block "{" @fold.open (statement_list . (_) @fold.indent) "}" @fold.close) @fold) (#not-match? @fold.indent "^[A-Za-z_][A-Za-z0-9_]*:\\s*\n") (#set! tag "summarize:function")) From c78471088116fedfb507cebd0d5220e35dffd7ca Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:44 -0700 Subject: [PATCH 4/8] fix(diffr): own the Julia if fold by its if token The condition owned it, and context also folds a condition that is a call. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/crates/diffr-core/src/parse/queries/julia/folds.scm | 2 +- diffr/plugins/shape/context/queries/julia.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/julia/folds.scm b/diffr/crates/diffr-core/src/parse/queries/julia/folds.scm index 238cf06ed..496706eef 100644 --- a/diffr/crates/diffr-core/src/parse/queries/julia/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/julia/folds.scm @@ -4,4 +4,4 @@ ((line_comment)+ @fold . (_)) (else_clause "else" @fold.open . (_) @fold.indent) @fold (elseif_clause "elseif" @fold.open . (_) @fold.indent) @fold -(if_statement condition: (_) @fold @fold.open . (_) @fold.indent "end" @fold @fold.close) +(if_statement "if" @fold condition: (_) @fold.open . (_) @fold.indent "end" @fold @fold.close) diff --git a/diffr/plugins/shape/context/queries/julia.scm b/diffr/plugins/shape/context/queries/julia.scm index cbf325ad5..f82b43cff 100644 --- a/diffr/plugins/shape/context/queries/julia.scm +++ b/diffr/plugins/shape/context/queries/julia.scm @@ -31,5 +31,5 @@ ((comprehension_expression (if_clause) @fold) (#set! tag "context:relevant")) ((else_clause "else" @fold.open . (_) @fold.indent) @fold (#set! tag "context:body")) ((elseif_clause "elseif" @fold.open . (_) @fold.indent) @fold (#set! tag "context:body")) -((if_statement condition: (_) @fold @fold.open . (_) @fold.indent "end" @fold @fold.close) (#set! tag "context:body")) -((if_statement condition: (_) @fold @fold.open . (_) @fold.indent "end" @fold @fold.close) (#set! tag "context:branches")) +((if_statement "if" @fold condition: (_) @fold.open . (_) @fold.indent "end" @fold @fold.close) (#set! tag "context:body")) +((if_statement "if" @fold condition: (_) @fold.open . (_) @fold.indent "end" @fold @fold.close) (#set! tag "context:branches")) From a25774f5bcab5d8ac5ddfda7fa0915cc8ca6b680 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:44 -0700 Subject: [PATCH 5/8] fix(diffr): give YAML block sequences one indent in context The open-ended and body patterns folded one sequence with different indents. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/plugins/shape/context/queries/yaml.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diffr/plugins/shape/context/queries/yaml.scm b/diffr/plugins/shape/context/queries/yaml.scm index 27c83560a..a7e4d5a29 100644 --- a/diffr/plugins/shape/context/queries/yaml.scm +++ b/diffr/plugins/shape/context/queries/yaml.scm @@ -9,7 +9,7 @@ ((block_mapping) @fold (#set! tag "context:open-ended")) ((block_mapping_pair) @fold (#set! tag "context:open-ended")) -((block_sequence) @fold (#set! tag "context:open-ended")) +((block_sequence . (_) @fold.indent) @fold (#set! tag "context:open-ended")) ((block_sequence_item) @fold (#set! tag "context:open-ended")) ((block_sequence . (_) @fold.indent) @fold (#set! tag "context:body")) From 6a77b583a60e2efaedd1e5cee523468eed48b864 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:44 -0700 Subject: [PATCH 6/8] fix(diffr): anchor DeviceTree argument list delimiters An unanchored "(" could match more than one child. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/crates/diffr-core/src/parse/queries/devicetree/folds.scm | 2 +- diffr/plugins/shape/context/queries/devicetree.scm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/devicetree/folds.scm b/diffr/crates/diffr-core/src/parse/queries/devicetree/folds.scm index 2c7f4507d..c34bdc2da 100644 --- a/diffr/crates/diffr-core/src/parse/queries/devicetree/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/devicetree/folds.scm @@ -1,2 +1,2 @@ -(argument_list "(" @fold.open . (_) @fold.indent ")" @fold.close) @fold +(argument_list . "(" @fold.open . (_) @fold.indent ")" @fold.close .) @fold ((comment)+ @fold . (_)) diff --git a/diffr/plugins/shape/context/queries/devicetree.scm b/diffr/plugins/shape/context/queries/devicetree.scm index 4bc321d6a..9dead7313 100644 --- a/diffr/plugins/shape/context/queries/devicetree.scm +++ b/diffr/plugins/shape/context/queries/devicetree.scm @@ -1,5 +1,5 @@ ; inherits: builtin:core/queries/devicetree/folds.scm -((argument_list "(" @fold.open . (_) @fold.indent ")" @fold.close) @fold (#set! tag "context:body")) +((argument_list . "(" @fold.open . (_) @fold.indent ")" @fold.close .) @fold (#set! tag "context:body")) ([ (call_expression) (conditional_expression) From 64b11f1674c84b1e160c4bba20c86fd05061ac32 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:33:45 -0700 Subject: [PATCH 7/8] refactor(diffr): anchor SQL function body and Python tuple folds The same folds, written so each pattern's captures are determined by its owner. Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/crates/diffr-core/src/parse/queries/python/folds.scm | 2 +- diffr/crates/diffr-core/src/parse/queries/sql/folds.scm | 6 ++++-- diffr/plugins/shape/context/queries/python.scm | 2 +- diffr/plugins/shape/context/queries/sql.scm | 6 ++++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/diffr/crates/diffr-core/src/parse/queries/python/folds.scm b/diffr/crates/diffr-core/src/parse/queries/python/folds.scm index c8c8120e3..cca3268bb 100644 --- a/diffr/crates/diffr-core/src/parse/queries/python/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/python/folds.scm @@ -24,7 +24,7 @@ (list "[" @fold.open . (_) @fold.indent "]" @fold.close) (dictionary "{" @fold.open . (_) @fold.indent "}" @fold.close) (set "{" @fold.open . (_) @fold.indent "}" @fold.close) - (tuple "(" @fold.open . (_) @fold.indent ")" @fold.close) + (tuple . "(" @fold.open . (_) @fold.indent ")" @fold.close) ] @fold ((tuple) @fold (#not-match? @fold "^\\(")) [ diff --git a/diffr/crates/diffr-core/src/parse/queries/sql/folds.scm b/diffr/crates/diffr-core/src/parse/queries/sql/folds.scm index 5193f5c5d..0998979e7 100644 --- a/diffr/crates/diffr-core/src/parse/queries/sql/folds.scm +++ b/diffr/crates/diffr-core/src/parse/queries/sql/folds.scm @@ -4,5 +4,7 @@ ((comment_statement)+ @fold . (_)) (select_expression . (_) @fold.indent) @fold -(function_body (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) @fold -(function_body (keyword_as) (dollar_quote) @fold.open . [(statement) (keyword_return)] @fold.indent (dollar_quote) @fold.close) @fold +(function_body (keyword_begin) @fold.open . (keyword_atomic) @fold.indent (keyword_end) @fold.close) @fold +(function_body (keyword_as) . (dollar_quote) . (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) @fold +(function_body (keyword_as) . (dollar_quote) . (keyword_declare) (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) @fold +(function_body (keyword_as) . (dollar_quote) @fold.open . [(statement) (keyword_return)] @fold.indent (dollar_quote) @fold.close) @fold diff --git a/diffr/plugins/shape/context/queries/python.scm b/diffr/plugins/shape/context/queries/python.scm index af35bbb77..6a579a1b9 100644 --- a/diffr/plugins/shape/context/queries/python.scm +++ b/diffr/plugins/shape/context/queries/python.scm @@ -27,7 +27,7 @@ (list "[" @fold.open . (_) @fold.indent "]" @fold.close) (dictionary "{" @fold.open . (_) @fold.indent "}" @fold.close) (set "{" @fold.open . (_) @fold.indent "}" @fold.close) - (tuple "(" @fold.open . (_) @fold.indent ")" @fold.close) + (tuple . "(" @fold.open . (_) @fold.indent ")" @fold.close) ] @fold (#set! tag "context:body")) ((argument_list "(" @fold.open . (_) @fold.indent ")" @fold.close) @fold diff --git a/diffr/plugins/shape/context/queries/sql.scm b/diffr/plugins/shape/context/queries/sql.scm index 9c0e543de..5ca4d0d9b 100644 --- a/diffr/plugins/shape/context/queries/sql.scm +++ b/diffr/plugins/shape/context/queries/sql.scm @@ -30,6 +30,8 @@ ((create_function [(function_language) (function_security) (function_volatility) (function_leakproof) (function_safety) (function_strictness) (function_cost) (function_rows) (function_support)] @fold) (#set! tag "context:relevant")) -([(function_body (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) - (function_body (keyword_as) (dollar_quote) @fold.open . [(statement) (keyword_return)] @fold.indent (dollar_quote) @fold.close)] @fold (#set! tag "context:body")) +([(function_body (keyword_begin) @fold.open . (keyword_atomic) @fold.indent (keyword_end) @fold.close) + (function_body (keyword_as) . (dollar_quote) . (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) + (function_body (keyword_as) . (dollar_quote) . (keyword_declare) (keyword_begin) @fold.open . (_) @fold.indent (keyword_end) @fold.close) + (function_body (keyword_as) . (dollar_quote) @fold.open . [(statement) (keyword_return)] @fold.indent (dollar_quote) @fold.close)] @fold (#set! tag "context:body")) ((create_function (function_body (keyword_end) @fold . ";" @fold . (dollar_quote) @fold)) (#set! tag "context:relevant")) From ef7b7339a1f32b87185842f76de2bf40d9974141 Mon Sep 17 00:00:00 2001 From: Sidharth Menon Date: Fri, 9 Oct 2026 17:36:10 -0700 Subject: [PATCH 8/8] chore(diffr): rebuild plugins with the fixed fold queries Agent-Session: 4fa14265-1d4d-4ea8-b2f0-abdee40eb54d Agent-Session: 01a122cb-3cae-7ac3-b791-09a8faa89ffd Agent-Session: 01a12325-f61d-73b2-846e-9886a80037d5 Agent-Session: 01a12327-e4f9-7652-bc41-f37bec9965f4 Agent-Session: 8881e3f3-a916-4405-9706-bb6e3a2f193d --- diffr/plugins/shape/context/plugin.wasm | Bin 260076 -> 260214 bytes .../plugins/shape/deleted-bodies/plugin.wasm | Bin 204194 -> 204332 bytes diffr/plugins/shape/removed-runs/plugin.wasm | Bin 210163 -> 210313 bytes diffr/plugins/shape/summarize/plugin.wasm | Bin 613305 -> 613519 bytes diffr/plugins/shape/test-bodies/plugin.wasm | Bin 205624 -> 205762 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/diffr/plugins/shape/context/plugin.wasm b/diffr/plugins/shape/context/plugin.wasm index 5f7e6cc2f841ab7168f496a968fe896b28e31c97..ee9d704a006a33fe40b50e6246985ff4be34877e 100644 GIT binary patch delta 12119 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 MPU4@1G%@&p0c+^$?f?J) diff --git a/diffr/plugins/shape/deleted-bodies/plugin.wasm b/diffr/plugins/shape/deleted-bodies/plugin.wasm index 9f56e8ca5a0d4dc00587db317087814deb6d9029..dfa47cda67f2cc966b9aa5d034bdec0462ca995d 100644 GIT binary patch delta 9657 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 a=-t1zI7B*kANSk#nCKAc$8!9$&Hn(%e|jeX delta 9715 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 diff --git a/diffr/plugins/shape/removed-runs/plugin.wasm b/diffr/plugins/shape/removed-runs/plugin.wasm index 6a0ad72d2d630211e3ba52ac79f84be5c104e9ca..b833d12271e702f9d6f7c41a823013aaa59dbe89 100644 GIT binary patch delta 10039 zcmcgxdstLe*Ppcpa0~`9LAj~JfJ7<+UQkQRq0|b@TbXuK643Al-n!VUfP!32JL<;7 zv|c4tRCL6HiiW01Tof-U1|pc279}Mr3dpziIWsuJVBhoo^Z7i>AA9X}-)rx)&zU>7 z?2`Vl%Xz~VzgVfCWUJ};R9RVp!giTLSF=-yaddjNvhkQS%uhWoVMjjKa6o2u1_K6i=IS)rZmoe?XTZutnV)SK7p&30;?xKo zuAS{rgs5P%MuMw8tlJ1{{AY)d>E1_Ov!ftJ5vlXkkj;91mHWGZTk3^jJzU)rc1klB z6&j_kQ>4a9msfv`MCp&hdSQN#5vodAz?ykBi1bw`0?|>U(x9%oQSars5Y?pxl8;_w^k%)Vt(UL*xWv)gYwUF27YJ8-O~RrA zVX${!JW(Kodk?`=1;S?UA-#$vu|Qm_BGuKZNDrkQ*lM2A8Pq$_pWhego4nnD>%004 z#Nq<|IG;BF>nnxKXHTlDf0jJEYd}|WPZ$y6q-v5mUc#~vS9N)bH0?ptwfBVl-p<%` zPq^6o4yN80iu`Z)B3SUQbRc)z|taleSMYyVt$OCuby9if2QYkb?XfUBt=s829Zjj64Mp2N1uZOvC zKXt>pafq2=9H|oT@`Z6I7HWof>24U5#KgoX6t+5rMyvDjjO8P4BPPO0EgX})yUJEW zhf8)WC%$^pL`Ca_x0xv^h{FcIKBis+UU0#Z2l|i~_MjnjH}fzxpivrvOno2(=v*-4 zfe@k##Ow#c3f)m!JmKY_VEnR3SQ9joLwQi}<2AC@W!w||Uvg4EkXNmz##)yxbMAa6 z<*Fr4{yqJ|m%3XSJB&6h@35~%Pcd?AG`5^$^-3`Bneng0^PVez#g}?c-{I9g=-G5n zuCtt?9IqC1Cd->IgobprGcGUhEs0@VVq#Rvj7ll2KuLl+!Y)B(3?@cCZxOq7^3wYf zqn4|vFUxJh8BO`mG8#;SG%0L$gT8odkTqX`=t({F zzHbKcw$(>Zx@^xeB)mUhFo+yR}TX5q%%?zSCFD z{~nBS6w9kZZTa|^(dRGpwh-uOA|Ny`YNt$ACKCDqi(QmF^VdJ=?$vGsD0RE!gRDC} zph)oZPh8u^WMgXZ#3%78EIK9x$Gt+JUl-?TjX8IPLo2g5ge7KS^+E{TAa>h}KFUv}G>z%D5t(ZRk+M z3*%~wBPc3O^hmWrqcGHQ>lNXrueF$SMR-7P;)>Ay8!gse5p>`5HaP(jz6r!bRr;gf zxFDf$d21z4Q`{z1<<_?6cy6sDHNr=sy$SZj7<$Z@TO`Gu(3 zaJAu=8h-zA6f`@xaF^ywxgom~aPE#>QapWkOYy|+e#5OyGN7||ILE8h$yQ@rx1Xx? zb-O9!{6@X)-noD!jrt|~!T{6n3N`wEn4Bhb-tWr6cmHV2Zx$BsU#`x(DwW)q?m{Ka zdYjx9Ys_vIIvgI#AxMV*93IX``G-H|5STB`MN6R1&i`J8u}=%pCl^P==htld`oG0r z)+pjNR?nhc(ACQ;nqy814GGKQSBz5|!qlQJRd#w=LHD_gX6d0*E^h_TWR6-Z6V<^; z+au_)ZGG?$hpn)Bo1iNG1LHG=yTu1F^^uTM(jPM(3D-+PFr!)Dzx29FnNnTAHunQ( z0WLbJG7oS+I{C^egkJQ)8&`#ti(YsmQ`md)O{{DdRF{@J)Jow5l1~No-t}f-12#45Z(J@@o7F-2Y!}D4$3xlP@2?1 zaJiWR8-;B*wPp_C$qp4J4i)V?gfvE5wF+lMN( zp;{i*3U7ra@*xUd=z^#vzaX|ScVas z0}zX4k60bRZLF&iYY;X7mL-dyS-}LvoLsTY2CA%ZTQ$qEg+z|e*}($CxCbk>12;bS z-44Pzj#tAej;{6)!!g4iLZo?n_!2K=vV=}B3V+OGrw!QEfyV1I+4~$1X0l8NGOo{M zZk?eY9?50F98cx4B^=M^vgm%`!cKGsC#=b36`Xl1m)Sl|Sewh9=UA7^W^ruFWg9uB z9AL#9(+|kXj$Pm!);(f3yTAbD@dL+%nidyvup?|hJa~Ye>k4n;=ijntyTL##IKZZM zgJ<|Su^Y_6otf-@HyFvsFE~SY^-g)K*z>ooM{K4u^yY@wI>WEHrAYkD1$H5(x3E6$ zWHYfvjB|$yI%Hbd)E=-8^IF6%J;6b#D{qlD_D}N0)+jYr8e0t-j`5pjlQNSIh7+=9 zfAZYW!osw02n$=7#*-E!tA!0GR3^q87vJ%O2_12J5!=%j`rxr5R!OL;ERuG(D?8f{ zda3ToBNut}d9gHSCyj7pFl z=mptdojh`s{jDfv%lycGUMb5aR9!EXG`;w&H=LH8uRkpZwf!`k=1;;WPxJI##7ut} z0gg8=l8Wvc|DR4n#Y8vVt&8ko04(NRHorf3sji%sj9N*XL)_ON=36TpVve(ChCl%S zLwsil1X?L?5^L=+s8p5{Yr$}MXr(M9R#XrSRi@J)*+Jl}%%VR|1;LBTJQC{o5)`5` zHTJl$TkFdH8VO%vdK_Cd3ZBRP5^C5Vqu?aoj1~8dhMkDl%f+d$L0`bL+gVyL{0G0= z!O@v{h0yM~kjgSczypu`%zg}kQU04QOL4nvtaX)f$NAf6rQum1y?Sb`b$OMNM5%&A za#pYx$H2!}dx;$!1AV&3q;ZvJl?o3Vdsim!@5|uYaE=hkCnaOraOo(W(7+g zPivEy#>DaP2JYC-)Ds{Yi?UeE1jxa=mstOa5Qs@>V&p`y20RhVqTc|WiA$xyWeFx! zuvKr;-eMK((3^0|y-dn}l-h9B@v!nt;)S3mb6K3YX%h65%pH9T2Ai0(;^vf->6A)J zW08}gf46GsvkV1$N-pd%9(ZjW(@zF17rHbVe6TW=!4z7AgO{1t6xc#z@rNmNn(#%u z_YQQVvyvpGf9TX%x>X_`{T2oCfb=RVAA`4Z7ona<+6Dc;N{NyRpO5U?tvM&R!0MJr>2VHWb5} ziorU403UM6Pd|VmSg?Za{{T+l>J{wM=`fXJ#dPrgw`&q}4}(uETqq4Ll-$MMFi8Ag zC5DQt!l4i_CXRKS2^#kC3<$t2E7;B%l%~wgq_MbnCd7d4&ErAHjIQn~CC} zS^^)@A4y`}XK(?qHlF>k6yEH#wnlP78-cb$Ln7Sbq{?3@MP9)Ic0m_*G>%Tj%9Ubc925cOC$c%K!CAbz z0(_*1Iwrtsby2nC+(%=h%T8pO33L>d#EXRq;G!Iwnjl*k;KabK= zc(Zp=gRVx-b`@xVMTtO{H&d1_J&8qZf<qTX5*EZA}y3*&&VyURp~a!O+QGZ(iJALMY|wQoAaw=#-CVOvXXfr)03IYZaP)+ zlEja8!+ON>B-Uv!c(?DuN_Sg!;X_Z4#AI>GUb>OlZ;+GkPob749~X2Xj_P8W@g(>R~!$QZk(oMkR0i;`-#u5+H z>Zhl%vcurYvGy=L$I&NW#;|RT-^5XDHahH1_Ze zL~#6|j9ym=bIM?qTDGONrq&?Q;IkAyP5t*Q4C46nS$abtbT|j&v_`iot!j)KaD>L1 zzQy2()&NK@?i{Te;jwctg`@j<=+AN7d8#~N`gw5gX0&6aeQKofJAke*O)NeSwzPn0 zto#B@|7WFOEAd(fcmpPnRH|Z)-Uy z$Tk&Hd05e}Jca_BmFTTzgmaW0R;JY|yG*@JLT~*HOL*KDex@4>;h+jRk7*U)+N$iVwK4Os zrh=aPBwSnpZU!Muhd^{N=4C@AWz7}fu<7`t~cQ@AD_P|M`d$Mj%vj%7(jgS;4Prv6iMLH?{pI< zZ2VnT?DGd*UupdJAM#f6ua)`JY9XsN2J`T`{|SSJ$dS`Mn|>Ts(Q(axBkjaLni_u) zGp6RKwK2;e`A?X}9oGH{zp7**jgs|fpl=XkYoQaLBH!*za~qcO!IsZ7Uj6S^)YhJNW! zuFv(yD-O$|=6|?2bYZyP!Z}fX(`Sb+3JdogD|0fD{)2l@~49Xi-Q(D#E60>cM{_Kye{Iv~t% z!Swl|3#ZSF3Jvp%m^VAjFYLpJi1~g|vlq?yaP9)X1v5jV!u{s6mpfzk|MwtxWZ?_s zhqsiqHv-`L@7jDh;|YkBRWlVnW&cN5m849_@mAa3W1GWiqChv;YTcmLh%<%T8e#O zqnNuCi=p%JSq_Tc#C9Y?qDrCXvGF?$Aq@BgVirBurTVq11DPu z+K+5U^7kD$%uJFN=Uq$pALdYo-|xg=Gg+$eU^Xrrhgv9z6t5dtu-QMmFsv;%-i-10 zZp=1gNL4zq2fLZMeqxxLEtUQDVuU3(e=p9oBWFX^`k+rPQ0BauVCkMp@qPe*oxr2j&0( delta 9971 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 AIRF3v delta 38906 zcmc${2UrwW7cjhYXJ%)WwkjZ<1wm1fCe7|@?7c=46H_#aC6*XXOc7KNR1|cPV?jm5 z5=%fA99tB-CKgm|5fu{)c8#d0sQM7sx`_BlwKLbsc*_O@HqiNoY>y-*+YD5(0Y8zrPo=*H47?)-oKI-6TivUR;!@7^$tNQD}?H^>3RGVMtlI z?xU7oKI`O^a|#Wsbs4GQw3X%iP!xZp-qz__4q)FD7ePQv&Qs5|%4ac`erwy7EIa*F z5sd4>dFY(pn?ce~!T83!r|#GHqRGPBy6f-FXUlHygSY*8UtLy*IFfM+PKEGZy4xLk zH(7N`vV=iP@^90U)Nd0L6BUk(L%pf=M}R`Zgb)QL&&MMCzGppjQ#u~&P$FmZ&=760 zob4=%D-;e|CO~P*9LQ+z$%1hx_zP`m)>cBQ?4u!ft;e-`p2CD2)pXE zTt&zk%6HRG?mCMl8&B)_o(;*m)4GVB17zf|uZxmwyQ51P^bxs!M|X43a8i6n*JH3BMJGP2r^^`p z3#quHYw^L4-GNI4{*B;D0* z8pi*vNCS)(|M;`-S` z=UNLeMgfKjM1MMmp$hkZ7EV#cXDh4qNwH&D{N~Ty-krYfuI}3BS?^9q^Z!%+eZ#(| zX0#msH6s0n;X8q`DTV9|ZTSOT{^Td5@_}yk z4_PGjp{~`Bt;oWM`k#J$z>tc2y3s$Mq-D06G72gE`YC@nkadrB-_7dbXlB9@U7yMB zj>WPCzO+1valhKga>{VJpCnlwOC=slR&SL#amYC$b1G$@dLsvm|8ce_wL-hKE=74J z%C|yp*&@S;pwPHzLkv|y!8ej1Jnlr?oOHJ(H+abkTclBiQc8$Lin)Wd3QeGyy8kR~ zUbrM(|J}Mn%rxs9=6I5AkM;HEp()XsdN}4-rk#Z58+a?@Tev)BfF2i&M0jb&}z7ggRhn2{ubI>#N=tq3obxO%1W` zAFHYuYJ?r!I+L3z)3$$fOSWww2cGIXZ;xh3$yxoB9rXy#r2196eq>1YbG>Fa@@HPt zP1#Xjx2Z@?aw>Im_dF-5w@jSkO5L8K=VXJ-xw5yn!)+zeHwNbZ*F=I!f4 z?w9MX?~5Qw_jT_3+f(L;`{T%?a((80H$v{u&~G@XmU`@Ohv~?qKXzsTD?mrssvJTTX*qXXGHpX=VJ-kbX)h~#V~TCTtEBb zPL^cf*LA+Uj-r1M9lNj3zVZd@U3%ZVW*SEgXXtYq@9TX3s!Mj=*Tw$T*L#;NW;D!P zOuy={AuPFfU(ek1AY|X~x>|Q!b>ZbHl(nt=eO!n9fvjDm>XGi`om7ej-|eQVdPD~^ zjRL|M#vKYB7>)j~yFW1)6}rt20(8&ryWomSclCjf?$`UlAOB=w0-d^QiKRejgz?dg=RPp@n#g%5Um z+nLS0^$fjB@AYyFLyjfuX1xj^CCR!?uL4O~vhEb3ie%kWMAh%#G#LhxkE=SM z&mgUU*XRyb1yldstNH>%S=aydn*X>Qh0)vi5$w5JMY*i45J~_is24}8vw+vglS4~ z7sC8PaRp(5DE4BRFvMb4mTAb4@)_bpj`@v{bx$B#V0x2nPsAAl<0z$Ms;J2IKVVM{ zCdf0jf`+9=(L}-Ex{rK2lI}BDZB;6~nZf#kXH8}W^+a_*QR{RLOb*2{j?8e1vmKeP z)fJHf?O_4WLk%Y^+j1fA2XAUI&QR#YOs6T$of)HRVn{&>ta4^T`yZ40a0sq2k35lj zjj<0ihCcIWinLCuuRcl_0WJ<2V?v^|G}W3C4DxGIp`HuVgSHRk*Fsle1C`ZcLgAzf z)1THLSj{9-yjIQ7mVqiY)8D&9R>s?uaxoP~)neLV(?VV?hBmi|+Tsbh@I>@-Wiax} zpNO;Em|+Z#kK!YD#><(^Jq(V)D6{wobPQ%f9DbcCEuwKdF%u>SGofVHAy^yCbyE8sC|B3F5N9>F&ZZQ>m{K(p ze0ne*K67VD5iFP_IHLrX*1HFmf>w{|!31flWL>q@WrkAF4@^KkLu6wexAb5JFv+5- zC-Z@&d%y0@cnvUfl$kgE9GxAsf<14V33*W=r9B}iMb+jW2c{3>XU-5C^yBBqVS@}7x_iOfXCA@i9j{IjOvFkqk^ zuseuNr!hD&WAtsF&NLuQ^JX6;>KRv0lWZJu z)bQ=9b%~qw%mkjSP7?#SGp87`>p48#!IYA!=kV!=qz*au9LjexKaqO|y3~NvD&_Qz z2D*GI%=6~!kZc1V@%3HIJ+iA32A41a@Z>ip4^MQ&+}%tn;y=>h_CBT)9rUC2GczgvZ9h(1RgXlM0}QTZ|C$Z; z4>7n9m<@9eF@q_-eF%ebY8r$dX1XCQPCks`PfA{j$Br3!{x1mRi2E!RNTwHpe zxl71`xu9vuc}WL};=@PiI;X{RrOL$MDNxc2vDFji4(qfqUECy;%mS8VzJSA3%qepEFf4wJQ}o6c;yPkVbwbE7Aei zw1df(bP*VGlczrt1Tv8$Vmdr?Aic@qbg{D|>A{fGDB?tVGUQr1v~nRnz`CHGhv^~` zSuA;-E}pGTya}0>0pI%*AJN&31TZ8uLyUAM8kYX(=Sdn%f{8vPn<42LqMsib#9$5) zb99wt4g``KJXw?hCmWFaWK{<24k5TVl<*M94<%7BDuUF3L5;{_l93M1QDhVhZA_k! zOo_;WicpeE)=L?D;bl0vXvp14JQ+rC^(pHzBw=;WMvyq%wxo-wsy#zCXF$KEq#?yq zC_a_}zZh^yQ}PknlL1Ym$pvyY1Ds;W5OOsGM#Ye2>b!Y0aX-dI_Gfq{Jy* z;%YU>s(2xt_7Lr(3@OI^k$1qzGn2di0$RtBFKrbT#*tJ1hYHWflOgQcd3zxTpA10H zX2gx`p9haxa9(0UGx7yPGJc0!&B<+&D`9`}aSL+JfmFPLqn${7ilsxkzvbG*U=PcE z33WP~B`usURVoCNuD^tjIulP)@Djf7OmYIZ>!c)luAfvT&FqGiv|)NX@CurDAv08& zFQvrOFr_o8D_-qFR;x+UE12;CHetalc_=P1;EI>x><>vN!Kuhtu0osn3YgD{yJIyc zSK_!im&>eEbh^0yN(}m(+)Q)^0On( z43Ig6tfsg{0{O=2Nv7l%A3W9A_*&eNK!);8>GH(pio9K~VP+bsCw56DO$EyY5fggR zBY*gF4%Pq_KAS@xk?hxE`CL+?#(!Ejk76%n?gh0e6b`0A*dh`}wx)r$9q%c}$B8sJ z*@Ke__6EvVht7^Pcxy}|znKwiQQAJ~k(Bt=Vls~<<*(t@Qi9J!-oU11WFR>v(G4JU zISERro}ZI7%zr=EW6Kyf@b%`>=Td=8^(ukR{EXSmA4fQhI$WnH95jj$@_hiI=-U8R zqYzInC&L)$JBy`8ctJzsUJ__mkoWEIJYe?<($H>#(@GNjNzofQVmJ*wf%C!GQ8@Ua zN<)NK{d@AZx3;;xt8-Vp-3Py}#15682=i8Ad*4fhqbtcazo~`$(Hr>W!^u!k0IM#g zF2TJsM)&enWcRTD&dbDXMMda}>VNXGxHp$XD19oYQgf(-aU-v&-pJ#Kw~%h+{h;v% zGERNJglabql&N{*h7E*eok|x;4bd7$#q1;)-+`^;LbQwJ*6~5+MicYDkPOHpCDjF~ z>4=<~2Yf!6=2Ry4ut+pu+f*?#pM)}G-BfYkX3~=Jo|h#VVR~wJ#84&eg{k1FCo{>y zsgSEDAE|c9g7O0`@GZdJb2tmeC$o_-rGV5VPs(A>53D=nAmMLxjD=V5$=yO)7#@n< zPi8fwq8y4D)-9`$1bW-cfD1{Q1zHu7Cb)-&j2Wy4`KKHrE)Z8(jJe1&fZc_}gXAm( z|BIw9s4o&Hl5b8FNkl^`*=sB2C^kLcM~`0w3{@rlj=cJ zTiQ){wwrunmVi%&lVEodPPN;nLHZu@qusQMY0$oid~G)^e>&VQB6msYbU3${40f6+ zhZ3EO?oEf5`^e+!g)4&#SF!nia-4W?mc&1kEpOYzHS(~`u%L*yhAwJV8o)P^H; zLuXzm#f18_>6sR5Iz=r_7V8}$^*K_t5V{>BW!0AO+R`L3{y6a==Df6I`1B-sO$YK% zilu>E{Hd6%!JS$X1f3=!WZeend788*TNi`wG#Oo;m(?Ci5*^QwHAJ;$i4?PPD2gY} z($&o7CGh5ZwuK=Kec{vdB*+k9#$%dJ@aM4?lN`|cGxL~$CNVGkY5^KF6+4OP8 zzh4{>f2bno8C8{BfB-8V;PKViH^iSzUkVv-h}3j0ZFvv4@dkSa4i4(K#MpEZF!?Pp zoUnPp#<#@5(1>nu;w{mTw59Oqt)yZ>6IP3v7mQ;~c^6z{O=gVT_(2SW4LG)g!L72F4LLf@QxV6*FKl%Vv_&8Da#-*5#cKER`Y_ zmt%}JGX)0JV83w6mU*<#CZ&i+YOsm)lgUqv z!B1|`WIqNJ`ls;+yyTzWAK;o0eA!OUhh(Ror}|4$;hr!1k-5^`RB@mm`?H18>yq;g zN=s4zw}Kc@DG;Jz2b@j*II#WYx69bsW2pv z{nDI;(NrAB4wf9$IGDX;k(Mgfsn5Q)Fj$V3YA>`2k)vc-2>Z2lV_XekKeN!6BKB;^ zhO!pCcLeM&p)_D|J@MZMED4iMX%NPKWo^pRFq^n=564btX^JRDvS*oU9_>2D&S8p# zf9)~uE)gT~S+d~_Tw9PLl4$llvtkt5B!fz>ItDq~MJL9x4opzV3u$p_m_Fq>HIS?B zubipBa#~Y=9*=;nOeH0Oo6Rh_GGmZ?BtTKEczLCy;JA#SQCfa zqwTQ2{a>-8u*3gg2cR8e#Mn;kL~~>CJTeuwcV-7w*GG0re>NKWc42oKdXroApoZK1 z6o~A~y20yG#v!OAMH)N|#}63Bbgzbg%=TI-FtIBeU|s@xY*knGbCYsYj48C}xklaC zSLV{#NKxI{3)QS@mzz46ZEKwxz}CSBEi7JeNfD>?U<1thDD6<<#-6O78IPewpYO%` zSC=D+vAx-78<%zH!wxr>qjA)qtq+&`usd1oj-c+!y1vV21jp`eDRWQ^mc**)1d@ccv63 zhU*W8Wq*OpG>lss7mc$a;lNB-^%eVmbcIDOyjx)uNSbA?&Mar zGpH`HNH8$3&lD$)U?Z632V}iQi~Kdtc)7%w)3VF}^Ry&9XCKLWdFNWn_?wC?m<6t* z*mzPg3wn;i0qfu>)&;&D#r7ddGsVNB*ai4RISoGknq3)Pk!n%5ni}H+#OsoK)y69% zHLI1+hUhVD=DXXYVmACeh7EbQzyW*~GM24G8$``Gwk1bOX2ZwdvY(LLG_mMg7H|Bd zE{D^T*qLnV3bSJ?HVdiE{+gH_iPw@1En60Fr1RI zl}Hu!G*Zbc4QYqIXYrQbO3O{wpviXD%C{!lu9ds}z{aRnu9Oz2F5q;Y#27YebgfQL z0ZfZ^81*&i8Q@QGTV-%t)@pQ#_g+oibAT=p*Wd!BfHkX ztz;Gtr6pJSLl_=}cvq!My_us&ES%v6iF9Iu(x1*?txrrm;ix;~04HX!u0DpWc8;wu zFCJSp@!XgpDYrh=I)Y63#NyWNxJ>rTl{zPF3*!~VxDC;Zuh zb0sC~4Pm~1FI@Wy1AA`~dyl+c4|#jpK0XyoX-zwt&J&gO(xmf5rM6-z`0Qi9B$XME zypQcm66e9iee6DRX#*_X&qk6TgyOH9}kad!6OEC4qNp=#&y^Gn; zEwb${W_!{M&ZpQe)(MSa&M9_K&HZ|*f8n)K=pDhk0(+XR&mPe4g;Vu$2zc)_JBDg5 zIL-DZ2lb#l!-i6Y(P!9R77FK{!Fa@k(`VS;)(Q2YUkMJAhxIV01YLt_o|Ukz$?tlI zJ&QxZDLo81i|J?ekaZUK;pg;l@hoK|H+1sw|e;dPj&=(u?2cwV!PKeYapqmIGB2lb%i~b*nu=p-BPSvVgaCTcFl8T;rX;%6d_uCs)~4w9-*! zYz!@YL>b$eVtpCgh-SW8hDzm34alqlXnqapIR!BK8u}euXX7gk*p}pp9(-?N zi(<6~-jpqxc2lm-iJNkDp50`dlIMD8e2e{nTAp%??N46m;qoo^Q)Aq4wEslh#<=;s z9OL4a9+s73gP;=+l-o*mAk*~l-EDR#6}WJl%_Ez(z|1>rF2&(@*&>P`-<5lT|2?*c zu^6eFO5quG9~Y^)_i$fFXBhF=0t266gcr|)v}f!@Y8d;R-9{_$+jDj@ z?E&$XSX1PGT!~?U)}&Wfw-ihLQdY@MAn64#;02pbyUNWM>|vv&lH<0$MB`A?(pT&+ zR8!|FHvJtzELK%vYmm$WhFwTi3d0WH@EcX>-w8P}tES`%cYqvm{1FlDCtsJ=SWWyHN%5x#Kc4a*G zhTPf$WlFBIF|$<5rULgNEk8rx+K}=sa7y4Bk%wF0wZPq=?!2zzz99MYp?eL^i#*=~ zU)A7($jdD-w+7dic7Wm<+-Ky?7KpCNEj23sk5+ATFj?g-K6c=4Gi07#EOp|R(J>!> zQgh)HZ&GvpNYQ+e)Z&^jqeek^Z3=B=v>WcJ*e))`C?#0 zE+0LW2_=m zNUou>tbqCo+D3A&kQd3-f#fEf3!IANl1NzrydQ;aj}x^nit9!)vY;%A^M;r@C~-fE zb0$R#M6agY2$tk5faF;2bCSOR?!HXBZo5C2b}g=0Wi(D z7HwWhC2Q#=EZnCmw3S9DrGn(^^KzGweI0<0x9MGJPJ2tv<_eLgag?6hjQiXtf1w-+ zw$Eepw;GbNOS~(abAw6IJb2xl>tMQu`*8~{gKR03cS#2d>GdhC@6kdjhMdr_ zbMjAYU#%lGbRoc$me^(+3dGedIlP{LReaWpyG#^B;e5ErtoZ=2$xWg1XcjXc(&ghDRBTethEhf``hab9e z9ZAJe*k`~syCc2#DDW4$dKw(+i=B7J@8H{yizau|pkF_(0i}QH$9+xC9fiC7xDKH^ewR8I!7D@RKWMWC z@Q%c=fes|vb7}OXRO?K~orN%@KaTBKRBC_jCOMKLjvK&jA|!DU_z%LO9xW6n4dO20 z(6tEqeZXxYIg3Q$Lr%?-qDA2OG3OmryvVkzVj&OZLL#t`vPCfHV{V6kzJ(;d4}?u@ zdc>Kr2qK5lA$gJ5b10WlgPh8Nvah(txGS($6Iv%B(b#owrg>TW-LcR?2ycR#q3K`g5h^t=14Qk_%QX zTqRMi5=C%>n?DMbm#u=!h*fF1QfiQ#nx8AH-<>O~J(UadMx*roTv{_v@%(76E#rD7 z5A$e?>0b@kPSMX>dp-{ukKrcKU|Tf?C)VWEa?nWk*GGQBeFMYC;`p#~t=MclYQP`x z<2P7;r}5a5W?T`upQy;A#c=rtoGTtJ7Hj>;&BWPnF=S7{c-puY`Xpc*uUZT15;$M7 zZY>;6;PBm^wJ<&rJM3Z!Hx=(D(f}x03`eHn^p4z`)49oH$yyjYn~Q|4(>XV?VlC{R z&4okNbgm1@Ukja*aDjl#yd<21kZzUCO(mPxLQyhyE-ZJ*3~oTcsy(D0&z(HDn1&w6UIKIH;Iblj3GA7}&8F#C4R`o#F83wP{Ks4r z!pw>3a^~!G?r6>Bve`ua8%#~+8jFiFIDE&ac(HhK9(N9Jye)>!IdyLGdgkE8m^Wpi4-h>)4y;VNJS1LtjBd*Vj=i$ z;3A@@NgpM^(f*oV3W~k--c-giNzXnS9tsEbei<891LfKD374Dmf_y2%W18W}61Pt7O5Z~JdsG0Yhw6(S+X2a(pukD&!jbUMQfI zZ^$YFlx$m#vRy(SC*wNyLILCyaxWdqB|qai*N&60dMg+2d|dX$Cc5lR%!awUF_!fr z=L5bXPF5&2U*xut%%#wM8+X$AnCys$lB;u|;dUIGaJ4XSJJ+AU3D~%u8&9780scF< zd~$9xoZ5lw8T4$8o!mS+e`oK+xeD>Iom>t{6~!^TxRZD&lMQWlb6PV~Sc56Y$nvc) zWDkx}`CG-*JzTcZX_4I6_{>&YyaFN*;oy+JLOgy5S0AKkh4}C=mxvu|xj6nP_dQPY z%i!+sIL+fism&kQY4+;jgFm>9lvW+%BFPy&v^d7y(3DA@(-JMZ!MnKv53`)`ey;HV z8Kv7E$59n)^2Kqi0phIVT!XrX2xQD6kiiHPOOA5{Hz3*Kg_F1hBafCr`6)aJOk56) zPh(6hD1-~Axlc$=Av8aOYBv_bCug|+UKItjX*VUsu_{eXx|G5{9KKFnRRAZ>;HZX< zn_GfI*3Lqxd6sKXGqX?%1x8a7Ry1VXp!ZoTCDM8f|8V$q093M@W=fJXspU+rB72S# z@cL#UIG*SBS{>Z^f%gS$sI0B<+XY-YmMw?Ci`W72{H^FB=Yd%K^CE}4W^BM$e{ykV z4am_3Y`&#P$u-a;t7%1sK&l$sL{V2!7T_{|TQr%}+> z#a2R%Wn7|Jmr-GtQCW4FI@dUnWMsp!YZkR*XzgnK#m#E=jtDRxgA6^F(N2|`S6d%T z&shc~f8qR^x*b%1bG~fBmVKbPNZh4+a%`@V8umBmLvnIp+TYy!6kqxqqvyhMNWIRT zv^gIY4CkW)Js+KL19z1udF2M~#>-ZK|4j`3M=QkUH)%gXfyYm!282nsWWj5eK!Z){Ng}d%>&7jX6Y%ELW_w2%L``~d49Qk_P z(|{^N1FC2PwycudWo;EVKXR=cIfv<(pD#}fhWCc+ zp~Z=cKwkU1EOL^H6fJ|1uenc2@iI968rvOl`D<>TO@S6C>R4cFIP(T~zF3zxZ@A7h z8alt_8nMOLZoRjX0Jai;&?pu2-g4jZBy*J*!t=O%Nm{j4;OF5Lyj7r6@t=F2*)EMs zb#aK6J{FX_ih36}h6Ss{S~d7}j-+IjxYLa<;mN`c@}?gz7q0Q3JhzIV+{@~g6VwFjm)=Y3(0hObfc zhV;fhj_oXr@6NlyIDfu1N!bDZzI=SxvK^AODx;>PTqzce1+9^jahE9>@xPVg0WJOb zCPcpj^8K->{j#o_SQOq$v#HZ@Q!=Jy=KgO*wf=uniidby!~eyQ^E+r)jUxAU(0z(0 zyb0t(>4QW1g(v7xkH@#l4X@KqugAO5mu_1(;G^M0J)U0pgI*1JFW35p=`{eyV>;U@ zw0MOW75KOY+oZhR0X;%c^~XV|ZRt)p9*$!5Y{Yi&gn2P2wwsET8Hfjzn6`^?EH=H zMm?c*eN=t!H@PBX>ht*F4MWPx`exp{UEj=m4H{q`*?ZlLj)T<=_}cWACG{1Yr9}E} zxppK3Yqw#yRJ$O#c1=Tg4{~xhEwzKGg*Jtl$_S_Gr!?i8L(7JIEkhZhCiRONqWb&0 zVN*jsjAZPgehDM_d%&p?wtn#*&^9ttyP}avtruKvB%8jw3F?k$Y|`xoA2l}FA4Q%^ zIX&qLA7jrZS>0HP~M$D5ik*Wa#F7ek1u5zf^$R@Gu3OG zm~5v$Z-OYW0myJr-ygdyQ_J;#P)ZH&fj4@ZS% zMKnI5$W(m)Fv3jNrx9lMERQhR(;OZ}nEA{%QZ_0w5_SBtm)he636W+MI~ZxEh>bGy z8Cq7|>m1+dv&~VwyXyD7hOQx<-Tf71)+h~|nicS6Q@H?)oNCYAXlmv;w`la-?Y+<> z+N`#7qGcVMqh-%Y!Qm4lS2R4v%xRNjF#G&{v_DtJ?c*3T6T)LH>!^gpSTm1pij|Go z8_P$j3ie6W3YL!~o#V`^H6YGRr!G#`>D&y1_Ig~kI#=VX>^7qnXybWzcpJ_OOpvVp zn|L$z+vCmDKaV%5ulCx+W@cVnO^Mh0u)7(q+Ju(;dnEH9^k~V`dl7iC+ZWchEwRB3to9k}yWm~K+j(W4(%5(FMwtSe?+{{_7H#n`?+>94UbHQE9e<*+F z#uJLQyb3b4e1OWh(9nH)u?}VX(ed<=mN(u_cZJ67aI%rB{*AQ{UE16Fa9MlX>f&oQ zZeZg>G3q@YKWeo606mBdBij$aRft-ho-gf)Xs??&cJC9$^Tzp9C49@CJGjx3xdWvg%^1bm& z&}w+m3kMg(ZF}>*$>SL?zc)q%q`=tfuRu7TP8aa_k7 zd;0VEnTOTzrawQs$G_!}7O55wU~rH7ZyCgM1Na*FA(jpFZvG{wg$E^{(3c#tSIc+u z%~%^(8}8)4ki`N}tTdNi&vtVvl3C4=wJTS?nSU%7@Miuhd&dWEFz`cudv$U6w*G2* z=QBubJA@z1IGGhtWm~|#TsZO(wtm`bc<>QFxLOUPJ%$&vs5xdt))3JlxTQ7E=&POvo8K)#^+OT^Vx~|V&FEuQy-MC&{ zn8bH*Vh^9HHb}>aX*&L6rIokryuTwZ=5L#>W;vP8qv)M04P(4PqxjVteyEbo-zc4Eiq|*t_{urn(fVf--<_eC4cq4NzmOa2#k+a@ za(q!t`qoni#Q2>jAHWY5MO%CyXkZ~vzi(yy!Vmpkke~GRCU{oJ{}&&~X(I9?jS79B z(Keg|@T)_Ah$gMRCT5#$eAa*a?I^(4m%54fw)6e4avMeMPCk=yntMTNk^nsTD!^k% zyiyKpig{;Xf8+O(3unbczw!8iirjqBa}STl({s*2MiGv6l^ew~MZC9^@@Oyr9sbxX zj@Zwa;H&zZpv^&kfM>~BNi%L&aKloNFLlEWDYz*GW)JUH3lEDgoRK6p;QPJWBfr9# zgZyw8t6b3O5Z}?+QczrSh_6pb`LD452u_9zf0cK}7k&l5qkMl-`K$QtQT})AzmUKO}RiaznaQ(hgo>oUJE-NoR++FlAyr4U*$9S3x-mT$QU-A<6U9G zd0Yr)rb*?)w`ekDJ8!+fcVnIMWg`Ny=T+vxpi6v5TJ@YuJbs)vGhYn7%I9;D`ah+T zUeRN}k}Xn$S)QIS+7;&{k+}>N$(P0zXDeRBb$+6=r7BT>oj)Kr<(-!@H^RKv^Tnil zd^bD_*&?30&v#Yg4`3?!IxZ^hMOiFHgI{{u3~eg-X^xL%%Oa3<9g4BCq+~PvUBM3_ z75Sp}DW8QmeKy0z=NK2V9yg~vIj}?UH08i%v0f#wW}PlxlnjVM12VVBgW_yiGacP? zx4>tw_z#>m%Tkn8uthxjivN;0otL%Yhv>A|H%l)kIL(s98X&8}z%rGoz%pU#8*^oN z)qe|=zu{Z46EU-q`K@c3^*iL+v_j}hlpRS% zAuJ|JFN(JkWpj%EG2k#(siAalR{5oU4S%r8NGkD$Rn|i+*5i~5l_V8!aMe_PK(VKT zav)-Hyn`|oJD?t3IVpSL>Acw8S?P)$PA`7uqWp-9&6Vs6As&G^_{t}5TA3G!ffGwS z3|lLFl$~>lHVKAh{w?uo9pz6XtjLs^I4MY5L-vK+X*}ZTM<8odiFbwdoB&KHq^~`cc*U>~ay^vM6#wa=>`if~r_zt& z?w-n46wmfl;th*Jxap~kqS(tz*)hhTlG8|^F6K1KSfawOT^Y|p%#k+!H% zT;Qd2z{f6yu+m$JH>?WbxwrBl#k+l!BPed@t6b)3%&kI;@pU7k>oB>@S2>D`_3%>$ zQ~a%;vLVIG{gjcRCf{^0Wihf;W*3z${T1M^{FrK(>aTRCc#%IgKH_8kN`H#)`(x9h z(^_kk9qJkl%V+6rXH#8au|}Cpg#rSUKhjLg0+d53ej6a0*C+g+2^a z#zz}9s{=Vq)Cd}`my_vnlANd!Vu{)qF-r6%91c{5&|)74Dm`d%4)v7FjcrYz17VU_ zPdR`lIS0w2@j=Q6H&bD~OpZd4pMzvA5TtBLvz!f5&Z*W`lWH3qtlU78eCo?i>Q!Gk ziPDGbE8`GnHBcU>+~l>=`~sIm>E^FozhnkwOeSE;I7qHz;tlqt#8BI%nZ%JDS! zjV8*Y6z7M@rIdv!cT#$3xNKE%xNKF=2xU{`i_`J*5K_#ph*Snr!Gn=<#;1|W1C-tw zCHIq;Q8NETjM4`>HdUsX46(HFR#Um(`9&-JO;O<*sI;)Qf3)%ws(fp-@+QU0Vob^x zQ+i~q(ud;ISlQ~Gv2y6e$0?gp{)9N?5sF*IE8j}-+f4cMJM1ZLhOvR7FPkZ2Od^)P zd#|~2E)^+huEa~5g%H_7_F+{E$tp3lr7}VC(WX|indxnn-cZ>}`3sd^)mqs~We8$L zR#T-XWNDQyG^KVM4qBYWw2n}6|AleV&#u(+GX5{N|!YqiS78bjGQd8 z=vo**yxz?`Y(8x#doi<}?8RE`<+ktGUb&WadZ}j#ULZ`w|5wEC<>JeZ%2~A<3>-Up z;@86`gnu{on^6=g4znWH}@4Y(=|R(cdB+ zg!zo}laUTLqh}yZ%`v8bg*5eok?x6fAUegwsD%t_s8K*|MSqWJ=IN8I=pU@;pRMQv zNK>~P^}oj77?afu4huB5_$Q+R=)?$ZYJKFRR&+;JIYL8(j{q3KKLNbeif%|IJ17+O z5gX~bNP8h&wNZ{aRYDFK!QUDlf*ux6mk*QwjA7uT7{%Vcbm^B}N_eJRJrdH6Vq`ztN zbp{7ch{L|to)f|odUZnYAoqR5RQWK(brJuFm>M(HfKw1lxeeN?FwLC4h_nX5SXu`D zu4P6STG6MFcBe*l@>DC5k$8mA1HnkM=ptHxk*I! zN(@El1nqgDAJYeb7g{73a~GpFj8v1ht(b#qzuiTy{$s>yq?xX2$^S~kG~LBOyCQZ* zIuNmdxFKR%VkBZ3^6d@$u864{4ga8zQfOAY6i0|r$Qg)0eNyTQ*-GIvUTSn;1tFY7 z?7`1A3(d*sJur^qb$ehV#n<;hImMbH2vQ*)QUsr)1~LJC4A!U}}V2nP@@BV0$g-3_=JLVXgl7eZ^G&S87;T?L_eqny2J#ZuI@3}HD! z5<(8b-`GLvSW%8Z1MF{aI95aWxVDkM6M2nge#@Ey-t+Z_(KUr<2}iJ{rXZgVTy$JE z(mz(0?g=U*god+@ebHc#3>p(03`RNEA2*%aX6ZEhv(#G^z_?rf~ksgATq|>jFjzpTqtdWjJx|11Q z$|~qPy9!4vkB$bPA$U_W9U;6HPV>fmewdGrT1I*g(*9<&A6ATZK4W@4qyx?9Af$uM z=oi@eXt_rDDEwW=jHXK}r0baksBz{3A0QnfWe^|L5+*T>BYas04K_Mz6c#`oTT(}! zlGosG^qr!~2Wo`|AqZg*LI}bD1o}^lxFtew10999BSJhvcZ9ctWjQJvj&ys3#t1_Y z=)af`)b$iykoXYcPlT%ocM+Z;FdyO^g;3-RA+AFGS~bxyIzA7?`I@$9O&IDbj7>1I z_ZaMt)u5e$A0KPQ30&Q>Pl`_1J(kP>l2%q&p}S zAD9?pFasUEtQ9;3%V^FxZZDeEicc}`E(Fx8c!tmd*18FC6E={p&ank74#pLuIPONdl+NT8ueyTMB@ zc~j8{)6MA+q&1j67W32akHfHUU`G2PO^0G*x)0K!W^`j&9)7MXG^zh`v84x&ox~RR zl{@{HSWpCJJmdz&bp=2C*8an~fQRhr^Qr7C(sV91{zIcI#_dIzZayx{Qy(3tp}~8_2$cxYht-O42pbQ>FkfL-ZDX)i2XU4k&V(3?8b9G?z-l~B$Ux<|)Q|>> zxj1nAh`;GNg)aYALj!+dIgX{273q{mW=caEBXeX04TPp#r6+K?cP%Ur0*XoVd&|%f6&$#zOmb4GX zp-AyH8re1&y9(m52;*REfG~t4UW4NSLU8>zg+hg(7&WwS&q+Ne^_UPbwCA_-f9)s4 zjqW>O*x+%IQPJH%8zeM`zJWrBgAI32pitkI+o+zYcgBOI{h zmQD}`*>d}SE5zGy*(5R%rXCeSTzY=nenL#_$YK45MUDBOM|apeMeu}U-w8GS-WwV= zdi12P!y@CFMmLR$h>vO7EG9NGKB8HCL^AnO$_-_gR7wY%?BkM!8t`hO;K()^`v(EPOE6h*u*t>FA%D{3Wi~1As?l7M0?X$J{bBcyg4!b2iYS$r z135(`a|cam3bi%}8c0tNLZRzVcFG2+$)^1z=*bO!aes+zF$XTjB?EK`kZ z+xi?H{wy4}mY!nG@PyA3Y{l?%?}>J}Vza4&D`Tr-{50VsTkb#8ghE^HAJc{Hw%m0| zLaq&0M9=uyDQ?RQA=O40K2EXXK28x1*@&^r$SRXZYeC#h!P!RUU2VRcOo5y^LMPf7 zHQeHcj~O=f>rcno>BHPC;k1R;YqNwOEf_00sJvk6Y~gbYuGE~WG~o+d?))_2LksS; z^Vl7X%R1jh5cW;M!6-1nE^8o@jyByP4{ z?ln8y=C+wfEf-o^aHR$ulY<@m#&Rpms*_@KtjwcHBIfEwY?WPJDP-AlVU^I!g8O)t z(9nV*6(>zhopObZc9UGh`l|)J7isPjDcis`!q>K3oR^h#Vk6?CV`5`tn#RP(Mn%On z!~T=CR>-g~-N=sgS<;!Vw0l@Lr&Ms+I-xGOuCtnttCNPV6KdHOCFR;+FG<8C!A=Do z)(aPG^#~h;7+dZq8-zKwTg{Q8C=f2&$~qQW4T!YAv}iUoqC>l`#?@_9Y;4oWsF7Z(>584({J5fKv+7ZVv5(X=Vt+b&G76`#IC zm}|rJctSc#u{|MjsO4BC6;ZxRaDjGRdDo28_c!5~t@3ue zg^{-0;@!el3+}u<_SO->MK~|m3=la*!eCpj?_Qy)1=rMM@WWo=xJ8oWkx~1EBwKEs z{r0#!_Y1QvWcwTt5-k{#%BKf}8@Ajx2ZfJqxcFt3-3%~?gfJL$M5qb74hfxYgrt>Z zov65`aS;*GxL$~kiil|z6&)7^+QYc`u=Wf$n_XB+bemJxj^Z>nr&>d_ zO$qNd=;{%{{T)+y%u%bU4|_roOg<{Cvd~XAKA`dW`TucMNKWISnR#8L zn0)`V@RJ1>_kdn3o6JCdzN(W&imA2icF%+}!W~=jIVHkMTW-Iz!j~3Y-0k5jxMzhA zEVy*bN7yd#$vGjWZls;suVR0O6-BCg(6+D28+PZi$>@BZO*ySc%6Gqr-aQsX7%$7ULjE7PuX}z}s12V~;yGN7h<|q95W;K=r7I5icsv=5#?@2P zh{(vOW^oabO`~?QBJ}oC4TXFkl^U{d3af4N4!)5dnBJNlnhDhQk?+62Jm2|ml?}()MuAMN3AMe?dCHL*M zdis5<$xE_f-~&7HSmOwLi0)P=^?=Q+DjM26wA!Nodu@+D6z+&O^2{Q*A9t*Q< z6SqGWdf02*KiE{*?SUtsnqKI2hv_OiyT>*E2ssuS`#ce@STH1W`&HQM(Sc8``Y!GZ zz2N>+VXdu(ZO?>a3$C;u-u7JZU`E5K=fYsSZQr`m-T~0LN@1pjF3HB}FNE)Hx&AMO zH?~~uD|=(c^H=u9jI~wv#*9I)?Qv_ou@^mAZ|sd3K5wm#=%iXKd246PSm3R)9Z1+~ z>DJm)^B0es<*+{jaS9dtZJ0yR*9A`zT#B)^kZM**}4SW=y@~G#W^mj7Vl8xZb#7rb{agc zscHhdYO4-`i!VO>AhlIr*g7DswyL!qy$|ZB&e#aU4Of-kmb=SMW#`y*qPxn@nR(y3 zs@t|2hI**tZMi!=RG-*#+jy#MHzDFuPnC;pHEOeCvja!^kA93t}+_^K>VzG)1yZ`oHO z&U5zsZCHXwM8-$OG;JD#JFl1sJZp+f?2!XV>Tvr3TL{S;a9Ci5(DrIWU^#{2Twve&G>QNy6EIGg zo@mNZ2}(NZ)0xb01s-si06l69C$d~-1jRx6^!W}P=F_8%F+)#^ndLjO8r&8D`>Yri zOlH{(3c|GM@|GN>)8i~~IS!lNDJ+ZOdM&00Xt4`UUvQX%ce=j?hZaU4!1}KkE|>~* z!3Rr@dDBjEumjHn;qad>FTo*$p?~{ZOAcn#zy?=xBGw!}ScF?_I5e;bU$Euy#T1_I zXwPvT!^Y_*4jiaWC$NPYjvQ#C>7dT*^hhU;-JICEgOmbZU$MlV6ZUC{tn4mV^Y bwgbDO=DV>E_H376vor;E%T*`H{n<1|laD?60bbO`#ZKI zX$F3PW2f=O7vU2~`fF95aqNd)!=0DK zuc<&VGhY!)40C8ZNJff94jfPTyU?Pq^(YjBLAEP1e@%e|iLyq8hrk7r5{r>4Qm5 z1;19`nv}c{vh~qKyP-gG?~Rs9Yxs`de%jR%qPNr8a)tsv!h1B~3;3VBeMwRQ|A%)E zvbKQtZr6jXFW}SKJK8tr6nQIMbCegBwsQrhkk-B%iU?QQj|6hOocDe21j#MqH-_nK zjb)NYFCB13J}#_P`|U;v@Iava3CrB!2bQeL27wDo=3Mm?etd_&$jc}Eu#Ovu;VFNw zV_%Z`RPgbA0OVN>-@4Oz=I36gnK%+g`=7Dl`%ky$JNFK@&Xpay@)fN^75%LZOA!rF*K+oo(HDFr#=&g4Gpnig?~D#tssmHVS7M$I_jDo;}@rN z0b;D>*@Bv~V7}yDHcREDjF{zOsFnA`>m5)nBW5X;ONfstCA6GcYrbu9$+hO)`Nkb^ zYnrqzka;N^p>h2i_UM|aZ|Tu9Z<~0n(V~GVIaEHpPYYJR&!(C0OJ$et!{Bmi`PVTr zNoAynbeir&@@x6f>AT4tqfj%w8<6ZhLWh~2gyb9*hR$9BB>$XXoP+qyJif!scKo>c z4y52b-)r7eQgNgnd32tiIsYk%JIW9talsaFX;=>|@9Wb<2#Ib7fsF*3nF%!7dK$AS ze(OS(s_?@?XZ5FzOc0%V1{X8KOxoO#vL)2q6Zt@L!)K3Tz;sfp8*1|bU$EsB27M84 zP546oLfk-Pg3D4*3zGJj4_=wc*zd?n9t-OeBGuh0A4?vU(@6;%4bk-vbN$i586R-Mv(yjR16Am|wU6}N!_C#`h{o+_X||BcBS$FOHU~&`Ip1Tu2dOFN|G8aH zVsG#<$kyNBzekpTgFm&s1M75U!`ki$B#9NmhdZ1Ja{kkubh&I*WJ@BWu4^=Kb4C6W`>tb0`1V(T_-SI-h&Adjp|IM^BSGr}@JL zqsh?%zC~dW8s-NVhLWEO_|K2E<%Pm|GUCk-I_4{*UC7}AY^^cY1@cw{8tw@#__jYU z!P?X9d%zdFjGo^E!C3wJalgIb$44G_Z(D0PhE>KAn{JFA8i#b&VR*f(HSpgb4P-vH|EC{r<(qt1=^*mkO@Wq90N=D%l96lj7E;DDUl{IgsesQya`g=lazUA$fWX&Od{B4dD-sHF4_9A;T`0;n$`8&4*N#)z!o| zkE9p_F%T6V!c~9s`|iY>q>nM_VA#ZOx$91_vPbT=K_-;lbpsOnN_hTji8io4_;{WA z?R8O`)kTeUS@*c5^Xm$-GN@mdf%kvB8aDEWAM0bxti#)_tIVvc-duHPRCRdmE{JF_ za|k4O7gsslT#Aci6AlpL85_$_d@_U-yyEvfc}Plc30t3T1d^91^n5;?kd%W$(u)cW zSylPnY)D}2DMZPmwlopI1%K0B01=Ga5je&8RRXb$k5j{7XQ$$3vOEekd(Zgj&LQfsJ9k6FvG*N@GD6u7JJ&k9zqi8Xq5wu zqLD#hFAjbO&fzJCkG2+YfMnK*B`v@~?Os$TZKq4}&cUNuqqETwWm}cj(YjX9Qkx?? z>x|B->Zpek{7CZZ=nW@a)Ra0}%lNZ8(Wy0zXhxEY=`0WEXq{Co1?a-c;B9?e9<`B2 z74pbg8o|>Io_NA7J3}9NK}WJd;aO)`%{mfM;U~_pb?itkDC3(7zc0&M#~LMniib_| z=zYlpDK%1iX1m%*`yjVYJ1fch%F!6*k(Vs{=&bDb)mb^7Z;gd^o}nCupeS; zKM2&QOA#6t0Ojf;ggSSDT8%mnA-^E#*)}1To$C&!OOQrqrL#~LCIw}d2SGn|CaRqb zf+C`RiBNJc$Ri0$X;^RQO?FCLM>BiF2~rv-&g}!c2{D$6uKmCl$fhhhC>Xvb3EA{? zFr<*<20EDo50YL+S8y<(bNn?aeph_kGA@+@DKkG^^%h)Oxg>E`g(7Lo=}QhiCzr3% zMIq49?UD3MdQYwLuv7=@EJI?3X-!S_$Uu*TK&_1-j#EWz4>76AI69+0oVUAoU6OgI!Y?O}meJ4wxH8WSGvlG;9!VqPjA=cn}^= z1xsmg7_>$%ei8=mlJb(l5M-vTVaf%A@kD!WpzVi17pE-gI}L`mPcB{|3$uJFoi_yZ zOlbWO@F7Obe+U+O`!#xN2&CayT=o%kB5aL>kD(cm0+bjALrK~)YCjwvkknCi(VTGUo^3(RxGNS#W~|3;lE1s6vIA&A|Q|A=*jV*qus|t09m`7 zP8*Ne$zTSK#W@oo7Fc|bCc=0%wwgHfQ|JOs>^I11%V%;<*5PtaA>l9=n?@AE!4b4q z<<|4Y?yOu!FHZtb=J5F>sAyu%BoIp_5KASHsVs(r zkuVUKOstE9HX7SQx1}BBfnV~f=&&4Uq2|h0(%v)SEQ!4(HlGE;IFZ!r|(+g*aV{0ls~NqIay`6aCNKOjfogD+00au&*atz1(N zD;;h*TMtW}h0co0j~C;YfU}ysjHhYe;3F~lh7_tdYFEe8!X41Usd}YUi-tE-!wRwb z8wkZuGx1{gSQxC$khZgix#ku7e&LEeh zVKOh@lwt0hF63{NG$e>UR=^mwwoER)9=B3{0!>|ompUx)omKFMRp;w>rLrP=_73ym9ib=&rNo@>bCupb1Qs;`1S`^ZQ?2!MrSXBsLkxqH_%0#Oo!LlT`HkqaDLsWXT$t14u+GP6Bh{5J1QSmrL zGVXo?-))f3J^^dAvMoJ+&|;$2Coz1S`s^fhXPlnIn?LfiC*fnp-A_SV#`~RuzKnl! z3dS*h?G$ujTw4SKx+^9%I#nQX#Ou3dAhEW!Qxf7#!E5x*`E)_DH0DZ4=OCU5Ii80lOey(1UQdw!`@9^kTM4wOS8lDhd>t?feN+NHx|u9HNCDw9 zS2I*=Nd(7~S5p*Cya;_5FS-axudOv_)+SxT>po7|UzW=jav5Jv zaQx$C2x9!N%W$@SeQos`oqCA5him@>E0|dL6}*}vPrd@BjL*C(o7;L7w+4<~OYz+e z`JhrLXWZwSEI;-dTw-ItGPza5%b*_{?}x$NaqIUHu=wKwFbe!d|`#Z^F8#KlDwfd4Xy0_$($4IFviO9MHLg>ncZg~J_SYR_A%Kp*ACY|CJ&t_|T8xoAqy*dap@0O8| zRDlRq_|6hRGzr_1BaKmBlyam%2g-1vDN6((;KY3R8 z!YL7c-8%>P`;DGEYvJsOD8I#X7tD;B7d|<{FKWSLzXcJCrbjIH@6n@2Kt$Kbu72S? z0|NcJb?e;SuV+x_K)*?o0wcPHcZm$>*>#G4)Z_)>(UYgm3!ma2Id|3+|0&ZWBNyNo zDdHRR|LoMCMG_GuN8mSamN?RqSWY9cHRAX=t4# z(!)X33aK4ZPoyxUu}G0fOORF~twY*{l#g@<=^9cs(z|*G)gYwFNM9nYK>8MGBT^Pp z0n$0W!zZe8{BaNIZzKy(2bB(~6Vm%gBax;fMI$95QKTJ62a!%8T|{cBQZ=DP?>MM< zY8gd(H!JjaP&Gr5Vmc^_bc9Xfq9`K5JJ~ZGR2>j@L?TE=`u;-lN6X=}9aOG3bV6eP zv8f{Q{YB)unoMj#UA`o{Z6d}E4E#8B$c(Y`N6-sjl1Yt$Ui9-Nq+L_=_7c**DLV8k z(xoYS@+(r@7!9DtuZgiS>Pib@h%+tyhJ?Ol>eCp~tI3pzS`%Fw!vXZ`RML!2-b|d| zGF7-4uSSh3plG#CC7y4ba%+sXpn0j}gQlqS7V>jbv~~*_(-fV%l?0ii;{L5f4>mIg zE*!TgbWC*AmmzffPU1qJZzGXS(fBmd*Ib(|q*BST8MsVM%naR5!Wt{QN6&31Et<+& z?I4?)qNjEcU1JN1OI#r>?e;yn+EgoGCy8i`E^iFD(6Dr}wkZl3#OWdQ%nrTbDLZ?w+%5icVi5*{TM|N_1m&{_JrI; z2yxi!5|x>fBKMHi+%L_TTUq#jpZ7VZ&Z&Gp|Nr*+`u2S9x954E_dUlloDZCEPVVD` zH}07FI_=d3#-2&jI4#gftF{a5$QRZ5KhFH0lvn90J3jiDigWkNE!^BOHd^lK);#pk zS;0M&Bk%#UR4cBUW?tl(aXU_YY+huWajqGsED`o&%xDvxu&3!nGJpYH&xM7BX?o~2KH>Ziqn(s0#4l+KTB*il zgPjy7gzconr*d)qVBL!Csy%!5(^gVUDY#y zl=NIq@9eHm5fopdq^Oj}%TK8?-bBfM&WquCkms*)BEng7F{J$Ga%hvMSoB=}xalug z`dq%>Gzeo}nEV4C0p5Emdo(}8eco?Ag;u7aElxRMe6j4)xu4Dwg8Y3*U0tE@USD1p zQrG!)d2so1ct~yM*H_g@+VM!_w9d74Cj_CroE}owe~&1e7jf^YeXztSX$-ECzvvpV zWbX-ect|60NUW(yU!f8qBkV;0P#XmQ_ z>Q>**GPh0!M?SZ{y@pvR4hAPqS=K9r59Z}wk$jRz^=?L!Z2E8S-RPSyCe0kOdB=fd z85XL4{0ntnEfYhOBtfwnn-rB|JvT|}AX(;yo8bigX%TxfB4i6IE5&GWO8yHupsz3H zJ(ULv^ljfqSoFd)vEONMEq!5KTLZ`iO+8Gb2DG*3J$N~!fyp$u8{Yw@mqV_&aC~lT zE5MWznR@GNl}^4o(3WiEl+HHuU&^`o`l_7Q*?=dm%C9;b{HRpU-jaoLQM5ywZF12`xMo+Zfh2}lEn}Ulkk;`M` zlIE3Jr1_*em{cP7nzREioH9L|)CO=>lBvlQAH?{hrU6su0w(2{vZoRKj3PIg(nuaQ z!xfWH%bljb#M4L0D21oxDKlQ;6P03G_VpU@vaJUVK>68W>Ncwpw5uTCXeD4h4AciZ zE0(-=Hc!=baJHxRvkE5Apq(r&m~16&ZOA*bU{EY6pcj(N%cmu|~lBIYf zmX^rl;+NAC%v2oz0e^a$g4T9XA8fR_Djdkvb_c6QnjbKx%yrWM^RLMrHhAN$Yx0N< zMtpotUO*@!U*1G0DPPXm(1cIAdBZwyY=^J%P2D$oB4PQn&G|gppaiupUnO+nNtUg= zI81J)(MaDTI*y-99( zv;(f+EDt;C?{x0EngE^6*X5X_0r+a8eCX(AjN2rSPVJB3o8{!xwl+eKQ%~ZBO!;uy zP~4p=*Gg|shULELy>Mr${Oz#@vMGJKp!mssjs*y6E8LMvL-mO+S!^<3-~+Yf2EWba zRbTyE03WZDzXkKEn^zr=_igYX`WO|LDr>nHdfT}s@R_2${~%i4bi5ZPm&!%Q7wIDk z)S+uejI>hIyx;rU;rdcJ>tsic?6Xu9oE5}Z3$niDs6-IkoZ>vwSEqi{!3(+dg&E_I zq^4x=-b@sS?P2Zo)Lr&dn7!lQ{TRd={~;C+_y zAdPlbs_l_BZ?|&WCf&uZw0#TY5A*uqTQaoeRq+x zRz=cQT_kOVB5AFPBsYB?4Xb74xv_nD{Rt;DLfEWGE zHUNy{Scj0o@mYj0jt6O>ugcfLDvV8FL3Yp+7bdVsGtS}o%x30pPxznBY@|KR)J2Ov zR#!I(duR{tx)nAgF9&ePb^F-AM(|`Ie6eF6+rSrdX`wqPgmprH2PdTql2(weah2oy z*nq}RmpNAhH_S8}>s*b5F9_ipLU;-%-4rCfAgv}6J~q2NRSnKz?rXMA2d%ZM_NU7` zk9jJObg&X}`F^(435H;10xNWaHW;^`)pmx)eBIRdZrb>Sz~2t9b^{B$eD%1d40zLPA? z8=B(jlk6{!@1Eo>ZK``Jq-qJB#aXHavBH&Eywgo_s~PXlQgtxhygnna?z*)WJZ7oh z5P-{0v3wtLkaTF?h3P2x4K7yYYr_uN0qH7G}nlg z2Y(}XQ%3ngS8zLWktC!;{9ii%G=sdP^owjyBlw0-{rio<7x(8VG>0+v+Pt^vtRMga z`5(%A&7hr~Hj_vpfsn5~K%^$E;FX;=kw}f(Lr2!WCe)~5XQ)B1m3vf3Ja5;X52G5-%ivT~{AF6Vp**;sIe_2@&J?C&dVMjyzim#n7Rv-~0K zvy^8|kGQ7+`qHs@Kbm>>gI0A`s$X;{*mZeo;ORW@>~J=@ z9~imN5BZrmsN&1>*tLGJp4Q6u{h>MXX6^h4908L_;$s+qu?v~wKzM{P3t7oP z(xeo92B|5s5rZHdmtJ8F2E#YL`zl@{j35b`LDNaYAAj89UWO0eS&fF z16W|N++LF|v$jKMVB;^d5kp`tW-es^4uRd69L~NU4IUhy7z&d(J@6Bt3)UhwfX%83dQ0kJTQrG?Vqwg`nl3|quL z4~0-OaSN@Li6bElxa$X_AXH0}rF{4q(95t@aBQ>)4#$Y#x{QIZXbzN}W55mc8Dg6J zX!LRyveTb~4>$kxb110Pf1SDiI_f|B>kDD^)3NYVV5;bB2A}?Xu|X_XBJo|%Ub-Pf z&Tx^UaOO1*#$ahUn?H^=2H}^ng1UaF`gdzl-us{(3{Gtl#GYEb{<=9 zsAJ?!AL8<&)XgDY*x2a^sLiA)Gy{+SQ0%^hkEt+AluxF@Y`}y*=LRB3EETD-9&^B5 zzux)=&4T7Yec~&v7Q-i6eU>PsktRH83HxO!-MFZb1xw*!wN|HYsVV)-kAvc+YFsu> z>C8ANviOm zp^t;_J>k&&dBA+_(MeB)PFsUcN{nIw8)2a_>b7d8C6S_*RZ;okD3-gC4u-fWrTHfK z1@S->JCOj5s&-)~Wr!{0Pe=K^D8+RPU5i|v+*EzEqEHVkRnydO64mi1Qsz=NU>gkA zpA=G@l($s*bsJ2;kN+0d=*?e>5-FL#pqNwANE?M#W0HugTB0l>4MoJJC0V=DNQq0? z#Uu#AxMgfvC-7n|cEaR$y+N{$yXc%NidJUs0{TjrxQr>gVV2voijM>7Sv2dK3_TkZ zs~n@&AMK3vtAju4dRZQMQgJlflnkAa@E>OEwTE^ht%LT!gsQC`*h6PENj%&`hiP%N z;<^{&9587a+kOCsbL?;sh7wjr9i$fvjEQFV4%68m6{B=ap)E@UWxx>_Y1b|$hWFYZ zJ&aHmk)RoA8rz{q`Ca*dIwAZJf1=z-hk1yJF>Lg4aPtU@6-G2ht;Goa%n}yMVvbXI zB(>)_jOW<%cY0?bJmGivL7%9)Hqw_VE{Z28U}6nF0c|;6eu8fGgfmXSM;v=*Km(3D zW>Av|f13frI6j{NtvIfhNt=%FfJ~@YN0{c-uHM7)S}i5UC<`;eiTV}8emn_-IKFj~ zE^CB$WYMFBaP3pD*3+V`qu8_`S~4PimU9ZGaIsF=;K%WpY(3=fU+u-{nkWz ziNff-?VQ0J$bEM;&t z+7Xj(!*&DomL$k4*ECdXhpv{q9C#@Ea_PQAp%moOLzdRXxvG$fLNQ)(z_F} z{yi&1{mwzl7G=%`Sk=4S1$lRx>}|O&k#fX2=)#R0I|u(Qw_lyx4?Ry8Z(=!K5T)#L zfnEt{z3&3F=lHJ+kWT!U6+EH@k0XV>Ve zO(N&6!AXwSRbS=iLOj90Q&Wi1b+B~uE2!%{vi}^{6Y6d zS|=7lkj~siV9Re(FNk{hCe&lC|Ad&baBL&J@Tb_FPB)-o**Llx9c*HjZop`6Y|{<6 z!*TRY;hK!EGMHUz+M%unjUye`Zz06G{DVH12%RYs%(q3bvdocf#diJ$Z99mhjT(ukO(_#{Q?thk8?j<3>pl{tB=2`D z-9p|iPxhz?YVcUdcRiN;H_YdYmXDzx$Ne9RB8EQ}MSSyEj794wuvM#H8;z)u!oujM z{RjUjcb~y^*TzG?`f~QvaWh-Y`ReN_GpCRFVqA-vUw_eJ?4JWu9`3(SIt6#2!am`u9`svV+p z!8U@!1epYv2p$r=BtUOhO&x*&g3bgV5`+>gBsfHHp5Ot&3xc-4-Ozi9! z*n)hLNGEn-CN_nEzs^DhYSx|Ns%b)0Hv%N+!ZK&$L-%7}x@zjtvJL_NkFz=`ncv_w zEuMalCHx0>IJN(B;E=JyrU$la6T)i7V<5|&hmLH;T=ahj3+G{@cd(|;!^TyzI#)?` zWFLKxS(RBs=VNw7YCV>_06kgE2J~T(3(&Vp{-7$Up2`@HH4r_o@ z;J`NBIu8Hn^N%L?V&RGC#TKo{@s+7HHegUi6Xo@5Tv?&TR&-%^tI&F%eYz2ARaRKO z5m!~Fe!K|{Rr+njj&8!sl@$(e#&MOYJri(JW$MKQjIB(K-hy?ibg7O?)u|q?Y{oUQ zavc{{7HhH%J5{DG+lH+xQ*Um=^ETAOV