From 98e3b5256d0fbfb2039065261ce5c374816fae22 Mon Sep 17 00:00:00 2001 From: stack Date: Wed, 17 Jun 2015 15:49:26 -0700 Subject: [PATCH] HTRACE-180 Move the GUI to a top-level subproject Create new module named htrace-webapp to house webapp. Add a pom to it that generates a WAR file. Move the web dir from htrace-htraced to this new module at src/main/web Added a web.xml so WAR builds. Changed symlink over in htrace-htraced/go/gobuild.sh to point at new location. Fixed bug where java REST client was looking for htraced in wrong location --- htrace-htraced/go/gobuild.sh | 2 +- htrace-htraced/pom.xml | 7 + .../org/apache/htrace/util/HTracedProcess.java | 4 +- htrace-htraced/src/web/app/about_view.js | 33 - htrace-htraced/src/web/app/modal.js | 34 - htrace-htraced/src/web/app/predicate.js | 117 - htrace-htraced/src/web/app/predicate_view.js | 68 - htrace-htraced/src/web/app/query_results.js | 45 - htrace-htraced/src/web/app/router.js | 74 - htrace-htraced/src/web/app/search_result.js | 55 - htrace-htraced/src/web/app/search_results.js | 25 - htrace-htraced/src/web/app/search_results_view.js | 361 - htrace-htraced/src/web/app/search_view.js | 197 - htrace-htraced/src/web/app/server_info.js | 31 - htrace-htraced/src/web/app/span.js | 252 - htrace-htraced/src/web/app/span_details_view.js | 39 - htrace-htraced/src/web/app/span_group_widget.js | 110 - htrace-htraced/src/web/app/span_widget.js | 237 - htrace-htraced/src/web/app/string.js | 66 - htrace-htraced/src/web/app/time_cursor.js | 81 - htrace-htraced/src/web/app/tree.js | 74 - htrace-htraced/src/web/app/triangle_button.js | 108 - htrace-htraced/src/web/app/widget_manager.js | 62 - htrace-htraced/src/web/custom.css | 101 - htrace-htraced/src/web/image/owl.png | Bin 435334 -> 0 bytes htrace-htraced/src/web/index.html | 226 - htrace-htraced/src/web/lib/backbone-1.1.2.js | 1608 ---- .../lib/bootstrap-3.3.1/css/bootstrap-theme.css | 470 - .../bootstrap-3.3.1/css/bootstrap-theme.css.map | 1 - .../bootstrap-3.3.1/css/bootstrap-theme.min.css | 5 - .../src/web/lib/bootstrap-3.3.1/css/bootstrap.css | 6332 -------------- .../web/lib/bootstrap-3.3.1/css/bootstrap.css.map | 1 - .../web/lib/bootstrap-3.3.1/css/bootstrap.min.css | 5 - .../src/web/lib/bootstrap-3.3.1/js/bootstrap.js | 2320 ----- .../web/lib/bootstrap-3.3.1/js/bootstrap.min.js | 7 - .../src/web/lib/bootstrap-3.3.1/js/npm.js | 13 - htrace-htraced/src/web/lib/jquery-2.1.4.js | 9210 -------------------- htrace-htraced/src/web/lib/moment-2.10.3.js | 3111 ------- htrace-htraced/src/web/lib/underscore-1.7.0.js | 1416 --- htrace-webapp/README.md | 21 + htrace-webapp/pom.xml | 104 + htrace-webapp/src/main/web/WEB-INF/web.xml | 20 + htrace-webapp/src/main/web/app/about_view.js | 33 + htrace-webapp/src/main/web/app/modal.js | 34 + htrace-webapp/src/main/web/app/predicate.js | 117 + htrace-webapp/src/main/web/app/predicate_view.js | 68 + htrace-webapp/src/main/web/app/query_results.js | 45 + htrace-webapp/src/main/web/app/router.js | 74 + htrace-webapp/src/main/web/app/search_result.js | 55 + htrace-webapp/src/main/web/app/search_results.js | 25 + .../src/main/web/app/search_results_view.js | 361 + htrace-webapp/src/main/web/app/search_view.js | 197 + htrace-webapp/src/main/web/app/server_info.js | 31 + htrace-webapp/src/main/web/app/span.js | 252 + .../src/main/web/app/span_details_view.js | 39 + .../src/main/web/app/span_group_widget.js | 110 + htrace-webapp/src/main/web/app/span_widget.js | 237 + htrace-webapp/src/main/web/app/string.js | 66 + htrace-webapp/src/main/web/app/time_cursor.js | 81 + htrace-webapp/src/main/web/app/tree.js | 74 + htrace-webapp/src/main/web/app/triangle_button.js | 108 + htrace-webapp/src/main/web/app/widget_manager.js | 62 + htrace-webapp/src/main/web/custom.css | 101 + htrace-webapp/src/main/web/image/owl.png | Bin 0 -> 435334 bytes htrace-webapp/src/main/web/index.html | 226 + htrace-webapp/src/main/web/lib/backbone-1.1.2.js | 1608 ++++ .../lib/bootstrap-3.3.1/css/bootstrap-theme.css | 470 + .../bootstrap-3.3.1/css/bootstrap-theme.css.map | 1 + .../bootstrap-3.3.1/css/bootstrap-theme.min.css | 5 + .../main/web/lib/bootstrap-3.3.1/css/bootstrap.css | 6332 ++++++++++++++ .../web/lib/bootstrap-3.3.1/css/bootstrap.css.map | 1 + .../web/lib/bootstrap-3.3.1/css/bootstrap.min.css | 5 + .../main/web/lib/bootstrap-3.3.1/js/bootstrap.js | 2320 +++++ .../web/lib/bootstrap-3.3.1/js/bootstrap.min.js | 7 + .../src/main/web/lib/bootstrap-3.3.1/js/npm.js | 13 + htrace-webapp/src/main/web/lib/jquery-2.1.4.js | 9210 ++++++++++++++++++++ htrace-webapp/src/main/web/lib/moment-2.10.3.js | 3111 +++++++ htrace-webapp/src/main/web/lib/underscore-1.7.0.js | 1416 +++ pom.xml | 5 + 79 files changed, 27055 insertions(+), 26898 deletions(-) delete mode 100644 htrace-htraced/src/web/app/about_view.js delete mode 100644 htrace-htraced/src/web/app/modal.js delete mode 100644 htrace-htraced/src/web/app/predicate.js delete mode 100644 htrace-htraced/src/web/app/predicate_view.js delete mode 100644 htrace-htraced/src/web/app/query_results.js delete mode 100644 htrace-htraced/src/web/app/router.js delete mode 100644 htrace-htraced/src/web/app/search_result.js delete mode 100644 htrace-htraced/src/web/app/search_results.js delete mode 100644 htrace-htraced/src/web/app/search_results_view.js delete mode 100644 htrace-htraced/src/web/app/search_view.js delete mode 100644 htrace-htraced/src/web/app/server_info.js delete mode 100644 htrace-htraced/src/web/app/span.js delete mode 100644 htrace-htraced/src/web/app/span_details_view.js delete mode 100644 htrace-htraced/src/web/app/span_group_widget.js delete mode 100644 htrace-htraced/src/web/app/span_widget.js delete mode 100644 htrace-htraced/src/web/app/string.js delete mode 100644 htrace-htraced/src/web/app/time_cursor.js delete mode 100644 htrace-htraced/src/web/app/tree.js delete mode 100644 htrace-htraced/src/web/app/triangle_button.js delete mode 100644 htrace-htraced/src/web/app/widget_manager.js delete mode 100644 htrace-htraced/src/web/custom.css delete mode 100644 htrace-htraced/src/web/image/owl.png delete mode 100644 htrace-htraced/src/web/index.html delete mode 100644 htrace-htraced/src/web/lib/backbone-1.1.2.js delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap-theme.css delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap-theme.css.map delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap-theme.min.css delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap.css delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap.css.map delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/css/bootstrap.min.css delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/js/bootstrap.js delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/js/bootstrap.min.js delete mode 100644 htrace-htraced/src/web/lib/bootstrap-3.3.1/js/npm.js delete mode 100644 htrace-htraced/src/web/lib/jquery-2.1.4.js delete mode 100644 htrace-htraced/src/web/lib/moment-2.10.3.js delete mode 100644 htrace-htraced/src/web/lib/underscore-1.7.0.js create mode 100644 htrace-webapp/README.md create mode 100644 htrace-webapp/pom.xml create mode 100644 htrace-webapp/src/main/web/WEB-INF/web.xml create mode 100644 htrace-webapp/src/main/web/app/about_view.js create mode 100644 htrace-webapp/src/main/web/app/modal.js create mode 100644 htrace-webapp/src/main/web/app/predicate.js create mode 100644 htrace-webapp/src/main/web/app/predicate_view.js create mode 100644 htrace-webapp/src/main/web/app/query_results.js create mode 100644 htrace-webapp/src/main/web/app/router.js create mode 100644 htrace-webapp/src/main/web/app/search_result.js create mode 100644 htrace-webapp/src/main/web/app/search_results.js create mode 100644 htrace-webapp/src/main/web/app/search_results_view.js create mode 100644 htrace-webapp/src/main/web/app/search_view.js create mode 100644 htrace-webapp/src/main/web/app/server_info.js create mode 100644 htrace-webapp/src/main/web/app/span.js create mode 100644 htrace-webapp/src/main/web/app/span_details_view.js create mode 100644 htrace-webapp/src/main/web/app/span_group_widget.js create mode 100644 htrace-webapp/src/main/web/app/span_widget.js create mode 100644 htrace-webapp/src/main/web/app/string.js create mode 100644 htrace-webapp/src/main/web/app/time_cursor.js create mode 100644 htrace-webapp/src/main/web/app/tree.js create mode 100644 htrace-webapp/src/main/web/app/triangle_button.js create mode 100644 htrace-webapp/src/main/web/app/widget_manager.js create mode 100644 htrace-webapp/src/main/web/custom.css create mode 100644 htrace-webapp/src/main/web/image/owl.png create mode 100644 htrace-webapp/src/main/web/index.html create mode 100644 htrace-webapp/src/main/web/lib/backbone-1.1.2.js create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap-theme.css create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap-theme.css.map create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap-theme.min.css create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap.css create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap.css.map create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/css/bootstrap.min.css create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/js/bootstrap.js create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/js/bootstrap.min.js create mode 100644 htrace-webapp/src/main/web/lib/bootstrap-3.3.1/js/npm.js create mode 100644 htrace-webapp/src/main/web/lib/jquery-2.1.4.js create mode 100644 htrace-webapp/src/main/web/lib/moment-2.10.3.js create mode 100644 htrace-webapp/src/main/web/lib/underscore-1.7.0.js diff --git a/htrace-htraced/go/gobuild.sh b/htrace-htraced/go/gobuild.sh index 259e6a7..121d55b 100755 --- a/htrace-htraced/go/gobuild.sh +++ b/htrace-htraced/go/gobuild.sh @@ -108,7 +108,7 @@ install) go install ${TAGS} -ldflags "${FLAGS}" -v org/apache/htrace/... "$@" # Make a symlink to web src dir so can do development in-situ out # of build dir. This is ugly but blame go build. - ln -fs "../src/web" "${GOBIN}/../" + ln -fs "../../htrace-webapp/src/main/web" "${GOBIN}/../" ;; bench) go test org/apache/htrace/... ${TAGS} -test.bench=. "$@" diff --git a/htrace-htraced/pom.xml b/htrace-htraced/pom.xml index 09324b1..d775850 100644 --- a/htrace-htraced/pom.xml +++ b/htrace-htraced/pom.xml @@ -179,6 +179,13 @@ language governing permissions and limitations under the License. --> tests test + + org.apache.htrace + htrace-webapp + ${project.version} + war + provided + commons-logging diff --git a/htrace-htraced/src/test/java/org/apache/htrace/util/HTracedProcess.java b/htrace-htraced/src/test/java/org/apache/htrace/util/HTracedProcess.java index 5fa5d95..3e800d2 100644 --- a/htrace-htraced/src/test/java/org/apache/htrace/util/HTracedProcess.java +++ b/htrace-htraced/src/test/java/org/apache/htrace/util/HTracedProcess.java @@ -166,7 +166,7 @@ public class HTracedProcess extends Process { * @return Path to the htraced binary. */ public static File getPathToHTraceBinaryFromTopLevel(final File topLevel) { - return new File(new File(new File(new File(new File(topLevel, "htrace-htraced"), "src"), "go"), - "build"), "htraced"); + return new File(new File(new File(new File(topLevel, "htrace-htraced"), "go"), "build"), + "htraced"); } } diff --git a/htrace-htraced/src/web/app/about_view.js b/htrace-htraced/src/web/app/about_view.js deleted file mode 100644 index 7dfe868..0000000 --- a/htrace-htraced/src/web/app/about_view.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; -htrace.AboutView = Backbone.View.extend({ - render: function() { - this.$el.html(_.template($("#about-view-template").html()) - ({ model : this.model })); - console.log("AboutView#render"); - return this; - }, - - close: function() { - console.log("AboutView#close") - this.undelegateEvents(); - } -}); diff --git a/htrace-htraced/src/web/app/modal.js b/htrace-htraced/src/web/app/modal.js deleted file mode 100644 index 91d55fe..0000000 --- a/htrace-htraced/src/web/app/modal.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Show a modal dialog box with a warning message. -htrace.showModalWarning = function(title, body) { - var html = _.template($("#modal-warning-template").html()) - ({ title: title, body: body }); - htrace.showModal(html); -} - -// Show a modal dialog box. -htrace.showModal = function(html) { - var el = $("#modal"); - el.html(html); - el.modal(); -} diff --git a/htrace-htraced/src/web/app/predicate.js b/htrace-htraced/src/web/app/predicate.js deleted file mode 100644 index 87a5602..0000000 --- a/htrace-htraced/src/web/app/predicate.js +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.checkStringIsPositiveWholeNumber = function(val) { - if (!val.match(/^[0-9]([0-9]*)$/)) { - if (!val.match(/[^\s]/)) { - throw "You entered an empty string into a numeric field."; - } - throw "Non-numeric characters found."; - } -}; - -htrace.checkStringIsNotEmpty = function(val) { - if (!val.match(/[^\s]/)) { - throw "You entered an empty string into a text field."; - } -}; - -// Predicate type -htrace.PType = Backbone.Model.extend({ - initialize: function(options) { - this.name = options.name; - this.field = options.field; - this.op = options.op; - }, - - // Try to normalize a value of this type into something htraced can accept. - // Returns a string containing the normalized value on success. Throws a - // string explaining the parse error otherwise. - // Dates are represented by milliseconds since the epoch; span ids don't start - // with 0x. - normalize: function(val) { - switch (this.field) { - case "begin": - return htrace.parseDate(val).valueOf().toString(); - case "end": - return htrace.parseDate(val).valueOf().toString(); - case "description": - htrace.checkStringIsNotEmpty(val); - return val; - case "duration": - htrace.checkStringIsPositiveWholeNumber(val); - return val; - case "spanid": - return htrace.normalizeSpanId(val); - default: - return "Normalization not implemented for field '" + this.field + "'"; - } - }, - - getDefaultValue: function() { - switch (this.field) { - case "begin": - return htrace.dateToString(moment()); - case "end": - return htrace.dateToString(moment()); - case "description": - return ""; - case "duration": - return "0"; - case "spanid": - return ""; - default: - return "(unknown)"; - } - } -}); - -htrace.parsePType = function(name) { - switch (name) { - case "Began after": - return new htrace.PType({name: name, field:"begin", op:"gt"}); - case "Began at or before": - return new htrace.PType({name: name, field:"begin", op:"le"}); - case "Ended after": - return new htrace.PType({name: name, field:"end", op:"gt"}); - case "Ended at or before": - return new htrace.PType({name: name, field:"end", op:"le"}); - case "Description contains": - return new htrace.PType({name: name, field:"description", op:"cn"}); - case "Description is exactly": - return new htrace.PType({name: name, field:"description", op:"eq"}); - case "Duration is longer than": - return new htrace.PType({name: name, field:"duration", op:"gt"}); - case "Duration is at most": - return new htrace.PType({name: name, field:"duration", op:"le"}); - case "Span ID is": - return new htrace.PType({name: name, field:"spanid", op:"eq"}); - default: - return null - } -}; - -htrace.Predicate = function(options) { - this.op = options.ptype.op; - this.field = options.ptype.field; - this.val = options.val; - return this; -}; diff --git a/htrace-htraced/src/web/app/predicate_view.js b/htrace-htraced/src/web/app/predicate_view.js deleted file mode 100644 index aefe896..0000000 --- a/htrace-htraced/src/web/app/predicate_view.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.PredicateView = Backbone.View.extend({ - initialize: function(options) { - this.el = options.el; - this.index = options.index; - this.ptype = options.ptype; - this.searchView = options.searchView; - }, - - events: { - "click .closeButton": "remove", - }, - - render: function() { - this.$el.html(_.template($("#predicate-template").html()) - ({ desc: this.ptype.name, id: this.index })) - if (this.getText() === "") { - $(this.$el).find(".form-control").val(this.ptype.getDefaultValue()); - } - console.log(this.toString() + "#render"); - return this; - }, - - // Handle the user removing this predicate. - remove: function() { - this.searchView.removePredicateView(this); - Backbone.View.prototype.remove.apply(this, arguments); - }, - - // Get the text which the user has entered in. - getText: function() { - return $(this.$el).find(".form-control").val().trim(); - }, - - // Get the predicate expressed by this view. - // Throw an exception if the predicate can't be parsed. - getPredicate: function() { - return new htrace.Predicate({ - ptype: this.ptype, - val: this.ptype.normalize(this.getText()) - }); - }, - - toString: function() { - return "PredicateView(this.el=" + this.el + ", this.index=" + - this.index + ", this.ptype='" + this.ptype.name + "')"; - } -}); diff --git a/htrace-htraced/src/web/app/query_results.js b/htrace-htraced/src/web/app/query_results.js deleted file mode 100644 index dc37e1e..0000000 --- a/htrace-htraced/src/web/app/query_results.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.QueryResults = Backbone.Collection.extend({ - // The query results are spans. - model: htrace.Span, - - initialize: function(options) { - this.queryJson = options.queryJson; - }, - - url: function() { - return "query?query=" + this.queryString(); - }, - - parse: function(response, xhr) { - return response; - }, - - prettyQueryString: function() { - return JSON.stringify(this.queryJson, null, 2); - }, - - queryString: function() { - return JSON.stringify(this.queryJson); - } -}); diff --git a/htrace-htraced/src/web/app/router.js b/htrace-htraced/src/web/app/router.js deleted file mode 100644 index 607da44..0000000 --- a/htrace-htraced/src/web/app/router.js +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.HTraceRouter = Backbone.Router.extend({ - "routes": { - "": "empty", - "about": "about", - "search": "search", - "*unknown": "unknown" - }, - - empty: function() { - console.log("Redirecting to #about."); - Backbone.history.navigate("about", {"trigger": true, "replace": true}); - }, - - about: function() { - console.log("Visiting #about."); - serverInfo = new htrace.ServerInfo(); - var router = this; - serverInfo.fetch({ - "success": function(model, response, options) { - router.switchView(new htrace.AboutView({model: serverInfo, el: "#app"})); - router.activateNavBarEntry("about") - }, - "error": function(model, response, options) { - window.alert("Failed to fetch htraced server info via GET " + - "/server/info: " + JSON.stringify(response)); - } - }); - }, - - search: function() { - console.log("Visiting #search."); - this.switchView(new htrace.SearchView({el : "#app"})); - htrace.router.activateNavBarEntry("search"); - }, - - unknown: function() { - console.log("Unknown route " + Backbone.history.getFragment() + ".") - }, - - "switchView": function(view) { - this.view && this.view.close(); - this.view = view; - this.view.render(); - }, - - "activateNavBarEntry": function(id) { - $(".nav").find(".active").removeClass("active"); - $(".nav").find("#" + id).addClass("active"); - } -}); - -htrace.router = new htrace.HTraceRouter(); -Backbone.history.start(); diff --git a/htrace-htraced/src/web/app/search_result.js b/htrace-htraced/src/web/app/search_result.js deleted file mode 100644 index 9798ad7..0000000 --- a/htrace-htraced/src/web/app/search_result.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// A pair of span trees: one going up, and the other going down. -// This represents a single search result. -htrace.SearchResult = Backbone.Model.extend({ - initialize: function(options) { - this.set("childrenRoot", { - root: options.span, - contents: null, - }); - this.set("childrenRoot", { - root: options.span, - contents: null, - }); - - this.set("parentsRoot", options.span); - }, - - getBegin: function() { - var begin = this.get("span").get("begin"); - var children = this.get("children"); - for (var childIdx = 0; childIdx < children.length; childIdx++) { - begin = Math.min(begin, children[childIdx].getBegin()); - } - return begin; - }, - - getEnd: function() { - var end = this.get("span").get("end"); - var children = this.get("children"); - for (var childIdx = 0; childIdx < children.length; childIdx++) { - end = Math.max(end, children[childIdx].getEnd()); - } - return end; - } -}); diff --git a/htrace-htraced/src/web/app/search_results.js b/htrace-htraced/src/web/app/search_results.js deleted file mode 100644 index 25b18ae..0000000 --- a/htrace-htraced/src/web/app/search_results.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.SearchResults = Backbone.Collection.extend({ - // The search results are span trees. - model: htrace.SpanTreeNode -}); diff --git a/htrace-htraced/src/web/app/search_results_view.js b/htrace-htraced/src/web/app/search_results_view.js deleted file mode 100644 index 111f530..0000000 --- a/htrace-htraced/src/web/app/search_results_view.js +++ /dev/null @@ -1,361 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.SearchResultsView = Backbone.View.extend({ - // The minimum time span we will allow between begin and end. - MINIMUM_TIME_SPAN: 100, - - begin: 0, - - end: this.MINIMUM_TIME_SPAN, - - initialize: function(options) { - this.searchResults = options.searchResults; - this.el = options.el; - this.listenTo(this.searchResults, 'add remove change reset', this.render); - - // Re-render the canvas when the window size changes. - // Add a debouncer delay to avoid spamming render requests. - var view = this; - $(window).on("resize", _.debounce(function() { - view.render(); - }, 250)); - }, - - // Get the canvas X coordinate of a mouse click from the absolute event - // coordinate. - getCanvasX: function(e) { - return e.pageX - $("#resultsCanvas").offset().left; - }, - - // Get the canvas Y coordinate of a mouse click from the absolute event - // coordinate. - getCanvasY: function(e) { - return e.pageY - $("#resultsCanvas").offset().top; - }, - - handleMouseDown: function(e) { - e.preventDefault(); - this.widgetManager.handle({ - type: "mouseDown", - x: this.getCanvasX(e), - y: this.getCanvasY(e) - }); - this.draw(); - }, - - handleMouseUp: function(e) { - e.preventDefault(); - this.widgetManager.handle({ - type: "mouseUp", - x: this.getCanvasX(e), - y: this.getCanvasY(e) - }); - this.draw(); - }, - - handleMouseOut: function(e) { - e.preventDefault(); - this.widgetManager.handle({ - type: "mouseOut" - }); - this.draw(); - }, - - handleMouseMove: function(e) { - e.preventDefault(); - this.widgetManager.handle({ - type: "mouseMove", - x: this.getCanvasX(e), - y: this.getCanvasY(e) - }); - this.draw(); - }, - - render: function() { - console.log("SearchResultsView#render."); - $(this.el).html(_.template($("#search-results-view-template").html())); - $('#selectedTime').attr('readonly', 'readonly'); - this.canvas = $("#resultsCanvas"); - this.ctx = this.canvas.get(0).getContext("2d"); - this.scaleCanvas(); - this.setupCoordinates(); - this.setupWidgets(); - this.draw(); - this.attachEvents(); - return this; - }, - - /* - * Compute the ratio to use between the size of the canvas (i.e. - * canvas.ctx.width, canvas.ctx.height) and the size in "HTML5 pixels." Note - * that 'HTML5 pixels" don't actually correspond to screen pixels. A line 1 - * "HTML5 pixel" wide actually takes up multiple scren pixels, etc. - * - * TODO: fix this to be sharper - */ - computeScaleFactor: function() { - var backingStoreRatio = this.ctx.backingStorePixelRatio || - this.ctx.mozBackingStorePixelRatio || - this.ctx.msBackingStorePixelRatio || - this.ctx.webkitBackingStorePixelRatio || - this.ctx.oBackingStorePixelRatio || - this.ctx.backingStorePixelRatio || 1; - return (window.devicePixelRatio || 1) / backingStoreRatio; - }, - - // Sets up the canvas size and scaling. - scaleCanvas: function() { - var cssX = this.canvas.parent().innerWidth(); - var cssY = $(window).innerHeight() - $("#header").innerHeight() - 50; - var ratio = this.computeScaleFactor(); - console.log("scaleCanvas: cssX=" + cssX + ", cssY=" + cssY + ", ratio=" + ratio); - this.maxX = cssX; - this.maxY = cssY; - $('#searchView').css('height', cssY + "px"); - $('#results').css('width', cssX + "px"); - $('#results').css('height', cssY + "px"); - $('#resultsView').css('width', cssX + "px"); - $('#resultsView').css('height', cssY + "px"); - $('#resultsDiv').css('width', cssX + "px"); - $('#resultsDiv').css('height', cssY + "px"); - $('#resultsCanvas').css('width', cssX + "px"); - $('#resultsCanvas').css('height', cssY + "px"); - this.ctx.canvas.width = cssX * ratio; - this.ctx.canvas.height = cssY * ratio; - this.ctx.scale(ratio, ratio); - }, - - // - // Set up the screen coordinates. - // - // 0 xB xD xS maxX - // +--------------+----------+--------------------+-----------+ - // |ProcessId | Buttons | Span Description | Scrollbar | - // +--------------+----------+--------------------+-----------+ - // - setupCoordinates: function() { - this.xB = Math.min(300, Math.floor(this.maxX / 5)); - this.xD = this.xB + Math.min(75, Math.floor(this.maxX / 20)); - var scrollBarWidth = Math.min(50, Math.floor(this.maxX / 10)); - this.xS = this.maxX - scrollBarWidth; - }, - - setupWidgets: function() { - this.widgetManager = new htrace.WidgetManager({searchResultsView: this}); - - // Create a SpanWidget for each span we know about - var spanWidgetHeight = Math.min(25, Math.floor(this.maxY / 32)); - var numResults = this.searchResults.size(); - var groupY = 0; - for (var i = 0; i < numResults; i++) { - var widget = new htrace.SpanGroupWidget({ - manager: this.widgetManager, - ctx: this.ctx, - span: this.searchResults.at(i), - x0: 0, - xB: this.xB, - xD: this.xD, - xF: this.xS, - y0: groupY, - begin: this.begin, - end: this.end, - spanWidgetHeight: spanWidgetHeight - }); - groupY = widget.yF; - } - - // Create the time cursor widget. - var selectedTime = this.begin; - if (this.timeCursor != null) { - selectedTime = this.timeCursor.selectedTime; - } - this.timeCursor = new htrace.TimeCursor({ - manager: this.widgetManager, - selectedTime: selectedTime, - el: "#selectedTime" - }); - this.timeCursor.ctx = this.ctx; - this.timeCursor.x0 = this.xD; - this.timeCursor.xF = this.xS; - this.timeCursor.y0 = 0; - this.timeCursor.yF = this.maxY; - this.timeCursor.begin = this.begin; - this.timeCursor.end = this.end; - }, - - draw: function() { - if (this.checkCanvasTooSmall()) { - return; - } - - // Set the background to white. - this.ctx.save(); - this.ctx.fillStyle="#ffffff"; - this.ctx.strokeStyle="#000000"; - this.ctx.fillRect(0, 0, this.maxX, this.maxY); - this.ctx.restore(); - - // Draw all the widgets. - this.widgetManager.handle({type: "draw"}); - }, - - checkCanvasTooSmall: function() { - if ((this.maxX < 200) || (this.maxY < 200)) { - this.ctx.fillStyle="#cccccc"; - this.ctx.strokeStyle="#000000"; - this.ctx.fillRect(0, 0, this.maxX, this.maxY); - this.ctx.font = "24px serif"; - this.ctx.fillStyle="#000000"; - this.ctx.fillText("Canvas too small!", 0, 24); - return true; - } - return false; - }, - - attachEvents: function() { - // Use jquery to capture mouse events on the canvas. - // For some reason using backbone doesn't work for getting these events. - var view = this; - $("#resultsCanvas").off("mousedown"); - $("#resultsCanvas").on("mousedown", function(e) { - view.handleMouseDown(e); - }); - $("#resultsCanvas").off("mouseup"); - $("#resultsCanvas").on("mouseup", function(e) { - view.handleMouseUp(e); - }); - $("#resultsCanvas").off("mouseout"); - $("#resultsCanvas").on("mouseout", function(e) { - view.handleMouseOut(e); - }); - $("#resultsCanvas").off("mousemove"); - $("#resultsCanvas").on("mousemove", function(e) { - view.handleMouseMove(e); - }); - }, - - remove: function() { - $(window).off("resize"); - $("#resultsCanvas").off("mousedown"); - $("#resultsCanvas").off("mouseup"); - $("#resultsCanvas").off("mousemove"); - Backbone.View.prototype.remove.apply(this, arguments); - }, - - handleBeginOrEndChange: function(e, type) { - e.preventDefault(); - var text = $(e.target).val().trim(); - var d = null; - try { - d = htrace.parseDate(text); - } catch(err) { - $("#begin").val(htrace.dateToString(this.begin)); - $("#end").val(htrace.dateToString(this.end)); - htrace.showModalWarning("Timeline " + type + " Format Error", - "Please enter a valid time in the timeline " + type + " field.

" + - err); - return null; - } - if (type === "begin") { - this.setBegin(d.valueOf()); - } else if (type === "end") { - this.setEnd(d.valueOf()); - } else { - throw "invalid type for handleBeginOrEndChange: expected begin or end."; - } - }, - - setBegin: function(val) { - if (this.end < val + this.MINIMUM_TIME_SPAN) { - this.begin = val; - this.end = val + this.MINIMUM_TIME_SPAN; - console.log("SearchResultsView#setBegin(begin=" + this.begin + - ", end=" + this.end + ")"); - $("#begin").val(htrace.dateToString(this.begin)); - $("#end").val(htrace.dateToString(this.end)); - } else { - this.begin = val; - console.log("SearchResultsView#setBegin(begin=" + this.begin + ")"); - $("#begin").val(htrace.dateToString(this.begin)); - } - this.render(); - }, - - setEnd: function(val) { - if (this.begin + this.MINIMUM_TIME_SPAN > val) { - this.begin = val; - this.end = this.begin + this.MINIMUM_TIME_SPAN; - console.log("SearchResultsView#setEnd(begin=" + this.begin + - ", end=" + this.end + ")"); - $("#begin").val(htrace.dateToString(this.begin)); - $("#end").val(htrace.dateToString(this.end)); - } else { - this.end = val; - console.log("SearchResultsView#setEnd(end=" + this.end + ")"); - $("#end").val(htrace.dateToString(this.end)); - } - this.render(); - }, - - zoomFitAll: function() { - var numResults = this.searchResults.size(); - if (numResults == 0) { - this.setBegin(0); - this.setEnd(this.MINIMUM_TIME_SPAN); - return; - } - var minStart = 4503599627370496; - var maxEnd = 0; - for (var i = 0; i < numResults; i++) { - var span = this.searchResults.at(i); - var begin = span.getEarliestBegin(); - if (begin < minStart) { - minStart = begin; - } - var end = span.getLatestEnd(); - if (end > minStart) { - maxEnd = end; - } - } - this.setBegin(minStart); - this.setEnd(maxEnd); - }, - - // Apply a function to all spans - applyToAllSpans: function(cb) { - for (var i = 0; i < this.searchResults.length; i++) { - htrace.treeTraverseDepthFirstPre(this.searchResults.at(i), - htrace.getReifiedChildren, 0, - function(node, depth) { - console.log("node = " + node + ", node.constructor.name = " + node.constructor.name); - cb(node); - }); - htrace.treeTraverseDepthFirstPre(this.searchResults.at(i), - htrace.getReifiedParents, 0, - function(node, depth) { - if (depth > 0) { - cb(node); - } - }); - } - } -}); diff --git a/htrace-htraced/src/web/app/search_view.js b/htrace-htraced/src/web/app/search_view.js deleted file mode 100644 index 52f9101..0000000 --- a/htrace-htraced/src/web/app/search_view.js +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; -htrace.SearchView = Backbone.View.extend({ - initialize : function() { - this.predicateViews = []; - this.highestPredicateIndex = 0; - this.searchInProgress = false; - this.searchResults = new htrace.SearchResults(); - this.resultsView = new htrace.SearchResultsView({ - searchResults: this.searchResults, - el: "#results" - }); - }, - - events: { - "click #searchButton": "searchHandler", - "click #clearButton": "clearHandler", - "click .add-field": "dropdownHandler", - "blur #begin": "blurBeginHandler", - "blur #end": "blurEndHandler", - "click #zoomButton": "zoomFitAllHandler" - }, - - searchHandler: function(e){ - e.preventDefault(); - - // Do a new search. - this.doSearch(e.ctrlKey); - }, - - clearHandler: function(e){ - e.preventDefault(); - - // Clear existing search results. - this.searchResults.reset(); - }, - - doSearch: function(showDebug){ - if (this.searchInProgress) { - console.log("Can't start a new search while another one is in " + - "progress."); - return false; - } - - // Check if there are no search criteria. - if (this.predicateViews.length == 0) { - htrace.showModalWarning("No Search Criteria Specified", - "You have not specified any search criteria. " + - "Use the 'Add Predicate' button to specify what to search for."); - return false; - } - - // Build the predicate array. - predicates = [] - var predicateViewsLen = this.predicateViews.length; - for (var i = 0; i < predicateViewsLen; i++) { - var predicateView = this.predicateViews[i]; - try { - predicates.push(predicateView.getPredicate()); - } catch(err) { - htrace.showModalWarning("Search Field Validation Error", - "Invalid search string for the '" + predicateView.ptype.name + - "' field.

" + err); - return false; - } - } - var queryJson = { - pred: predicates, - lim: 20 - }; - // If there are existing search results, we want results which "come after" - // those. So pass the last span we saw as a continuation token. - if (this.searchResults.size() > 0) { - queryJson.prev = - this.searchResults.at(this.searchResults.size() - 1).unparse(); - } - var searchView = this; - var queryResults = new htrace.QueryResults({queryJson: queryJson}); - console.log("Starting span query " + queryResults.url()); - this.searchInProgress = true; - queryResults.fetch({ - success: function(model, response, options){ - var firstResults = (searchView.searchResults.size() === 0); - console.log("Success on span query " + queryResults.url() + ": got " + - queryResults.size() + " result(s). firstResults=" + firstResults); - searchView.searchResults.add(queryResults.models); - if (firstResults) { - // After the initial search, zoom to fit everything. - // On subsequent searches, we leave the viewport alone. - searchView.resultsView.zoomFitAll(); - } - searchView.searchInProgress = false; - if (showDebug) { - htrace.showModalWarning("Search Debug", - "This is the search debug box, accessible by holding down the " + - "control key while clicking the search button.

" + - "

Query JSON

" + queryResults.prettyQueryString() +
-            "

Response JSON

" +
-            JSON.stringify(queryResults, null, 2) + "

"); - } else if (queryResults.size() == 0) { - if (firstResults) { - htrace.showModalWarning("No Results Found", - "No results were found for your query.

"); - } else { - htrace.showModalWarning("No Additional Results Found", - "No additional results were found for your query.

"); - } - } - }, - error: function(model, response, options){ - this.searchResults.clear(); - var err = "Error " + JSON.stringify(response) + - " on span query " + query.url(); - console.log(err); - alert(err); - searchView.searchInProgress = false; - } - }); - return false; - }, - - dropdownHandler: function(e){ - e.preventDefault(); - var text = $(e.target).text(); - var ptype = htrace.parsePType(text); - if (!ptype) { - alert("Unable to parse predicate type '" + text + "'"); - return false; - } - var index = this.highestPredicateIndex; - this.highestPredicateIndex++; - var el = "pred" + index; - $("#predicates").append('

'); - predicateView = new htrace.PredicateView({ - el: "#" + el, - index: index, - ptype: ptype, - searchView: this - }); - this.predicateViews.push(predicateView); - predicateView.render(); - return true; - }, - - blurBeginHandler: function(e) { - return this.resultsView.handleBeginOrEndChange(e, "begin"); - }, - - blurEndHandler: function(e) { - return this.resultsView.handleBeginOrEndChange(e, "end"); - }, - - zoomFitAllHandler: function(e) { - e.preventDefault(); - this.resultsView.zoomFitAll(); - }, - - removePredicateView: function(predicateView) { - this.predicateViews = _.without(this.predicateViews, predicateView); - }, - - render: function() { - this.$el.html(_.template($("#search-view-template").html()) - ({ model : this.model })) - this.resultsView.render(); - console.log("SearchView#render"); - return this; - }, - - close: function() { - console.log("SearchView#close") - while (this.predicateViews.length > 0) { - this.predicateViews[0].remove(); - } - this.resultsView.remove(); - this.resultsView = null; - this.undelegateEvents(); - } -}); diff --git a/htrace-htraced/src/web/app/server_info.js b/htrace-htraced/src/web/app/server_info.js deleted file mode 100644 index b03f706..0000000 --- a/htrace-htraced/src/web/app/server_info.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -// htraced ServerInfo sent back from /serverInfo. -// See rest.go. -htrace.ServerInfo = Backbone.Model.extend({ - defaults: { - "ReleaseVersion": "unknown", - "GitVersion": "unknown", - }, - - url: function() { - return "server/info"; - } -}); diff --git a/htrace-htraced/src/web/app/span.js b/htrace-htraced/src/web/app/span.js deleted file mode 100644 index a056b4f..0000000 --- a/htrace-htraced/src/web/app/span.js +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// The invalid span ID, which is all zeroes. -htrace.INVALID_SPAN_ID = "0000000000000000"; - -// Convert an array of htrace.Span models into a comma-separated string. -htrace.spanModelsToString = function(spans) { - var ret = ""; - var prefix = ""; - for (var i = 0; i < spans.length; i++) { - ret += prefix + JSON.stringify(spans[i].unparse()); - prefix = ", "; - } - return ret; -}; - -// Convert an array of return results from ajax calls into an array of -// htrace.Span models. -htrace.parseMultiSpanAjaxQueryResults = function(ajaxCalls) { - var parsedSpans = []; - for (var i = 0; i < ajaxCalls.length; i++) { - var text = ajaxCalls[i][0]; - var result = ajaxCalls[i][1]; - if (ajaxCalls[i]["status"] != "200") { - throw "ajax error: " + ajaxCalls[i].statusText; - } - var parsedSpan = new htrace.Span({}); - try { - parsedSpan.parse(ajaxCalls[i].responseJSON, {}); - } catch (e) { - throw "span parse error: " + e; - } - parsedSpans.push(parsedSpan); - } - return parsedSpans; -}; - -htrace.getReifiedParents = function(span) { - return span.get("reifiedParents") || []; -}; - -htrace.getReifiedChildren = function(span) { - return span.get("reifiedChildren") || []; -}; - -htrace.Span = Backbone.Model.extend({ - // Parse a span sent from htraced. - // We use more verbose names for some attributes. - // Missing attributes are treated as zero or empty. Numerical attributes are - // forced to be numbers. - parse: function(response, options) { - var span = {}; - this.set("spanId", response.s ? response.s : htrace.INVALID_SPAN_ID); - this.set("traceId", response.i ? response.i : htrace.INVALID_SPAN_ID); - this.set("processId", response.r ? response.r : ""); - this.set("parents", response.p ? response.p : []); - this.set("description", response.d ? response.d : ""); - this.set("begin", response.b ? parseInt(response.b, 10) : 0); - this.set("end", response.e ? parseInt(response.e, 10) : 0); - - this.set("selected", false); - - // reifiedChildren starts off as null and will be filled in as needed. - this.set("reifiedChildren", null); - - // If there are parents, reifiedParents starts off as null. Otherwise, we - // know it is the empty array. - this.set("reifiedParents", (this.get("parents").length == 0) ? [] : null); - - return span; - }, - - // Transform a span model back into a JSON string suitable for sending over - // the wire. - unparse: function() { - var obj = { }; - if (!(this.get("spanId") === htrace.INVALID_SPAN_ID)) { - obj.s = this.get("spanId"); - } - if (!(this.get("traceId") === htrace.INVALID_SPAN_ID)) { - obj.i = this.get("traceId"); - } - if (!(this.get("processId") === "")) { - obj.r = this.get("processId"); - } - if (this.get("parents").length > 0) { - obj.p = this.get("parents"); - } - if (this.get("description").length > 0) { - obj.d = this.get("description"); - } - if (this.get("begin") > 0) { - obj.b = this.get("begin"); - } - if (this.get("end") > 0) { - obj.e = this.get("end"); - } - return obj; - }, - - // - // Although the parent IDs are always present in the 'parents' field of the - // span, sometimes we need the actual parent span models. In that case we - // must "reify" them (make them real). - // - // This functionReturns a jquery promise which reifies all the parents of this - // span and stores them into reifiedParents. The promise returns the empty - // string on success, or an error string on failure. - // - reifyParents: function() { - var span = this; - var numParents = span.get("parents").length; - var ajaxCalls = []; - // Set up AJAX queries to reify the parents. - for (var i = 0; i < numParents; i++) { - ajaxCalls.push($.ajax({ - url: "span/" + span.get("parents")[i], - data: {}, - contentType: "application/json; charset=utf-8", - dataType: "json" - })); - } - var rootDeferred = jQuery.Deferred(); - $.when.apply($, ajaxCalls).then(function() { - var reifiedParents = []; - try { - reifiedParents = htrace.parseMultiSpanAjaxQueryResults(ajaxCalls); - } catch (e) { - rootDeferred.resolve("Error reifying parents for " + - span.get("spanId") + ": " + e); - return; - } - // The current span is a child of the reified parents. There may be other - // children of those parents, but we are ignoring that here. By making - // this non-null, the "expand children" button will not appear for these - // paren spans. - for (var j = 0; j < reifiedParents.length; j++) { - reifiedParents[j].set("reifiedChildren", [span]); - } - console.log("Setting reified parents for " + span.get("spanId") + - " to " + htrace.spanModelsToString (reifiedParents)); - span.set("reifiedParents", reifiedParents); - rootDeferred.resolve(""); - }); - return rootDeferred.promise(); - }, - - // - // The span itself does not contain its children. However, the server has an - // index which can be used to easily find the children of a particular span. - // - // This function returns a jquery promise which reifies all the children of - // this span and stores them into reifiedChildren. The promise returns the - // empty string on success, or an error string on failure. - // - reifyChildren: function() { - var rootDeferred = jQuery.Deferred(); - var span = this; - $.ajax({ - url: "span/" + span.get("spanId") + "/children?lim=50", - data: {}, - contentType: "application/json; charset=utf-8", - dataType: "json" - }).done(function(childIds) { - var ajaxCalls = []; - for (var i = 0; i < childIds.length; i++) { - ajaxCalls.push($.ajax({ - url: "span/" + childIds[i], - data: {}, - contentType: "application/json; charset=utf-8", - dataType: "json" - })); - }; - $.when.apply($, ajaxCalls).then(function() { - var reifiedChildren; - try { - reifiedChildren = htrace.parseMultiSpanAjaxQueryResults(ajaxCalls); - } catch (e) { - reifiedChildren = rootDeferred.resolve("Error reifying children " + - "for " + span.get("spanId") + ": " + e); - return; - } - // The current span is a parent of the new child. - // There may be other parents, but we are ignoring that here. - // By making this non-null, the "expand parents" button will not - // appear for these child spans. - for (var j = 0; j < reifiedChildren.length; j++) { - reifiedChildren[j].set("reifiedParents", [span]); - } - console.log("Setting reified children for " + span.get("spanId") + - " to " + htrace.spanModelsToString (reifiedChildren)); - span.set("reifiedChildren", reifiedChildren); - rootDeferred.resolve(""); - }); - }).fail(function(statusData) { - // Check if the /children query failed. - rootDeferred.resolve("Error querying children of " + - span.get("spanId") + ": got " + statusData); - return; - }); - return rootDeferred.promise(); - }, - - // Get the earliest begin time of this span or any of its reified parents or - // children. - getEarliestBegin: function() { - var earliestBegin = this.get("begin"); - htrace.treeTraverseDepthFirstPre(this, htrace.getReifiedParents, 0, - function(span, depth) { - earliestBegin = Math.min(earliestBegin, span.get("begin")); - }); - htrace.treeTraverseDepthFirstPre(this, htrace.getReifiedChildren, 0, - function(span, depth) { - earliestBegin = Math.min(earliestBegin, span.get("begin")); - }); - return earliestBegin; - }, - - // Get the earliest begin time of this span or any of its reified parents or - // children. - getLatestEnd: function() { - var latestEnd = this.get("end"); - htrace.treeTraverseDepthFirstPre(this, htrace.getReifiedParents, 0, - function(span, depth) { - latestEnd = Math.max(latestEnd, span.get("end")); - }); - htrace.treeTraverseDepthFirstPre(this, htrace.getReifiedChildren, 0, - function(span, depth) { - latestEnd = Math.max(latestEnd, span.get("end")); - }); - return latestEnd; - }, -}); diff --git a/htrace-htraced/src/web/app/span_details_view.js b/htrace-htraced/src/web/app/span_details_view.js deleted file mode 100644 index 9a37055..0000000 --- a/htrace-htraced/src/web/app/span_details_view.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -htrace.SpanDetailsView = Backbone.View.extend({ - initialize: function(options) { - this.el = options.el; - this.model = options.model; - } - - render: function() { - this.$el.html(_.template($("#about-view-template").html()) - ({ model : this.model })); - console.log("AboutView#render"); - return this; - }, - - close: function() { - console.log("AboutView#close") - this.undelegateEvents(); - } -}); diff --git a/htrace-htraced/src/web/app/span_group_widget.js b/htrace-htraced/src/web/app/span_group_widget.js deleted file mode 100644 index e32c2db..0000000 --- a/htrace-htraced/src/web/app/span_group_widget.js +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Widget containing a group of trace spans displayed on the canvas. -htrace.SpanGroupWidget = function(params) { - this.draw = function() { - this.ctx.save(); - this.ctx.fillStyle="#ffffff"; - this.ctx.fillRect(this.x0, this.y0, this.xF - this.x0, this.yF - this.y0); - this.ctx.strokeStyle="#aaaaaa"; - this.ctx.beginPath(); - this.ctx.moveTo(this.x0, this.y0); - this.ctx.lineTo(this.xF, this.y0); - this.ctx.stroke(); - this.ctx.beginPath(); - this.ctx.moveTo(this.x0, this.yF); - this.ctx.lineTo(this.xF, this.yF); - this.ctx.stroke(); - this.ctx.restore(); - return true; - }; - - this.createSpanWidget = function(node, indentLevel, - allowUpButton, allowDownButton) { - new htrace.SpanWidget({ - manager: this.manager, - ctx: this.ctx, - span: node, - x0: this.x0, - xB: this.xB, - xD: this.xD, - xF: this.xF, - xT: this.childIndent * indentLevel, - y0: this.spanY, - yF: this.spanY + this.spanWidgetHeight, - allowUpButton: allowUpButton, - allowDownButton: allowDownButton, - begin: this.begin, - end: this.end - }); - this.spanY += this.spanWidgetHeight; - } - - this.handle = function(e) { - switch (e.type) { - case "draw": - this.draw(); - return true; - } - } - - for (var k in params) { - this[k]=params[k]; - } - this.manager.register("draw", this); - this.spanY = this.y0 + 4; - - // Figure out how much to indent each child's description text. - this.childIndent = Math.max(10, (this.xF - this.xD) / 50); - - // Get the maximum depth of the parents tree to find out how far to indent. - var parentTreeHeight = - htrace.treeHeight(this.span, htrace.getReifiedParents); - - console.log("parentTreeHeight = " + parentTreeHeight); - // Traverse the parents tree upwards. - var thisWidget = this; - htrace.treeTraverseDepthFirstPost(this.span, htrace.getReifiedParents, 0, - function(node, depth) { - if (depth > 0) { - thisWidget.createSpanWidget(node, - parentTreeHeight - depth, true, false); - } - }); - thisWidget.createSpanWidget(this.span, parentTreeHeight, true, true); - // Traverse the children tree downwards. - htrace.treeTraverseDepthFirstPre(this.span, htrace.getReifiedChildren, 0, - function(node, depth) { - if (depth > 0) { - thisWidget.createSpanWidget(node, - parentTreeHeight + depth, false, true); - } - }); - this.yF = this.spanY + 4; - console.log("SpanGroupWidget(this.span=" + - JSON.stringify(this.span.unparse()) + - ", x0=" + this.x0 + ", xB=" + this.xB + - ", xD=" + this.xD + ", xF=" + this.xF + - ", y0=" + this.y0 + ", yF=" + this.yF + - ")"); - return this; -}; diff --git a/htrace-htraced/src/web/app/span_widget.js b/htrace-htraced/src/web/app/span_widget.js deleted file mode 100644 index 0d18fef..0000000 --- a/htrace-htraced/src/web/app/span_widget.js +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Widget containing the trace span displayed on the canvas. -htrace.SpanWidget = function(params) { - this.draw = function() { - this.drawBackground(); - this.drawProcessId(); - this.drawDescription(); - }; - - // Draw the background of this span widget. - this.drawBackground = function() { - this.ctx.save(); - if (this.span.get("selected")) { - this.ctx.fillStyle="#ffccff"; - } else { - this.ctx.fillStyle="#ffffff"; - } - this.ctx.fillRect(this.x0, this.y0, this.xSize, this.ySize); - this.ctx.restore(); - } - - // Draw process ID text. - this.drawProcessId = function() { - this.ctx.save(); - this.ctx.fillStyle="#000000"; - this.ctx.font = (this.ySize - 2) + "px sans-serif"; - this.ctx.beginPath(); - this.ctx.rect(this.x0, this.y0, this.xB - this.x0, this.ySize); - this.ctx.clip(); - this.ctx.fillText(this.span.get('processId'), this.x0, this.yF - 4); - this.ctx.restore(); - }; - - // Draw the span description - this.drawDescription = function() { - // Draw the light blue bar representing time. - this.ctx.save(); - this.ctx.beginPath(); - this.ctx.rect(this.xD, this.y0, this.xF - this.xD, this.ySize); - this.ctx.clip(); - this.ctx.strokeStyle="#000000"; - this.ctx.fillStyle="#a7b7ff"; - var beginX = this.timeToPosition(this.span.get('begin')); - var endX = this.timeToPosition(this.span.get('end')); - - // If the span is completely off the screen, draw a diamond at either the - // beginning or the end of the bar to indicate whether it's too early or too - // late to be seen. - if (endX < this.x0) { - beginX = this.xD; - endX = this.xD; - } - if (beginX > this.xF) { - beginX = this.xF; - endX = this.xF; - } - - var gapY = 2; - var epsilon = Math.max(2, Math.floor(this.xSize / 1000)); - if (endX - beginX < epsilon) { - // The time interval is too narrow to see. Draw a diamond on the point instead. - this.ctx.beginPath(); - this.ctx.moveTo(beginX, this.y0 + gapY); - this.ctx.lineTo(beginX + (Math.floor(this.ySize / 2) - gapY), - this.y0 + Math.floor(this.ySize / 2)); - this.ctx.lineTo(beginX, this.yF - gapY); - this.ctx.lineTo(beginX - (Math.floor(this.ySize / 2) - gapY), - this.y0 + Math.floor(this.ySize / 2)); - this.ctx.closePath(); - this.ctx.fill(); - } else { - // Draw a bar from the start time to the end time. -// console.log("beginX=" + beginX + ", endX=" + endX + -// ", begin=" + this.span.get('begin') + ", end=" + this.span.get('end')); - this.ctx.fillRect(beginX, this.y0 + gapY, endX - beginX, - this.ySize - (gapY * 2)); - } - - // Draw description text - this.ctx.fillStyle="#000000"; - this.ctx.font = (this.ySize - gapY) + "px sans-serif"; - this.ctx.fillText(this.span.get('description'), - this.xD + this.xT, - this.yF - gapY - 2); - - this.ctx.restore(); - }; - - // Convert a time in milliseconds since the epoch to an x position. - this.timeToPosition = function(time) { - return this.xD + - (((time - this.begin) * (this.xF - this.xD)) / - (this.end - this.begin)); - }; - - this.fillSpanDetailsView = function() { - var info = { - spanID: this.span.get("spanID"), - begin: htrace.dateToString(parseInt(this.span.get("begin"), 10)), - end: htrace.dateToString(parseInt(this.span.get("end"), 10)), - }; - var explicitOrder = { - spanId: -3, - begin: -2, - end: -1 - }; - keys = []; - for(k in this.span.attributes) { - if (k == "reifiedChildren") { - continue; - } - if (k == "reifiedParents") { - continue; - } - keys.push(k); - if (info[k] == null) { - info[k] = this.span.get(k); - } - } - // We sort the keys so that the stuff we want at the top appears at the top, - // and everything else is in alphabetical order. - keys = keys.sort(function(a, b) { - var oa = explicitOrder[a] || 0; - var ob = explicitOrder[b] || 0; - if (oa < ob) { - return -1; - } else if (oa > ob) { - return 1; - } else if (a < b) { - return -1; - } else if (a > b) { - return 1; - } else { - return 0; - } - }); - var len = keys.length; - var h = ''; - for (i = 0; i < len; i++) { - // Make every other row grey to improve visibility. - var colorString = ((i%2) == 1) ? "#f1f1f1" : "#ffffff"; - h += _.template('' + - '' + - '' + - "")({key: keys[i], val: info[keys[i]]}); - } - h += '
<%- key %><%- val %>
'; - $("#spanDetails").html(h); - }; - - this.handle = function(e) { - switch (e.type) { - case "mouseDown": - if (!htrace.inBoundingBox(e.x, e.y, - this.x0, this.xF, this.y0, this.yF)) { - return true; - } - this.manager.searchResultsView.applyToAllSpans(function(span) { - if (span.get("selected") == true) { - span.set("selected", false); - } - }); - this.span.set("selected", true); - this.fillSpanDetailsView(); - return true; - case "draw": - this.draw(); - return true; - } - }; - - for (var k in params) { - this[k]=params[k]; - } - this.xSize = this.xF - this.x0; - this.ySize = this.yF - this.y0; - this.xDB = this.xD - this.xB; - this.manager.register("draw", this); - - var widget = this; - if ((this.span.get("reifiedParents") == null) && (this.allowUpButton)) { - new htrace.TriangleButton({ - ctx: this.ctx, - manager: this.manager, - direction: "up", - x0: this.xB + 2, - xF: this.xB + (this.xDB / 2) - 2, - y0: this.y0 + 2, - yF: this.yF - 2, - callback: function() { - $.when(widget.span.reifyParents()).done(function (result) { - console.log("reifyParents: result was '" + result + "'"); - widget.manager.searchResultsView.render(); - }); - }, - }); - } - if ((this.span.get("reifiedChildren") == null) && (this.allowDownButton)) { - new htrace.TriangleButton({ - ctx: this.ctx, - manager: this.manager, - direction: "down", - x0: this.xB + (this.xDB / 2) + 2, - xF: this.xD - 2, - y0: this.y0 + 2, - yF: this.yF - 2, - callback: function() { - $.when(widget.span.reifyChildren()).done(function (result) { - console.log("reifyChildren: result was '" + result + "'"); - widget.manager.searchResultsView.render(); - }); - }, - }); - } - this.manager.register("mouseDown", this); - return this; -}; diff --git a/htrace-htraced/src/web/app/string.js b/htrace-htraced/src/web/app/string.js deleted file mode 100644 index b0dfb74..0000000 --- a/htrace-htraced/src/web/app/string.js +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Parse an ISO8601 date string into a moment.js object. -htrace.parseDate = function(val) { - if (val.match(/^[0-9]([0-9]*)$/)) { - // Treat an all-numeric field as UTC milliseconds since the epoch. - return moment.utc(parseInt(val, 10)); - } - // Look for approved date formats. - var toTry = [ - "YYYY-MM-DDTHH:mm:ss,SSS", - "YYYY-MM-DDTHH:mm:ss", - "YYYY-MM-DDTHH:mm", - "YYYY-MM-DD" - ]; - for (var i = 0; i < toTry.length; i++) { - var m = moment.utc(val, toTry[i], true); - if (m.isValid()) { - return m; - } - } - throw "Please enter the date either as YYYY-MM-DDTHH:mm:ss,SSS " + - "in UTC, or as the number of milliseconds since the epoch."; -}; - -// Convert a moment.js moment into an ISO8601-style date string. -htrace.dateToString = function(val) { - return moment.utc(val).format("YYYY-MM-DDTHH:mm:ss,SSS"); -}; - -// Normalize a span ID into the format the server expects to see -// (no leading 0x). -htrace.normalizeSpanId = function(str) { - // Strip off the 0x prefix, if there is one. - if (str.indexOf("0x") == 0) { - str = str.substring(2); - } - if (str.length != 16) { - throw "The length of '" + str + "' was " + str.length + - ", but span IDs must be 16 characters long."; - } - if (str.search(/[^0-9a-fA-F]/) != -1) { - throw "Span IDs must contain only hexadecimal digits, but '" + str + - "' contained invalid characters."; - } - return str; -}; diff --git a/htrace-htraced/src/web/app/time_cursor.js b/htrace-htraced/src/web/app/time_cursor.js deleted file mode 100644 index 1caaa9a..0000000 --- a/htrace-htraced/src/web/app/time_cursor.js +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Draws a vertical bar selecting a time. -htrace.TimeCursor = function(params) { - this.positionToTime = function(x) { - if ((x < this.x0) || (x > this.xF)) { - return -1; - } - return this.begin + - (((x - this.x0) * (this.end - this.begin)) / (this.xF - this.x0)); - }; - - this.timeToPosition = function(time) { - return this.x0 + (((time - this.begin) * - (this.xF - this.x0)) / (this.end - this.begin)); - }; - - this.draw = function() { - if (this.selectedTime != -1) { - this.ctx.save(); - this.ctx.beginPath(); - this.ctx.rect(this.x0, this.y0, - this.xF - this.x0, this.yF - this.y0); - this.ctx.clip(); - this.ctx.strokeStyle="#ff0000"; - var x = this.timeToPosition(this.selectedTime); - this.ctx.beginPath(); - this.ctx.moveTo(x, this.y0); - this.ctx.lineTo(x, this.yF); - this.ctx.stroke(); - this.ctx.restore(); - } - }; - - this.handle = function(e) { - switch (e.type) { - case "mouseMove": - if (htrace.inBoundingBox(e.x, e.y, - this.x0, this.xF, this.y0, this.yF)) { - this.selectedTime = this.positionToTime(e.x); - if (this.selectedTime < 0) { - $(this.el).val(""); - } else { - $(this.el).val(htrace.dateToString(this.selectedTime)); - } - return true; - } - return true; - case "draw": - this.draw(); - return true; - } - }; - - this.selectedTime = -1; - for (var k in params) { - this[k]=params[k]; - } - this.manager.register("mouseMove", this); - this.manager.register("draw", this); - return this; -}; diff --git a/htrace-htraced/src/web/app/tree.js b/htrace-htraced/src/web/app/tree.js deleted file mode 100644 index 046085c..0000000 --- a/htrace-htraced/src/web/app/tree.js +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// -// Get the height of a tree-- that is, the number of edges on the longest -// downward path between the root and a leaf -// -htrace.treeHeight = function(node, getDescendants) { - var height = 0; - var descendants = getDescendants(node); - for (var i = 0; i < descendants.length; i++) { - height = Math.max(height, - 1 + htrace.treeHeight(descendants[i], getDescendants)); - } - return height; -}; - -// -// Perform a depth-first, post-order traversal on the tree, invoking the -// callback on every node with the node and depth as the arguments. -// -// Example: -// 5 -// / \ -// 3 4 -// / \ -// 1 2 -// -htrace.treeTraverseDepthFirstPost = function(node, getDescendants, depth, cb) { - var descendants = getDescendants(node); - for (var i = 0; i < descendants.length; i++) { - htrace.treeTraverseDepthFirstPost(descendants[i], - getDescendants, depth + 1, cb); - } - cb(node, depth); -}; - -// -// Perform a depth-first, pre-order traversal on the tree, invoking the -// callback on every node with the node and depth as the arguments. -// -// Example: -// 1 -// / \ -// 2 5 -// / \ -// 3 4 -// -htrace.treeTraverseDepthFirstPre = function(node, getDescendants, depth, cb) { - cb(node, depth); - var descendants = getDescendants(node); - for (var i = 0; i < descendants.length; i++) { - htrace.treeTraverseDepthFirstPre(descendants[i], - getDescendants, depth + 1, cb); - } -}; diff --git a/htrace-htraced/src/web/app/triangle_button.js b/htrace-htraced/src/web/app/triangle_button.js deleted file mode 100644 index f252476..0000000 --- a/htrace-htraced/src/web/app/triangle_button.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Triangle button widget. -htrace.TriangleButton = function(params) { - this.fgColor = "#6600ff"; - this.bgColor = "#ffffff"; - this.selected = false; - this.direction = "down"; - - this.draw = function() { - this.ctx.save(); - var fg = this.selected ? this.bgColor : this.fgColor; - var bg = this.selected ? this.fgColor : this.bgColor; - this.ctx.beginPath(); - this.ctx.rect(this.x0, this.y0, - this.xF - this.x0, this.yF - this.y0); - this.ctx.clip(); - this.ctx.fillStyle = bg; - this.ctx.strokeStyle = fg; - this.ctx.fillRect(this.x0, this.y0, - this.xF - this.x0, this.yF - this.y0); - this.ctx.lineWidth = 3; - this.ctx.strokeRect(this.x0, this.y0, - this.xF - this.x0, this.yF - this.y0); - var xPad = (this.xF - this.x0) / 5; - var yPad = (this.yF - this.y0) / 5; - this.ctx.fillStyle = fg; - this.ctx.strokeStyle = fg; - this.ctx.beginPath(); - this.ctx.strokeStyle = fg; - if (this.direction === "up") { - this.ctx.moveTo(Math.floor(this.x0 + ((this.xF - this.x0) / 2)), - this.y0 + yPad); - this.ctx.lineTo(this.xF - xPad, this.yF - yPad); - this.ctx.lineTo(this.x0 + xPad, this.yF - yPad); - } else if (this.direction === "down") { - this.ctx.moveTo(this.x0 + xPad, this.y0 + yPad); - this.ctx.lineTo(this.xF - xPad, this.y0 + yPad); - this.ctx.lineTo(Math.floor(this.x0 + ((this.xF - this.x0) / 2)), - this.yF - yPad); - } else { - console.log("TriangleButton: unknown direction " + this.direction); - } - this.ctx.closePath(); - this.ctx.fill(); - this.ctx.restore(); - }; - - this.handle = function(e) { - switch (e.type) { - case "mouseDown": - if (!htrace.inBoundingBox(e.x, e.y, - this.x0, this.xF, this.y0, this.yF)) { - return true; - } - this.manager.register("mouseUp", this); - this.manager.register("mouseMove", this); - this.manager.register("mouseOut", this); - this.selected = true; - return false; - case "mouseUp": - if (this.selected) { - this.callback(); - this.selected = false; - } - this.manager.unregister("mouseUp", this); - this.manager.unregister("mouseMove", this); - this.manager.unregister("mouseOut", this); - return true; - case "mouseMove": - this.selected = htrace.inBoundingBox(e.x, e.y, - this.x0, this.xF, this.y0, this.yF); - return true; - case "mouseOut": - this.selected = false; - return true; - case "draw": - this.draw(); - return true; - } - }; - - for (var k in params) { - this[k]=params[k]; - } - this.manager.register("mouseDown", this); - this.manager.register("draw", this); - return this; -}; diff --git a/htrace-htraced/src/web/app/widget_manager.js b/htrace-htraced/src/web/app/widget_manager.js deleted file mode 100644 index 5f393b0..0000000 --- a/htrace-htraced/src/web/app/widget_manager.js +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -var htrace = htrace || {}; - -// Check if a point is inside a bounding box. -htrace.inBoundingBox = function(x, y, x0, xF, y0, yF) { - return ((x >= x0) && (x <= xF) && (y >= y0) && (y <= yF)); - } - -// Manages a set of widgets on the canvas. -// Buttons and sliders are both widgets. -htrace.WidgetManager = function(params) { - this.listeners = { - "mouseDown": [], - "mouseUp": [], - "mouseMove": [], - "mouseOut": [], - "draw": [], - }; - - this.register = function(type, widget) { - this.listeners[type].push(widget); - } - - this.unregister = function(type, widget) { - this.listeners[type] = _.without(this.listeners[type], widget); - } - - this.handle = function(e) { - // Make a copy of the listeners, in case the handling functions change the - // array. - var listeners = this.listeners[e.type].slice(); - var len = listeners.length; - for (var i = 0; i < len; i++) { - if (!listeners[i].handle(e)) { - break; - } - } - }; - - for (var k in params) { - this[k]=params[k]; - } - return this; -}; diff --git a/htrace-htraced/src/web/custom.css b/htrace-htraced/src/web/custom.css deleted file mode 100644 index 17945cb..0000000 --- a/htrace-htraced/src/web/custom.css +++ /dev/null @@ -1,101 +0,0 @@ -/*! - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -.navbar-default { - background-color: #001da9; - border-color: #b2b5db; -} -.navbar-default .navbar-brand { - color: #ecf0f1; -} -.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { - color: #ffffff; -} -.navbar-default .navbar-text { - color: #ecf0f1; -} -.navbar-default .navbar-nav > li > a { - color: #ecf0f1; -} -.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #ffffff; -} -.navbar-default .navbar-nav > li > .dropdown-menu { - background-color: #001da9; -} -.navbar-default .navbar-nav > li > .dropdown-menu > li > a { - color: #ecf0f1; -} -.navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover, -.navbar-default .navbar-nav > li > .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: #b2b5db; -} -.navbar-default .navbar-nav > li > .dropdown-menu > li > .divider { - background-color: #001da9; -} -.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #b2b5db; -} -.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { - color: #ffffff; - background-color: #b2b5db; -} -.navbar-default .navbar-toggle { - border-color: #b2b5db; -} -.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background-color: #b2b5db; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #ecf0f1; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #ecf0f1; -} -.navbar-default .navbar-link { - color: #ecf0f1; -} -.navbar-default .navbar-link:hover { - color: #ffffff; -} -.htrace-canvas-container { - overflow: hidden; - position: relative; -} -.htrace-canvas { - position: absolute; - top: 0px; - left: 0px; -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #ecf0f1; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #b2b5db; - } -} diff --git a/htrace-htraced/src/web/image/owl.png b/htrace-htraced/src/web/image/owl.png deleted file mode 100644 index be6fabd9974f219a21f635eccc0510bc45d2108a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435334 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

gh1RgIdV8GjfJt8UIcANY?*8sAhEJJIv z*G&LlbZ*)A{`zzr@`qA8J3HGDW%i>-1v}(z%+v0{)ULb(_{3KcXu1OAJi`zI6apQa zQ?DW~x4e85t3rdsCT8-Z>tboN$MS$fMOo6~A?^5yHf`6y=*1Qt;2(b)ZhPdAOy|ZEiocGjv zSXVE*YTqs{EL=%{uhauXbPc9@Us(0jjFDpvwBsuCDqkD=e5iE%Aeh71=&8Y1^8MuF zXV~W9;b4M;dD=X*!IO2TaIT3usUrNy8xVI655%|X@KzZpU~OQqqip!LZj)b5H^-0| z-qKrUUHEbjiOZbbOeD@ZOJ87NbMh*9<$KUn6jV8xfcvNp#aDuX_%vJpOF}!Po;V#S?KG# z*95G2$gh=gZ!MU1o}LR;b_m9V#+v_KqwNmT{!ZE_A;B%Ry_xe8t&li2tzKyHKT<2_$ar5aK2AVO*1HHzceSMo9dtf z+LRa%FF|fHHQ+%VGi$kiD-ZMGfFb@SPdlSTQXV1t8v^>9nkZkRiV1PP`uZi~ptKNI#?LNUgw|{WWi&0v8 z3@Tw|(8#Dm1Ir|HHrpG&-dx+Q?s9eu>NXXIg)_Dxc>s0bGsh)^R9fX8}zV2YMNNxBYtuxRk+XM%5PWd%%EYvUlY79R6`{=7npfjm~y zKlipFhq`($4jI{M_OX?>({)fjh4`urKZmQBF@ zUkE79Ijv&)rI0$YE*Uhmj#mLjYL139l+x68;JT2D8cXL2v*0kNMvBZ~Cwh8_~gAe<73WB}?LkUFkfc+-a+3 z{{!HGsvdzzB|9PQvL8>TPk=LRJelp2Ua2mpgSMwY^xi_%x@C1YKS$FzK2*mW8^~)m z`HlHX*Ze{$EP%8gYa4p?cU(smE0=#3_2MMcF61$~VX7odE3QaI2H zXbv)cdok;s*e?THqbnul>sg@1vv7Z7%J}^`d^6yz0LlH-QHRi|TI%rnl>SuF_!j6d zTrMcenbX*Si(ZtKE)&k|NDW?r5E1!vaKLdjnLcHt0G%!^!j(3wmcHSnYH4OGfU-nQ z#6^EcC*ptR(t8~?y!W18`V+!SvDHfHFo2#V|RY9n?7*wOO&( z{s=!JdI|WJPNDwZM#zwC{er4+NfU@! zjv_5k(f{RJv~eIm(@D!~01C*eOpFjjTG>5xLZYMDu9cc#kdO-k?hGA25CdQdzFafo zr&Ju8zj3TOd+uH@Ui5rmlu2X|Vg#MLm7@D(8HN>#kvzH$scfRhTg{_~(&?Q|E=^D# z4SN3P4_F+0d-cq(Q|6XlZ{xmiqs(R9u|rA0UKHc!IW!fF8l6tY^=t-D`B=X=I5Tcq9vXHB>qYxH3N;QE zO0^9>!aK-$bFAS5%>v5|xf=^Mku?6e`_D6L%Rb*sEEaWj50K|qP+iuJYm#F8tOW9A z3w|z8zrh~7V%WU}a&Un~%BLiGevzi1Ek;il4AtZ=I4CLIUc*~hd`hOYyjjE)f@s0L zRT`BgkdUs(s*yWnYetdKSU2WdC!bSgkMAxmf^PjGlu=;mdh^ z;A4zH(xW8dr=XJa;1b+1T&nk+{Q&NUl~V$)$=0zAX%32)8~+SKbmFBvD4o9$$%;+N zm#b%bhemRDzgb0>7n5Uk(!|u^i>pWiZ2x<}{=cr(RqR?Q|SG#NKba_0f?l%oG3W((7++R66 z#k)W4i_jxUTuoV4mJRThKj%)XQJU#oLY#mlb@0kA8n1Od3Sl#O?W$!y^mNLXL*ItM z)GfzewTDCFhP57T5FB>&+)L>XcR6p*^xZ#HJrAQiKTg6|@DL?)KEWwaTwmUlO*F(| zSb99)>D&$Tk7m+Ph&xF}8ps9mwv6=5`8BtW1ixEW@d?kCxcASm-D*eY?0~YJ9PA|L zgbUaA6v^J#9<{8rtd5YJOM@6xF`GNOx63FXa5#^YqzjVp&JM9zn?`k#$Zi*a1#$2l^dHmT$p z*!bT@I(me@iw_5Gqv>j%hgSkuK7o=Hf%occuYb>ut-ki==QC(0<*$CjhTI(=V*2vt zaW7F1^Y(l899SD5!Nm;D7G;`ETnd!XOxvTGtUGDmq{RHwWCDUS$i)DIMy|}iIAJ(^ z$JW+1WcTGg(8dmgciW@?k8~ z_AqS{H$y)+bb2M2Z(8b<6xtGU&d}B+U{W6CJxKn7*n`l!WVz(>kw6wb`+9zYnqr2gTJr0{f`)bsQ_jy?rIH(TC& z0cmO^8ZrO?@uMdbQvX{4K;ajToizv80wu-W4mRO|%*~SNVy0wB-VvV*TH~pg7x8wX z4_v7c)D@NbNyZ#BT<}=*WygjgY*9g>GJmOy_n>^SNfezmAG(oz51c;$726>SB1c!k z=&0VUdqU5+)b}UwwQ`jBH&-kc(D;z-wa&+ufnRh&bVpc0WUH+sB)ZDholz+k<2I>( z8;l!b+t{w@ta@hMsQtDE=qg%#VSa_6?l$rR}*QVmsS{GR0cS0!NXI15ncl2qoI_;uD$E4o7y>#XkH(r3T&v{nCY}q_)G_sywDXteE`o z9~IZj*Cr!@q7gN)u|1D}gUU1aGnmM7yz3labGl5_e7}oaWw#3>*0-JskRECfjF7NRT0}MNfeJiS0h&T%j5Z<25qy_Ytj&OL|lrL)( z9GGTV+|DQ*;zTljGK5f((lL~h-O<1P{#1?!g&<7dve<*Vcl>6Sfb#HTp@p(C!l@Tk zcxUn}Q}H9iA5cDv4XXTUTHd(g;^GgJaGxeZkep2qEbk?Z&|wl82?EC4vMokuZ`j5* z6gzX4$d=YPKvc;51r&YS1EG8YXnL1?uh4vTsB3i^@V2nm{!Iy?KgXLvqkKsWBJIRM zqNY|(&WI>cZE<3;(t6S|PH*x>(Rr?!O9n`ej~xW~K*$MTAzvCmivH4KOxA&gko>{5 z+k^{yPxM;3@*j}TUh){~&>+^UaY^J6#cB3~|6CgL#WF@-2EjWb0oKCO)GH1Dq^7nr zn;CVxj~YaYbV#@jZ?(gD{%vpa<*ha-_)+7f8ru{=aRJbMhx>_|mepGWG%#H^?J0W$yI_Mu zNk)V7q(w?s+EFnR1aakiQ<#?+wr;Hf`o9t%KX;#z1LK!jXHV@f0_fRt9yAj;&fN&2 zP!v%ELe1VL!ELu*3dvE%h0f*nz3if9tz71&secROd#(&RVspF&qjy#UK_8{o1ec@Y zxqwShMQc8)DJXQx0l(=zaJKAKO-~5xDA=`}fBwtnw-4NY@?ORq1VFBZ)np>9*$xlqe7GF;7>NY-15@4-*G-g$0XI zD1vsO;y3mff=K{RUTmgSc|`S+{Sd}}MhGm4#5BcpQ*Ls?b?9quLPfc6`uCc;!wA|Y zx0e_e_0IuycNj_Vd*PkYqN}H;2`O->cz9;ojHH3fk^u43JoJ#) z>|(X1i|ZXvmVuhH0nV5_vT3jXT(v)m@w+>GupudaOF>f}*SpZ3q}nj}?|!0yoC`)s zR8{cr7q)XTpK>yZLqE?PU%1AUxCbEx>upOV&t0Act~82!4rMZt)w$<&8f^xLOafbB zatDfPC73cXJAp7DY+)gGlYW1ixmE*@_XrPO5kx@!EP&l0y^w@mF&y$6poZLudQZDw zS^Vaj^slx10yMHD9kqDK!6#0FK=_||pv+dm@L&<@3D9d ze#T6{c8Z-w$mgF!#b}j$h`dVx_XGqfC%9qOonx0;73x7AW0XIhEAE+AFL)i zY`Uj&!7mIUH^pm{FV`su+Htc?3(6|I_E`dC!zSPyG2cdmxWA&>iAGNO`!)&oZ=41? z`LgK&(<$G8%XjT+=@eP;G#b37LZwliL#zZ{r2qbi+_k{7HJ1QQxTYheGbq-nrHHkG zU@EZ$S>cPnqYPG((JtK7fJauaj128is*x`gmGVzaXQJ6ezf{A4;zJcv@>u-77;82W z-NOguYIW|eRN4$m$M8g_KM12~TIxH%d^BMm%=Q|3UhMp5h6cB`DADO8);)bC+#Wa4 z3OO}xs2jN!n#42yFgCG_G9lKD;$lq39@=HlbJ$NTKVcVPMF&AG$JS7C~H62Q$XDaa?A!YZSr`L?UScj^blBF&*U zE`Vabi9W!M)^vs?XjKh%%>^;5=K4X9e@InQ8}%jqE*+D{wZlt_fUo!Zvkwa08Mbpr zgp$=h55P|3E3rc>X=LR>_wVvVhLlTQB(*9&^7)XR$k2kHYoNzJ>ym3(>J_bNbG11X zV8XpA7xCft1#*8@$+hkx+afrS8&mGVqi+X)ZTuecjfPhaD$?*{3B~D2>O0p0izft= zPuBX=_5bR80xgdTMkp3!%n9D}_D4Rj1ePDQphnQxA2YSZ)6d@>@8a8+GfOZ+*81~9 zc0r1H^>%0uh0GD`BbYuN|NM21(WC8C177pprx$N_p7-bi4OhPqQ;~vSg2C!>psd>E znAP6eoxPuJ`&}5c|7P-_CTIcWp=A&NwMM4Vi5iOX>i9^=`e`kKWB{dT@@b|b`%Q$v zfqcRI;3quj{Rj~=uX`R)PdmZwe7mW<>Dp2jv6SlG`W}vp5&U(D2dODpS$AyV{|0u) z9pBr|khJ>%Ir=Qws255F0$>alLGyc?8;;-CXvYrNNnHm%qTI!@YG`q%BQE$l^0rY8Av-tP5+OTCH zb40yD8Nc_b+~SCV75TTcwB}NnX&R_<_eB~ikN8WJA1Q$k;Fpdm%9AwGkZ?q07a z*VnyPnk+gO{t+JX$!T!>2SN|L&Gvrfgx%mFiqRf4nPmpNG@?7L@hK^+ka#2{_X=i1 ztir{t@}$RtQ&jEdzfRdPix*MEuYbh~HHNb4al5BF9;w3rdytFDj$vi6KZI8{Ik?&3VU#rqui2q-q|Qns!+BK_Hl zhylZxF9-&AvbBGD45?(&>==~w-BS@Ty6_AtK@4eq=gI8DyyHX@CfYWnKExju%k%fm zi6>dF6Q|8mlmQX(1v}TLg0Vlzsk@n!6~e;Kg{dfh$xj$9 zNZX~aQ$ZEni-13M#U@3~(>Wa?nx#?xSQgHbj@}G;l$D|1f?gq#jSSd*Q)vxnX1hHcaSBw7}W;JGL zC{Fl~5BBXj+NGA2CQ!pp3g3qo##o5eR)eOv|5Ty$cwfH&4pKt8DLgdp4t?j05LMfm zMyXsO`SGux2%@d)^q_^+2|+{lBzxt=mWuSTgWa#;RO6HYG>}0pdRAfI2Qdtz4VRw^ zl15de$px6KC+rumx*kYgHC_(jzJl~aOr?t^ISU!m|H2d_R1*FPW;tby?!XLDvyN*J z1GS)#X_!!s1r= zxWuM5wy?26htk*}w7RTdb#rDjmWEdhrvU&_c^W3+18x7Yk3xJ~wuiB+15x)i&kjC^ zs;!#lgNBWZ@zW{6R`9fZC*{m4jGv``WYC+$PyK-ZuT{>FcMVwqd{O>tlIaD`z}1{Y zapZd%DaYc)KJUV7NymIN#djN)%lP5gh0Os`m$oRoN;i0xZFE;7rwLFBP+phM6`z?pXU@u!*z z&HRW@I9v{-%aM~6DQQNZqP0GNc(A(O0R9WH^1Km%YUA-WfPpx~R{cFgbus27+nzn} z;nBgi4@)GU$Ol6m93S8(0B~R^<+&FIUUj@am^Wan_-o}jFD!LY!XeWr{0gn1WVZ$F z54RlUi^*cuw+Q3 zy`Hb%Itx-6xV?6OAlRyX?ii+aL=9H((q%AwDMH(^av2Ee69nOi9}1@%J05ti4J=n- zNK|9K!$~qm(s{#{_Xn)roj5YQMPl!OqU;=4lha3_BJYoz<$(Y}$0^v?tREyAksP$t1CXnu79t!G zU2p4|!pMKj`Nu*#JY^0@=<&Y*Ys7IXdd<~?4Y9jcj2;o=jWADHm~}gG1}D+2fZPJl z4d~N8=OIHc-H*l1`s0m0?g=H?>7zN3xzV(`BNSL#x$QAi-;DTW6m$&z%IQ_HrXc5KTP*K~2O$fXmQX-{f#u zX|+8P^w!{aq(<(FN1GCGOG})u74Po*7ys%kDc&u4Uf#(3q&_^n-|MsAr2BF2iC{t4 zk@yIx_1SkK#ZSDjGnScwrTtg=?*0ygh8IA?<;$BM3ONh9PnR2sgHANO5CZh||FLu( z;8^bO|9S15JxVgN_sX8xWsmH=qs(kxqGXi_AtYoaBP+_v7D5>*JE5`)A^!Jse*f$0 zTvw-a!uyQ-d*7e?GhPd&4WI87jhJgp2bU+%6woKrQT{Od2>q%Q)%Su2U6qM9vt6eo zbbD(Bz_7}Jk-&GD!vGu}YvxUB&fVJ0m$7X;dmh!2A zR)oenjLaE0KBR_fW*&hCFl!K0cwN6y_qIG&?}pf3!FLfnQg3-as-D=`*obo4t26gd zy9+t6Lun&84fx(y&iR5U*rX)!?8`Wx$UbTf zEtK%<@< zol#zh&m!r`5-yueaj}3>b2-E1Z=4Lp%IvLUSkYS*-#A87JE+=g=I6{a9$lBxHKx^= zW>~eJYItF}UhZZ~JI}bs@vTM|aFjM9qmA1(PZM&ULEj=t>tjZ%rk!fo#Z86bHbhXk*8XKAnXto zoD4SFpF3%Nf1GbZ!+QoSr^aDp-e3os6%gsC0GWSYoAzfK#2TsvV#W0TWI1(bX~2r7 zLA9ho$C6u0cl^P0a==+P7%E=oz@!QR5VCoz(}xKzk-XlYT~n6q!Cg=ixD?G&uqFmT z)D|z95sW*OLE&VF<8#63D&+^>1r6~YTGNm<5U0!lRfQsNRkS(YMJIVRHwXULEuBoE zf9HXcOjF+I8u~eeZ=Tg4;t-5617->7S2KksRvG}-E)BOJcnW8$?xW>4R9v` z{}7L+AGL#8Mu)^7uG|do5=nZcBZ#zD0ZB`sR^YmWH1o+C(6T>EgOk%1%-j#jyTF@c z|6eSuZ2mh*XMtADZ<%5G#Q*D004N2a{WT+1UW(r!>=J>(#6o4kQ^KhX%zP`<*>4NV znb9YaB+JL|t-yCgB&o8e^Mu#9q(~9`3Kl@}a7m3VgVi#F(|U3ROkGd*fxUN$9;>1j zd84PM=#oEMtUD-P>wq;>Nj7>)dT2}9lLeOiYauMxiiOqtA%^h|H zb`;8z;}ZS5t&Y3$YUzZWgSw2k229EpG9?8_Q%uubu73xk_)2blBz)P%F9GAaO0eRm z&GciL+fRM)01LuYF<*FITD(8&`7p1hrw@MHvGixd0~5Lj=p}jfcGDj|=jKs{1LH5? zK#6XF%fJ(R3;O1&#QEJS$9O0@J!qDvfZ9y2`fz5F=q?bfY~x7iY+qW`l_&uUcNzdR zfbZ6L7DA07yRNz5=23@Ozhm@|?-L>z;RnaKJ3t6CIvO|(_JIWda+V8<5 z>@`>8r1=GIV!>Vv$v5~ri{LFJzx1N<>kPOi-}R9W=ewlj$#w=5?31uamV!snR|+|Y zP5T(e+`G`=jSkCiCV&8()+uwBvXJ$@MOI0Fq1UY&e_?~K)Cw3Nuw~d=)Xh+{jaPvi zW?%&vMS}H%wfEXF2-VC%#y!{IZM6b}Vmgiiv9fp3+Ob+42l5s+!;_=XT9!oJVC9iC zGBP@@8Mhp(y0Kt9^z*DYXpr(nu4$WDf@EDMwz>@yjKR8L{ufswv5Ru0% zuoZEKl7Med_k30BQwA=U$ExASS9q-d6ULFl8kYHZ{MQ5R#^p9TzHZFaV5YF$Ux<3i zg6W{F2~<&Ih>jcX4Z7d6^E9cL`4;#So39{O0XKr8Ef2lb>mWznjj%&$ZOIM5Rnk*T z#AjJPdq+i;h#xt@c${~4#bo^f66SgDkL8b;Na7kGQO30KZr6ewSeW8%lXxp}soeGK z_K`7Ml9+`B3Aymw1IHD(BPNr9-M|>-M+ppaXgr-6#z1nblEJ(boTv69?B06-_(bKz z_Q0KYz&HV~z>-5ZpRY~U6rWxWF@Fmd>Smz5gtK{{(P=(62U1pSf$X7(=OaF*GaA!R z>gdtIwCr}!A<2iM9KG@S0MMKepfgXragw$OtEhG~x{+Nn^(HK64cdV7ji?m^{Xp)M z3#{rfi|bk1!yjaCrDQElG@+`%DPTa77rx5W`VHZx6A)-*<|*g9Z$22jR42Q z9>|!PV`}#w4do6Ingbfup>ao*B<4_ngB_d@B#On^jn!HdQ6F_2!}am)GhYsU&;(mG`LqTB-o=z9R0pwnboKS2ROX?;tS_@TElJtf zv$Ww5SY2;}RrFbWdp5lrE#|o>7xQ{kK9f`K&fy#Ig1o(@Kdq5J8 z)QLup&eT+BBvJ-ZfW(9?`;rR-@)6!rlY*hw z274Nzw;`isPe4)^*hj!s>;NE;?-Q^n%)vy;t^aCRC?z-Una0wOBn+n4UbCWRuHsC` zSsyN`pl_!VZOn~mJZ>W7Jy?&2>aFX#u)a%SmH|2NYTt-2se2bavs*vVAYX67d?^Ym z-t23lvR4}Jz16t!{h{FCj=-QF;Go5n6*N;`nsl_zNyP&j4c;J?U}b0VI;xDBg);+b zXA80WC~0(V78it!k~o_+wc~mHzaCTE?Sf#B9P0Ldp9=u3+y+5=6EC*ETfUDv!)1jS z&*(K>TsX!0Q8!#Rn&)_I{(KL)PgAI<^1^<}qzl_cTKg=SDDTFe!@B^kcqib!FzeF~ ztPpG~wze`pKy#ZMJ5L=1KMGG;02* zWKdeM2`CiRg$>IY&}}Wwf>T8jK{cn?E@(eF>fTr`^JO}k`=v#=gR62pt(z(4J$y2@ zwRdqJBroGzo&)-w)T3xenYF!bKtSI;wU_lK>d88Xq}@Uf@5UGAHSEDac9U+V=%dB@ zfvfhHSge+vZB@=t$<2ST231xgc|dlW&Sx*r z9o0B`mH%CYD6X%1YGpdiGTA`Fvz|0Pm6r$hi77%sPayqL!LI64@tO*v_5#IsL9Tfq zN2+X8W8MbwV{?T3KEf-&v3Ks(jW35A&`f>)&2O;k;-9+pXU%uatB5Lq%;9&iN@j<%=3}oIgEb^zcL zwkyS2>v)t{B{;Tl*u{1(KOV*>mwhwj4lg#!uog~;F3SICeA@c4%y{($z|fSbse{Sn z-0ZEeSE6J4Y)4O7{AD$lup@2y<(oar-Fbg*CgW+v#Dp5uZ4o&r6d9oPM?7IsE(^cP zy@S)+uHbC(V;eEE7<)?WXG9*EH$>*ts-F3gQ`R5`GY#Hh@$p6xb0ZC=K?S;vV9Gq_ zPFZ|V?-PU>1u*<(#>j*7&ebS4)bxS&{`tS5M980?pZ9tHoW#r~=@i@sK~+%SV(UpA zlv?Y+eZztuP^-)xG7(Q${?RD{Uu#gju}EnG?yfWlzA|o*Xf9R{jQNqEDd)e@e&Rdu&m$1hNBb zLM(J-=aC6$s~l1}ZSd2XOm>lYBEUx9LcW%bQhr>QmT|E=ScMD(<`_ucg5_-l&(_6H z#py=l><98*paRy+Bud81`}{sDdlN9I%Pc$|`~sBStGO*C0{yWzwZ!eeVcyzXK(`o4 zKnoStTx|~j>xbH@KLWe9Ln5q#sE~{-y1MaJQ=|IXROhvztMOuU2>}*elEm>UlMHn&o5wDcQM2_JQzSY?! zP|^JbDs3Al4WW$7yQ$iUZEuToeh=YqAUh_+fyqlB;g=7K)iYXtcIsB zNz@pJ(rqwKn0~2;^gF*7vtoE~CMcGRa4E~*+g0XK{RxMLaOtqJHdqGF;GxptcMgua z>(2uWFWs0WLN-2rD~8m~YXs`vq=jCZ9|!n9X+tj*ijg+cDt7FSH0BtToy8JpyxxnO z=%KVo;&>Xsa|4z>{>u?!eq~{um!DFSbp^{xx4kp)XFCYt1@YytkLdmK5y<%~ASoVC z1V4%wDYl5RE{J5)F3bOy1}_N2zXkrB`O^&>mpx_>m%M>7pS3SMv2eRk$3b_ETj9UJ zHUM$`rLaDcS1KpuKLgAis1}eO-?!W9r9#WjZaP*6Caelztz^q!-{m2k&3Uh?Rde_9 zQ-e_6+c*X*mbGjJ3TeCugd-e3x1^ts9Kxi__1E!=jNE#S-L-&u@=5M^tw4wA zDySGpv_yR%UEmKRukVu03pvtNh^1y1iwXVzw;-i!$q&@CbD+nJZUgHM1# z#p`8}aRFb%7fiuh3V`Z40%}MbZ!j*q2d*%h?;}A73Y_pNyi0Zdz_oEEEmE3#!UT&X~!>XzQ_Yu zL7&B+e)bq6f>1ym-@o{?KE_d&nko`_IEc^k)DFkA_xe7dWN%ACd&F|AXytZcAisXD z%Q<xc7a{0~A>^UN^ROum}Q&EorAANEdgU44Iyqm)#`8Z5R75d90j zI`8JM*59ZCw3J5R%C}N_t>xanadvG*4l2m`2R1El>>G;930N!6d`s^Yl$*J# zG#Yt)F?0_?rlVmI54GP{t)Q?YEjL-0s@T7u8OcW&N$p=vbOc+++#@WkCYYG5kiGN) zihr)4!Q*@MSY0(#ek(lk{MUmAf_hyUE+Nsn0Vwgd>spmH)3L3%u@ixqy zQb_fcXk19i`}Q;~S@uG)1GSj0_*vdF)fhEEoc9zLwq#av8TGPpIvgYlhKfQ;#{>sY-j23{8FTZ}4C@-N^? zlWw*6wKO~zmjtr^OET|7y1{$?CwgW}+MGD$W-ktx%BYu2dYgd8UK=eYni}`1I}bGs zjL7q~$;4NnC4qG->Oe;{L>2mzFXZ|QZl|=(M=5#^B)y)n#M`5;@}_QHI|RYnHdrPE z5Q@m*O#dONt}oon4SYGp-tyUJWH-w(AC0fDWhFH?-`5PB|EuCn57gA<({n~dJ6%NU zE_pa=NI&=$weYdhyK2>p8!whizydk|yj~I~6toD>rDxU7rpv$y-Qm^XVsW$L)_@G{ zm;{K=QlR-#z?+|f?Fz!aC_{B6ZRD-zMiBLPF&NoU8?t&K5SoDEPlI=Sti$csG-K2y zk1^*TAhHhl1Y+L@&qM=3XNMZ)FyJ1@D%Wu%6R;3<=rGE#j-kl#S_!%9OnnDb2+LDf zFXTgR5+*1{=yRZP^?6Y&IU2ZZ163zjRB9uO+KphPFxkTxc-~P+F z6_erP5*#DkZ~Pgs`Bi|pY61#+z7ghtw0FTall9?qBU0uMKi=7aKy3aC*SExwA3rYu z#P2z`e}*QND28{zCo6o8fxXa1e?FfO97$V*{BDmhUYS%g_Al`M>?w3{Sca~q%1lPv zS-QmIj=l`;3T=pwzU>oW6Z9 z&E1hAa^H0_T2s*LzWk2XN;skf%jn;56Gx4(_dxisQm0ot5Klveh6ICp*+xjt+c}Ws zs3mAKvI~x)T9=<{Yq7Th&;`cJ9?A}{SdF!PQ9Ip{yboUdHIU-B1laNVNBGZ;7=h&3 zSU~9l-UsI~8j_-!;iRBne)#wVKl6s`rnv$6$+t`T4##s1n#FhWJ92<)S1y~(MPZ`q~) zNq`Zw&i!!&PWv22x6~Y~%3eDZE4mjXWYv5JV*qc_O>&ZvihQUZ7nr}ZWKO#UBi~O? zHcyA;;&O~2$P*UP+{>b|e(l3-2r5I8wFfoX0VsO5;2%eTp-~gZ9K^hEvV{80w{p>~ zWw@2;$|0%K{-VwEkTm>)F?&oOD9!y|xB#)=MYlv_aOi&_Es#Teh5_VTeJzA!9S+bD z?=m`ZQ3+@01p%|^LtloI-+c@ht_#XPr z6HPVe!5<&BmmY}r#K&J9&lQaQ-XXIeN2#ILmMF>unFu0Y3epwuH^tS(`fLXq*XPLX8yVlB<6o#fJ9plLF;`Z*Tk5lofWY1_aB#d z47?|!7qX6rV(=*se%hDNlFX77q#arf%Rq=4W#@Lp+(mXX^Cdp|Mz!Ifw=NdeDGGgT zM3aHqDLLl39RKkNk-bLGkL&9|&|PRmiFQg{DN6^r{`DU3cizgT;0`xCSkP-)W-=k| zD0vuWq;R_|01FC$4u!hSd_j3~z;;^o89s-UlCx4_1y4=-^4WT(4h?u-m4F_7@FqA* z+T90xwI3j-ybPshqW3H$9D7{;Ig!12G$fMrTQu_bcSAG{eFbG#rY!h0y>?)%UuibQ ztv;vx(1GzTsG`rDtSX&ae13IJsk9K6@R}0YS@Is)1umJsCv&vut@7b}P(e^z z(;pZE1?ki7vE{Rcd5>{{uU8E3=ue3F_34IBnc)HOGznI`_HWiRB<0sk{U97^!r;E- z1FA-T=y|2l=*KX?-ZMavP7k70RY>Rf2R+FTLW6pup0hFjzaU0vZhw5_1z?reH$J_P zD~1t92{jSj2Uvga+?@qZE-n-V4nGA5>Gl5;h5t7HL?%L;s)1;^WD9HD`|x60g#i-x z`9Hd{irX?h?@272y7yiw@el+4@U0)_ zw_siam!Vw{7aH0}>&?iPK5d)d!mE zW9_k<-t4NVar7~^HM9Mlz?J6#@<3vaQn?gUa;NA_;{fiF8lKuuBXBkSESt40#P_EP z!=-iS)0{dbtU(eq~k*GSr$F5#8 zuOL!|R^qcx;KLkvck%l)@cV3-?mnNn$Dg@m(Ob`XP1+18xFXbCRI#pgZDP+smga@7 zm8clRNkU5PY&a?6xU<~v^78e1c}^^)6Ur+GWOr`AKhOpjTl~`c1EdedQo4inz%O_% zfceIusK|m+9xV`|^v7L=BAU;+I62?n@3SPVyD}@GdkU^k?J(!ReZ*uYe0N$CaeX zbYKKG{41G@DRRHQD*)N-3})itRdLGHr4W|P5v7rfG)#%20?V$Wmmu6FKG&JfKTU8? zdNoP30DY}I_&bz?Y?}6Z0!)n zi}RTyd1(FEzLPy~UFV#mVj7Jn>?(;h4Ba@}!H7ZjPMZ}sZ#C!`J zFMhoqrCY(Rd?1K=yx!E$wRnD3D|*q|y#cRx%^!|K5)u=7{)KM^`7xW$szj)D{vWDQ z$<%p0hky^V=8%r@Ikkl8!Q4;*G7tO*HHWMp3cEw%N-vC`57VL6mX87O=|s`{KWG2J z++*J4^HdTxjQ*$$niacje@T&WlEQ^Ui_oOY^YkS^*C7^(L`Oq>baq;k( z)bp8oh6snLfca(UJ~UvRK7uPkhpCbNqW$~;hX;^_2(2%3z``j}ICydw5waj1vP-H3u1q!PS~TN1sc{Lu)%Vy> zY2OzP2MYsBsB8FF#%m)ooR9*Z4{LEKTf|bFTv7_PPy4s6U#8lyQQ~5uh@6F$Gr8w4 zm& zA>|q4(btL~<)E_pu2me_>kFU^s3c3l8kW4Th~~0ubn$WXH=tSYR+!U$xKz3$W1q4F zybxz#1zCA?=ia$NNhJgxm|O@j!c$0|-A*C#0T_Q3&$2DMe0LJK%>Ec0?}w&|#)Gx; zWp>oyE*JAcpX065Iv9*q9l|{rR44u=2z#rMU9peV20wG5!|)p_!Ht5CuMWoARcB)4 z`-;M};1#q@K}i416e-NT=0;oGzdXl#ziY-g`4W0pc$1Ui2u-pDQ@v`zz?2sL6&hv3 zZ1I*VK(OmG9(%If5We@*C9=*JA{KhV~iJee`KSGaVK2)IAzQps`SkWr`~zU5*^ z1XK&)&U~MA=!LpEjiwr|2xnSLQ~jcl=o8+R?C?bhR#7!{%}4pTdxaL|PWYcoY{39w zRny>)I-B92dIqEm%@?A%M}%^LqwDR`Q*OecW#jU|RqKw{;Qjg$y2)u9-?T% zE=*VF>YX(|eG{Jyd|`jicm;y9VWBUJB1Ev6d;AAXYNv0(Z@kgptOJ+JT^8oX6jaIe zbN1C4q4lbnbNbm5#1Aj!)7>sq#$|pytx(Ccw%{{Gsmj9_eE27F<fZ73L@;Ozp68Jv9b5V+`GmS@@2vcX zyg7l^|M9wW7;uroDI8foUJR=>bl?=xGOUwV6T=anwcQ;cb`9V~iXhZ zWili!^v2}V5Er0%7x#{>x$8zy+pKr)oJ}>ic$4nK4})nxE;Pts#^lmqX`pGH`Se`> z0^s>A5xKj8h!Ok4^g{~;^{T}#K=N$adfif8sWP>OA)=W(;}I`yOZH<|e@k=LMe*?KO3#udh6eb!GIHJ_bje{9QGKz0HXD;G$bG zuOS$l>fcU^snq#I!6F|Im1+SV5domXu9Bm!8*SkCdqmgH$Lq}a=V(}dcc?~;sNss% z-V7Hzq>8LWGO;oc1hbpWhk#dkU}~=`{#t!4zwY5bIWVmQYDF}9p3b7=i>I)4w;2JC z&no!l>u9V<9pIfoVITniaOnx~tHqvq(7aQ=-FcB64VibJd;3qp@Y|;@Ao!TAI<5cF z4pWTQPmA|~7F&wkx$VtEJZoCcFL+24nrKI?^OB#LqE7y6ODo(9qytXr385)%q5lH+ zpdA3G<%>Q!G|DQEaL%8isz$NJi8dG$!;mSU9{3LH<0&fH963WDcZrHkQu3p~yyPG| z`>UICCk?Di4Ls?k{d0}_(8qI7{bXgoAHR1V!1ykp_cgnL>i>FCkG^>gkLfkWpZM2q zJ=ggK2z=I4FEIH71bD>jskU7o>Og{4e?hF>?Q~U}5@WHogdIR3-h`S8cw)*12+)i; zwOF8npb519(I1;>iFHo}25a+RSLbs_tf0@*gS`_Tf-Tf8Ul_JoO~^-?%O&gvVVhSN zKpjAWTL3*i|EH@pga+wCLr`ilNQJY=PkPn)vbVcIGF)WcN&U{ao$Q#}%9%kO(O%;* zF)4GF5I72Ls7KGEo{)KInGN?+mP)VsnEi~G%vt&EDDfgqF(P^jKJu04Js= zHy#q#2beSIGTB z+DW_tzdb>4V@X@@I8Sl6fBzqucQYWPK`B5{jevsQaOK1D?_lfoz$ZmEU5r^ji;7LwP6ngy~2ZB*}L_kAtJCu3TpweLnRE4>HLHGrQ zzt{IFWC;N6FOH2mGdnxm)^7q9aiKf%bLlZXGM{uF$SP!)6)HrCgCd_CKeVU2TY-AY z{;#@y+M@4p#BejrWjU&Zt~{s4#YAAKaQ_kMCs#@@xf5VOx|H?O%Fi`^4Nc_c;!-?IrQeF0r{d>T<6I^3 zV^@Wjb!KJ9THka{?*IyewWb=VsB~0`*i>jx$pB;`HxJK6rZ%KsEHmKrh&Ez=NBb6C!z#QLh(iYi~j7OzFL6zj%~)uqC@ zE<=9j(bjpGH`Z^|v+~uLTU2$Keu9f=lu0n?N7e;A@=MQiC?4ILea=(BsdhY`epW^o zIkweeQjomx&-CHzF+AK8U>I?i{|M9@5hOYRlEyidXq1iHMALo|8N})MZHXjeW-A`^ za56}zE=2=s2r2=Vu$z#6 z1rx&RA3)tz0VewiyKqLhJe^Qq@)l;Hqj3YG%`+5-wu0N=Ep^F#)SewHgL%V+-x(^3 zlPX{DilVA_;q#XyX7uRP@!Ulc;zxr*L!nt=`bJ6ot`?-qNHB+#ayDNW>aKl9&ArT7 zE}!=l(qcwYTWFoDjRoyA&3RU}{BstV_QJmOUwsGd)6mqNjZ48p(#g1DDN~m4>~uH_ zyP!SYECl<73wYIveOFUwcsC%b%g=plzJou;l5eIih2~?OJcLZrK7W^KdjLk4agKf} zmIr{}D?t*#a=m>ci6BMA8={0Se3#O5NbQB;T>wM(FuGuBL}IM&6nyQhyFt97YmCWs zv0xYe;)27;)mDXCEIO~ms#B80nH#>WH-(?=78)C~Q8xU8S0NWX2MRJ<@0)37XV!hr za;`Pho~&4hz3-ed;fu=f3<3ikFW#!BJ>$?LSz2Y(*CFjRY#154;chS)1ODx!L>`+L z?Emb64H^Y4#EdwMx4)#ooMRZ4b5}t5Axx+c-{o-3nAM8q~hFfo)+Y-FH(3XDh_eC+E>>IwI#cq(KLpm!4HX3vlB+y7U}nt*2n zstnDO(`^81Do;gT+MX=@Nx!GE}a{_uCKq{^T-b3e^2u$)i~fAu#1--UJ+tq zq?(Nn_u9cn)}i9%%fD({qW0mfJ!i#x$9w?T`N0Zp=Tha<{eN1t25)N%N?aM0fA8ma zdRy`Yjc@`lzT!2{6@C$+#UAtI_Ly6i`U_B><@)G4x!7VPz9Cv|H@WvCMztI8E zV{>cOg_P|FG}8cY15a(+fahHdIQr747PV|1t)GHni`k1VaqPoH24M}@4vGK+2G zPByur)U@FwJYGj@M{g=BxP)SYs!AMVZ7ooI7CDer}i6q^l9Y|Ean*{>HmGW>mz&nA2xUYSlJfV<(-Vwg(Bfk%d zvTbA+HE&%CRU!EHyyYulnxF>_=EoUq(BoP{+~~zsPGV)l9Es-WZ=jtDu$eTodA8#l z;muwPd+|HTt+Y&Lw%@Tz}7fvuw1DwDgj7ZX`o&x-MB=} z(Q(m9-IRvCuX8uz0{SqtvkRp&zex5ig<6^u@BY%c&_M4!s-8}P=PSLXia%aUi=6Hh zrDlWU5&l7lWwWCX%8I$lN8p{v@q~&BdTDwq$X5g09od4n{Wk1j8v4Q5Ux{Fp1r+lE z3M1kek%;oBDTY<5=gJ$AsC4! zZO7SSp&}=QY+@1me@=0f^SMp{oRmVy6DG?H-Vagm-OI{<@Bl&Xkl`ez!=nV05GUvX zv*bg>z>u@ox0H32s!L@4ND)GDdv;JS2T=$QT$LZcZe^4l-_E#%yo2?1GP)%tlv!QD z9H%VnYj>Th%uu0!D@3AYBYz2a{U99)cdtCU70fvbDh*#eT~gUQ+ZcC$u1}!m!s#% zM*Qy31ndgIyW=hyliydk*bF3WUj2J~eX9x)FZw(aen;5V8xF&S44l+%ct^J;jP+BQ zFIePNWb;!~Q`4i;_6WG%6ZQOJyRfDh5+S3(%DE0P%I{4%Eg`eRGK5sb?2FwFipJNi zK$bKK4pZ%w@B-no;qAypNvB+H@U8>r>X+aEbj@a5V#$$qHNDjPVeT_Uw!(9_eJyG% zDWSz-F@BO3K>G){ml*6zN*-}(^;cm(XY>Qjdebn6`WR2iGh+HEJFI6aU0Fkv{s%E# z>lhgJ1mDt=kk!kT?uaJ>@JQwo(Bcg86PpuX4Y<}C^>+xv}ym0 zS6@F13r8|!_W|iQ6JNK2rm93A=^;+>SbRo9Xp5j~OT$9(RwR%jSx|L%8=eS_M`5#e zUx-@`E%F%=z}dPCHXUxzP8=lyT|o)8HT#VIl@r)>cy)ifs-rVdj@RwS+?&3_RYTi< z)h#!PS%w<kIvGG9v8@0+Ifh zq?e1!p&&mA`$3=iyWJk9c4=re?^fJXbv+ZV;Oi;;v?@TX0leX@yF#q=hG4bi zzzCR;Y=C=Ih{BIbo+G2K&UjN^WkXux7tj;f^tnu1_~IKB{nESh{s>4*$!OED2Vg_k zxiQP?O%1N!KX`tDqtuB~*yMQ@({1&UA%1P1r`nkmMs#=>50cogc%<}r9e2oS@eJ{( zIw757MJ=)&7h+Og+-HTH#K{s@R_n=5FK^BKkf&$;kjU6pYOUm&U$2!e6;`v&iiB1yFM5kBps zN@w7arv_Xm%(mM7U?z_$^o(QpzYd%3(vj6Gqn+tC@91foOH_;M&#BUWrn97uBV~xx zdbQ>JTk=7@tx@Pte5@F-Kh4+>o|E_C@V5QxuiPaKJX!krELQXmkb9p2bK^@lqi#i{ zh1uQZnBZR(FW=5|FeZ|YifeCoNSanDfb@J>lQmh z(?+gR6bnR(loHR+VV9@JWwzO$U!$3Yr*}2;(S-U=Bdq98>ZSrMso7L zIgyQ`5D`t0a?Yod2cV6((I~KyZeMtDF(9{6gTyHb&@GQM*g@O8;3p0}Rj{0l3rtzT z@Yn{Y)@Wm+wpqZ*kd@de6sN{^`3~hzVOS%nCRs}^<%kSO9YqxD+|NnTzK@*w+6*I{ z0jd08ZF?NqKkq>JobLRlak*H}bW*GW?Cx~C9$S*wUuYvB2nyGJSxw9)l;6gPecs$x zHDIHumS_@_JP68QaGS*uuzW>?W=z0V2UnfH&c8laq{jfpfSZ4_?(6qUz84abFY%!M zYw;I$CWcV!s*nZ(#a+OhnR$H0LY~mrC(dm1LHv;XY^aQkG)j*?B zd(srk|6oYA3_vkK zaP53@CwA>GRS#nm=|~%5?(AH2nfH(HbD=~^M`8jsIPq-BzI{uhOQIR9Ege$Kk-Sb1 zp&Gv(+Glc}?O6TF>N$vzeFdY-7wTshS9nM^zc&N*Ita0+qM~B@;&*OO(AcqZAGD?d z7pyFAJ!xyzt!A(-$_p$M>j5>+UC5jIbkN3uyL7L(v15tRWp(+b05r--+9(zN}1Z`dKk zfE>jLuK+aZhGUMg7siUWb~}QPu(#bg2;L&TtE+O>GRUNd5jI+8+~=!SlYHhT^KXba1Am5+XOpxKH0b*g+@hMsbOlLU7Lml z9mzvs+bY>{mW&>@(xHNs!Tp_u1yROwAv?~fpY0n=Zu+OM%unV>E>U6=LE<{o&Dg>^ z#gnoWOI9@1AZQzQ0T2?MANM!n% zRM;;dz9tWBiIgT^SY;M;Uw$PY4j!xs<=udWOBZ9aRuF#Dp2C1685aZiqh3d zUg=MB)3G0W9GlW@3>)*oTdWDA0|(#~fY?7T@wjT3KFIr~B)i1s+tQy*A6$c`k4@~q zb-`k3)QA@MqVM+~mfp8yNWqrnKtlJ*)kIeM_A~H4hoC3VbrE3F$H4m>A(?8{J>pAXwH&f$3UA${ARpg4x6WE#e0)3y zk_0s6wnwJ(!1aSXx|xP2SYkBra*hSeUYjDcr*pyCKdiKd8C_E*oYxr^bUAS7eGt@=Hky- z=5f;XIEJSJci1sm5Lg^z8}Q-v((Ye_QiG?$Mtn_=aoiZ6!`99PN4;;E{17CCM)d8A z*nwiE1RkJYzmr-ZD_~X#ebon)i5;6JAGRIfTZN2?vJ2b1PCo^XQV4Et;?@Vv3#K$= zEWQeoy8cbKl6XDL&0{Gqk4sq1(7ve!4s&%CJ$I*a2jB=k;007$Q&aQTIOGk7uyvEc zGC0VjI^2pp!D|5E+6Ae6B&q8+f2V)NKeHpybXILv)JycO40hR7g>IG*i;@D`xH#u? zX^?bKi{iFFqOGO<_won;)o0Y04_&;+*G;^<1OPI*3(H1y7xY*BoczL}b8MY1^{Z07 zoJ)dsaE>WGB)QNjI?^Af&fYA!r3yVGE$c*Al5=AkYXvBtw|6Ot-J{I*rjPoHd5aTr&euaxYW7OQdXXU>K zdkq3NK98?6)GReX@CRPb78Nn2I58X7=EtB^xqwz@T{^4rS7dbYx=%?*7NH`qd!3FK0yw z|IOMRYrV?HP%5M2|zVu!)B2Di7~9?Jhw`aboU$%0#PX?lYVv%AqPk zBc1&DYM1L4_lM4hPpEmmzJB~|L$HN0?sn4(3@|tGs^wBwt>e3A9-d3lKhC*XCBPda z^UL`f!o{pu*S%W!1iT5aBGStSh>MG7R;$tH-|OJhBT<3en;7DL=gYh(t(P$r2ZxO+ ztb#n%H8u4yK4z|T<>l)bZj~t>>YTA_P=B7mKrubcDA&vA?{c)*KHu97;h5eF_@%QK zFY-?fJa-$;U1Q)MA>Pew)ZXh%d?&?YQtLZ`91D0?%fFxz_TxNKGtondYIy7+s?NXR z4MMg;uax_+WJ0=vomHq zPGsmFhGgDc*1X{`O4$4;p5gK9s%X)YU#OwN9h|AlM1Rk>b0J5V+>-R3=OFAe)H(n4 zm&@+n<93nDM0TtX((nps$Y!-kmWdm6lSltHfo9#3df5KPSqyC_CVi#MJ1#@{-(1_l zBB@fCP~-bAY?^#6SS;AAD_!VhXsR9i*#qA+(yzHEzPb1Map(1|RTvXCcXWB2bUjF%J;?3GKx znqSCM4OtQe!Pf@l{64Gjg5{klYNk>Obpt8zOGbDS3K1XKTR(!uv2HxY0O(K;fLVuh zc1edXGc?` zr(h6tlefHC{-HiOmydy>UjjRA&$Q2Rm;bFr|s!17vC7xcd@46yPXV-X((?!3P zILa?KbxG(JZpfmRpUAw8Dv^n4+>&&IM>Z|?+xrx@WJyO0dJ|I@<|2M{X1@fRy+JxY z6KP+N!rHk51|yjll?5!i$rGq~k6w8nad`}_CSbIA1JCywq6Pp(Z_3cPXP|8z|eBUN>^=^ z;ETAHmzQU_EPxGS2rgnhS={<^R<3r7$L95`fqc1z+NG@vHq8KPR?UL5p!UfL98eE{ zax0yZ#$&rAodO!44}Bo5ekdiHKxJ@{c{vb+}1&;E* zd?h7|wnzn;!1eT=s4DHJI-A08HSn4CV@IyBt#&6AVvWvLw>bj4|005CC_SZWbRb}P z%$(qlaB^QDIL$5(iDr1q+++R`r9aEV=G+@3*Nfl2e|I;}P{+mWTQ_ZAL#80G;0-Af zU=u{%#rjoIQn0iC&VcIU2510e`n`hH2a`TP2GbQ- z;K)8oUEPJlg+okCj92-tA0=l3E{&Kw4a~(Rw49FMoOKB7<97%xj=|ZI>1lk<ISo^X$Rx8bfYjBP^VzNFxM%wexfbE(WKGb1IDv9_5ea;-fmTsBD*Z@DE+#MyTyIi zZ7=rKnpT3)1{`EChR-yRtM;`32PL!_0)BjKGB0-e_4ns^n3|d%fvY6HQ}#DXQ&R^E zGs{8s$oanuK+6r=%}W27W3t=JutiO}QMyM$q2N@!=WtMvOoeu8j(U$FnJ5jha@y zxg+ok7!6ZNLhgoTVk1=so&kZfA@V_0OM2?hs+SA{b}+8mqy6vdcWVe;LP{T-A#wNd z>97?WvTtDKdkHA$#$8|)u%KQ5Ig~iye%JW?y+VscPy4FBfK|iL{M;@hb}cOVUKWl2 zkqVKo_h&QY>IHCO54Xl$evI|g7jEsl*MYBQ zf#$9+jid-Qn=HUf1*JW&-7crHz1F9P*Px(135k|_FQNM$Kp#08BF($dB;mIE3jO9% z+qSkIm-a=>(~YcZsb0alZfpV0d*XNQ{!e`b9Fo|?#CEugRIv=&Qw&M~)V!yu6AoY| zgjOrNq-@)Fo<{ZG#BK3y)&9UV7eWb+fhJ%)FL-B_GFOJxQgZ)b8;NgXDue%QSH=~}gY3h;OT=>I& zji52rn8|6X!TTIaN56wOZbyv--E{oZNm?Z_!tjnCnwsl4)vEHB1ub8dvU0XRMZ^>l z0sTDrkwNTLSuDcmM8>I;eqePhXlnYnYNJE3w+3i-N#<>lZ!WZJ|J1M+;T9OAw#RyA zmt>!1<>6PIB0+ttA0W%GhN8vdFD-+p*glCjx{9%CgD*PY1+EaK-WA(mDq!@EtllPD zX1c?68*6D)FbMlLUw9Y8|9rfLe@?>PCk&k9Z9%^Fff>1uJa(qTM|9&B7(C9+uZ=z=HZ<~=Ah2g!vt>KRlSVcg&x;}I|Yjdyab zOQ&~7#d*Q0`#S)DX9x?#dcZ#EULns9*hBExy*+M=eegNhuAaU#%(803^TUS^XRKcb zc<`N`=Rcq4{fN>Lb_;L1;6dm`N?EoZUPfGJA#jm25)ONH*lhl;TeF!AG@7{}%*dZm zSh{?cd$#+}AxrkgYYIfl`e^ff?+04-8gQzcy9r}wzI*mJ%M5j68CwCJGS|CBE=ebXGvB^^6w+_w8FN`fRD6zWq+emH`K$C zCYirDXPt*f`Lf(|4T^aWYDzwS10vPa8oZ57O%*8WgPdh5tg5FmM1wb?tSEv=No40> zNlXA=kNb7iBv4Tu{sP9)HUm0TMb9s<>%q4<#ZxfA=2~(3jG>{S{$cpr?Q|nK!5enk z%njh(eUq*hZtvDI2$1D#KvQud10rvJDG%G9&`3j(eEkLpaFPfap@AYHc*sN8QWM_1 zIbaD(b|EWtW8e$Jsi=5Dk4PdC_y(A!PddFSTnx4?k>zKE7Auhhf7oja!tPX~*~e=b z?`*413_~+-xZ(x1K{W460*PA8PH33Z_y}S&ErSjxWD0)xd~C{^bjko@mrc-@k7p;# z?>=p4{ac|1=*An#XZ#hgYt(=q(igZ*_DYlId$oP>$9$Ppl=QcnfnXX74U8U2doM#( z+Vk*~@}IJhJKM(+AK@j5dIRAW*&=M4)6n79PdB>k$Z7%SrDrZ<-QAl!HITZ5ma|U|5&;X za4P%$e;+fVY{#n1jFg?MWQ8&kA!L)iG82bvN;qU?g>ou0GvyeWi73a;rl^QQiU0S0 z{_l0Y*ZV%#+fzB`+~@cEem@f!yPyf!aMNBNfp`9``cdU5p!VpxWJf>=`ujJg%ppI{ zvI=InV22oUeR?n6O}_dsk8qMPF(lmqpU}2#+55-95KQCFszzSiLC zdjq3{9twpeK7!H#OuEA4cp#cjfsA(j(CfCr@^;`Y>V-@4>5nPNw|u;PJW01aUn!Ug zc|%4lDk{n>bzvh}Nn$bygg-KR(*9QUFqy%BqUEAkP9IFP1iR(3pW|(aNgVwB!B>=W zT1GEjG6v}LTHzo?O`%0webr}Qz5_lK2zAQ5WEQvEDB&0n+G%;H^^c>iHjF8$0)FxQ zy)Dw?o)x}ia$Nc;^Pl@T{~L>Lwcj^)qe`!kDL>xX2}11;l9G}y&Z)~Pl4+YCo3xFU zy*W6uv9q&N5aN6cHy6!5RcuG^@jf(J0E6goUeoRaDassVv9@>%enjs9Wn_?;S#MAmjvKo_d_G9Y1z-* zz%!3(M6AIzPDX5$G0wAc*`Hp1;eTVn;adWCw@M+ndDP*%bYA^W+%-s6EyQ0>9b5xz z*4LN+U_v1?zw3HUf?5#AUnTnHtNeW@EEVgCAXkzc$=?TpKH<9rlrojey?`3#O5>t>1f?845wGv{7-rn>zuh*MxiSEO1iX}P+fs^@Z z{@Q$TGiUF$Iyx4ugMNmROe9N4UTkTBCFZ;QeOGffo&J#CtVjpI-VpET3i1FsyB>YU zZ6U$sGaa8PA5?pNR`J%$++w&o!1_XwEDBbtq|Sl#nJxlfGj*65MvTc2~E z5Q2Jim{1^|A0yRRBKqQ+BD5Mq%9Yn4<%*AymUDTYW7U+%jkzCQw|8w)XX5E`Q{L_L z$%)JSXB(~uBMI#18j~|6{-Y$|=#pcQx$SvnO)nIlHKjpY#KweR%pq$29=@5-uCsMa zq(}G5Uj@VrG(^^^w`bcWWIC|`shx)iPl94Yt*~=$rik8Y!R%F`lyxWE?@NT`UbJVC zH0iN0aL4ireitoHjzhC(bCrU9Kf!6h2Z^VjWCB}PziXqo6o(M#23Wk3B{hL0X zWemcrl&Ae6;suILcupAD8#GA*&zl6;4!w@rrww8>0#pO#2i_ zmk*1HNk9A@X!P*stGdvy2!>o!R)lT3dyVC8I?g58kqW_Bqb&sxqfEOlh?HdI&uII#hP*msB_`aJ=y zK{fnxa&r447G9cg50QuKL4WEMmS{#b%QrN%9)><*&ciZS3e}IEbk!$NKdA?Z(*f`8rwMQAcOxK1EOfZh)Siju4hn$0t4ImAi$XdedsaQCu>Zi_09 z9MH}qZQ@>W~OB z%D8!XZ|<(f*%+=-cx?j^ekSi>J?g_{$uf3wpN_W!+G6oW(51$_S0f-B3q8cG{#IHd z{;Zlb7K&a!v=7wXb^WbOVO$Jc8%2{9LYraFSndcqT9bTg?LLNR#G?5M#*aksG}Xav z{Ok%qEb%b<@B9X5!k>CjQ)iT~?(f3Zm&49#6pD>0)Y8xxMK79v(CYVs5`it?j)#dv5DaQc?pug`JvtD!>W~b!(p2y>E;=lUX6=v^)QA# z3Ii{AklG>Jq+qr#lJfXvN;G{Dax8{QFvz))YWYz!db69a+ZC&Ssr9GnZ>Jfkw1VZc zMIJD~;m~>hy&m|rX8tJPM4Zgo(8kX)aLxk0nWq#ybQ-RZWh9R`YSa#+$0({UVo7=n z%%u(hs5TRFv){zcLjb2?(JVx`C+e=iBfJa-;Gc{J1e=L~5COwE<$e34Pm7yuvnR9~ zju9$(mUPnEYYnA-siR%#Fmd7LyQ684U=0U zuX;>@b_(CwtWxt7$!j{KU!oBFB<2U3s}e$s2-BW8{u$Bysr`-qRf5}n|A)bcRNum+ z{c9JrYTv!NotaB+rL8ud1S=-Q5D@I|Dp-*`hGo(j%9C$0`eUBvGGf;_rn~YdDx_8V%HHfR&U>$5x@a#NsOJj@vO4~&Y$p~xt5(PkR~}Cm@SNFdeHMc6V1w#ri@ld3m#E${ zlex9#B(j)RpLbJj!V!dlXCvz~ykj(*eybi9$HUXD*?S*j%h&Y6w@M@YbEuY!)p`I6 zOfPUvvoVAax5+1(S^BDFc-Jy{Uh4ceftNK;X!*$?x=- z5T+Xok!DqPlrXsmB`fLItTt(j$jY1XhKC2hnv>J(<|w*Ea}Wwp=$jht*9~=IG~qdT zqm%gMETdi-y&A^sQd6y$cd>{Wtb@yFAiJ=6wFA5N!@A;IhyAURsfo}&mA?PwLmPkX zPng{SPsR{gRh*Pb@1wFc(;#YqKWg4@s(DH8`;7&bOG+>lqem!a+n4?NVQ?d968;c5 za0g&=Ilk_ExM9R8<@$vA*sg1tnRgAXDxmW#;lfFha3vo{w0hGwk`U|YI8U^Dh2}-N z_lJaT_o)QcJINhtFEN>=I*?1P7AMCoE7##HM|anoBr2ZS@C~~4DuMiX4w;WJ;53(g zwU}WMGYMT=hh_98x}SCQxVEl)%j(q_o5*4^qZrZ-t6D@c#K!6!@(Df@KGVQ<|4Mu` z|Lc4a7@=cIUG8t0r*a*1Z7%fGl*07Y0tI`2cfsy1H(l#y8UZ&j`yV*KjMfTfHAmTM zx~M4nlgUB^_P>zzh+2u z>kETg5^>p-_U>I-^K0(LCZDKr;C862Zx8~CjtZyAwBp3iNRLOmzsj~K3>~iggmvdU zy@BDikx5(R{rBnDTp}Fv|Lp^_)Oqm1fN1V9-_Xs(FR)Wtk}JqxwfhC{OjK!`m&={H zL%b^cKkBQQlxEbN3Ep>6+JuvAlwVRq%6FfkE^&4L-?p_x=f_F2*F7$)4+fSWLuF6v zWIDX~M2JweflKqOEclhtEcrJSmAcPOBMMzOhy5RYX+q&50Yd>S!gP%_#HC#bVb3pL z)#4)~^6hi}hmm$j(9PW|TjQEM@=!ltg@;U@kuH||9aSBx=7x?$V30?+Kr=wT$1x)PNtlH7w-AE~>K9LMx)`6Xez!?~O)xoq@@q5GLQl(fUT@T$d4!~cJ;$B1J z(>A;{ZHbD#Q14|3*D>V-_cT9yZMxh*L28vCm{D&ys4F%DHp9oqH@ACYOA2ruzI$w) zAagkW0icPWO6Iz5)r+L_St@rz99(gCW$IQ9Q$}Hl=K;}DklJ*&)7<1NEqy$o0VbEC z)BR>-`6unhEx4q-_uyU&(lk2SObu6T8{8&a`C)&`C~+5%BPUC*6cJpNyy|<(RCVmq zFG=Gfe1E50Jl5FHWqq!WNZE-6bs{<9ClHXIrQZ3ny;XnXzzQ@EF9iEJWYW0;fNf$C zzrJPlMlSl-FC&)dG6Ec3_5?zIMkSS?%|RCGn9ng0ts9mM(`@Vu zSDOZ#Hyq!}A0{8{Ff#eX;Lcol*9gYxiw6K;oIip6u13639I~myVV?=u#x1MkBC7aX zL%$EPOAL~LM~Gz?zrH~Ia#$))^NKAf+CLb1as_N^fo03QCspvQ?=|hv0xjl}kC$7Q zGcfqo1lphDUD$R2*$g3sj{2E#nG_}QH+*Dy96+4%guWkO7`2*H2 zeZ*@#qGx`>rWg-wRd>fbcM{FgOo2;w*=oos3B-N&aEawMY z0^`M_#y1uQ1CDiK0kj*z5~ELq7>;SOUk)ps_iC7pVMO~4A~$kJWc57b5eeDJj!T-n z8dvaM0I4Pb@^%D1*mn5b`aV53-*ox@Cf()+T|_z`xo|C$y<_kFU_O{T@Ejp7@~~i~ zGS&3YCOJ^y(C|v1iMm$o=Ji;3oD$bc*WP2>!Gv_bySuw(_~sLk?A(abnxK<4*Cw=m z|KYO_L2N%uooWWo)`M`C^lR!T+hMZ|!SPdjIwQc~Bm%{7lyN!5gmqB$L;^z_DCJ}} z_jWe{_>LEx-m_%w!~!#J!bCJr$PZ9v0yVB=s71~M&pHKL$u?axO> zIfKr#YWfI{hxm%yc&d&f+-h;{FSOK;92pc~3wY3yo^fa|m#ySuG5(KmiOP4f4l*;L zu-hcyjCN)rO!C@|I`^#5DcN=jZTTkQXxs1VkYIm#_@myi@$TNk7jhDl-;$&{C1B*z z(9j4yJ`=DMB{|Vigl`(MbVIP~kny6Sv#qLUumO18K5TspJp#6yc=ytIOeJ_Dw-@ry zw&pel{oodK}s4Vzak8u+f z<8NkW>foYJQ*%-fZG5lA@ZTcScuM$Mu~w47Bh+H8r5Tq$jH#p~wt=xYYyxl}3)I`Y znt2FT(i@9X|1x>XSHG6J46Rib(zv$=fp?!kX2xH^6Z)w8YxDa;JSTxLj>%bk0cY~c znYFsNoOnhBhH5ri-US+!?I_K}5Kv&!;Ka=;3y#{;fkLavV+H!wS0dAxemHea7d(yv+ zW>{BwSeTf6Iy!L5OXJ};eD($_iXTu3P34Ny-p!ue zt#uv*Xgd>ZMeh+~6HTbDRs{56rV1`3S?H=ogi8QENRpiJ;eIGtig`fdX{ljymiq$Z zv|(;UVFW z{($NbKV`xx&Wv))JY6YWL=og9CYQ=Ej=@Nq^lJ{ncALpnKTOI|Gpb?jlVCu2`49di zcEpgwK0xcwQvkc?`a^uE1i zw?2giWR^4aRPM=x6>DP&beHbK{!{tfr6*E80%8dhQzv;46EPC>#@|5n`w_%VKu#J2 zf+n~h`MBlWkO17ZN1nISr-U=a`(^Nd-!6cY`lAG$EPytAUoJaLUq$3022KmG85Od1 zC2C!>nMUCRvM!%N0M6s!&~25`OIu&~M6MSkXnKVu((O4TLIg&50}Kn-CM#{#pTWlb zL=lJOSoei>JgITWNsvLNN(L;ShJDp!2WuPf6j;V3CQj%b8Y^=dPXX_PXE;m%fmx-& zF$}(%ll2gJ1oHwF_>1&58aJ*T(&oZF*i<>v^pt6ZZ~q55!%1tgjdO~(R&YS32yRa| zIhw;;bkR)ac2B_9Bm3O*Fb3E|F$m3XrGshMM6-bZ%aH=ZWRPTNO*_@a_umi{k=cO< z*fktfDrfS}hwo!lj`3nd<)~Xlj#rfR95`fTJ|l=y7ElF;onZwFzz=ZIzh4YJY$@!`hCTp)AlZGIgASELOQ zSs2I$%6J7S~ty zFCs)P7D<9gbkkSi0Kcchf}1|1;?s+L4C-x`vZ{-E7bOjQC%k1COI--1E=KJVO17?2s-nA72wy+o1J@(d-6!ZzmKlH%)}$XlKG&OeT^oq?CsjV3Tm50LJ! zMrHe3Im0;!rSz~dmYL{By;a|P_hhvx`QV1#b>-Wbq%fe@EKp5?q~6v2=U_tRB>D6t z1gOI*cGW=n6OC=r-;)&9AhTNh8rpv)mASLl!{Qy6E-vU+WUwH=Omo!qIM8628C^J& zhh@IOk6c>n@&+eC-WI$5X{D!fgy%F_m?sF>)+xR!)3cnZHl0H{u@F#UayU<~3g#$f zoG%ELMs$|O^q+lu1WpzpKw~z}%_eC3Hq_}fjCCl4PAB|@h!vAgETmt%7_|lQRk_1~ zCV*4k2_NvcTNYgEI4(WRsX+J52on5e5tB%_J(yHj$k$JN77#=xg8DA|&Uez!MOG;Y z2|204S(V1Qs_>cHHN&wC-eJgavc+oCuMp4XOXx{UXvbYhqe(rMKb$DzwFeMBYyv7X z_9H2{tCvhnt`2>Xw}8j-tKA+Y4w((hQ`=NK%)Ja7Uin8rNg&;lqEhmnpYJK0Kf)I9 zeR6jgkcN@5SAkxGwNNnnNv8i4yF%Tm!%32B6ZJ$^Evu zySMzXmGnTW6Rq!^V?q|P3$6(uvp-K8!ogUg6j5d&Q&CSi>L6#?K())B?{&dC6ljx!HFHN41@D}I@ z0wq7QVHt`->)8GaBDI#JPjFDw2Ee;S52(#ED5rdMgu-C343Itq72^4$Dnt_kL92;$ zB)g+F&|{($t;tS=q{Ka-$;*WkvMf6DT(Spc^cLM>!X*H<=Qe;E*eSTrzutzz8o9Z@ z&38^oDyP}VIKf+bFIoBtWO6))Nq)>6oCcGS9@IxsKLPI+6ulUI^-egSHr*sB5Yrao;fcq?X5`S`-`YCVuNN*1jTo^A3F?O&=Ul{e%YK+P^V4{q{h? zwK+OGI21<~(}hKAjf!&?AKlc0@Bu}{y|Y#~lS7Nt_Et9WQmmIN9RjT)0sj_UeN~}^ z@m;pyr3{29HdD@`t@X{?S5e{iTnEkWKdHMLg$^dqaE|6t7M6cF^w>{Z5@8wn0Ai7m zLk0VOJVz2=)isuJ&wIgSd19UO>0|<_X8sr7$()F7W+WJ5mYcgvyC? z#~oL%DYZ)o2VNf@u42`zKXqwyH}s=VuKNaE;xDuz3t8vc_riR0nhohfDuMj@h#!B{ z_G>%^nxx1k^z2YfUdnjCEwr|N@?ke_t9n#{yew{9w`t2ZSQ`*f3$`o$|buKE^~@QO!e?H zufEi=Bt^SqCkzI1K#B|_@~k-c%vgZthigVK%U@vnrqoq_v|00Hgws2y2fd407gGp? z&t&qkQ8ErW^(*pajmdkTH{U=&GZVmLKd=4;eOk@c+fnReO|tjE*8>E$_PkUXeNFf@ zWLf!IRh9MAd^1%$n^2!w2ExL>e~5-9g95K^f6%%p_1HszzpEV%0c3{y%@GGj#RRNZ z6+AzDz8JyD$Ygdj0msGC4fC6}27}A2Oy7qfiXx>c=A)_`d^wT^a87=jw$FnH<2{w3 z`$Q@4HCoyHfn|d*E7Co0D|XOct*~m*v9Oc4{lk#;nyr6#(ewi=l`fIyzx5AkGQ{>67m?oO2S6~yKkwP7l`sfWthj()HN zv<*vi`!vae7ZRi#WJEKEDyQaSDUunD7h203#%0Ak08$$t)7OqZfJi>)SD^K07ggTd0qRGQjNC4%xu8{~$?W zPWqzvpT?HO1y~kVAj0CTccIy|6O+`0{uLH3M9iw`*5}btGl|Zh-ZnxJ(g`lvAD1^v z4&SqmqxcS#4KfE|7#jr3u}jVu%tWvLwj#X+<8XLG1X2DdtkI>bAp&W1 z$SV9D$0ffjF`AsIe%eqBFCM|ZBbitqa;xah&w!CdB?4Q%Dl zu7DOJBUv&AAXH5-SyUVy#Lzr+Yjq`+{~Ljhmwy3oA%JmxHx$ND6ieAu26M<1;(qAn zTc4|`&wXcXEG#W8BUf+3vLKLl(X*=z91f=yDF9#I^WQh$p9b!@Y2}nz2IYH+p@ko) zIt=>RJgIC5q4c+`oWBrdbeJ?4J(PeqcROJw3^}(dx zy^a=#FWK#dkffI-ub_$g&`0=8-Nwz?NgCS`S|;4fY)+?e_04;$W$lwA&G2`S5wQr+ zt9)Uk0@TVcN%d zCVj~mhCzxMmeZEl zZVwzKjD6MXK+%7?4Uuzl>n#IPbGeXy6a~VMT3=Wm&PaCRM@L6%Aa}Y3NcRi7i$HYV zC+vsEv)s>5N65!c*Mu-?cJ^6W(ZI%q7F%U#UWh8S?ko#iHbnv zkj<1q5zX@4#)eW&+pkTYa5ELtKD>P8XqR)xM;Y-eF$o01HMV#DCvRCDG(ev6BM2qpZU>mC`8*~ z*#t7Ar-VPUNV)J+Xmxu?e;FGJ_%bAjVA&RaSc`-Dx(%M7?L8RSE8M11 zUPeQaFMP*9R*|SO^oN^3Wq$uqtI;#KH&0IQFVqr3=vaOnawh6a7@!JdIZ)7AYl}p$ zHl3sV=h$qdi^S2|-nZdkP>Z{z!iLO4$j|gJd;{jrPTfkgcoP~-Tfl;#AsXG_N$3mW zS6Mz@C}l{N4Bd%#pr<+uMOzDZ5RY?xL|-dYdZTmpd&}jkO)_a>Ze@?CxoPN_zFpD{ z>G#XUP+?9YEnFh~L@y`c90>hrVwjM(KHND**;&t7+PYj4^2OimFXTy8tr9?3 z3tZ+82-c-v+AL;k*+do*sY_Sz zui)Xq+H>+!Ffnr?`jD_Y(++~7mSIqSNFK}Dy1biz7i1z+Xr+BQm7#`-2?)1WMiY4>EtGbT4b#olf>QswQOx!g6%WSWjRjQ*L zF>&jYCNEsr4FDAp;$_n-K6nZ(QOF_JVEC;Xn#{aW${cs^9wm-kd&P3udR4fjRK~gj z*fnE(F*#fJbRozBfhPh>#s1}7a_84e-AWpEf4>KRt0m2tv)x9&t$qdf8Nl=hwHa0( z02?dHZwf?sss<>EYhH;fCe4t^bMf%pdG1Ckmjx0p*Z~S|DS5g?_=r<$ouV@b_g+C1 zzyLsmU2AZEhu!_44nZxqHsNM*>~^RdUv91CD{0D|I16$-8! z0v8g9di?|nLca2RQS#altpxCCag986w1)HYvuLBQepY9zLDgV&09@=?L+PrW&~IvR zWC7~92Iog7fnAB;Pz%!J;235R@?w4qoX^#p+ z6k|--dvArPfF78LYT>EPZq|LzK*pTRU?`;9l=J74QQky6xAh-^obQwF7|bm?YWdW7&z7rklT&!lzl? zzZ;SwONX}^7Y5<`Z9Fg{pXgL`WekE+f|J;&Nu%faB2~JY$|sOfxS_s3c%+u<&BXg3 z$t2B*^yQpA^BCXB@AA8_k3%Frx<}pVg+piayrJ$r;tv>=f1JMla;1S!Ghxyiknn3D zCh>Z<8j=IyNR5lIbqs>vty&KNx*uSV>^=-=Lg*{F_%<=Q`b%SW*`A>op0wX--MnsD%V~nqoT#yo7K9q zB71l7=N`m|zRi;Q0^8?{C6$TUq^Qj$1>snV6X+?JmR?U>N$4sI3u+bhE^}ihUrX4-lm{!#N$ZeM- zDWuBMIhq9}n|`++Z2yGqMNO~ypNBGNZ%CNubY?rRS9y-{u6&?|E0C%adwKY>=kRl> z&ULh_v6Xqq!6MnnHMU%sc37q#G#ejf`k%OD>xjsvkwp$Q9FxZzSzmuKA*;tc3)vlp zx_3a}=5CZ22mY@0f_mo^Xt2qz|X-As=E3B=}vvgPHxO;vy8XgT^rI;SbJw(IIU??)6}v0 zPk(AH&H*}De*m+bVsstN`IBd{3JXo;i1BlfvAZcEC*zJJu^+>w4)td7{mBL9W{+{d zg6&7+Eyp|Z@Q%?TufCM#DEtgoF@H!2lDSSS1k+`;hF(qo`1)3q#A#d_@}6A&?X!qj z%o;SG5ap1G-GS#0OXo_3X|I}m8j|Th8NvLeR8w8VU%14nvcH8ui1;imQgY;n=D^LR z%TIs&&>ojxh0w!idzLL~Is>#Nh~XQ^(an+15fQ){$4Nm8-8R8vA|>7=)z1~W;-xzc z0VlY9m9`*G^bW{6_s>C=N=%c7_v_7t?j1Ql+0 zEG3xFWN8w%&EtEJ$h9rq`JRRW=u0rKk>M`vg+ub`tJdi9Hu~BlH%S|^9^=L@zjo*@ zr{Fx8g1pzG`eEly)_Ag&N!EBuBQp0GqHD7VWDj24BA@`j9y~90IC@#2^4BAHeG!sc zsS|M<`EHgwUQ+p{%$Gv`6+MLOU{f3lFuGuB>j52?H=wnvbD)%!hpaU;S8S#*_L%5I zjq?B}j4tjYz;S`j_Gb?x3^)h0#6KELuHckVKP1^^+#vTUiAgQafaHIbW$ zR@-HSub?g~{(Ukrk?vKqvd;4l%fQU>URS~2q5u}qgTfnMpb67o(y!VO9 z*Rf6Imxg@x{J0p}mu*1A2y6IbnB?rGQl><{|N8<=b9~k1A@9$(Io8akQyU)kI{#ZsNb3po!L+FS!fL*r`yLRj51Vce;s55Qi3rcHvb-4FzBpghLd zKue!S9pMDCnq?Vnh!YrT73JqUD#(8xd{2*}ram?bFh;1hu4P-ieia^z z=%?D{QYc<*mk3y=^}bf^-cj0G5znBN!}~B?$XX72pyteSlb?3=cD#{m2}$8GsuHw9%vaIw1jcv9aLxfyyx&hcB2D?p{WiSx;N3~ptK@jt zJ}(a!m%6wDs$g3Dk&HHqdhy5OpPOmwq36Yk6pl%@AYw*l9^-|c9Wc;khC)}KokOWM z6(VetR0i>2nDR#D677m;BiHWdEV^HQ145vT=D4a|*w1sCsB;1@Nw!cGh)BGnDH=(H zTP?Md8EJjrwvr@4U{Z3|II~h(e)$%r5~7z>PJg#>J^O=92JJ-J$4iVZuw{Uf$GXH) z0N*3Tjf_R-`vW9{86aBujOeD5M@l}@ zj>r`YC-kNHo=rR}x9@g3YOn33f^D%s`87zl$tXmGF*J!8#`&)*IbNPR3?I-}QDuY1 zJTQ_bz=zONs}i;Hti8)jcU;ZVT=klXNm_kww;wNgWe|u390hS=#lLV~W@!5}LFY?; zTniAwFCrj7hwd%}Cb+}LQ9@t!p8vzWAsC|3+_8T!6E^Y?`5{is?QhEXoi_hwO3#7; zB&gZ2Q0>J-psfM`RQZJh!NKqkwW!8k2mn^kO~?(bryRr(rIF6LY>!{p_C9ATNYp`k zkDkFm1_y>}5-u2?U8+7E46Y3xzKr~2aoLakkAZ|(Fz`xMs*ENz~nbz zuNK6xfEzrt`tnaD_lXz+0Sh9M45-PgY=Y;!z{7#<5qr(4M8pO(4ob}qJxs5FmS#l^ zJ#VuQ{cR}k6E2}3mViUf6734$@HBmx^<>_c>*83G=iv%ra#dF3ZG_vkd<0@9oGcvs z?89V9ZYz{0B8|Q_lyk9-Oc4l8MOHD#V=>RkXCTFD`-)n(3d#S@o+bCbER!lr@*&MD zF9EMJaUU#bU591!JG)%Qg*^Hqf+(zFR{QWpnEnf?K9`&4?<+1;l`yH5*PL6JzZ!q< zo33y+TZ71mr^|<% z}8*^V2XMR2VChNOY40Q6Q-80I)WE=tbKX&o)vta zS}He&l*V3_UlJ}^gS3FB&_^POeBdtD{n`YzklcOMA3^U+Lgg`a78xb3*-j^GgqTfC zSl^@|2zdKA;l8_{5ElpQ_p>d)SxGNFUMZBDYq3*7WXuJGa_8J%1iSZ)=0x7XfmHIP zp%(j%@JlZ1;mhRSb8x19ehBS`m2P3rMVg$H>J7o{?Qs@5FCP{OpFMZqesft2zhNic zX{Se9QX^54nxb zfVuEywS1Q>=*3>Y2BAfib+SWO#Grm5UIFsmLOS4Ua)wcj4{Pr!|D5JR9#1SoQA7D{ z2RP>)cWW+?FP;3M?G_33o?jem!G9zvoFH|*=(}U0YgNa4dB~M%yDPOSfCrYQ6KfB{ z(-ifL9oB^Kw#6RIKsC{l0oQJ33cM|)5#sDiZh$T1hni@v)KKGG6O{T9wjmY0yaOJ3 zw6%v@-Wvf36eaq-2+)+ge8F(%vVGo6_G#@dNXA41RZv~}V{*|c^WOU@`*+^JMcu@IuNJ@S4?l-#Z=7FzLd}TE#{5f~_^Y z0)9Cef?+C`;0I?)ipDnu#@*fp0*ANicIO3YDw}WMGit@EhlVQk&$y}p4LT{g(BwB> zWl#MbQx$&Q`7PVxui9^g^i__y(C!$wki%n)mH0eCV+XgvyME4gLBnV0sl zQ%z-{gm5QfAcC`AYWjf@Rl>U&=!LkPfK@7M?g9@kBnB}>PT{o z!2{&Pgb}PSwcszj-nU%4iJ6b1Z2Gt`6lyg)V8eoA-uq+5fw$&D%-}M30@0vgR(N@H zG_Lk391v&xygyz3l06P!P)3=%3-}1Ipy&T)o13`fcnHm!vJY`H51y@E4@wEc>q&H? zrVR#0#tpjatQ!%TH^HPA;5q*C3l7mxd&^!-vO>4?H^>a%GYs!F$lrMl;5+lT7lJ9@IVk%wpQiT0jIlai@8qmlHXy$pPi=r($L&< z>CSZ+015%Uw=e!{?<5#x1Zuw&km&i%Y;w0^hdm}nLRIp)U5N*agK5mSSdd=GR}DW? zUjO?Bdif?`a)>s5Np@JO1okugwAB&HK?-CsU65UseY1%D`0-@mYHT1Bd$c)N8Ynvr z_)eMxf!T|76*_f_0YDXpfP}$fFi652`1hMXdb;0+8(KCH{>3|>**FV78726oJAqV+ z9Dky4Kh2Jsj^zKZ?IH9&gk*fKATC($9c%&X7xTQj)ZdC7@=dTYK30jb^YUgO*h7`p z<$xd5$cq6<9tVVlQ|%vZ{6;OB#dL5it2E2inbpUOrz>J$nP2JY*1I&iZjM9tbdcwT zl%Eq5d=<=mT?E#rtZqznaTLS9AJ#DPJ|z1=PYUsYC4f=wvgI%~)nYc4R_w%Okx)KR zCh2}*ed81Q2h6WFNngGo1$*hV$lI14ZYhWEsp>^a>cCVCPy#W<7ZF)`?WhfUy4x;Mt4V>v!P{>y1!Q3II~luWf3;8MNlQuyxLj1E9( z+aS2pc1nv10Z~FHwx$Ilhbt>L(>jce!*!@ znJIC2ALN_O4b6@7T-0;&N4UEfi+t3&k2X8+-F8UzZPI1}qDwnU2)vzPf8W3+U2yY5 z(GYnNBFkfUA?lmxigN%&fVtV?zlM0)( zK%?EgJj&XIzMx%7auMzhHl8lt7~7|l3UaOfXjw3Tkbx(0^^p-HlQ-lZ6Ip!vLqXA- z5js#^d(|3@d%dv@t!(pMOwVhHVPRvB98qr(nf&RIU^tX?T|y?zPBx}6a{YznvgX=# z%U&`B?_Y*7EWS5?X6}#kLaFXb9oqbWRPvHP!dfA6^%v`+G^I*D;=k95J+B02!M79G z>w(X3CEOv$iE)&~^L03&a$1X>&)0@s_Mb-LEu<4kcZm7osj1Evl)BEm-ZDyf>n<&6 zy&nQBCqyI|Y+LwM> zElxb*z8f^#W}cLEebJByz*2Y4*&iK-Uk=8^5Amu^di4Q$MtMjx)#mmIRm*gUb`kG0 zx=R5J-jP(cN`b13XMp9A6VEi&cb#LF7K_Q18< zT(ns&9<6*bT=Ol^s0@(Xnp{H@{G$s<5}gC5P+O5VQVHdgb#x;!e7LVDgqdxY82lHP zLpe|>|F93f+}dfl$D<1yk;E!vGU2(+QJ6S-PhIE%JC`R&&{XysC8{MpGb6o}M^$N# z6oFT%NMEa#<1m#u(3|vKUv~)K>SX1VPAD$h{0D&Gc^o(Gd7;ujAPFkgiVea zi8bKNGHAD;%2sF~_e-TF?)`&$6 zFH~};w8;IhLI#udV{l%d@#bApy?C4&*Sc(Qwl=3_Wo0E0rn0%fC%u?&Eg+&npBT3t zfh_g)04}PTe3 zXLspyU+-Y#sz8s)%dTwXDJ;2=f<7t2`}i3JnQB%GC}|6F!d=q77)*n2e@KUEysuI( z7z`0N&kzREoW-S==~@eRz^{iP&JNhlWLEFUN&r7&t`x6f>Yj0nrs1U@Q;;tJ3`dx* zlZ{2V5YImbnJHjtZq$!W5;JN66TM8|In=AaMg!&t&=?M$-h~ehEf(EGqY92fC5ru< zoBSyeo=4a?c|9ZFx|Mf!b}nfMi8&?}q9MmIQq&1-pQz|LU*1bjrnbM#s^AXi1%k`M z*j&0c)-H{JXg=8h5h{MmxkIuJ7Z<@W>WlgwhY)Tc4^#H;{G#)m2jUGd!*VmB8gb@N zCsE54#Zgrq?sv^0zX+4R-AlHAoq@WSj4d+51xp+FMj@4=(ZPA$9Mdy?G^_=eeWBJH z1T%195aQ|A=rpM`pC0#C$LHlx~8HYmF)7q>Iu?n8X49m_9lKk{AysPrgJ}u@Rx#9Btk(FidHi z$F{zwKpZJS0XE6~^XqX*J!a4eJKpf@?`FcV4biJ|ob|LEOA4^nK0SsR)a5kwitG4n%?fC6Kr010bYD zk~iwwQC@8q=thF1CGd!9dCR%e#Ji+8K9}+Q&?^clrozhOFB*;=b%kRyvVyV9s*B?3 zRu??6(xG9DNH3_^jgbI(L>S52MDQAk`tXf}&r5B{(szhM^<3^Tai!LuwC^>}rIRtd z{j8532-D)e{f3<}F4-^{!xYu6AZ#vM2MNTmEuFFc51SX{aHrcrJ* zC-1%k)Cum>V@4B-D5N4aq~4>#VSD{jc0WnC-bYW$$&Dcb;2d;kijyO!s2JEggrL3I z$r@VV|z4JEo zQ}8PjnW3M0UcTHGniNJaV=BRuGt01 zBKWAHmSP5$)nRSF(IcQ+e^YThp9zV6wFS;L&@{8cV)!HPO60qtQ5FT^tQ%zvqy^Yl zkxHQ|Lh(u#RplMH+b&=zXSX0uo$6-x?`v|bNwtE1zIDSKaIz9ZPnt1yPWO2=3Qv=A z>Y>dj9kQo)IvV=ux9mv%wpgm!j4B#AcYrU?f+B+32P(!U10dd5iN@wWGE4p#u+xfV zirLYHs8h*2id2Z$uAgmGgU^m1eAsG(J~#L>N>B542u8_AF(fj~0aF830U_i!{I8XQp%YQLl_>L9(XEE0yPWZTB(p_XyI=&yjfi%Vp6 zx|rycg~>!o8XKe(;D z<`wYxUE)1^_>;D2KaAoNK;zyAO@oadJ~KXbz*at6q&1)#y8CaY2fdL%&z&&va9q7% z3vE|La5Z1dgSGYkbNmhglAoMx+Msn5$$c;IwNiXMO5?AlF7f!0Bk)%Nl4GJi9#ndg z`K?#YKhX7Nu=HGTI@1tYiwau4Amu{UUp5Z+vxyq7JYHBTfp@PEQa(0ou3Rb<6!hqV zJ$F>8^0=}k1`|B|2^8DHNQ+>VP~2@vO`Lk8&n91%Nc$~X&|8?1YpPsWwQXL^_RZ^+vznt`+qE52RN1e`+ttTGP1MxmYJEAy$M;_ zGb56jaTKz%l07Pvl@W>*l3kRYWK)TFk)8kj{I36X^}biv`|5PgbH3xgKlf*_eh$06 zlp;eibNCT7ic^-*>Gi@Ma13-|DwStm}-&J|9ELyh;w@ZZ4LiS;p@8J1V8^3NaNs)SH7+^36~vY1z|dwzjwY!f0#Q&E&ie%U_f(; z3uJpJA6ENHU|+Kj95>}|m&TYVi+8>OZbT8#!Or~>+^HuUgz504#2K7_!v>ovf;rX( z^mz&fL~?nbFTMM6$KDcZG2Wh>%nM@t3?U5w37jIITw`$V=$d`Sgy(-1Y=VyMMy+Qa z*i7f8b?K_Nj>JHw1$Azol9$~$2W;w*%Ww|6mpo8MzU#BwtZWd(gy)( z(Rm$jvXk9SFrn_|wuq(oIcKYFI29fz6u$_AY2D%fdY!o5Yy8%ht;HzH?cF@$Gsuep zsOvJ1dii0&0Y@MKx3&QMAJ?(m`=XCA&iOvo>=VE!o)y!kB~toSZk0dDi?3&)FX zdLtBPnsFh}ywIBnB@@bIAhzVYdijiK_C7S2Abi8gb9(a$SQ252-3f>L8#9mQ*8no1 zMhA4^fScCJMV=f4Az?emjnX*>%4Jz5s0oUZxw&M*CH6-*<3)($kJq5r=oda-ElAtp z5)~zHt!2}uz(m&5WeHvLwYnvu2=Q4x}+(%2VPwAe3x#0FPagS7LY`=nF!=h7O2RCT()>gL_V1i0IVwZ%l;tK;^b^yNSW!Oda`m5t# z&HT9yEhgKe&sdAJJIjazYFLnMT`K>YLJs^$(YU>z-Rjd*PqZk~%>+FSS^-2Fkh!PR zZqX>Lm%f*UDCVgj=NH?d`B*reM}J)}XQA4K+hT+{VjkoEIF-M8QHFHftuG9|#A&Wp zIBB~NQUFUTfg)cVNhO{aO3%iL(s%&^I@%8mI~i}DstS@9v?IU$ZitGywIn`{<%c0779HRqCW(KSISd0OM%D5M(zTrtp!O!s{=b z=>s;{uXzypvv3>+Mnyu`%!LIDTZsab{@PA4Ti8z`{=;q+s2> zZ3Gh1BtPGog{)UTKYe_%6GWx`Vd$hd(4_RuK|hnd1hOsGKCz&WAs0@Ivj8AV*b&rS zOuJQyjy^A6`C!3gyfg&RWV7~A`q*PW(MiR6lz!cgI5l?othM4tQ+|2GSJ?0S65>?z z6{0xbdQVFLU{@mj&L}sM)#=_hfaPv@n&i>b4cRi(n-XAfob*LNRH^vou>r^Vi0v}~ zB~a!W=%Dn9pb*gl;JIl8Vo9isqq*NWse_R>J~DVd-@f|*$Z58Kl(&|Qh5UO>T*2Cs zEfxMvEa(1mz%2+Q5_5sU_J8G^)fsH>#fV-|ns&y3lLYPsFkaxs8emFlGqtNYmWE2T z+Q0uETc$NTK`2`-RA<9G@KBgSyv6mP`e!@ zu+D&P?MY%NXL^AqAQB)2%5!7@E-|_e0FW%!t(mQzdImQ3Kfdoi9_{Vztx6V8X1&~+ zyu7{pv+^6%s8=v2>6U6UAP(L~0f%E?S`vQ?L=k1~l0F0dg6&j= zO-h_s)|?N0R^b03VuDp)KQAxqef^OOGCXFe{NM3W_LJWKC_Z_qG@9-;6sA2eKC8kx z;O;9}=Ejfzk7UdKv0C=kJ%u;gCT*!~Y3l$Lk|Kn7Q*>S7KKPh}Nwga{1tV~lheV?W zs8S59gIYzGiFmyuz{{Bi)>0cD@>Kxe7`!Fh1AdD?*JOrjNkUxNr4(3o5c#5R^r#G(PIP*Wzc^R)!Q8E-ow%5pZ zIbGFGz@8DT1==ZRi)}l*R_a^eB7X;b-hWN-Y#)dKne!&xDEt{_GdYOyKls#@89c9Z z&HU9qCBazqvMu&xIzgb=G^HHcLAqTMY5=D+4hU9uk4mjX1oPtlvJi9}g51_nx0-ad zwN@ya@-HmaAk=s37{J_cY|HWi&Yem*^VyG_1RrDJ-Fl~YJTTke@S9|J2B<_KCQ{Wx z+-Ujf7U;5=)5i#kZg!l!oCE&~BFNspFyOvO`D4qC7bW%{`C3m_c;g( zc5r$~FCK&%cp(RualaO;Jr*T2?wbR$lkLBb$c<|KaP>j$@bHsBa&a(vQH6l!BI;EB z#Ym`1?)OnTAeJ!E+i4(c*4^Vgk#Xw!G$CaG8>k}2Az#PmfuY2>w@u|Gd+3NP&cL(C z;u|m$9qz>Y&NL6ql$ctJ;W#G)k&zLVaPx~Rc|Wa=T{B4V)B+z8gV8Zr+H#msRUW^Bo`M?Hw9lF0vz8 zumB^t#}-CO`wGDNr+ZbZy_cuV%*=lX92w0XUZU-i&>98Sq;ZN=5Tda{SYvbe&Ht2W@g ziJEa9p?S*0D$wXkk4lZYCi{=Xg2OLKW#xCO?(2L{?`pvnu7qL?gRJtm`9&rT7kuO1xc|$}D#m^~K7s3tm&}(pd==EgS2L9-=N^ZygLwvZDy@ z7==Q=uW12HB!OfIMLZ`Xw?nQcf@k!_5F8ex_y~cemHeT%xA^Bo%?vqGfn)yt{cpwE zWN?G1z$<#?iDy)+51%8mMBQ!gkmPFs6uD94&C?l8Dj`DC%PRR-L@Vj(magI$zctiC zK2Vr}2*!!v>+TUI4z+)VIB-Vi8|Te#bKu;`x|vuTLs9@DFA3x~nB&mUg#(zyt9>^KK$n5gKyJ0woZ}+@}`HV)(yy{w=?QU=w`YXCta>N%VFhrJ2I3y|HuEE`ox*2nYd6Hp4UV zk?jP}61?MN;Ef7C)EA)$9(_9EB$*MbrYd7!3n2C#}o+Sh0 zd(b~P0teq5CEsykrK9P-6z60v}O9 zyM~HUd@gDKcI=PZYGvLUle@E}jB%yge{;EkNdX}kRDu)(T+`CSNp%?G`1Mu>nBD(` zv4pZYOgt!1rT<%qH#vJKV)J(xih!so@XN3U^7&uoCqG@OMH(Nl^mYOONryVUd`3hG zJZ4uc*)@g|Kup0G<5A5Q_dlAk6$Cu@FwCMt^>A9tho4d}-&0JGg9NLufQ0=8KX6}s zKebBj`%An97zf~zY_axC$@Ti1o-6Wehi$7c2duS?#mKk>hC1!<`gS#cpZs!KkRro{ zg&(0}OaEM&n|br$6@ez%lyNNq>D$-ekzm1m`R5=+#tb&Zd*+3yFafYQO8w;VV1oMX z+q-uZL$_SV0=PbZm<7Y@jqO}X_km>UGxsdzb*LB6XrgN$7?ynee4Y07jZJ~^Y9D*O zQLmsl=2xWC>4XBxBwiMj01OvUv=1&=$p>8OPF`crwpTzZ?LzW4+b+R{WRLfJyzqQQ0tzJFK<#9h8P2)^k+Bhj(p9Aa#k7wJ#YW7_D%M zMxe(~9ep|R#X8?iG`%D5C3IH9;HG#v%|GM03b!%^5LV#=Ed|_|E#XoewbheY<)A}7e<3-+0zHX0Q{KvgMms_3yaVb?u5!Kh= zX)`DGG23K}1Ng%Te0Y(&n4*B{()9z4PzkhgnDuHb27AjDdKGs#t6u5tnwGcZ>&Q1_ z#E{?FHonuH30_io{Cx=zoQXLl7+oUe*`6=dQ;9a4)!K$M`(6 zH9(bE$4?)zKd}{g2RdpeS>#;MM^0(IwH>fin1|V8HQu}l;*KkA@G4&|Ov$KA$LkO5 zophW9OIU5to{L_qik&JaYv!i=t|_4SVGSyYY0j7lxoe8OP9iz-ft9?M+n^u0a?t-+B9lj76S?QE~2=@x|fJ+PiE2$bfJ40hCeouz21; z7T_~^pqCP$#LLSdx@|_jBCnWKZXy(0QNhRvoyrV+_^J)it~jlN9nB2jA%YO>U2*`w z`A^ug4uL<|1Fyy*oYme(hi|d)g;&bJtkkC~y80znO!wBiVUdx9Z;A4dIkpUx`K7EI zw60veERQ7f6dKHAxx-L)x{DzcLW&?*E6Zp&|1s4^@qZrY!E+!u;Om+;&oe zV8;Ww$6e;5uvmNy)nAY-Sy?8dbN!$zTfrl=CHQNpc?R!)-U;f3vq?iOH-r` z^BZp~7$DAJ5EZ#xmh*pvucdL9iiwF7gXeblZxS^^CxSY04&uo(Ya22}vb#c!2I;_O z8%QMi<0j6cPG!VfuZHyjgAru38SOnqgr?Qdy5r_8tn7G=V21W=J>0x)A&^%2<$a() z3i7HIqEE+wz(~dTCga1tM11GU&F8H^i18&GlQ_>b54NuOaEW=MnqKYyWlwuTFsIa5 zlg=Yf&iS*)w`%as>h4)Igr-q;d5LQu%05jN*DsJYp>R0I+bkL%#pVfBdnVMC!%@SH zy54eBGUquNxZa)oNBTK1qF~qCsvnyUmL>#<1?+AL?rod%1Ck&2_>?|6aCj>-y#!?l z3s7S1eofUc-A0lQkFxCk_Fuy=uZ3NR5=v}%2DCI%U<4_N@ba!MfkgNk{4i@$LW1WU zEJPcdrW=7*;hrB11jm{52_V)I4(660#^0A;ZWE)4u6XS7M6lv!C3MZ zTyr(3ELsyD)SW=_KOsz?lIwE~Q)&}zM<93(PV`R~tqevfJG1ff?BX090D5Ryk@}n9 zun2UAke5%NtfpK+Pm^zHQ0hR~G!a675GT-kRB>N21ZRE`s0id08awJI-vKiV&VuU6 zm@eUie3mJfHrqiNjBHO#fHi#$0Jgnfm{bxXJYzsSMx<>SuADz;d;+Dd2yWQU6{`dA zF+tsDQV?>TT4~{Vd7m(7e1r%`CV#@~LUh;v;t_IBnl#;JjSg9Xleh_Ft&590hb}%i zf=#XmRaHPd`GB4U06xQfLP8MNGbYWfB})fuQ9Z_1&8>>t1LLPtr|##N#4FaD3<*MAgPln@TQ$!20Xax zUpKW;R<5*{#RB+GtiWJT7E~4^;8L#0o&G(UoD+X#$;Qk}3eX4Y)fh~0=(}1+x*6VserGZncOGt4FhMT&eC*Q;Mfil86-UAQZd)3) zqkFnp5K6`s6E7CpH@5?+-r$!u7C5``Zk=Mgi1F|>AUlld z4@-iA@U$eVR>u69!AA@D|8EKB!;6(7Zh*LrM`Kvi!EqVdpl5l71{crwi(7;P7+mDx z%@F5jw3TWbE(Tp`%ye@KETT^m20Nm<&o^3Y^D;j{o)D0v!Tn(2?=%re@HCNbFvtC6 zj7}=#QgJm*Ov5g!_BD;#fQGOZc;&0X%oSOW`TdyruEu3fje%UzDx2qR)B(6RdLua0fnveTXTDCwd?0~1)#`Q1~$w~<_?w^%6sB;=@0iSfr(+C%%=Qrn%5vN z{-!{(xGoV#?Yaa~k|hszE+c%OpXg-r8r6WtThCzB!7BTKX{E8Q^vv6!P&5fi9QF(A zH%L0$7RnOOenfd5P^P&@s5B`Uoc(-eK2^Iv#MIGheC`er1QnnS__2oUfvM+T zAV!0brq2*PbIIfY8mXP{fLdo_Zga(8uiL~hAbD|Xy{^e7$Qj@ib*O8{$&Pi}qpQd! zNQA_pPThvTEGk2pE&0KFA*W2^1Y7!P=Tb{GXQF4m-$_ndEOGl#l^K0t~AG^*2jZXV7hT$ zb*akgnb3?j`|JQ$<`P_Uj7)57Y02TuBrMivs?CR|5!z%J~6aJRA3GfoJqU| zCps5HOxYOi&c(7Z2{Nw7K&v)F( zA+b>E=P&2|VzJ8c3tdQP{{ZgQAi2P$Qd)fcT2TGw4k&qB3dL6&eH6y40qVI7AWZxG zL=t07CWpxZ?liA2Tzo?SGJWSI_0nyhg91Z}(X0^kk6^Hf=_sP)Utlx`scs!y!l@6f zIG)pXWDUQDMIKBNg!PN(i0K>qyMxAl+yqi76_9?n-}M6TnIo!M_*oj>uMWjCK%%%Q zBc#ag0iMO*(%tNnGDCvfG0E6HpZ5}!BiyS))O~5s0No^t+5E)i{n_g5->DEu)v{k@ z_MmLy0mURB)n+7C`l24|WUcnAALlU{NTN3z-`=CL%eeO(tWn z)s6$oiql~&uEqXpOA>dhshjn&z;pTgpBuBWKQBS+3+XGrP+GfzC-_8y&FGA%_h|XY zEnwBzuUTiS#fdp4JHjvn@sk#^+{DDjj082`Et&Dn}W zUk4w}mJ&v)0mV@!w5hlkRqkJ2K}iP>`Ko{e0gFsHNDwqweh>{`;uiLJ{C z2g{NhT<-BbZd#SBxE*j+`K5^mMc?D_CF!KzJ{m+RqpWuRuAm9d-8%e;P1)Uqj$jY) zp`gxJuU_Gm04*uclFYP~{SDB1h%e28Y&dthkL&xHQN8$sq$ItayS)4R513>`FHDAg zj1?)4jWLvc92{;1BS`w&8(#zMK>S6|zFzZ;MfbVL?AZ>GT%t5?cx`(fU-#b^FcP zU8|Q7KzJuUKdsIzgOm`yTT|i|DOfwNCd}%_>4U>t9HnnCD*Rmum9HhzMZeU%@WM#3 z_NSKcPuMcwz#}7S1YO4fH&?eonzq5qHtt(BcpU{bU$LOXuf!3e zlI)G3@852n@`+?k6dQlj%m^t8RJyjehVYnq!>`>|#_a!O3U9yoWg!5xM zg};r*ujnWgt;i8vK@IQH&zr7`4CD?fQc+&T30Burx4HlKsv0iL(}Q=u@r-!JzGHelA`m$$t}n!7bN1~^j3?{WO#N(U=QK|NXPDI6U2yP zgi&HDieSvmg3sP9SO$|WGNR&}hxGyp8SLw>q20W&2BU7}NI;xo4^ zr$k*ENz%UkRp5UGshmnxv^2hK_wTm``(I2DAJ0Z7r25FhV=OaUHhSLB5}7YNam+8hdyu^;^C-OL8? zG&J4HiV*ZGL8t4OPkaYlnkiBV}OZjAUZ;lOM4~ZXX_{avd3yZ{=HdQB%UOs-hZK9 zlhW5MkgDlV3im}dF#lj?Y2~E)&=NOwY|}xPDXZ?W;Z>|v3xct2qiFk*sPKn|g3R*;v3x z`kH;%&$5QD^VZ)xrkV={>Ffy_tspQ3R>6PbY-~!osga`wGAXCvk8u*96681$!{}_e z;B!Bainr_6G)Ej6qp4+3{C|tBfp@pIW1;wXLEQI8^xN%G12%N_bO?*FSY_G%)t|DU zT6AUVvn!;S-as6Hl*A^8-8Vjqb6{+T`&tBFPmZa%@Dv!ja{h&Hwtu1{c%fr%dHJKv z4&tFC{eW3VWC#_uNIDPca_n@|I_QBetrHI0!alrqYAx?Pqz;;nPX%I*YW2wAELlxj zqHe-TI~3^ub7Mi{o^%k4Tj_lzKa?s~+8}rZa*m&$dkP|_FYkwol_`2GmZgKC^dY=4V$uZDs-#Ew7Zfy2&CClSABM~8W#cEG)AG z9gRr2M_!O{g04KcG%Ri?i`s{rv%7B3z{He)WBZ+1QGV2dZG#Ij7@3UNyG^=eF?eW7 zn5xrW=;#Myjjd9!@H`j}?TR6Oa`^fKsfmd|wbVJ3njJNsfb*b6{esKgu2c?;5&#k>S2pC)FH=`|5_d zIEcm)qFeYIuOxm?3PgJ|>TS7%yZ;+e(~~%pfu7M$Kp=YWwh@SY))rwI1aDasq;*jL z44eQ?R5M04w^KwRwfjar$_V%koNiGCJ{QkD(07B;F?hB$3G3-qwjM&o?*tO#bkt|I z5Ww&YB=c)fB5ynr3W=f2{m`gt{K>U*QXfzLR6idYrRRv!Lsd4_z>k{AG&VVc}dv$Rx##b+9ntWx(eph|ayDmSt{u{)6ufI8)J{sCWe^I#yN z7FSjZnVVm)uKWdz8F#_N1`z=4_^2K0`;MFhSXxSvhvdPVk`k|0EQc=Ipv0)U$=ZQ| z2vtB*zNgK2+^t{1QT+ouJmrG8lllfUMg-2qX&s!C@P$z^G9K1tk+vlu{Kr>GOOhGH zA1m0mgu_5uLm)*tU^V$yipl>F*`LKwC?nX>lg_5g##~-V7J7tEO6zmKoM8DGxTclN zP*0&^tJ%EK=X}L{oDKK@#rCx!aZg@7bhYAqolWg^VTc@-o-?>Sfe}7xq0zt*2Kp~j?TCHs-h&D-4wA9rOu3UMv-6!dg zLCEo$S|H%t+?@JH(zY!J&9*Dx9ri?v1B{##_CN#q>!csHSU{Yc0EHD{@R6Qj{s2#m zrK-xBBuzx<-^rxz>;y zUoAB8gx)^9K5K{swa|If7naD%jla(Zv-9e}S(Htn+B5as*e00UfBFgVCBD(tMH}w- z+dek8i-4EUCnREUn{>y*nKnSrYcQpzOMD6D%nzUkGCzO%#R|WOyPDHoN3A8`Blv+wAUq~aoMQ>_=VC$6xn%~f`E-89 zJkfr2<({y2?u}02AGByqb(fD34>SlX|8UCVg&FHLwfMG`r^`@3Q;XdIiM~J74k&{F z(ks=WyCi{>`d0n6pp8n1pr};^S72*my+0ijCC1SwaG|lw%ZCxXc;k8@?V|a*5h_8i zML&Tj&`IlIxbPD~8vgk|$_8c)4*J?qY)QfPH3Pia1{D@Z0ioh8#4uX-)ui0BdLdCd zOw)Drn?Et5q{|vcVl4o=7pwSPl6*GrWMB#YOz^qV>>rm_d~Kc-Bm31_%PLEV`f~zz z@I7!cts3Ewt0CejgmICS6udJh7*?vhp|K$A*atPFjR2=T9@Vak~Em1d3&K+V>6= z369b_mEgYt!%ymB?f|tYuV$aw*YGm`V3EZb)Vo^sg7m0OxanRNbM+qe(+m;gNulE8tk)%J7=;2Oot{u;x^}FKH<}k*>6^-JdO6F>+nU zbc4W&x?iYxft=t_h5;oWpnN*xiC^=yrN4KR2PdYKjbOZi<;$|+8Teg_m+%23P@fy! zjoyHd1`BK~X}XSXh>Tnd%~dOyI2L#rbc^~2aD<}nx#sbL)%Pv_pB>()zs_O;pRP`p zuMlphyvgi8S1>Y&jMD_ghO~jCUt{jK9?9q0TgP9duZEg3ONkeWIpUxv1`mumd=Md= zna^hC2IS1NV`1B8?}2&e#r|#x~ zPL^rXeK4NlzF(o?G@3tp8~0@5CveJYqF4Ox4`zmK11YWeQ~{OaAefr8)+k%^`M zYKTNVPE9m%`4QXCM<|6L!!v|e+fBSp!tvypt>n{7!%SbQ_}6X)B^n4kw0Wa8UNzke zJ-^@Dn=G2dg;vq0`~8>XDCs}DgJ6-NXH5mJb<}~T^xZaa?vT2H(aZgLl%!X|W&o_a zM87r{x~zkDX!6-q3-k>&h-d=qGFkI++id{NCNBs5wzO;zGZpZS|NlXzeqf+fd&YGE z^;^2OlMlI;xpPKeoznaU8ht59K8!H&v??~28kMr~lU|@lWHT(i>ywd7vgFWUCW!NZ zNr7MC^)`CP!DKTAXH*MwdS3Ro%h*Zz`cdTPFDpBT4eHcalI=&O%yp^+I(s6aR6>~s z3t)4&M^IPkIF;`nPT`x|Q~ zUdOM=7ia#m>tyJ>^R=id{#H1h0_$?vDlv8t=!=(gY}Zq}^%KxojZ2Ai_@%`em|`R3 zMjLoWPzux=HbgWTPPr*kA%)cN}O8V#F$W?0*0|8^m2+v?DQ&)r7UD77&ffzC`M_7p=z6vfXvYwx6H5S zj_(bF^!iB!J(mzmj_tpc&v3M$PI(i!TLEH|HD>bfUUlJw0hc8`Tx6?bjEwBP*!<36 z{O}rSt~7g2RxW;tUv{>odl9)g-b{mVtk;PdULDGteZv9i)X{Gpf_&D8A6=Z2G%fn& zCLZ5`)B(1!X5@((7E1(8$^VLM9nI$~DBYca16nQ`^(U8hhYSAZ~wm6rAj)YMZ zi#_y8SJU|hT&@pvw99aBzT;8JT7JnK)0`r6<~|(qyS~?2FQELP;m!-~r|w(bS#diI zRL(hGhCI(Y0Diu{(yIKQ^$+f)&3Ssfn}8}8I=z21-O69Ex26m?_X#x&_BJ5NxJmQ7 z%5(S*IQm}>U5!LmfU}@qM;Ah6QR3)^%TH__s+r21%YMz!P{;)&328mQt~|ah+P0#X zx?~JVwozvh8L30>r0TDKP^?)$5*9bAz^0J)Fi4Z(f;Cj$!x-8COG&@O2wB1IUzbar z(JsJ?S&QG93?MBWtfbS`MRB!;p1=w?9l&1kk@_7&Q>Xgm`g`EmBg^09=;Fac&@qOx z%R0OAuBvf=99G;RLu{eJdLg?e0^?#IA<}8$tv-L|kIgciH8$hFef_>v{udtc)XG@4%9`>}v#VGi z9b@rdZ{3~2j0MZkL{tF}gQ8!*)cbqnn)^FYX0f7NAxpZu<}@1ddgT=axVRmVx{xg* z^BP3Y0yT=Ha4^ofG+pW@I9=|~?91dEX2x`YAs;!doMw<`3uV9nOq`MV$=w_4YxFsG6VO73v_{EYyy zg<{4>r2v%SALN(D%^$|;od^yMO=u-~oY5GjN4QFi+u{56a5ea8iu}iD6)?*g0Hy}} zk3X185n7cNHAhDvM%n=)tKxXn8qA72;GcNZ?Vubw#69!@@Bz`q_M%)e_v_bs-2XGH zZHMmV(cx^SS)ltfE~<1khgcW?Z>~I_wVwfV|faPKGQ(47CLO^H!e}Rioxp}-bIrkFLabUbg0&Oaab~ zvD?~dszaU;xQh)Z;2WUpd}jAjHfXv+32t^vDu_avu^sO-b01T%aGK%!suATT)n|&k z@pLItSvUNJN7rWL{YrAgvzMaC?1kOw2dtoD;+^TMM|Z4ffZ+wyl@B`RKJWn~=jGX| zK;oAL2Zyp4eD|oj;c6%#s61enK>Hd}p#WYN9ES5-7s6MXfotKs{s`WPIV@fKYG8W0 zd}8*eHn|3YOH478Y!$B)D_fbKSr13K@h5WfAysr2?S9io>uY4>l{C2nfEJ2`GpXlD z{GR!X63sJOcG7;=QDyJ>z4GH<$&;=0%)3Bwd4BG{GwJOkzu^12y?aR{t>I>7VAFSw zl9pAofQab`eiGvvZG^?|)UFScz192;_PL&x#7eqLG4b_Xdxp=1S%Lb!vltG0SK1h> zg5#ZDwF&@_FMm_S*V1ZSbYlsqJmEH2>$bUnn%{?Z>%jIt)9q?8Byy;!s;soUGAp%u zu6$oV6w$rqr3;hen;FxL3E>tnj6}z098(6SHYW>E$MH;!+~4b=$f4n;*KNXJI9#Zm z$xt^DxSAgcxI`aVmEU!xzu}nr;tYf^26_d&vgMD(~4Pf$^W9DI(2x5tJpKpazwB0j> zva-n@Qq6X3>~7jBMsaEtLAq3se+%rnJ=j}3B@sE1uy7H0c_VyFa-h6zR;w~wNP z9jkWYg%_1u=aI4|;;w{TqtPgZ!dgBIHDzfB#$g8paN@~r&#$et)+PZq^%=||BD6pi zl7wD&Y{07jfsdG(oA);RtkQ= zh&m_pHjs;HnDoI|?n>;J~#wul5r-h(}t=dxOrm4cv&T3TF0N0C{PP$el5_&t!d z@Ac1FZ#B!ib5B$T0o;UR)hR)Ty04Sk+HV7oKP z!m82qVR-11H%UAFbJM5VTJolNciD-aVX-v$w7bNKma3|GwB4e=t{78=>e8p#WqnuE zVdv(!9K)UVR$=dr@~hx>#-PkumrU=jq5WA3a3RgQGkjWTk3piMqFwg zWQ(D!{YN>IrRi}wEO!!2 zYm@jrdp+Ea?eFz`XTen=+=u}8x;n7XX$F2nBrakKKX!bcQ_avY^~d|+IBYySQI~OF z;lM&_^CQ!bKl!P$33hTP8QN1xsMywj_{PM?GyO)fm zVUE`WzEuF(c`O2<9H^$Mm48P5d;lsP^_zoc-*RPi_D6WG-UPB%opUca91&LqRk&D+>&8x(XX+9&`hRQmTw>3d545<>F#DxF^jx+KU_HSuOP zg1-BX^byLFlze|}bp-QRW&J3+mmYJ=os8Ciu7lz{Zvh?reJtaOe zna`6s>9;rYl_KO3Y~fI0tlXr0H zYhHD0fBzks@liXg0B#v{u2IJg%VW&tF%{M4sHjSzXWVZ!u|0a}$$feUZu%v7^u=QL zK36J&qv>eJkC_OXlh05=`7u(NWUnX;IZ=tX!hIrc{8C53qr~&yYHeE!w+^#N-xW1A z2M}=vf&%GC`e(d?-5o$NZZGv6%3~X#rmUQ|5ucK$!TO>?9f~b8zJf^tI3-B)r$%9% zQa1lyv+<>06{;I^S@IAVFu<9GtX;tiWwM}Sj)B=n7l;Gp;rKrqhXL!xll*J$lMfCS zMoO(}ET(TXeLeSH^PgF@MU`&UgCVLa@G~cj@0&At>DS2DNnwRNOoBpVZFEPesLg=XZVHyxoP^&9$}r2o~fhH*_|GlbBff$e$bDxFM(rJl%&lxVUrozpYMH z5;74U?bpF_xmNNA{{6yjo?E967ty$ge@l8KurQN5p=D+RXId)3PAYH>vOOX`UwQr% zL-T4QR`aqVj*iItHXL>$F-o^*FKGXp6UU3e*#8&zBtzR^RE09e+*tN!DlgI9F2xsY z1cZbNDz+ApazMc%@kL55qzeoJ{7S(t!T$Za3O^qoA>!b#`b&UqR$=5=`2apPHlEHt zy)f@Rp7FqPiT+*KTL_}=$9xU6SOlM&_kVm|x?5Q(kX7G#6l+#(Dc*mL@e<7#uwk5O zILk90)KF8b@K*2>A(o^wxbpE4OXAlCCg!HQ|5~J; z?vJFnSz0n69jdoJ@vyyiR}3}u?6o|DBI;!7)vb#kIdB4I*D)QM<)oW>yp1FxVPJdf z_4e7&1dYZ*e3W6WsIiL+_wM>61px)CVqss``IMa;b|U`7$2~i5^iTcB$asxTSZ+In z3jyD9BHH)%VC(bh%oOaBHDvC*VZ`Sk>L`)?P5ls?64Ccg#A3J{4l6Y{{2Y)2QidHf zt`c4%92Sz-*9tTazpN>_p#%;bemw5;z;OurEjz|imn}Y;e7fDscD-j>l9eyjYYS{L zAU(JEb7=C@Um@qyYb8J4Q&s|JMY`SQv~pu6qkJ_o?Bk=a*6I;Ar3|RymrkqR+tnw4 z`$m_Pl#r;Zs!|Z(;~S8ZkQ^Do8_9?Npm*=?T_rLSk}zq0evbh_XS9HucV*8r;JsM& zrkK$mPDGQ1od#dB|6L_`=shGHPXwZ$IC2(w zG6E-G{Y%f^;yfK0-p+2Bk|ikD5gkEezP4aRHS^*xoLkb&Sqn9w#7m%wu{IepcsaE! zE6O7*Jak>`W%VU8JoT9Qc?Seb`&-TliLM$775tCWEZdceY61TICjO_7Wjv~szwfg5 z#T}~$-=CO;<>JixZC#O54RFox7~a{=lqRP#ZXNO-AS^=)+YA0g82%0n+=ZSu3m1Fn z=brJ1Z~wCE#5@{KumzDU1A#`FUwiJxqb||(vxls2krIY;cU`T@*>#GlGvI7^4{d#3 z`|cM#T#N%`r{Ew881`n$oj4ZcEeljYSm2&5f1N+NJJd~#-}CHmq#H^LU~$VM0uK=vx^H_4G-1nH%f~9T!bL|y4p|6 zHNeb^bt1p0Ne8`d4fR#oA7$}@YRXlna6bP4SD^c1x9AI>j>|?$fwz^I{lh;aPJXZ? zO5;7;r}^S@PJy=+7eeF=#-GJn2$Ez}2f8mBTQa*)8*B(b+=KI6KE-5~K>$R_* zk_s1EBEZ5mkvYL6hPgnf0dg=glAcY(GexTxP3KDtWMiili|^kNBK?fG;&<=PjA*!b zANDyPz4=(I{H|l4V^4}BlJ+&p8hVeAUVP(+j>@v%Z{*xqD!1e_Oc&TAy!A(sJle3dFKh4Zko!^x{^SMmrr)4&Kf# zE48fdNBk(L17;xmTZO}V8RjB!s8QApqW$T##{yZv2ZLQj(&<6XrjY zP>@_pVKQIZpK1*hLORTY%M_EV*E7=1t?(vi7xXxFGPG5EDmwl`jq3oDIrI^JJv$tZ zIs#U+cMuFKWniuSPNvF{Cck%LzYq4odVG7A7|m1SI6`bB3TbG z$m!|n>|VfVBBJus8_#$ubQRqBYZsl~8}cZAHtTxAPvYJ(6TMxtJ-|L+&UcTG__`57 zOQj(!_yYUlFHWN9CsDf6bx$hK$-nv1@kXq8+byQLZPanyoD}iv0cqhoy)H zfO2}tSov;Yig5{do&qaxSaR*bpkDJh_-RGYyM2?#4-G9kt9^!{abE)D3LRU603&<@ z;xK}Kg8^?0ltEF1NJWnI200sp#N3QrYGVL1AGPK~iw-$0zQAlwBAhl3i{rg@nF+VX zm5f)}+*nf>6W+`jj(7@(F&nrUMvTCV*c2-S*IofNPgwA;v7fkz?4RzLk3vin@RkC3 zN(wuMF4C#TjEoo~*!Q1YTJ*2}v{}67s5<9RjBs|rgU5PCzS`wnkTsN$`gHVk{=i!A_!Zy>MF5~J3KiM zs52VWK7pl#B+9*c!-%K8ENcIj45=%X(h0Ui7QodlK^CTvc&<0<;;IM`4VWSCo3o|c z%WjZkkWV?{OA?%4bN~1+!4XgH#=sor?^CC45`JG?deAF|e9C2q&+zwG0(tFx%v*hu8YwjerIflyk zMU+%9%Em+L1TNwZJK>#Y{(cTp=Yn&EHGb|k2=A!7rB@BI(9+`L5|I6{0asE3B+VPo zfGE&*yVS{m<97oS1Px(shAm{7-m}V15Wwk303blxNk-)Z(W+lO5!j=W@C~;ti5AY3X<_~Y>$Ci0sKrIJR-|tqac0p2=Jj~W!?O5A0(y((58i4MB;Zd?ib*y z)ly&q zcU_^ljF-u06eJXyit`|-jRgQ_`Fjs>FBtF29R+)AfmqL|?| z8t4f}9)ehDUa?AD;=d}NTJ6eQIH$d_5aL^*4;-|*2N=Jm27)571_eB<&i8E3d?DJ3imiwFnFkBE%)jEwUi z!cVe*4TmTBBdR`d1*pp*F+n-DI!xN#91r5ffR({|SO)g0hXCX&_Y}S)VB56(U$QbX zafoa^lSt6?nI1m+KyMFZHQaeXXf~N?Xrv_g`JZVS8yhb{c?gqK!Y=TgT|jygTM@S< zm&V4%QW%g(7J9cP7WQ9R%LI|fjDYpV0 zQa;$!BIfDDO=|1o^m2O88GT%>nLEIha_0`=$=yt&;LxK4+3ywLF5cP%8&luB`P~` z0%~8WaVv@N;Q)g-;Vn=P2h{43&G9l}?R*YReiP4jC0tTC<>zop9nGErhjam*fza)U zt3Q9LhtlIVK)OdrQ-OEqLGd$|3gN@Qv2xz)H)@!~=uN_UZdm?13`-<~h0A{-j4<$qT2l&+f#!?=un5VSKL{9=jzAi`06$##!AhSm6jZkiVZEo0FgnPO zUgz#F=UZ<8rQ4J7t7o(P|JiNpU-umF&F*({mt=wA!{7u4gjQpJ9Ez;@$N@hR97e3m zn*7FBquYK!TI;a@F!zb5>7sd6%kpgFF|HOL*aEe&1JrEFgiaD2A5k0uhn_YvB|_es&iy zT~Il-fif^0(g?gD^wN4IUg9Ut!i@fOTQpib1&_7&k6z)Xk1Ln;7!@UDDBOkw z2ZAyxq5SgY(Ss6E>w3!kld6=Y%l~U=TfBRn>SScs+j{!$FOr8NNr&IuAfV?9B-E@& zc!$TwK-MxAWHLqCZ?cjls>WAB9IrE`Yinz(0Y>Y(Y8PU|L@Q)Y8l@ytHS6~|&GLu4 ztJydNZCcD6=*1+S63O8q*)TxxXHHvT58v+;8X;UH=x$PRTC@;}TG5{v=0iX)v{SkO z=?P<`+m94ZJK#YaRWR5cijPR&v9+grSYrUTV;A9ih}zw~kNrmNfHBNq1*~eIg4`29 zwxoRLHD_L~+#Y9r+FW+n_y&d2br4Uk zFn2Kj)*b$Zq>TEUHnM}R+aIJ1kIsKq7I`pEy}LJW({I96Cl!C2imK=7 z1w<#4S@b<>iVK)K>>wjyx z-+~vP)AMr5V&vx0r*pc%Sg=wq*q;JQ>6qeI` zKvj^@-L9wn)7vmDt^o#K=H}*Lx^Yg(0asQp%It~tORy9?v6CJOm zPKizw>_cA(@o;&?_t8WEz(CldW|rOdBr(ff928!x`?4M04H8aHJ}r8Z)?O?#l~|3h zo$!MC*FfLU5T26K2N`_4+V!2kILJqWX^Y?mS%nZ6Y+8_TaviPm^fo!uWwG8og$FCq zmN8!96#kHUJ}-*I7PXZdmJDE;WO!X<)h%w{=>G&Yo`C4vn(dBYTk_^8bojb!p8it7 z)CNS=4@=CaV{b_V&5e&>GKWG$gJe453ci+Jg}h=>4kuw7-hgo4cn0m8&`)w$3(Exc zpJDn(MiOhL-AyZRZj#^e^knVjBlF)k2Z$1d6!wi83)KXrVC}2qr3~CPQr1qoPf$h? z9SO+&WiV$d(Qbm((q^q!%eM$c!(0n7Ywsi1b>R)}g(wwLo-?=$0m0l)w3)hzF1}?}%rYF=);0XbV^;8;w>fUHUMjejuMZg6=yb$r2N>C1gs^1Ul zzBQaAF0CaA-GgslDvre9jhdq|j+QFUX0D)f=&VjvYIT)#dut(qv;*My)-i+BMx1S} zFJO&m-G)m`45}D-AS{vQA$`oMMH@bT(*nS-+2{=`_8-yw^pzW=6rx?ePOC15EC4)b zTC0%bcFwhjmSXAqldR7XVkg z>se;u?-HF^O6=P_%k6e8g)6Fm0f2Hla5(#A0gjgRh~`!}Pi&!Ta4AFQYA3280gi76 zpaw>3Nz0AnowJqpmY#GN@x*p{W*dLeUENRl`W7nQidWK_UbOmLZVw)a5{2J?l|QFE z^kG^x{&s+0s^5N!+5&?kzuB?8#|(c?V>iH_YAb?(}mhn&eelz8IB1r3K*oXNjmes+DEYFvzi5-3D} zgK{5&*2_qiYL*KkI%A`6nm;Ff^fyPuz`^`UdwaX%3Tr^%71|4V#8E50pwj=maiE`J zn30izAOd}l>;zVvEKtZ6&_E9R3a_`hcG6%uqH zKn9Sy4|oVu+t!|{WXun&#KcVSx#h@LRo??7{V)iZCigKN>j1M98Zc|q+gio{okRuf=)6V&F9V zy(Q#d@b2@EB7ZJnF4cT9@ta2+SeccA&yzr1S8f9)7t$zWjA>8Fw*O#K!v5&wW=Yc8 zReFT_{Li0GFjRejRowCd2lk-|eh~#wXGj(Nf&oMzjM^MQ|Ftwt6{3F>qWM>3$F-Iz!|H2pzZjCy z%&PneL9h$k6;NnFO)9|x@+oz8@FIaMX$5DggxMPk81 zjL>OrgZ6}oe{QvP!@tOgh%tNVq#GfZ9r@}bb!PiZznPitGfS@0AggOe7`ekE=q%H1 zNTftrIl}Yu<{u*WSE0Yim3A5Dy7R&9EpQE(d5_-f$sFwFTcC!mmBzCj&3 zlAE-6DrLrQhF!00&?ma6JqOMW@5E)}Cs&%{J-!&5{32O+wb|6^ z=K^Acry^|6CcHKxhN(ypr8WRP)$$(wHV22GzV0MjM!fA@Qvr?+IDix%2R#qZHX3l~ z%YfwIt(is|&C2RQaATG{{_*O~z#FT^+Mn=KFTa7VB+hxRq(smsO*}@CGhdm$ouzE5skm0&g^2ZvYcb|mgK+A9Y z)?$jGpz#gvBn%i_#@r64n%xQpvCxIU0$|0Rl1R~@u)=k`E{0}9iwZ>E?jOn=vB1Yo|=Nd%|z zJ+8-?&n+n_nJkiUbxE(SxF8o3cqt zSB#qn6QRB6NMcvZWsCf#g;dKFSjezOu%t zIo7mre<<@M-9pCaXuB06r^jyWSv;?*HaYfMt5?<{Y3S(*09}104EDmwfLmA+BOz1^ zOTq{%VdyOU_n8l9MBjkL^LtnL$KZ42^Q0t7ww<3pn)9gDJ&ys|af9NWpW%9a{*i)p z2=q-v;k#6?Q}I-ithuUOa<#8HA9_LsIp_5|pyF0HM3{^)leytn?$ILcprXH$06Bzm zd@+iC5$tc7ko&O1Uu(-&BnfA&1XIUk5AS_9sDp}<3X2pH zYD+swC~PmvAU8eDk~#{7^GECAZPBy8I(G5gm`%J-Ws?a7aJ>D zBH!)2-3DhjCEmy7vmCp}Fa>zB791&&Ff8x|qUip+SKCGs`E0ZLfWOx>4orwIl-a&~ zA+=_us)_>_SJ9N#Qn_-E4B64z{Z_>NIrxcD3*i2pt zv=IbXu_RM&=#Bi_hG8n7CdeyU7NeW2%ni?gl6?#)=HBdTPuf?X`7K}H{ET0{dQ)`( z?#Stt9J#N~06J7AyN4mPfw`b?upFh?Ah&bd!|SUcLmJ>>XRb^u!7P%xH!$75UA{p1x+>f|LeEgU5xJ>K z=*SF_z1z(Py~JaNNvdBALgSewUgGeXMFf$}un7xSmytSM7`)#OcG|YiE{T|ui_f8L z@w+WW%G&F~+N%}LCf(etrvx^yUVwdUP{35m8qC0Z6#L_HSQwko{q${4diJbaE5*Un z@k<6ARbb~p9t7GvED7%CGTZbETqs_?#yV!W@U(r)@U^y+H_5hnsNL-`S^nvcxMDKm ztoXiSrrw2ya#g=TmwtHhcS~jR+WA>pTAFH>Unb`$If{*A>-+oBWL1+SMstMdR(c7)31rDlRD1y6EVZ-AXaI;Lw6}2kIyL?CggXUOKxetwfc zLUC8l`d6ENri7(n9zE8!nq zgyZ~a(l|w~@Y;&}2A2%I;Y}87tk?lrQUSx^Bk4p-)pVMxx?i2&FT&5ej3^h<$nsfs z&2Iq^lvTLJMt_I72i`gEzOdCzII%DW-d`e{@DVw{_}*cSd3FGQlz$N!q^C!b2d^57 zK%k5xT1Y-%>9v1wX<7h7aYtV3b>k{WkNyL7Ij6tDf5G(s^#~)8m!kJYfB>Q3sl-Dh zZzWm_JvO{Vj_g*H<^IrdSzT?i;3B6Wf5aGRrm{|6@X>SpUGt+=)lqHJ{rgO5d@O1|^|GG^bN(K!wS- zhzI00F!J-Y7ek9L?IT-eJPOCu&EY|0bhyJZCO+OfikpLt18anBL}twvxfYNhvvy1L zBBn~5<)*=WK0u-9)`49_x!Z}a}h8UxSq1HYA*9+-xW^WXs5Uf$;I{eud*Kg~( zw};^=`0YN^e2}=znq0t5`QB>AFgG6f*^g9HcdK5{9r3V0kS&+KVHqReCBTw`RSmB1 z_1$?3qFowT>#>?dKk?+>(cH(B9$bEA7G1brSwMvi#@qoZrpagYH2Nw5>#WXYg+N+_ ztt*aNMMDgmNaZv0OlRyGt{usaKtx*9oZPhh=!Lh_?mb5}1GVlY;}_{_8&~s{bjl?}y^pR3Y-6KJj_r2-kYe{054< z1J%?`=YUdW~EtL91We`Tq6%ODCLgG7bxET>nBe3FS-Cd+)#FJKgU(H^E@i!A)usC)+J@Svq4apud|3 z2esf_rk4{88S)FeK*hz>3gRYTXN=PTF>c|o)3VEv{&UA%43%Y0z(wr&vJ3w=1&ZeP zedOzKU|CW}_MfXH_#eUGr}`W!XbSR1A-Yzkz^Je+!usdNDH_FN`#aB@-&3~U;N<_y)}->;V?l35x+R_vVVR6s_F9LI{7 zn_5r4Wp=yz4a%!E=SQlyUa{G>6`~tkZr9e;;S$Ncf6bz+-RpC*+j-&jx>L3={#6)4 zn4a#GH9a~wP(#|`#lG)Sy*7P1-lESE1EyFm%iIL!<_V%ViQ*1X5B|JfJ>9f?+>@CZ z^^`T5h_%;qV`BrW5O~wk(NTIJ{{|91&pOsXkCE@f452YxqVn=BJV@G<&&7b;wV9Kn z%+j!K`>?~q!wA4w=3}2ey=VRHO-8r9ita=Mcsh)Hfa4DbS?CX6kajR9fI0*#JN*F( zZ%=WQrKr6G{C9842K+3Bh_v(xNIC{~I30)$Zwf^2Nc@2A}l6}7=u zbdC_t4(q=&UZb_4+FxEXe2V zTw~^+yN0hF=9DOod_4z!!{5~O^kYAue+%LAO@@(as68|ODC7o7-k?>V@VWT<<||z3 zw=;^~hGu{`FxY}UBV-$IzlV<_O@p|C?u50BlYI$cVDOQyrE^yK(Z^MrW6-P|f{K+B8yx$-qqB2UE2S74 zL5={IRK3wKt|*lJFoF<~4mz$5fe*YqD> z4y8ckp!gCkhEIqf@*MOV2U<#Xf`bj9X|`bPeM>|{w0m7w_w^BUKsSd629{uOs}Pi( zrhsQk#&uH{ZJwGS(Y0oRyLtc4dyi8J1qb=(2ctPxpH z`G6I~en?bgJSYqTiOA`p~5l3@k_ZV;|sp zXy8or*$?Q@qS~Lv^CLH6&dv2qK8M2T`~nL4hml|?VvH9$fZTX?u4jUv^+$5F|LPEi z?gFxgQ3CN{4Q!3G@bK`fzqV&BD}c4HI@sy=#zXwKzKWQE?EgIoiGnU5uluuK!BN3k zxKKEULXQ8yG><+^SmGn?;nA54+X_@j8VF%7#Kgv)8d2h@o0xp+epCRii>Oe?rmE3Z z>5;t2+P(JYa)6I)l|05EjaGf{Azb#ne_&s_(W+Asm)l=zGp0=MJSvuh?p((b z9idM^`?^=d-q6sn{$nrK{NsTjp#E725%+I;F4yu*3^lFH>YQ}1zM;9}o&=46#m1AF z2@1M|YugiLqqgHF&^F?#9`AEt_4qD2oSn22qex zSDyhPEA5b;_xlk9G0I}6faQPD2R~D0hjYqhrb4uhs1JaF^H(l}1QBzDgsQ2C}!HrMMW~lA(jH zkK$O${1Wcb5WD$PKA*$&Px_*(ONt+f21Z6k-l*MWcZ)!4QLm}(D}%-tWXLpMAI@e7 zMl4G=+o2t92Q-xihzfn(u_S& zZ!_&wWJd?-Z38-qAT&9X69EBBTqzD5ZI#84{2KMqxN^+f%UWhE?70~bI)4zofMV&S51c!$FtHn0&jg-eE zx)~yZ`5H8$cq(6igGcm>JKHJ+cwu(XD<~>n;y0~2*Hz)$oDzjiYqKno-g=the7=lAo}iaEq-Eh zF;S{dRvpmF#ceAR@w(w}?dt&BgKRknHky~c#X0F5d*5Y-U zb|F2Q`|*gQ5+r118uVZ_h<@~QaO??&g-8^(QIEzUp#a;&8qjiownifD%F$TxgO0-o z{nu3~fauPzpEWTa>z5-KU#D||vmzBSKnOBGoizb5SC2ZFb zp@OjO$=};@s+OIswsb3orme3e;Rz@^o= zS_vX8b)TI%1u~>|pu?)$Guyt#ENSh8yz6@Ckz-HB(-AH4={PTx)hd5b#zP*Lo_HpO z@$qri(LAAylUk~VlEZIipjQ$!8$-x=T8Dzpbisb@)QgqDp~j5BT=01^eVk(qki%la z!or{Wf5icaZg$ak!V*aeB_$=r&0Tx(u(7j>WwprPY57)~?VBFYY@J6k(us1+moC}Z z3MYwsuu2TUEP@@(SSX-ul}O#05Rpim2`qRq0E)ZvvM0T5cVi2QqKUAkD8yB%r<8~{ z$xHa28oK>w#E~u>Nz!{H2<0_5H_lLHR2uvl4+o`t=2`jxmz^bj=>In>TmE5IiRTghT(R!hO%cPZ2Cn0RW|T3}O@f0bwR-6exmz&teTz+eOjPA*8L1V} zf&at{e^jlAM-UeTWS)N%ta_-)K0=4Yyz8qKOp92&h0@Wu5={hFIbm>(4ohbHW!!jU z9mXymXtWq$17bptFgE$o&H7G9Mky5A?C7Ze@1vtB&?e@NLqGBAibZ|HIEeN7;B)tY zL5e~nKn<~ML^616EyRe-h-?n%HKADa&0V8=_4$XZS1=Aj4;fIFPlt0AnpG?;n7_J9 z-ha38=to7_OUmKXiwF3ZECzViLvFKb!!7uJ%QV>;fHD=dJoVN;ciQC=)A)V=NNnz3_#&r?*$* zEtpmECr!q+c;}UPs_nxdI361ZJX!V+=tZE26*miyedEHFAX88_clG0D(^c%tC-`w$ z*IfmJji_?PX?L+u2I&X`<&DYy*0t?NyeMUC660tq*dV?GX^^#!wsunzbR{Vn85Qh> z7pcT3Mc`jlA}mxtWn^Sr0|NttR8>1ppefD%3kZxocK*;31pj3S+mnF1glv4Vh1!zV zz6P`=raDpJxHE&k)pq_D27s;x05%sTWKrLD3J{IV$ak=iAwiOUy!7gG{~-!u!IN@! zlLD?{dGFgQt)YkZcwsf5+VsVwF;#al)@-ML*z$eo4Sv^!j0<)3wKtr@PMPF*GdizS zM2ALK!<+cAAir%aCf_`dJ>QOmb!buptq&VQ%>|Sxo`n2o)=1s>FMz?b z%}OPmx9WTgj%D8uQs;B)=VAcCi(qW<&@ijI1+r4 zH9E1e?)Q*(AH+86q6iotx%Snv9^5YKt0jvj>PqF37pjoQKZb5rcEr+<`T5=4loT8& zbGLMq2pt^_Pi`?0+`z-h*AYXdooD<5su}MFklm~Sx;)T62W5&(>~nLf;vqrn1yQP$ z240al=-7@WekQD?Xo1aD$M&6woJnIu8R$Aw=mQVLor-DZ!D#{)x&QdI&;Qg0xb=VG zwPFK>#9ZG$yL>9_zR`Elr<`H2hZ?1fo!aRDcZUoZ*8X%Ik5Oynv2`RIz$|;SBpf{K z_KAXnTA)JsuOC!<^-xOjC73OW#GJwX~a2 zqFIuO%HskR6+0W7Edg%mCLq2~*1VQs=6_SvHpV&kw&3po$LU(fUGVj7)yp-Cc+MvIFNYdi5eG@4gp9?^HuyJy|i6$DUhBKkoY5>oyqo$>I03qRn`iW_^QE) zTlJ*B;A}eNowV1ldaV}H?7wH93knr;0)0@iiiM@WrXTFd^mqw5gukRXY@Af6&7T`Q zcQmHOm(Yd5UxO*1$$tt-7vXIdqJbd$_Vc$~i$u9NW}&e1Te2A~(f9<0TWpCmr=f$I!=sQYP*@ zDLyg|SZQDuLobextNdJuyC}f_jT;gQdWgVGq`5GoZ&{@V?|xFYMwXrK z*%`Q-w&gMYL2*0)r$C;~;+5jDXd>+V3@Apv@b{0Zk!JyW__a1PfvZ>k0F)Z<^N}!M zcD@>yV@<93^){q>J-x5=n}HkXdqd9$H3q~7aT*wDpC7c~N3zAeEVCl5=lJ)`5So9B z`3BF&zsSAhqbei3VSTozd%K=!mR`LJVUC*0cVN_PLY(lR6f*y;%_Lnw!8PzQMliwq zvJ(#aq-=c_Jispwy8gL`5JAOLCbyVP*D8F&#CxghMse6OhTlH2V|2R@@p~F)-7-+ypg2+%$%@x zIO+b)*38d!BwHrI%v>L}#78Q+6Vny>&wAfVYYyowPZmaHc$?bpf>bhunCjU%LfiR> zO$oel>;$ul()#_^WfavUnX()E{RaQxQCwCe)01o`1TpaJ0dzDJ3z+AQVmwVNZ*!Np!VFxoJG-G@>? z{w@mnlH|h!&QS!EpA4U`x{~A{pPe1?x~0zI=~&^SK~wgqN|>Mrc2-(#pJGi?!tFb^ zz!4h%T$Y2`kA<3}bm#kfp~D#7+-M|p^ICp^Ai2|W<55=(%?WcXH284qK>_xdJe6EBv8VS z?sM~hM@ug(g76*g@WHh?m5{6JaV+Zy7VF&O{-bG<$T27ooSicJSCxRX)d=DVm3ev# z;Oi=NZ|`~$>N)v4iUh^b&p+F}_NivCZ7uiVYO3t$HV>Q5zrT`uKNoUD*vxK^V^j4^ zMP3)l>aGL;t&~OY$}z;0j@*bA9!OsVf{?l2~&%rOw(2@HaLg3>DZ8)uB~} z0%%acq3TfRYU(ezpOoRoqNmKuu<|ls3XsIdM1av^5rcV|F4BFXfW}1tB>!u<&zipZ z7C1n)=Z=@C7GZu8LHHb&OoQqdo&%4_!otcLv`{zW%lmbxR0fuaV;5Y$KVC?T@{{Cub#=+x!s#^s7_<=zsv}vS zvyI@Lcqj0ZeuNSJ=CRMJ3y(P?-L*Yri+WzHrjhtncw<4a7n$RY-^^;Q%Rt(z>*#Prd#Ls%zxut%@gTC9sTY<1egxKt#f7&c#q_Cc-ms|3o5^(}4z$buI zTl#u9A5v+43dl9hSUWm|jm<2&#h;ARW;16N?Jwt9q0df6Pla@VYl{~h)v}qdmAkw9 z3Y>&h$nj+30D?jgEsTn>vN+9!3b8EGUnMVWNcQkB1^o(e=tr}W6^u*1_~aEN&duHJ z{aa{(M{hzr)f1ZGEJqHG4uBD5sS)lsGL}wXy_NpL;no<6E0swN>RT+zL0|AM8_t`A z>eLdzxK>4ngzSZ5IeTi`{exYuDi+PEtLghJN~FFDQ*(QVwTSlfWNCaZ?)8%KYcG!7 zZ~U4EK3)yt|1Ky79-@E!5?M2$QEq(Is_&19;LY_f^mX|(0ny$Hx_}JVTf9#EclC7z zZEoL1P4<)nsJq7sqX$Q)9#`vct<1aPr;Gp7)6*OIugnl;QR8MkqCkc^zb3FiyeyWI z3&}sqjD%(>QKc@|I4vwe$FUA7U``lm&KpW!XgoYeE6YorG3NF9~)%zQLQyX@8 z?>=q6C%&2;t^j)Z*kMqimhhs*#AxnHW_chV4Ci1J6MT`yM&1LmPYftQ#%WFiZZTWo zYiOijTrbdir$*pZHw~pFt`MzO3I;&=+8>^UF3e>v%sV{`I(ZDEx2v%VE+-^3EG(?H z+rEZ0oUN|2dioz$ba093g==Qd^iN*_4hyM!b1;|ml=*d_-N+3Ht} zyHdDfgyIgwbh~jvWlCczEe$s#0C_CcY<)6hhl4KZ5%&V&rfrQ`ctEbuJ4SsWy7^OU zB%M*pjUTavjl*Nq+WZP9#hd#CzN`u;GD5B(XI(WP9|A;TSr=-_R3HZ9zOX`G;UK<- z@fF+wkC^B+euL?m&@qnxlFm{mt2yj+K-f>UVQ`7VoF{^fD9|p$7Sz3yXGBOf&^!X5 zslTK2cpi7H#NO-%ExsWAV4&Y06uQq4wm2RJ%q8}s{S(sne~@KG;Ts-;1N|+LT}8_h3}D9_ zdK1ED1o~*v;Ngn{awR;8Ok$-*igC@?NrX^061lm!(kduKe#)}SdJ`dR zGuLND?uGHnz>ATKiIM6$;XC0-YV@Z$&IG7Y| zrTkYL+}x-YVV}U)e+Bnx;=Qlci=VLA8-UP@OitN%$MQeM0F!cyAe07}wD{PC^OWnQMZ$)lW2DO#chcXJUcVJkYKlmw{$du?>p(5YxPZ1_f2XAXRfJO=9g7 zN3hMyUlcCE`3$rGE--hoGX5z7Tl=M}0MuzzsR@*QI zEYel5YIx}obj!E_BM&CbNHyAN3CSC2D ziilvcw6g3!j!B0;BQg?el9Rvkvj*jZE;8; ztX5FYjPGz1X63G>tZx`Dqtut<0Ug77RAw}}dU4`L=!JaCIV*!%uRN-g7tY!Nu@2F> zBPC$=ven}s?k|wMt*=5!@DqmVoUE*7E-EV53X*br{^@U|GBh$mA#Hb9tOLzFpF)$ z;IX*6tBYG^1b#yH3E%d&@bK~Q+=Xmaqproihz6pz_DHv4>I)|aOt&Z@$cNL8)=}CR z8EiHH6DBQ=)3dC+#gOr4Ym5r|(zn=v!@0Qard5CA4|A=}@X^$}nfnZg7uq0zwI*QI!k4%Q9{#HN%@JuO7H zaA^gZYk$~FUPCC8Ny*9a14p0n5W5pkzBK+KpPa1*18k_Y<~OfGqlLk=rK(u0GGmKo z-YM^fS0DCLHn6$o;;z9ZEWC?Pz_z=7YA9n06IxFU-^7S6oZv?H{edD4K}dt_iuyx& zf5V->#mb?bSt`SIx#X8{U@+U#FQ|>IpeohJLyGGv(^RXu#Z@T3cAT%`UXZUo1PI}! z>awJZr;t`k^HGel>_QPKX_ZK%86yWzo#CY(BLXS|K%fF6#AwVCm%VY59=rlS#TekQ zFSOoYR3#JGQNe%>p{1aVP)Q;^=)eCG>M)I3&whpR5Ab|4kq}aIXi@?Ef3Q4g)FCge zh1JS{w%n|Soea_q!Nt}cI16y$zOHVT=$Ikho5W~LJ?#c6K6u$Hb+d!RGF|u$?e>; zosfT7gS)dDn3^lK;uGcYJch29OK!qFsm`yLXfLs*0y;MPOJ5h!p zu*sZwerBhwYNZ7Eg6jw%X%};HzNd&Mzy)I`&e0=t8=c0@*1eF*QC3pI4c4-v5i_sm z&=%snRM`yR@Gtu3_4_%|(_-n8kcm6!t5>UTvLl+Dq2aJFTYhL~sw>mEK=6Wy4%G_= zGY34w2fzu@27?G#6Jvbs>7|^-p3P&9EB@l&KS}gj^9s;|n*!)1FWUa`%nn#Z+ABZ? zyE>&Ktg&Y$hx%WOme8MV{_1tsyU`@P3=1EAl52AR$kL)^VbvxM(hldn zY0}h9nM8qSYx+~5HyFV|q+vj`2Udg9-5RsXBRpIb4KG-C$q-8L;6nb+i^xZ6=6)hhg>oLzNzo!-yZuU4dpe#BK7$W>csQ|Ghy3PDke;CmN(L}es^b$dBcb+hSx*g*PTz+iRqJs1^9v+nA_g#-V)iBr z*1=t7#h~MIFb8FEFqd?lyb_J(;^szCrrJGWH@FcKOMytkUrvcJ-e+UdQXUtO{}pMs zqHh5_sC|L=c)01>e>)C|wfZGk>B#N-x+Q+c|Fyu?syM9Ez`}$ENHHLE$S>0R)r zY;20+Z-tyQQ3ndwUxj14TFpY9~drOqQDw7i0ulcO1}fv=nmFA zKns>2Ay15EvErpwbo$yjG;*)PpK8J=w5A6Y0v==^8-pB%?6my{_9>%Pz8B5SaPjpWt&Z!j5KW|j4(Du z!=qDW)u8Ugll}J+ao4@RDo) zoykKd!1N{tCSrQP>x~Q>V1LWl*tp896HuaUFWHuosl44|N2$oOWS`Pws@l~Yp zBX@=P5)Nc>^WCvG?Dwy2ARKv`x;CE?6jkL?0OGGk$?Vl#Vx$CD>=u6{6L9JT$X6JV z?_a;|a(S}+GSwnTUBNKpWf2%m&yog0Y(RkYFwC{Nn5kWni=)KP#=Dor>lW?anO$6vJ(K) z^<2V3+I7`Fxh8VVU`WGn1Pw%ayFSET0-6fxG9YAH{kO#}bE9@72W{OTZadu_ud2_kpHT>SKa3~4i>mvLE(210&Pe}U=ZjiGm1X?DXV_lqItcH4 z2^lNUvE}f;moJ&bHt`V7hlRjM07G{RclnPgYkmwmw&Y!mF4J4+Ap(Mg@kDf_#0D96@V)`X3IWuZdcRMk$^|%dka%3xoTte7#t1poZRp+Y@LbO(3D*mi0 z6Aw@w5Qa;SY#~W_$Upd2TkGIP758e?RMi?k(bp4<^*@EH48_F-sJ?l`gE%lU^rQ03{w?R=8suRTb2e9@wAr6!6n4| zNHU)UaRqZ-p_1a_E-GQ2A~q%t9-Q{baiVbA{g(2TQBpz**8BZ8k{mO7(ldEt9n;uZ zKzvysFrAH#Wkwc2wP2a*Kwo$Nh#cuwMIwQI#6gG=N?gP$^p+I2TeNC=-EMRg2WSg=`JHdkw*B63+%&cMSoIyC!&Jw4v)jF%p zgRUJ9CwIPB956|_rZx}0^GM@Vte|n|vNY&W#2G(uBF^A;r1Qk^dARo4BG}LFsr!9Y z@k&RuE1dGMu`VX&r_W?!J&dl6?m_w96A>9{QVwe@#41#vie3Z8^`Qjak*B`}vLYaw z5u_RI)=g@?u*t>G^mRlC+4A|l1I{g7oE$Hrq^{SXfa2RbY|%*Bm&)Wl@W$J+Meo1q~cn4)9& z0Y`$9h{EWc%>nV5m0#_AlL;XG$1roRVGUW!51?m-{`Xb7E5*HlBP}Ep`pJ{bTEbz8 zuV6q}>A3|eT4ma9&d6DZtWHja5KV3E*kucBz|xzPevRR%xiZRoPxQysb<(-CLZhLq z2RoM;77OjuHdt~w(f_Wk#zYf|ISmon7n4ztY=9^)K&Ww4kh@iL93QJJ7z07Z^iW|r zoz%e!#Ah{j*%E9(H%oeVs%loEV@@P9cvS#(JNWr0aNAmkp+0MsE`LlKFHYCmCzIKIw8IF<6pw~?fbLp@}l6Yub#p4NwffYs5xmVGqtVD@#_RhiDXeSu0+q?z0f>hLkl|dxV4SK0T z9tJ%2D!^l6u)dF2;VC&LzVz)P>;~#tJM`JtOHs8yq_Dw8l%HG&+;x$Xp>cbxUwgp{ zYD(wDM&YdgC-R-TQN{0gRO|{03J8@Q^sMdfl-{Ooyem7&y-zRSk$A87N8x|b6pXE} zZTiSLaY9=h2kF1fE^qw7MFiHnw4_3AzVcBN*%uIzZ7p?aY?1|<1ZGL1~Iv_;oezw6+dQ{pwFV>3yW|ASHPKd!*tNPyzz z5uuoR3fElPaoW{D1&$85bV9?2^yIl6kanQ!nH(O8x-2U;c$PdVnPcVN=)ATW2g@7A z6H;8lH!f8NF7vtZD@{DQ`5-Sln+z(d%1Fnqf7~Vby)>3EKX^?BI z(uG+<+-Ha!s}_Q_@Ebog=UToEC0?VjO%iMGhWuy|jS>wpQVRs)BYVJEr|!)*(dlu0 zrT!J7hKWy1OmuRbE1^`Dp{JoyV_{rnb%qN*wyCG4r>48Hpe1ga*W3Oip=)SQoCm6K zB$P9N@mQ9=7kHJavWuj=vpA&5<>E)m^l6tLcz`VSOXW0!H;w8}-v6vgW^CyR@Is@p z$gfsF9<+9lmTJZY-u+}y!?N62-`(sc%UuA00!vtQ3e^X;Ey_SE7}9&H2FPXB`q1>u z#oys!&r;w7u8f247o*zce##TSQ7ME%M@RbuWEBl3R771otE;TPR5;&ipPy0wp1i&k z!L>0FIwUtoDJ1w6)CGfPH{xOo@ADXaT$>OE!#~)FOjg}7<1#zLQuCD`nLPmARd;6` z?C$NwoedR}$ZbyGv+z>7o|U;hq+y&(52_`Qq^Yvo`dhCpxVZ2ju=K%YWXo3mTAIC;CTmCt_{zWGuqQA)jah^;oN=1v zAJp5{Rj}7tCwzP?M*x8GF!N8v)>_f9+ar^^EssptB3ZS7J4}FE?$psA3$YcAjQu9F2hEm zJQn_IiI_c0PF{3P{*RIh9uEapCzkc=%HFtxfA%`lpW515Jj|gQrW`I-x0O~(oSP6o7||}7VslCr4mW7=RRR4Bugsf zv>%5mu>%$p13t1raP7%9&*SJn3YM^YmfIjAa}W?CPeFlh(-j44PmK=m`4u@!U> zyP$Psi!GLx9tq=f6NzF8jordfyk7(9Hk1E<19W};{ht0zNwk;i^mbJcN0@N9Yjuo5 zJG3b<(b1U{)*5)tnDjKrCkx*b&}miQYzACoNJEM`Ap5vk#n_k@4-aqXYW&(4z~-+1 zae9HFlymI>^yecOsC9wrT;CzVkJy=mp`NE$ho*D%F4i*R2mJmJluuO5OiUS}(J{yO zVlQc@L;&1(rOw;BOmLxu_gDFY>Y~^q=f|dx-G8vrq}jeieH;VUUFPp$nez1=!>Ebv|B-av@l^hO|2p<6j=i&Y_TD?ko*8A6 z#Lvhkb+WQ|_9mpV8&*k($Sgu6%2sAV>G_=dx&L@x_v?OI&bhAd_w#vAxN(Z%5ryz0 zZ3SC_CZ6sr(2rg+-RY(A>mlXlJ%pP)12(`HdKM9DN8H2ACXwb~*DU~V)VKH#A3m7k zSvINzwkYtSB^H%60qFqL3P9hAbG>(JXi^x>dt?7s?Q}mLLOiC`K$d$|5^(phtc)co zBvBp7b|z4lXm(%!a~5D@llQPq?o!j>J5cZ9J8g7C$#TlH-^TSp-A_3z@3{E~@=(lC7|EKF{hU4xl}E zs?E!`-_*O$lRI)>v>%iipjYRkY3&y`(F8!3Y@}$`)}jfdDQX*c%k%hID0vEhiJ_bp z)&BjFs)c7U%}kd-kbT1XiCterJ0hIu@_KHaENJkwhyWX+V@5Ii>dwDzSVdarA){&= zr1J|cupM0k_TIY%{tcoaHe5f2JAsk_n~UNY)-fx~Mj|urZ)$$on_tm^%#F&z-!OB^)OkL&78s*cv$>kTq{qZG-wbYH>lTQ0)g zCv7Klk6-aW{^pN;F!*}GylqDO2s~`B3C#6b)zPHby(%+N{j)1X$gP!pj}>!Ymi^BB z%6Js*yTm$ubF?6hK0fjkIb?WZbq2&?g^17yK28e2o`Et@Okx7u*&Zc?Mh)T^|C%g>E!eM zm@;lP;>i)<4KuMo+#y*V&ZC4ND>0sUY$gxW9oAQH(h389mWGFwHuI?gau{S*O&Xu$ngv{=0>>ko+69_&3`!Tu+$$V?)C*Jw!v0(hhV1t? zoa~gwERJ}Z5 zl+w=!PvsiSNnBJCapAM$C&NC^xh)DqE$1@0{UHL)IqZ0yBx>=+t377pTNPx|BJ@cP z>IlFq0C)60|6kP6JF-)4b?xhrIp=NSd3!~mk$?z=fYk3}RM}}1`8MCZ_(ty;$!F1i zx8WZlI_WL&8;58iSjLSyhu)RsV6fNiDvOPu|ADhFMeU0226BEwqr;DW*e4W;C4kMc zGi}Swe+*QdE>G>;aRXmSB-iaipB{je*)&@lbhu(A8qEW>JLxW5xS#;9#}3Fwcu?x8 zHBO0NL!^=T2)N4Mz>vk75dZv>ae`Rh2-Iv!?XjOjS3-2ud?P$#yb~U<;$~&IoKNdC zw+Ro1-SX@=aMeF#WH}8v9`qvF4@D8$SnSk$oZz*Ov}_pa5AXuSu4O8U5F*XzWXkxP z`ez^ucz?h&$FrAIyX2oHdqQeRqvJrFQocUZc5uW)r=ma5X@&Ej-bVcT{a(^hddYc| z@CkzSP`?CPB-da^qoIF!p)hM!-0H2UA~sy}poF zNnTPS?-J^~_BVypNuZjUe}k;Ut9hnx;6Q9euYDFIxFG?As%1Sl9D3qsR&@EEzf&dSih-Ai8yjCB_YWFypp?X zLEsn-E1Ay9$`bzY*j6ffHEb+MW!gGuZ&co~V~ReBP}(ROD03YTcXwN)tOR^7`?t(g zCt6AU3`z}IU(j?qW|-IivFqG|RVA^aw)1EqLJCKvi0PPF z(&?0MvI39=>YY$f_}_qp!xbQflqCveDE9^Gg6=Jcv4ht3Jis%d)v(UJ26fbnPt`^& zr*MAALkY;M$B!TX0H^!L5F(zuEdPA!LbxyRjQ%Sy52)cID701c%MJ?~ zW)f{b-2pb$_4X2LXZWjbCRTI<_bHSDhR8S5C7f1P8ZYd7YY_whDJ%@ z{`UE9wP$nv=H(EFtY!H{`ST+5l-=epXDEJ8A_BI6{=~o5@hMI|j5gW?;VvY-$d3mAB5J&wCQ9qZu zy!ZIHsF>kq!xG5-7{g(e%OR|7vqGp4Coes{fgJ!u?E>wm_1hgf=QNN2+M*x*?j9ca z$YWwL-qt*B->ST36I`%QJNtEmc^Sv299+0ei;K~W3|Yy z3L8W~Vi{E((^2v~;t=DMCK*Vd_o6zd=_WZc_2YWc;jzve~x zBR5$?B4Ow+_w@AKjTdMs&dZc7exNEioB{2;Jq7?@b)LU=BTa#Z5O~r=bbiaE|%I^MbA|qaSueC5F{nNn_Iv0bH0NC^bzcYSa5uiMD(=#aoP97 z3(-f(B+2sw9z&0v;17+xQ*t~vK3&l{f8`M`AWO1BVpHH^voxl?0P@2GXZ8+d;3Lct zj+x2uf(+HUSEoNZgyTaQ zTUrRd-}wDIG_8Wp-F9UwxZ~q}CgGHPh-5n>M$$D~pW8|NC$x5?_!qJe}2WP6rQ26$}K7sU>)`2AwN2@4G8oRWNA z5HA4)aYq3}#F-yaL(Ny0_Sh@e>+9+yU`!owm-Pw2w}ac=*uhLx7U1U%x7eFOkLj4zD8-4V54hvPFoPUe9h) z;o<4Uc_AJIo-d&J2a#itto{=^*8Io&=_jKifLuk1tbOIxUbwkAbrHd)afT$j`ZFy# z%youIh299valESxE4{Oy(s|p9I`%gR5E1a51Zj7gQE$eD+2TZ|uymv~%*=JfzT5Im3jA zjx)#pZhuiIUd5swGYkiuLn-L-KH_@hsK&Hiy>cpCCMBQRjDTvto-B&$=SWCd=^f~R zeEs2`Xz7uuBb1@jARH`Qx${hWu=tK}x)42ag{+JWiW2^3iX#!h!OyIZ)N%4^mz0Zq zCol86<$Ve(*QCa-JiYNWnKr;dioJ@j6_+}q(Xrk)T#K1+a=kZXS*EEs>;#x2f{Y(u z{G}TF1dV(H1Tbd7VUG6TY4p1**H@!iZ40V-p_$ zz*Qa)r8f)Hp;p5B;}vrCL~wfTchTAAEQ5fKo$Md8OeF_NtgMmLTl+pev%J&qJuutM z%1TRr;M|mu+gYgD@qh>g=u)^P^yDU9*%lv?_)+=a%8m|EDB!biGtV_`=-QW~5LIvk zX^{y%EPww5FrRpe#j>_cVLSw6+x}^CUP_dk>i0BYju(d@*lPIKd>JjGVf!q7?|WFu zf4{CH=^zeW8v`9|47UqeW{k$WPZ!@Y_c?{$3D{lgTmAa%t2i^Wc^Kx#5RG zdTgC2GGt?pWZg}v2tNWI{_WX;2lNDY;5> zorWuqwlvgyac?$FAq@Nb_wOBeE49L|EsNzn#9zQS1@ab!G!7sIjW%kmam*qm9aD5-oqYS9)=04<#&O2M&k-% zhg%Mr8-A^41|}x=aN1omM$QQKt1`i8?nu&=H1-|}( znKH})0;5IIYZ=_cTOt^KyWd-R^es-*GhSX^o{I+49i6UYQ3KizEn)uY=c5M?9_YN! zm*S^IeC|7^(WV6c;HmH!;p9%zd*Qtp`#T`1uLtj9yFjAicyX?+6E0Z=MfDxXn9<*> zrFU4pv!e>U3YWhGf!YFkVIV*#GU?(lxDZ1K)OV%8ZTkDhMPnv9pASptU!?*IaZJ}5 zJ*o-@$bLHVVo6i@7+Nb|FbaI@lz%x1pVw=bCK1WJmqR{2Q!_IC3qVD#!Ee&xaOp(3 z3EX@W5nbMu8ZRN%bzm-lR9TeqtMvJkL5HE6L&E!(8E=Rz4rN5bGmJ89EFI%k!>p!*P)HfLN!~-} zTEP9)u+-iLI-Pe=B*zNWmKL03ufPUeC`1wkm$1pTQV4&j1Xz<^^lGRlY@$b>wtu|? zk>CT_ugSWsNfjjD7M763cMvu62qLxQwxRs5lV3^c3NcpSyOSNIBhN=fNvN@ycU}D{ z@E_ygmHbw6YY&5q@BD}=!|UE&^D>(3q$XecdZYu%U(|%P>+S5||MUJ2Hd8CACdKaU z>o-!DZ$`>F%CB8r06q!47H?PF+}-bk$Ceeb0SQiM$&r?J$!eG|5+B7O0M`9PV2Hs+ zL93>w1_`ir5R=QybI~GUEfM52-;L6e(-xy-gr4|L9-$) z8a(&^dI4^axUb6BUN3wt#`X1iX4g&_@*m<@j}Y%@?S4IIX12C05#(&FmdjNKVSG)Zz@Ov+OL)2km5aJ>mju3>Z zM_AQQ6fR!e7BsgO(g{+vvo%KXjeIwI z2^bM|T=ZiD2=@kF0a$x3|I@M(q`Zx}H2L9J2XJQUC?K^tj)AiK|5|X$<{(hMJ-=*q ze@Z(w?>lTmF>qa9<93naFa7eJlOzgK7{D(x*AN{Y?J*Yixu{FuZ$kRsoSh~K*w+yf zi3x}IW^T6`0bK?ODIY_2aQ-EJQ1;n8^R~6vQJ=Gk9}(I%cZ1^WCyK|cIwi6iKj%SA zgkbF#-&DViv8%&rsMfVB%-aP7M41H&s@IJ(Z%u3mpC00p?@MI7F4KgU?S2N z&5hu95F|sY;0RQ^3D-(SJR`!@Gg}MU=k-j3C-dvG zq94=}qR%*8&L3NFH48q#Qe4RIyv)b6?pBqd1}5XAftNfT^YxI6qzlq>0?5{q{ta=J zFP}NR#ybXT?UgD3qx*p6sTxd`8QyHD^_x4ei&JuU!5w3-%ZjK=~a1>QI78W>SbDffU3^mA<&)My?(XQexS5^3e-%=%Xpjt^*fgR}{sr*=V?>AimY zNIq2R0iK@L_^;mH3G;A>p)Y)vFKTY$Qdm~%l8(y6*wi4VfyBhonu-7tOd^hc+#8Vc zl35kC=&@jqBSbrc0gSjX`RN;rS6a+ZaA3_17yw6YDvEvIC&r*c%@7JCBFs1V0>sK z*miSqdc0BkKu`&6=sLO~@4!``9TT6IpAX?)9ZG>94jc#6;9un1pUke*5E%}ty@KjC zt>|ayvG05+2WcI%32GXeXt3ml9>5Wyssil)W1tA%LJ6D1=g@yx4Q2?YV7vC}fjV`S zxp;RBe{}UOKr94^Iv0z_dp6_&DA%r#ohl3#y>V>2Nr)^4 z4QzuBT;dd>%TJrn5*&Uh`gg8?<*9pgH0@Bqj2tPdqGS|byy52djSg?EvaYW6vfxC) z-N%JnX3#s|SjzzU&?bG>H&LsBoBqslCD0)K-T z3OmpClV;Z%rO9bQNr@nIDt7o zQ;%Pi&?n;AXJ>l7_K=rb4HYzLLd*eY+n_6DLz?R9irU6QBK|IuVkd@4%Et7TVKM)A zF4*H4{wH*M`;U|)Amg(dKwXo9v%^rC9 zjka~#pt8XvQO&(%)r{QtMEaP5?u$0I#%c6s3tQL6j1$3JGOfo~)(W7ABei>zfi{RUDw3Dzx$%^*C7JZ3IB|1< z2T8=m#(6aBq*7+(u{tHy)hU)MZ$fNBXsQ*@Zf1NQHva8Yy*8`CsfhRFh1(O+B{%Ol&G7fg~EA)guTlS-J&t*9T7^1dZK; znW58UMZ2S>co+7O$Uefd#-EVhCr^JhuZ?;2yyUdUaH(3Uk9wE6MeMzMO5gs{C&kvg zpF;U63Vm_GiHvG0X*mq?h;094yIU`0DS~Bt%O= zNf);og!$Hjh{@jhyBxee9e<{-_`2ibh8ck67(vTEGQ7bZ``Ewk(Gf&pwpR%F93~2^ zq3P-AP25e{AK&o=1#Y;sR;#2LF2T?Lxbl@9O)}0+~ll zztw5CAkBht#QU~nD)i{2EWeNs$rpIQ)1^@p4^wK;+p^p)leH+w4pBg`TU;)*O>1YR zu-ClQdSn-6=K+>*2zNr9f!B39;8DFX$V8(ss!b3!9|saH zK6<+4m=9?98b_G5~9b-V_Ee!PrJCQd?cm5CTtR$Vru zE&d?U-cgzrrO0nmVu)bHLs%wT`@X9a{y;fgrp#9QJGyIvZUN`?0 zV3hf=OC37>01~ndNQQD2G-LY4bY7uCROgypi6ecZUJ8 zB_Rd(TsWXF{Lr3zs|C=xjFBnI%GdswCv?Mqih)?DeF>jou(X5yzxq6XchDyK(vQWu7_t zU3w>|y!3fKSNzeJj4SQ}L?(y9X2<`?>QRpF(Z#J=06uzQmT90)|6+45wCfQxRz?~H z!8c-tQ2j)OR^TJQ;0|R)Td*CN$|1Dct>Xpnv-+QXym23e9Bs`=v7*7vlEn$SD%E@` zUk&ZGg|1V1KPmi9lHp4kc@FlxwBAr)@4-*6-3!tNX#%8qFKlfa%!+0oLb|QrTb1BfKs4ys8Xj5k7)au?6wWqj%sZbtO8-9Ow#)tG7GP%slC@ z^g_HR^Z3TXmZjNxX8Esymw*8sz%0-MRAX5F@Rdxde2^uFYy7pa*qa(V1%=+ubVwuIf|E^of9C`3iLI=3Ca4PE z;9-wpYGe@o)=5!@<-vep9i--V@K2n{{nOdKU|8iZz{OQ0?~jK#kv{oIpy4;flQT~f zUy=6$hlBZ7pt@9%aOZQ`67@bU1tizStKnGDYE33y_^SO|`4|99qWlt++;qp_p@dKOQf`)=pk8FMAxg zqugMjp1`*Q_9M=7XbXz{4f{|71@-$%=4dJj1xd-hEf{W!aGNkmk4xq)0>kmV9=STe z^|xojM%*etk8|K@#{e$#w($&YsP&abs{cjc=@BNA;D=BB_2ND7&!Uj4yrV7eG5=N3 zNEs+aE)>Z5o)x!5Jd!6$aa?E%s2T9Seg76hI|ndV zmzRI7@TzMm1{R$R+tQCYkSbiudL{7W88{8lF<`CNyb6Np|9v!Gt#~sQ>HsA~w=UKO z+gVv%wVSI zP3l_v@(*AW0J)#A+`Wv+428)3w((&wXUh6~w#oGofFafH$>kY{iX3!$zuN>OtW;!~ zt(%56Y&(6G$$~F5lRwTl^9Q_1fpjQ@YflFa<~PNfx*N{7P9Zh|hWghKa9kr5f%m@n zF!`_!zKW^C#l=PPDwL+&&v5ol(L=$2Yx?yWeCN1aM7TIAg%0;RFx*K|p%!vmq{{p#Rz06WT8pfy?xb`T{sPmGl989~nfBa@} z2rcKcA2ZMz$0QPqLWu>kcnfnkRs=f%IB+LIOXpkYc#Y19JHFQ@E9#;&htCO}HE55U&H{gHM_Zx>xa{VR~l;h=tt4;MUI04urA^KqC005~6@W1?mdDb2f zo>SKXX-{e^2x;?zyKfrdsDo%^oR!s3di!=h0sm3$Xxx5wW|oko$^m4wY_r3OzG#4N{JryC8Y1;$Wr!*vFxB_C$paCa=Wd^F%hi-6@?b>e z>|57c;5K}R+crx@OBy~w=J1_UfZs3wBCNjn7kr7DFe#SYyr+Rx6?k&l>f>%$4p3br zNQBCNI}#DZo?~Si);o^tYR&H{mSP`RRQg*_s&F}ExhtGNB*!zji%I~lTvvk?O1}Yo z$3&hs0%4(U>&H#<0MG}j2n!1rIJY)O&~_nD)7~V-4x|KpB!v$s6&GP7hNqrMQ=K~Z zxCH80b)h47x!|s>r>3T+F`}M$FU27ILXn{0R4%j>_7%tExbn7@6JU#guZ{aoSkh=2 zuANYT&WM+~GSCgYJI7IHlzv&t=A>l)q0C8F@ z20r7W&|7e`y@lyDWC^5T41oO73@kNd>WI!+)nFy<);N+vY-e;fLG8J3*mfI~6)}J# zpSDU2UZNs!tr_@QsJTLCJuUtaW)$n_sHjY$^Q_nJY(9AoRYZ5re6=Zfr!~2U30b7J zjBn>?-LB?x*}`w#HBRnjXo@R_n5rX)@D8#9wAE*QU6*nI>-Q2TnCr8AzK=!}z zdz`R^D{?J?Wu(MOyvcGf9mB5;>3mszd)|OSDM&3e5 z3{E-z!uQKdeq4PV4VY7dcVKWGQQaSw;>Ts-X2IpA{1G5TDLAKc2Ubl53tx|piV>n4 zGEX%_cInKlK3?sw)i(YnG%_u5r(ifs^NYjCk0(R0rKQ5cV@9#;``!Pmoy|3FDeKbk z!;jWp60xiHL%JF6w%Xb_lGa!E7o()I;GVz4DvgrM_0PoMmD)?0n z?}oa+)Ya9Ay;~A_ux^K@Z;Wj;282XRfTciI68I7JZMW2C8H$%K^?m?KX&+|8BwV4G z_l3vH2)GZrru#yPvCb-C`^9c3;1yigrqk3!w5{yUn(_+pOCCuAf^ys z>j3G<6R=Y=tAXKc2%)n5ba?M!bS4CKXyx|@Y0wYNG4x)u7`iXa-&T0yYG}r$dh5mL z$?rVmoxSWD(dqyCWU!iijY|uL8{fVTe1@x(hdlM$m9B-edGQS|&EaNhQTRKO9;AHd zMCrrbYWAWgTh{lMhfp*O79-krNT`=HU&EV97773Vx8hzp_)}m1svm2(56ec5!HE?a zxhG^0zyoM+K&@VWbQL}>nyV6~0MdmJA{7q_5K26x2d^ucbQBj9@xBn{+eI(y*qk~QfeaPOo#`d%U^04!M9v{8Ulp-s%h~%u=-lLZxE(PWY`-Zv}ync20eWY$r=E_JVUTR z5Y}lV-fn>_@h3dOZ}Bj8c$iFikEg&5c8UyfNfAKA!IX*Kr1ZNwx~t+|+EZmuV~8(# z!3_PkRrQdPv(Phbvk_#k{hTfY?s!~FU$P>>t=PCc>~GoXqI z-T0S5*`ggXrM+7{U0Htl1tB5`Rip+RpWF5`Kuaig6F%Nwpls*`FQJ^Iy!`Jyh%40s zzN-OO`QeNM4|vI?b~{?#xtC?I~tMDC4WYSJ;0`5+9=om5YY5|2hp zRKl8FE`r_07)f6nW)w!5h6XG^XlLeBiXDh_%HX$N$Rakr_|V7=N;a2vgDLXnip`pv z#uS6Mu5%~x;i=pC`T1RTK*)~oz+nMXESHVN0~Z2QDnt_gn(3>7!##NXKs?5ifR}O% zZrVB!-Gw}4;?Zfnz@=$wI;O|q6!oTT2NE#Z4VO6#q+(N1rn5P;*dBk@E=L@66jHS# zuGbd?>a0R`j$hL4)(kpkHQouzvPZJWi_5U0Cxb$8Ay3@7=PTTmm;S+Kk&nS(tOa?e zn0T`!j4%G@O*D^L(uYC?Yi`)7!rOp%P3Z6I;0VB%@mvloA+%$SHX7iJyVE8+17>$e zA+COUJavh*Ok#@(9P6k6>S&T@p<-()R_Vt4QogLLYPWCwS4~9qgRcxLsSG!w2ZANR zE32izHm4y1*P_e>4|hS6!9cOHgA0!DIQ!V(_zx|ems?P2<5CGVw&0<}WfyP{D+@jkZ|{z8F@d zm!?rLgW?Lix~Uzw0es|9TAvApS(|I&>Ci6AjpF!EmW6BSy+XiBkqhFTraB3_%yxh} zNy~myxPV!E)Ouf9Xt*%im>q&%($uvFv$RRbqLjfUQG=+9S=Y1TA#pJ=ZtZW}IDbAk z$FBVQhJV2-wTC|i2}xe}gh^MoViSi%A|dtyL^7$R{ZUg*tAIvtc&!OqS=5V1K`uO? zfWc`*D|bY1RL;Q@(H_R4?kqPvT&Bu${ujxe~2yz@YLPUv-uXkK{Vx8c&-@u1JTFTeLv)7&=XIWPwfuF@$P*6}Jo>2*6 zGRY54+c*3A9$$J0&0C#`|H4~o+s`-_oF_o=l)JP(`xX%xg}fl?(u;5$nGyTiPv7fY5yQ`yU^2ZT^xkD3-xNH+N<%CN z879!5VKE(Zqz>Y=|9-;^z`jlPwMH$AXPpn}4cCu22;8kEZ~1s5=$HMLo5V{8c!XcU z^u>as5kKIj@LZmR>akB_3Ae3t+&5%Phf3d2y)IgPomUIlyKTc$@x*%0459Zh!WQD6 zXW`5E4h(RAW1)ljCt6!hT}LH|pr`k(`BUb@oRd8peKI-r_AC6`b7B5t9tmfmyL5x{ zt-lD%_n-gZ{s>|;{Zo&a2ih}$od4HWTfzqlXdP_*l~7S#2~UAg!xOsyWzZDwf0Aw< z^zr~l^Q4lY+xxFUW0{wdEE5Pb*)<#)-3g?Uro)*BNZieFK*)$#Ell*}L^HLkATJXX|| z%8JHA$_dLm=(@kCL(v)BUo2IoE%eR!OE$kjNiC82(gf~B21w39aV3Uzsb-u{0Kybv zd2Zt(ukV~Ne*stEtn%Zf6VD<2@AKqi*ZH19O_EdLY8v%nP5t^?zm+-+E;2B96z zuOG~Mci5`~_nHxob~r*k zLC|I51&eA1SX1nw`K#ma+IS^8o^b>blI9$^A}lHM;&8=F5o;BV3VH`kL0pi38gc&t zF~j#x%->o#y>e@*kXP3Nj+9>n~EztmOB$~vV9^#8V9=zn)-Xp?i zlp?mdPSlz|26(}Et9Z@e%_t7Hv5{(^au?*6p=SagxjL-HULoam)&@D|ZwcNfj{J<_ zHav=0pS9I2Kj-c`t+u?iVch4^N@(ydqL%QXnmOb^1`i zH=2LTL4=!o`EkuN(&2zk&>+9dwk<&P6D~r}ZVx<&ca5(rkLK!mOUz@vXIll6?~8=0 zX9YLDNiGqB&-=WNb_(s2aMgdR7F017eMp(S>;}w|DV<+2Fmgx8jm;l$ z7)U{@n)4~BP3nR7|Mm@n%2RPF!V37~GC?1nHny<82B^eZG3` zou((OQql_iKSp9#zMdx2{wjGVAFyJm4XI4rq(eyyCOSV-dXzgnATKWbLPkUOdKLSP zA~i_3C?OQ`oNokJscx;u=>zM7OF|QXjodw!VX4h#Ms8zFOyri$lAKEY*Ty)3Ef}%6 z=3rs8^G1n1Jm$Yrb!Mv(p-?EN1ga{OK<4+o3O z>&f8H*TXrv90;(1lqg!Ew@SbiQp8{HVo4bTFge5}>5GI27q4?!43bXG%3AbZ|0Wqy zc6}Is-7oD7a23(-PciPOY%puGUfh7_Pbx4#LS&)H8_oXFaZOxbEX3R~U0=MDKFIqe z-g!3T6gC3v?GdmIw3_Ja3kCT*x7SBQ7RsaYy1MkNEN(6?9HEOKLV}I0Q9gdCMO{C? z9T|M}sP=k`{C8}bG|V(xq!HNNOPEq|XH9W`A2I5aSNEK-T4z~l4T(Q`UBBBoIXQ)b zQsxa1#_SG&?ZkuonZE)KXEf07$v9t111^ox4q%2#2qTquUaV4>qks^nQz5P!9~cJb z$X|&JZONEIp8zg-P)pCUX<3oBum3qn!v}Gwk)XCRrn?P7UK9ld*DqLEjV`}Zbl(@~ zO3pq2nDr{4i3!Flc@@b@*W{#sLfx|BCjnLF8M{w1JxwJN0STHclz_*%vAMaGtOyh% zGvG-=A+oE}9Oa`npi^|HVUcWU*)I0-gYOoE?0G58-cc78TuY#YJXN-M&%2lD1{WK; z(xh0CE(kD?7dtyU;yI+-4_Rj|_(YCn@`-Xnk+Lxlc|H*l3aW9q$JMuRw?UUQ*Q!P3ms6aJ{Su?lG5uW-1wz>=1VN4xAy*^+^C*Qnz!wnPEh0B)eWFP4mh&XspW|b%c zRd$m6!xtW!kQ+%rRnS%G%+|7soYuAWk?N!C@r*c6lCTcxbqRJWGSsQ1q}%^CcIFH) zO_{QO`J$Xir01Mk3jyj^ADjvF@oYMCJBq=u)g>rpow%SEzb}!4CpILBbmxA^)u+{= zLw3MP&;Wt%?v*2dftq+H;q^4f(Owp`WDz7-7l+d*xkiW-g3%d7G}raCB~esj+l2^+ z>cxu}KM?Nsdai4-gpHi8qGZ9WmS#BDmmb93p1cVS6Az}_9qW&YCq+m5ORq#;*;erWXXl+HVu z_7CB7x=h1;iBUH%jUL)*Y6zRg@W>?dE)HJ4W`2LrO}mm&A%u_7&ii0<+V=xsz$~VV z52S;f^Xj>9GYKc0zdn(R-FKhia<@y_;4^>q4{&HUSiu|`fRr!I2;is7R`q;pXF&zZ zCdSsKPu@(w-ado5TpKcH`ICb!$VtP;&_getGhlY#=>C~-))T#{{ZBFJ#9h^51#pyG zO(dQ*qV9~tr{5v5OGg>1*{p5ilAkjYgh^ak8^y^OXyR)#Yt{D!-0z|CT6A=EnF;Lu3*b*~#@eZ#P}K4TwViH!f1RS3vdQyb;In1n za&_Bq{`!`aixpP_>O`~YsO9(y?h8u#7>%327*0@}2bCcyDe2w5pnv8>eW289;8+R@ zp{MlqU9|O01q?y=L%qFH5oU6NT$3D^P!0iv&hV9V>f6|c`|JJ=zuue(Sm;;F9&_q% z!%wDp;tWyOYG8V6>X(?t0(<{Lx$#mOk#+Z zBkLGXW|h8fS_4wgw?q%6F^cx*I_5<=xH>^0Yqa*6k0go!`3*e|DX{BzCabertrOP!iD%ib7~zK^l{LcW1$E`@`)zeUi>m z_0cFq!bG5bS^DWaVtUjEJ9j_1rV%m_Fg{3b#Qj*Dp-MAExY#t9Ai@&zQk*eN)9rW- z$RZi_-};&}jLxv$pdzTWZ9pwknV8pKxDQ-~qfV~~O}M}n;>s)2AOzAX1jfNWc|iaa z%#VG0n<2BLW&fgM!S~`;wEx~W%%c1cqWpi}2o?fNvc%jR zdQV{!cu29V?eX3-;$Ur8Ps5=UPxL{XKy}tSFsB!|2%9b!6&}O#0Fr;cj0C#VxFi&n zIWYyJ-?)W(`mMBNAQ$<#xNw3^_7(`9`2=|GA8O>Ycz6b_oNz2kj|QhLwf{W97J{W+ zIpK$J^aFFCPt3ar$0jt%5J_C%{P~2ira@)F!Wdd24x@aKmxm#ZbP`u49;y)_wIID_ zY>7DXxuossnHA1FWg*O^3BIG+B88+|qcU(t5axU;c(Ypnlo0(j-=pMV7UjMjx6J)t zumqV^XNH}hcPqg`1}O-~8^c+_*|>d(o6t&h?ee%$*9w>49<`D8gQpkHk(aSY#fSE@ zncl;Lw!}UN1irdk#mSLa0Wrz|I;Le7e7T`|4<2}tI6DA-pQ*9TS@$4hkxo5SWBSw71O;$BO>JB=;)OL;2nlyC%WHOBX6eqhpj4${F28j36!ob5MR+Jg)venpy>@e zA^@X0u-qub`#o1DCjwOsF$kN=gc$_BU`k4NFs91lV88X)y^1ZSy?9iNUyCjLjO14i2+2Gr8cxpt*LvK;g-L`X}xe zo;6YNj1082v?~e8muPjAnl$oU@dV&A_uk4nI0!_rKljG(<`7_SrmBX<5|}n4i;0B` zl;ILVKWn8mp^zH7ptGaKMryhLRAI94@^u_sW$%;aTUKY>aqTK3=k0tF=HP`iB=TM! z!F8hkJFF1MV9Vo~@8@;|>wo~*7tPj2R$l=W;~k%;ui8FRADS!{of?mUAKG3UFqt0U zY%$?!KmHpeYcWfPz%<{hf}gr4_d_ZHgG`8ZFB|i6dur#~*Wa((h|LfC{KFes?URXu z!#zp7-p0kRyS=#T$b-?uWa_h;IX_)%7I9n$z^|1?*CPW@&~in6rCn_SGG^MLE!BI= z|6#^2Xb$1zg1p~sIc&?|`1rU(LJRLho@?eYz7$~5Ui;Lvy!tKN%NU_$L;N6E_f7il zJBfRfc1c>=Yk)KQGMr&nc76M=jd7HtFMx)`?q3kx7s?BlGeJ_=9-T*={ zM)_n?I*>#PL>_ddbTKF(w%}8*qA7-V3MNQz=biIAq}unFU(m$oEfXR-gjh=xId`2w zWeG#^4S0!`Bu-<_d;$X@XjGM-M9sbt7ZLK^#pQFXr9DKlX@jI8{6N~AhpsSz>0&od z=9)g|b#>6&XMHLBE6nZ(`2)VuI%*M+ig4J;D4kfrSp2C4s<-H*ZvXk6gisl|1Z7BE z6Y--E#;iHpy6!>BGZix%+xFxz4L-gOjwsPW)P;HWwfPIDuE6<`EP~0&5<^)QRC5v< zeX_|=>l4MgaG~`q34h0h|A$dP^^_jBIQ^v} zPfyljqJ#fhyfw^`8%$6rKq_~bQ`v2rVWfM`J>56NgYf0M^>0-L(@zik7-AZ zUSR;5^&R2=9KU6c*b-l!cID@OwckL6jOoha&p_toNd#=I<1jNDYxW9MKCb5IUtMsS z8}s-BbFQ*hlD+l82AAC&Eq?mm0!)ur^7GTeY;y>WCU4DL83N@X&~2Ay4qf1h`#5fZ z5rIuWoZR=z%pYi+0NRq=jY33*NPQd}o*?yV0ujcavdenkYpl_BNP zxnhcZX_g^8VLoAbdHH4%+Zx4(f>mImi=8;+Q8O($`v>2v;{kzsxzS4?doK`Ty(tR} z$lAW70=%t;jc0wTBM$LWw4|q1AgecNFB3Vz!``Gvw~%+3VGIqEMRkQ*=4h1XNpK1N zLFoyZ!7W~W+*~4dt+hfl&VvqGDTaL1?xmko7Wnh#h#^|$H=M9KmE%7C`eCXt4`=bV zjX(H#1)}#XLlD}PHq1;{M2I-Zb1&1sYc8tcjH%y*eE5`qS4Q8xON6+cJ4>}@mBwJd z5hg}l5RUiJ0fH#?KPpF`vv6(H!oX2a7Y8nq_c?H6k~A1dOxafQ@;WP$rZ5acR0bMypcsfUo*AN`1gTTCd>^`+kOV1 zM)V#isc5bx8Q;y$Og|F;DG1}w7MXh?U5)bncj1iP7Pv6VX3)B+VDobcwQ0%H$*jF4 zOJMwlg%8rd&`2YM9L^8?V<6ja2h<3K$TtJy7sp4_=K)GPNNX|)lxu8eV;2B8A)-5b z=Y{bclX9rv9ChY42wb5b)yjY3y8qxJpaNuIbUS_=?&(^J+p4J1lZiL-Ic4rg0?eGN z*Yf(Jqn=%9DlV5B~M1rhaU8yX#cv?03%GganK_MhW>j&|Z7pQF9_0H{*_?$r*3cWFzfwnmrY>5@}an+vZ)5`(( zWGWGjgMXC~G%3Xk3!-&R%V+kHY@P+(5j;)5=6*6epaJGck zfd=UQJRAyZ06?A6E*LxF9z!^g3LoDJwdCGQO@tqm&+R;zFwq}%b@bufhVH!ad6G`u z*hjH5W0C=GE5IK{qs`h1^Y{y@nZCO)fz|?0RV7VaMhzu0U0W4%QC`RF1EIzk>EhKg znY(978dQPMW_R*)4dIaSUHCH#il_#h6g*Rvf8oU)GW?vld-vY{K0el=dny>tKEHU? z()-cJlWkC3eTnCpmA4Trs3v{MwOf9z8MHYdKzcSl3IWwSHBFGN_uLm`8OA2U4kK?@)YR{6GC|>6O2qj&iSCLkvZM_f2AB4RtijagijG&@mHR zY>xg~`wt}BCLbO4mr7e1lIFr#(G8McUbEc$3v!DN1ku+(*;ivR|KOvKf@k4M9zRi7 zUR1mwNZ&hg;oyutYfUYqEN?i*lfqTyu0Mqm!z?%eBkvDH9Avr_j~}(pcsIcj&}pg3 zL8ijr|9<2(dnblve(@BjZ}B%6amMjSIcD>LiZJ3Hg1?48UqP7#NU?8r`(S(Lq^ zWM*YYw#-D4D8JYF{{Fc4_PF;^m*ew!zhAHCWMelQZuvSBkV4DxbFPStun^0CO^74E zaFQY~Z^cB#v|MQ`wk6QGeDVy-%`@*FXnhyvOp_eBH{0U)>3d@T`@XE|rykW$U+pXG zb4Lmv&SlE3D6TbYrm9Bz`P2FphX5hVi5qvc8uxTu8JjwGQLFs366chx2t zz}XjDleYakn^PXxUAC)E`KB{E+46&oLs7^Okn3D(R)+&hJf#~W!*0>8Ss?jX)xR?P z*%1ao+0xPuNqrJ!ukJPNWMJcLA$!I;ikeM_hlfX8$-$qx>j}fTbB-avej5X`^D$-+ zbqa7B)2$UeGt^pE*|^~_DyeN|*7Nb+!_rb2Fc}HrLr^|_mzsCy(5B-;Gb`iUc;q0B zxZuzAO_p>==!>-kMS)))yp>AOA7z>D|Nak*zjR6D^V;aUv{+S4I=40{RX1V@g-z1V z4i0e{j#CbCF9&|D+@xv!dobg-6n{l0${wm6!$U*XVaH1M&T^uuo3S;$c5P8wKgC8Q zIipY zw@MEnJrwYk@BHJ-_IV%&&tE0N@KlInRFX$Kxt%GZwA6@UCGXKu-8&Kk<<0%5)e3i> z87slqgoFV2I#b(zj_5wbm%qd)xZnT5Or5_B!U)A?xYX>B!VCO?1*HPxRsZGT6aUze z>}2i&&OaK>-Z0nR#y6L6^i?|?@4G#}OHnNZg?q>=5P8xc>)f9FpI80cn{O~(BHLa zun%Nb3%RE|PM!Yi0NrM*%z9Bu0GtD(CQfBh_F~$}LIw))t3%EhZg>!iT~$Zls3OK0 zc6Zk&U`B0wUo8|3&Q2nS$MBW??PBq6{sWenzeDSO=?$|xT1cC-vvc0mTXze~bep%`(bZ9vp;QcQg@RgBS{L{7r28w&FHUu1ZY?aNtGrEhvCd%CMZuxZ{ zUp)B|PlVDS9a%G1f8MT#yw2=#I5*$Ly(XDb`!yv97q7hEv}=h!0j*U;j%5|QL!36? z1vn9Yei;&FCR8v_-O*;Of$U1^dmyC}jm^^ZM#~T57yW^a428DHl=E^W1EMn4^4Epp zik0T0Yd8gRa^S68qD_EtwhDu`R^2C8+VJc0(QO}8MdAu&=C_7j{sDn zg$^wqIy>=};}>3Ge(?@un>i6`Rc8nXr3`TNiH}Og%d%4MW#P1bDZ7=7oV^kIYMcK|$Sy_2Q>D&#Cu7JFk$k)j9w4ttnXs z@X7k~b8&H1M(xiCbsn&q@aktVJc8=wTgluF?i_Wqmv6quodU^cS5jUsR8&%Ouh%CY zC)p_`nbG&W(MDuy#aG)u%~Y&w-nW4}qi@9|m^Qqk%d?o}_pb^AU0otnPirx5fAG$( z@~5$r{VxwF??Q~k#I;V+6}1|&-Y@V>XyW)~u!^~-7kfW*Lhz1ZfDEhazg@oO$BYN< z{iXDV3bz^fDBq@-xHnezH8U73vN0)^I9R1G2Q)d_#Rf*kH^WBs2_b(fuREoi_lO{$ zLbO>d0p}O)EJZHw3dIaP^A4L-!xgpVNtmR9t%^@e6GkB)*#fu9dX&mLulf?@Lq=8N z!kQ^n&#)0$Vp}`?L);M1RIdMYmd;_a;ojF-G9VoFZ<$;7ZNT9KKEZ%I`=US%>mvrj zUSAx}H$*s)w&E3dF>{FWBjwrOA^DaknGLXgFG)3&X{Gr!%{~!#?Dc$6u$d73DjZsW zX_Hok>w1TY^Pw#Mo5iFYr_>cJUdG97?m0?wC9^c3-@9QYU9w;c%+_FljK$&daX3

4q%|k;;4jmEl`|x?&uK15@)un8wdn2! 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⋒!s<&&5#cJ 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

6xqlyN3jgImJ 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 - - - - HTrace - - - - - -

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/htrace-htraced/src/web/lib/backbone-1.1.2.js b/htrace-htraced/src/web/lib/backbone-1.1.2.js deleted file mode 100644 index 5da4943..0000000 --- a/htrace-htraced/src/web/lib/backbone-1.1.2.js +++ /dev/null @@ -1,1608 +0,0 @@ -// Backbone.js 1.1.2 - -// (c) 2010-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Backbone may be freely distributed under the MIT license. -// For all details and documentation: -// http://backbonejs.org - -(function(root, factory) { - - // Set up Backbone appropriately for the environment. Start with AMD. - if (typeof define === 'function' && define.amd) { - define(['underscore', 'jquery', 'exports'], function(_, $, exports) { - // Export global even in AMD case in case this script is loaded with - // others that may still expect a global Backbone. - root.Backbone = factory(root, exports, _, $); - }); - - // Next for Node.js or CommonJS. jQuery may not be needed as a module. - } else if (typeof exports !== 'undefined') { - var _ = require('underscore'); - factory(root, exports, _); - - // Finally, as a browser global. - } else { - root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$)); - } - -}(this, function(root, Backbone, _, $) { - - // Initial Setup - // ------------- - - // Save the previous value of the `Backbone` variable, so that it can be - // restored later on, if `noConflict` is used. - var previousBackbone = root.Backbone; - - // Create local references to array methods we'll want to use later. - var array = []; - var push = array.push; - var slice = array.slice; - var splice = array.splice; - - // Current version of the library. Keep in sync with `package.json`. - Backbone.VERSION = '1.1.2'; - - // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns - // the `$` variable. - Backbone.$ = $; - - // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable - // to its previous owner. Returns a reference to this Backbone object. - Backbone.noConflict = function() { - root.Backbone = previousBackbone; - return this; - }; - - // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option - // will fake `"PATCH"`, `"PUT"` and `"DELETE"` requests via the `_method` parameter and - // set a `X-Http-Method-Override` header. - Backbone.emulateHTTP = false; - - // Turn on `emulateJSON` to support legacy servers that can't deal with direct - // `application/json` requests ... will encode the body as - // `application/x-www-form-urlencoded` instead and will send the model in a - // form param named `model`. - Backbone.emulateJSON = false; - - // Backbone.Events - // --------------- - - // A module that can be mixed in to *any object* in order to provide it with - // custom events. You may bind with `on` or remove with `off` callback - // functions to an event; `trigger`-ing an event fires all callbacks in - // succession. - // - // var object = {}; - // _.extend(object, Backbone.Events); - // object.on('expand', function(){ alert('expanded'); }); - // object.trigger('expand'); - // - var Events = Backbone.Events = { - - // Bind an event to a `callback` function. Passing `"all"` will bind - // the callback to all events fired. - on: function(name, callback, context) { - if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this; - this._events || (this._events = {}); - var events = this._events[name] || (this._events[name] = []); - events.push({callback: callback, context: context, ctx: context || this}); - return this; - }, - - // Bind an event to only be triggered a single time. After the first time - // the callback is invoked, it will be removed. - once: function(name, callback, context) { - if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this; - var self = this; - var once = _.once(function() { - self.off(name, once); - callback.apply(this, arguments); - }); - once._callback = callback; - return this.on(name, once, context); - }, - - // Remove one or many callbacks. If `context` is null, removes all - // callbacks with that function. If `callback` is null, removes all - // callbacks for the event. If `name` is null, removes all bound - // callbacks for all events. - off: function(name, callback, context) { - var retain, ev, events, names, i, l, j, k; - if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this; - if (!name && !callback && !context) { - this._events = void 0; - return this; - } - names = name ? [name] : _.keys(this._events); - for (i = 0, l = names.length; i < l; i++) { - name = names[i]; - if (events = this._events[name]) { - this._events[name] = retain = []; - if (callback || context) { - for (j = 0, k = events.length; j < k; j++) { - ev = events[j]; - if ((callback && callback !== ev.callback && callback !== ev.callback._callback) || - (context && context !== ev.context)) { - retain.push(ev); - } - } - } - if (!retain.length) delete this._events[name]; - } - } - - return this; - }, - - // Trigger one or many events, firing all bound callbacks. Callbacks are - // passed the same arguments as `trigger` is, apart from the event name - // (unless you're listening on `"all"`, which will cause your callback to - // receive the true name of the event as the first argument). - trigger: function(name) { - if (!this._events) return this; - var args = slice.call(arguments, 1); - if (!eventsApi(this, 'trigger', name, args)) return this; - var events = this._events[name]; - var allEvents = this._events.all; - if (events) triggerEvents(events, args); - if (allEvents) triggerEvents(allEvents, arguments); - return this; - }, - - // Tell this object to stop listening to either specific events ... or - // to every object it's currently listening to. - stopListening: function(obj, name, callback) { - var listeningTo = this._listeningTo; - if (!listeningTo) return this; - var remove = !name && !callback; - if (!callback && typeof name === 'object') callback = this; - if (obj) (listeningTo = {})[obj._listenId] = obj; - for (var id in listeningTo) { - obj = listeningTo[id]; - obj.off(name, callback, this); - if (remove || _.isEmpty(obj._events)) delete this._listeningTo[id]; - } - return this; - } - - }; - - // Regular expression used to split event strings. - var eventSplitter = /\s+/; - - // Implement fancy features of the Events API such as multiple event - // names `"change blur"` and jQuery-style event maps `{change: action}` - // in terms of the existing API. - var eventsApi = function(obj, action, name, rest) { - if (!name) return true; - - // Handle event maps. - if (typeof name === 'object') { - for (var key in name) { - obj[action].apply(obj, [key, name[key]].concat(rest)); - } - return false; - } - - // Handle space separated event names. - if (eventSplitter.test(name)) { - var names = name.split(eventSplitter); - for (var i = 0, l = names.length; i < l; i++) { - obj[action].apply(obj, [names[i]].concat(rest)); - } - return false; - } - - return true; - }; - - // A difficult-to-believe, but optimized internal dispatch function for - // triggering events. Tries to keep the usual cases speedy (most internal - // Backbone events have 3 arguments). - var triggerEvents = function(events, args) { - var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2]; - switch (args.length) { - case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return; - case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return; - case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return; - case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return; - default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return; - } - }; - - var listenMethods = {listenTo: 'on', listenToOnce: 'once'}; - - // Inversion-of-control versions of `on` and `once`. Tell *this* object to - // listen to an event in another object ... keeping track of what it's - // listening to. - _.each(listenMethods, function(implementation, method) { - Events[method] = function(obj, name, callback) { - var listeningTo = this._listeningTo || (this._listeningTo = {}); - var id = obj._listenId || (obj._listenId = _.uniqueId('l')); - listeningTo[id] = obj; - if (!callback && typeof name === 'object') callback = this; - obj[implementation](name, callback, this); - return this; - }; - }); - - // Aliases for backwards compatibility. - Events.bind = Events.on; - Events.unbind = Events.off; - - // Allow the `Backbone` object to serve as a global event bus, for folks who - // want global "pubsub" in a convenient place. - _.extend(Backbone, Events); - - // Backbone.Model - // -------------- - - // Backbone **Models** are the basic data object in the framework -- - // frequently representing a row in a table in a database on your server. - // A discrete chunk of data and a bunch of useful, related methods for - // performing computations and transformations on that data. - - // Create a new model with the specified attributes. A client id (`cid`) - // is automatically generated and assigned for you. - var Model = Backbone.Model = function(attributes, options) { - var attrs = attributes || {}; - options || (options = {}); - this.cid = _.uniqueId('c'); - this.attributes = {}; - if (options.collection) this.collection = options.collection; - if (options.parse) attrs = this.parse(attrs, options) || {}; - attrs = _.defaults({}, attrs, _.result(this, 'defaults')); - this.set(attrs, options); - this.changed = {}; - this.initialize.apply(this, arguments); - }; - - // Attach all inheritable methods to the Model prototype. - _.extend(Model.prototype, Events, { - - // A hash of attributes whose current and previous value differ. - changed: null, - - // The value returned during the last failed validation. - validationError: null, - - // The default name for the JSON `id` attribute is `"id"`. MongoDB and - // CouchDB users may want to set this to `"_id"`. - idAttribute: 'id', - - // Initialize is an empty function by default. Override it with your own - // initialization logic. - initialize: function(){}, - - // Return a copy of the model's `attributes` object. - toJSON: function(options) { - return _.clone(this.attributes); - }, - - // Proxy `Backbone.sync` by default -- but override this if you need - // custom syncing semantics for *this* particular model. - sync: function() { - return Backbone.sync.apply(this, arguments); - }, - - // Get the value of an attribute. - get: function(attr) { - return this.attributes[attr]; - }, - - // Get the HTML-escaped value of an attribute. - escape: function(attr) { - return _.escape(this.get(attr)); - }, - - // Returns `true` if the attribute contains a value that is not null - // or undefined. - has: function(attr) { - return this.get(attr) != null; - }, - - // Set a hash of model attributes on the object, firing `"change"`. This is - // the core primitive operation of a model, updating the data and notifying - // anyone who needs to know about the change in state. The heart of the beast. - set: function(key, val, options) { - var attr, attrs, unset, changes, silent, changing, prev, current; - if (key == null) return this; - - // Handle both `"key", value` and `{key: value}` -style arguments. - if (typeof key === 'object') { - attrs = key; - options = val; - } else { - (attrs = {})[key] = val; - } - - options || (options = {}); - - // Run validation. - if (!this._validate(attrs, options)) return false; - - // Extract attributes and options. - unset = options.unset; - silent = options.silent; - changes = []; - changing = this._changing; - this._changing = true; - - if (!changing) { - this._previousAttributes = _.clone(this.attributes); - this.changed = {}; - } - current = this.attributes, prev = this._previousAttributes; - - // Check for changes of `id`. - if (this.idAttribute in attrs) this.id = attrs[this.idAttribute]; - - // For each `set` attribute, update or delete the current value. - for (attr in attrs) { - val = attrs[attr]; - if (!_.isEqual(current[attr], val)) changes.push(attr); - if (!_.isEqual(prev[attr], val)) { - this.changed[attr] = val; - } else { - delete this.changed[attr]; - } - unset ? delete current[attr] : current[attr] = val; - } - - // Trigger all relevant attribute changes. - if (!silent) { - if (changes.length) this._pending = options; - for (var i = 0, l = changes.length; i < l; i++) { - this.trigger('change:' + changes[i], this, current[changes[i]], options); - } - } - - // You might be wondering why there's a `while` loop here. Changes can - // be recursively nested within `"change"` events. - if (changing) return this; - if (!silent) { - while (this._pending) { - options = this._pending; - this._pending = false; - this.trigger('change', this, options); - } - } - this._pending = false; - this._changing = false; - return this; - }, - - // Remove an attribute from the model, firing `"change"`. `unset` is a noop - // if the attribute doesn't exist. - unset: function(attr, options) { - return this.set(attr, void 0, _.extend({}, options, {unset: true})); - }, - - // Clear all attributes on the model, firing `"change"`. - clear: function(options) { - var attrs = {}; - for (var key in this.attributes) attrs[key] = void 0; - return this.set(attrs, _.extend({}, options, {unset: true})); - }, - - // Determine if the model has changed since the last `"change"` event. - // If you specify an attribute name, determine if that attribute has changed. - hasChanged: function(attr) { - if (attr == null) return !_.isEmpty(this.changed); - return _.has(this.changed, attr); - }, - - // Return an object containing all the attributes that have changed, or - // false if there are no changed attributes. Useful for determining what - // parts of a view need to be updated and/or what attributes need to be - // persisted to the server. Unset attributes will be set to undefined. - // You can also pass an attributes object to diff against the model, - // determining if there *would be* a change. - changedAttributes: function(diff) { - if (!diff) return this.hasChanged() ? _.clone(this.changed) : false; - var val, changed = false; - var old = this._changing ? this._previousAttributes : this.attributes; - for (var attr in diff) { - if (_.isEqual(old[attr], (val = diff[attr]))) continue; - (changed || (changed = {}))[attr] = val; - } - return changed; - }, - - // Get the previous value of an attribute, recorded at the time the last - // `"change"` event was fired. - previous: function(attr) { - if (attr == null || !this._previousAttributes) return null; - return this._previousAttributes[attr]; - }, - - // Get all of the attributes of the model at the time of the previous - // `"change"` event. - previousAttributes: function() { - return _.clone(this._previousAttributes); - }, - - // Fetch the model from the server. If the server's representation of the - // model differs from its current attributes, they will be overridden, - // triggering a `"change"` event. - fetch: function(options) { - options = options ? _.clone(options) : {}; - if (options.parse === void 0) options.parse = true; - var model = this; - var success = options.success; - options.success = function(resp) { - if (!model.set(model.parse(resp, options), options)) return false; - if (success) success(model, resp, options); - model.trigger('sync', model, resp, options); - }; - wrapError(this, options); - return this.sync('read', this, options); - }, - - // Set a hash of model attributes, and sync the model to the server. - // If the server returns an attributes hash that differs, the model's - // state will be `set` again. - save: function(key, val, options) { - var attrs, method, xhr, attributes = this.attributes; - - // Handle both `"key", value` and `{key: value}` -style arguments. - if (key == null || typeof key === 'object') { - attrs = key; - options = val; - } else { - (attrs = {})[key] = val; - } - - options = _.extend({validate: true}, options); - - // If we're not waiting and attributes exist, save acts as - // `set(attr).save(null, opts)` with validation. Otherwise, check if - // the model will be valid when the attributes, if any, are set. - if (attrs && !options.wait) { - if (!this.set(attrs, options)) return false; - } else { - if (!this._validate(attrs, options)) return false; - } - - // Set temporary attributes if `{wait: true}`. - if (attrs && options.wait) { - this.attributes = _.extend({}, attributes, attrs); - } - - // After a successful server-side save, the client is (optionally) - // updated with the server-side state. - if (options.parse === void 0) options.parse = true; - var model = this; - var success = options.success; - options.success = function(resp) { - // Ensure attributes are restored during synchronous saves. - model.attributes = attributes; - var serverAttrs = model.parse(resp, options); - if (options.wait) serverAttrs = _.extend(attrs || {}, serverAttrs); - if (_.isObject(serverAttrs) && !model.set(serverAttrs, options)) { - return false; - } - if (success) success(model, resp, options); - model.trigger('sync', model, resp, options); - }; - wrapError(this, options); - - method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update'); - if (method === 'patch') options.attrs = attrs; - xhr = this.sync(method, this, options); - - // Restore attributes. - if (attrs && options.wait) this.attributes = attributes; - - return xhr; - }, - - // Destroy this model on the server if it was already persisted. - // Optimistically removes the model from its collection, if it has one. - // If `wait: true` is passed, waits for the server to respond before removal. - destroy: function(options) { - options = options ? _.clone(options) : {}; - var model = this; - var success = options.success; - - var destroy = function() { - model.trigger('destroy', model, model.collection, options); - }; - - options.success = function(resp) { - if (options.wait || model.isNew()) destroy(); - if (success) success(model, resp, options); - if (!model.isNew()) model.trigger('sync', model, resp, options); - }; - - if (this.isNew()) { - options.success(); - return false; - } - wrapError(this, options); - - var xhr = this.sync('delete', this, options); - if (!options.wait) destroy(); - return xhr; - }, - - // Default URL for the model's representation on the server -- if you're - // using Backbone's restful methods, override this to change the endpoint - // that will be called. - url: function() { - var base = - _.result(this, 'urlRoot') || - _.result(this.collection, 'url') || - urlError(); - if (this.isNew()) return base; - return base.replace(/([^\/])$/, '$1/') + encodeURIComponent(this.id); - }, - - // **parse** converts a response into the hash of attributes to be `set` on - // the model. The default implementation is just to pass the response along. - parse: function(resp, options) { - return resp; - }, - - // Create a new model with identical attributes to this one. - clone: function() { - return new this.constructor(this.attributes); - }, - - // A model is new if it has never been saved to the server, and lacks an id. - isNew: function() { - return !this.has(this.idAttribute); - }, - - // Check if the model is currently in a valid state. - isValid: function(options) { - return this._validate({}, _.extend(options || {}, { validate: true })); - }, - - // Run validation against the next complete set of model attributes, - // returning `true` if all is well. Otherwise, fire an `"invalid"` event. - _validate: function(attrs, options) { - if (!options.validate || !this.validate) return true; - attrs = _.extend({}, this.attributes, attrs); - var error = this.validationError = this.validate(attrs, options) || null; - if (!error) return true; - this.trigger('invalid', this, error, _.extend(options, {validationError: error})); - return false; - } - - }); - - // Underscore methods that we want to implement on the Model. - var modelMethods = ['keys', 'values', 'pairs', 'invert', 'pick', 'omit']; - - // Mix in each Underscore method as a proxy to `Model#attributes`. - _.each(modelMethods, function(method) { - Model.prototype[method] = function() { - var args = slice.call(arguments); - args.unshift(this.attributes); - return _[method].apply(_, args); - }; - }); - - // Backbone.Collection - // ------------------- - - // If models tend to represent a single row of data, a Backbone Collection is - // more analagous to a table full of data ... or a small slice or page of that - // table, or a collection of rows that belong together for a particular reason - // -- all of the messages in this particular folder, all of the documents - // belonging to this particular author, and so on. Collections maintain - // indexes of their models, both in order, and for lookup by `id`. - - // Create a new **Collection**, perhaps to contain a specific type of `model`. - // If a `comparator` is specified, the Collection will maintain - // its models in sort order, as they're added and removed. - var Collection = Backbone.Collection = function(models, options) { - options || (options = {}); - if (options.model) this.model = options.model; - if (options.comparator !== void 0) this.comparator = options.comparator; - this._reset(); - this.initialize.apply(this, arguments); - if (models) this.reset(models, _.extend({silent: true}, options)); - }; - - // Default options for `Collection#set`. - var setOptions = {add: true, remove: true, merge: true}; - var addOptions = {add: true, remove: false}; - - // Define the Collection's inheritable methods. - _.extend(Collection.prototype, Events, { - - // The default model for a collection is just a **Backbone.Model**. - // This should be overridden in most cases. - model: Model, - - // Initialize is an empty function by default. Override it with your own - // initialization logic. - initialize: function(){}, - - // The JSON representation of a Collection is an array of the - // models' attributes. - toJSON: function(options) { - return this.map(function(model){ return model.toJSON(options); }); - }, - - // Proxy `Backbone.sync` by default. - sync: function() { - return Backbone.sync.apply(this, arguments); - }, - - // Add a model, or list of models to the set. - add: function(models, options) { - return this.set(models, _.extend({merge: false}, options, addOptions)); - }, - - // Remove a model, or a list of models from the set. - remove: function(models, options) { - var singular = !_.isArray(models); - models = singular ? [models] : _.clone(models); - options || (options = {}); - var i, l, index, model; - for (i = 0, l = models.length; i < l; i++) { - model = models[i] = this.get(models[i]); - if (!model) continue; - delete this._byId[model.id]; - delete this._byId[model.cid]; - index = this.indexOf(model); - this.models.splice(index, 1); - this.length--; - if (!options.silent) { - options.index = index; - model.trigger('remove', model, this, options); - } - this._removeReference(model, options); - } - return singular ? models[0] : models; - }, - - // Update a collection by `set`-ing a new list of models, adding new ones, - // removing models that are no longer present, and merging models that - // already exist in the collection, as necessary. Similar to **Model#set**, - // the core operation for updating the data contained by the collection. - set: function(models, options) { - options = _.defaults({}, options, setOptions); - if (options.parse) models = this.parse(models, options); - var singular = !_.isArray(models); - models = singular ? (models ? [models] : []) : _.clone(models); - var i, l, id, model, attrs, existing, sort; - var at = options.at; - var targetModel = this.model; - var sortable = this.comparator && (at == null) && options.sort !== false; - var sortAttr = _.isString(this.comparator) ? this.comparator : null; - var toAdd = [], toRemove = [], modelMap = {}; - var add = options.add, merge = options.merge, remove = options.remove; - var order = !sortable && add && remove ? [] : false; - - // Turn bare objects into model references, and prevent invalid models - // from being added. - for (i = 0, l = models.length; i < l; i++) { - attrs = models[i] || {}; - if (attrs instanceof Model) { - id = model = attrs; - } else { - id = attrs[targetModel.prototype.idAttribute || 'id']; - } - - // If a duplicate is found, prevent it from being added and - // optionally merge it into the existing model. - if (existing = this.get(id)) { - if (remove) modelMap[existing.cid] = true; - if (merge) { - attrs = attrs === model ? model.attributes : attrs; - if (options.parse) attrs = existing.parse(attrs, options); - existing.set(attrs, options); - if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true; - } - models[i] = existing; - - // If this is a new, valid model, push it to the `toAdd` list. - } else if (add) { - model = models[i] = this._prepareModel(attrs, options); - if (!model) continue; - toAdd.push(model); - this._addReference(model, options); - } - - // Do not add multiple models with the same `id`. - model = existing || model; - if (order && (model.isNew() || !modelMap[model.id])) order.push(model); - modelMap[model.id] = true; - } - - // Remove nonexistent models if appropriate. - if (remove) { - for (i = 0, l = this.length; i < l; ++i) { - if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model); - } - if (toRemove.length) this.remove(toRemove, options); - } - - // See if sorting is needed, update `length` and splice in new models. - if (toAdd.length || (order && order.length)) { - if (sortable) sort = true; - this.length += toAdd.length; - if (at != null) { - for (i = 0, l = toAdd.length; i < l; i++) { - this.models.splice(at + i, 0, toAdd[i]); - } - } else { - if (order) this.models.length = 0; - var orderedModels = order || toAdd; - for (i = 0, l = orderedModels.length; i < l; i++) { - this.models.push(orderedModels[i]); - } - } - } - - // Silently sort the collection if appropriate. - if (sort) this.sort({silent: true}); - - // Unless silenced, it's time to fire all appropriate add/sort events. - if (!options.silent) { - for (i = 0, l = toAdd.length; i < l; i++) { - (model = toAdd[i]).trigger('add', model, this, options); - } - if (sort || (order && order.length)) this.trigger('sort', this, options); - } - - // Return the added (or merged) model (or models). - return singular ? models[0] : models; - }, - - // When you have more items than you want to add or remove individually, - // you can reset the entire set with a new list of models, without firing - // any granular `add` or `remove` events. Fires `reset` when finished. - // Useful for bulk operations and optimizations. - reset: function(models, options) { - options || (options = {}); - for (var i = 0, l = this.models.length; i < l; i++) { - this._removeReference(this.models[i], options); - } - options.previousModels = this.models; - this._reset(); - models = this.add(models, _.extend({silent: true}, options)); - if (!options.silent) this.trigger('reset', this, options); - return models; - }, - - // Add a model to the end of the collection. - push: function(model, options) { - return this.add(model, _.extend({at: this.length}, options)); - }, - - // Remove a model from the end of the collection. - pop: function(options) { - var model = this.at(this.length - 1); - this.remove(model, options); - return model; - }, - - // Add a model to the beginning of the collection. - unshift: function(model, options) { - return this.add(model, _.extend({at: 0}, options)); - }, - - // Remove a model from the beginning of the collection. - shift: function(options) { - var model = this.at(0); - this.remove(model, options); - return model; - }, - - // Slice out a sub-array of models from the collection. - slice: function() { - return slice.apply(this.models, arguments); - }, - - // Get a model from the set by id. - get: function(obj) { - if (obj == null) return void 0; - return this._byId[obj] || this._byId[obj.id] || this._byId[obj.cid]; - }, - - // Get the model at the given index. - at: function(index) { - return this.models[index]; - }, - - // Return models with matching attributes. Useful for simple cases of - // `filter`. - where: function(attrs, first) { - if (_.isEmpty(attrs)) return first ? void 0 : []; - return this[first ? 'find' : 'filter'](function(model) { - for (var key in attrs) { - if (attrs[key] !== model.get(key)) return false; - } - return true; - }); - }, - - // Return the first model with matching attributes. Useful for simple cases - // of `find`. - findWhere: function(attrs) { - return this.where(attrs, true); - }, - - // Force the collection to re-sort itself. You don't need to call this under - // normal circumstances, as the set will maintain sort order as each item - // is added. - sort: function(options) { - if (!this.comparator) throw new Error('Cannot sort a set without a comparator'); - options || (options = {}); - - // Run sort based on type of `comparator`. - if (_.isString(this.comparator) || this.comparator.length === 1) { - this.models = this.sortBy(this.comparator, this); - } else { - this.models.sort(_.bind(this.comparator, this)); - } - - if (!options.silent) this.trigger('sort', this, options); - return this; - }, - - // Pluck an attribute from each model in the collection. - pluck: function(attr) { - return _.invoke(this.models, 'get', attr); - }, - - // Fetch the default set of models for this collection, resetting the - // collection when they arrive. If `reset: true` is passed, the response - // data will be passed through the `reset` method instead of `set`. - fetch: function(options) { - options = options ? _.clone(options) : {}; - if (options.parse === void 0) options.parse = true; - var success = options.success; - var collection = this; - options.success = function(resp) { - var method = options.reset ? 'reset' : 'set'; - collection[method](resp, options); - if (success) success(collection, resp, options); - collection.trigger('sync', collection, resp, options); - }; - wrapError(this, options); - return this.sync('read', this, options); - }, - - // Create a new instance of a model in this collection. Add the model to the - // collection immediately, unless `wait: true` is passed, in which case we - // wait for the server to agree. - create: function(model, options) { - options = options ? _.clone(options) : {}; - if (!(model = this._prepareModel(model, options))) return false; - if (!options.wait) this.add(model, options); - var collection = this; - var success = options.success; - options.success = function(model, resp) { - if (options.wait) collection.add(model, options); - if (success) success(model, resp, options); - }; - model.save(null, options); - return model; - }, - - // **parse** converts a response into a list of models to be added to the - // collection. The default implementation is just to pass it through. - parse: function(resp, options) { - return resp; - }, - - // Create a new collection with an identical list of models as this one. - clone: function() { - return new this.constructor(this.models); - }, - - // Private method to reset all internal state. Called when the collection - // is first initialized or reset. - _reset: function() { - this.length = 0; - this.models = []; - this._byId = {}; - }, - - // Prepare a hash of attributes (or other model) to be added to this - // collection. - _prepareModel: function(attrs, options) { - if (attrs instanceof Model) return attrs; - options = options ? _.clone(options) : {}; - options.collection = this; - var model = new this.model(attrs, options); - if (!model.validationError) return model; - this.trigger('invalid', this, model.validationError, options); - return false; - }, - - // Internal method to create a model's ties to a collection. - _addReference: function(model, options) { - this._byId[model.cid] = model; - if (model.id != null) this._byId[model.id] = model; - if (!model.collection) model.collection = this; - model.on('all', this._onModelEvent, this); - }, - - // Internal method to sever a model's ties to a collection. - _removeReference: function(model, options) { - if (this === model.collection) delete model.collection; - model.off('all', this._onModelEvent, this); - }, - - // Internal method called every time a model in the set fires an event. - // Sets need to update their indexes when models change ids. All other - // events simply proxy through. "add" and "remove" events that originate - // in other collections are ignored. - _onModelEvent: function(event, model, collection, options) { - if ((event === 'add' || event === 'remove') && collection !== this) return; - if (event === 'destroy') this.remove(model, options); - if (model && event === 'change:' + model.idAttribute) { - delete this._byId[model.previous(model.idAttribute)]; - if (model.id != null) this._byId[model.id] = model; - } - this.trigger.apply(this, arguments); - } - - }); - - // Underscore methods that we want to implement on the Collection. - // 90% of the core usefulness of Backbone Collections is actually implemented - // right here: - var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', - 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', - 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', - 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', - 'tail', 'drop', 'last', 'without', 'difference', 'indexOf', 'shuffle', - 'lastIndexOf', 'isEmpty', 'chain', 'sample']; - - // Mix in each Underscore method as a proxy to `Collection#models`. - _.each(methods, function(method) { - Collection.prototype[method] = function() { - var args = slice.call(arguments); - args.unshift(this.models); - return _[method].apply(_, args); - }; - }); - - // Underscore methods that take a property name as an argument. - var attributeMethods = ['groupBy', 'countBy', 'sortBy', 'indexBy']; - - // Use attributes instead of properties. - _.each(attributeMethods, function(method) { - Collection.prototype[method] = function(value, context) { - var iterator = _.isFunction(value) ? value : function(model) { - return model.get(value); - }; - return _[method](this.models, iterator, context); - }; - }); - - // Backbone.View - // ------------- - - // Backbone Views are almost more convention than they are actual code. A View - // is simply a JavaScript object that represents a logical chunk of UI in the - // DOM. This might be a single item, an entire list, a sidebar or panel, or - // even the surrounding frame which wraps your whole app. Defining a chunk of - // UI as a **View** allows you to define your DOM events declaratively, without - // having to worry about render order ... and makes it easy for the view to - // react to specific changes in the state of your models. - - // Creating a Backbone.View creates its initial element outside of the DOM, - // if an existing element is not provided... - var View = Backbone.View = function(options) { - this.cid = _.uniqueId('view'); - options || (options = {}); - _.extend(this, _.pick(options, viewOptions)); - this._ensureElement(); - this.initialize.apply(this, arguments); - this.delegateEvents(); - }; - - // Cached regex to split keys for `delegate`. - var delegateEventSplitter = /^(\S+)\s*(.*)$/; - - // List of view options to be merged as properties. - var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; - - // Set up all inheritable **Backbone.View** properties and methods. - _.extend(View.prototype, Events, { - - // The default `tagName` of a View's element is `"div"`. - tagName: 'div', - - // jQuery delegate for element lookup, scoped to DOM elements within the - // current view. This should be preferred to global lookups where possible. - $: function(selector) { - return this.$el.find(selector); - }, - - // Initialize is an empty function by default. Override it with your own - // initialization logic. - initialize: function(){}, - - // **render** is the core function that your view should override, in order - // to populate its element (`this.el`), with the appropriate HTML. The - // convention is for **render** to always return `this`. - render: function() { - return this; - }, - - // Remove this view by taking the element out of the DOM, and removing any - // applicable Backbone.Events listeners. - remove: function() { - this.$el.remove(); - this.stopListening(); - return this; - }, - - // Change the view's element (`this.el` property), including event - // re-delegation. - setElement: function(element, delegate) { - if (this.$el) this.undelegateEvents(); - this.$el = element instanceof Backbone.$ ? element : Backbone.$(element); - this.el = this.$el[0]; - if (delegate !== false) this.delegateEvents(); - return this; - }, - - // Set callbacks, where `this.events` is a hash of - // - // *{"event selector": "callback"}* - // - // { - // 'mousedown .title': 'edit', - // 'click .button': 'save', - // 'click .open': function(e) { ... } - // } - // - // pairs. Callbacks will be bound to the view, with `this` set properly. - // Uses event delegation for efficiency. - // Omitting the selector binds the event to `this.el`. - // This only works for delegate-able events: not `focus`, `blur`, and - // not `change`, `submit`, and `reset` in Internet Explorer. - delegateEvents: function(events) { - if (!(events || (events = _.result(this, 'events')))) return this; - this.undelegateEvents(); - for (var key in events) { - var method = events[key]; - if (!_.isFunction(method)) method = this[events[key]]; - if (!method) continue; - - var match = key.match(delegateEventSplitter); - var eventName = match[1], selector = match[2]; - method = _.bind(method, this); - eventName += '.delegateEvents' + this.cid; - if (selector === '') { - this.$el.on(eventName, method); - } else { - this.$el.on(eventName, selector, method); - } - } - return this; - }, - - // Clears all callbacks previously bound to the view with `delegateEvents`. - // You usually don't need to use this, but may wish to if you have multiple - // Backbone views attached to the same DOM element. - undelegateEvents: function() { - this.$el.off('.delegateEvents' + this.cid); - return this; - }, - - // Ensure that the View has a DOM element to render into. - // If `this.el` is a string, pass it through `$()`, take the first - // matching element, and re-assign it to `el`. Otherwise, create - // an element from the `id`, `className` and `tagName` properties. - _ensureElement: function() { - if (!this.el) { - var attrs = _.extend({}, _.result(this, 'attributes')); - if (this.id) attrs.id = _.result(this, 'id'); - if (this.className) attrs['class'] = _.result(this, 'className'); - var $el = Backbone.$('<' + _.result(this, 'tagName') + '>').attr(attrs); - this.setElement($el, false); - } else { - this.setElement(_.result(this, 'el'), false); - } - } - - }); - - // Backbone.sync - // ------------- - - // Override this function to change the manner in which Backbone persists - // models to the server. You will be passed the type of request, and the - // model in question. By default, makes a RESTful Ajax request - // to the model's `url()`. Some possible customizations could be: - // - // * Use `setTimeout` to batch rapid-fire updates into a single request. - // * Send up the models as XML instead of JSON. - // * Persist models via WebSockets instead of Ajax. - // - // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests - // as `POST`, with a `_method` parameter containing the true HTTP method, - // as well as all requests with the body as `application/x-www-form-urlencoded` - // instead of `application/json` with the model in a param named `model`. - // Useful when interfacing with server-side languages like **PHP** that make - // it difficult to read the body of `PUT` requests. - Backbone.sync = function(method, model, options) { - var type = methodMap[method]; - - // Default options, unless specified. - _.defaults(options || (options = {}), { - emulateHTTP: Backbone.emulateHTTP, - emulateJSON: Backbone.emulateJSON - }); - - // Default JSON-request options. - var params = {type: type, dataType: 'json'}; - - // Ensure that we have a URL. - if (!options.url) { - params.url = _.result(model, 'url') || urlError(); - } - - // Ensure that we have the appropriate request data. - if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) { - params.contentType = 'application/json'; - params.data = JSON.stringify(options.attrs || model.toJSON(options)); - } - - // For older servers, emulate JSON by encoding the request into an HTML-form. - if (options.emulateJSON) { - params.contentType = 'application/x-www-form-urlencoded'; - params.data = params.data ? {model: params.data} : {}; - } - - // For older servers, emulate HTTP by mimicking the HTTP method with `_method` - // And an `X-HTTP-Method-Override` header. - if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) { - params.type = 'POST'; - if (options.emulateJSON) params.data._method = type; - var beforeSend = options.beforeSend; - options.beforeSend = function(xhr) { - xhr.setRequestHeader('X-HTTP-Method-Override', type); - if (beforeSend) return beforeSend.apply(this, arguments); - }; - } - - // Don't process data on a non-GET request. - if (params.type !== 'GET' && !options.emulateJSON) { - params.processData = false; - } - - // If we're sending a `PATCH` request, and we're in an old Internet Explorer - // that still has ActiveX enabled by default, override jQuery to use that - // for XHR instead. Remove this line when jQuery supports `PATCH` on IE8. - if (params.type === 'PATCH' && noXhrPatch) { - params.xhr = function() { - return new ActiveXObject("Microsoft.XMLHTTP"); - }; - } - - // Make the request, allowing the user to override any Ajax options. - var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); - model.trigger('request', model, xhr, options); - return xhr; - }; - - var noXhrPatch = - typeof window !== 'undefined' && !!window.ActiveXObject && - !(window.XMLHttpRequest && (new XMLHttpRequest).dispatchEvent); - - // Map from CRUD to HTTP for our default `Backbone.sync` implementation. - var methodMap = { - 'create': 'POST', - 'update': 'PUT', - 'patch': 'PATCH', - 'delete': 'DELETE', - 'read': 'GET' - }; - - // Set the default implementation of `Backbone.ajax` to proxy through to `$`. - // Override this if you'd like to use a different library. - Backbone.ajax = function() { - return Backbone.$.ajax.apply(Backbone.$, arguments); - }; - - // Backbone.Router - // --------------- - - // Routers map faux-URLs to actions, and fire events when routes are - // matched. Creating a new one sets its `routes` hash, if not set statically. - var Router = Backbone.Router = function(options) { - options || (options = {}); - if (options.routes) this.routes = options.routes; - this._bindRoutes(); - this.initialize.apply(this, arguments); - }; - - // Cached regular expressions for matching named param parts and splatted - // parts of route strings. - var optionalParam = /\((.*?)\)/g; - var namedParam = /(\(\?)?:\w+/g; - var splatParam = /\*\w+/g; - var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; - - // Set up all inheritable **Backbone.Router** properties and methods. - _.extend(Router.prototype, Events, { - - // Initialize is an empty function by default. Override it with your own - // initialization logic. - initialize: function(){}, - - // Manually bind a single named route to a callback. For example: - // - // this.route('search/:query/p:num', 'search', function(query, num) { - // ... - // }); - // - route: function(route, name, callback) { - if (!_.isRegExp(route)) route = this._routeToRegExp(route); - if (_.isFunction(name)) { - callback = name; - name = ''; - } - if (!callback) callback = this[name]; - var router = this; - Backbone.history.route(route, function(fragment) { - var args = router._extractParameters(route, fragment); - router.execute(callback, args); - router.trigger.apply(router, ['route:' + name].concat(args)); - router.trigger('route', name, args); - Backbone.history.trigger('route', router, name, args); - }); - return this; - }, - - // Execute a route handler with the provided parameters. This is an - // excellent place to do pre-route setup or post-route cleanup. - execute: function(callback, args) { - if (callback) callback.apply(this, args); - }, - - // Simple proxy to `Backbone.history` to save a fragment into the history. - navigate: function(fragment, options) { - Backbone.history.navigate(fragment, options); - return this; - }, - - // Bind all defined routes to `Backbone.history`. We have to reverse the - // order of the routes here to support behavior where the most general - // routes can be defined at the bottom of the route map. - _bindRoutes: function() { - if (!this.routes) return; - this.routes = _.result(this, 'routes'); - var route, routes = _.keys(this.routes); - while ((route = routes.pop()) != null) { - this.route(route, this.routes[route]); - } - }, - - // Convert a route string into a regular expression, suitable for matching - // against the current location hash. - _routeToRegExp: function(route) { - route = route.replace(escapeRegExp, '\\$&') - .replace(optionalParam, '(?:$1)?') - .replace(namedParam, function(match, optional) { - return optional ? match : '([^/?]+)'; - }) - .replace(splatParam, '([^?]*?)'); - return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); - }, - - // Given a route, and a URL fragment that it matches, return the array of - // extracted decoded parameters. Empty or unmatched parameters will be - // treated as `null` to normalize cross-browser behavior. - _extractParameters: function(route, fragment) { - var params = route.exec(fragment).slice(1); - return _.map(params, function(param, i) { - // Don't decode the search params. - if (i === params.length - 1) return param || null; - return param ? decodeURIComponent(param) : null; - }); - } - - }); - - // Backbone.History - // ---------------- - - // Handles cross-browser history management, based on either - // [pushState](http://diveintohtml5.info/history.html) and real URLs, or - // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange) - // and URL fragments. If the browser supports neither (old IE, natch), - // falls back to polling. - var History = Backbone.History = function() { - this.handlers = []; - _.bindAll(this, 'checkUrl'); - - // Ensure that `History` can be used outside of the browser. - if (typeof window !== 'undefined') { - this.location = window.location; - this.history = window.history; - } - }; - - // Cached regex for stripping a leading hash/slash and trailing space. - var routeStripper = /^[#\/]|\s+$/g; - - // Cached regex for stripping leading and trailing slashes. - var rootStripper = /^\/+|\/+$/g; - - // Cached regex for detecting MSIE. - var isExplorer = /msie [\w.]+/; - - // Cached regex for removing a trailing slash. - var trailingSlash = /\/$/; - - // Cached regex for stripping urls of hash. - var pathStripper = /#.*$/; - - // Has the history handling already been started? - History.started = false; - - // Set up all inheritable **Backbone.History** properties and methods. - _.extend(History.prototype, Events, { - - // The default interval to poll for hash changes, if necessary, is - // twenty times a second. - interval: 50, - - // Are we at the app root? - atRoot: function() { - return this.location.pathname.replace(/[^\/]$/, '$&/') === this.root; - }, - - // Gets the true hash value. Cannot use location.hash directly due to bug - // in Firefox where location.hash will always be decoded. - getHash: function(window) { - var match = (window || this).location.href.match(/#(.*)$/); - return match ? match[1] : ''; - }, - - // Get the cross-browser normalized URL fragment, either from the URL, - // the hash, or the override. - getFragment: function(fragment, forcePushState) { - if (fragment == null) { - if (this._hasPushState || !this._wantsHashChange || forcePushState) { - fragment = decodeURI(this.location.pathname + this.location.search); - var root = this.root.replace(trailingSlash, ''); - if (!fragment.indexOf(root)) fragment = fragment.slice(root.length); - } else { - fragment = this.getHash(); - } - } - return fragment.replace(routeStripper, ''); - }, - - // Start the hash change handling, returning `true` if the current URL matches - // an existing route, and `false` otherwise. - start: function(options) { - if (History.started) throw new Error("Backbone.history has already been started"); - History.started = true; - - // Figure out the initial configuration. Do we need an iframe? - // Is pushState desired ... is it available? - this.options = _.extend({root: '/'}, this.options, options); - this.root = this.options.root; - this._wantsHashChange = this.options.hashChange !== false; - this._wantsPushState = !!this.options.pushState; - this._hasPushState = !!(this.options.pushState && this.history && this.history.pushState); - var fragment = this.getFragment(); - var docMode = document.documentMode; - var oldIE = (isExplorer.exec(navigator.userAgent.toLowerCase()) && (!docMode || docMode <= 7)); - - // Normalize root to always include a leading and trailing slash. - this.root = ('/' + this.root + '/').replace(rootStripper, '/'); - - if (oldIE && this._wantsHashChange) { - var frame = Backbone.$('