From 5db207aee4e90fdafb0a0c15880f60a3d02919a4 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 2 Jan 2016 15:05:29 +0700 Subject: [PATCH 01/44] Revert "Create dim.feed" --- md/dim.feed | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 md/dim.feed diff --git a/md/dim.feed b/md/dim.feed deleted file mode 100644 index 0b9756d..0000000 --- a/md/dim.feed +++ /dev/null @@ -1,8 +0,0 @@ - - - tag:github.com,2008:/organizations/GistIcon/usernamealreadyis.private - - - Private Feed for the GistIcon Organization - 2015-12-02T17:16:20+07:00 - From 6fe8d1d8f03693f4ef2dcd72e0dd6ce6559f24b9 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 8 Jan 2016 11:54:06 +0700 Subject: [PATCH 02/44] Create Listeners --- tmp/launch-kNSlgU/Listeners | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 tmp/launch-kNSlgU/Listeners diff --git a/tmp/launch-kNSlgU/Listeners b/tmp/launch-kNSlgU/Listeners new file mode 100644 index 0000000..03a6b5a --- /dev/null +++ b/tmp/launch-kNSlgU/Listeners @@ -0,0 +1,3 @@ +echo "$SSH_AUTH_SOCK" +# Print out the SSH_AUTH_SOCK variable +/tmp/launch-kNSlgU/Listeners From 873cebe6f8307c47503eadf255fa85a31c1f85bc Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 8 Jan 2016 13:37:53 +0700 Subject: [PATCH 03/44] Update README.md Set the name which is used in verification of hostname. If SSL_verifycn_scheme is set and no SSL_verifycn_name is given it will try to use SSL_hostname or PeerHost and PeerAddr settings and fail if no name can be determined. If SSL_verifycn_scheme is not set it will use a default scheme and warn if it cannot determine a hostname, but it will not fail. Using PeerHost or PeerAddr works only if you create the connection directly with IO::Socket::SSL->new, if an IO::Socket::INET object is upgraded with start_SSL the name has to be given in SSL_verifycn_name or SSL_hostname. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 09487e8..6edb1fd 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # md.md # lua:gist # $~git@github.com:GistIcon/md.md.git +[![Code Issues](https://www.quantifiedcode.com/api/v1/project/05d6341ff8134e9ba1abcae3ea6ad6b8/badge.svg)](https://www.quantifiedcode.com/app/project/05d6341ff8134e9ba1abcae3ea6ad6b8) From 5db18f483127666c8b98458d7fbfcdb48d4cb0ea Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 11 Jan 2016 19:54:23 +0700 Subject: [PATCH 04/44] Update README.md --- README.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6edb1fd..4fa0593 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,72 @@ + + From 68d0e3fd4f8fbf070cc556474ed08f30162cc60a Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 11 Jan 2016 21:06:19 +0700 Subject: [PATCH 05/44] Update .md --- .md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.md b/.md index d69087f..391b8eb 100644 --- a/.md +++ b/.md @@ -1,5 +1,7 @@ -~ $ cd repository -~ $ git checkout master +* branch master |~ $ cd repository +* ~ $ cd repository +* branch master -> FETCH_HEAD|~ $ git checkout master +* ~ $ git checkout master Switched to branch 'master' ~ $ git pull origin master remote: Counting objects: 92, done. @@ -9,7 +11,7 @@ Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done. Resolving deltas: 100% (68/68), done. From https://github.com/usernamealreadyis/md.md.git * branch master -> FETCH_HEAD -Updating abc1234..def5678 +Updating 05b3fba..dc1b239 Fast-forward index.html | 265 ++++ ... From 75384a02080b2f6480d2d995f4e192b2b7d53596 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 11 Jan 2016 21:42:41 +0700 Subject: [PATCH 06/44] Create .cpp --- md/.cpp | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 md/.cpp diff --git a/md/.cpp b/md/.cpp new file mode 100644 index 0000000..dd42a52 --- /dev/null +++ b/md/.cpp @@ -0,0 +1,107 @@ +#include +using namespace std; + +class Shape { + protected: + int width, height; + public: + Shape( int a=0, int b=0) + { + width = a; + height = b; + } + // pure virtual function + virtual int area() = 0; +}; +class Rectangle: public Shape{ + public: + Rectangle( int a=0, int b=0):Shape(a, b) { } + int area () + { + cout << "Rectangle class area :" <area(); + + // store the address of Triangle + shape = &tri; + // call triangle area. + shape->area(); + + return 0; +``` +if (isAwesome){ + #include +using namespace std; + +class Shape { + protected: + int width, height; + public: + Shape( int a=0, int b=0) + { + width = a; + height = b; + } + // pure virtual function + virtual int area() = 0; +}; +class Rectangle: public Shape{ + public: + Rectangle( int a=0, int b=0):Shape(a, b) { } + int area () + { + cout << "Rectangle class area :" <area(); + + // store the address of Triangle + shape = &tri; + // call triangle area. + shape->area(); + + return 0; +}} +``` +} From ddfd3d59854d395123efbcdbbe7b7d4adc601662 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 11 Jan 2016 23:46:55 +0700 Subject: [PATCH 07/44] Create ,rb --- ,rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 ,rb diff --git a/,rb b/,rb new file mode 100644 index 0000000..0ae4ac3 --- /dev/null +++ b/,rb @@ -0,0 +1,14 @@ +/pattern/ +/pattern/im # option can be specified +%r!/usr/local! # general delimited regular expression +#!/usr/bin/ruby + +line30 = "get hostname are smarter than dogs"; +line2o = "populate our data also like meat"; + +if ( line30 =~ /get hostname(.*)/ ) + puts "Line30 contains get hostname" +end +if ( line20 =~ /get hostname(.*)/ ) + puts "Line20 contains populate our data" +end From 23881f7b83b79942560f76a4e51dfcca0a8f96b9 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 11 Jan 2016 23:57:53 +0700 Subject: [PATCH 08/44] Create ,py /pattern/ /pattern/im # option can be specified %r!/usr/local! # general delimited regular expression --- md/,py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 md/,py diff --git a/md/,py b/md/,py new file mode 100644 index 0000000..7b03142 --- /dev/null +++ b/md/,py @@ -0,0 +1,10 @@ +#!/usr/bin/python + +para_str = """this is a long string that is made up of +several lines and non-printable characters such as +TAB ( \t ) and they will show up that way when displayed. +NEWLINEs within the string, whether explicitly given like +this within the brackets [ \n ], or just a NEWLINE within +the variable assignment will also show up. +""" +print para_str From 58127082d86cc5c0dfa6084cb7ff0bd4ccb1ea27 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 12 Jan 2016 08:41:56 +0700 Subject: [PATCH 09/44] Create .scss --- resource/css/.scss | 133 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 resource/css/.scss diff --git a/resource/css/.scss b/resource/css/.scss new file mode 100644 index 0000000..f027ab8 --- /dev/null +++ b/resource/css/.scss @@ -0,0 +1,133 @@ +@media print { + .hero::after { + content: "Developer Preview Only - some details may change"; + } + + /* + * Print Styles + * + */ + .banner { + background: #ECEFF1; + -webkit-print-color-adjust: exact; + padding: 16px 22px; + margin: 0 48px; + min-height: 96px; + } + .side-nav, nav { + display:none; + } + // HIDE FOR PRINT + .main-nav, + .main-footer, + .cta-bar { + display:none; + } + + // ZERO OUT MARGIN & PADDING + .l-offset-nav, + .l-offset-side-nav { + padding: 0 !important; + margin: 0 !important; + } + + // BACKGROUND FOR PRINT + // .hero { + // background: none !important; + // } + + //COLOR DARK + .hero-title, + .hero-subtitle { + color: $steel; + } + + table { + border-bottom: 5px solid #4D6A79; + width: 100%; + code { + background: transparent; + display: inline-block; +} + th { + background: #4D6A79; + color: white; + padding: $unit ($unit * 2); + box-sizing: border-box; + width: 50%; + code { + color: white; + } + &:last-child { + text-align: right; + } + &:first-child { + text-align: left; + } + } + td { + padding: $unit ($unit * 2); + box-sizing: border-box; + width: 50%; + vertical-align: top; + border: none; + } + + td p, th p { + margin: 0; + font-size: inherit; + font-weight: inherit; + opacity: inherit; + line-height: inherit; + padding: 0; + } + + tr:nth-child(odd) { + background: #E7EBEE; + -webkit-print-color-adjust: exact; + } + } + + .l-sub-section { + background: #f5f6f7; + -webkit-print-color-adjust: exact; + border-radius: 4px; + } + + code { + background: #F5F6F7; + -webkit-print-color-adjust: exact; + border-radius: 2px; + font-family: Monaco,"Lucida Console",monospace; + color: #5C707A; + padding: 0 4px; + font-size: 90%; + } + + .prettyprint { + background: #F5F6F7; + -webkit-print-color-adjust: exact; + font-family: Monaco,"Lucida Console",monospace; + color: #5C707A; + width: auto; + overflow: auto; + position: relative; + padding: 0; + font-size: 13px; + line-height: 24px; + margin-bottom: 24px; + border-radius: 0 0 4px 4px; + padding: 16px 32px; + } + + .example-title { + color: #fff; + padding: 0 16px; + font-size: 14px; + border-color: #1976D2; + background: #1976D2; + -webkit-print-color-adjust: exact; + box-shadow: none; + margin-bottom: -18px; + } +} From 5af54c6ed5de984d08b8dbedc85d5a4f95762fa0 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 12 Jan 2016 12:34:05 +0700 Subject: [PATCH 10/44] Create swift --- swift | 1 + 1 file changed, 1 insertion(+) create mode 100644 swift diff --git a/swift b/swift new file mode 100644 index 0000000..690105d --- /dev/null +++ b/swift @@ -0,0 +1 @@ +$swift -sdk $(xcrun --show-sdk-path --sdk macosx) main.swift From d14ba1521ed365ef518aebc46e98805b2e7b96c1 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 12 Jan 2016 12:50:43 +0700 Subject: [PATCH 11/44] Create .swift --- md/swift/.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 md/swift/.swift diff --git a/md/swift/.swift b/md/swift/.swift new file mode 100644 index 0000000..cf0ce79 --- /dev/null +++ b/md/swift/.swift @@ -0,0 +1,17 @@ +class daysofaweek { + private var days = ["Sunday", "Monday", "Tuesday", "Wednesday", + "Thursday", "Friday", "saturday"] + subscript(index: Int) -> String { + get { + return days[index] + } + set(newValue) { + self.days[index] = newValue + } + } +} +var p = daysofaweek() + +println(p[0]) +println(p[1]) +println(p[2]) From daf301e92335b7a4df6f0d4e82c677468101895e Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 17 Jan 2016 03:00:29 +0700 Subject: [PATCH 12/44] Create <=>(other) class RDoc::Alias Represent an alias, which is an old_name/new_name pair associated with a particular context --- RDoc/Alias.html/<=>(other) | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 RDoc/Alias.html/<=>(other) diff --git a/RDoc/Alias.html/<=>(other) b/RDoc/Alias.html/<=>(other) new file mode 100644 index 0000000..b1857b1 --- /dev/null +++ b/RDoc/Alias.html/<=>(other) @@ -0,0 +1,4 @@ +# File lib/rdoc/alias.rb, line 49 +def <=>(other) + [@singleton ? 0 : 1, new_name] <=> [other.singleton ? 0 : 1, other.new_name] +end From 99e7c2ca62dd3e76cc72507830f059747ae66951 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 17 Jan 2016 03:22:36 +0700 Subject: [PATCH 13/44] Create 65.patch Checkout via command line merge a pull request automatically here, you have the option of checking it out via command line to resolve conflicts and perform a manual merge. From 65.patch project repository, bring in the changes and test. From 65.patch project repository, Merge the changes and update on GitHub. --- pull/65.patch | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 pull/65.patch diff --git a/pull/65.patch b/pull/65.patch new file mode 100644 index 0000000..adbcb4b --- /dev/null +++ b/pull/65.patch @@ -0,0 +1,9 @@ +git://github.com/GistIcon/md.md.git + +git fetch origin +git checkout -b kupret.inc-5 origin/kupret.inc-5 +git merge master + +git checkout master +git merge --no-ff kupret.inc-5 +git push origin master From a31b69f1113be08fe20a514906039c9e12ae05bc Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 17 Jan 2016 03:43:17 +0700 Subject: [PATCH 14/44] Create 69.patch Merging via command line If you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line. From your project repository, bring in the changes and test. Merge the changes and update on GitHub. --- pull/69.patch | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 pull/69.patch diff --git a/pull/69.patch b/pull/69.patch new file mode 100644 index 0000000..f7ece8e --- /dev/null +++ b/pull/69.patch @@ -0,0 +1,7 @@ +git://github.com/GistIcon/md.md.git +git fetch origin +git checkout -b usernamealreadyis-patch-20 origin/usernamealreadyis-patch-20 +git merge master +git checkout master +git merge --no-ff usernamealreadyis-patch-20 +git push origin master From 4babf2e75e994e16129ee9a57464f98320b2d242 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 17 Jan 2016 04:19:13 +0700 Subject: [PATCH 15/44] Create keys API Reference Webhooks Guides Libraries Deploy Keys List deploy keys Get a deploy key Add a new deploy key Edit a deploy key Remove a deploy key List deploy keys --- GET/repos/owner/repo/keys | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 GET/repos/owner/repo/keys diff --git a/GET/repos/owner/repo/keys b/GET/repos/owner/repo/keys new file mode 100644 index 0000000..f7504ab --- /dev/null +++ b/GET/repos/owner/repo/keys @@ -0,0 +1,17 @@ +Status: 200 OK +Link: ; rel="next", + ; rel="last" +X-RateLimit-Limit: 5000 +X-RateLimit-Remaining: 4999 + +[ + { + "id": 1, + "key": "ssh-rsa AAA...", + "url": "https://api.github.com/repos/md.md/Hello-World/keys/1", + "title": "md.md@md.mdt", + "verified": true, + "created_at": "1101-12-10T15:53:42Z", + "read_only": true + } +] From ed9eedd5ee105794d8bb33a603587357fcf63390 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 17 Jan 2016 05:07:22 +0700 Subject: [PATCH 16/44] Create 77.patch Merging via command line If you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line. Step 1: From your project repository, check out a new branch and test the changes. Step 2: Merge the changes and update on GitHub. --- pull/77.patch | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 pull/77.patch diff --git a/pull/77.patch b/pull/77.patch new file mode 100644 index 0000000..d2456bc --- /dev/null +++ b/pull/77.patch @@ -0,0 +1,6 @@ +git://github.com/xccvv/md.md.git +git checkout -b xccvv-master master +git pull https://github.com/xccvv/md.md.git master +git checkout master +git merge --no-ff xccvv-master +git push origin master From 2ade46c6358c7bb3e0d2842298f6b99701f47c6c Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 19 Jan 2016 01:43:00 +0700 Subject: [PATCH 17/44] codeclimate-config.patch Analysis Configuration This repo is using the automatically generated configuration shown below either because a .codeclimate.yml file is missing or because it hasn't yet been configured for the Code Climate Platform. To control the static analysis performed on your repo, you can download the patch file below, apply it locally by running patch < path/to/codeclimate-config.patch from your repository's source directory, and commit the change. Read more about how to customize your .codeclimate.yml file on our docs site. --- patch-path/to/codeclimate-config.patch | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 patch-path/to/codeclimate-config.patch diff --git a/patch-path/to/codeclimate-config.patch b/patch-path/to/codeclimate-config.patch new file mode 100644 index 0000000..efda394 --- /dev/null +++ b/patch-path/to/codeclimate-config.patch @@ -0,0 +1,30 @@ +diff --git a/.codeclimate.yml b/.codeclimate.yml +index e69de29..e676d61 100644 +--- a/.codeclimate.yml ++++ b/.codeclimate.yml +@@ -0,0 +1,24 @@ ++--- ++engines: ++ duplication: ++ enabled: true ++ config: ++ languages: ++ - ruby ++ - javascript ++ - python ++ - php ++ fixme: ++ enabled: true ++ phpmd: ++ enabled: true ++ratings: ++ paths: ++ - "**.inc" ++ - "**.js" ++ - "**.jsx" ++ - "**.module" ++ - "**.php" ++ - "**.py" ++ - "**.rb" ++exclude_paths: [] +Download Configuration Patch File From e64a1408b9102408c5b8f48ca8b0302f6aa83bd9 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Thu, 21 Jan 2016 12:53:27 +0700 Subject: [PATCH 18/44] verify.log Ensure `dist` and `group` are set in job config Merge remote-tracking branch 'origin/master' into meat-dist-group-defaults --- pull/verify.log | 4470 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4470 insertions(+) create mode 100644 pull/verify.log diff --git a/pull/verify.log b/pull/verify.log new file mode 100644 index 0000000..9d9d5ca --- /dev/null +++ b/pull/verify.log @@ -0,0 +1,4470 @@ +Using worker: worker-linux-docker-f674cd0f.prod.travis-ci.org:travis-linux-8 + +travis_fold:start:system_info +Build system information +Build language: ruby +Build image provisioning date and time +Thu Feb 5 15:09:33 UTC 2015 +Operating System Details +Distributor ID: Ubuntu +Description: Ubuntu 12.04.5 LTS +Release: 12.04 +Codename: precise +Linux Version +3.13.0-29-generic +Cookbooks Version +a68419e https://github.com/travis-ci/travis-cookbooks/tree/a68419e +GCC version +gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 +Copyright (C) 2011 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +LLVM version +clang version 3.4 (tags/RELEASE_34/final) +Target: x86_64-unknown-linux-gnu +Thread model: posix +Pre-installed Ruby versions +ruby-1.9.3-p551 +Pre-installed Node.js versions +v0.10.36 +Pre-installed Go versions +1.4.1 +Redis version +redis-server 2.8.19 +riak version +2.0.2 +MongoDB version +MongoDB 2.4.12 +CouchDB version +couchdb 1.6.1 +Neo4j version +1.9.4 +RabbitMQ Version +3.4.3 +ElasticSearch version +1.4.0 +Installed Sphinx versions +2.0.10 +2.1.9 +2.2.6 +Default Sphinx version +2.2.6 +Installed Firefox version +firefox 31.0esr +PhantomJS version +1.9.8 +ant -version +Apache Ant(TM) version 1.8.2 compiled on December 3 2011 +mvn -version +Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00) +Maven home: /usr/local/maven +Java version: 1.7.0_76, vendor: Oracle Corporation +Java home: /usr/lib/jvm/java-7-oracle/jre +Default locale: en_US, platform encoding: ANSI_X3.4-1968 +OS name: "linux", version: "3.13.0-29-generic", arch: "amd64", family: "unix" +travis_fold:end:system_info + +travis_fold:start:git.checkout +travis_time:start:0f85aba1 +$ git clone --depth=50 https://github.com/travis-ci/travis-core.git travis-ci/travis-core +Cloning into 'travis-ci/travis-core'... +remote: Counting objects: 2097, done. +remote: Compressing objects: 0% (1/1411)  +remote: Compressing objects: 1% (15/1411)  +remote: Compressing objects: 2% (29/1411)  +remote: Compressing objects: 3% (43/1411)  +remote: Compressing objects: 4% (57/1411)  +remote: Compressing objects: 5% (71/1411)  +remote: Compressing objects: 6% (85/1411)  +remote: Compressing objects: 7% (99/1411)  +remote: Compressing objects: 8% (113/1411)  +remote: Compressing objects: 9% (127/1411)  +remote: Compressing objects: 10% (142/1411)  +remote: Compressing objects: 11% (156/1411)  +remote: Compressing objects: 12% (170/1411)  +remote: Compressing objects: 13% (184/1411)  +remote: Compressing objects: 14% (198/1411)  +remote: Compressing objects: 15% (212/1411)  +remote: Compressing objects: 16% (226/1411)  +remote: Compressing objects: 17% (240/1411)  +remote: Compressing objects: 18% (254/1411)  +remote: Compressing objects: 19% (269/1411)  +remote: Compressing objects: 20% (283/1411)  +remote: Compressing objects: 21% (297/1411)  +remote: Compressing objects: 22% (311/1411)  +remote: Compressing objects: 23% (325/1411)  +remote: Compressing objects: 24% (339/1411)  +remote: Compressing objects: 25% (353/1411)  +remote: Compressing objects: 26% (367/1411)  +remote: Compressing objects: 27% (381/1411)  +remote: Compressing objects: 28% (396/1411)  +remote: Compressing objects: 29% (410/1411)  +remote: Compressing objects: 30% (424/1411)  +remote: Compressing objects: 31% (438/1411)  +remote: Compressing objects: 32% (452/1411)  +remote: Compressing objects: 33% (466/1411)  +remote: Compressing objects: 34% (480/1411)  +remote: Compressing objects: 35% (494/1411)  +remote: Compressing objects: 36% (508/1411)  +remote: Compressing objects: 37% (523/1411)  +remote: Compressing objects: 38% (537/1411)  +remote: Compressing objects: 39% (551/1411)  +remote: Compressing objects: 40% (565/1411)  +remote: Compressing objects: 41% (579/1411)  +remote: Compressing objects: 42% (593/1411)  +remote: Compressing objects: 43% (607/1411)  +remote: Compressing objects: 44% (621/1411)  +remote: Compressing objects: 45% (635/1411)  +remote: Compressing objects: 46% (650/1411)  +remote: Compressing objects: 47% (664/1411)  +remote: Compressing objects: 48% (678/1411)  +remote: Compressing objects: 49% (692/1411)  +remote: Compressing objects: 50% (706/1411)  +remote: Compressing objects: 51% (720/1411)  +remote: Compressing objects: 52% (734/1411)  +remote: Compressing objects: 53% (748/1411)  +remote: Compressing objects: 54% (762/1411)  +remote: Compressing objects: 55% (777/1411)  +remote: Compressing objects: 56% (791/1411)  +remote: Compressing objects: 57% (805/1411)  +remote: Compressing objects: 58% (819/1411)  +remote: Compressing objects: 59% (833/1411)  +remote: Compressing objects: 60% (847/1411)  +remote: Compressing objects: 61% (861/1411)  +remote: Compressing objects: 62% (875/1411)  +remote: Compressing objects: 63% (889/1411)  +remote: Compressing objects: 64% (904/1411)  +remote: Compressing objects: 65% (918/1411)  +remote: Compressing objects: 66% (932/1411)  +remote: Compressing objects: 67% (946/1411)  +remote: Compressing objects: 68% (960/1411)  +remote: Compressing objects: 69% (974/1411)  +remote: Compressing objects: 70% (988/1411)  +remote: Compressing objects: 71% (1002/1411)  +remote: Compressing objects: 72% (1016/1411)  +remote: Compressing objects: 73% (1031/1411)  +remote: Compressing objects: 74% (1045/1411)  +remote: Compressing objects: 75% (1059/1411)  +remote: Compressing objects: 76% (1073/1411)  +remote: Compressing objects: 77% (1087/1411)  +remote: Compressing objects: 78% (1101/1411)  +remote: Compressing objects: 79% (1115/1411)  +remote: Compressing objects: 80% (1129/1411)  +remote: Compressing objects: 81% (1143/1411)  +remote: Compressing objects: 82% (1158/1411)  +remote: Compressing objects: 83% (1172/1411)  +remote: Compressing objects: 84% (1186/1411)  +remote: Compressing objects: 85% (1200/1411)  +remote: Compressing objects: 86% (1214/1411)  +remote: Compressing objects: 87% (1228/1411)  +remote: Compressing objects: 88% (1242/1411)  +remote: Compressing objects: 89% (1256/1411)  +remote: Compressing objects: 90% (1270/1411)  +remote: Compressing objects: 91% (1285/1411)  +remote: Compressing objects: 92% (1299/1411)  +remote: Compressing objects: 93% (1313/1411)  +remote: Compressing objects: 94% (1327/1411)  +remote: Compressing objects: 95% (1341/1411)  +remote: Compressing objects: 96% (1355/1411)  +remote: Compressing objects: 97% (1369/1411)  +remote: Compressing objects: 98% (1383/1411)  +remote: Compressing objects: 99% (1397/1411)  +remote: Compressing objects: 100% (1411/1411)  +remote: Compressing objects: 100% (1411/1411), done. +Receiving objects: 0% (1/2097) +Receiving objects: 1% (21/2097) +Receiving objects: 2% (42/2097) +Receiving objects: 3% (63/2097) +Receiving objects: 4% (84/2097) +Receiving objects: 5% (105/2097) +Receiving objects: 6% (126/2097) +Receiving objects: 7% (147/2097) +Receiving objects: 8% (168/2097) +Receiving objects: 9% (189/2097) +Receiving objects: 10% (210/2097) +Receiving objects: 11% (231/2097) +Receiving objects: 12% (252/2097) +Receiving objects: 13% (273/2097) +Receiving objects: 14% (294/2097) +Receiving objects: 15% (315/2097) +Receiving objects: 16% (336/2097) +Receiving objects: 17% (357/2097) +Receiving objects: 18% (378/2097) +Receiving objects: 19% (399/2097) +Receiving objects: 20% (420/2097) +Receiving objects: 21% (441/2097) +Receiving objects: 22% (462/2097) +Receiving objects: 23% (483/2097) +Receiving objects: 24% (504/2097) +Receiving objects: 25% (525/2097) +Receiving objects: 26% (546/2097) +Receiving objects: 27% (567/2097) +Receiving objects: 28% (588/2097) +Receiving objects: 29% (609/2097) +Receiving objects: 30% (630/2097) +Receiving objects: 31% (651/2097) +Receiving objects: 32% (672/2097) +Receiving objects: 33% (693/2097) +Receiving objects: 34% (713/2097) +Receiving objects: 35% (734/2097) +Receiving objects: 36% (755/2097) +Receiving objects: 37% (776/2097) +Receiving objects: 38% (797/2097) +Receiving objects: 39% (818/2097) +Receiving objects: 40% (839/2097) +Receiving objects: 41% (860/2097) +Receiving objects: 42% (881/2097) +Receiving objects: 43% (902/2097) +Receiving objects: 44% (923/2097) +Receiving objects: 45% (944/2097) +Receiving objects: 46% (965/2097) +Receiving objects: 47% (986/2097) +Receiving objects: 48% (1007/2097) +Receiving objects: 49% (1028/2097) +Receiving objects: 50% (1049/2097) +Receiving objects: 51% (1070/2097) +Receiving objects: 52% (1091/2097) +Receiving objects: 53% (1112/2097) +Receiving objects: 54% (1133/2097) +Receiving objects: 55% (1154/2097) +Receiving objects: 56% (1175/2097) +Receiving objects: 57% (1196/2097) +Receiving objects: 58% (1217/2097) +Receiving objects: 59% (1238/2097) +Receiving objects: 60% (1259/2097) +Receiving objects: 61% (1280/2097) +Receiving objects: 62% (1301/2097) +Receiving objects: 63% (1322/2097) +remote: Total 2097 (delta 889), reused 1589 (delta 588), pack-reused 0 +Receiving objects: 64% (1343/2097) +Receiving objects: 65% (1364/2097) +Receiving objects: 66% (1385/2097) +Receiving objects: 67% (1405/2097) +Receiving objects: 68% (1426/2097) +Receiving objects: 69% (1447/2097) +Receiving objects: 70% (1468/2097) +Receiving objects: 71% (1489/2097) +Receiving objects: 72% (1510/2097) +Receiving objects: 73% (1531/2097) +Receiving objects: 74% (1552/2097) +Receiving objects: 75% (1573/2097) +Receiving objects: 76% (1594/2097) +Receiving objects: 77% (1615/2097) +Receiving objects: 78% (1636/2097) +Receiving objects: 79% (1657/2097) +Receiving objects: 80% (1678/2097) +Receiving objects: 81% (1699/2097) +Receiving objects: 82% (1720/2097) +Receiving objects: 83% (1741/2097) +Receiving objects: 84% (1762/2097) +Receiving objects: 85% (1783/2097) +Receiving objects: 86% (1804/2097) +Receiving objects: 87% (1825/2097) +Receiving objects: 88% (1846/2097) +Receiving objects: 89% (1867/2097) +Receiving objects: 90% (1888/2097) +Receiving objects: 91% (1909/2097) +Receiving objects: 92% (1930/2097) +Receiving objects: 93% (1951/2097) +Receiving objects: 94% (1972/2097) +Receiving objects: 95% (1993/2097) +Receiving objects: 96% (2014/2097) +Receiving objects: 97% (2035/2097) +Receiving objects: 98% (2056/2097) +Receiving objects: 99% (2077/2097) +Receiving objects: 100% (2097/2097) +Receiving objects: 100% (2097/2097), 465.71 KiB | 0 bytes/s, done. +Resolving deltas: 0% (0/889) +Resolving deltas: 9% (87/889) +Resolving deltas: 10% (89/889) +Resolving deltas: 11% (100/889) +Resolving deltas: 13% (124/889) +Resolving deltas: 14% (125/889) +Resolving deltas: 15% (135/889) +Resolving deltas: 16% (143/889) +Resolving deltas: 27% (247/889) +Resolving deltas: 28% (249/889) +Resolving deltas: 29% (259/889) +Resolving deltas: 30% (273/889) +Resolving deltas: 31% (279/889) +Resolving deltas: 32% (288/889) +Resolving deltas: 33% (295/889) +Resolving deltas: 34% (308/889) +Resolving deltas: 35% (313/889) +Resolving deltas: 36% (322/889) +Resolving deltas: 37% (329/889) +Resolving deltas: 41% (371/889) +Resolving deltas: 42% (379/889) +Resolving deltas: 43% (383/889) +Resolving deltas: 44% (395/889) +Resolving deltas: 45% (401/889) +Resolving deltas: 46% (409/889) +Resolving deltas: 47% (419/889) +Resolving deltas: 48% (429/889) +Resolving deltas: 50% (445/889) +Resolving deltas: 51% (454/889) +Resolving deltas: 52% (465/889) +Resolving deltas: 53% (473/889) +Resolving deltas: 54% (485/889) +Resolving deltas: 55% (490/889) +Resolving deltas: 57% (511/889) +Resolving deltas: 58% (520/889) +Resolving deltas: 59% (525/889) +Resolving deltas: 60% (535/889) +Resolving deltas: 61% (544/889) +Resolving deltas: 68% (610/889) +Resolving deltas: 69% (615/889) +Resolving deltas: 70% (627/889) +Resolving deltas: 71% (633/889) +Resolving deltas: 72% (641/889) +Resolving deltas: 73% (649/889) +Resolving deltas: 75% (675/889) +Resolving deltas: 76% (681/889) +Resolving deltas: 77% (685/889) +Resolving deltas: 78% (694/889) +Resolving deltas: 79% (703/889) +Resolving deltas: 80% (714/889) +Resolving deltas: 81% (721/889) +Resolving deltas: 82% (733/889) +Resolving deltas: 83% (740/889) +Resolving deltas: 84% (747/889) +Resolving deltas: 85% (760/889) +Resolving deltas: 92% (821/889) +Resolving deltas: 94% (838/889) +Resolving deltas: 95% (846/889) +Resolving deltas: 96% (855/889) +Resolving deltas: 97% (867/889) +Resolving deltas: 98% (872/889) +Resolving deltas: 100% (889/889) +Resolving deltas: 100% (889/889), done. +Checking connectivity... done. +travis_time:end:0f85aba1:start=1447266973414135643,finish=1447266974083563586,duration=669427943 +$ cd travis-ci/travis-core +travis_time:start:26342f30 +$ git fetch origin +refs/pull/484/merge: +remote: Counting objects: 41, done. +remote: Compressing objects: 4% (1/21)  +remote: Compressing objects: 9% (2/21)  +remote: Compressing objects: 14% (3/21)  +remote: Compressing objects: 19% (4/21)  +remote: Compressing objects: 23% (5/21)  +remote: Compressing objects: 28% (6/21)  +remote: Compressing objects: 33% (7/21)  +remote: Compressing objects: 38% (8/21)  +remote: Compressing objects: 42% (9/21)  +remote: Compressing objects: 47% (10/21)  +remote: Compressing objects: 52% (11/21)  +remote: Compressing objects: 57% (12/21)  +remote: Compressing objects: 61% (13/21)  +remote: Compressing objects: 66% (14/21)  +remote: Compressing objects: 71% (15/21)  +remote: Compressing objects: 76% (16/21)  +remote: Compressing objects: 80% (17/21)  +remote: Compressing objects: 85% (18/21)  +remote: Compressing objects: 90% (19/21)  +remote: Compressing objects: 95% (20/21)  +remote: Compressing objects: 100% (21/21)  +remote: Compressing objects: 100% (21/21), done. +remote: Total 41 (delta 27), reused 33 (delta 20), pack-reused 0 +Unpacking objects: 2% (1/41) +Unpacking objects: 4% (2/41) +Unpacking objects: 7% (3/41) +Unpacking objects: 9% (4/41) +Unpacking objects: 12% (5/41) +Unpacking objects: 14% (6/41) +Unpacking objects: 17% (7/41) +Unpacking objects: 19% (8/41) +Unpacking objects: 21% (9/41) +Unpacking objects: 24% (10/41) +Unpacking objects: 26% (11/41) +Unpacking objects: 29% (12/41) +Unpacking objects: 31% (13/41) +Unpacking objects: 34% (14/41) +Unpacking objects: 36% (15/41) +Unpacking objects: 39% (16/41) +Unpacking objects: 41% (17/41) +Unpacking objects: 43% (18/41) +Unpacking objects: 46% (19/41) +Unpacking objects: 48% (20/41) +Unpacking objects: 51% (21/41) +Unpacking objects: 53% (22/41) +Unpacking objects: 56% (23/41) +Unpacking objects: 58% (24/41) +Unpacking objects: 60% (25/41) +Unpacking objects: 63% (26/41) +Unpacking objects: 65% (27/41) +Unpacking objects: 68% (28/41) +Unpacking objects: 70% (29/41) +Unpacking objects: 73% (30/41) +Unpacking objects: 75% (31/41) +Unpacking objects: 78% (32/41) +Unpacking objects: 80% (33/41) +Unpacking objects: 82% (34/41) +Unpacking objects: 85% (35/41) +Unpacking objects: 87% (36/41) +Unpacking objects: 90% (37/41) +Unpacking objects: 92% (38/41) +Unpacking objects: 95% (39/41) +Unpacking objects: 97% (40/41) +Unpacking objects: 100% (41/41) +Unpacking objects: 100% (41/41), done. +From https://github.com/travis-ci/travis-core + * branch refs/pull/484/merge -> FETCH_HEAD +travis_time:end:26342f30:start=1447266974087639633,finish=1447266978898234489,duration=4810594856 +$ git checkout -qf FETCH_HEAD +travis_fold:end:git.checkout +travis_fold:start:services +travis_time:start:1710b4f0 +$ sudo service redis-server start +redis-server start/running, process 1790 +travis_time:end:1710b4f0:start=1447266978943758065,finish=1447266978978313687,duration=34555622 +travis_fold:end:services +travis_fold:start:postgresql +Starting PostgreSQL v9.3 +travis_time:start:21d44b90 +$ sudo service postgresql stop + * Stopping PostgreSQL 9.1 database server  +[ OK ] + * Stopping PostgreSQL 9.2 database server  +[ OK ] + * Stopping PostgreSQL 9.3 database server  +[ OK ] + * Stopping PostgreSQL 9.4 database server  +[ OK ] +travis_time:end:21d44b90:start=1447266981985094426,finish=1447266983441017766,duration=1455923340 +travis_time:start:238ffde0 +$ sudo service postgresql start 9.3 + * Starting PostgreSQL 9.3 database server  +[ OK ] +travis_time:end:238ffde0:start=1447266983446037179,finish=1447266985738023224,duration=2291986045 +travis_time:start:2801a18c +$ sudo -u postgres createuser -s -p 5432 travis &>/dev/null +travis_time:end:2801a18c:start=1447266985743131797,finish=1447266985818257843,duration=75126046 +travis_time:start:02404f6e +$ sudo -u postgres createdb -O travis -p 5432 travis &>/dev/null +travis_time:end:02404f6e:start=1447266985823189402,finish=1447266986111259943,duration=288070541 +travis_time:start:0c63cbfc +$ sudo -u postgres createuser -s -p 5433 travis &>/dev/null +travis_time:end:0c63cbfc:start=1447266986116145740,finish=1447266986183486819,duration=67341079 +travis_time:start:0216888f +$ sudo -u postgres createdb -O travis -p 5433 travis &>/dev/null +travis_time:end:0216888f:start=1447266986188309234,finish=1447266986236901880,duration=48592646 +travis_fold:end:postgresql + +This job is running on container-based infrastructure, which does not allow use of 'sudo', setuid and setguid executables. +If you require sudo, add 'sudo: required' to your .travis.yml +See http://docs.travis-ci.com/user/workers/container-based-infrastructure/ for details. + +Setting environment variables from repository settings +$ export ARTIFACTS_KEY=[secure] +$ export ARTIFACTS_SECRET=[secure] +$ export ARTIFACTS_BUCKET=travis-core-artifacts +$ export ARTIFACTS_PERMISSIONS=public-read +$ export ARTIFACTS_PATHS=coverage/:log/ +$ export CASHER_LOG_LEVEL=debug + +Setting environment variables from .travis.yml +$ export JRUBY_OPTS="--dev -Xcext.enabled=false -Xcompile.invokedynamic=false -J-Xmx1g" + +travis_fold:start:cache.1 +Setting up build cache +$ export CASHER_DIR=$HOME/.casher +travis_time:start:02334f08 +$ Installing caching utilities +travis_time:end:02334f08:start=1447266989808436940,finish=1447266989886351510,duration=77914570 +travis_time:start:01824828 +attempting to download cache archive +fetching PR.484/cache--jdk-oraclejdk7--rvm-jruby-1.7.16--gemfile-Gemfile.tgz +found cache +travis_time:end:01824828:start=1447266989892717215,finish=1447266992045933589,duration=2153216374 +travis_time:start:1bf5eb00 +adding /home/travis/build/travis-ci/travis-core/vendor/bundle to cache +travis_time:end:1bf5eb00:start=1447266992051023005,finish=1447266995563216341,duration=3512193336 +travis_fold:end:cache.1 +$ jdk_switcher use oraclejdk7 +Switching to Oracle JDK7 (java-7-oracle), JAVA_HOME will be set to /usr/lib/jvm/java-7-oracle +travis_fold:start:rvm +travis_time:start:03d578f0 +$ rvm use jruby-1.7.16 --install --binary --fuzzy +Unknown ruby string (do not know how to handle): jruby-1.7.16. +Unknown ruby string (do not know how to handle): jruby-1.7.16. +jruby-1.7.16 is not installed - installing. +Unknown ruby string (do not know how to handle): jruby-1.7.16. +Unknown ruby string (do not know how to handle): jruby-1.7.16. +Searching for binary rubies, this might take some time. +Unknown ruby string (do not know how to handle): jruby-1.7.16. +Unknown ruby string (do not know how to handle): jruby-1.7.16. +Found remote file https://s3.amazonaws.com/jruby.org/downloads/1.7.16/jruby-bin-1.7.16.tar.gz +Checking requirements for ubuntu. +Requirements installation successful. +jruby-1.7.16 - #configure +Unknown ruby string (do not know how to handle): jruby-1.7.16. +jruby-1.7.16 - #download + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 + 81 30.8M 81 25.2M 0 0 43.7M 0 --:--:-- --:--:-- --:--:-- 43.8M +100 30.8M 100 30.8M 0 0 45.5M 0 --:--:-- --:--:-- --:--:-- 45.5M +jruby-1.7.16 - #validate archive +jruby-1.7.16 - #extract +jruby-1.7.16 - #validate binary +jruby-1.7.16 - #setup +jruby-1.7.16 - #gemset created /home/travis/.rvm/gems/jruby-1.7.16@global +jruby-1.7.16 - #importing gemset /home/travis/.rvm/gemsets/jruby/global.gems|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.. +jruby-1.7.16 - #generating global wrappers|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/. +jruby-1.7.16 - #uninstalling gem rubygems-bundler-1.4.4|/. +jruby-1.7.16 - #gemset created /home/travis/.rvm/gems/jruby-1.7.16 +jruby-1.7.16 - #importing gemset /home/travis/.rvm/gemsets/default.gems|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-. +jruby-1.7.16 - #generating default wrappers|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-\|/-.|/-\|/-\|.-\|/-. +chown: changing ownership of `/home/travis/.rvm/user/installs': Operation not permitted +Using /home/travis/.rvm/gems/jruby-1.7.16 +travis_time:end:03d578f0:start=1447266995574202218,finish=1447267139230184025,duration=143655981807 +travis_fold:end:rvm +$ export BUNDLE_GEMFILE=$PWD/Gemfile +$ java -Xmx32m -version +java version "1.7.0_76" +Java(TM) SE Runtime Environment (build 1.7.0_76-b13) +Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode) +$ javac -J-Xmx32m -version +javac 1.7.0_76 +$ ruby --version +jruby 1.7.16 (1.9.3p392) 2014-09-25 575b395 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_76-b13 [linux-amd64] +$ rvm --version +rvm 1.26.10 (latest-minor) by Wayne E. Seguin , Michal Papis [https://rvm.io/] +$ bundle --version +Bundler version 1.10.6 +$ gem --version +2.1.9 +travis_fold:start:before_install.1 +travis_time:start:02dcc3f8 +$ if [ $TRAVIS_RUBY_VERSION = 'jruby-9.0.0.0' ]; then rvm get head; rvm use --install jruby-9.0.0.0; ruby --version; fi +travis_time:end:02dcc3f8:start=1447267146459184178,finish=1447267146463493228,duration=4309050 +travis_fold:end:before_install.1 +travis_fold:start:before_install.2 +travis_time:start:09dc8062 +$ gem install bundler -v 1.9.0 +Fetching: bundler-1.9.0.gem +Fetching: bundler-1.9.0.gem ( 7%) +Fetching: bundler-1.9.0.gem ( 14%) +Fetching: bundler-1.9.0.gem ( 20%) +Fetching: bundler-1.9.0.gem ( 27%) +Fetching: bundler-1.9.0.gem ( 34%) +Fetching: bundler-1.9.0.gem ( 41%) +Fetching: bundler-1.9.0.gem ( 47%) +Fetching: bundler-1.9.0.gem ( 54%) +Fetching: bundler-1.9.0.gem ( 61%) +Fetching: bundler-1.9.0.gem ( 68%) +Fetching: bundler-1.9.0.gem ( 74%) +Fetching: bundler-1.9.0.gem ( 81%) +Fetching: bundler-1.9.0.gem ( 88%) +Fetching: bundler-1.9.0.gem ( 94%) +Fetching: bundler-1.9.0.gem (100%) +Fetching: bundler-1.9.0.gem (100%) +Successfully installed bundler-1.9.0 +1 gem installed +travis_time:end:09dc8062:start=1447267146469289768,finish=1447267163302079675,duration=16832789907 +travis_fold:end:before_install.2 +travis_fold:start:install +travis_time:start:234d8d20 +$ bundle _1.9.0_ install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle} +Updating git://github.com/travis-ci/travis-support.git +Updating git://github.com/travis-ci/travis-sidekiqs.git +Updating git://github.com/travis-ci/gh.git +Fetching gem metadata from https://rubygems.org/........ +Fetching version metadata from https://rubygems.org/... +Fetching dependency metadata from https://rubygems.org/.. +Resolving dependencies........................................................................ +Using rake 10.4.2 +Using i18n 0.7.0 +Using multi_json 1.11.2 +Using builder 3.0.4 +Using journey 1.0.4 +Using rack 1.4.7 +Using erubis 2.7.0 +Using hike 1.2.3 +Using tilt 1.4.1 +Using mime-types 1.25.1 +Using polyglot 0.3.5 +Using arel 3.0.3 +Using tzinfo 0.3.45 +Using jdbc-postgres 9.4.1204 +Using addressable 2.3.8 +Using json 1.8.3 +Using nokogiri 1.6.6.2 +Using thread_safe 0.3.5 +Using ice_nine 0.11.1 +Using backports 3.6.7 +Using bouncy-castle-java 1.5.0147 +Using hitimes 1.2.3 +Using coder 0.4.0 +Using coderay 1.1.0 +Using connection_pool 2.2.0 +Using safe_yaml 1.0.4 +Using dalli 2.7.4 +Using database_cleaner 0.8.0 +Using diff-lcs 1.1.3 +Using docile 1.1.5 +Using equalizer 0.0.11 +Using multipart-post 2.0.0 +Using ffi 1.9.10 +Using formatador 0.2.5 +Using net-http-persistent 2.9.4 +Using net-http-pipeline 1.0.1 +Using rb-fsevent 0.9.6 +Using lumberjack 1.0.9 +Using method_source 0.8.2 +Using slop 3.6.0 +Using thor 0.14.6 +Using hashr 0.0.22 +Using httpclient 2.7.0.1 +Using march_hare 2.0.0 +Using metaclass 0.0.4 +Using proxies 0.2.1 +Using pusher-signature 0.1.8 +Using redis 3.2.1 +Using rollout 1.1.0 +Using atomic 1.1.99 +Using rspec-core 2.8.0 +Using rspec-mocks 2.8.0 +Using simplecov-html 0.10.0 +Using bundler 1.9.0 +Using activesupport 3.2.22 +Using rack-cache 1.5.1 +Using rack-test 0.6.3 +Using rack-ssl 1.3.4 +Using sprockets 2.2.3 +Using treetop 1.4.15 +Using keen 0.8.10 +Using rdoc 3.12.2 +Using aws-sdk-v1 1.66.0 +Using descendants_tracker 0.0.4 +Using jruby-openssl 0.8.10 +Using timers 4.1.1 +Using crack 0.4.2 +Using rspec-expectations 2.8.0 +Using faraday 0.9.2 +Using rb-inotify 0.9.5 +Using rb-kqueue 0.2.4 +Using spoon 0.0.4 +Using travis-config 0.1.4 +Using mocha 0.10.5 +Using s3 0.3.23 +Using pusher 0.14.6 +Using redis-namespace 1.5.2 +Using avl_tree 1.2.1 +Using simplecov 0.10.0 +Using activemodel 3.2.22 +Using factory_girl 2.6.4 +Using simple_states 1.0.1 +Using mail 2.5.4 +Using axiom-types 0.1.1 +Using coercible 1.0.0 +Using celluloid-essentials 0.20.5 +Using celluloid-extras 0.20.5 +Using celluloid-fsm 0.20.5 +Using celluloid-pool 0.20.5 +Using celluloid-supervision 0.20.5 +Using webmock 1.8.11 +Using rspec 2.8.0 +Using gh 0.14.0 from git://github.com/travis-ci/gh.git (at master) +Using listen 1.3.1 +Using pry 0.10.3 +Using metriks 0.9.9.7 +Using actionpack 3.2.22 +Using activerecord 3.2.22 +Using virtus 1.0.5 +Using celluloid 0.17.2 +Using guard 1.8.3 +Using actionmailer 3.2.22 +Using railties 3.2.22 +Using activerecord-jdbc-adapter 1.3.19 +Using data_migrations 0.0.1 +Using sidekiq 3.5.3 +Using guard-rspec 1.2.2 +Using micro_migrations 0.0.2 +Using activerecord-jdbcpostgresql-adapter 1.3.19 +Using travis-support 0.0.1 from git://github.com/travis-ci/travis-support.git (at master) +Using travis-sidekiqs 0.0.1 from git://github.com/travis-ci/travis-sidekiqs.git (at master) +Using travis-core 0.0.1 from source at . +Bundle complete! 26 Gemfile dependencies, 112 gems now installed. +Bundled gems are installed into ./vendor/bundle. +travis_time:end:234d8d20:start=1447267163307824149,finish=1447267252588230958,duration=89280406809 +travis_fold:end:install +travis_fold:start:before_script.1 +travis_time:start:270824ac +$ redis-cli config set save "" +OK +travis_time:end:270824ac:start=1447267252593602975,finish=1447267252602389738,duration=8786763 +travis_fold:end:before_script.1 +travis_fold:start:before_script.2 +travis_time:start:04aa0144 +$ RAILS_ENV=test bundle exec rake db:create db:migrate --trace +I TID=13182 Setting up Travis::Core +** Invoke db:create (first_time) +** Invoke db:load_config (first_time) +** Execute db:load_config +** Invoke rails_env (first_time) +** Execute rails_env +** Execute db:create +** Invoke db:migrate (first_time) +** Invoke environment (first_time) +** Execute environment +** Invoke db:load_config +** Execute db:migrate +== CreateRepositories: migrating ============================================= +-- create_table(:repositories) + -> 0.0090s + -> 0 rows +== CreateRepositories: migrated (0.0090s) ==================================== + +== CreateBuilds: migrating =================================================== +-- create_table(:builds) + -> 0.0070s + -> 0 rows +== CreateBuilds: migrated (0.0080s) ========================================== + +== DeviseCreateUsers: migrating ============================================== +-- create_table(:users) + -> 0.0060s + -> 0 rows +-- add_index(:users, :login, {:unique=>true}) + -> 0.0030s + -> 0 rows +== DeviseCreateUsers: migrated (0.0110s) ===================================== + +== RepositoriesAddUsername: migrating ======================================== +-- change_table(:repositories) + -> 0.0020s +== RepositoriesAddUsername: migrated (0.0030s) =============================== + +== CreateTokens: migrating =================================================== +-- create_table(:tokens) + -> 0.0030s + -> 0 rows +== CreateTokens: migrated (0.0050s) ========================================== + +== AddBuildParentIdAndConfiguration: migrating =============================== +-- change_table(:builds) + -> 0.0030s +-- change_column(:builds, :number, :string) + -> 0.0040s +-- add_index(:builds, :repository_id) + -> 0.0020s + -> 0 rows +-- add_index(:builds, :parent_id) + -> 0.0040s + -> 0 rows +== AddBuildParentIdAndConfiguration: migrated (0.0160s) ====================== + +== RepositoriesDenormalizeLastBuildAttributes: migrating ===================== +-- change_table(:repositories) + -> 0.0040s +== RepositoriesDenormalizeLastBuildAttributes: migrated (0.0110s) ============ + +== RepositoriesAddOwnerNameAndOwnerEmail: migrating ========================== +-- change_table(:repositories) + -> 0.0020s +-- remove_column(:repositories, :username) + -> 0.0010s +== RepositoriesAddOwnerNameAndOwnerEmail: migrated (0.0050s) ================= + +== RepositoryStripOwnerNameFromName: migrating =============================== +== RepositoryStripOwnerNameFromName: migrated (0.0010s) ====================== + +== CreateHistoriesTable: migrating =========================================== +-- create_table(:histories) + -> 0.0040s + -> 0 rows +-- add_index(:histories, [:item, :table, :month, :year]) + -> 0.0040s + -> 0 rows +== CreateHistoriesTable: migrated (0.0080s) ================================== + +== RenameHistoriesToRailsAdminHistories: migrating =========================== +-- rename_table(:histories, :rails_admin_histories) + -> 0.0040s +== RenameHistoriesToRailsAdminHistories: migrated (0.0040s) ================== + +== AddAdminFlagToUser: migrating ============================================= +-- change_table(:users) + -> 0.0090s +== AddAdminFlagToUser: migrated (0.0170s) ==================================== + +== BuildsAddRef: migrating =================================================== +-- change_table(:builds) + -> 0.0010s +== BuildsAddRef: migrated (0.0030s) ========================================== + +== BuildsAddGithubPayload: migrating ========================================= +-- change_table(:builds) + -> 0.0010s +== BuildsAddGithubPayload: migrated (0.0030s) ================================ + +== AddGithubIdToUsersTable: migrating ======================================== +-- add_column(:users, :github_id, :integer) + -> 0.0010s +-- add_index(:users, :github_id) + -> 0.0030s + -> 0 rows +== AddGithubIdToUsersTable: migrated (0.0060s) =============================== + +== RepositoriesChangeOwnerEmailType: migrating =============================== +-- change_column(:repositories, :owner_email, :text) + -> 0.0010s +== RepositoriesChangeOwnerEmailType: migrated (0.0010s) ====================== + +== AddGithubOauthTokenToUser: migrating ====================================== +-- add_column(:users, :github_oauth_token, :string) + -> 0.0020s +-- add_index(:users, :github_oauth_token) + -> 0.0030s + -> 0 rows +== AddGithubOauthTokenToUser: migrated (0.0060s) ============================= + +== AddCompareUrlToBuild: migrating =========================================== +-- add_column(:builds, :compare_url, :string) + -> 0.0010s +== AddCompareUrlToBuild: migrated (0.0020s) ================================== + +== BuildsRemoveJobId: migrating ============================================== +-- change_table(:builds) + -> 0.0020s +== BuildsRemoveJobId: migrated (0.0020s) ===================================== + +== BuildRemoveLastBuiltAt: migrating ========================================= +-- change_table(:repositories) + -> 0.0020s +== BuildRemoveLastBuiltAt: migrated (0.0020s) ================================ + +== AddMissingIndexes: migrating ============================================== +-- add_index(:repositories, :last_build_started_at) + -> 0.0020s + -> 0 rows +-- add_index(:repositories, [:owner_name, :name]) + -> 0.0020s + -> 0 rows +-- add_index(:builds, [:repository_id, :parent_id, :started_at]) + -> 0.0030s + -> 0 rows +== AddMissingIndexes: migrated (0.0110s) ===================================== + +== AddActiveToRepositories: migrating ======================================== +-- add_column(:repositories, :is_active, :boolean) + -> 0.0010s +== AddActiveToRepositories: migrated (0.0020s) =============================== + +== StoreTokenInBuild: migrating ============================================== +-- add_column(:builds, :token, :string) + -> 0.0020s +== StoreTokenInBuild: migrated (0.0020s) ===================================== + +== CreateRequestsCommitsAndTasks: migrating ================================== +-- change_table(:builds) + -> 0.0020s +-- create_table(:commits, {:force=>true}) + -> 0.0050s + -> 0 rows +-- create_table(:requests, {:force=>true}) + -> 0.0070s + -> 0 rows +-- create_table(:tasks, {:force=>true}) + -> 0.0080s + -> 0 rows +Executing: UPDATE "commits" SET "id" = source."id", "repository_id" = source."repository_id", "created_at" = source."created_at", "updated_at" = source."updated_at", "commit" = source."commit", "ref" = source."ref", "branch" = source."branch", "message" = source."message", "compare_url" = source."compare_url", "committed_at" = source."committed_at", "committer_name" = source."committer_name", "committer_email" = source."committer_email", "author_name" = source."author_name", "author_email" = source."author_email" FROM (SELECT "id", "repository_id", "created_at", "updated_at", "commit", "ref", "branch", "message", "compare_url", "committed_at", "committer_name", "committer_email", "author_name", "author_email" FROM "builds" WHERE "builds".id IN (SELECT id FROM "commits")) AS source WHERE "commits".id = source.id +Executing: INSERT INTO "commits" ("id", "repository_id", "created_at", "updated_at", "commit", "ref", "branch", "message", "compare_url", "committed_at", "committer_name", "committer_email", "author_name", "author_email") SELECT "id", "repository_id", "created_at", "updated_at", "commit", "ref", "branch", "message", "compare_url", "committed_at", "committer_name", "committer_email", "author_name", "author_email" FROM "builds" WHERE "builds".id NOT IN (SELECT id FROM "commits") +Executing: ALTER TABLE "builds" DROP COLUMN "ref" +Executing: ALTER TABLE "builds" DROP COLUMN "branch" +Executing: ALTER TABLE "builds" DROP COLUMN "message" +Executing: ALTER TABLE "builds" DROP COLUMN "compare_url" +Executing: ALTER TABLE "builds" DROP COLUMN "committed_at" +Executing: ALTER TABLE "builds" DROP COLUMN "committer_name" +Executing: ALTER TABLE "builds" DROP COLUMN "committer_email" +Executing: ALTER TABLE "builds" DROP COLUMN "author_name" +Executing: ALTER TABLE "builds" DROP COLUMN "author_email" +Executing: UPDATE "requests" SET "id" = source."id", "repository_id" = source."repository_id", "config" = source."config", "created_at" = source."created_at", "updated_at" = source."updated_at", "commit" = source."commit", "started_at" = source."started_at", "finished_at" = source."finished_at" FROM (SELECT "id", "repository_id", "config", "created_at", "updated_at", "commit", "started_at", "finished_at" FROM "builds" WHERE "builds".id IN (SELECT id FROM "requests")) AS source WHERE "requests".id = source.id +Executing: INSERT INTO "requests" ("id", "repository_id", "config", "created_at", "updated_at", "commit", "started_at", "finished_at") SELECT "id", "repository_id", "config", "created_at", "updated_at", "commit", "started_at", "finished_at" FROM "builds" WHERE "builds".id NOT IN (SELECT id FROM "requests") +Executing: UPDATE "requests" SET "id" = source."id", "payload" = source."github_payload", "token" = source."token" FROM (SELECT "id", "github_payload", "token" FROM "builds" WHERE "builds".id IN (SELECT id FROM "requests")) AS source WHERE "requests".id = source.id +Executing: INSERT INTO "requests" ("id", "payload", "token") SELECT "id", "github_payload" AS "payload", "token" AS "token" FROM "builds" WHERE "builds".id NOT IN (SELECT id FROM "requests") +Executing: ALTER TABLE "builds" DROP COLUMN "github_payload" +Executing: ALTER TABLE "builds" DROP COLUMN "token" +Executing: UPDATE "requests" SET "state" = 'finished' +Executing: UPDATE "requests" SET "source" = 'github' +Executing: UPDATE "tasks" SET "id" = source."id", "number" = source."number", "status" = source."status", "started_at" = source."started_at", "finished_at" = source."finished_at", "commit" = source."commit", "config" = source."config", "log" = source."log" FROM (SELECT "id", "number", "status", "started_at", "finished_at", "commit", "config", "log" FROM "builds" WHERE "builds".id IN (SELECT id FROM "tasks") AND parent_id IS NOT NULL OR parent_id IS NULL AND (SELECT COUNT(*) FROM builds AS children WHERE children.id = builds.id) = 0) AS source WHERE "tasks".id = source.id +Executing: INSERT INTO "tasks" ("id", "number", "status", "started_at", "finished_at", "commit", "config", "log") SELECT "id", "number", "status", "started_at", "finished_at", "commit", "config", "log" FROM "builds" WHERE "builds".id NOT IN (SELECT id FROM "tasks") AND parent_id IS NOT NULL OR parent_id IS NULL AND (SELECT COUNT(*) FROM builds AS children WHERE children.id = builds.id) = 0 +Executing: ALTER TABLE "builds" DROP COLUMN "log" +Executing: UPDATE "tasks" SET "id" = source."id", "owner_id" = source."parent_id" FROM (SELECT "id", "parent_id" FROM "builds" WHERE "builds".id IN (SELECT id FROM "tasks") AND parent_id IS NOT NULL OR parent_id IS NULL AND (SELECT COUNT(*) FROM builds AS children WHERE children.id = builds.id) = 0) AS source WHERE "tasks".id = source.id +Executing: INSERT INTO "tasks" ("id", "owner_id") SELECT "id", "parent_id" AS "owner_id" FROM "builds" WHERE "builds".id NOT IN (SELECT id FROM "tasks") AND parent_id IS NOT NULL OR parent_id IS NULL AND (SELECT COUNT(*) FROM builds AS children WHERE children.id = builds.id) = 0 +Executing: UPDATE "tasks" SET "owner_type" = 'Build' +Executing: UPDATE "tasks" SET "type" = 'Task::Test' +Executing: UPDATE "tasks" SET "state" = 'finished' +-- add_index(:commits, :commit) + -> 0.0050s + -> 0 rows +-- add_index(:builds, :commit) + -> 0.0050s + -> 0 rows +-- add_index(:requests, :commit) + -> 0.0030s + -> 0 rows +-- add_index(:tasks, :commit) + -> 0.0030s + -> 0 rows +-- execute("UPDATE requests SET commit_id = (SELECT commits.id FROM commits WHERE commits.commit = requests.commit LIMIT 1)") + -> 0.0010s + -> 0 rows +-- execute("UPDATE tasks SET commit_id = (SELECT commits.id FROM commits WHERE commits.commit = tasks.commit LIMIT 1)") + -> 0.0000s + -> 0 rows +-- execute("DELETE FROM builds WHERE parent_id IS NOT NULL") + -> 0.0000s + -> 0 rows +-- execute("UPDATE builds SET request_id = (SELECT requests.id FROM requests WHERE requests.commit = builds.commit LIMIT 1)") + -> 0.0010s + -> 0 rows +-- execute("UPDATE builds SET commit_id = (SELECT commits.id FROM commits WHERE commits.commit = builds.commit LIMIT 1)") + -> 0.0010s + -> 0 rows +-- execute("CREATE SEQUENCE shared_builds_tasks_seq START WITH 1 CACHE 30") + -> 0.0020s + -> 0 rows +-- execute("ALTER TABLE builds ALTER COLUMN id TYPE BIGINT") + -> 0.0040s + -> 0 rows +-- execute("ALTER TABLE builds ALTER COLUMN id SET DEFAULT nextval('shared_builds_tasks_seq')") + -> 0.0010s + -> 0 rows +-- execute("ALTER TABLE tasks ALTER COLUMN id TYPE BIGINT") + -> 0.0020s + -> 0 rows +-- execute("ALTER TABLE tasks ALTER COLUMN id SET DEFAULT nextval('shared_builds_tasks_seq')") + -> 0.0000s + -> 0 rows +-- select_value("SELECT max(id) FROM commits") + -> 0.0010s +-- execute("SELECT setval('commits_id_seq', 1)") + -> 0.0010s +-- select_value("SELECT max(id) FROM requests") + -> 0.0010s +-- execute("SELECT setval('requests_id_seq', 1)") + -> 0.0010s +-- select_value("SELECT max(id) FROM tasks") + -> 0.0010s +-- execute("SELECT setval('tasks_id_seq', 1)") + -> 0.0010s +-- remove_column(:builds, :parent_id) + -> 0.0010s +-- remove_column(:builds, :commit) + -> 0.0010s +-- remove_column(:requests, :commit) + -> 0.0010s +-- remove_column(:tasks, :commit) + -> 0.0010s +== CreateRequestsCommitsAndTasks: migrated (0.1490s) ========================= + +== RepositoryRenameIsActiveToActive: migrating =============================== +-- rename_column(:repositories, :is_active, :active) + -> 0.0010s +== RepositoryRenameIsActiveToActive: migrated (0.0020s) ====================== + +== TasksAddTags: migrating =================================================== +-- add_column(:tasks, :tags, :text) + -> 0.0010s +== TasksAddTags: migrated (0.0010s) ========================================== + +== CacheOneNumberForSharedBuildsTasksSequence: migrating ===================== +-- execute("ALTER SEQUENCE shared_builds_tasks_seq CACHE 1 NO MAXVALUE NO CYCLE") + -> 0.0010s + -> 0 rows +== CacheOneNumberForSharedBuildsTasksSequence: migrated (0.0010s) ============ + +== RenameTasksToJobs: migrating ============================================== +-- rename_table(:tasks, :jobs) + -> 0.0050s +-- execute("UPDATE jobs SET type = 'Job::Test' WHERE type = 'Task::Test'") + -> 0.0000s + -> 0 rows +-- execute("UPDATE jobs SET type = 'Job::Configure' WHERE type = 'Task::Configure'") + -> 0.0000s + -> 0 rows +== RenameTasksToJobs: migrated (0.0070s) ===================================== + +== CreateArtifacts: migrating ================================================ +-- create_table(:artifacts) + -> 0.0040s + -> 0 rows +Executing: UPDATE "artifacts" SET "id" = source."id", "content" = source."log" FROM (SELECT "id", "log" FROM "jobs" WHERE "jobs".id IN (SELECT id FROM "artifacts")) AS source WHERE "artifacts".id = source.id +Executing: INSERT INTO "artifacts" ("id", "content") SELECT "id", "log" AS "content" FROM "jobs" WHERE "jobs".id NOT IN (SELECT id FROM "artifacts") +Executing: ALTER TABLE "jobs" DROP COLUMN "log" +Executing: UPDATE "artifacts" SET "type" = 'Artifact::Log' +-- execute("UPDATE artifacts SET job_id = id") + -> 0.0010s + -> 0 rows +-- execute("select setval('artifacts_id_seq', (select max(id) + 1 from artifacts));") + -> 0.0010s +-- add_index(:artifacts, [:type, :job_id]) + -> 0.0020s + -> 0 rows +== CreateArtifacts: migrated (0.0140s) ======================================= + +== CreateWorkers: migrating ================================================== +-- create_table(:workers) + -> 0.0030s + -> 0 rows +-- add_index(:workers, [:name, :host]) + -> 0.0020s + -> 0 rows +== CreateWorkers: migrated (0.0060s) ========================================= + +== JobsAddRetries: migrating ================================================= +-- change_table(:jobs) + -> 0.0060s +== JobsAddRetries: migrated (0.0060s) ======================================== + +== RemoveRailsAdmin: migrating =============================================== +-- drop_table(:rails_admin_histories) + -> 0.0010s + -> 0 rows +== RemoveRailsAdmin: migrated (0.0030s) ====================================== + +== AddIndexesToJobs: migrating =============================================== +-- add_index(:jobs, [:queue, :state]) + -> 0.0020s + -> 0 rows +== AddIndexesToJobs: migrated (0.0030s) ====================================== + +== AddRepositoryIdIndexToJobs: migrating ===================================== +-- add_index(:jobs, :repository_id) + -> 0.0030s + -> 0 rows +== AddRepositoryIdIndexToJobs: migrated (0.0040s) ============================ + +== AddOwnerAndTypeIndexToJobs: migrating ===================================== +-- add_index(:jobs, [:type, :owner_id, :owner_type]) + -> 0.0030s + -> 0 rows +== AddOwnerAndTypeIndexToJobs: migrated (0.0040s) ============================ + +== WorkersAddPayloadAndLastError: migrating ================================== +-- change_table(:workers) + -> 0.0010s +== WorkersAddPayloadAndLastError: migrated (0.0010s) ========================= + +== RepositoriesAddDescriptionAndLastLanguage: migrating ====================== +-- change_table(:repositories) + -> 0.0010s +-- change_table(:builds) + -> 0.0000s +== RepositoriesAddDescriptionAndLastLanguage: migrated (0.0030s) ============= + +== BuildsAddArchivedAt: migrating ============================================ +-- change_table(:builds) + -> 0.0010s +== BuildsAddArchivedAt: migrated (0.0010s) =================================== + +== MimicProductionDb: migrating ============================================== +-- column_exists?(:users, :oauth2_uid, :integer) + -> 0.0020s +-- column_exists?(:users, :oauth2_token, :string) + -> 0.0010s +-- column_exists?(:repositories, :user_id, :integer) + -> 0.0020s +== MimicProductionDb: migrated (0.0070s) ===================================== + +== BuildsAddDuration: migrating ============================================== +-- change_table(:builds) + -> 0.0010s +== BuildsAddDuration: migrated (0.0020s) ===================================== + +== RepositoriesAddLastBuildDuration: migrating =============================== +-- change_table(:repositories) + -> 0.0010s +== RepositoriesAddLastBuildDuration: migrated (0.0010s) ====================== + +== CreateSslKeys: migrating ================================================== +-- create_table(:ssl_keys) + -> 0.0030s + -> 0 rows +-- add_index("ssl_keys", ["repository_id"], {:name=>"index_ssl_key_on_repository_id"}) + -> 0.0020s + -> 0 rows +== CreateSslKeys: migrated (0.0070s) ========================================= + +== AddAllowFailureToJobs: migrating ========================================== +-- add_column(:jobs, :allow_failure, :boolean, {:default=>false}) + -> 0.0030s +== AddAllowFailureToJobs: migrated (0.0040s) ================================= + +== AddPullRequestFieldsToRequest: migrating ================================== +-- add_column(:requests, :event_type, :string) + -> 0.0010s +-- add_column(:requests, :comments_url, :string) + -> 0.0010s +-- add_column(:requests, :base_commit, :string) + -> 0.0010s +-- add_column(:requests, :head_commit, :string) + -> 0.0000s +== AddPullRequestFieldsToRequest: migrated (0.0040s) ========================= + +== AddGravatarIdToUsers: migrating =========================================== +-- add_column(:users, :gravatar_id, :string) + -> 0.0010s +== AddGravatarIdToUsers: migrated (0.0010s) ================================== + +== OrganizationsCreate: migrating ============================================ +-- create_table(:organizations) + -> 0.0030s + -> 0 rows +== OrganizationsCreate: migrated (0.0040s) =================================== + +== JobsRenameOwnerToSource: migrating ======================================== +-- change_table(:jobs) + -> 0.0020s +== JobsRenameOwnerToSource: migrated (0.0020s) =============================== + +== RepositoriesAddOwner: migrating =========================================== +-- change_table(:repositories) + -> 0.0010s +== RepositoriesAddOwner: migrated (0.0020s) ================================== + +== BuildsAddOwner: migrating ================================================= +-- change_table(:builds) + -> 0.0010s +== BuildsAddOwner: migrated (0.0020s) ======================================== + +== JobsAddOwner: migrating =================================================== +-- change_table(:jobs) + -> 0.0010s +== JobsAddOwner: migrated (0.0020s) ========================================== + +== RequestsAddOwner: migrating =============================================== +-- change_table(:requests) + -> 0.0020s +== RequestsAddOwner: migrated (0.0020s) ====================================== + +== AddLocaleToUser: migrating ================================================ +-- add_column(:users, :locale, :string) + -> 0.0010s +== AddLocaleToUser: migrated (0.0010s) ======================================= + +== CreateMemberships: migrating ============================================== +-- create_table(:memberships) + -> 0.0030s + -> 0 rows +== CreateMemberships: migrated (0.0030s) ===================================== + +== RepositoriesAddPrivate: migrating ========================================= +-- change_table(:repositories) + -> 0.0040s +== RepositoriesAddPrivate: migrated (0.0040s) ================================ + +== CreateUrls: migrating ===================================================== +-- create_table(:urls) + -> 0.0030s + -> 0 rows +== CreateUrls: migrated (0.0030s) ============================================ + +== CopyStatusToResult: migrating ============================================= +-- add_column(:builds, :result, :integer) + -> 0.0020s +-- add_column(:jobs, :result, :integer) + -> 0.0020s +-- add_column(:repositories, :last_build_result, :integer) + -> 0.0020s +Executing: UPDATE builds SET result = status; +Executing: UPDATE jobs SET result = status; +Executing: UPDATE repositories SET last_build_result = last_build_status; +== CopyStatusToResult: migrated (0.0080s) ==================================== + +== RequestsAddIndexOnHeadCommit: migrating =================================== +-- add_index(:requests, :head_commit) + -> 0.0040s + -> 0 rows +== RequestsAddIndexOnHeadCommit: migrated (0.0040s) ========================== + +== CreatePermissions: migrating ============================================== +-- create_table(:permissions) + -> 0.0050s + -> 0 rows +-- add_index(:permissions, :user_id) + -> 0.0040s + -> 0 rows +-- add_index(:permissions, :repository_id) + -> 0.0040s + -> 0 rows +== CreatePermissions: migrated (0.0130s) ===================================== + +== BuildsAddPreviousResult: migrating ======================================== +-- change_table(:builds) + -> 0.0020s +== BuildsAddPreviousResult: migrated (0.0020s) =============================== + +== AddSyncInfoToUser: migrating ============================================== +-- add_column(:users, :in_sync, :boolean) + -> 0.0040s +-- add_column(:users, :synced_at, :timestamp) + -> 0.0010s +== AddSyncInfoToUser: migrated (0.0050s) ===================================== + +== RenameInSyncToIsSyncing: migrating ======================================== +-- rename_column(:users, :in_sync, :is_syncing) + -> 0.0010s +== RenameInSyncToIsSyncing: migrated (0.0010s) =============================== + +== AddQueueToWorkers: migrating ============================================== +-- add_column(:workers, :queue, :string) + -> 0.0020s +== AddQueueToWorkers: migrated (0.0020s) ===================================== + +== AddJobsIndexOnStateOwnerTypeOwnerId: migrating ============================ +-- add_index(:jobs, ["state", "owner_id", "owner_type"], {:name=>"index_jobs_on_state_owner_type_owner_id"}) + -> 0.0070s + -> 0 rows +== AddJobsIndexOnStateOwnerTypeOwnerId: migrated (0.0070s) =================== + +== AddQueuedAtToJobs: migrating ============================================== +-- add_column(:jobs, :queued_at, :datetime) + -> 0.0020s +== AddQueuedAtToJobs: migrated (0.0020s) ===================================== + +== AddPushAndPullToPermissions: migrating ==================================== +-- add_column(:permissions, :push, :boolean, {:default=>false}) + -> 0.0040s +-- add_column(:permissions, :pull, :boolean, {:default=>false}) + -> 0.0030s +-- change_column_default(:permissions, :admin, false) + -> 0.0020s + -> 0 rows +== AddPushAndPullToPermissions: migrated (0.0100s) =========================== + +== AddBuildsIndexOnRepositoryIdAndState: migrating =========================== +-- remove_index("builds", {:column=>"repository_id"}) + -> 0.0030s + -> 0 rows +-- add_index("builds", ["repository_id", "state"]) + -> 0.0030s + -> 0 rows +== AddBuildsIndexOnRepositoryIdAndState: migrated (0.0060s) ================== + +== ArtifactsAddAggregatedAt: migrating ======================================= +-- add_column(:artifacts, :aggregated_at, :datetime) + -> 0.0020s +== ArtifactsAddAggregatedAt: migrated (0.0040s) ============================== + +== AddArtifactParts: migrating =============================================== +-- create_table(:artifact_parts) + -> 0.0040s + -> 0 rows +-- add_index(:artifact_parts, [:artifact_id, :number]) + -> 0.0030s + -> 0 rows +== AddArtifactParts: migrated (0.0080s) ====================================== + +== BuildsAddIndexOnFinishedAt: migrating ===================================== +-- add_index("builds", "finished_at") + -> 0.0030s + -> 0 rows +== BuildsAddIndexOnFinishedAt: migrated (0.0030s) ============================ + +== CommitsAddIndexOnBranch: migrating ======================================== +-- add_index("commits", "branch") + -> 0.0030s + -> 0 rows +== CommitsAddIndexOnBranch: migrated (0.0030s) =============================== + +== JobsAddIndexOnCreatedAt: migrating ======================================== +-- add_index("jobs", "created_at") + -> 0.0050s + -> 0 rows +== JobsAddIndexOnCreatedAt: migrated (0.0050s) =============================== + +== CreateEvents: migrating =================================================== +-- create_table(:events) + -> 0.0040s + -> 0 rows +== CreateEvents: migrated (0.0040s) ========================================== + +== RequestsAddResultAndMessage: migrating ==================================== +-- add_column(:requests, :result, :string) + -> 0.0010s +-- add_column(:requests, :message, :string) + -> 0.0010s +== RequestsAddResultAndMessage: migrated (0.0030s) =========================== + +== CreateBroadcasts: migrating =============================================== +-- create_table(:broadcasts) + -> 0.0050s + -> 0 rows +== CreateBroadcasts: migrated (0.0060s) ====================================== + +== EventsChangeDataToText: migrating ========================================= +-- change_column(:events, :data, :text) + -> 0.0010s +== EventsChangeDataToText: migrated (0.0010s) ================================ + +== AddEventTypeToBuilds: migrating =========================================== +-- add_column(:builds, :event_type, :string) + -> 0.0010s +== AddEventTypeToBuilds: migrated (0.0020s) ================================== + +== UpdateEventTypeOnBuilds: migrating ======================================== +-- execute(" UPDATE builds\n SET event_type = requests.event_type\n FROM requests\n WHERE builds.request_id = requests.id\n") + -> 0.0010s + -> 0 rows +== UpdateEventTypeOnBuilds: migrated (0.0010s) =============================== + +== AddIndexOnRepositoryIdAndEventTypeToBuilds: migrating ===================== +-- add_index(:builds, [:repository_id, :event_type]) + -> 0.0040s + -> 0 rows +== AddIndexOnRepositoryIdAndEventTypeToBuilds: migrated (0.0040s) ============ + +== RepositoriesAddLastBuildState: migrating ================================== +-- add_column(:repositories, :last_build_state, :string) + -> 0.0010s +== RepositoriesAddLastBuildState: migrated (0.0020s) ========================= + +== BuildsAddPreviousState: migrating ========================================= +-- add_column(:builds, :previous_state, :string) + -> 0.0010s +== BuildsAddPreviousState: migrated (0.0010s) ================================ + +== ArtifactPartsAddFinal: migrating ========================================== +-- add_column(:artifact_parts, :final, :boolean) + -> 0.0010s +-- add_column(:artifact_parts, :created_at, :timestamp) + -> 0.0010s +== ArtifactPartsAddFinal: migrated (0.0020s) ================================= + +== ArtifactPartsChangeContentToText: migrating =============================== +-- change_column(:artifact_parts, :content, :text) + -> 0.0020s +== ArtifactPartsChangeContentToText: migrated (0.0020s) ====================== + +== ArtifactPartsAddIndexOnArtifactId: migrating ============================== +-- add_index(:artifact_parts, :artifact_id) + -> 0.0030s + -> 0 rows +== ArtifactPartsAddIndexOnArtifactId: migrated (0.0040s) ===================== + +== ArtifactPartsRemoveIndexOnArtifactId: migrating =========================== +-- remove_index(:artifact_parts, :artifact_id) + -> 0.0020s + -> 0 rows +== ArtifactPartsRemoveIndexOnArtifactId: migrated (0.0030s) ================== + +== AddGithubScopesToUser: migrating ========================================== +-- add_column(:users, :github_scopes, :text) + -> 0.0010s +== AddGithubScopesToUser: migrated (0.0010s) ================================= + +== AddIndexOnLastSeenAtToWorkers: migrating ================================== +-- add_index(:workers, :last_seen_at) + -> 0.0030s + -> 0 rows +== AddIndexOnLastSeenAtToWorkers: migrated (0.0030s) ========================= + +== CacheFullNameInWorkers: migrating ========================================= +-- add_column(:workers, :full_name, :string) + -> 0.0010s +-- add_index(:workers, :full_name) + -> 0.0030s + -> 0 rows +== CacheFullNameInWorkers: migrated (0.0040s) ================================ + +== ArtifactsAddArchivedAt: migrating ========================================= +-- add_column(:artifacts, :archived_at, :datetime) + -> 0.0010s +-- add_index(:artifacts, :archived_at) + -> 0.0030s + -> 0 rows +== ArtifactsAddArchivedAt: migrated (0.0040s) ================================ + +== ArtifactsAddArchivingAndVerified: migrating =============================== +-- add_column(:artifacts, :archiving, :boolean) + -> 0.0020s +-- add_column(:artifacts, :archive_verified, :boolean) + -> 0.0010s +-- add_index(:artifacts, :archiving) + -> 0.0030s + -> 0 rows +-- add_index(:artifacts, :archive_verified) + -> 0.0030s + -> 0 rows +== ArtifactsAddArchivingAndVerified: migrated (0.0090s) ====================== + +== CreateEmails: migrating =================================================== +-- create_table(:emails) + -> 0.0020s + -> 0 rows +-- add_index(:emails, :user_id) + -> 0.0020s + -> 0 rows +-- add_index(:emails, :email) + -> 0.0020s + -> 0 rows +== CreateEmails: migrated (0.0070s) ========================================== + +== CreateLogs: migrating ===================================================== +-- create_table(:logs) + -> 0.0030s + -> 0 rows +-- add_index(:logs, :job_id) + -> 0.0020s + -> 0 rows +-- add_index(:logs, :archive_verified) + -> 0.0030s + -> 0 rows +-- add_index(:logs, :archived_at) + -> 0.0030s + -> 0 rows +== CreateLogs: migrated (0.0190s) ============================================ + +== CreateLogParts: migrating ================================================= +-- create_table(:log_parts) + -> 0.0040s + -> 0 rows +-- add_index(:log_parts, [:log_id, :number]) + -> 0.0020s + -> 0 rows +== CreateLogParts: migrated (0.0090s) ======================================== + +== AddReferenceOnLogPartsLogId: migrating ==================================== +-- execute("ALTER TABLE log_parts ADD CONSTRAINT log_parts_log_id_fk FOREIGN KEY (log_id) REFERENCES logs (id);") + -> 0.0020s + -> 0 rows +== AddReferenceOnLogPartsLogId: migrated (0.0020s) =========================== + +== RenameArtifacts: migrating ================================================ +-- rename_table(:artifacts, :artifacts_backup) + -> 0.0040s +-- rename_table(:artifact_parts, :artifact_parts_backup) + -> 0.0030s +== RenameArtifacts: migrated (0.0070s) ======================================= + +== DropArtifacts: migrating ================================================== +-- drop_table(:artifacts_backup) + -> 0.0020s + -> 0 rows +-- drop_table(:artifact_parts_backup) + -> 0.0020s + -> 0 rows +== DropArtifacts: migrated (0.0040s) ========================================= + +== AddNotNullConstraintOnLogPartsLogId: migrating ============================ +-- execute("ALTER TABLE log_parts ALTER COLUMN log_id SET NOT NULL;") + -> 0.0000s + -> 0 rows +== AddNotNullConstraintOnLogPartsLogId: migrated (0.0010s) =================== + +== AddPullRequestTitleToBuilds: migrating ==================================== +-- add_column(:builds, :pull_request_title, :text) + -> 0.0010s +== AddPullRequestTitleToBuilds: migrated (0.0010s) =========================== + +== AddPullRequestNumberToBuilds: migrating =================================== +-- add_column(:builds, :pull_request_number, :integer) + -> 0.0010s +== AddPullRequestNumberToBuilds: migrated (0.0010s) ========================== + +== AddIndexToBuildsRequestId: migrating ====================================== +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_request_id ON builds(request_id)") + -> 0.0010s + -> 0 rows +== AddIndexToBuildsRequestId: migrated (0.0010s) ============================= + +== AddIndexToJobsOnOwnerIdOwnerTypeAndState: migrating ======================= +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_owner_id_and_owner_type_and_state ON jobs(owner_id, owner_type, state)") + -> 0.0010s + -> 0 rows +== AddIndexToJobsOnOwnerIdOwnerTypeAndState: migrated (0.0010s) ============== + +== AddBranchToBuilds: migrating ============================================== +-- add_column(:builds, :branch, :string) + -> 0.0010s +== AddBranchToBuilds: migrated (0.0010s) ===================================== + +== AddMoreIndexesToBuilds: migrating ========================================= +-- execute(" CREATE INDEX CONCURRENTLY index_builds_on_repository_id_and_event_type_and_state_and_branch\n ON builds(repository_id, event_type, state, branch);\n") + -> 0.0010s + -> 0 rows +== AddMoreIndexesToBuilds: migrated (0.0010s) ================================ + +== AddIndexOnBuildState: migrating =========================================== +-- execute(" CREATE INDEX CONCURRENTLY index_builds_on_state\n ON builds(state);\n") + -> 0.0010s + -> 0 rows +== AddIndexOnBuildState: migrated (0.0010s) ================================== + +== UpdateFinishedJobs: migrating ============================================= +-- execute("UPDATE jobs SET state = 'passed' WHERE state = 'finished' AND result = 0 AND type = 'Job::Test'") + -> 0.0010s + -> 0 rows +-- execute("UPDATE jobs SET state = 'failed' WHERE state = 'finished' AND result = 1 AND type = 'Job::Test'") + -> 0.0010s + -> 0 rows +-- execute("UPDATE jobs SET state = 'errored' WHERE state = 'finished' AND result IS NULL AND type = 'Job::Test'") + -> 0.0010s + -> 0 rows +-- execute("SELECT COUNT(*) FROM jobs WHERE state = 'finished' AND type = 'Job::Test'") + -> 0.0000s +== UpdateFinishedJobs: migrated (0.0040s) ==================================== + +== UpdateFinishedBuilds: migrating =========================================== +-- execute("UPDATE builds SET state = 'passed' WHERE state = 'finished' AND result = 0") + -> 0.0010s + -> 0 rows +-- execute("UPDATE builds SET state = 'failed' WHERE state = 'finished' AND result = 1") + -> 0.0000s + -> 0 rows +-- execute("UPDATE builds SET state = 'errored' WHERE state = 'finished' AND result IS NULL") + -> 0.0000s + -> 0 rows +-- execute("SELECT COUNT(*) FROM builds WHERE state = 'finished'") + -> 0.0010s +== UpdateFinishedBuilds: migrated (0.0030s) ================================== + +== RemoveUnusedBuildColumns: migrating ======================================= +-- remove_column(:builds, :result) + -> 0.0010s +-- remove_column(:builds, :status) + -> 0.0010s +-- remove_column(:builds, :previous_result) + -> 0.0010s +-- remove_column(:builds, :agent) + -> 0.0010s +-- remove_column(:builds, :language) + -> 0.0010s +-- remove_column(:builds, :archived_at) + -> 0.0000s +== RemoveUnusedBuildColumns: migrated (0.0070s) ============================== + +== RemoveUnusedJobColumns: migrating ========================================= +-- remove_column(:jobs, :status) + -> 0.0010s +-- remove_column(:jobs, :job_id) + -> 0.0010s +-- remove_column(:jobs, :retries) + -> 0.0010s +== RemoveUnusedJobColumns: migrated (0.0030s) ================================ + +== AddGithubIdToUsers: migrating ============================================= +-- add_column(:repositories, :github_id, :integer) + -> 0.0010s +-- add_index(:repositories, :github_id) + -> 0.0030s + -> 0 rows +== AddGithubIdToUsers: migrated (0.0050s) ==================================== + +== AddDefaultBranchToRepositories: migrating ================================= +-- add_column(:repositories, :default_branch, :string) + -> 0.0010s +== AddDefaultBranchToRepositories: migrated (0.0010s) ======================== + +== AddGithubLanguageToRepositories: migrating ================================ +-- add_column(:repositories, :github_language, :string) + -> 0.0010s +== AddGithubLanguageToRepositories: migrated (0.0010s) ======================= + +== AddPurgedAtToLogs: migrating ============================================== +-- add_column(:logs, :purged_at, :timestamp) + -> 0.0010s +== AddPurgedAtToLogs: migrated (0.0010s) ===================================== + +== RemoveUnusedRepositoryColumns: migrating ================================== +-- remove_column(:repositories, :last_duration) + -> 0.0010s +-- remove_column(:repositories, :last_build_status) + -> 0.0010s +-- remove_column(:repositories, :last_build_result) + -> 0.0010s +-- remove_column(:repositories, :last_build_language) + -> 0.0010s +== RemoveUnusedRepositoryColumns: migrated (0.0040s) ========================= + +== AddUniqueIndexOnUsersGithubIdAndRemoveUniqueIndexOnUsersLogin: migrating == +-- execute("DROP INDEX index_users_on_login") + -> 0.0010s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_users_on_login ON users(login)") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX index_users_on_github_id") + -> 0.0010s + -> 0 rows +-- execute("CREATE UNIQUE INDEX CONCURRENTLY index_users_on_github_id ON users(github_id)") + -> 0.0010s + -> 0 rows +== AddUniqueIndexOnUsersGithubIdAndRemoveUniqueIndexOnUsersLogin: migrated (0.0040s) + +== AddExtraColumnsToOrganizations: migrating ================================= +-- add_column(:organizations, :avatar_url, :string) + -> 0.0010s +-- add_column(:organizations, :location, :string) + -> 0.0010s +-- add_column(:organizations, :email, :string) + -> 0.0000s +-- add_column(:organizations, :company, :string) + -> 0.0000s +-- add_column(:organizations, :homepage, :string) + -> 0.0000s +== AddExtraColumnsToOrganizations: migrated (0.0050s) ======================== + +== AddIndexOnGithubIdToOrganizations: migrating ============================== +-- execute("CREATE UNIQUE INDEX CONCURRENTLY index_organizations_on_github_id ON organizations(github_id)") + -> 0.0010s + -> 0 rows +== AddIndexOnGithubIdToOrganizations: migrated (0.0010s) ===================== + +== CreateAnnotations: migrating ============================================== +-- create_table(:annotations) + -> 0.0030s + -> 0 rows +== CreateAnnotations: migrated (0.0040s) ===================================== + +== CreateAnnotationProviders: migrating ====================================== +-- create_table(:annotation_providers) + -> 0.0030s + -> 0 rows +== CreateAnnotationProviders: migrated (0.0030s) ============================= + +== AddAnnotationProviderIdToAnnotations: migrating =========================== +-- add_column(:annotations, :annotation_provider_id, :integer, {:null=>false}) + -> 0.0010s + -> 0 rows +== AddAnnotationProviderIdToAnnotations: migrated (0.0010s) ================== + +== AddCanceledAtToJobsAndBuilds: migrating =================================== +-- add_column(:builds, :canceled_at, :datetime) + -> 0.0010s +-- add_column(:jobs, :canceled_at, :datetime) + -> 0.0010s +== AddCanceledAtToJobsAndBuilds: migrated (0.0020s) ========================== + +== AddIndexOnRepositoryGithubId: migrating =================================== +-- execute("DROP INDEX index_repositories_on_github_id") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_github_id ON repositories(github_id)") + -> 0.0000s + -> 0 rows +== AddIndexOnRepositoryGithubId: migrated (0.0020s) ========================== + +== AddCachedMatrixIdsToBuilds: migrating ===================================== +-- execute("ALTER TABLE builds ADD COLUMN cached_matrix_ids integer[]") + -> 0.0010s + -> 0 rows +== AddCachedMatrixIdsToBuilds: migrated (0.0010s) ============================ + +== CreateIndexOnBuildsIdDescAndRepositoryIdAndEventType: migrating =========== +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_id_repository_id_and_event_type_desc ON builds (id DESC, repository_id, event_type);") + -> 0.0010s + -> 0 rows +== CreateIndexOnBuildsIdDescAndRepositoryIdAndEventType: migrated (0.0010s) == + +== AddUniqueIndexOnRepositoryGithubId: migrating ============================= +-- execute("DROP INDEX index_repositories_on_github_id") + -> 0.0000s + -> 0 rows +-- execute("CREATE UNIQUE INDEX CONCURRENTLY index_repositories_on_github_id ON repositories(github_id)") + -> 0.0000s + -> 0 rows +== AddUniqueIndexOnRepositoryGithubId: migrated (0.0020s) ==================== + +== AddSettingsToRepositories: migrating ====================================== +-- add_column(:repositories, :settings, :json) + -> 0.0010s +== AddSettingsToRepositories: migrated (0.0010s) ============================= + +== RemoveWorkersTableAndIndexes: migrating =================================== +-- drop_table(:workers) + -> 0.0020s + -> 0 rows +== RemoveWorkersTableAndIndexes: migrated (0.0020s) ========================== + +== RemoveEventsTable: migrating ============================================== +-- drop_table(:events) + -> 0.0020s + -> 0 rows +== RemoveEventsTable: migrated (0.0020s) ===================================== + +== RemoveAnnotationImageInfo: migrating ====================================== +-- remove_column(:annotations, :image_url) + -> 0.0010s +-- remove_column(:annotations, :image_alt) + -> 0.0010s +== RemoveAnnotationImageInfo: migrated (0.0030s) ============================= + +== AddStatusToAnnotations: migrating ========================================= +-- add_column(:annotations, :status, :string) + -> 0.0010s +== AddStatusToAnnotations: migrated (0.0010s) ================================ + +== AddIndicesToRequests: migrating =========================================== +-- execute("CREATE INDEX CONCURRENTLY index_requests_on_repository_id ON requests(repository_id)") + -> 0.0010s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_requests_on_commit_id ON requests(commit_id)") + -> 0.0010s + -> 0 rows +== AddIndicesToRequests: migrated (0.0020s) ================================== + +== AddIndicesToMemberships: migrating ======================================== +-- execute("CREATE INDEX CONCURRENTLY index_memberships_on_user_id ON memberships(user_id)") + -> 0.0010s + -> 0 rows +== AddIndicesToMemberships: migrated (0.0010s) =============================== + +== RemoveUnusedIndices: migrating ============================================ +-- execute("DROP INDEX CONCURRENTLY index_commits_on_commit") + -> 0.0000s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_builds_on_state") + -> 0.0000s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_commits_on_branch") + -> 0.0000s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_users_on_github_oauth_token") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_builds_on_finished_at") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_jobs_on_queue_and_state") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX CONCURRENTLY index_jobs_on_created_at") + -> 0.0010s + -> 0 rows +== RemoveUnusedIndices: migrated (0.0060s) =================================== + +== AddRemovedInfoToLogs: migrating =========================================== +-- add_column(:logs, :removed_at, :timestamp) + -> 0.0010s +-- add_column(:logs, :removed_by, :integer) + -> 0.0010s +== AddRemovedInfoToLogs: migrated (0.0050s) ================================== + +== AddEducationFieldToUser: migrating ======================================== +-- add_column(:users, :education, :boolean) + -> 0.0010s +== AddEducationFieldToUser: migrated (0.0010s) =============================== + +== JobsAddReceivedAt: migrating ============================================== +-- add_column(:jobs, :received_at, :datetime) + -> 0.0010s +== JobsAddReceivedAt: migrated (0.0010s) ===================================== + +== BuildsAddReceivedAt: migrating ============================================ +-- add_column(:builds, :received_at, :datetime) + -> 0.0010s +== BuildsAddReceivedAt: migrated (0.0010s) =================================== + +== AddIndexOnRepositoryIdToCommits: migrating ================================ +-- execute("DROP INDEX IF EXISTS index_commits_on_repository_id") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_commits_on_repository_id ON commits(repository_id)") + -> 0.0010s + -> 0 rows +== AddIndexOnRepositoryIdToCommits: migrated (0.0010s) ======================= + +== IndexRequestsOnCreatedAt: migrating ======================================= +-- execute("DROP INDEX IF EXISTS index_requests_on_created_at") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_requests_on_created_at ON requests(created_at)") + -> 0.0000s + -> 0 rows +== IndexRequestsOnCreatedAt: migrated (0.0020s) ============================== + +== CreateBranches: migrating ================================================= +-- create_table(:branches) + -> 0.0020s + -> 0 rows +-- add_index(:branches, [:repository_id, :name], {:unique=>true}) + -> 0.0020s + -> 0 rows +== CreateBranches: migrated (0.0060s) ======================================== + +== AddNextBuildNumberToRepository: migrating ================================= +-- add_column(:repositories, :next_build_number, :integer) + -> 0.0010s +== AddNextBuildNumberToRepository: migrated (0.0010s) ======================== + +== AddActiveIndexToRepository: migrating ===================================== +-- execute("DROP INDEX IF EXISTS index_repositories_on_active") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_active ON repositories(active)") + -> 0.0010s + -> 0 rows +== AddActiveIndexToRepository: migrated (0.0010s) ============================ + +== AddOwnerTypeAndOwnerIdIndexesToBuilds: migrating ========================== +-- execute("DROP INDEX IF EXISTS index_builds_on_owner_type") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX IF EXISTS index_builds_on_owner_id") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_owner_type ON builds(owner_type)") + -> 0.0010s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_owner_id ON builds(owner_id)") + -> 0.0000s + -> 0 rows +== AddOwnerTypeAndOwnerIdIndexesToBuilds: migrated (0.0040s) ================= + +== AddOwnerTypeAndOwnerIdIndexesToRepositories: migrating ==================== +-- execute("DROP INDEX IF EXISTS index_repositories_on_owner_type") + -> 0.0000s + -> 0 rows +-- execute("DROP INDEX IF EXISTS index_repositories_on_owner_id") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_owner_type ON repositories(owner_type)") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_owner_id ON repositories(owner_id)") + -> 0.0000s + -> 0 rows +== AddOwnerTypeAndOwnerIdIndexesToRepositories: migrated (0.0040s) =========== + +== AddSlugIndexToRepositories: migrating ===================================== +-- execute("CREATE EXTENSION IF NOT EXISTS pg_trgm") + -> 0.0070s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_slug ON repositories USING gin((owner_name || '/' || name) gin_trgm_ops)") + -> 0.0010s + -> 0 rows +== AddSlugIndexToRepositories: migrated (0.0090s) ============================ + +== AddTokenIndexToTokens: migrating ========================================== +-- execute("DROP INDEX IF EXISTS index_tokens_on_token") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_tokens_on_token ON tokens(token)") + -> 0.0010s + -> 0 rows +== AddTokenIndexToTokens: migrated (0.0020s) ================================= + +== AddLoginIndexToOrganizations: migrating =================================== +-- execute("DROP INDEX IF EXISTS index_organizations_on_login") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_organizations_on_login ON organizations(login)") + -> 0.0000s + -> 0 rows +== AddLoginIndexToOrganizations: migrated (0.0010s) ========================== + +== AddLowerCaseIndices: migrating ============================================ +-- execute("DROP INDEX IF EXISTS index_organizations_on_lower_login") + -> 0.0010s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_organizations_on_lower_login ON organizations USING btree(lower(login))") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX IF EXISTS index_users_on_lower_login") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_users_on_lower_login ON users USING btree(lower(login))") + -> 0.0000s + -> 0 rows +-- execute("DROP INDEX IF EXISTS index_repositories_on_lower_name") + -> 0.0000s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_lower_name ON repositories USING btree(lower(name))") + -> 0.0010s + -> 0 rows +-- execute("DROP INDEX IF EXISTS index_repositories_on_lower_owner_name") + -> 0.0010s + -> 0 rows +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_lower_owner_name ON repositories USING btree(lower(owner_name))") + -> 0.0010s + -> 0 rows +== AddLowerCaseIndices: migrated (0.0070s) =================================== + +== RepositoriesAddIndexOwnerName: migrating ================================== +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_owner_name ON repositories(owner_name)") + -> 0.0010s + -> 0 rows +== RepositoriesAddIndexOwnerName: migrated (0.0010s) ========================= + +== RepositoriesAddIndexName: migrating ======================================= +-- execute("CREATE INDEX CONCURRENTLY index_repositories_on_name ON repositories(name)") + -> 0.0010s + -> 0 rows +== RepositoriesAddIndexName: migrated (0.0010s) ============================== + +== RepositoriesDropIndexOwnerNameName: migrating ============================= +-- execute("DROP INDEX CONCURRENTLY index_repositories_on_owner_name_and_name") + -> 0.0010s + -> 0 rows +== RepositoriesDropIndexOwnerNameName: migrated (0.0010s) ==================== + +== BuildsAddIndexEventType: migrating ======================================== +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_event_type ON builds (event_type)") + -> 0.0010s + -> 0 rows +== BuildsAddIndexEventType: migrated (0.0010s) =============================== + +== BuildsAddIndexRepositoryId: migrating ===================================== +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_repository_id ON builds (repository_id)") + -> 0.0020s + -> 0 rows +== BuildsAddIndexRepositoryId: migrated (0.0020s) ============================ + +== BuildsAddIndexState: migrating ============================================ +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_state ON builds (state)") + -> 0.0010s + -> 0 rows +== BuildsAddIndexState: migrated (0.0010s) =================================== + +== BuildsAddIndexBranch: migrating =========================================== +-- execute("CREATE INDEX CONCURRENTLY index_builds_on_branch ON builds (branch)") + -> 0.0010s + -> 0 rows +== BuildsAddIndexBranch: migrated (0.0020s) ================================== + +== BuildsDropIndexRepositoryIdAndState: migrating ============================ +-- execute("DROP INDEX CONCURRENTLY index_builds_on_repository_id_and_state") + -> 0.0000s + -> 0 rows +== BuildsDropIndexRepositoryIdAndState: migrated (0.0020s) =================== + +== BuildsDropIndexRepositoryIdAndEventType: migrating ======================== +-- execute("DROP INDEX CONCURRENTLY index_builds_on_repository_id_and_event_type") + -> 0.0010s + -> 0 rows +== BuildsDropIndexRepositoryIdAndEventType: migrated (0.0010s) =============== + +== BuildsDropIndexIdRepositoryIdAndEventTypeDesc: migrating ================== +-- execute("DROP INDEX CONCURRENTLY index_builds_on_id_repository_id_and_event_type_desc") + -> 0.0010s + -> 0 rows +== BuildsDropIndexIdRepositoryIdAndEventTypeDesc: migrated (0.0010s) ========= + +== BuildsDropIndexRepositoryIdAndEventTypeAndStateAndBranch: migrating ======= +-- execute("DROP INDEX CONCURRENTLY index_builds_on_repository_id_and_event_type_and_state_and_bran") + -> 0.0010s + -> 0 rows +== BuildsDropIndexRepositoryIdAndEventTypeAndStateAndBranch: migrated (0.0020s) + +== JobsAddIndexOwnerId: migrating ============================================ +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_owner_id ON jobs (owner_id)") + -> 0.0010s + -> 0 rows +== JobsAddIndexOwnerId: migrated (0.0020s) =================================== + +== JobsAddIndexOwnerType: migrating ========================================== +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_owner_type ON jobs (owner_type)") + -> 0.0020s + -> 0 rows +== JobsAddIndexOwnerType: migrated (0.0020s) ================================= + +== JobsAddIndexSourceId: migrating =========================================== +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_source_id ON jobs (source_id)") + -> 0.0010s + -> 0 rows +== JobsAddIndexSourceId: migrated (0.0020s) ================================== + +== JobsAddIndexSourceType: migrating ========================================= +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_source_type ON jobs (source_type)") + -> 0.0010s + -> 0 rows +== JobsAddIndexSourceType: migrated (0.0010s) ================================ + +== JobsAddIndexType: migrating =============================================== +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_type ON jobs (type)") + -> 0.0010s + -> 0 rows +== JobsAddIndexType: migrated (0.0010s) ====================================== + +== JobsDropIndexOwnerIdAndOwnerTypeAndState: migrating ======================= +-- execute("DROP INDEX CONCURRENTLY index_jobs_on_owner_id_and_owner_type_and_state") + -> 0.0010s + -> 0 rows +== JobsDropIndexOwnerIdAndOwnerTypeAndState: migrated (0.0010s) ============== + +== JobsDropIndexStateOwnerTypeOwnerId: migrating ============================= +-- execute("DROP INDEX CONCURRENTLY index_jobs_on_state_owner_type_owner_id") + -> 0.0000s + -> 0 rows +== JobsDropIndexStateOwnerTypeOwnerId: migrated (0.0000s) ==================== + +== JobsDropIndexTypeAndSourceIdAndSourceType: migrating ====================== +-- execute("DROP INDEX CONCURRENTLY index_jobs_on_type_and_owner_id_and_owner_type") + -> 0.0010s + -> 0 rows +== JobsDropIndexTypeAndSourceIdAndSourceType: migrated (0.0010s) ============= + +== JobsAddIndexState: migrating ============================================== +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_state ON jobs (state)") + -> 0.0010s + -> 0 rows +== JobsAddIndexState: migrated (0.0010s) ===================================== + +== JobsAddIndexQueue: migrating ============================================== +-- execute("CREATE INDEX CONCURRENTLY index_jobs_on_queue ON jobs (queue)") + -> 0.0000s + -> 0 rows +== JobsAddIndexQueue: migrated (0.0010s) ===================================== + +== TokensAddIndexUserId: migrating =========================================== +-- execute("CREATE INDEX CONCURRENTLY index_tokens_on_user_id ON tokens (user_id)") + -> 0.0000s + -> 0 rows +== TokensAddIndexUserId: migrated (0.0010s) ================================== + +== ReposAddInvalidatedAt: migrating ========================================== +-- add_column(:repositories, :invalidated_at, :datetime) + -> 0.0010s +== ReposAddInvalidatedAt: migrated (0.0020s) ================================= + +== BroadcastsAddCategory: migrating ========================================== +-- add_column(:broadcasts, :category, :string) + -> 0.0000s +== BroadcastsAddCategory: migrated (0.0020s) ================================= + +** Invoke db:_dump (first_time) +** Execute db:_dump +** Invoke db:structure:dump (first_time) +** Invoke environment +** Invoke db:load_config +** Execute db:structure:dump +travis_time:end:04aa0144:start=1447267252607919731,finish=1447267265299635161,duration=12691715430 +travis_fold:end:before_script.2 +travis_time:start:17376fe8 +$ ./build.sh +I TID=13182 Setting up Travis::Core +/home/travis/.rvm/rubies/jruby-1.7.16/bin/jruby -S rspec ./spec/travis/addons/archive/event_handler_spec.rb ./spec/travis/addons/archive/task_spec.rb ./spec/travis/addons/campfire/event_handler_spec.rb ./spec/travis/addons/campfire/instruments/event_handler_spec.rb ./spec/travis/addons/email/event_handler_spec.rb ./spec/travis/addons/email/instruments/event_handler_spec.rb ./spec/travis/addons/flowdock/event_handler_spec.rb ./spec/travis/addons/flowdock/instruments/event_handler_spec.rb ./spec/travis/addons/github_status/event_handler_spec.rb ./spec/travis/addons/github_status/instruments/event_handler_spec.rb ./spec/travis/addons/hipchat/event_handler_spec.rb ./spec/travis/addons/hipchat/instruments/event_handler_spec.rb ./spec/travis/addons/irc/event_handler_spec.rb ./spec/travis/addons/irc/instruments/event_handler_spec.rb ./spec/travis/addons/pusher/event_handler_spec.rb ./spec/travis/addons/pusher/instruments/event_handler_spec.rb ./spec/travis/addons/pushover/event_handler_spec.rb ./spec/travis/addons/pushover/instruments/event_handler_spec.rb ./spec/travis/addons/slack/event_handler_spec.rb ./spec/travis/addons/slack/instruments/event_handler_spec.rb ./spec/travis/addons/states_cache/event_handler_spec.rb ./spec/travis/addons/webhook/event_handler_spec.rb ./spec/travis/addons/webhook/instruments/event_handler_spec.rb ./spec/travis/api/v0/event/build_spec.rb ./spec/travis/api/v0/pusher/annotation/created_spec.rb ./spec/travis/api/v0/pusher/annotation/updated_spec.rb ./spec/travis/api/v0/pusher/build_spec.rb ./spec/travis/api/v0/pusher/job_spec.rb ./spec/travis/api/v0/worker/job/test_spec.rb ./spec/travis/api/v1/archive/build/job_spec.rb ./spec/travis/api/v1/archive/build_spec.rb ./spec/travis/api/v1/http/branches_spec.rb ./spec/travis/api/v1/http/build_spec.rb ./spec/travis/api/v1/http/builds_spec.rb ./spec/travis/api/v1/http/hooks_spec.rb ./spec/travis/api/v1/http/job_spec.rb ./spec/travis/api/v1/http/jobs_spec.rb ./spec/travis/api/v1/http/repositories_spec.rb ./spec/travis/api/v1/http/repository_spec.rb ./spec/travis/api/v1/http/user_spec.rb ./spec/travis/api/v1/webhook/build/finished_spec.rb ./spec/travis/api_spec.rb ./spec/travis/chunkifier_spec.rb ./spec/travis/commit_command_spec.rb ./spec/travis/config_spec.rb ./spec/travis/enqueue/services/enqueue_jobs/limit_spec.rb ./spec/travis/enqueue/services/enqueue_jobs_spec.rb ./spec/travis/event/config_spec.rb ./spec/travis/event/handler/metrics_spec.rb ./spec/travis/event/handler/trail_spec.rb ./spec/travis/event/subscription_spec.rb ./spec/travis/features_spec.rb ./spec/travis/github/education_spec.rb ./spec/travis/github/services/fetch_config_spec.rb ./spec/travis/github/services/find_or_create_org_spec.rb ./spec/travis/github/services/find_or_create_repo_spec.rb ./spec/travis/github/services/find_or_create_user_spec.rb ./spec/travis/github/services/set_hook_spec.rb ./spec/travis/github/services/sync_user/organizations/filter_spec.rb ./spec/travis/github/services/sync_user/organizations_spec.rb ./spec/travis/github/services/sync_user/repositories_spec.rb ./spec/travis/github/services/sync_user/repository_spec.rb ./spec/travis/github/services/sync_user/reset_token_spec.rb ./spec/travis/github/services/sync_user/user_info_spec.rb ./spec/travis/github/services/sync_user_spec.rb ./spec/travis/logs/services/aggregate_spec.rb ./spec/travis/logs/services/archive_spec.rb ./spec/travis/logs/services/receive_spec.rb ./spec/travis/model/annotation_provider_spec.rb ./spec/travis/model/annotation_spec.rb ./spec/travis/model/broadcast_spec.rb ./spec/travis/model/build/compat_spec.rb ./spec/travis/model/build/config/matrix_spec.rb ./spec/travis/model/build/config/obfuscate_spec.rb ./spec/travis/model/build/config_spec.rb ./spec/travis/model/build/denormalize_spec.rb ./spec/travis/model/build/matrix_spec.rb ./spec/travis/model/build/metrics_spec.rb ./spec/travis/model/build/result_message_spec.rb ./spec/travis/model/build/states_spec.rb ./spec/travis/model/build/update_branch_spec.rb ./spec/travis/model/build_spec.rb ./spec/travis/model/commit_spec.rb ./spec/travis/model/encrypted_column_spec.rb ./spec/travis/model/job/cleanup_spec.rb ./spec/travis/model/job/queue_spec.rb ./spec/travis/model/job/test_spec.rb ./spec/travis/model/job_spec.rb ./spec/travis/model/log/log_spec.rb ./spec/travis/model/organization_spec.rb ./spec/travis/model/permission_spec.rb ./spec/travis/model/repository/settings/ssh_key_spec.rb ./spec/travis/model/repository/settings_spec.rb ./spec/travis/model/repository/status_image_spec.rb ./spec/travis/model/repository_spec.rb ./spec/travis/model/request/approval_spec.rb ./spec/travis/model/request/branches_spec.rb ./spec/travis/model/request/states_spec.rb ./spec/travis/model/request_spec.rb ./spec/travis/model/ssl_key_spec.rb ./spec/travis/model/token_spec.rb ./spec/travis/model/url_spec.rb ./spec/travis/model/user/oauth_spec.rb ./spec/travis/model/user_spec.rb ./spec/travis/notification/instrument_spec.rb ./spec/travis/notification/publisher/log_spec.rb ./spec/travis/notification/publisher/redis_spec.rb ./spec/travis/redis_pool_spec.rb ./spec/travis/requests/services/receive/api_spec.rb ./spec/travis/requests/services/receive/pull_request_spec.rb ./spec/travis/requests/services/receive/push_spec.rb ./spec/travis/requests/services/receive_spec.rb ./spec/travis/requests/services/simulate_receive_spec.rb ./spec/travis/secure_config_spec.rb ./spec/travis/services/cancel_build_spec.rb ./spec/travis/services/cancel_job_spec.rb ./spec/travis/services/find_admin_spec.rb ./spec/travis/services/find_annotation_spec.rb ./spec/travis/services/find_branch_spec.rb ./spec/travis/services/find_branches_spec.rb ./spec/travis/services/find_build_spec.rb ./spec/travis/services/find_builds_spec.rb ./spec/travis/services/find_caches_spec.rb ./spec/travis/services/find_daily_repos_stats_spec.rb ./spec/travis/services/find_daily_tests_stats_spec.rb ./spec/travis/services/find_hooks_spec.rb ./spec/travis/services/find_job_spec.rb ./spec/travis/services/find_jobs_spec.rb ./spec/travis/services/find_log_spec.rb ./spec/travis/services/find_repo_key_spec.rb ./spec/travis/services/find_repo_settings_spec.rb ./spec/travis/services/find_repo_spec.rb ./spec/travis/services/find_repos_spec.rb ./spec/travis/services/find_request_spec.rb ./spec/travis/services/find_requests_spec.rb ./spec/travis/services/find_user_accounts_spec.rb ./spec/travis/services/next_build_number_spec.rb ./spec/travis/services/regenerate_repo_key_spec.rb ./spec/travis/services/remove_log_spec.rb ./spec/travis/services/reset_model_spec.rb ./spec/travis/services/sync_user_spec.rb ./spec/travis/services/update_annotation_spec.rb ./spec/travis/services/update_hook_spec.rb ./spec/travis/services/update_job_spec.rb ./spec/travis/services/update_log_spec.rb ./spec/travis/services/update_user_spec.rb ./spec/travis/services_spec.rb ./spec/travis/settings/collection_spec.rb ./spec/travis/settings/default_settings_spec.rb ./spec/travis/settings/model_spec.rb ./spec/travis/settings_spec.rb ./spec/travis/states_cache_spec.rb ./spec/travis/task_spec.rb ./spec/travis/travis_yml_stats_spec.rb ./spec/travis_spec.rb +I TID=13176 Setting up Travis::Core +Run options: include {:focused=>true} + +All examples were filtered out; ignoring {:focused=>true} + +Travis::CommitCommand + skip + is invoked by a commit message containing [CI skip] + is invoked by a commit message containing [ci skip] + is not invoked by default + is invoked by a commit message containing [ci:skip] + is not invoked by a commit message containing [ci unknown-command] + is invoked by the special case: [skip ci] + +Travis::Logs::Services::Archive + in production + behaves like archive + fetches the log from the api + retries and finally raises if fetch can not find the log + stores the log to s3 + verifies the log size + retries and finally raises if verification fails + retries and finally raises if reporting fails + reports to the api + retries and finally raises if storage fails + retries and finally raises if fetch fails + in staging + behaves like archive + fetches the log from the api + retries and finally raises if fetch can not find the log + stores the log to s3 + verifies the log size + retries and finally raises if verification fails + retries and finally raises if reporting fails + reports to the api + retries and finally raises if storage fails + retries and finally raises if fetch fails + +Travis::Services::UpdateHook + finds the repo by the given params + sets the given :active param to the hook + sets the repo to the active param + given "true" + given false + given true + given "false" + +Travis::Services::UpdateLog + updates the log + the instrument + publishes a event + +Travis::Addons::Email::Instruments::EventHandler + publishes a event + +Travis::Github::Services::SyncUser + new_user? + doesn't send an email with the welcome email disabled + doesn't send an email to an existing user + sends an email to a new user + doesn't send an email if the user is older than 48 hours + doesn't send an email if the user doesn't have a valid email + syncing + sets synced_at + sets is_syncing? + returns the block value + raises exceptions + ensures the user is set back to not sycing when an exception raises + run + resets is_syncing even on error + +Travis::Services::FindRepos + applies timeline only if no other params are given + returns the recent timeline when given empty params + finds repositories by a given list of ids + given an owner_name name and active param + finds a repository with that owner_name even if it does not have any builds + given an owner_name name + finds a repository with that owner_name + does not find a repository with another owner name + given a member name + finds a repository where that member has permissions + does not find a repository where the member does not have permissions + given a slug name + finds a repository with that slug + does not find a repository with a different slug + given a search phrase + finds a repository matching that phrase + does not find a repository that does not match that phrase + given a list of ids + finds included repositories + does not find a repositories that are not included + +Travis::RedisPool + fails when a non-supported operation is called + forwards operations to redis + increases the metric for number of operations + adds a wait time for the pool checkout + +Travis::Enqueue::Services::EnqueueJobs::Limit + allows the first 8 jobs if the org is allowed 8 jobs + allows one job if 4 are running by default + allows the first 5 jobs if none are running by default + allows all jobs if the limit is set to -1 + gives a readable report + limit per repository + doesn't fail for repositories with no running jobs and restriction enabled + should schedule jobs for other repositories + should only schedule the maximum number of builds for a single repository + doesn't allow for a repository maximum higher than the total maximum + doesn't add the filter with limit per repo disabled + +Travis::Services::FindJobs + run + finds jobs by a given list of ids + does not find jobs on other queues + finds jobs on the given queue + finds jobs by state + finds jobs that are about to run without any args + updated_at + returns the latest updated_at time (PENDING: rack cache is disabled, so not much need for caching now) + +Travis::Services::RemoveLog + when a job is found + uses a log part for storing the content + updates logs with desired information + runs successfully + when log is already removed + raises LogAlreadyRemoved error + when user does not have push permissions + raises AuthorizationDenied + when job is not finished + raises JobUnfinished error + when a job is not found + raises ActiveRecord::RecordNotFound exception + +Travis::Services::Helpers + service + passes the given params + passes the given user + given :foo as a type and :stuff as a name it returns an instance of Foo::Stuff + defaults params to {} + defaults the user to the current user if the object responds to :current_user + defaults the user to nil if the object does not respond to :current_user + +Travis::Addons::Irc::Instruments::EventHandler + publishes a event + +Travis::Services::CancelJob + run + should not be able to cancel job if user does not have pull permission + should not cancel the job if it's not cancelable + should cancel the job if it's cancelable + +Travis::Services::FindBranches + returns an empty build scope when the repository could not be found + scopes to the given repository + finds the last builds of the given repository grouped per branch + finds branches by a given list of ids + +Travis::Features + should delegate to rollout + feature checks + should allow enabling the repository + should return false if the repository's owner isn't activated + should return true if the repository's owner is activated + should be active when the repository was activated + shouldn't be active when the repository was deactivated + for owners + allows enabling features for an organization + allows disabling features for an owner + allows enabling features for an owner + for features + should allow enabling features completely + shouldn't be active when the feature was disabled completely + for users + should be active when enabled for a user + shouldn't be active when disable for a user + +Travis::Services::FindAdmin + find + given an error occurs while retrieving the repository info + raises an exception (PENDING: Temporarily disabled with xit) + does not revoke permissions + given a user does not have access to a repository + raises an exception (PENDING: Temporarily disabled with xit) + revokes admin permissions for that user on our side (PENDING: Temporarily disabled with xit) + given a user has admin access to a repository (as seen by github) + returns that user + missing repository + raises Travis::RepositoryMissing + +Build::States + events + receive + does not denormalize attributes + when the build has failed + does not notify observers + when the build is already received + does not notify observers + when the build is not already received + sets the state to :received + notifies observers + when the build has errored + does not notify observers + reset + does not set the state to created if any jobs in the matrix are running + sets the state to created if none of the jobs in the matrix are running + cancel + cancels all the cancelable jobs + start + when the build has failed + does not denormalize attributes + does not notify observers + when the build is already started + does not denormalize attributes + does not notify observers + when the build is not already started + notifies observers + denormalizes attributes + sets the state to :started + when the build has errored + does not denormalize attributes + does not notify observers + finish + when the matrix is not finished + when the build is already finished + does not denormalize attributes + does not notify observers + when the matrix is finished + when the build has not finished + denormalizes attributes + calculates the duration based on the matrix durations + sets the state to the matrix state + notifies observers + when the build has already finished + does not denormalize attributes + does not notify observers + +Build denormalization + on build:started + denormalizes last_build_number to its repository + denormalizes last_build_state to its repository + denormalizes last_build_id to its repository + denormalizes last_build_duration to its repository + denormalizes last_build_started_at to its repository + denormalizes last_build_finished_at to its repository + on build:finished + denormalizes last_build_finished_at to its repository + denormalizes last_build_duration to its repository + denormalizes last_build_state to its repository + +Build matrix + matrix_finished? + if config[:matrix][:finish_fast] is not set + if all jobs have finished + returns true + if at least one job has not finished and is allowed to fail + returns false + if at least one job has not finished and is not allowed to fail + returns false + if config[:matrix][:finish_fast] is set + if all jobs have finished + returns true + if at least one job has not finished and is allowed to fail + returns true + if at least one job has not finished and is not allowed to fail + returns false + matrix_duration + if the matrix is finished + returns the sum of the matrix job durations + if the matrix is not finished + returns nil + for Scala projects + with a single Scala version passed in as array and two env variables + with multiple Scala versions and no env variables + with a single Scala version given as a string + filter_matrix + does not select builds with non-matching keys + does not select builds with non-matching values + selects matching builds + does not explode + on config[:matrix] being an array + on bad matrix include values + on a config key that is `true` + os expansion + expands on :os if the feature is active + ignores the os key if the feature is inactive + matrix with one allow_failure job + returns :passed + matrix_state + returns :passed if all jobs have passed + returns :failed if one job has failed and one job has errored + returns :errored if one job has errored + returns :passed if a failed job is allowed to fail + returns :failed if all jobs have failed and only one is allowed to fail + returns :passed if all jobs have passed except a job that is allowed to fail, and config[:matrix][:finish_fast] is set + returns :failed if all jobs have failed and only one is allowed to fail + returns :passed if a errored job is allowed to fail + returns :failed if one job has failed + dist_group_expansion + the feature is active + expands on :dist and :group + the feature is inactive + does not expand on :dist or :group + for Ruby projects + matrix expansion + with two Rubies and Gemfiles + does not decrypt secure env vars + with string values + with unequal number of Rubies, env variables and Gemfiles + with an array of Rubies and a single Gemfile + include_matrix_config + includes a matrix config + does not include "empty" matrix config + expand_matrix + does not expand on :os + sets the config to the jobs (no matrix config) + sets the config to the jobs (single test config) + ignores global env config when setting allow failures + copies build attributes + adds a sub-build number to the job number + sets the config to the jobs (multiple tests config) + sets the config to the jobs (no config) + does not clobber env and global_env vars + sets the config to the jobs (allow failures config) + when python project contains unwanted key + ignores irrelevant matrix dimensions + when ruby project contains unwanted key + ignores irrelevant matrix dimensions + creates jobs whose config does not contain unwanted keys + when matrix specifies incorrect allow_failures + excludes matrices correctly + exclude_matrix_config + excludes jobs from a matrix config when the matrix exclusion definition is incomplete + excludes a matrix config without specifying global env vars in the exclusion + excludes a matrix config when all config items are defined in the exclusion + multi_os + the feature is active + expands on :os + the feature is inactive + does not expand on :os + +Travis::DefaultSettings + doesn't allow to merge anything + doesn't allow to set any values + getting properties + fetches a given path from default settings + +Travis::Addons::Archive::Task + runs the :archive_log service + instrument + publishes an event + +Travis::Services::FindAdmin::Instrument + publishes a event + +Travis::Api::V1::Http::Hooks + data + +Travis::Settings::Model + returns a default if it is set + implements read_attribute_for_serialization method + can be loaded from json + allows to override attribute methods + handles validations + allows to overwrite values + validates encrypted attributes properly + allows to override the default + coerces values by default + does not coerce nil + allows to update attributes + creates an instance with attributes + encryption + returns EncryptedValue instance even for nil values + automatically encrypts the data + +Travis::Addons::Slack::EventHandler + targets + returns an array of multiple urls when given a comma separated string + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of values if the build configuration specifies an array of urls within a config hash + handler + triggers a task if the build is a pull request + triggers a task if the build is a push request + passes ssl key from repository to config + triggers a task if rooms are present + does not trigger a task if no rooms are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Travis::Addons::Webhook::EventHandler + targets + returns an array of multiple urls when given a comma separated string + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of values if the build configuration specifies an array of urls within a config hash + handler + triggers a task if webhooks are present + triggers a task if the build is a pull request + triggers a task if the build is a push request + does not trigger a task if no webhooks are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started notifies + build:finish notifies + +Travis::Services::FindLog + run + does not raise if the log could not be found + finds the log with the given job_id + finds the log with the given id + +AnnotationProvider + .authenticate_provider + given an invalid key + does not authenticate the provider + given an invalid username + does not authenticate the provider + given a valid username and key + authenticates the provider + with an encrypted key + authenticates the provider + #annotation_for_job + given an annotation already exists for the job + returns the annotation + given no annotation exists yet for the job + returns a new annotation object + +Travis::Api::V1::Http::Builds + builds + +Travis::Github::Services::SetHook + activating + does not update and existing hook if it is active + updates and existing hook if it is inactive + creates a new hook when none exists + deactivating + creates and updates the hook if github set the active value to true while creating + updates and existing hook if it is active + creates a new hook when none exists + does not update and existing hook if it is inactive + +Travis::Event::Subscription + triggering a notification + shouldn't notify when the event doesn't match + should increment a counter when the event is triggered + should notify when the event matches + a missing event handler + does not raise the exception + +Travis::SecureConfig + returns the original value if the config is not a hash + decrypts a string + decrypts with a string as a key + decrypts a hash with a secure entry + decrypts a complex object of nested arrays and strings + keeps the string similar if it cannot be decoded + decrypts a realistic complex build config + decrypts an array with a secure entry and a string + returns nil if secure is nil + +Build::Config + keeps the given env if it is an array + normalizes env vars global and matrix which are hashes to an array of strings + works fine if matrix part of env is undefined + keeps wild nested array/hashes structure + sets the os value to osx for objective-c builds + sets the os value to linux for other builds + works fine if global part of env is undefined + keeps env vars global and matrix arrays + normalizes an env vars hash to an array of strings + keeps matrix and global config as arrays, not hashes + +Travis::Github::Services::SyncUser::Organizations::Filter + allows the organization if we can't get repositories count + allows the organization if data is missing + does not allow organizations with too many repos + +Travis::Addons::Flowdock::EventHandler + targets + returns an array of multiple urls when given a comma separated string + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of values if the build configuration specifies an array of urls within a config hash + handler + triggers a task if rooms are present + does not trigger a task if the build is a pull request + triggers a task if the build is a push request + does not trigger a task if no rooms are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Travis::Event::Config + send_on_finished_for? + returns true for :webhooks if the previous build is missing, the current build failed and config is {:on_failure=>"always"} + returns true for :webhooks if the previous build is missing, the current build passed and config is {:on_failure=>"always"} + returns false for :webhooks if the previous build is missing, the current build passed and config is {:on_success=>"never"} + returns true for :webhooks if the previous build failed, the current build passed and config is {:on_failure=>"always"} + returns true for :webhooks if the previous build passed, the current build passed and config is {:on_failure=>"change"} + returns true for :webhooks if the previous build passed, the current build failed and config is {:on_success=>"change"} + returns true for :webhooks if the previous build failed, the current build failed and config is {:on_success=>"always"} + returns false for :webhooks if the previous build failed, the current build passed and config is {:on_success=>"never"} + returns true for :webhooks if the previous build passed, the current build passed and config is {:on_success=>"always"} + returns true for :webhooks if the previous build failed, the current build failed and config is {:on_success=>"change"} + returns true for :webhooks if the previous build failed, the current build failed and config is {:on_success=>"never"} + returns true for :webhooks if the previous build is missing, the current build passed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build passed, the current build failed and config is {:on_failure=>"always"} + returns true for :webhooks if the previous build failed, the current build passed and config is {:on_success=>"change"} + returns false for :webhooks if the previous build passed, the current build failed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build is missing, the current build passed and config is {:on_success=>"always"} + returns true for :webhooks if the previous build is missing, the current build failed and config is {:on_success=>"always"} + returns false for :webhooks if the previous build passed, the current build passed and config is {:on_success=>"change"} + returns false for :webhooks if the previous build failed, the current build failed and config is {:on_failure=>"change"} + returns true for :webhooks if the previous build passed, the current build passed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build failed, the current build passed and config is {:on_failure=>"change"} + returns true for :webhooks if the previous build passed, the current build failed and config is {:on_success=>"never"} + returns false for :webhooks if the previous build is missing, the current build failed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build failed, the current build passed and config is {:on_success=>"always"} + returns true for :webhooks if the previous build is missing, the current build passed and config is {:on_success=>"change"} + returns true for :webhooks if the previous build failed, the current build passed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build is missing, the current build passed and config is {:on_failure=>"change"} + returns false for :webhooks if the previous build is missing, the current build failed and config is {:on_failure=>"change"} + returns true for :webhooks if the previous build is missing, the current build failed and config is {:on_success=>"change"} + returns false for :webhooks if the previous build failed, the current build failed and config is {:on_failure=>"never"} + returns true for :webhooks if the previous build is missing, the current build failed and config is {:on_success=>"never"} + returns true for :webhooks if the previous build passed, the current build failed and config is {:on_failure=>"change"} + returns true for :webhooks if the previous build failed, the current build failed and config is {:on_failure=>"always"} + returns false for :webhooks if the previous build passed, the current build passed and config is {:on_success=>"never"} + returns true for :webhooks if the previous build passed, the current build failed and config is {:on_success=>"always"} + returns true for :webhooks if the previous build passed, the current build passed and config is {:on_failure=>"always"} + +Travis::Notification::Instrument + attach_to + subscribes to ActiveSupport::Notifications using the class name as a namespace + subscribes to ActiveSupport::Notifications using an instrumentation key if defined + +Travis::Addons::Flowdock::Instruments::EventHandler + publishes a event + +Repository::StatusImage + given a branch + returns :error if the last build on that branch has errored + returns :failed if the last build on that branch has failed + returns :passed if the last build on that branch has passed + returns :canceled if the last build on that branch was canceled + given no branch + returns :error if the status of the last finished build is errored + returns :failing if the status of the last finished build is failed + returns the status of the last finished build + returns :canceled if the status of the last finished build is canceled + returns :unknown if the status of the last finished build is unknown + with cache + saves state of the build to the cache with its branch even if brianch is not given + saves state to the cache if it needs to be fetched from the db + tries to get state from cache first + handles cache failures gracefully + +Repository::Settings + validates maximum_number_of_builds + #restricts_number_of_builds? + returns true if number of builds is restricted + returns false if builds are not restricted + #maximum_number_of_builds + defaults to 0 + env_vars + can be filtered to get only public vars + timeouts + hard_limit + returns nil if set to 0 + is valid if hard_limit is nil + defaults to nil + is valid if hard_limit is set to 0 + with :custom_timeouts feature flag turned off + adds an error message if invalid + is valid + if hard_limit is < 50 + if hard_limit is > 0 + if hard_limit is nil + if hard_limit equals 50 + is invalid + if hard_limit is < 0 + if hard_limit is > 50 + with :custom_timeouts feature flag turned on + adds an error message if invalid + is valid + if hard_limit is < 180 + if hard_limit is > 0 + if hard_limit is nil + if hard_limit equals 180 + is invalid + if hard_limit is < 0 + if hard_limit is > 180 + log_silence + returns nil if set to 0 + is valid if log_silence is nil + defaults to nil + is valid if log_silence is set to 0 + with :custom_timeouts feature flag turned off + adds an error message if invalid + is valid + if log_silence is < 10 + if log_silence is > 0 + if log_silence is nil + if log_silence equals 10 + is invalid + if log_silence is < 0 + if log_silence is > 10 + with :custom_timeouts feature flag turned on + adds an error message if invalid + is valid + if log_silence is < 60 + if log_silence is > 0 + if log_silence is nil + if log_silence equals 60 + is invalid + if log_silence is < 0 + if log_silence is > 60 + +Travis::Addons::GithubStatus::EventHandler + subscription + build:finish notifies + build:started notifies + build:created notifies + build:canceled notifies + handler + triggers a task if the build is a push request and has finished + triggers a task if the build is a pull request and has started + triggers a task if the build is a push request and has started + triggers a task if the build is a pull request and has finished + gets the token for the build committer + gets the token for someone with push access + does not trigger a task if no tokens are available + +Build + is cancelable if at least one job is cancelable + returns nil if cached_matrix_ids are not set + caches matrix ids + is not cancelable if none of the jobs are cancelable + creation + updates the last_build on the build's branch + previous_state + is set to the last finished build state on the same branch (disregards other branches) + is set to the last finished build state on the same branch (disregards non-finished builds) + is set to the last finished build state on the same branch + class methods + on_branch + returns builds that are on any of the given branches + does not include pull requests + was_started + returns builds that are either started or finished + recent + returns recent finished builds ordered by id descending + older_than + when not passing a build + should limit the results + when a number is passed in + should limit the results + should return older than the passed build + when a Build is passed in + should limit the results + should return older than the passed build + paged + limits the results to the `per_page` value + uses an offset + pushes + returns only builds which have Requests with an event_type of push + pull_requests + returns only builds which have Requests with an event_type of pull_request + #secure_env_enabled? + returns false if pull request is not from the same repository + returns true if pull request is from the same repository + returns true if we're not dealing with pull request + instance methods + sets previous_state to the result of the last build on the same branch if exists + sets previous_state to nil if no last build exists on the same branch + sets its number to the next build number on creation + saves event_type before create + saves pull_request_title before create + saves branch before create + passed? + passed? returns true if state equals :passed + passed? returns true if result does not equal :passed + pending? + returns true if the build is finished + returns true if the build is not finished + config + defaults to a hash with language and os set + deep_symbolizes keys on write + color + returns "yellow" if the build is pending + returns "red" if the build has failed + returns "green" if the build has passed + reset + resets each job if :reset_matrix is given + resets related attributes + sets the state to :created + does not reset jobs if :reset_matrix is not given + notifies obsevers + +Travis::Addons::Email::EventHandler + #recipients + when commit is on default branch + equals the recipients specified in the build configuration if any (given as an array) + equals the recipients specified in the build configuration if any (given as a string) + when commit is on non-default branch + contains the author emails if the build has them set + contains the committer emails if the build has them set + handler + triggers a task if specified by the config + does not trigger a task if the build is a pull request + triggers a task if the build is a push request + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Travis::Addons::Pusher::Instruments::EventHandler + given a job:started event + publishes a event + given a build:finished event + publishes a event + +Travis::Github::Services::SyncUser::Repositories::Instrument + publishes a event on :run + publishes a event on :fetch + +Travis::Model::EncryptedColumn + allows to pass use_prefix as an option + allows to pass key as an option + when encryption is disabled + #dump + does not encrypt data + #decrypt? + does not decrypt if given data is empty + #encrypt? + does not encrypt if given data is empty + when disabled + does not encrypt + when encryption is enabled + when prefix usage is disabled + #load + decrypts data even with no prefix + removes prefix if prefix is still used + #dump + attaches iv to encrypted string + when prefix usage is enabled + #load + does not decrypt data if prefix is not used + decrypts data if prefix is used + #dump + attaches iv and prefix to encrypted string + +Travis::Api::V0::Event::Build + includes the commit + includes the repository data + includes the build data + doesn't include the source key + +Job + before_create + sets the queue attribute + sets the state attribute + instantiates the log + .queued + returns jobs that are created but not started or finished + .result + returns 1 for failed builds + returns 0 for passed builds + duration + returns the duration if both started_at and finished_at are populated + returns nil if both finished_at is not populated + returns nil if both started_at is not populated + obfuscated config + obfuscates env vars + leaves regular vars untouched + handles nil env + normalizes env vars which are hashes to strings + removes addons config if it is not a hash + removes addons items which are not whitelisted + removes source key + when job has secure env disabled + normalizes env vars which are hashes to strings + works even if it removes all env vars + removes secure env vars + #pull_request? + is delegated to commit + decrypted config + does not change original config + normalizes env vars which are hashes to strings + handles nil env + leaves regular vars untouched + when job has secure env enabled + decrypts env vars + decrypts only secure env vars + when addons are disabled + removes addons if it is not a hash + removes addons items which are not whitelisted + when secure env is not enabled + removes secure env vars + removes only secured env vars + when job has addons enabled + decrypts addons config + decrypts deploy addon config + log_content= + sets the log content + blanks out any old log content + +Travis::Api::V0::Pusher::Build + build + repository + +Travis::Github::Services::FindOrCreateRepo + needs to be specified (PENDING: Temporarily disabled with xit) + +Travis::Services::SyncUser + given the user is not currently syncing + enqueues a sync job + sets the user to syncing + given the user is currently syncing + does not set the user to syncing + +Travis::Notification::Publisher::Redis + encodes the payload in json (PENDING: feature disabled at the moment) + sets a ttl + adds to the list (PENDING: feature disabled at the moment) + queues new messages on the right (PENDING: feature disabled at the moment) + sends out events over pubsub (PENDING: feature disabled at the moment) + +Travis::Services::FindRequest + run + finds a request by the given id + does not raise if the request could not be found + updated_at + returns request's updated_at attribute + +Travis::Api::V1::Http::Jobs + tests + +Travis::Addons::Campfire::EventHandler + targets + returns an array of multiple urls when given a comma separated string + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of values if the build configuration specifies an array of urls within a config hash + handler + does not trigger a task if the build is a pull request + triggers a task if the build is a push request + passes ssl key from repository to config + triggers a task if rooms are present + does not trigger a task if no rooms are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Travis::Github::Services::SyncUser::Repository + a public repository + admin, push and pull access + creates a new permission for the user/repo + updates an existing permission + push and pull access + creates a new permission for the user/repo + updates an existing permission + only pull access + doesn't create a new permission for the user/repo + destroys an existing permission + updating + updates repositorie's name and owner name + find or create repository + does not create a new repository if it already exists + sets the owner + creates a new repository per record if not yet present + a private repository + admin, push and pull access + creates a new permission for the user/repo + updates an existing permission + push and pull access + creates a new permission for the user/repo + updates an existing permission + only pull access + creates a new permission for the user/repo + updates an existing permission + +Travis::Api::V1::Http::Job + data + without log + returns null as a log content + with encrypted env vars + shows encrypted env vars in human readable way + +Travis::Api::V1::Archive::Build + without log + returns null as a log content + +Travis::Github::Services::FetchConfig + config + merges { '.result' => 'configured' } to the actual configuration + yaml parses the response body if the response is successful + returns a hash + returns { '.result' => 'not_found' } if a 404 is returned + returns { '.result' => 'server_error' } if a 500 is returned + returns { '.result' => 'parse_error' } if the .travis.yml is invalid + returns the error message for an invalid .travis.yml file + converts non-breaking spaces to normal spaces + when the repository has the template_selection feature enabled + passes the 'group' config key through + passes the 'dist' config key through + when the repository doesn't have the template_selection feature enabled + doesn't pass the 'group' config key through + doesn't pass the 'dist' config key through + +Travis::Github::Services::SyncUser::ResetToken + resets the token on GitHub + stores the new token + +Commit + #range + with invalid compare_url + returns nil + with a compare_url with ^ in it + returns range + with compare_url present + returns range + without compare_url + returns nil + for a pull request + returns range + pull_request? + is false for a ref named ref/pull/180/head + is false for a ref named ref/branch/master + is false for a nil ref + is true for a ref named ref/pull/180/merge + pull_request_number + when commit is from pull request + returns pull request's number + when commit is not from pull request + returns nil + +Build update_branch + on build:started + creates branch if branch is missing + updates branch if branch is exists + on build:finished + creates branch if branch is missing + updates branch if branch is exists + +Travis::Services::FindJob + run + raises RecordNotFound if a SubclassNotFound error is raised during find + does not raise if the job could not be found + finds the job with the given id + includes config by default + excludes config when requested + updated_at + returns jobs updated_at attribute + +Repository::Settings::SshKey + does not check key if a value is nil + allows only private key + validates correctness of private key + with a passphrase + returns key_with_a_passphrase validation error + +Travis::Settings::Collection + allows to create a model + finds class in Travis::Settings namespace + loads models from JSON + #destroy + removes an item from collection + #find + finds an item + +Travis::Requests::Services::Receive::Api + uses a custom message if given + request + returns attributes for a Request + commit + returns all attributes required for a Commit + repository + returns all attributes required for a Repository + +Travis::Api::V1::Http::Repositories + data + +Travis::Api::V1::Http::Repository + data + public_key + +Travis::Addons::Hipchat::EventHandler + targets + returns an array of multiple urls when given a comma separated string + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of values if the build configuration specifies an array of urls within a config hash + handler + doesn't trigger when pull request notifications are disabled + triggers a task if the build is a pull request + triggers a task if the build is a push request + triggers a task if rooms are present + does not trigger a task if no rooms are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Annotation + validations + only allows http or https URLs + only allows valid URLs + +Travis::Settings + returns validations without going through i18n + allows to load from nil + adding a setting + allows to set a property using accessor + sets false properly as boolean, not changing it to nil + doesn't allow to set or get unknown settings + #update + updates an existing model + creates a model if it does not exist yet + #delete + removes a model with a given name + registering a collection + allows to register a collection + populates registered collections from raw settings + save + runs on_save callback + does not run on_save callback if settings are not valid + #merge + does not allow to merge unknown settings + merges individual fields + does not save + to_hash + returns registered collections and all attributes + simple_attributes + returns only plan attributes + #create + creates a model for a given key + adds additional attributes to the created model + +Travis::Event::Handler::Metrics + subscription + job:test:finished notifies + job:test:started notifies + build:started does not notify + metrics + job:test:started + meters on job.queue.wait_time + meters on job.queue.builds-linux.wait_time + with started_at being nil + does not meters time + job:test:finished + meters on job.duration + meters on job.duration + with finished being nil + does not meters time + +Build::Config::Matrix + can handle nil values in exclude matrix + can handle list values in exclude matrix + +Travis::StatesCache + delegates #write to adapter + gets data from build if it's given instead of raw data + allows to fetch state + delegates #fetch to adapter + integration +localhost:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - Connection refused + updates the state if the id of the build is the same (PENDING: Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4.) +localhost:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - Connection refused + updates the state only if the info is newer (PENDING: Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4.) +localhost:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - Connection refused + saves the state for given branch and globally (PENDING: Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4.) +localhost:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - Connection refused + handles connection errors gracefully (PENDING: Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4.) + Travis::StatesCache::MemcachedAdapter + fetches the data for given id as JSON + writes for both a branch and default state + #update? + returns true if persisted data is the same age + returns false if persisted data is younger than data passed as an argument + returns true if persisted data is older than data passed as an argument + +Travis::Services::FindCaches + given a repository_id + without any caches + should be == [] + with caches + with branch + size + should be == 1 + the cache instances + repository + should be == # + branch + should be == master + slug + should be == cache--example1 + size + should be == 0 + size + should be == 2 + with match + size + should be == 1 + without access + size + should be == 0 + without s3 credentials + should be == [] + with multiple buckets + size + should be == 4 + +Travis::Api::V0::Pusher::Annotation::Updated + annotation + +Travis::Requests::Services::Receive + an API request + giving the repo owner_id + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + giving the repo owner_name + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + a github pull-request event + for a branch on a foreign repository + returns the expected head_branch + returns the expected head_repo + returns the expected base_repo + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + for a branch on the same repository + returns the expected head_branch + returns the expected head_repo + returns the expected base_repo + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + for a repository that belongs to an organization + sets the comments_url to the request + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + a github push event + for repository belonging to an organization + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + with disabled push events + rejects the request + logs a notice + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + for repository belonging to a user + it should behave like creates a request + logs a notice + sets the payload to the request + creates a request for the given payload + when no commits are present + does not explode + logs a message + with a repository that does not exist on our side + logs the validation error + meters the event + with a repository that does not have an owner (should never happen?) + with an known owner referenced in the payload + logs a notice + updates the owner_name + updates the owner + with an unknown owner referenced in the payload + logs the validation error + meters the event + with a repository that has a different owner on our side (owner changed since last sync) + with an known owner referenced in the payload + logs a notice + updates the owner_name + updates the owner + with an unknown owner referenced in the payload + logs the validation error + meters the event + without repository data + a push + logs the validation error + a pull request + logs the validation error + catches GH:Errors + during :accept? + during :create + +Travis::Github::Services::FindOrCreateUser + updates repositories owner_name and nullifies other users or orgs' login if login is changed + gets login from data if login is not available in find + finds an existing user + creates a user from github + creates a user from github and nullifies login if other user has the same login + raises a GithubApi error if the user could not be retrieved (PENDING: Temporarily disabled with xit) + +Travis::Api::V1::Webhook::Build::Finished + includes the build data + includes the repository + includes the build matrix + given include_logs is false + given include_logs is true + payload + has a different type for pull requests + includes the pull request number for pull requests + +Token + generate_token sets the token to a 20 character value + does not generate new token on save + +Travis::Addons::Pusher::EventHandler + doesn't override original payload + subscription + job:log + job:test:started + job:test:created + job:test:finished + build:created + build:started + build:finished + +Travis::Services::FindRepoSettings + authorized? + should be unauthorized with current_user + run + should not be able to get settings if user does not have push permission + should return repo settings + should return nil without a repo + +Travis::Enqueue::Services::EnqueueJobs + Instrument + publishes a event + run + keeps a report of enqueued jobs + publishes queueable jobs + enqueues queueable jobs + disabled? + does not enqueue if the feature :job_queueing is disabled explicitely + enqueues if the feature :job_queueing is enabled explicitely + enqueues if the feature :job_queueing is not deactivated (default) + with a timeout + returns false when the timeout is hit + Logging + logs the enqueue + +Travis::Api::V0::Pusher::Annotation::Created + annotation + +Request::Branches + #included? + defaults to true if no branches are included + returns false if the included branches do not include the given branch + given as an array of branches + given as a comma separated list of branches + given as a string + returns true if the given branch matches a pattern from the included branches + given as an array of patterns + given as a comma separated list of patterns + given as a string + returns true if the included branches include the given branch + given as an array of branches + given as a comma separated list of branches + given as a string + returns false if the given branch does not match any pattern from the included branches + given as an array of patterns + given as a comma separated list of patterns + given as a string + #excluded? + defaults to false if no branches are excluded + returns false if the excluded branches do not include the given branch + given as an array of branches + given as a comma separated list of branches + given as a string + returns true if the given branch matches a pattern from the excluded branches + given as an array of patterns + given as a comma separated list of patterns + given as a string + returns true if the excluded branches include the given branch + given as an array of branches + given as a comma separated list of branches + given as a string + returns false if the given branch does not match any pattern from the excluded branches + given as an array of patterns + given as a comma separated list of patterns + given as a string + +Travis::Services::FindRepo + run + does not raise if the repository could not be found + finds a repository by the given owner_name and name + finds a repository by the given id + updated_at + returns jobs updated_at attribute + +Travis::Services::RemoveLog::Instrument + publishes a event + +Travis::Services::ResetModel + given a job_id + has message: missing permissions and can not be enqueued + has message: all cool + resets the job + given a build_id + does not reset the build (given no roles configuration and the user does not have permissions) + resets the build (given roles configuration and the user has permissions) + resets the build (given no roles configuration and the user has permissions) + does not reset the build (given roles configuration and the user does not have permissions) + Instrument + publishes a event + +Travis::Addons::Hipchat::Instruments::EventHandler + publishes a event + +Travis::Requests::Services::Receive::Instrument + publishes a event + +Travis::Logs::Services::Receive + creates a log part with the given number + filters out triple null chars + does not set the :final flag if the appended message does not contain the final log message part + notifies observers + doesn't reraise an error when notifications failed + creates a log if missing (should never happen, but does) + tracks a metric when notifications failed + sets the :final flag if the appended message contains the final log message part + filters out null chars + +Travis::Services::FindRepoKey + run + finds a key by the given repository id + finds a key by the given owner_name and name + updated_at + returns key's updated_at attribute + +Travis::Api::V0::Worker::Job::Test + for a push request + contains the expected build data (legacy) + contains the expected job data + contains the expected data + contains the expected repo data + includes the tag name + contains the no pull_request data + for a pull request + contains the expected build data (legacy) + contains the expected job data + contains the expected data + contains the expected repo data + contains the expected pull_request data + from the same repository + enables secure env variables + +Travis::Github::Services::SyncUser::Organizations + run + removes stale organization memberships + updates existing organizations + makes the user a member of the organization + updates the organization attributes + does not create a new organization + creates missing organizations + creates missing organizations + makes the user a member of the organization + with organization with repos over limit + does not create organization matching "exclude" list + +Broadcast + by_user + finds a global broadcast + does not find a broadcast for a different user + finds a broadcast for orgs where the given user is a member + finds a broadcast for a repo where the given user has any permissions + does not find a broadcast for a different repo + does not find broadcasts older than 2 weeks + does not find an expired broadcast + does not find a broadcast for a different org + finds a broadcast for the given user + by_repo + does not find a broadcast for a different repo + finds a broadcast for the given repo + finds a global broadcast + finds a broadcast for an org this repo belongs to + does not find a broadcast for a different org + finds a broadcast for a user this repo belongs to + does not find a broadcast for a different user + +Travis::Api::V1::Http::Build + build + matrix + with encrypted env vars + shows encrypted env vars in human readable way + +Travis::Github::Services::FetchConfig::Instrument + strips an access_token if present (2) + strips an access_token if present (1) + publishes a payload + strips a secret if present (2) + +Travis::Api::V1::Archive::Build + repository + matrix + data + +Travis + redis + should connect to localhost by default + with Travis.config + should use the Travis.config if set + +Repository + last_build returns the most recent build + #last_completed_build + returns last completed build + returns last completed build for a branch + class methods + with_builds + gets only projects with existing builds + timeline + sorts repositories with running builds to the top, most recent builds next, un-built repos last + does not include invalidated repos + find_by + should find a repository by it's name and owner_name + should find a repository by it's id + should find a repository by it's github_id + returns nil when a repository couldn't be found using params + active + does not include invalidated repositories + does not include inactive repositories + contains active repositories + search + performs searches with \ entered + performs searches with / entered + performs searches case-insensitive + does not find invalidated repos + by_member + returns all repositories a user has rights to + does not find invalidated repos + counts_by_owner_names + returns repository counts per owner_name for the given owner_names + source_url + default source endpoint + returns the public git source url for a public repository + returns the private git source url for a private repository + custom source endpoint + returns the private git source url for a public repository + returns the private git source url for a private repository + last_finished_builds_by_branches + properly orders branches by last build + retrieves last builds on all branches + #users_with_permission + returns users with the given permission linked to that repository + branches + returns branches for the given repository + is empty for empty repository + associations + owner + can be a user + can be an organization + #regenerate_key! + regenerates key + settings + allows to set nil for settings + is reset on reload + adds repository_id to collection records + allows to set settings as JSON string + allows to set settings as a Hash + updates settings in the DB + api_url + returns the api url for the repository + source_host + returns the source_host name from Travis.config + keys + should return the public key + should create a new key when the repository is created + +Travis::Addons::Campfire::Instruments::EventHandler + publishes a event + +User + educational_org + returns true if organization is flagged as educational_org + returns false if the organization has not been flagged as educational_org + +User + find_or_create_for_oauth + marks new users as such + updates changed attributes + organization_ids + contains the ids of organizations that the user is a member of + does not contain the ids of organizations that the user is not a member of + profile_image_hash + returns 32 zeros if no gravatar_id or email is set + returns a MD5 hash of the email if no gravatar_id and an email is set + returns gravatar_id if it's present + correct_scopes? + accepts additional scopes + complains about missing scopes + accepts correct scopes + inspect + when user has GitHub OAuth token + does not include the user's GitHub OAuth token + when user has no GitHub OAuth token + indicates nil GitHub OAuth token + service_hooks + includes all repositories if :all options is passed + does not contain repositories where the user does not have an admin role + contains repositories where the user has an admin role + permission? + given a condition it returns true if the user has a matching permission + given roles and a condition it returns false if the user does not have a matching permission for this role + given roles and a condition it returns true if the user has a matching permission for this role + given a condition it returns true if the user has a matching permission + #to_json + returns JSON representation of user + track_github_scopes + it resolves github scopes if they haven't been resolved already + it resolves github scopes if the token did change + does not resolve github scopes if the token didn't change + returns an empty list if the token is missing + repository_ids + contains the ids of repositories the user is permitted to see + does not contain the ids of repositories the user is not permitted to see + authenticate_by + given a wrong login + does not authenticate the user + given a wrong token + does not authenticate the user + given a valid token and login + authenticates the user + with encrypted token + authenticates the user + +Travis::Notification::Publisher::Log + defaults to INFO + prints out the :msg value + writes to Travis.logger + uses ERROR if an exception occured + does not include extra information if no exception occured + does include extra information if an exception occured + +Travis::Task + run_local? + can be set to true on a child class without affecting other classes + can be set to true manually + is false by default + can be set to true through a feature flag + can be set to false through a feature flag + +Travis::Github::Services::SyncUser::Organizations::Instrument + publishes a event on :run + publishes a event on :fetch + +Travis::Services::RegenerateRepoKey + given the request is authorized + regenerates the key + given the request is not authorized + does not regenerate key + +Travis::Config + endpoints + allows to set keys on enpoints when it is nil + returns endpoints if it is set + returns an object even without endpoints entry + defaults + notifications defaults to [] + ampq.host defaults to "localhost" + queue.limit.by_owner defaults to {} + logs.shards defaults to 1 + database + queue.interval defaults to 3 + queues defaults to [] + notifications.email defaults to {} + queue.interval defaults to 3 + ampq.prefetch defaults to 1 + queue.limit.default defaults to 5 + +Travis::Services::FindHooks + does not find repositories where the current user does not have admin access + finds repositories where the current user has admin access + finds repositories where the current user has access with :all option + finds repositories by a given owner_name where the current user has admin access + does not find repositories by a given owner_name where the current user does not have admin access + +Travis::Services::FindUserAccounts + includes accounts where the user has admin access + includes the user + includes all repositories with :all param + does not include accounts where the user does not have admin access + includes repository counts + +Travis::Addons::Webhook::Instruments::EventHandler + publishes a event + +Job::Test + is cancelable if the job has not finished yet + is not cancelable if the job has already been finished + cancelling + should set canceled_at and finished_at on job + should put a build into canceled state if all the jobs in matrix are in finished state + should not propagate cancel state to source + events + finish + propagates the event to the source + notifies observers + sets the state to the given result state + start + propagates the event to the source + notifies observers + sets the state to :started + receive + resets the log content + sets the worker from the payload + sets the state to :received + notifies observers + propagates the event to the source + sets log's removed_at and removed_by to nil + reset + resets log attributes + resets job attributes + sets the state to :created + recreates log if it's removed + clears log parts (PENDING: Temporarily disabled with xit) + destroys annotations + triggers a :created event + +Travis::Services::UpdateJob + event: start + sets the build state to started + sets the job started_at + sets the job state to started + sets the build started_at + sets the build state to started + sets the repository last_build_state to started + sets the repository last_build_started_at + when job is canceled + does not update state + event: receive + sets the job worker name + sets the job received_at + sets the job state to received + sets the build state to received + sets the build received_at + sets the build state to received + when job is canceled + does not update state + #cancel_job_in_worker + sends cancel event to the worker + event: finish + sets the build state to passed + sets the job finished_at + sets the job state to passed + sets the build finished_at + sets the repository last_build_state to passed + sets the repository last_build_finished_at + when job is canceled + does not update state + compat + swaps :result for :state (passed) if present + swaps :result for :state (failed) if present + event: reset + resets the job worker name + resets the job started_at + sets the job state to created + resets the build state to started + resets the build started_at + resets the build state to started + resets the repository last_build_state to started + resets the repository last_build_started_at + +Travis::Github::Services::FindOrCreateOrg + updates repositories owner_name and nullifies other users or orgs' login if login is changed + gets login from data if login is not available in find + finds an existing organization + creates an organization from github + creates a organization from github and nullifies login if other organization has the same login + raises a GithubApi error if the organization could not be retrieved (PENDING: Temporarily disabled with xit) + +Travis::Logs::Services::Aggregate + aggregates logs where no parts have been added for [force interval] seconds + does not aggregates logs where no parts have been added for [regular interval] seconds and the final flag is not set + aggregates logs where no parts have been added for [regular interval] seconds and the final flag is set + aggregates parts to log.content + aggregate + sets aggregated_at + appends to an existing log + aggregates the content parts + deletes the content parts from the parts table + triggers a log:aggregated event + rollback + rolls back if log aggregation fails + behaves like rolled_back_log_aggregation + does not delete parts + does not set the content + does not set aggregated_at + handles the exception + rolls back if parts deletion fails + behaves like rolled_back_log_aggregation + does not delete parts + does not set the content + does not set aggregated_at + handles the exception + +Travis::Services::FindBuild + with newer associated record + returns updated_at of newest result + updated_at + returns builds updated_at attribute + run + includes config by default + does not raise if the build could not be found + finds a build by the given id + excludes config when requested + without updated_at in one of the resources + returns updated_at of newest result + +Request + config_url + returns the api url to the .travis.yml file on github + returns the api url to the .travis.yml file on github with a gh endpoint given + pull_request? + returns true if the event_type is pull_request + returns false if the event_type is not pull_request + pull_request_title + returns the title of the pull request from payload + returns nil for non pull request + branch_name + returns a branch name if available + returns nil if a branch name is not available + #head_repo + returns a branch name if available + returns nil if this is not a pull request + same_repo_pull_request? + returns false if repo data is not available + returns false if the base and head repos do not match + returns true if the base and head repos match + #head_branch + returns a branch name if available + returns nil if this is not a pull request + tag_name + returns a tag name if available + returns nil if a tag name is not available + api_request? + returns true if the event_type is api + returns false if the event_type is not api + +Build::Metrics + measures on "travis.builds.start.delay" + measures the time it takes from creating the request until starting the build + +Build::ResultMessage + email + returns :pending if the build is pending + returns :failed if the build has failed for the first time + returns :passed if the build has passed again + returns :fixed if the build was fixed + returns :failing if the build has failed again + returns :canceled if the build has canceled + returns :errored if the build has errored + returns :broken if the build was broken + returns :passed if the build has passed for the first time + full + returns :pending if the build is pending + returns :failed if the build has failed for the first time + returns :passed if the build has passed again + returns :fixed if the build was fixed + returns :failing if the build has failed again + returns :canceled if the build has canceled + returns :errored if the build has errored + returns :broken if the build was broken + returns :passed if the build has passed for the first time + short + returns :pending if the build is pending + returns :failed if the build has failed for the first time + returns :passed if the build has passed again + returns :fixed if the build was fixed + returns :failing if the build has failed again + returns :canceled if the build has canceled + returns :errored if the build has errored + returns :broken if the build was broken + returns :passed if the build has passed for the first time + +Travis::Services::CancelBuild + run + should not be able to cancel job if user does not have any permissions + should not cancel the job if it's not cancelable + should cancel the build if it's cancelable + +Travis::Addons::GithubStatus::Instruments::EventHandler + publishes a event for push events + publishes a event for pull request events + +Travis::Services::NextBuildNumber + with a new repository + returns 1 + initializes the next_build_number + with an existing repository + returns the next_build_number + increments the next_build_number + +Travis::Api::V0::Pusher::Job::Started + data + should return commit data + +Travis::Github::Services::SyncUser::UserInfo + calls update_attributes! and emails.find_or_create_by_email! + raises an error if github_id does not match + login + should == "rkh" + gravatar_id + should == "5c2b452f6eea4a6d84c105ebd971d2a4" + name + should == "Konstantin Haase" + email + should == "konstantin.haase@gmail.com" + verified_emails + should == ["konstantin.mailinglists@gmail.com", "konstantin.mailinglists@googlemail.com"] + no public email + no primary email + email + should == "konstantin.mailinglists@gmail.com" + no verified email + email + should == "konstantin.haase@gmail.com" + no email on file + email + should == "konstantin@Konstantins-MacBook-Air.local" + missing github scope + email + should == "konstantin.haase@gmail.com" + email + should == "konstantin.mailinglists@googlemail.com" + login changed + login + should == "RKH" + name changed + name + should == "RKH" + +Log + #clear! + resets aggregated_at + resets content + clears log parts + resets archived_at + resets archive_verified + content + if aggregated returns the aggregated parts + while not aggregated it appends to an existing log + while not aggregated it returns the aggregated parts + class methods + is archived only when archive is verified + #to_json + returns JSON representation of the record + +Travis::Addons::Slack::Instruments::EventHandler + publishes a event + +Travis::Services::FindRequests + run + raises an error if repository params are missing + finds requests older than the given id + finds recent requests when older_than is not given + scopes to the given repository_id + raises when the repository could not be found + limits requests if limit is passed + limits requests to Travis.config.services.find_requests.max_limit if limit is higher + limits requests to Travis.config.services.find_requests.default_limit if limit is not given + +Travis::Services::UpdateUser + updates the locale if valid + does not update the locale if invalid + +Travis::TravisYmlStats + owner_type and owner_id are set + .travis.yml language key + when `language: [ 'ruby', 'python' ]' + sets the language key to 'invalid' + when not specified + sets the language key to nil + when `language: ruby' + sets the language key to 'ruby' + when `language: objective c' + retains the space + sudo being used in a command + sudo is used in a command + sets the uses_sudo key to true + sudo is not used in any commands + sets the uses_sudo key to false + a push + sets the event_type to 'push' + when payload contains a single deployment provider + reports deployment count correctly + when payload contains multiple deployment providers + reports deployment count correctly + when payload contains notifications + reports deployment count correctly + when payload contains multiple deployment providers of the same type + reports deployment count correctly + a request without 'group' key + sets the group_name key to 'default' + .travis.yml ruby key + when `ruby: [ '2.1.2', 2.0 ]' + sets the language_version.ruby key to ['2.0', '2.1.2'] + when `ruby: [ '2.1.2', '2.0.0' ]' + sets the language_version.ruby key to ['2.0.0', '2.1.2'] + when `ruby: 2.1.2' + sets the language_version.ruby key to ['2.1.2'] + repository language reported by GitHub + no language reported + sets the github_language key to nil + F# + sets the github_language key to 'F#' + Ruby + sets the github_language key to 'Ruby' + a request with 'group' key + sets the group_name key to 'dev' + apt-get being used in a command + apt-get is used in a command + sets the uses_apt_get key to true + apt-get is not used in any commands + sets the uses_apt_get key to false + a pull_request + sets the event_type to 'pull_request' + a request without 'dist' key + sets the dist_name key to 'default' + a request with 'dist' key + sets the dist_name key to 'trusty' + a build with two jobs + sets the matrix_size to 2 + +Travis::Addons::Pushover::EventHandler + users + returns an array of multiple user keys when given a comma separated string + returns an array of user keys when given an array + returns an array of user keys when given a string + returns an array of values if the build configuration specifies an array of user keys within a config hash + handler + does not trigger a task if the build is a pull request + triggers a task if the build is a push request + passes ssl key from repository to config + triggers a task if users and api_key are present + does not trigger a task if no users are present + does not trigger a task if no api_key is present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Permission + by_roles + returns an empty scope if no roles given + returns a single permission if one role given + returns matching permissions if two roles given as symbols + +Travis::Api::V1::Http::Branches + data + +Travis::Addons::Pushover::Instruments::EventHandler + publishes a event + +Travis::Requests::Services::Receive::PullRequest + request + returns all attributes required for a Request + repository + returns all attributes required for a Repository + accept + given action is "synchronize" + returns true if head has changed + returns false if base has not changed + given action is "reopened" + returns true + given action is "opened" + rejects when the feature is disabled + rejects it if there is no merge commit + returns true + given action is "comment" + returns false + commit + returns all attributes required for a Commit + +Build::Config::Obfuscate + obfuscates env vars + leaves regular vars untouched + normalizes env vars which are hashes to strings + obfuscates env vars which are not in nested array + works with nil values + does not make an empty env key an array but leaves it empty + removes source key + +Travis::Services::FindBranch + returns an empty build scope when the repository could not be found + scopes to the given repository + finds the last builds of the given repository and branch + finds branches by a given id + +Travis::Chunkifier + with bigger chunk_size + should keep parts under chunk_size taking into account conversion to json and bytes + with UTF-8 chars + should keep parts under chunk_size taking into account conversion to json and bytes + parts + should == ["𤭢abc", "ą"] + with newlines + parts + should == ["01\n234501\n2", "34501\n2345"] + +Travis::Services::UpdateHook::Instrument + publishes a event + +Request::States + has the state :created when just created + finish + with a config parse error + builds the build + prints an error to the log + with an unapproved request + does not build the build + sets the state to finished + with an approved request + builds the build + sets the state to finished + with a config server error + builds the build + prints an error to the log + configure + stores the config on the request + merges existing configuration (e.g. from an api request) + fetches the .travis.yml config from Github + sets the state to configured + start + with an accepted request + sets the state to started + finishes the request + configures the request + sets the result to :accepted + but rejected config + does config, but resets it to nil + but rejected branch + does config, but resets it to nil + with a rejected request + sets the state to started + finishes the request + does not configure the request + sets the result to :rejected + start! + finally sets the state to finished + adding a build + shouldn't notify the build when the flag is disabled + should notify the build + should create a build + +Url + #short_url + returns the full short url + #code + sets the code automatically + .shorten + creates a new Url object if the url has not been shortened + retrieves a Url which has already been shortened + +SslKey + is a SslKey + encrypt + encrypts something + is decryptable + generate_keys! + generates a new public key even if one already exists + generates a new private key even if one already exists + generate_keys + does not generate a new public key if one already exists + generates the private key + generates the public key + does not generate a new private key if one already exists + decrypt + decrypts something + encoding + generates the correct key format to export to github + encodes the private key properly for the build + +Travis::Api::V1::Http::User + data + +Travis::Services::FindBuilds + run + finds builds older than the given number + finds recent builds when no repo given + finds recent builds when empty params given + finds builds with a given number, scoped by repository + does not find by number if repository_id is missing + scopes to the given repository_id + returns an empty build scope when the repository could not be found + finds builds by a given list of ids + finds recent builds when event_type + given as api + given as pull_request + given as push + given as [push, api] + +Travis::Services::FindDailyTestsStats + should return the jobs per day + +Travis::Addons::StatesCache::EventHandler + handler + build:finished updates the cache + +Travis::Api + data + returns the data from the builder instance + instantiates a builder and returns the data + given an object that responds to :base_class (aka ActiveRecord::Base) + given an object that responds to :klass (aka Arel::Relation) + #builder + does not raise an error if constant name is wrong + returns nil if only part of the constant is matched + finds given constant + +Request::Approval + config_accepted? + approves the build when .travis.yml is present + does not approve the build if .travis.yml is missing and builds without it are not allowed + approves the build when .travis.yml is missing, but builds with .travis.yml are allowed + approved? + should be specified (PENDING: Temporarily disabled with xit) + message + returns "pull requests disabled" if pull requests are disabled + returns "missing commit" if the commit is missing + returns "private repository" if the repository is private + returns "excluded repository" if the repository is an excluded repository and exclude rule is a string + returns "github pages branch" if the branch is a github pages branch + returns "branch not included or excluded" if the branch was not approved + returns "missing config" if the config is not present + returns "excluded repository" if the repository is an excluded repository + returns "pushes disabled" if pushes are disabled + included_repository? + returns false if the repository is not included + returns true if the repository is an included repository with rule as a string + returns true if the repository is an included repository + returns false if the repository is not included with rule as a string + excluded_repository? + returns true if the repository is an excluded repository with rule as a string + returns false if the repository is not excluded + returns true if the repository is an excluded repository + returns false if the repository is not excluded with rule as a string + enabled_in_settings? + returns true if pushes are enabled and a request is a push + returns true if pull requests are enabled and a request is a pull request + returns true if a request is an api request + returns false if pull requests are disabled and a request is a pull request + returns false if pushes are disabled and a request is a push + skipped? + returns true when the commit message contains [ci skip] + accepted? + does not accept a request that belongs to a private repository + does not accept a request that does not have a commit + accepts a request that has a commit, belongs to a public repository, is not skipped and does not belong to the github_pages branch and it is not a rails fork + does not accept a request that belongs to an excluded repository + does not accept a request that is skipped (using the commit message) + accepts a request that belongs to the github_pages branch and is explicitly set to build that branch (String) + accepts a request that belongs to the github_pages branch and is explicitly set to build that branch (Array) + does not accept a request when it is disabled in settings + branch_accepted? + doesn't fail when the branch configuration is an array + accepts a request that belongs to the gh-pages branch if it's specified in branches:only + does not accept a request that belongs to the github_pages branch + github_pages? + returns true when a PR is for gh_pages + returns true for a branch named gh_pages + returns true for a branch named gh-pages + returns false for a branch named master + +User::Oauth + find_or_create_by + updates changed attributes + does not mark existing users as recently_signed_up + marks users as recently_signed_up + attributes_from + returns required data + +Travis::Services::FindDailyReposStats + should include the date + should include the number per day + +Travis::Addons::Archive::EventHandler + instrument + publishes an event + handler + runs the archive task + subscription + build:started does not notify + log:aggregated notifies + +Travis::Addons::Irc::EventHandler + channels + returns an array of urls when given a string on the channels key + returns an array of urls when given an array + returns an array of urls when given a string + returns an array of urls when given an array on the channels key + handler + triggers a task if channels are present + does not trigger a task if the build is a pull request + triggers a task if the build is a push request + does not trigger a task if no channels are present + triggers a task if specified by the config + does not trigger task if specified by the config + subscription + build:started does not notify + build:finish notifies + +Travis::Services::UpdateAnnotation + returns nil when given invalid provider credentials + when annotation is enabled + creates the annotation if it doesn't exist already + updates an existing annotation if one exists + when annotation is disabled + returns nil + +Travis::Github::Services::SyncUser::Repositories + removes repositories from the user's permissions which are not listed in the data from github + fetches the user's orgs' repositories + fetches the user's repositories + given type is set to private + synchronizes each of the private repositories + does not synchronize public repositories + given type is set to public + synchronizes each of the public repositories + does not synchronize private repositories + given type is set to "public,private" + synchronizes all the repositories + with private forks of organization repositories + should sync the organization's repository when it has admin rights + should sync the organization's repository when it's not a duplicate + should not sync the organization's duplicate + +Job::Queue + returns builds.linux as the default queue + returns builds.common as the default queue if configured to in Travis.config + when "sudo" value matches the given configuration hash + returns the matching queue + returns the matching queue when language is also given + Queue.for + returns the queue when language matches the given configuration hash + returns the queue when slug matches the given configuration hash + returns the default build queue when neither slug or language match the given configuration hash + returns the queue when the owner matches the given configuration hash + returns the queue when sudo requirements matches the given configuration hash + returns the docker queue by default for educational repositories + returns the queue matching configuration for educational repository + handles language being passed as an array gracefully + when "docker_default_queue" feature is active + returns "builds.docker" when sudo: nil and the repo created_at is nil + returns "builds.linux" when sudo: nil and the repo created_at is after cutoff and sudo is detected + returns "builds.docker" when sudo: false and the repo created_at is after cutoff + returns "builds.linux" when sudo: required and the repo created_at is after cutoff + returns "builds.linux" when sudo: required and the repo created_at is before cutoff + returns "builds.linux" when sudo: true and the repo created_at is before cutoff + returns "builds.linux" when sudo: nil and the repo created_at is before cutoff + returns "builds.docker" when sudo: nil and the repo created_at is after cutoff + returns "builds.linux" when sudo: required and the repo created_at is nil + returns "builds.docker" when sudo: false and the repo created_at is nil + returns "builds.docker" when sudo: false and the repo created_at is before cutoff + returns "builds.linux" when sudo: true and the repo created_at is nil + returns "builds.linux" when sudo: true and the repo created_at is after cutoff + when "services" value matches the given configuration hash + returns the matching queue + returns the matching queue when language is also given + when "os" value matches the given configuration hash + returns the matching queue + returns the matching queue when language is also given + Queue.sudo_detected? + returns true for {:before_install=>["# no sudo", "ping -c 1 google.com"]} + returns false for {:bogus=>"sudo echo"} + returns true for {:script=>"sudo echo"} + returns true for {:before_install=>["docker run busybox echo whatever"]} + returns true for {:before_script=>["echo ; echo ; echo ; sudo echo ; echo"]} + returns false for {:install=>"# no sudo needed here"} + returns false for {:install=>true} + Queue.queues + returns an array of Queues for the config hash + matches? + returns false when services do not match + returns true when the given owner matches + returns false when sudo is not specified + returns true when dist matches + returns false when dist does not match + returns true when osx_image matches + returns true when sudo is false + returns true when services match + returns true for percentage: 100 + returns false when neither of slug or language match + returns false when sudo is true + returns true when the given language matches + returns true when os is missing +unknown matchers used for queue builds.invalid: foobar_donotmatch + returns false if no valid matchers are specified + returns false for percentage: 0 + returns true when the given slug matches + returns false when osx_image does not match + +Travis::Github::Education + returns empty hash on error response + returns empty hash on json parse error + fetches student data + student? + is true when student field is true in the response + +Travis::Services::FindAnnotations + run + finds annotations by a given list of ids + finds annotations by job_id + +Travis::Requests::Services::Receive::Push + repository + returns all attributes required for a Repository + commit + returns the last skipped commit if all commits are skipped + returns the last commit that isn't skipped + returns all attributes required for a Commit + branch processing + returns travis when ref is ref/heads/travis + returns master when ref is ref/heads/master + returns head_commit if commits info is not present + returns features/travis-ci when ref is ref/heads/features/travis-ci + +Pending: + Travis::Services::FindJobs updated_at returns the latest updated_at time + # rack cache is disabled, so not much need for caching now + # ./spec/travis/services/find_jobs_spec.rb:58 + Travis::Services::FindAdmin find given an error occurs while retrieving the repository info raises an exception + # Temporarily disabled with xit + # ./spec/travis/services/find_admin_spec.rb:46 + Travis::Services::FindAdmin find given a user does not have access to a repository raises an exception + # Temporarily disabled with xit + # ./spec/travis/services/find_admin_spec.rb:29 + Travis::Services::FindAdmin find given a user does not have access to a repository revokes admin permissions for that user on our side + # Temporarily disabled with xit + # ./spec/travis/services/find_admin_spec.rb:33 + Travis::Github::Services::FindOrCreateRepo needs to be specified + # Temporarily disabled with xit + # ./spec/travis/github/services/find_or_create_repo_spec.rb:11 + Travis::Notification::Publisher::Redis encodes the payload in json + # feature disabled at the moment + # ./spec/travis/notification/publisher/redis_spec.rb:31 + Travis::Notification::Publisher::Redis adds to the list + # feature disabled at the moment + # ./spec/travis/notification/publisher/redis_spec.rb:17 + Travis::Notification::Publisher::Redis queues new messages on the right + # feature disabled at the moment + # ./spec/travis/notification/publisher/redis_spec.rb:41 + Travis::Notification::Publisher::Redis sends out events over pubsub + # feature disabled at the moment + # ./spec/travis/notification/publisher/redis_spec.rb:49 + Travis::StatesCache integration updates the state if the id of the build is the same + # Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4. + # ./spec/travis/states_cache_spec.rb:78 + Travis::StatesCache integration updates the state only if the info is newer + # Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4. + # ./spec/travis/states_cache_spec.rb:57 + Travis::StatesCache integration saves the state for given branch and globally + # Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4. + # ./spec/travis/states_cache_spec.rb:47 + Travis::StatesCache integration handles connection errors gracefully + # Dalli can't run properly, skipping. Cause: localhost:11211 is down: . If you are sure it is running, ensure memcached version is > 1.4. + # ./spec/travis/states_cache_spec.rb:90 + Travis::Github::Services::FindOrCreateUser raises a GithubApi error if the user could not be retrieved + # Temporarily disabled with xit + # ./spec/travis/github/services/find_or_create_user_spec.rb:82 + Job::Test events reset clears log parts + # Temporarily disabled with xit + # ./spec/travis/model/job/test_spec.rb:174 + Travis::Github::Services::FindOrCreateOrg raises a GithubApi error if the organization could not be retrieved + # Temporarily disabled with xit + # ./spec/travis/github/services/find_or_create_org_spec.rb:83 + Request::Approval approved? should be specified + # Temporarily disabled with xit + # ./spec/travis/model/request/approval_spec.rb:96 + +Finished in 171.61 seconds +1458 examples, 0 failures, 17 pending + +Randomized with seed 26584 + +travis_time:end:17376fe8:start=1447267265303834656,finish=1447267457295779784,duration=191991945128 + +The command "./build.sh" exited with 0. +travis_fold:start:cache.2 +store build cache +travis_time:start:194ad2e8 +change detected: +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/gh-27e30fd01f6d/.git/index +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/gh-27e30fd01f6d/.git/index +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/travis-sidekiqs-21a2fee158e2/.git/index +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/travis-sidekiqs-21a2fee158e2/.git/index +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/travis-support-2cd02d2a06fd/.git/index +/home/travis/build/travis-ci/travis-core/vendor/bundle/jruby/1.9/bundler/gems/travis-support-2cd02d2a06fd/.git/index + +changes detected, packing new archive +uploading archive +travis_time:end:194ad2e8:start=1447267457300334477,finish=1447267463659669554,duration=6359335077 +travis_fold:end:cache.2 + +Artifacts support disabled for pull requests + + +Done. Your build exited with 0. From 5917d6429f02da41d4401870a1505089e64f43e0 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Thu, 21 Jan 2016 21:29:19 +0700 Subject: [PATCH 19/44] Create 84.patch Merging via command line If you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line. HTTPS Git Patch https://github.com/GistIcon/md.md/pull/84.patch Step 1: From your project repository, check out a new branch and test the changes.#84 Step 2: Merge the changes and update on GitHub.#84 --- pull/84.patch | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 pull/84.patch diff --git a/pull/84.patch b/pull/84.patch new file mode 100644 index 0000000..9990ea1 --- /dev/null +++ b/pull/84.patch @@ -0,0 +1,8 @@ +$ git://github.com/xccvv/md.md.git + +$ git checkout -b xccvv-master master +$ git pull https://github.com/xccvv/md.md.git master + +git checkout master +git merge --no-ff xccvv-master +git push origin master From dcaa4e77a8336ff7d198ddb6667b34e494854369 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 24 Jan 2016 06:40:56 +0700 Subject: [PATCH 20/44] BlockParser.html class RDoc::RD::BlockParser RD format parser for headings, paragraphs, lists, verbatim sections that exist as blocks. Attributes footnotes[R] Footnotes for this document include_path[RW] Path to find included files in labels[R] Labels for items in this document Public Class Methods --- RDoc/RD/BlockParser.html | 415 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 415 insertions(+) create mode 100644 RDoc/RD/BlockParser.html diff --git a/RDoc/RD/BlockParser.html b/RDoc/RD/BlockParser.html new file mode 100644 index 0000000..a9ce180 --- /dev/null +++ b/RDoc/RD/BlockParser.html @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//** new() +//** Creates a new RDoc::RD::BlockParser. Use parse to parse an rd-format document. +# File lib/rdoc/rd/block_parser.rb, line 52 +def initialize + @inline_parser = RDoc::RD::InlineParser.new self + @include_path = [] + + # for testing + @footnotes = [] + @labels = {} +end + +//** parse(src) +//** Parses src and returns an RDoc::Markup::Document. +# File lib/rdoc/rd/block_parser.rb, line 64 +def parse src + @src = src + @src.push false + + @footnotes = [] + @labels = {} + + # @i: index(line no.) of src + @i = 0 + + # stack for current indentation + @indent_stack = [] + + # how indented. + @current_indent = @indent_stack.join("") + + # RDoc::RD::BlockParser for tmp src + @subparser = nil + + # which part is in now + @in_part = nil + @part_content = [] + + @in_verbatim = false + + @yydebug = true + + document = do_parse + + unless @footnotes.empty? then + blankline = document.parts.pop + + document.parts << RDoc::Markup::Rule.new(1) + document.parts.concat @footnotes + + document.parts.push blankline + end + + document +end + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//** on_error(et, ev, _values) +//** Raises a ParseError when invalid formatting is found +# File lib/rdoc/rd/block_parser.rb, line 318 +def on_error(et, ev, _values) + prv, cur, nxt = format_line_num(@i, @i+1, @i+2) + + raise ParseError, <|#{@src[@i].chomp} + #{nxt} |#{@src[@i+1].chomp} + +Msg +end + +//** line_index() +//** Current line number +# File lib/rdoc/rd/block_parser.rb, line 334 +def line_index + @i +end + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//** content(values) +//** Retrieves the content of values as a single String +# File lib/rdoc/rd/block_parser.rb, line 379 +def content values + values.map { |value| value.content }.join +end + +//** paragraph(value) +//** Creates a paragraph for value +# File lib/rdoc/rd/block_parser.rb, line 386 +def paragraph value + content = cut_off(value).join(' ').rstrip + contents = @inline_parser.parse content + + RDoc::Markup::Paragraph.new(*contents) +end + +//** add_footnote(content) +//** Adds footnote content to the document +# File lib/rdoc/rd/block_parser.rb, line 396 +def add_footnote content + index = @footnotes.length / 2 + 1 + + footmark_link = "{^#{index}}[rdoc-label:footmark-#{index}:foottext-#{index}]" + + @footnotes << RDoc::Markup::Paragraph.new(footmark_link, ' ', *content) + @footnotes << RDoc::Markup::BlankLine.new + + index +end + +//** add_label(label) +//** Adds label label to the document +# File lib/rdoc/rd/block_parser.rb, line 410 +def add_label label + @labels[label] = true + + label +end From 9508466a83ef93124364e29230f8ea1f96f4f86b Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sun, 24 Jan 2016 07:49:44 +0700 Subject: [PATCH 21/44] .diff Public Class Methods to_html(token_stream) Converts token_stream to HTML wrapping various tokens with elements. The following tokens types are wrapped in spans with the given class names: TkCONSTANT 'ruby-constant' TkKW 'ruby-keyword' TkIVAR 'ruby-ivar' TkOp 'ruby-operator' TkId 'ruby-identifier' TkNode 'ruby-node' TkCOMMENT 'ruby-comment' TkREGEXP 'ruby-regexp' TkSTRING 'ruby-string' TkVal 'ruby-value' Other token types are not wrapped in spans. --- RDoc/RD/.diff | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 RDoc/RD/.diff diff --git a/RDoc/RD/.diff b/RDoc/RD/.diff new file mode 100644 index 0000000..2f77ad2 --- /dev/null +++ b/RDoc/RD/.diff @@ -0,0 +1,28 @@ + +# files#diff-04c6e90faac2675aa89e2176d2eec7d8 +def self.to_html token_stream + token_stream.map do |t| + next unless t + + style = case t + when RDoc::RubyToken::TkCONSTANT then 'ruby-constant' + when RDoc::RubyToken::TkKW then 'ruby-keyword' + when RDoc::RubyToken::TkIVAR then 'ruby-ivar' + when RDoc::RubyToken::TkOp then 'ruby-operator' + when RDoc::RubyToken::TkId then 'ruby-identifier' + when RDoc::RubyToken::TkNode then 'ruby-node' + when RDoc::RubyToken::TkCOMMENT then 'ruby-comment' + when RDoc::RubyToken::TkREGEXP then 'ruby-regexp' + when RDoc::RubyToken::TkSTRING then 'ruby-string' + when RDoc::RubyToken::TkVal then 'ruby-value' + end + + text = CGI.escapeHTML t.text + + if style then + "#{text}" + else + text + end + end.join +end From 155237687b7e47c5862f4c65d311138c0ef2e41b Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 30 Jan 2016 07:34:21 +0700 Subject: [PATCH 22/44] EULA.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SOFTWARE LICENSE AGREEMENT AS USED IN THIS AGREEMENT, “COMPANY” MEANS, AS APPLICABLE, SYMANTEC, GEOTRUST, THAWTE OR RAPIDSSL. SYMANTEC MEANS AS FOLLOWS: (A) SYMANTEC CORPORATION, IF YOU ARE LOCATED IN THE AMERICAS, OR THAILAND; (B) SYMANTEC LTD., IF YOU ARE LOCATED IN EUROPE, MIDDLE EAST, OR AFRICA (C) SYMANTEC ASIA PACIFIC PTE LTD, IF YOU ARE LOCATED IN ASIA (EXCLUDING THAILAND AND JAPAN) AND (D) VERISIGN JAPAN KK IF YOU ARE LOCATED IN JAPAN. SYMANTEC MAY MEAN VERISIGN AUSTRALIA PTY LTD. IF YOU ARE LOCATED IN AUSTRALIA. “GEOTRUST” MEANS THE SPECIFIC GEOTRUST ENTITY SPECIFIED ON THE HOMEPAGE OF THE WEBSITE ON WHICH YOU APPLIED FOR YOUR CERTIFICATE. “THAWTE” MEANS THAWTE, INC. UNLESS YOU (ON BEHALF OF YOUR ORGANIZATION) ARE LOCATED IN THE REPUBLIC OF SOUTH AFRICA, THE REPULIC OF NAMIBIA, THE KINGDOM OF LESOTHO, OR THE KINGDOM OF SWAZILAND, IN WHICH CASE “THAWTE” SHALL MEAN SYMANTEC, LTD. PLEASE NOTE THAT COMPANY RESERVES THE RIGHT TO CHANGE THE COMPANY ENTITY PARTICIPATING IN THIS AGREEMENT BY NOTICE TO YOU. COMPANY IS WILLING TO LICENSE THE LICENSED SOFTWARE TO YOU AS THE INDIVIDUAL, THE COMPANY, OR THE LEGAL ENTITY THAT WILL BE UTILIZING THE LICENSED SOFTWARE (REFERENCED BELOW AS “YOU” OR “YOUR”) ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS OF THIS LICENSE AGREEMENT (“LICENSE AGREEMENT”). READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE USING THE LICENSED SOFTWARE. THIS IS A LEGAL AND ENFORCEABLE CONTRACT BETWEEN YOU AND COMPANY. BY CLICKING THE “I AGREE” OR “YES” BUTTON, OR OTHERWISE INDICATING ASSENT ELECTRONICALLY, OR LOADING OR OTHERWISE USING THE LICENSED SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, CLICK THE “I DO NOT AGREE” OR “NO” BUTTON OR OTHERWISE INDICATE REFUSAL AND MAKE NO FURTHER USE OF THE LICENSED SOFTWARE. in path /GistIcon/md.md/new/master/.csr --- .csr/EULA.txt | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .csr/EULA.txt diff --git a/.csr/EULA.txt b/.csr/EULA.txt new file mode 100644 index 0000000..85c5ec4 --- /dev/null +++ b/.csr/EULA.txt @@ -0,0 +1,88 @@ +SOFTWARE LICENSE AGREEMENT + +AS USED IN THIS AGREEMENT, “COMPANY” MEANS, AS APPLICABLE, SYMANTEC, GEOTRUST, THAWTE OR RAPIDSSL. SYMANTEC MEANS AS FOLLOWS: (A) SYMANTEC CORPORATION, IF YOU ARE LOCATED IN THE AMERICAS, OR THAILAND; (B) SYMANTEC LTD., IF YOU ARE LOCATED IN EUROPE, MIDDLE EAST, OR AFRICA (C) SYMANTEC ASIA PACIFIC PTE LTD, IF YOU ARE LOCATED IN ASIA (EXCLUDING THAILAND AND JAPAN) AND (D) VERISIGN JAPAN KK IF YOU ARE LOCATED IN JAPAN. SYMANTEC MAY MEAN VERISIGN AUSTRALIA PTY LTD. IF YOU ARE LOCATED IN AUSTRALIA. “GEOTRUST” MEANS THE SPECIFIC GEOTRUST ENTITY SPECIFIED ON THE HOMEPAGE OF THE WEBSITE ON WHICH YOU APPLIED FOR YOUR CERTIFICATE. “THAWTE” MEANS THAWTE, INC. UNLESS YOU (ON BEHALF OF YOUR ORGANIZATION) ARE LOCATED IN THE REPUBLIC OF SOUTH AFRICA, THE REPULIC OF NAMIBIA, THE KINGDOM OF LESOTHO, OR THE KINGDOM OF SWAZILAND, IN WHICH CASE “THAWTE” SHALL MEAN SYMANTEC, LTD. PLEASE NOTE THAT COMPANY RESERVES THE RIGHT TO CHANGE THE COMPANY ENTITY PARTICIPATING IN THIS AGREEMENT BY NOTICE TO YOU. +COMPANY IS WILLING TO LICENSE THE LICENSED SOFTWARE TO YOU AS THE INDIVIDUAL, THE COMPANY, OR THE LEGAL ENTITY THAT WILL BE UTILIZING THE LICENSED SOFTWARE (REFERENCED BELOW AS “YOU” OR “YOUR”) ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS OF THIS LICENSE AGREEMENT (“LICENSE AGREEMENT”). READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE USING THE LICENSED SOFTWARE. THIS IS A LEGAL AND ENFORCEABLE CONTRACT BETWEEN YOU AND COMPANY. BY CLICKING THE “I AGREE” OR “YES” BUTTON, OR OTHERWISE INDICATING ASSENT ELECTRONICALLY, OR LOADING OR OTHERWISE USING THE LICENSED SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, CLICK THE “I DO NOT AGREE” OR “NO” BUTTON OR OTHERWISE INDICATE REFUSAL AND MAKE NO FURTHER USE OF THE LICENSED SOFTWARE. +1. License Rights. Subject to Your compliance with the terms and conditions of +this License Agreement, Company grants to You a non-exclusive, non-transferable +license to use a reasonable number of copies of the Licensed Software solely +in support of Your use of other Company services which You have purchased. +“Licensed Software” means the software program, in object code form, +accompanying this License Agreement, including any associated program +documentation included in, or provided for use with, such software. 2. License +Restrictions. You may not, without Company’s prior written consent, conduct, +cause or permit the: (i) use, copying, modification, rental, lease, sublease, +sublicense, or transfer of the Licensed Software except as expressly provided +in this License Agreement; (ii) creation of any derivative works based on the +Licensed Software, except as expressly provided in this License Agreement; (iii) +reverse engineering, disassembly, or decompiling of the Licensed Software ( +except that You may decompile the Licensed Software for the purposes of +interoperability only to the extent permitted by and subject to strict +compliance under applicable law); (iv) use of the Licensed Software in +connection with service bureau, facility management, timeshare, service +provider or like activity whereby You operate or use the Licensed Software for +the benefit of a third party; or (v) use of the Licensed Software by any party +other than You, except as expressly provided in this License Agreement. 3. +Ownership/Title. The Licensed Software is the proprietary property of Company +or its licensors and is protected by copyright and patent laws. Company and +its licensors retain any and all rights, title and interest in and to the +Licensed Software, including in all copies, improvements, enhancements, +modifications and derivative works of the Licensed Software. Your rights to +use the Licensed Software shall be limited to those expressly granted in this +License Agreement. All rights not expressly granted to You are retained by +Company and/or its licensors. 4. Third Party Programs. This Licensed Software +may contain third party software programs (“Third Party Programs”) that are +available under open source or free software licenses. This License Agreement +does not alter any rights or obligations You may have under those open source +or free software licenses. Notwithstanding anything to the contrary contained +in such licenses, the disclaimer of warranties and the limitation of liability +provisions in this License Agreement shall apply to such Third Party Programs. +5. Warranty and Limitation of Liability. 5.1. Warranty Disclaimer. THE +LICENSED SOFTWARE IS PROVIDED “AS IS,” EXCLUSIVE OF ANY WARRANTY, INCLUDING, +WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, SATISFACTORY +QUALITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ANY OTHER +WARRANTY, WHETHER EXPRESSED OR IMPLIED. 5.2. Limitation of Liability. TO THE +MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW AND REGARDLESS OF WHETHER ANY REMEDY +SET FORTH HEREIN FAILS OF ITS ESSENTIAL PURPOSE, IN NO EVENT WILL COMPANY BE +LIABLE TO YOU FOR ANY DIRECT, SPECIAL, CONSEQUENTIAL, INDIRECT OR SIMILAR +DAMAGES, INCLUDING ANY LOST PROFITS OR LOST DATA, ARISING OUT OF THE USE OR +INABILITY TO USE THE LICENSED SOFTWARE, EVEN IF COMPANY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. SOME STATES AND COUNTRIES, INCLUDING MEMBER +COUNTRIES OF THE EUROPEAN ECONOMIC AREA, DO NOT ALLOW THE LIMITATION OR +EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE +LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. 6. No Support or Maintenance. +Company does not offer support or maintenance for the Licensed Software. 7. +Export Regulation. You acknowledge that the Licensed Software and related +technical data and services (collectively "Controlled Technology") are subject +to the import and export laws of the United States, specifically the U.S. +Export Administration Regulations (EAR), and the laws of any country where +Controlled Technology is imported or re-exported. You agree to comply with all +relevant laws and will not to export any Controlled Technology in contravention +to U.S. law nor to any prohibited country, entity, or person for which an +export license or other governmental approval is required. 8. Term and +Termination. This License Agreement will continue as long as You are in +compliance with its terms. In the event You breach this License Agreement, it +will automatically terminate. Upon termination, You must immediately stop +using and destroy all copies of the Licensed Software within Your possession or +control. The Ownership/Title, Warranty and Limitation of Liability and General +sections of this License Agreement will survive termination of the Agreement. 9. +General. You may not assign the rights granted hereunder or this License +Agreement, in whole or in part and whether by operation of contract, law or +otherwise, without Company’s prior express written consent. Company may audit +Your use of the Licensed Software. If You are located in North America or +Latin America, this License Agreement will be governed by the laws of the State +of California, United States of America. If You are located in China, this +License Agreement will be governed by the laws of the Peoples Republic of China. +Otherwise, this License Agreement will be governed by the laws of England. +Such governing laws are exclusive of any provisions of the United Nations +Convention on Contracts for Sale of Goods, including any amendments thereto, +and without regard to principles of conflicts of law. If any provision of this +License Agreement is found partly or wholly illegal or unenforceable, such +provision shall be enforced to the maximum extent permissible, and remaining +provisions of this License Agreement shall remain in full force and effect. A +waiver of any breach or default under this License Agreement shall not +constitute a waiver of any other subsequent breach or default. This License +Agreement is the complete and exclusive agreement between You and Company +relating to the Licensed Software and supersedes any previous or +contemporaneous oral or written communications, proposals, and representations +with respect to its subject matter. + From 426d95e50c3643e52edc9b35be6918e1074d1f9a Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 1 Feb 2016 10:06:57 +0700 Subject: [PATCH 23/44] .md.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit findL: PK�rG[Content_Types].xml/[0].piece�� .rels/[5].last.piecePK-�rG��8 g�[Content_Types].xml/[14].piecePK-�rG#��[Content_Types].xml/[15].last.piecePK77)� --- md/.md.js | 909 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 909 insertions(+) create mode 100644 md/.md.js diff --git a/md/.md.js b/md/.md.js new file mode 100644 index 0000000..5cc074e --- /dev/null +++ b/md/.md.js @@ -0,0 +1,909 @@ +PK�rG[Content_Types].xml/[0].piece�� +�0 W��ox ���e�(����Ql!؞�<���S^�MMw��у#Nr�9���p��:��J�z�`3�DM���T�n�J��-c��3���&a#����PK��X�jqPK�rG[Content_Types].xml/[1].piece�1�0 �eE$�{eC�&��X��喻����H\�, ��o�T��iͣ�"���Ks�4�VW��i+�Ak����}���\�+��O?PKK�jblPK�rG_rels/.rels/[0].pieceM�A! E�B�w�.�1����9@��C!��?,]�������f��4qp�,_^I���y?\`��ިCc�jF"� �^���#gҩT�Aޥe�c�������3���PK�BpJlyPK�rG_rels/.rels/[1].piece�K +�0Ы�9@&�ӕnk/�� �O3S���s���L/'�UN��ō'���µ�P��UO:��=X� +����B�gD�c]��[�[�3�9�9a�� ���NPK4 u�PK�rG[Content_Types].xml/[2].piece-�A� F���pu�q�&��!��m��[�n_^��kAΞ�ޔ�.�>|ߣ���f���`�����}��F��(v6�t�܏�0-�n�C|@�N-�Z��PK��[Pm{PK�rG%FixedDocumentSequence.fdseq/[0].pieceU�M +�0F�fo&���H`�2�ڀ���H�o�p��]�K}8&'�B� +($� O �[�;A�ԝ[x��!��.+�jUC�0�<�M�I{GQ��Y�x\�{ch���[��#�_���-�6%���N��(l�PK��x:��PK�rG[Content_Types].xml/[3].piece��/K-*�LIUH,*�K�M�U�w�O.�M�+)�7�wˬHM� 襥�'+)8��y!�@Չ9�ɉ%��y�ey)z�ź��ى�zźi �)P���9J +�vPK�s�}hvPK�rG(Documents/1/FixedDocument.fdoc/[0].piece5�A�0E����N1���B��D=)4���� W�-��)񣾴H���%�}H���=\��m +�w�k��Ֆ$q0�<_�O;�1�=G,��ј�3��эt���������+܅m�0o +�PK ���PK�rG[Content_Types].xml/[4].piece�A� E�B�62�^ݴ�օ��hH&����q�_����r�Ԃ�~0Ф��(�OXp'Y���V�����"��-V�"��L(��Ih:�a��}{�ph�PK�jfmPK�rG[Content_Types].xml/[5].piece-˻�0 @�_��"b� �ЁY� yX����7 �+����$�Fr�]���ù�w�j +;�A +w��+L�3|ûS������A�"Zj�:��T���&M����?F��uӁwp\PK� 1�p�PK�rG.Documents/1/Pages/_rels/1.fpage.rels/[0].pieceM�A! E�B�w�.�1����9@��C!��?,]�������f��4qp�,_^I���y?\`��ިCc�jF"� �^���#gҩT�Aޥe�c�������3���PK�BpJlyPK�rG.Documents/1/Pages/_rels/1.fpage.rels/[1].piece-��� �Wa���Ԗغ:_��o���Vo�ں~����u{\�'��Z +ҙc�=E0`tG0A��h!��nJVɾf�B v�+� +�J�U�u�27��Pr�[:pJƏǖ�)� @4+nS�6k��nI�q�}�����pf�S�PK(�Ѱ��PK�rG[Content_Types].xml/[6].piece�A� �B���i�� ,�/��k�O�6����͛9\7Hiq@n&���pl�D�z%s��qM2��_��c?���4�}�=O���T�Ъ�z��R�Lը��7֪��XS | ��L��o���y����P� +�PKk����PK�rG.Documents/1/Pages/_rels/1.fpage.rels/[2].piece-�� +�0�W����WFS�_@�1ͳ� ��At��|��s4���86�����Г>,�1��^c��~2��L�R�U'E��uqV"���4y�v}BK�+g���l�8l������Cb��h��& o K�� +<��q�s�/PKL���PK�rG[Content_Types].xml/[7].piece�� +�0%t���j +X!M�RE��J��< +����3s�n��@n:��^`��B�XSd +�C� D6���~'�=���NAyw�����T5ڔ��b����KU{�qF'�+�V[/�zm��5>� K���+��?PK�n���PK�rG[Content_Types].xml/[8].piece�A� F��F���ѸTݛ �U" S�M�������:���nTڅ��> b�������1N`3�Ѭ@�c����+�"������M��K�V�B�C/����w���@+{�PK�+��t�PK�rG0_rels/FixedDocumentSequence.fdseq.rels/[0].pieceM�A! E�B�w�.�1����9@��C!��?,]�������f��4qp�,_^I���y?\`��ިCc�jF"� �^���#gҩT�Aޥe�c�������3���PK�BpJlyPK�rG0_rels/FixedDocumentSequence.fdseq.rels/[1].piece�� +�0 �_)�z��� �w�]��u)M��}o�̼�Uٴ���[���BFx�����Vp�%��_�Ŭ�5n���Ký+B8b8au3����?PKn� +ksPK�rG[Content_Types].xml/[9].piece��/K-*�LIUH,*�K�M�U��M-ILI,I���O�ѫ��QRp��+I�+ �,*I,(��LN,����/�K��-�-(��+��K�3J2��SK��:��PK�~�u`fPK�rGMetadata/Job_PT.xml�W]o�0}�����^��RT�n�t��k��($��"�3�4e�~I�n���4�����c���<�A�'4j(zYSJ��#��Pƣ΁��4?~8��]��H$Fĝ�(IX��r��L�����)�/��e��;Qvi�&$�h��CM�����)�$�:�9!&�͔��m�$�R��O9t�w1\�Hą��Fy�Q�F���k2 +&�J�b�1"�b�1���{��*�K*�>�tͶ���]��j�f뵊Q�����70q� i�Ǖf�WNj�@֍�(E��P�<�#-����ȉ��� �X����"��h� ��+�qbpZ��>t0Id�6`���vU�M +N��X��@{�݆d�B+�`a�c���]�cp�V:/[+mG ���-��~���`�3��>d������\���1�K� �I��Y�]H�������{���_�|XK�X��C?g��;��q��N�f�r�o?�e��I��9�E�y��,�8�e�@��� �v�s��i +�G�!��U,d]�XtI��B���� +� +.W]���3#� +Ċ�xbZ$�C�ӑ���S���gH��j���|T-����������bDn����yۗ�2�E-N{���m�����w�e�F��n��U{��������f.�hр�m{��pkB�F\4��}d}�A��]�>fWѿ!��M��A� PK��Y�y PK�rG[Content_Types].xml/[10].piece5˱! ��W!�Fwu�8����6P/wo/g�����j����^1��™�'S�;*��8S�{��5'.��HQ$E���T�c�2�4rͨm+�����5��mz` +�PKJ�g�s�PK�rG3Documents/1/_rels/FixedDocument.fdoc.rels/[0].pieceM�A! E�B�w�.�1����9@��C!��?,]�������f��4qp�,_^I���y?\`��ިCc�jF"� �^���#gҩT�Aޥe�c�������3���PK�BpJlyPK�rG3Documents/1/_rels/FixedDocument.fdoc.rels/[1].piece� +�0�_ �� � ��:t(H��V���9�ڿ��6�J��֖$&P�z��fR���O�,zL�`��g�a��\[\8S�9�ZZ�%�. +OΝ�]Pj�TS���PK�?tzPK�rG[Content_Types].xml/[11].piece��/K-*�LIUH,*�K�M�U��M-ILI,I��pq�w�-(��ѫ��QRp��+I�+ �,�L,(��LN,����/�K��-�-(��+��K�3J2��SK��:��PK�L��gmPK�rGMetadata/MXDC_Empty_PT.xml��� +�0F_E�n�u�g��B��J��$����Zl�.�>>8N^M�ܹEat1� �V辀K�S��|�.;Y�]-��.�!���087f�"�j�(�A�9Œ�^��x��(Jh��qq��u�LgŽ��� Ŧ���c�����p~Q�����jS� +[��C�䏹�E��PK�C��TPK�rG.Documents/1/Pages/_rels/1.fpage.rels/[3].piece� +�0�_ ��P�A��:t(H��V���9�ڿ���+i*[[��@���V�I ���>=��1���� +��=��p{XT���™��)���Gm,wi�9wBwF�iSM�� +oPKe��syPK�rG_rels/.rels/[2].pieceM�M +�0@᫄�Ӹp!ƕ +B)�˘�I1$S���M��ۼ�8R@�sj~.�`u�Z�9�%R� +��8!# �H=�_�3���p��:i9*)̷�������u�P����5"�Y������C��� +⍐N?PK���R��PK�rG[Content_Types].xml/[12].piece +�A@0�4}��;.$ zp��*��Z���L1���� F����\����z�(7��ix��ά3�V��%�� �9N�@�VP�PK��0XZPK�rG(Documents/1/Metadata/Page1_Thumbnail.JPG����JFIF``��C + + + +  +!(!0*21/*.-4;K@48G9-.BYBGNPTUT3?]c\RbKSTQ��C''Q6.6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ���"�� + ���}!1AQa"q2���#B��R��$3br� +%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� + ���w!1AQaq"2�B���� #3R�br� +$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������� ?��ɵ��M L��S$E �$@�Bo%�pIU;���ppU���dg# ���I�_�cz�A���Py�q�GPq-PP�p#�X�R�h�O1P�J�q���w��̎�)��(�,[�32�l�@�|�8�U��X�k���C�],&0�q�+�т <��t�|Y���]V�E��� ^i]� '#8��<>!���p�*�%�7(0x��X #�t�q,Z�=���]����$1�gQml��O�l�ƹ�D��x�`�Zŀ�����c@[�77S[�r�$2�-���X�n��H��qL��t��Z^G>\�3�g +�n��l���ӋWWZZ�u;�i�N ���(��+�3�|���� +��A� �PAhZ(�� +(�� +(�� +(�� +(�� +(�� +(�� +�x�k�Y�Q���\l� +G1��qГ�@�u�EQ��f]Y���ld�(�g�LA2�x9��l\^�LP�quieݱ$�,c �p8��S�mo<�#����s�x�2p;d�S�>g�,m��>�����#������ +X�H�%��H�C+��`z{�uPK����-��bw��6��6�Cv�:���9��E�Ѧ�1?�F29V�A׎8�Q=���]���2�Nӹ"I�������t�$[[{{����H�O��\*� q�X��Z�LXbF �"�݂7��y>��`5�#]��A d�rN�I�:�a���Hw0v�G,1�}�>Ÿ@Š(��(��(��(��(��(��(�������Xd0�Ƌ�p�` �aR�@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@��PKI�X�  PK�rG_rels/.rels/[3].piece%�1� � ��(R3T�K�d��dhA�a��3�p�5ՠ�wɥ�-�_R�)Ba�7�:�ڣU0K�N`�O�j +�Ԃ�Vh��W-qã N������F�_'PK��juPK�rG[Content_Types].xml/[13].piece%�9� �bh +���Z-��6�ȱY��{���L�Tdv����zr��1��ɫ3xѼ��l=yg��u�V�, �;����/�?h��nPK@�~^lPK�rGDiscardControl.xml/[0].piece%�Q +�0 Ы��������N�@�nl"M���#o��&a�u`"������`�{RZJ��k������ֽGTZc^��DET�Ւd+V�B��[ț���e��M�_�в@�Ғs����N���O/ٴ!���� +�t��K�{kO�x�w��˺���h<��7b�U,�_u��@���/�9��~�A�I}@�vyow���+1�U�j98 +�ex�C��^~���8ʟ<�w�j�u>��7W�Y��H� 3A�� +@����>���c�����>�wm�� \��q�Էf�D'|˷���[��˯�W6��@0T ��{�2,��Zm��:�A?m���i��[�G�mxid�sz2� `�}Z�Ʌ�#,��6�빰�,@��8��!�x"��&�Az��rL2G�w�W��zLZI�H� � ʼnC�h>>3�>8uV(�i�r�fa���8DH"� ui�КB�^)��U>Y�U��? ����t6���<�ų�|<7�9�%xN�Gғ�k�_C�/F���̑���ЕW[�$�[1ij�� M|��j�'�/�zVOT��w9��V��N���:� +��!S�O��-)���}p�� ϹPK�ce|����;���ŏ�(��m(�G��� �#]�H?��#]��D��G���Kþmd�b(� +�&+X�M���,�{KNzۣ�6�9`"P�I�?�[L�2�G(_�Ӊ��M�� V� �ߤ��>�'@�� ��F�&0!5�%1�N&�V�%�� +�H��@�'R'����� +^��!�2ꃴħ���'�R��d"̀,���fAi�HCH�a�td#�@�l�E�y��!��1����h�"-�B�Q(BZʼn����b(A�R�%P��ʑ�A�r�BZ��C��j�UP�����K�Z�G:�"�c��! +H�A<�h����f���6A �fhC�㑶2����IH'��ğa"LI��`*�ɌN�iH��t���,��a&�0 �YОxf2: :�������Ļ0�!� �G� �]H���H }�`!ҳa1҅�.�%H��'�'X��X���!�H�"}��J��a����s���o�*Fυ�HW�:�k`=�>�o�Z؀tlB��C�.@�.L��=.Bz>\���� �������H/�� �|��Z⏰��/�ב~����M�_C�|�!�\��F/�o!�&|;�*lc�2؎�r��o��W�ی�\�t;|�w��Az%\�x�b�p=ҫ�������Z����&����70z#|������~�t�����H�������?�ې���[�H �'^�[��?�;�����O�v"�v#��Az'���N�;�[���n؏t@z�{�� p7D��G���p�=����p��{�H�_&~��CH�� �9<����_�#H�G��K<1�?��ij�0F�+F�#H�'�>O!}�F�kx��\�8��� +�'�y�O� H���&��g�E����>��)� +���yx� ��^I< ��W��D�{x�� +�/�H_f�x���x +�A�G8��ux�HÛ�>ҷ��H߆����w�ң�Q� x��=�+���c�f���_�8�c�~H?�����WH �@�1�!H?!�O���8��-�AFD�Ў���`0�(��b�EШH�iu�œFӳ��DC��`l�F#i4"�wG ��s�$�ÒV�����Q888888888����(�I�T�3 +F���7��cOj�x���V���������������������^�I*Ǚ��t��)�k� �9���M�[�I˂���I�we�/t#]�� >I�8�`6�A���T�@�"��N�gΥA��z=�:�N~R���t��i��I����;p���?���7�(��S�:����D��h%�o��q�����������8�ЏtN/�$��L��j��f�_(�/� �7�^gP�M�b���o��P�o��s�FO}ґ�7���������f�f���9��i@Sod��r�7e�=�GS���M �7u��9R; �����������E�a� pz��M�3 +v��dӠ"f0�AoR�Mn4QӠ�����Y�sZ��0���H�_\�� �H���g�7S��S�F# +��iI�6jؓ��`�o���������������"����p:��՞�oU$�L&�7�,�U��&3؇�M��h�����>���������$��M�/L#]�� >I�8��r�����jO�o���\ڒ���Z�oM�Q�7�&#��&�orpppppppp����M��h����M��d�ٜ�o�p���cO���4i�Q�8�s:��Dw��7�G�w?988888888N'�#]�� �or�i�x<��}��i���de��r�7[�E9��4�&��o:�&3�Bf�orpppppppp����M��hx�^�o��:0�H�1�ƜK���-Vp'�M3�椿�����4�F�������������"�2�8���&Ǚ��w��iQ� �Z�b��hN��[l�{�l1YT�e1[���[������������u� pz�'�g���@��?�ߴؙs��M��Iӂ��E/�n��D�M�y���ͻ2������F ��f�_���d��6�����/���4�1O�j3۬��O���sF��F�Б�q��|988888888N'�#]�� �or�i����a�7� +�]*H�9`���[���~�1O�f��m�jti�9��h�oEGjǽ��ppppppppp���1�8��/E8�4�B!0�}ۈޥ�d��N������+���@&嘧�pڜ��o� �����H���&���.���79�4����M��d�� +.�w���,ʱ'��i�[qA�A�3�d�#��G����������{� pz�_�p�i����R�B�U$ü^����3�~�M�0�2'{��r;�.��o=��a�7��������������"�;�8���&Ǚ����㚩;�-�GRd$���!͛������K9�Qz}.��B_��1B�������#�;,��#]�� �R��LCqq1�gJ��Kɰ@�ӂ�-���>����i��4}5 +�������=Gj�H� ��D`� pza��(_(����;I� m�GRd$�2� �f_��Ƞ!a(�{����e��Y��Ω��ȠoEGj�798888888����^�Mxg���菝��v�#)2�a�ded3��@���R�Cogd�ge8��?!sQ:��4g�qϴmm�������������8��tN/�K�3 +cƌ�|)AN�#)2�a�"��cni���G�B嘧� +��N��O����<~W�����_X�T���~rpppppppp�N���^�"g������3�M�i��dX^>�F��7�ˤ�y�PO9�QFr�9݊ ����H����[�#�;,��#]�� �R��L��ɓ���3��U$� +�� ��}qs ����B7ײ=�y�#��Ҁ�?!GC>��[ �kk����ppppppppp�ۣh� pz�_�p�i�5k����C��dXiĢ�D6P�%U0�r!z��8�����ڊ��!+'#��#����Ӊґ.��)�q�a��� �~a�2�aU�PQ2�m�PNC�a�"�vIyAyI&��Z^V���r�c+�ad��|988888888N'�G���Ϗ���BOO��v�gA��dX]=�T43�t����4�<�ȥ�+���+Ct+.��k�9�. +��[)�Vf�Ϗ����������o���.���H�8=����'�wY< �Y �HG!_�0&��9f�t2�RX}�.��4d�y,�P�@�*�ە������'^��%��i�k`���@�y�������TWUV����Ċ� +����rs�#�¡`VfF����z�.��n�Z�&�A��j$Q PH�Ӛ��L�E�p��H����s����9,R�2N��<�:+y=���m����Nh{�\���4⚊9)����Oo�Y��h��C�m�ǔ���w��͑�^cQ!�4��5!�q�v��q�1B[똝�-E���h���Jϕ���!i��k�ξġ�So>�r.�#���~�7��?����v�v�>;,^5�Dz��亱�;A�i]�N��J�E�C�&�HCB��C�"T��!���S� �`o��K‡�N�l�wD��c���������m�. ��8kn��0����iX�m�Lk]لUI��uRгh%�se7-g��ж�zYY/ge`Q[�c�t^�m�Z{"�=�=Mr����v���� +��Z:� %ޑ؝E-�aYؓg�m��t��fO�,RB0�U��%�� 􇖄�a��F�����-�a��$�Ԍ���59�Hhۇ�OE��3<�[ ���?ʶE�m�� �m[��{_b��H�ٶs��m}��0�s�}����.��/ZNƠ��͜�;:���%�J�b�XuP +�7Q�@)C��p5{ng�4����˟T�Pqk���Q��$�Ӭ��0�����a1^�o=k�|�Ł]�E�=�;��;����V�N��E�e�\�~}n��f�Z���'޿s�W���j�+�N�"�Q����(���m��#��h�f�@}g��@ @[oVd�Y��Z�%�@QjJ�U=ҽ|�ҕ�ҟ:t�,U�Tc�K_�ߺx%* +�u_N�Ox����p ��q�jc��Bs���\UÄ7f����"�]j�!���3N.�5o�~;�1����%�yQS��l�7w +> h( +�!z�ig�%�Y���8�VvWb�z�>,L��X�O���rF�,�8xG�������尭r�|%������ ��2vMܨ��ㆸY������@`��XH`'�9��#[w�9�V����졂͞7w��1F1�& +�%�¶ɳ�\*acM�� s��v�>�O"� #�i��;"�10� +-���v���m�BxD��K:�ʔ�"��R'*�7��I�4���Π�&��Ejn�07�lS��_r�ܰ��d>��gD��\%�m �͋�#��L��R��ft��$�Ғ��vht��Q!�H�xn�S���s^�ɚ��EU�}d�._�jY�[���'k���3����f<���xj��υxn�SJ"�vedV�Gf�.��1�v�W(Lv.&>mw�7h��̇��0�y���4�y�=��ngOt�6i@�R�>ZG�#�� �ȯjk!��[p`��;��j��x֮�eU�]�]�]3v��ںkǮ�]�w���xh��h�x�]X�` �u;���j�/����|��� ��=��=��}���y���� �?3�w�����˂���_Y�G���4����068�!ln� 65� 6�dz��,XV�,��VV�+*���+^�x�Bܗxw� U�/��c���q���j�B��j��ZVõT��b��%~7�9Qg֠��{��gU�u$� �[�u鎥�K�;{��e�,���\��Ja�v��m���/�� �x��C��xw_�`���}���l���. .wO�Ƴ���s�Qwm��� +�!��|�|�!���B��;+�S�`�]��?3����A?����\�Ơ��:��s����� +��F�/F����I�'O��H�m@l�X[�N���� F��:hl����d��j�ZQ�%P;CC������0����E�sV�NoYtr�̦��[��W�����N�&�D��ow����X�"�o�����~m���~m�e=��� +N����6��"-��ݺ��i�����PQ�r 6FO� +,wV�(�|����6lؠR�NT%�<7�:Q�.�[-r�r$X'���,�[�戴Y���� �7/�?�3�)�y81�n����:�X���&����aN��*����T\ 7�O��k���,%�a; �!�~����s�٧���D.�[`����ۘ�5�q7a9�p)l�Z<� ��0Ql� � ���g�B��!�I��0�C�,�w���L�F��(�G�w���v�1|�����j +\�7��n�8���;�zX�EI?�OP�J�;H/#�!�Y�Ľ +~��������](�����&��/�I�� +�a�Q�Q,�{a,,&=>] {�M� +�ã-�+�(}|R:�Q�J/��t��B8 �����^�3�%8��ҩ)�p>����wk �{���)- ;Ž$c}�U��O@։G��n�tv�-h��#P(�R!�캐N�ź��ǎBC}y�����vF�� O�{�^���t- +�܁/BN�(t}LC��W�F�I[G�@b]ѣ]�p q��;�{�vf%^�L����{*H���L2]�Ќ�T�'yZÒa_���j�:�N�g�A���{��9�� +����O�X�:d��c63��=&c^���X,�9���7q^`!q�@��.���o�Y�E>`6��an�@x��VК- �ӡ5�� +#G uh�Z;-��K @ck�hT�(�52�v[��ؐ�:-��^���"WZ�E�Bd��;�˜����"7/772J��j=n���-/��Lo���陀̴����� fy]��s:f�#�5�f��K�Rr%�8��{'�r�u�L�2}�)o^q㓳�ΚN[�T�}�gQ���Z�A4�Ы��oc3L�"�*�"{�IO�n +���U��� 2�q�%��X��k�ĭTF�R�jq8kIt���e��XN��PGQ�•��eU�厰�o��X?��;���Z��K�\���.�b?�4�C.\/���E��p���W��i�M�������- +l��(�e���H��DOW#�2٫ss�CZ�Ї2�g~Z� o�7�9��.mV��Z�E����c1�Q��e +ع�%��UU�ÛP��2��ͮ�/,I�W,�o�msިȂ��s� +���ƽ���;��s��9�V�wGξ�랗�wv0++�v�8�ֽx��[�8�w�e�m�����Zs +�=�#U�2�HEQ�VC�sR���e�l�<�������,1,�.��l4�Y��.�dz�U��Ր���I��&!'g􁰱�NO[�����dj�� ;��1;FC�4$nl +/V��:m~d>�����I6��R��2+��c]�髍�� �GO�]G����S v*?�W��Ȩܼ�r�9�$��K�'��U%�3̍��flS����).��иoc��&[�^9�������ͳ�.�I���f��]�z*R;:Zr���[ +���%ݽ?ili��}��=��p�Yg-���ݲ�š���n�Q�Q�-p�A0�B1{���"�xVJ�Z�sc��Z���Iu��Ignt����2�����3S�RQ�CBz�ߗ�=��|�L�^��ȼ~7m�ޢ���Ƨ��~��zzJ��>P鶴�DS�.�?XZ��JQqD��rGy�A���C������A��X�'���'������Q ��5/�{�E�1�*wm�$}�{R�<}�{^�J�zs(��??_�} ,��Zc$�Zd�Z� 7`BtH01;oV��1����Mϑ�榺3}(��PH5B!�u�� ��@ T� �j��t�(56��1V��0PF�.�U� ����+�(��u\�=�yb���QQ�xl��9y��ы����R�t`{v[溛&N�N^X���eZ,�)G���EK +7͘�4�L7 �;7HRnuͭtܜ��f@sr` ��0C���3<���1�*Z�t +s�3#3�{"=�*���������8���Z�'���Ǔ�4j{;rq$%�*�~�(�NR�`�H���l�^ +�1(S�CGYx��Y0S��6���Y�A6���f6���jf(>�Z�D�̒6$���b)W16jbsQC�-7��r�� +guU6mODn2��t�RS�ͷ����a���"pkYG�X:��=�����3gҐ����hi1�� �!w�32Y;��p�&��Tִ��C���^��:�id6�8�L#���3��f�R��jC�jk�F�r:h���h��Ȣ� +�k���\L��������UՕ�C�x��b��{����-s�eLX6j��Ys��/];�暽��/_�z��/�p��|c�OҦ�o��t��юzG��.XU�*̪���K�|�i\�\�h�6~�[_z斞��c����\�:�M�IdC9�0Ҙ=���.O׉:�!��(�a&ȑ2w�n���cCN�2�z,�aBd�Ca[����,I�j�un�**������ t��&��CLZ���bOR'P�t�ij>�S%�>���%�Eͭc���ևȦ�?��_WV�.���%�_UZ�/ٻ�;e��3�#���w~y�������K�x�Q�֪�@7d HJ���X8����7�F'�����&��!E�o��T�`+������Jr6C�A��׹��v�v��:x��_�Kn�a�AHڄ�^���@�A�6A�A��A�&�����%�z�e�J&�����l�����L;̲��*���Ӊy6bKS:�-�u��� +h� [nx3ua~/��Qu+,�݊�^��֒�~�~>?�����T�>� P���%hd>e�������m�xPЫZ�W�VO���F�}3.x�:��I�.+EMS������([���厔�#�dsǛ��`��C���o.�ڞ�x�a��{��-Ӟ�Y���˾US?n\}��� o����l?�.����&qc��L8��d8���IQUs�#�G%7����!ڍ��2z�"w�4�S%V���s��8cC��.x���-�k�*�a���h�� I�FB��|1Om�5� R�q�4�8�4WX.,ӟ/m�!�FzN�� +���Lz���d4 fVMo�\�Z�v4�|M�vL&-�V�^/�X�H4z`���v@��H��X���B�H�,�[���J]Qfx��{�}��Q>�]k���r�������2��a���o^�꣤���͑Ob�ӟj�|Z =�i�� +�3�hM����-� ���1F��O[���9��2=� �]�򏠯$z�X��D��L�� �U�U�+:�I�����K��V^,�m�UքheٰO��<$,M��}1s@'��� �}Ҋ�ݟ^�%�<(f�w������2�B"��`�$��!��б��g�����ͥk�c/����Q��˲M܏��j.�VV��� +�e�M2i����m(����*��XY�*f;i�*3��t�J|�|UUM�.�L�j:����ʥ30}_�wL���5�C�,�;|Ȏ����tuE�� +����q`oM\�qo��̢2�2��Ov{ө���n��:J_,Y�dl��'�l�]�� HA�X�:X'#���̄V��Z�R�A�*��f�*� �J-ͱrMM��j�N�L��8%Q��,�dw)��ҽ��t6�Og �;i�^e“�:�^���U'��t"O��.�y��~r���<9��qJKتW���svy�˧M.Ͳծ������:���q�� +��Z޹��75����us��j�ʳ \���������⁅�oj[q�*���[8{��=��NFE�����$�g7�����r�egNJ�X1 Q=�ǰR�j3�b?Q�f�6Ml +H^���\Ƹ�j�Y��F���0�nQU�P��>�%���s�t���$�u���#L�<�`��j/FJ��EQ6PZZ�o�,w�c5��xI0N�NnI���:�4�[�K36� '����a�*�:�~w�iA������9-�+#�>e�߂��!�� ��ۊ>;,k�Xi�I��<���w�ثa����M��{�y�.��!W��>UӢä��"�S���E/�@�I��=��)���ߋ�_ݴ� ~���/7����eŽ/e?1�z`k$�? +�;��(�B�x:�>ȼ��ⷥ�pd�Ut�*fo� v���,�� �K�B8� �Q�F��N���Km��%��Z����fEi�Q��k:a��r֢=~��N��u饁���@�0ۨ�ڡ.̆2���Gb�Wn���r���Qry� +�!� �p4�ޯ.��%ֵ�v���'��ɽ<�ѡe���3��Y-�Ii��5 +3��{G+Os�y:5C�J}�"wn��'��Z�jm�2���k���n(�[Yz�Ο^��)�}Tɔ��&��+��8qzŨ��>w֋�<���,9����:G^����d��fn�����i����|��|��f�>?��f#Z�lD���AH~^���X�4��=heMkUG �5?�{��l%�Y�2��rڮ�rwdž*F�ɝjuA��/����j)�h���.JR�^�vW�f��x`�*�G���V��V[=���nU[ݚlu+ku+K��Z��Z�ڗ��O��l�e��P�eg8Ry�mg*�() �v�0�精CUu��w,l��z�`ۚ����K�M�z]N���2q��ߺ�g���>9.|m����y�Yn��%�6C��+���[��3V+��HZ��EzТzW��WjƼ���g� +LKQa�J]�,��"��up���e���+�SVg� +�Z�F|H#RW���@<\�& 9�"����9�:�6I���Ӏ�� +���x� +�<փ�4u��i}�A#�\����V.--�Vm����qz0�"AUuvw���T��f��l��l][�PD�VUc���X�} ��]VQUQUQQ�Q��dE�>"S����TI�+Z�`; ����B�l=��|!*�hBః2 +��',��R�u¹�>O��X���>~��w^Iy��^�W�y�� +/�2yE��P��i��8Hs}<��K�� �/�zܒg�م_NY�[PX-�8K�$�T +>:���O=���?CW�{�R�;d��+�0iEw�U2hqѠ7;R��͓� �}��ˋl�,�O��x�>���������"�`ٶ�@�(u]���9K3��dg +IK-��[�ޫL�1N��S���9i�|�J�~��Z�Ԟ�n�8o&զ���I����ebK(&60�V���R5��v+B��JY莜�s�Q.�{p΍�&~������>���ƃ��L/���i�����:7F�ՊM�~�z[�D*�~h�K���Z��+�Mv6�9ϥ��1�%-NG�t�Ho4Z�D�D��b� +���`1ӊ������sud� +����4�Sb2��(��l#�A�,$-1Eq�dpK���N�GKܨ۬@DZ�V�7i �̢z��t�`V�h�YZ�XD�Ւ��-)}M�bͶ��ӽ�*{.)Ncz{�����S��'lۅ!�����z�|mp��B��~��28O(��&?x��A�� t�i�t�DR�4)[ctC_��(JU����jhWi�t1��$j5ZAg�9�u��N� +����4t�O��4��Q�D) +|�hȕ�b��q��^-Z�H�ʇ xi�DA�fQ@��"G�y%]��e3�!h��4�ID�u);՝T� +����tKW�L�tKt�;(4��������GI))��>ё'����妿�(.EI�˻E�b��IF�N���;V�ݙ�Gݙ2��L���=�� �d@��g�~��-��0��u&�n�R�8�Ѿb��@���q��G� �E��]B�eb� +�8���戥�=tՔ� ��I��u���H7���o!O]�ÌѳY +���4�-� y�jh��0��BXk�<�Ǘ,_5��}���7���m�/\ԓ=e�Y��@�GF(��0;��^��QQ���2�Mڴn��mM_���l�J�w&��1�:�u�,�� WΛ��Bq�(����8w�R�������w� C�~�_G-���)�z�x$&�-�?!�I�iܑQ��7�)�.�ӧ|��u'\��y�}�w�u� ��O�Q-��������fSn�����奥��LJ�4@�j2���J*�ʲIiEE)�zsp������x5��|����xA�A���vroY�r`r�-)�BJ�A2o�Ǟ�(�(Ff���d?8L�?�X +KI�^� /�]�⼧�F�sҡ��w�N�p�p�8Q>L���|��Yx�Ik+����o�۱�y�렻��Nv|�;7mq��&���-ci�Ǚ��#�����g�� ?��~���?��~���?���#�?���7��~�_��~^Cz� +Z��'�8��J�A�.�\0"-`�:�+�-����F���L��ft.� @���|i5d"mI����3�b�;H�o �� �����Y��d!�?�ю�4�rL�� ��4�1�����0Z��iK"i[�����LFg'��v$:��e�F�gC +���1�-�=H'0:��ى�"���ģ0�}i�c��cY ��S�B:�����$>�V�~+�ǡ +˹i[��ou�b��@J[d"4��H[P1�;H'0:ә�$6�Il"�B�g1~6�����e� 0�)�)�_���� ����)�N-�!� |�]8�љ��3a>� �` ��j1��6��E�m��llYJ'0:�L��I��t�j>�|)�9���|�� 0�)H[�`���8 0�g"�b�t��.�K� �<@�S�6f�k���Ay- 1^�� �g|=� +�W�(�'`+�V�c��DxVᥔ8H����M ��$���5O� +�!f)� ��1 +o��[oL�����~ ��)�V���2�N�i��.���N��a�yoJx:{�u�X^r��)q�)|6����w�/b<��>����)�f�.�` +��s�V�j���Ͳ@/�����? 6��j�A�z��ŝ���x����O��ˠJ�N�`*��%o +��s)>�f�Z������w\1�U�Ö�r���]��g/~nBڃ1-�����bI���0�tL�Sj�P.����j��� +�e�>7z�.~V�V���?.�TM�)-Kڛ +��K��}��˹�\��К�u���S-�:�;.`ң;!W3���5�%�=L�r�^�P�V2���lihi7)=XM��\�z��k#�Ҷ+�Y��y^R^�mC!�q7�{�=��hO�O�I��v�<�a���O7�Ѻ.c}M�S�\x�=�JB{X˭�IS��Z�����С�Ҙ���L��J �%��/�V)�}HO�ި���g�ņ�9�y�< +�NjK7 ��'�����HJ��՝�n�粔{X�F����C����U���e���E~���7��h�j#{���'���^�Sc��V�`�Tٟ�4��lS뭖k�,L���dW۰�Y�5,����� +�VHn��Zar��K���E��>s�=��0���z�SV%ˠ����Ku(�����p���y�<�kGնӹ�jE2���5 ���c,I 6��,��Vu�s�5��T�0�s��j6���Ɛ�ԱiHN�ve�S뙽��k�R�S��ݟѪ�X��X^�J���ņ��V RǺ 8{�1�C^��Y�L��>�x5���`h ��a�Y��<�bsؘ4��f㝜�L���ٺ6�kz5�Oô賭0��ъ��b1g���b(]OhU��'�1d6^S~<��r~��)y�?Q咶cx(Y�ᥚ�rTK6�fb������D�-?Ϳ��Ӓ�lSJ��dDS�i6+�Й,t6~��x�X����ri��:��}�.��4�b��r<*��m#Z>��2T�F&� �4C�k��Xr��x���F +���j:�I�U���v5T+���Ym�T� Z������f2*�efJj�e7���%ׯQ��Lr�ٕ��쪝��[���LV�s��4���jd5��Ԑ6��r�U��R9?ڶ�eQ�:�w�z���'˅J��Ʉ�kV2��J�8e�������lբw�*F�u +�R!eI��di�4i-��F�Gg۲�ZN���E`��c�3MC����耯��'T Я)���Cgc�s1/���6��@�I��.�r�%\������� ܀��O� ���3]��&�������;E'�.1y��G> �!?^����B�//B~��%䷈[@��ǐ�P<��TD*��A�*�%��H=��JK�_&���ji#򛤋���t�KXf�z �,� ��[�[����c�o�A�Q�Q��^B�e�U�_��E�=�/��� ҇�_��X�*�k�7AԼ�y�?i�!���C�?�`�5�a^�tQ��/ ���� +@4L4�A�.�]��5�G���!�����_2����#u �F=��y�щ��8 �����O1v"?�8D�|c�k�k1|��2�/7ކ�?5�Cn7މ|��k|�� �Ϛ�}M�L3A4�2������r��{鏼?BzIL8�s�W�D���q�8���L�2��$�w*w"���F�{�!]�,B�-e1�T�\^�G�����W�W��O��^'� ^T��-�ϼH&m���0����i#�z { #=�1��������_{\D������������?!}�����W���,��}\�)>Dz^�wD�����l~�H�7�od���x�{���ag�k��W������[��Ezv��^*���#��?������bRY�ürr���%D[Q��# "����Kؓ�Z�ޗ�B���DW�� 2� +B����GL��k���`��R��<�lM�y�����z\s������E�S��ߩ���~�} +>R��9%�υr�\�%r��t.��㊸r����8-�ɝ� ��禸9�w��Ň��|_�}����/`oɐdK�%Œ +�-G$��� �J�Jl�K�+�ے�R%v�i�4E�%-�̯��6Ku�.��R�tR:#��^�^�^�ޖޗ>��eJ��,X�E!�&��%�Re��Y��DvPV+;*k��d]�^٠�"�����e�dWd�e��O<���J���_�I�%r,*\V�#��~(�瘉���`��y�� +:��D���\�5A���(�G�Bޏ&OZ�]d*�)ZbWomy+�Է�ߪ|���,oͿu�����Ż��k�ۊ����?x����Y�з��ֽ=���ۋo�-�* )�V�Z�_R]�+(�.�Rr�ԫtKi|�Ҋ҆ғ���J��%��,Ӕ +Z����Q�����ʊʆ���ʙ�˕�����{7L�ϻ'�5�;��뫢�vU�T�j�ꮲV���Z��'J��?i��ɟ��d�]}�:������d�x�B��E���5m5535�5k�k�j�j�k�k{k�k��>:�w(�ЮCy����]~�^#9h��C�ar�v�=m�(�@�P��Xԑ|�r$Ŝ��/9UI1�o.)2����2s9|�k��H��G=����ڀN�O��c�]�U>���v��=2��ͭ�w�Ns)�/�*0l\�2�_;|�ٰ���:c�J^̏�z�th�h�k����>{>v_��Z�^����Q�?�ɗ����t���E�9> ��/�̛���_SD�,!��H��������E +�H�(N���=�HS�נ �E�4�2�����1wDy�=���I�#a�[�{#ј��+�X��t +\#?\��K���c1���If�@���?E���9캖u:���\Ir���&��T���ʚ<��ʚ�~氵k�y���al)k�����y�ݧW�-�q��/W��Iǵr��u��t~Rd�:��S:�9�k:���:�~�,��N�G� +_�s�'���~wkW#[o�u�>��m`��2�Xv�ב��v�,��l��� `?~�t���}4��})�>m*�z_bNd�:�ڜ +d���,�;�]FD+�y�>]E�ʄ]�W�'V6F�d��q�n� ��N2;��48r�¾�~tj�*�y�h�htz�'?:k�hfd���~}חя]�)6�]C�N���G7�߈�I�9�OX?���(`#���B�޴}\��� �qY��T�����%?�����6��9� W�l^u�� # +����#�9��v�S��8 qi��4��R&���ג�E����< +����'�}N��>�X�>�P�O6��|����!OI�K��<�>xF���� ��d�H({��y���{�Wٳ��ﯳ'��dϴ��)7�ʯ)_!�fO�������-�� /����_� �J���0��?�����rO��:Ӻ�����~����׸���^��i�w�M��w����C̿M8Nóo@s +� +B><T�|����i��)6m@'������`��$0 +��K�p��:p���m����y9�%��]�m���f wԸ_���q@"� H�K�@!}�Ǚ� +��=�|1PT����:�,3چh[��Y�k���E:����Ʌ9��"��$ �p���}&�_柯�?�g��g �~��ߗ��Ѳ��oҧ˲E�G4_�ώ�h1?�ʼ[�aO�����k� D���� D��ޗ�gDN%�Ē��$_���O% +� ���%R�T&#���hQ![�W+Y�v?�o=��N��R k)���ܨ�%!ʧ��$Tl��$V����s݄;ߘ������<�><�������s��9��|x>���}�{��B��繁�gfx�͋�Fv2���5�!�`+��@@eӀL � +�k�l�����]@�`���b/��^4�}f��,�Y�%2�y<�9: _?y֝�\�a����@A����cζ�UyyO.��2�֬b�g�6h6t6�Ff#f�� �ɳ)���rf�g��ag�g��eͳm���ݳ����Y+$&g�g��f�f��ޘ�={o�!f����` �|�A�[>��A�y~P�s�T�|�5���!��F~��������������=�z2�f�d�x�<�<�x�<+�?���0X��'!��T���i��-��$l}|�k�������_���!�ee��+��)�J���J��H���R�_�_��|��[��FS]��t�&�5���t�Ϭ��]:GH��|{� ��38�}�� �T Cxc�b�+��hY�wF:���� Bg�f"f��3f����&b���E�f��������;V^�[�o�+�}���n��g�w�|�����xxga���º�`��z嗕_&^��X=��a�p�T>�|�lT��|��*��_'�?�|��hJ��ֆ�|o�}�i���� +��5��t�Y�b�!��آ���R��,�t���A�B� +�BH�t �+�}FC +U��� �>���A���Z� +��Y04��J�!.����hƉu�&�K�7'��ҾG��Q�A;�2�IN�H5��^2���x�'�AI{d0 �&��e���p�h��b\h�0�1�@j����!,���[�w-y� G�8�xw����t���Ŝ�����p5�uΌ���F� + ��e��p3Z_@�v]�7t +�tҌ,ZCϰv +�@�k84ְ�&9�E���������&�Ѷ�j��%��6� VꯧV�of�:���a���wB����|�:�@/���p>�&���2�~+KOG =��{�?��蚃Q�>X�[��/ +_�nK��B +t.�_5Ӵi3������N��a�������L������сb<:j��Ō/�Ҿ��Q+Z�2:I׊�i�t��J� Z��L��i�ZQ�3֐Q+l��E�[2�M����W�<N�H/ D:� XF�˦m����,�q�D˭�t�.�v q8t4z`z:1����B�s�tM��1���*:�h:e���2F��,ڊ�E�Wkzd18�7W[�O��w̏z���\��b~�t��p�Hg4<֟��ȏҵw,���c[�;ZmX���57��]Ɛ����]�)t�G�˱�b��:m1ڬY�:�c�i�5���F�h�Ȇ�_Og�X ӳ��e,��e,�􄹭-��v +��:ty̏� cIt����~�mæ���[�����6���<ҙt��e�]f����4m=/���7i +h7���-t���"�+O/�]��j��o�:}���@��huk��XU�%c�U>���]_M�� +��I�����>l���~��n��t��cG�;���B����d���X��=����;�H��1�A)�,=jT� +�>t��QZl�A,J�J���i�9��o�{�`�HvO��cU�y�~̏��tvX�4=:�`3% s<�[���y�9a*�Aڄt�Y���fl+�5c],�#�c�1�� fŘ�����c��0zrL6[-��a�n{z0�c��C��c� +0���K�>3fqJO����=���ѽ~��I��n��(��H[.=����`l�y�����='�-�^�g��Se[.�y�t����=�?�E}뤸��s�X=QX�ӂ'  +�Y����=x�tj�p���m^�5�k�:vwp�|c���|{���|o\:8i~8��>C�}�p8m�'7���l%�;���a��3v.�^�w�ĥ�n���;#�p���(��qvm��4t<�a�;�8Q' +{1;E?�k)d���bOE�*�2�]�w+�w�l�,��+i�F��)�e�#>&��S�e��i�,��2Pn�>��wjD;օS�c���:���"�L�� +�H�c�)��}��d��g��|cڸ�P���xN��\�a0�Lf\��쀶�-���G�Z�N�.��g�.�eM���~]9?Z�W<���b�M�;� ?8�f݅8����]��� /���8;��HZ�5Re�G=zu�;�8c���aBӌ}|fD;�3p~Do +�HO����܁�.̵�#=ւ�+#k�vaĈd�K�]LG��F,�򁛺{�J�5mY�G��������Z����Q+�yk���i~dѪ�^Y��0�+Go�5v4��p7v+O�M'2F�[u��C��'O�ܲ���pgt:d����]x|d +�ۖ�*�@���.��ڲͱ�˧�� �+,}�t�9�z�t�9�z�t�����*s���i����9�o�9���\d������h�8s�21�p�e��pi8S���™���>�)r<���\6���3��EC��Ԏ� +��92~p(�L�x�ж3��:��x(�n���y���d�m(�̉�N��V��e����]*�?�u��]*�J=sj�{(���x�P����P��q�P���֡�33(��*?s~|r�����i��"mw|��;~�q}|��/QMƗ�&�WW4����-t7�1����� �:ٝ5��{�t4��Σ� �G����;N5㗆j�������]�����D���`��(=k��;t������v�?t����N�y��f�9�pG/�`�(h��Ç-������>f�EiM��mHw��,��~7���NR��y �� ��K_f������W� �?�v��L���"�X߰��d���z�k�k��5Ɛ�䛄�$�=H��aM~��A4��|�t��"�I/�k<�E��8y�̐ߐ�e�DE���"?&���I +�s��/�.��$���w�Ӓ��������s���?�8 ��|=�N�"��-ɗ��m�TH�垖>/��$�t��$V�='���|�����򗹗��os/�S�orߒ����@^%�{K��s�q�3��Kϭ��s=_�|�[��L�~��sw�3ݳ��7�VO-����7{���xNx>�w�����F�0�g +��?_h}=�K�Ƿ{u{ +��^3^3��yټ��^��� +��^��.�^׼���� RĞ�����]@ ��>�?�u������ġ�C�C�-Z>t�ЭCw=8�X-U+-���\P���gI���'�����{˗[� �s� ���n����'���)w��O��p�A��/���W�_���0��G�g0�"�r�Y��2��zF?�%5��ڄ��ڔ����9��E�e�k�k�j�k�kۀ����^\��@�T�^��Y�Y�Y� ��^���VMH�ݚ5�k���*j}j�k�jCk�Ԇ�F�F�l��E��(C�0�W�V Q515�5���������5i5�5�5y5�5%5U5=�k��4BR_C� έ�-���2�D�2xv,y�"�ͅW1�df�I�� +�����l���E�=�=��w={<{H�g��/�~�>�>������!�{���nPk�>t��C�N}B}R}J=�&�8�6��K���V�����8�9���?���z!�����_�ae�W�2�������y�y��O��D�A8�;������k;V�e +��D�F�*���c�-�c-�c�-��[��U�؎ն�;Ҳp��e�e���-���l�{�T��7���Y#et\�8vV�slF��&��EM�˚�cW4Ǯi�������I8v_�|�&��F^���9��JMN��&�1PS��)c�-����US��Q�(M]c���1^���l���q�����4ݍ�-F +��1�e�1��qc!�:����q���.�@��hԘK4��.�Z����5�v��.=��F��ՙڇ�+���RT�,����}q��f�\j�h�'4>�>S�Xf �f��}mP�ti��afS�m��/�� ��üH4W�oP�q�e�qYs���lK�T!��-w�.�Goin3zWs�ٟ��N���&4 +6�v*�N}���c��T��S{�Dڤh%M>��&�V/���}Y����vp��@��Z�B59Ma��M��N�o"e��tM��]:G��鸞�qD跃 +�w����o�n +���'��ۯ��b�/�mSl���J��N2 ��Mɭ�Mu��M��{e~2m��t�.r�����ӵ��E�9|�chs��u�F���.�n� v�$��0����Lo���v�7��K��:����?����ю��7�l�o>�9`�w��̗j�{�:�}�&���r�y���AE��k�s��6�my@�u;�{ [���}Ҹ:�w��c��5�1�ܯ�s�^��+e�����<��w��n�C)�g3�Cf���}7_�D�=�N~$�qt�t��n�FҹM륾t�u3Ӕ�mv?jJo�c~B�v���@k����?i�i����gS~k�}�9�5���u��5�y=k*k�j:ؚ�T�Z���hۦ��J��ٯ����ګ�����7�-�dm=�������6�����ת[<�G[��Fz�Xw�u��'���h����}پ���ç�֘�@�Bm��%dE{��-Zm�V�ޱ�����k\���j�r���(mWK��DZGM��j��Z��F��۶�i_��k�m�P8�b�y�~&kh�5�ZO0ۣ���A�9���\�����q�s�xN���t��,�\7-�ΰ9n?��u�j�y�WӍ֋M�[/3i_��t�� +���klNR_�>�6�֛l���fy�f���s!�k����M��<� +�G�~ہ1o�zҾ��5o�*�õ~�|�6��V�۴!�q�-͉ڭͻ�Qͩژ� m|s�6�9W���@��\�ͤ}l�zOa?��=�e��Ғ��h��NQ�k.�f�dkmlO�(;gӹB� }[��1�}mi?S�6�h��_jZJ��-�e��I��vr��Q�s��y�n��^gk�_�#�ψ�b?7�u��o*O��}�}o�L-j�-V��6����{Rj���ڻ-���^��gP�F?陯E�}Lۢw����(���b���M���<�_���^�"Qq_cO[�-��Ӗ��Ӗ��A�a�{���<�z��o�OO�pz��>=���ӓ��'ﲧ'?aOO:�ӓ`OO.��'����2{zr�>=��e��>��u$���0��I��U���*BwMQ�}'������ ��=��;<ۋ:��b��>�6�v��𺐎-ez��c�0�:�:b����wlG�Ъ.�cwIXymyA�����ێǩڎ'�u<�x��,�?e�̦}(�՝8�k�~�b�.�!�xA{�P�;^\d`+ъ +3G�!+�Z�t�������Z�v2K�4�������h}�>A��O�>E�t��Yժ}�j����s�(�?H�$��ηd@_��+��cE(��7�i�m�t}���Wg�@�*Zo�v���r�dI�NCWʒXx�4Z��ϩb��T�J�>���U� +�m�{��� �9.?�u\�^t��x�q�V��*Eg]kU�Ǐo�9��x�;�� � �Щ�渮L��+o>]��ym�Z��������Z7�h��y}���/�����׎����~��}�<��u4tzv*�ow�uv�tn�܊9WVv]���'���vg�*tЅ�]C�շ��<~�턓�礵�I����'���%�&��7��ߛ<��!!����7� P�V�(��A�G��$���������&=��V�1�d'�F���U�?��!'�`����n3��'g� �{'t4E�b� +<`X�����ొ�I�� yeA@�HÀ ��d H9@>P$�2࠘��z�YL���NQ����<*k�bz�͋X�b�5V�a-��8�� +v]�Q� ���%QfiE/ƿ�uN�;��ݝ������=�8���a��9�m6�����M�zi�e����T%��q����P/Ց��N�o� T�+�������}�ۉ�u��T,�ډ��&R�f �t�ӭ/�:����Жj'ڿ�ɔ�� +���+�xb�����U��v�t~�V�V�ˉ�N�2�@�tk��M�d�OK���n�OI���nc��>�:�;��r�[���Y�͝��vY��$�i�u����~���}�~�N�ր5)����Q�9�sƝ� +�qP��Ik�'Q��hM�Is�ND�ة���Չ���m�s�j�}�(�#��]���G����]�U+2�~�?T�+�>�SU�4���}(PU��بj�#@�X���N��=��~���}T�\�J�eT3�Pg�Q��z� � �Q�v�+���>t��{��k����kG�h�zW���-���~��Ik�����R�`sڣ��m�/���޶�N�?Q?1 p����1�L�Ί�Gݪ���s�ˢ\Q��{�V�&� +�U7U�\o[�U�m{x$�ؽ�OlN.��+Eσ�~@�j�\Z"ؤ|�8��N�v*�*��< +��ǻڪ< � +��@6�%@P%����\K�r��r���⹴\ +�`?��v|Ĺ�+�n��|��v[�;٩J�ä��r��;R'_��C��R_�j��� +[�C�U�?�ɇ�V��qn.ǩZ�����q^�L��u��]��w�;��=��F���™�P�-� +*�;���ܑ��#�4�C� J�@Hn��@1PNHFh�xMQ q����Ph���=!ʜN��b1MeŴΊ�}��E=.���Ay�E\qM�M����7��0���s����A���h� +� +f��,ύDؖ���ʼn2�����bq*���� ��\�W�[�[�[ ��_ ��X NoW���'oNx��!��!��a��q���f�&��;������~���� �����ƃ?�/l��|9�۹��k��JHz���0 b +~�x���@��7�W�?�� �|-ǐc�%g��ߘ�C��wboÐ��+��ɽ��0�{0��06�w_��w\���[lao�co��c������z9�Qz�(0����cV��LHf��z�̰n�M�t�c?f���O�Z5��VGdH��_!1�ek��55�Zrk��5��5B����k�?�@�B���̈�a��-�����?�|-�~/�p�w��FXC�S�o +�^2�k���wau؟���i�w#s s`_o���6� +�_�g���W�!Ey�Cf���ͨǔi���̺�k�m�Cf��g��&�f��Z�[��������q����\>�\�k`6X���w��+^�Թ|�P�F�u ����G +n��{o +���kٞ>�fo$"�V�V���ZZCֱ7ѷ�{H��߇��? �JH^��J�!��c�c���W��۟^���UO��ě��%� +� �j� d�Ǿ<��Wc_�ݧM?�XO�B��o�ʕp��T�I��2|�%�Kۗ�/ +WG�Ű��/o_h㾘��}]�z��5�v�3�زo�^g�j +�l��YX�7��⫱�Wc����]g-�g��ۍ��}U�c���ȹ.�^^z�Go�V�K�3�W�/V�N/���q�Y��2}��j.Co�݊(��E }[��D.��H�5+����;��S�Cɘ��E|��l�iFh���jzӓ��7=��9-!=����9^O���%�KTu�? +�?Dx�ě��?ß!R~��!2�7���#����"R�E��A� +��@�97P�� ����W{{���*�+��Yzg�&@{���|G�P:횽{X%��&�fWMFZ�h{�6��t9�C�5�5Y{3�е��&|�����wj…�΀r�A���Ǯ�]_�=��>1D~6�ك��� <�nk���>.vygI�˒�]h���M_{=�Y�7�R�a���7��-��`秘h� ��Bp� ���/�b:'�&�s��� ��{���׷cNb]��Aޯ�9��� [7�n��`s"�͉��t{�wl�L�4��םsݴV�u���(�M���*��Wt(:�Dѥ8I��_(~��m�D�^�^�;e��Ni��E�>V<)w���h勼/N �j��X��B&V֜��do��wC� +�w�R73JS�4���PE%B^�����BLeS7�z����Vjc5T��QKJ�P�O���X���"�Akc��>׸f�;bEN"�I%�\x���.����Y�4�f#��s�xp��� +��1)�P6_ao:�,��Gb��� o��!�� �c\x��%�ov�rw �=�w�� w�'|� ׆:\�Z w���\��D�M!�r.�z"� ,4sm.9%�G�Up +.�����*\� ��!$s�.�0Կ!Hr�Q"'�?.�9��#rΟ���K���Cr��p�Na�����1B컊F������z�KN%r:Y�%�.99Dξ���U��s�|��£����b?�o�,����o<փB�J ���\^HK^d�B��P�D��$�F$�AI��ą�K�=B��3�i"1K�]�� ]�ߔtIz\��L�.I�/J�J]rL��U�fZ�f��U�u+%J��M�}�pI� 7 ��2�+�c߀Y�'��`~�H����U�ԅ���z>�?��v�sQ���f��K�2��u����C=i�>��q�PO �Y�.9z̢.>�O�]�˩QB���|,��S��r ���Ň���Z��]��hc����y�^sA��'B�[.9���<�z�)אv��ܑc��͕�̜8��y��Υ����r��K� 恙�� +�#.|� +"'� h^�S��x�_�x��G�XX@�s�\� f����^�^Q>ו�5�,����"�'�"� �C8���"�Q��D���S��)-w+��t3��͔ĪĊD[bՎ�7�O��1�#6!?��^�i˦&��8eǥB�* NKs�<���h�%v�@F�&r�6*S6�}����A�֝ڝ1;.���"�3^��0�#��d�E=Ր�$��&V��A�м��R�VI��-f�N��`7j�O�QeQ˫jU:�gV�$�Ֆ_�QeQ˫ʩ哮��wƬ�P�%�;[��BU��RRj�E�*��KU��T +���$�О�%�у̧����~_�?���7;U$��~� +~=�罫}��x����,�+�Ӟ� +�L�#�2j9�{ұP5$���<���3�r�e +B��/WR +�'h�J��C�T�P_nL�UP�}���B�z�3>�&j��n��N�U�kP�CX*�|�JЙ�#hGV���F�2�bVb��SŎ:�$���t,v�ѱ�����W�`X�R`y؇ڙ��������U�����R�C��eɪ� |d�>N[B�PuR�ò����-�G�S�X$݄}�P˨N vN���e�3���E���#�ݱ�;�:�=d�7*�S=�v��َ�)���w�� {�.�J���ѷ`_�睟�w�д�y��W��=�؝�p&K9Wp/�G����p����.\�p�.����2���k�Fpm�����9�I� rɅ�Z�0�¥g� �~B�K�]x�����E.��jF�?��>�I�}W}���Y�K�He�|���=i��� +�bwXE"�~�d��v�Z�D��6= ޶ < �[8�Ӊ+�h>`�ʑ�N|� �V�E�pֳ��K +�:�#F����2�]jh ��A�q����^�3-q�!��7 g�����Ot�>��7�`v|���[ �җ�/� +�/|�_ld~� �БHe�2����"zM���Q.r��Y�RI�>�s���6x�EN9rxL(�L}�P�#��_Lawy�<�l��ȅ�0�i���K�0�2����r�9�/���:���ʰ~�q�'/p�r�\'[����J թD��l�p�{��Z�T&O�'�A�"���+�d +�x�9��I�=v*�UV&�,;�<���k���W�+˔+d��7s+�d�e���2�|Y �q5�Rz/ʂeeX/d���U�K�P1��Hݑ�_�PzCvB�9*�� �,��RB:/]����Mʦ�zU&5K� '��2=2��~��Li��ty +2�S�Xi��RM�JdN�e����Z�M�5��*��H>����8���)���UN%}�L^A�s�?��'��+�p1zL���4 �.qX��Lֿi}�<7�9�b����a��b��94^�;.viN|�%��&g ��\5wѩL�Gz�ۥy\YWJ��M��\2w©�VR�m&X�f W�bΗ�%����^c�� +WJ��$'��C��>��R��*���of�<�,r�b��;���}b�������>�r~f�!l��Ͱ������pN���yud��S����yq!�/��:Ҙq��4��#��f�_̘�kx�1�SD�"Ny~��i�3�P�Է%�V���)\#�b,�����Bf���v����e��3����n����I�g-]h9Z/+GeX;T�Mc�ǿq���o@�e��c#�����#��u�u�;�՟Y��Y��g� +�)�)�������I�pN<��zv7i]%�␠����2������"��k��e�=�H*~/�|�2�DH��v�n�T^�������D�~�dv����Ԟ��T$��y!�I�.��O���ﮦT�� O��I#B���c?q�O�+��e���LDdvOvW��z�5�=�p#{���l���ن��ZSeWF1-��d۲�ٍ���MЫ�~�ͷa_�0�sҖ�V�z���֋}f��z�d�}����؈��.�}�c��<��W�Af�4�DpO�{�����k ��� +.<�>a�}���^��s~���M�J�>�;l,��X=���ޒ>yHu�>����|�Ǟz��$����~'��=�{�I�2���ٯ�v���p'Jwrg^�T� /��߿�s��'K�}nKh��Wo{����ư���'}���:�WԷ�I_��ǞC�:x�W�f}[X���Q\Y��wV� h�ǜ`~� }����]���e;?���x��ߗ���'�[���w�o�.32s[�-�:ĺ����[���b\��Z��t5��Mz>=ɬ�����G�Q�.��čʑ�B�t��u0 +{ �b�񌧕ŧY�l\دR�h���g���y�k�No��>��d�7�V�w�7} ���w�����L&��1�D��H�{z��wn���kk��*�����2�����L���|o +���$�~�8� +گ�y�Uf�5dr�d�֐�L�2y�2���)p����ݥ�Y +�O��!�*��&U� Ro2�{n�'!��?�*\���R?r��jM�"7��5��r��XS��M����r�����J��~�T�گ�*[C��R�5���I�`�[~�kz�j�w���rkz�j�?]�7ت�R���9��~��ȯ��\s�W˽���8$9Q�j͑]-�5�v�\�Z�f +�L�.)�A��%wh +�֒S���Zr�W��O���}�!�g� +������������쐱8I�g��N�לx��M��c��r��M%I��B�n +�VԷ�BJBJ�؄X�8�![��I��n>wsOEҖ�-4wS�����~� +��ݴ����i���o� ��c :�:���N�ٝ�{��1"}�9vj� � 1�gϼP������{��;{����+=����#�QZ�` +A�=�iB�զ�M�M�����o� z��TB�v� ����m~ns�8�W�Hh� g��x�O��i�g�N����D>�{� � �ٔ� � ���~m���@bMo?�������_{U�� +�WK���OL{.R��<�'hz�/y�z�������w_~u�#A��!�������ue�Zx��tRbZ��W��܀�' �&�n*@��3�8h�]M�t��k�c�p��zک]O;}5z�u�z�D�P�}��VʿZ�n'w�P��/ v <�d���[�Wh�^��?v{ꂕTnGY��W+6m�]��+����:��E�BO�~S֫jľ(qq� �ωM'�r�v�_Z闠צ_�@��~K �Q|�0ȗQ�"4)%�S"R�]���a|� "�T6���\�_��Ր�bG-�UB���E��R��]��6hm����S�o�N�L��|��K�_�W_�f�t���O�'��/xؗ����]C��H�毈��5�khq��{����� +����G��DK��$���8N8�oy���>H�}$W<�ೖ�4u~��!u$�M~b�O����}���\6�O쿈����;���glO]y�_ �~�SG��{穙g�h�!&��~��?�����z9ξ�)>�\?��/c�����7��6�o4o4��� +y*<��_������!�{�wa�̶�W�B�f� +d7�e !!v��m�p�^��ֳR Z��_�_-�kxŲ�2��6^�x�/W�e#�������I.�UL0�Mx��l�o�R���=@y4x�fp�4�p{{�v��1������۶�mOܾk{*R4�B�ɢ�]b�p��q��6Z�ǩ_*��J���U� tѫzC����!�+T�Le^��p���E&�����%�n*M�s}^���6,�5��j���ް�R>塆ee��B�}·Mn,jQ.~�O�>� +#�_�`>�g�Z?�~�a��|��y>smk+����[��W���"ے�e�R�+V‹eU���m=��}�'��B��+�;Ϋ�;.r�E�uu�Ӕz�x�(H�Wغi���?J){%DNS �uu�$�M�S}�o������&�5]���>{�}or�=�B����M��SEI5UC����BQ"5W�4"��z����^Yƨ�N��0�T�N:�����'�œ<:�r�E�r���yt&b�^?��q�܍�.:]p +���'�SF�׬x�� �ݹ-�?/ +���)z�G)�?}P7�Q�+�������a�#�נ3z�Z�� +��o@:�r��y +�t�f�r5�ӄ�`H[��'.�\'Z{�r�Z"��b�b�E�+�Eg��ȅp�\���� �W�?+:i�!ݺ���Z�s-I�B*���x�Ϡ�� ��@e+%����� +[StxN���3�yp7�� � �r(8k�(�X�Z�n��螄y���W.!Ѽ{�C +{�M'���~�ޚ�;����"�$`Y��i#ن�L���I����wS\�S��-7=%qQ�1-�W9 +5M��N�B*���‘$U�R +�*M���(|S���4����&Z� U *�U&؎P�BV�R{ 8C~k<��|E��*y>���6��R.{ɖ��{QH~ҫ2AI�G��p8��az���lV�4��+��`�7�m$�8�Ɠ@'!�L``4�r=c�:�'Ċ��*�3 E5�y�C(B�U�at���G������#� V��< _H'�����G�?�0CP��l�T�y  �1S�<��i��x(�����t�ദ�v��,�S�4z�[�'�V���_�fx{�(�q�Wa�� +�K��J���m$�Utq�S�R^]q�vJ�����ȏ}���lOO\���H�i�)i��Cq۠$��I�Z՗�K"�K�'J���/�!M��-��V�Q��� +��T�2��w�'~�w��)�cE��?�Ua���0� �T�)�����5��H�6N�.��rzJ$���u�;����n�@+z��?�G�z�+�]� �օV��VۅVێVƩVWcЙ� +�^��E�D�UX�8ʦ�n�0��k"n[�O$k�SD:�[�>��v�Z-�}�z���hۡX��,��~���a�]�y��� 8�N>�� �-H�l�P��q�J� +��3�zE�^���C�t��r��t�L��Ec�ޚP��R�;*�D)�*��|4r }��i�"�hG.�Ae'yx>7��#��}<�d�1K��}R�ܮ��G������>�f?H�)c�٣��3�owۃ����'V�'PgS��?����`���(i��E�N8O�F(��xFV���غ%��?2��}����kgzf�,R�Bx}�>s��σ��#�/�a�y��|� ���A��Z��VX3��A|:�#�0� +�RH�-���8�A_pR�Ye*�z�~ +,�@!E(f�qs�z(�L~'�9C!ᝲ�4�s( ���O�S�L�s�ą'XuA%q��̷�$d3�e5�����0�R{�4Ν�|�+�#ȟ<T�ƵdxZJ�t��G�qB>��U��B͘4}����~�_��� ؋���g ��6���,���� +H��M�zpp�0 )�]�N!Ԏ��aP�fH��?�t�+��Up�ӑ{,��8�.���6�"R 'T�Nĕ���)O~�� +zp 8�m� �\�?a^ +�ʁn�2T�"�V�� pB�'��o��vp���E�@j� t����a��Ƚ��Z�^𑻞��`�GOBc��kۡ��fh�K�^z<賐��� �d�E˺|��!u��NCH�HZ��h�t�A �V_��*z�z m�X�Q�W +K��o �dp#�p�:��Q���J=N�e���4+�/�;��nz{�{����W�a�t�"乄�H7��M誆0K���8��F�w��^��LB�kA�E�i�S�#�4A�ǵ�8�ρ?�J�{���t��O�Uy�x�x��v�1��?�.!�z��� p<8�����|��#�0ۓ�g��g�?��!r��T[{��P|��_� +z��"��t�@���њ<��F�A��\�@7Eɫ�st+�| +X�!O��D��o��vp���E�@j����3�> �?0��@xX#� >r׳������ @[�c� +l�ZF�y�Q/�z���B +[�.������ ����*����+�UF���"0FD`������!#QƠx�xB�� +=�7�$�P*XE���0)4��B�Q��@��җc�A�u=�x m�X�Q�W +��h ����,F�5��6�7��1ڇ)N=��z�=�B���0p:{aV�K(��t�ۄ�j��>�?�C�+ mz7���E�y�a�:�$��t]�:��#�4A�ǵ�8�ρ?�J�{���t� �l���� p<8�������A#��wHs*�#�F�PГ�[��Dx�Y�~��|̵䋠�=W9�M�{p.�n����w � � p2�Е���l'�\d�v�@�H����[ <����Y�{AF\p����1���C- +#�<Ш�D��x�g!E+K�Ɉ�6u��B�F��!���h� ���9И��Á�J�/ƀ�v=q=��g,�(�+��lYB�%8��Y��k�A��u�mN�a�x�ؑ}��б�h�d��K�y+ڇ5�T�,~Bj��]n����X��^G6B�����)���Z憬������rG�P9i +·��a+��O(���!W3 +i��;��+(�ў<�$�hJ�hm�����@z�a�t�.�� �@��i��ws.��k#����2�'��M�h��;��Ҿ��]֟@��zJ+�"؂���4�uX�8�Z�)�nK������G4� t�MC� +�8�� +N�H� 8K& �~� �Um'ʶ����m������-J �:�%S�>Z����{�p(��v��)�0�\s��X?�s��-uXVZ�JE�D^3��Bv���]�� �����-e�@�K�s�� +h ���>�M����C��B� �.��#�vw�Ơ�w��)����s�������,��ӏ&#�ɤa�~D����XTZ |��? ���.�8�� +jJ�U��A'#�y[c�c�R�02�hY �GR�E륈�G��q�!V�H�$�|t~Z-=��u����$��tiб(s�}?��lD��=-8�(�HêWƒ_�S^"w���$`��{?�AJ�8g�="��˹ +:!�F����"�RЕ�x���T~�n*�;�����<.؆\��Wݰ%W2�� ��Cy jw)GBc^J�;�n�t�t��!����C�N ��h���ý\?���=7�6���z]���Օ�v�(���Yb��F���9#���4h��n�� +w-A?*��{�멏�G��Q��R>�(�����ޗ�-Գ�Q��kh�SL=Q��"� ��.�g1��K�N��� 8��+V�s���O�y�ֈ�2lGƁ^A�r"�C�{�v_W�?�W�'e��X�$�������z +�zH�m����%�+�P�0{A�C�J#��(�8�&��S���׋�i�Py/4O��;�!�h#ʖ��]6�ap/>w�Z�/U}��>�!t_!��rh'S� �� =��Q��H�8J� +��(�H��^hދ���G𛣴�_�hi��B�R��Z���Vކ�픩����aC�W,��D{�ٱ�n�� I]a�tE�k�^�dpΑN���AK��l��m(�#bគ���6��NG���H�Oa��/��%�B '����)$j'�:�N�v\�� z�� �KS�� +��oB f٥E�����,��H�?e��>hK�N��G�/�N_�*E(��� t�M�E�8�+J;�8���]Nؼ%����@��t �PXr48�p�F�ʰ�s� �%��H�~�Z5g� +!K�pJ +�N.�Q_/yQJ�]�PV��_ ��B���gK�[#���*��>�4�@o�am;q�� �j�e����N��^��X���r0�������具�'t������ �\�*�1���[�N}J9��ס^��=��ޗ�Z�$�*�m��0_-�^6#�xx��ۉ<���7e�cU��_)�l�~�h1�E��\@~OO�_������Q��s�Vsk���^B�Nȋ�}�n��ue���9E���4I�I�0Z碽�T���3z,Y�z1����O]��D��8�O��:�)�y�6Bmp?�������A�X�$ 񣁥�>Bv�9[B���h6�h~�-��_;C����=�cv��n��Ω��I�'^��I�.�l�Beܿ��KD��-�/�#��N�1O�;�<g`��^y�T/` +�G�u�tʖ������Q�3�R�z0��l��_��%u4Fe��n��C ]a� +��9-B�$���G� ;�S>շ!� JS�F�s�P�;�'��ȫ��D���{��_�rg��>��FI��ߏri�>!�m�qJ�N�qd1�(�#Z� �^�R�G�l +��� +�C���s:�$&��B^9Nb�� �$`w���k��A� +8y�"!�x�� +�:G3T���r,�@j���wbݰCR,�n��=�Uؘ�r�^!tǕ h}4�A��P/B�T�}�U���?�l�\C��Ѹ� +�o#Y����GF�wc}����ǀ��r]������D�6����`�[�g�}������9��$<���9���ڨ��as�Θ} �G���c�|��>g���û�p�Gl�ٛ�8 +b@�����b�z/γ�S����!8{p�f8����< � +����J$ҩ9~�8��? �9��u�A���sA�� Խ �z +���kq���94�M���|�&���&�/r�� �GI&��D�؇��T*~gx��'�P�(�i���;:����s���c�*�Л8�4=(�h){S��� +�$R[|�U�h�D +�� B ��q��q�i:�+�i�D� Ei���7@��N>�O�QU�΂/�B\J�#����jƦf�Zohc?�>e"�P�}-�!8p6��q��xБh�Ƚ9莰�w }x�y����^��\i8p1�s���z�P�#�����i�Ig)ڴ187��Xo;��DRz7Z� +좐�y���׼����N�L��w]Q���^I�)t�}���a4�}Ղ�ҭֈ� +�4}@F T�'8��j$���w��i��#:y�zD�;x���+��“ �� }���h�N�X��=t�@�/ AL�Sѿ�x�FE��$u�[�t�[�H���Y��Ktƀ1�;:E�ju����pvJ�i^Au � �Q���<Ғ�Q����HEy��$o+���W�V��*�0!@Ԁ��A��eD7�o���T���qG99�ą�� e�*�hT��ow)��?&��6��rNa���+���hV%A8�>G: +�Z��;���I3n:=���8l�a*3��u'��ȑԾ9T#��(L�g��h}�L�mg�1�[�y-�o'��b5��9o��N4a.�a�3�wH���d�N���B�G�-:��� ��VO����ˀUPNb-�Q��jSi�P �=�/\y@:����&9�ߢ��K�R�1�2L�†���t���o�����F�JeSH)L�xN9n˳��p ������f[�K<�@���<���9˧��2q�5˞��i޼#(a*0&�Nu�r;p�}���>�&�H�ᙂ<����Y�;8ѝ��\��c�� Ų=-f�8׭��c7�#[�#5|����������b���Kg�U���h$̟G��D+a8�ZS�~N}A^ g38��IX�NEj��S��5,M�7��f��93l�!��9�M�h����|��80ۤ��ʄ�~G?ĉN���(�-�����12B?�x�$ce.4��Q>:�ó�xv#s�<�3'��p�>��=�C���0�]o��v���8Y����L{6�(���}�|p�5����U��хj= +�7�����m�Ǩ�fM�� +{� +��.jDރ����m30.܆'��Z�^��n�ݺ��Ò�ض�=�'��I��g���և]c��Ӥ](�h���P�>6:��~���T���Y�J��${PYj +ew���,�\�{X��Ȋ;� ++�|������`��=���rΥY9V��أ�2+�HtVD�U��g�YmV�=�/.3H���� +[�ro�T�Pz�����������%�����+�}�}�����́��} +H❁]���$`�J� +� +�\�4�G�� +�� +�߯gB~xxxx���W�ׁ��Y� ������P-̌� +Q�RZ�|YeI��2�+��l����*ʂ�)�S�WSْ1)/�'���BO�ЛqK�WMY4���bΉ��A�碪���аgF��>��Z����<��],�Z��l�f+Ը���b��vJ+����kմp-R��Zj��Zw������kk���v���^�W�5y]ސ��Xޑwቼ?O�+���_���-"ʊʢ��+�+:�."Q�)b�/��l�!�Ub��P���{e�O춯��4-T+���g�qm��:ZZ3 3��ifcB�y+~0+���I����,�l��\��Z���VC���` +��[��f�u���x�3zf�{[z��T����f��y�u�s�j_������k�˪�Z6�.M�h��H�9 -Z1�@�rk��-?��� +�+��x��Q�T��G�=2�Jz��vY��W���𪫪�S�z;V��W+V�r��j��U�ډjW�U�Y=�zB��էW_V}W�Sկ�a�a��چ%�� ��.lOؙ�5 +רV#�F���Qv�5�;�x�:ѹnE>�/�����\O��F9�q�}�*�\m�F�C�Q��2�6D폺�۴XӚM[6��tpӴ���nkz��h]:�nt���ѩ�s�m�i�R�Ԛ-��bͶ7;��J�+�tLDL˘�1Cc��,��0�H��'��=���.O�ر�w�c7���f���-�[$���"�ņ{[�iq�%� P�ݱ�ky[/���6nՐ�pWׁvZ�r�kk�[7v�I��}m�ٹް����6;��+v�O1[OO�v��k;�S5�kk;�S���}m;��w��ƛ�Z�6j�>h=~=�[r5��y��^�0�~۽�����K� q�p�`�ݧ�gX���1,4xk�nV��g|�j�Uo�0��4��������꫞��=����1Sk�Wy��Zy!b�8��#Yk�ڱά;�˒�p|d*��f�K���}�v��;�γ�,�� �G +"�z���� +��z���2tu�#�!q��p�z�p�z�����G� +���Ã� +������QH��aV�n����Q�FQ\o�p�eW�o!��-��%q�a<��M�����T�[�Ho6P��G�S)��_7�8�)�h�aG3��fʩ|���Tp�R��K%G/��<�h������F�9���9��h����Z�F|�FjC#�F�8�p4򨣑��F����fl1[���h�1G#��Fw4�����HCG#��i�h����(G3Ma1ю~�9�q�򤣗�FZ8i�h����֎F�@#��F�r4����ӎF�9i�/h���F.���-�k�����3�F::��h$��ȳ�HgG#�9�w4򼣑.�F^�F�:��h��c1=�$8�� �It����OoG?}� ��}����%��K?G/�m�������@G#/9Iv42���`G#C��G#/;�hd����F^�FF8y���HG#���v42Iu42���8G#�93���X�DG3�;���hf����Tn�a������UD骲�-G�h���ţ��k�߰�@y��TN��?�+�}���gY�~]�&;��;��.�h&a�;���i�G��*�vI��!G +�vL�ѝ����F;��⮢}SmN@ܹ��)�+�յq���Ҥ� ���Nat@�1��E����O���Ri�T�y@�.�f�W ����F� +��~����i�K� +���1z�{^@���XҜ�?ڣNH�Vi���o�7H�����#Ҍ�=7]�Ͽ�M"�o�^�j{3�9�����%�I�wG�o!���Qe�?�I�Q���0��<�����D�Uk�'���΅n6w8M��?��϶��1�|�~L?���k���,v@��jE^Z�ɫ�0�*W��T1N��'�Ij5>U�T+�jM��V��� +�2_#֩��V�>ߩV�{�qX'�iqN\��eqE\�D�������~T?����m�/5)��ni�B��,!�� +�Y]֒ud=�|\>!�&��l&��-d+�F>%���e'�|A�d�O�$��a�U9J�����r��&gɷ�|�@.�K�J�Vn�[��#��D~&����A��R�_ɯ�I�<+���d�����כ̎f���\d.5W�k͍��s�����`e���=,>��P�����Yy��UG�Q�ӿ_�J�� +�,Ί����UQV�#�*~?�j�g�3�.~��0���P|������Y-�~�����aV[?�a��I�$����"�=�=���o���-����깬����Ǥ X�䒳ǥ.u�@���=! +i���+���,"���2D��&��,Ţ�[�,/˳hYYVf�d5Y��Ț�&{R��p�\֕uY Y_�g-e��d�dـ�� +eC�F6��Y���Q�)-�Y[#c�Ӳ�l��ɖ�%k/[�֬������V�ee;َu�/س8�Yvf��.� �,����9�(Y��-{��e�Lb]�@9�� ���*��nr��ˑr$�!G��,A�q���('�D�&�X/9UNe��L9��s��WΓ�؋2Sf�$�-�Y?�D.a�� +�� +�k�6Pn��Kr��̒�6�� +���`�S�dC�.����=r{Y�{�P�_�g��y� +���!�<,��<�^���16R���(yB�`��iy���g��*��sl��)o�q��^s����w�]n6!x]�:6�lo�g��ϘϰI��l��if�43��fS�%��n�0W�7�5�6��`n`����f6��fnc3���v6��e�b����n6��c�ao�{ͽl�y�<��2���\�y��m�0O�y�i�4�o�3ϱ �y��c^2/�L�y�-0���X�yݼ����[,��3��"�p����ػ� O[�1<[j +���e֫֫l�5��VX�Y����k[eM�&���k +[c�a���Z3�l���&[o�m��6X��l����d-����B��z�z�m��[��Vk����o}l}̶Y�Z���}�>�u�:�>����dۭ�����w�w�Ӻi�d[w�;l�W�j��Q$�� +��O���b{�x`�y�{������}އ����2�2�s5�Tdo��p�E5�"G���b��'2E�X"6��b��.v�=b�8$����8#΋�jL��b���E�Ja� ��|@��2���$����|T>#����n���/�r�|Y���*&�� r�|Cΐoʷ�;r�|W.���z�|_?(w���SyJZ���u1�.�0;� �w���js�������y�������� xĆ���#6�G��Gl +� +�� 1�Ix���-�[�#��Gl +��1�)xĶ�O÷��Wk��^�x���j�����Þ�� �|X<|���a]��^�� +� +>�;�>�>����Z_[X��|�𺽦�������8�������W���px�W�eF�˼ +/3^f��hx�1�2��2c�e��˼/3^f��Dx���e&��L��Ictj�M�n{�H?&.��V��jP}���t�B��$,��� +a7��9@�)�����:�oR�U$���� +����NH�x�(����W��v):���U����;�o�����k%��2/+����;�γ+��5���jմ�b+�BT��"Yc�Z��U�T��q�‰����͌�7��v_Txǭ��[�W+� +��"��H�R��s����R�)��7 �MHQ��}�B���O]�S��~�W?u�O�v��d�w�R�H?�8(��jƔ�_θ���z�R#�{,Hyo� �=�[��t�.��fQ�Yݯ{��.l�;`6��Țz�{c-�ͼ�XJ�V$k��)�- ѩE�˪ڕu��Ԧ���4�o �g���oa��`���5t;e�˚�X|�>ީ��i�Ҏ�ڵ�����/�W�9��R������������5��9�U���U���vGw!wg�ȕ�P��F�j��W��@��78����l [\X`��h�[wE�m� +-����0�����Z�{34����HK�~�(����O_������4<]Z��=m\ة!=��Y�Q�)GVS]��G!;\:�^��� ��͘cƨy�o�wX���˧�:W�]��r�L�{����/�s�U�; �&��J��tA^��Ͳx�����4<�Yp�/u�o��f�o|���w߼��[Qs�9e����?�V�f,�&��m<��hO)���Z|��7�^�����"�P<�Ļ|�����|=�����K4N_L��3�wy�7�{O����U�[<�@���~FwE���^rB�S�-U��������eN��+���o/��jWR���Lޡ@���Τ +��'�1�4^��޻pX����V�K�onS)4��ڍ��xfG��<�`����'5:����8=͗������v +O��vA�{O���8� ���~�p�8�p�N%��O[�eiJ�Z1�J�ǟ����4v.�&��,C���`�z��7��k���. I�Zk��v�C�n�K��a�p��F�xz20�@����V�Ծ�TZj�X�)�,����vd�-�V���;ST����m����uX!�;�wXa|��3��"�5>ooV���i�o�ؿ�<�����A�/��-��c������,�� xC���5AjQH�)Rk��;�41!iF����+�B�\�r�����H�@�'@�$�A�Y�d/${!� ���!�<@r����� $$� 9ɡ��|��Ð��p��KH�����H�@r$@r��� +���$�$_A�$_H�Cr����!���$' 9ɉ�IHNBr2@r +�S�� +�|�7�| 9 +�iHNH���[H� +���� $g$g!9 ���9H�Ar.@�$�A�]��<$�!9 ���!�>@r� �\�����PPB�Z#����Kh�k���~I0�[0�[p� � � �b�-���3̠� �P�� +f�if(F� 3�43#`���w���0C�<�� ���`��f`�b�P0sO30C1f(�ͧ��3��� �P�� +f�if(F� +�43#`���A���0C�!�PI�H0w10w1�.XY�*ɼ�|H�C2?@�I$X� 1,+�4s$#`���K��9�0GŠ&����#a��f`�d̑��I30G2�HX +��#s$��� ̑��9VMi�HF� +�4s$#`���U��9�0GŠ+����#�#�#s$�9���Y���$��C y��!y>@��.�t ��� �� � +IWH�H�A� +�n��t��{���D�1��c�����D�1�̀�CkU#����'y�' y"@����4 �4��$�$�!i I�IH�@�$@I$Q�p��ە2� +a?���a��k��X;w�~�3j��u�~���_U��(_]�k�?�s�U��Tv��� �VVn�J��<|�Z�X|�Z���*�F����*ȍf���h�<�� ��8{��蝆|�Zih�,����:�T ���e������ٴ>eA� +��.i_������y,��U�a +����\/Qyǫ����u-O��?=@rJ# �����*�b�9� +��61]��r��� +����1���?�܇j����-I�:-7��udB���.��j +�����**����=�K�*��-+�U��J���L�'�gg����~����]�4]�#wQZ� =�����U�ZH��L&� �S���p�>��5�X���w�����(�n5|�T/��[s9\��������:��}3�#��}9���Υ��b�q_�v.+:��<�=���@���� +��{j>!��� +�Kk�|p���a���i�{�XuO� +{��(5m?}�^����y<ҋ�v���x�� �]Q9�f�x�K���P� +p�h< �zg�qJ�;fy�Qԧ�E�q�N��jԟ�{�ڡ�b�6B�����{���j����V�m?�S�n����;\��Dmp�f������S��)��>�BQg����y������x��'��S�� �5��Ho�T�[S#}�U�8գ��Cз���6��il�;-|�j_���n�dZ;�t��:g�*�E�?\ʗ�|6�L���f5�T#l?��N�U����F-����Q#�2ey���U��cm��J��>+�)5F�MAj,�w� ���=Ν羲���f�a�u�Ɠ��}s�ST�b|&�z�#�@L1%b�ӄ�<��e���^x���a�c����O����~? +|a� ��D���{ +�+_����=�]s�Z��j)�oS���e�lmNw���4&p��5m$����S�SZo->��_]wkq�z.��X��_������q'�7L]ǩ��JW�쬿�J:��Ԍ�Z6K�۪5X�P���@jDV}P͛Ȫ�`�?�l�T������🨠;�x#����#p�Tü�N��)gG�����R�J��Of��\Q�I�e}�>L����_��Q�����a%X=�D�����c�^���~Vk�5�/��'�U��"���v�yJ���Y݁=� ��D`/`o``_��$`?`��_��o�z��"[�4��h��G���V$N3!�gD��V\�3�9]G�k�ㅨPn'T����qR�f�5Yk3+�R���9�(j����Y�W�9'T�-���>���ӄ��š����r��"�Bv�����9�L��Yok +�wk?�4Y ;�_������l +�/e����,^�R�/t��� -�!�龚�����,DlP��Z j�X���B�_9N|��E�_Ԏ���qL�䚴޷NY�X�-��h��U��d%[����<G����4:o��?� +�;�dt���zp����zО��;_ww��N#Q��u8�|��c�t�� �;�L�`p��Ƅ� �G��R���O���T3ms8��"4�Q%��GI����Q��(�p�t8J:%�����#zC��(����`��j�����j�x����k����hm���MW�� 5{X���6i۴���vD;��e��k� +-����i=��UxM�#yc�[�v<�Vݼ/�S���KWe�3u�U˯��|�����)~�_�Wx�%�p �("J���"�\�+�(�\Ċ���*E�HC�H1NLS�l1Od�%��7��b��-���8���%qU\�:׃t�^L/����0=\��ڦZ�n�t���i@��Q�Eg�*m���ki�6-�Ѣ-���h]��.p p)pp9pp%pp5p +p-pp=pp#p�=�f��V���m��;�;�w?�~ +�� ��9�� �� �a��#��c��ǁ_OOO��~ << <�x�=��B���-� ~�@�D�h}�oL+�c��Z�@�� �d��a��@؀18���� +#�^�7`lÀm� +�a�6�ܖ0�<� �`W`7`��d�=��m|����E���;�Z��k�>e�4���ȗZ�}Wp�����ain��Zj�b-�V���du��$�us�]����㚞���/��tV�ѥ��AO��l�&�=�`�!���HL/�cڲ'�.z��#�ʧ�|�F��O�L-��K�?�噂k����GT����æ��>�_ZM�r��b�gtWQ�L��E}Џ��F�n�z���k��� ��tu���o@���e}��c-ަO���$m: y��n���|�\-yOޡO��5���o`hۦM|eKX����� ���?�Y������Y�)��3In��<ն]�G|��e�7�3�w������B������߬i�:�&5�Վ��]�W�Q��֨}��>=z�R��5�I&R�BL� +��i��R���#�"�E�^ۦǥN�|�ݑ����ٿo��v��g��-���e�?�S�߷�[?GL������O2*-�e�+��:�W���ZN{�g9�&��������J�Zt��'׉��^�~w�����FO�3�[�o<]��MF�:Z���M�lq��17r',��v��a~�џ��O�����z�o,ժ�J�>�3eu�^�N���[�c�z��,�c�E��.bݕK3>l�z����S�j,�|�f���/Td1;v��;�� +���q|��N_��<�gh�>��T 8�����u��y�vd���1c�o82'�����1]\�jݨ2b�|e��+?���ҾQ��Ư�O�s�S�EO�����K-�w�F۟ +����ES&� ��l�ҟ�~Uu��^{���n��hR�����o�?dFH�V{�|Ro�o?�\�{���A=˔�w5lky�����_.�ڸOmyh���M��̍���3�ܹe�iu��S+�����GO��4�v�#�ԓ��(��ݱ�'&��R�j��|�[v���7x�n;]zF|���6n:y���W�h�6W�z�R�=S�6wV�W[�O?i���#����9�ɵO�|铻����H��:�(୞}iq�:mN�q��W�� 7�Û\�=M�t�/�c|�ne!�S�V��=Z="�[��{��5�%ԩW#�[�:5��U?������hx���n p����}V�f���-���:��)�r����o�/9@e�ʒ���_�N���>���\`�O9�.��?��"����w���_�H�:c�������#�m�2�t��s� +;��mK�1u�<��QYi���:��֙�o�<_��CS&�qr��%m},�٫�P�gY�O^���'>���2K �*�f���?���vP�/}K�h�=��ۋ�j�y�u�7�6��/���Jd�ݻwp����_[{�[������y�s +��{'��y�ǟ=�L����6�]H�.�Ҙ~~>��~���U�o��O/$�����q�T���Kġe�F�j�m�Q��M�"߭����մMnS�.��wF�:�Ka�V��n�x#xz��g\ K� J��`�ۥv +_u�/T��� +���j�>�}zt�3�ɐ�$�< �LM�����X�p���������#�.���} ���544ꭔ�I +:6`��_/���fH�3�F[�Z���O�p4��|�����U�-r��^ѦՔE k���O�Oܩ���!.=�1'��Z���⛝Z��3Uz�Y��EɃ:�Zb��;��L�<��Bٗ��}�~ȡA�Ie2S��S�ăf���Uϥ���M1߳7O�~g�g/��n�呢��&W-\���b�� b�� �^���Z�� ��WO���p��6{�A�ẑ�/�K�����e-���נ~Ɔ���Ș��7:6ر"���]�Ei���y�����K�P��뾞��U�B��,p���+�Y��t�������ʝ/j�~YyҬ�s�>���� +���{���=e +֞ +Q˙��I�/�H�ڸ�#o~_�hn��F�YϞ��}Y ߓ�f�M3��o���2�8Y�6� x��Xs�r��X�e"G������/��gk8�r��4^���O�Z��������_5]i���F��h;gt��W�b�<8F� _Rp����/*�K�k�62W�B`�76�їuW�N>HC��(-�+����=oHŎ�����V�����>Ra%ƳzY�BM䗂�v����S�����ؐg�K�}C6NS:�|�}���_%����z�?V~ƢY☥ױ]�Z��lC8eD�H��DE�p�엌/-!՞Y[�~T�8"���[���Ŵ�\���WxE�|����5��/U/�#���"o���/�D�<�>���;��TX��tckDv� �r/q e�F�u÷�(HB�﹯��}�ҏ�7�e�� +�95D1�����q���w#���U�vT����V�xW���mu[�����C�ʽ�x� �Gߌ˸���x��l}�(!� ��%�� +y.oa�GIw5r���$��ѡnߓ���_r�f�'VĿx���֧� /�Z�kV%<|HfBT�z:*���T�J���)�����n�5�M/�X[z�ijy�]�x��.�Ǖ�Yn����&�(ۮ�@P�7��[4w�9�l!�F���}���E��H������z`��~_��-U���H鿣�w ��7d-��*6��MGŦ|��W=���A(�p�uaI�NKP}����W��p�!��n������O��Q�l�u�a!.Dhe_[dSH�(�x��(�^j�͎��ql�q�QS&T5�. ���r�Ҥ�Y)V�=�}�2cb2��!��}d/:�6R�����9[��Ԣ��K +� +�d2�_����w5�g]P5�H(�{���h�N�4k���KA�ߒ�H�=bn|��p� ��^���%Z9d��z��^�.�R��l�z��S���$?>�׎0�G�Vm?0��^�q\k�(W�tZ�x7v Q�Ɠ���ܿ��%�Mt��ղ0 ��.�.��Pr��Ş +- + +�6>���JAP�a(�)���"+_ +1�gZg�yɪWwhĐz@C� +y�y�0w�Yv^�����a 9n8�=�֡��[�?6���Ā^k����L2 ���܎����ݚ�|N�S�Ws$�9�x�T�s��� >�[߶�^[B�l(�tJ�q�9�)5òuA�.�?���� �_o9؝���b��(��c� +�)�܇���\\Gl63FV ��������41a����(a��|��m�oM���������+)��Yۡ��7K +F��}N�NC ���ȩw/�h�X�O�v,���M--(�5Sd��C�6u+��8ir{��@Z>B����@ahP��2X�(�`�P�/E�O�� +Ȭ������q���rɩ*����ra�M�M���a��f���-G�L���f~/vq��\�;t�Bzx�^�������\G�U������ j�IJ� +�w0�d�IC������2b ���H�� �:��l��i����p!��#1���b5�|G/<,��P�E�s�=uFdm��;@C&�����΀NӷJ��W���� +�`C4v�g�Kdj��7 ИTy���T�@C7��&�s@cjr�����M ��VM��@h�L�����|�Eb�&�P +k%)��e(\��#�h�/M7�)�c�A;��"��z����>l�X�����p�Ɵx�Y+ξD��t������Ë=ǶRI���-X���Z��*w��n(��x*��0���,��)���В���F������Ͳ���r��뙼P�[�[$�����^�G�#�Y\I�~p2�:�;q9�ܓ�yK�24w^�wLmA4j��Ҿ�<�Y��|�_Ve��Q�� �mɘb Q��}VoV��|��Y��?6".�j +���/V����ӳŜ�y���tg��'�?�N����EӺMӀ�p��E��M�!�o���(�a�SI-�7_^4���k�M��@���"����O�4��k�'s[�u�}y�/]�>UW_�p����*.�5od-���*��o,_� O������o$n���U+�Wb����5i��0�����c�;e���b~�xLp�Ԩ;��q��5�i�+���F�L\�b��B�i��%�.�Y��<�=�����뒖�Y�y�T��0,����'�u�ħÇ�>X�}��ס����w� {�[u +�����rBd��ua``````````````````````````�_�v +ǹh�R8��u�f��W����A5��up��c��z@�=�r5��ہr +hz�{�G��!ȇ�rpD�Nȝ`h� +Ð;� �a���+��0��kp�|�!w���G�;�Q���h�@�:�0�<�����'x#�Ƚa�0�8x�� +f"��gP>f�܅ga6�D�<�|!� +sz��@F�<�E/ ��ȃ�߁��"����CJ��0^F>~�<�� �X�s^�|!����*�p���QK��?D��"�-��eȗ��ȣ �a9��s^�ȗA,��a%�hx�r����P����j�+)��Ğ��A��WQ�o"_ +)=�DX�| +�"O�������'#�oB�؈|�y*�o����zx�ې�<�� +��F��?�m�7�v�����]�[����=�[! y��|��!��*�]�3�C��B��{���'Ȃ<��C>�l(@���ž+�!�y�A���\� �<�i�!�!/����y!�G^?� ?�||��'�s�{)�)��|��GP������ ��˞K�38��c����俀��?@ ��B%�2�B� 几��"�j��:�R^ +ȏ@c�r4!���U`FnD~��y +�!�������z�U�yh�_#o�� ڑ7C���9&��py+�B�]ȏ"����g��ϐ��"o���py��{�'�"���z>�S��.!���O����+=g�3��p�������5���/=�����)�C�����.����2�B�G��� +���N�o�*|�����k����_���=�7�>����o��G��� �z����?8���9 _r򻜈�+N���S"�'g�� �(��F~��C�5�x�i��i�?� �pm���-bߴ/ +�����`;�j��S ���������������q�Z�~�iutd�M��vvv�PiuZT��z�l���y�������������1�F�!/7�ϛ���Q|�ķ| _�/�Λ �9����7����q�s��:o*���������������@�Ւ��+�w���� ����7s 2d�ySaut�i?xE�ϛ6�gb````````````x\���@�V�C��� �)��Z��3B����������������ё�7����Faut�9d�����7s899���+M���9ȹ�a��7U�gb````````````x\0t�P���y���8�y�q����;o200000000000<�pvv&�M�W��J��� �M��+��3B��gb````````````x\0lذ��M��� �)�^;o2000000000000X��Ņ�7��������8�y�y���l�z�L � �N�h�꼩�7��a�W�Λ Vpuu%�M�?�U������]췜7��7)��������������c�ȑ�%��+M���<���:xE��V3x&���G�&/1�^i��Z�-�6xE���~�L � t:9oZ��Ԫ������=xE�FH;x&��cƌ!4��i�?�|��f��u��&�c��cǒ?��z�頱::�w�c�hx�������VGL'{�_�h�q�W��k�N�gb````````````x\0q�D����vd_���O^Q�?�u<��???��ꕦ����q��O +^�G���A5��a���/[Z�5�pG��� �)'^�g����31000000000000<.�9s&��Q})#��~hأ%�^��~�����1g����9z�}�GK ^�O�ط�) � �ϟO�li�vR7|B_d�%� ^Ѥ~�o�OS,Z���Ĵ��Yo7�oh�?Zb����3[���j ��X�t)y�i��G?��=e�����_P������������������˖O�L�::�r�����0x&��Ha!�x @���I0^�XH�_��Д��Sz�du��u�C��a�C��9c�4�g�N�{z�O�N�yr���z{y��y��5�m��p�a�C��h�5vj[��R! +<�\���##l&�3f̒��[�x�0��Θrp�i�B��G������sy�ל`R��VC�9�r Oᆾ�O� ͍M𚻪|Ĝ��h,��+�=IV��}�N=�k�J�S�pDm��J�7�2��2w�T�O�;M(���%�P�~4 +^�X��w���%��`1�4T��r�r�\ݪ������oKVv��DO��z�._��[�:a���bǹ���u�"VN�HL�͍�eys̍�F���M�d�9��iY���r� �/`�6^)d�u]�#Ѭ�wu��?���;��%K����Ys��B�lnB6�u�S�R�d�F'�g&,'z�M�e����Mu�Y��c�,�w�����z͍]$�>�<0�I�� ^"'��H�D/#{~x������R��D�)�0�rSG4x+(׭ЕCx�f�N��鐵b:u�1K8,���T�b���.�+(碽�~��r9E9��+ b�WHtVV��.$+:kyMOz����+����Y�s�� #�TMO��#�C���;D�s3���B�#g���]h��:�mZ��(he���CC��d$�)��(K!q$t���Dzو�VN�5�Y3�x��5�����DJqČ���I�?�ɝ˝a��;�;�ţ��)�tfV���o���й�3�9�︽R�_>tN�0�_"I�H�H� 8�ʇO@y�,�S^���-#��q ���k��"us�z�@J�[J�]�ky|�<����:����cqH��O�I@��˳��3&ˡ<�{��1Y�^N���H^�p���N\8�9�s�Y���I/� ç�́���s""��,3�X8� +�‚�xq;p$�۹(*��@�3"����9�AK�x��Z� 4�'�$�Dt$�ɸ��U4���@�tzW� 4�������q�������� +�ҝ@Kn�TRZ:M�8���jE�*�6P���#�p$�S��Cl90h8{n�,N�k��#��#��#P�p�+}�~%*Ҡ,F9>(��)8����q�Ú�o�; D�A`6��N�N!�=-܄ +��- +�c���1�`�u����W��ф�{{�0�B� +�1�b�(Y�" CeA���g�OȂ��$�jR��A�!���$*������fnX���,���0����8��E��‚�ea�\Y�3G�|R ���\*F��Op�pq�GGY���1���%���K +���#��. ��N��8U�J�:U,X s_����dA~����vv�`oI��xT * ��Ԍ�W�灏TV89�|�x��8�Oexj�!g�һ��U�8�7rZN��vQ�iO�|. +l�4�h1�X�,̛' �W����*l�qU�nT���# �&N��'|d��[�,���Q���[�=! �P�!�k�)��S�}��3{p��q���� +q�Q =�\�{���q�on�������㋛���;���5+е�N��͹y����o�7�o6�p%1�wp��0pɿ����r����3n����\�y��y��<����\�i.�4w�4�r�Dg��~��g����ѿK���k��_Ϙ���>Η_�v�E\�]D �ѥ������=�����l��VnZ���*$R3RR#RR�bG��ڑU(k�<��j�jQՀَ�!�B +F��4{���H�(�~���o��ǔg�=����1��g�&c��CGxs�L����ߴ��ary2��Z.p-�T��Dt�ˉ+�߰���J�<��z6��Ŝ������˽��y�-�Ձ�y��迅���–����p��(N���A��W��r��v\��0�O�=#�鐳��'�Z�2� >��>��SZ����=���xx8�{�V�C��Q�����J��n~[�>t�ݜ==~54�c��$���:��N�N �r��d�t�SN�����#8s �������Z���M�fsk�-ܧ\3�� ��S�I0�����7��Zm;�c?D���F��{��ت|̏*�a�(舋߄���A;>�`t����G/�f>n�q�ݵ�\EVn*��R�ߺ�ran�rn��r�W�:ђ��D�sˇ���`��yn|�3��N���)�քޚ�u��a�$�3�EX�{��qx�&X�IM�8G��{,�j|W}�����Jg�m�o�Lq�PM��Ξ+=x��0���'�k��b.�K��s���e�T�[έ���w +�*�� �'�GoZ'�\D���?sC�Z�4\���.|�)8G΍��g�=pX��r5� +�Ԑ�����=0�67�M���τwp�����!��rK�����#�?�e��9�a�S��G�r.����\��pY���y�+| ߠ%�rP�*��xN�9s����\�2K�(��W�*.ۖȭ��x�&2�F>�$Ѐx�>w�����4B _!� �; +�P��-�)�|��-�����D�6� +�h���x���c5^��+� +¯� +�����i��r`���{��g0���p�[*<y��8'�E}��E0��o��>`�oB�`3��&�v"�qբQ�� +�yXG�''2P��c0:p��i2�BL��Z�:a��'�q�8.p?]_�P���WB�ҙ�2'p<�T� +�`;�6ٖ|�%:��(��I�l�ua��EP�x؆l-l��L���)�^��k���)S&Myz2'x�KH8�:����!��'�J�`>mt�-g�_&�{�T�2��4�I�ZP[A��*��Wr.����{K��V����n�:�l,4�4���~K�� \�-�8|�� �Ú� �[n��DOB�J5��|G�� �UWj�e�eOX��S�SE�Z.,_��֊ �v��q�z������n�z����d�9q��9�@�e�e����@�F�XI�EP�M���=� $\A9� �:LS�!� S�y�V-�����b�-&�6�hcg+p6*[����a�v�6P�P+��Ѫ +'�X{��Ox +���0;`v�ӌI�9 +�A�KiYC����ڛ�}�G���V��0��?z��a1nS�q/r� +��f�΃���~3������m��.��Գ�ώ���(r�1A*��p� +֎ui��*9|������ ^3���F������O����2�q7��S9��e�������W���h�6���#ߜ�-{x�-�}�oN\�֨@ggn��;���W�>�]�ړ�ޱ|��|o��L�i�0 VTil�p��nР��`'�Za��_�/��1��ظ�&�8t�9�{��ٳ���7��i�%9�ׂ����v�4@s��m�e<�L�F-Ἠ�6Į��-��F;�M��a���2�W�ƭ|���Qp��ѹ|� ���2�y��'�W�5��6�@ˠ�_���m�?�.~��Oe���.v��]�b���.v��]�b���.v��]�b���^0��E��# +�/Ia���Y�FQY��J�e�a*�m0]�eY�� +�5�(�"��2*��.�&�h�]���޲,����2�)�Ȳ\_YVbz�,�@jo=*�>S�ma�%�v"��e{�qB����e��p��v��䨑et��!z:��2���Ne-�;8�ɲ��@��e�G�?���1A�ў�K��L�q�,˨�c2��a���Y��1��.4�,��<��?'�$;�G��u�/�ؿ�7�<���bY&�+����$˘�I��7�_'Y��u��ć��)X��>N�T~��%ˤj+���UV�WY�Ke�.�U~�U~�U�h,��!�� u�V���<����[�=$�_��a��i!������N�Qh���R����i���K� +V�s��:�8,��9(�@2��1eJI0�<�c&�L{�O�R:��:�XO5��8J �b<���u�Ě"`�t��o��ߢ�MD� +��i-��`�$]�擩��zc���p�+�ģ�r�c�����X<���o���z[��hK�U�8j +�1��E�4u9�E�6J�[��Oy ﮠ���m,�BS��\��v���i�K�"�D����K��}��_Is��~�����\'kdɫ���hϮB],}�׎X��Va�uh��^$�B�=���D�մuq�}ԃޠ��ɖ�+h�ɴ_VQ�&Z��A(%��S ��m�?�&=o����/Q���{��3�<��O�$�L������j2Q�x��Xx�Z���XB[����@{Q�zj�'�QMS�I<�>�<'�jB�,����q.��=��UY�$S�b�)+h��� +ަ�ZA�}��J�Ut$R�����9H���ɲ��h����Z%װB�k%�d��i9ɑH��X��~��mz%=R��瓚��R��+z}}��KOT�g�l@Z"�%�>�2��Ѳ�Zo-�?��˿������4���\j�$�E�R�y����m���L�#���2�F��c"��k�W��—�x9�c�}t.8��0�Vҹ�%�o�����E��c��'�lDzY�pU�1�룳�*ZΒ{��w�\e�����j��h�n�^�weR���>��Z���J+!���C�6���B�:��"�\כ��|"��$���ё�ث�el���oվ'XZi�n���>K�-���~���d/�$[��z���]�]0� +�� �;�di��-��_3�͗c�k��3�9��)�u��F����N��J�R��|!�W����W���ҫ)�XG=5��.�$i-�^��S/�^�Bq�Dr���xwQ�4�EL��l�wc,S�1� ̱H���W���^��TG8�_B���8���� �.Rv.D�g���ќ��05 ùr>Rb���q"�@gC�y ����Q^%M#0]����Z�H�h��%��c�����i}D��*/��3D��yj#R3�s�� +���`��-����Y�vmCޗ�2�j@�� ;A2묧�T���@w9��J�JgӁ�z�g��Ѝ5�����J���3���ʧ=2�I�Ԇ�h�]Dq��8G�����s�|qƀ���y�|��4�O�O'�]2�o�8G�"x�<Кk��7�_EB�$ï�Z"�pu�}}��"����+��| ����� ���(���=������^���C�#�6�����/A�`/8� 8 +�(; N(F��&���a�F�$��M�f��[�҅�(%<@��8q�8q���X1�b�o�kPN�By��ʛ��Q�Qgq��:�?��A� ʿ�r�؎� ���e��(� ��-���D�:�_��D��O�)�*������S�E�+�W(w+����l~b�gl��| ��]� �l�؆�`�m%�U�U(mkQ��=��l?G��(߶�N +j��*� +e[�#�Nj'����<_=�0����Q ��NF�M��~�lu���S�?E�\��U�P��Y;�_�yv� �-�C{���š�]�k�6�7��C9��L�e��r���B�����#��5ˁ��hV������}����k�P�״a�Q�E��G����K��;S ��(7�7��doƻ��P����Q��uN록�v��Y�����b��� ��h�Q����r�v)ʯiW���M@y��|�/R�'�U{�yz�|~>�|�6$�:ɗ�E �W�/��Eo��}I!�)ď�bP`Ϣ=m~iS���#(l�Q��i@�l�k俱�B~���=os� 6�.�����K6�i6��"zE���>:��D�� ���]���h�m�M�=���Ă�Y�6�4 +r�ƌ)��V����"m���-�X��<t+6�$BZ�ʘ�L\������WA9�1��p<=��DS-�A�+��dN��l��B���Wd��?$Y��I�E�����$N��8��8��8��K:L��k`�,ك�U9- ��+SPW��(7S~��;k����Ԕ;S�N�x��(�<�� ��Y�f5WNy +�-�����(�L�u�oS�N��� ��4�3p��,�_H� ��;��h_bKn0{|4�y�1<� �a,��=�x< ���u<�+�$��˫��m�a�}eO|a�4�x>YD�>��A¡�[9��pΜ;7����s��n��[��qI�zn3������>� w�3rM�1����]���x>�O������B��B�-� �B�);�|�P)4mB�pA�!���j}ęb����b���+��L��D��.v��+� +�x_�+� +'���S��S�T)�)�Q�E�"E�Q���R�*�((��:�YѮ�R\P\Q�P�Q�W�J��I��T�(�3�A�y�pe�2F��LQnTf(��(����)����\��Ôa"���;�p���\7�>�&�~�pJ�N͔� ���,��1R8�:��<\X +(q�@�7��Ǥ���A�ȭH%��JwIÕ�rh��r��i(��j�`�ު4ML؞�O(Kh�1������V��^�:e���{VW��X}e��D�D�ĐĘĴĜĒDs���{k4k����{[���n ��eӖ�-�-���HW�{��/MOK�O�H�H��U��5p��I[3���Z��k� U�gƬ�(�}ۜ���9t���sv,���()�]w)�n��❳v���=�=��|ޛ�^�{�G����{��D�lV�T6Kj��~��﷿E�${&��z���){_vK�9~��>��`���胆.�w���v��ڹ��3r�Ƈ���� )�aчM^�Q�L�q1'$')G��$�����w/�b�v���}E�=��� +�M%���K��0���a�%)�q���Ÿ�Ÿ�c�r�}r���|�j9�#��/H��d��=�c��t��>Rxp;]�_��a����.9�+�erX)�Mrx\���^��n),��Iur�#���0D#�0F�p��C�~,��r(�W�!��P֫�>��R�:ȡ�z��D9��, +��09\,��r�$���0 wb�4ad�¥������H���� ÅHXõ �"� �#%!�"mDJG�D�F�E*Bڇ�1RR9��؉a��8�I�3Hd��t +����&��{�}�Ç���p��FBܩ]sA���1�DP��_��4��`8)) w}�‘"��!�b�bJ@�aE�Y\��~�'õ���dX7\K� K�J�)K|�4%K�Jf�L/ .�G9 �ܒ�i<�$��e%�%ƒ�O|1mzi$M��e>����1n.�/�/ +!��`J�1�����Ɩ,-m+�(m+�,=U�Q6Ë%�����\.�Vr�.,Y���\jiʙ}�*1���1�5%1���b��*�\�J�Y����Y��2גY��%1eQX����+�.+*s/�Fɻ�$�o��.����iݳP��2Wԇ�SɬOTX����O�x/ �h?��W��L�i9�'�/�8�a0%�����v4��C��yb�������}�m�ʺ1�!K�a�Y�ϴꇒ�H/���J�'}^:� $�D�@* +�:±�;%K�a٥�J'�<�[�P�.M.Y��z �M���Wvb=�0�E|}$}D� ��J��h� �8n�;�/��LY@镲��=X��g.R�ƩM��C%�� +K��6a�4���J}>Sb.�싗E��R�D�>Z^K�]e�ˢ�����6��%=�-i@h�}�[I��}}�Q/u!4��{}y����n�Y�e �B��R� ���e�Q:�>EH;���y�g��:�"����Po�!���$�d#R_�Z���/��*�� ʎ���c�J��U� +�,-�O��=��NE��|�����;���/�7�,i�P��'���ҜL�8Xڛ����s;�o�|�B�s�LV� ��.�O��[��eie�{}��tY�m2ϗzR��;d<�qy�tTU�U�o��xU;����|���U���oĴ�u�̇��G�h��[Uw��ʢ��m�À�;���*�Um8�1b/�nT�1�_�dԠ�$ʼn]��%��K2)���D���ŧ�|��!]2��P�l�/1J��n*c����%�C���`�l��*i.��C����Gד҃�n+z��� B}q��Y�k����B���n�&✂���Ҍ�q-�ׂ�q-�<�$�s���b��{�KG}~mG�)�A�%cɵ�3J.P����4���dK��f8�X=/�3�2�o����gQ�S8����u�}��8�,�jY�"���e����>�$�rP��QӷO�T�G���G������%�s�B_�6a�T��7��E��uD�_�_%D�����vBE�K��7j�N`}� ~!ކ�b��OF?����6�R|�� ��So�yv?�'�'������ϳ���di=��0G;A;^��UG�]�/���l��^p�A\�� +#��F ��Fp�<+L�a��U� �7�7�'�=�/��%P v��@O�S��7e�)EN�T*U�� +[�s�Ev��_�E�-�>�+��s���`_�$�����u�����Jz�ɂ���"�^��^ ��֣|C<��s�9<���3�9OV\P���C������O"�?��N�s���C�g�kAxO�B��B��BT(@�8�����S��.'Z��}�}��G����o�O���i�30��w���]�u�v��<�r�E!��<���gu��3�gؗ�C�Ɵa�|օt��U�H8�>�Fzp�GR!i���ܐtH�쁳�H~Hӑf!����<�����gb�g��x�?�O���bij��T$�#e"e�;<���E*(A���C���l|� �ɈԀdF:�t� �q��VD��\�/��d8{��=�� +g/�(� �K!�z#l�]P���� \��p��p.����M炸0�[� t�8��y�������'���I�m:�ݝ{;���y����J�W:�;����y�3��*JI�';3;/���ֹ����κΔ�z��3��H��\�y�h�7��J�;s;�u�޹�3�sJ :7w�wnG���۹%5���L�3� +���ԙU�ՙ�)�Y�!w�T�{����q�3˩:�:ntN��ΰ���{:�3;nw��:u(]�t8���BK)O��Ԡ������N��w:�:���q�������k����杳�i�%��7Ž���P�w����.�ͬ���4��9�8&�p�蚈4i&R RRR8R$�2$����p��Z��kK�-]��t��҅kK�-]��t��҅kK�-]��t5Ʉ�K�/]��t�Eµ� ז.\[�pm�µ��>��l$%�)?G�N�r�� ד�87����4�Z��p-9�kI��w��>z�ނ�(/�;~"�IJ�'N$�XbӉ�;1m׉�{�U|��C'*NԜh:�v��ĩgO\�>v +}���)�\{>B?>���S��������VY�HY$�v�v��Q���&�Om��x`c{� 8�<�9��H���#�%�%ڬ��ƕ�8{�/_� +߭��u�� +���^��O�~ +6�Q8o���8o��a���7����Z�j��>�ڧ�O��v�� �'t�/?��A��Cg�D�5��x/vތ�j1��b��8��qD�����šr�Z����٠8J�h9���^�꽱�"��Q��8����K��He�� ����G��Y��kI��Cq��g��ѥ8M���ҽ�4��(ގ���#��? �����k�DP\ҫ?�%)NlX)SK?�͸�)>����Xq�6ͤ�?X���Pq�v��%��6�4��nm�~e��Z�ɳ@S��4��F���4ѠD>ՠ�=lr08a����JS �p�y���n6yR9�:�'>��fp�m1����H|����S{̴ �vGn�5L��+>d��2%jϙ" +A��LɆ�ګ���7L� ���/0D�v�2 ѵL; +qu�i�!�Ne�7D�i{SR꜋� iun���N�e7#�c���e���b��:?S�!�n�� �e:d�#�0� >l8��m�ʟj�1���E��p�<Ԝrl�fS���n�~���n����n���p�.�Y��M �('���L9��h�ںS��u�M��)'�[�I人3���/ ��Jߺ���ꮙvbΛ4�J�Qyz�ӡ~ܯ��YX�.��Fz�ԎVzh�bXP/��We4$��꒰���R���m4�T.��4ݭ��o��7�^m�����X�9�1ϥ�L�Y��պl�ve]&��F].��o����u��J��A����V�2�~*�S�L�����@3Tn�[x0�2�>Ĭ�̬[X|�2����2Ө�`l{r~q]yqd�z�pa� ʋ�G�nU�և�5�Eh� ���p�D�f'��5���Hl�>�r���f�ʲ:�ٽ��6��]i�_fRW6`�5���?���������X����i�����*��MvV��;n��j*鋪��wQ��o� ��9NNi��� +J�Ί[ +Y� +N��Ua +����� +�h�� +��Kq +>(�h���㨌3�9��͉U� +攪Ȇ s��̛qƨ3o�Z��^��7gI9�Xh"s�y��lhiX���1e�1t�šL��P��:�YO�sb�g�1+�Y�ڼ*�> =ُ����"?h�@��J2��g\UBC�iYUrC���u�Xɓ�65ęv�k%Wk�v��U;7�:l��h��K�Ά4�!#4�8��U�C��i���í�U��M��n8G緣�n�޻@��:2#U�k�C�g�s�ib�oU +�sS���t�o"s,��n:hr�$o�f�u��d�'��̫���nD���M��#q�A����>�ie1d��_LFY�IO2[�R[�g՟���d]��Q6�%�~#��S���*p- ��!c�6���ȭ��y('��uz>�խz!�'e����u�^�Tc�^�ԴAuL��V���;���fU���n�I�P�3��y�%G��~���c��8#�49�|�=�ʇ�����X��$��S�[/WoD}nU�7�5'���k��֛����ۥ:�3�.������U�6]G���������1�4�mͮ��t����c�Ww��?�:g�t�C�����:��r,�r3�llV���~��!5m"�s5��͚6u�,�V���Dg�:���ί5I�٪�7��Z�$?���������3��8�Y� ������/��'��p�?e8�<٤����Z�>�} w�*y�]n�ǽ�^�\�>�m����ךL3��)ʹ�8F�}�D��h]J��)T^(y�%�t��fs(��;� p\�k�0%T?l��y`�g���6�K��Զ�3����s�6d��)�!�T\u�Aov��h؋3@M����P���j�?d>\�^���ĵ�æ��w*� 0]qS�†Sٿ��U����|�w� +:̕U� +�p� +�=�ϖ�ZUΡVW.�*��7\5��0��z�ܪ[ +8r��6�6M��6cm��M�0��Y͡5bst�'���8ۤ6j���Fgs�]�)|�نK�sD�Q����bT6�̗���q�Uō����QڧI���Ps�ٽ�ܜ�6��hl=S�nNi�X�М�6�ƥys�̚Q���k<���Bj��ֵ��Ll�i ��ڬo����p�m���y�I]Xgl�5�h>`�X�\b:+�x5a�F�J�\M8�9��͇�ʚ��ʶ��ҎZڻ�,��-�w��W��%y��\�c���T�5/ wM��4���5 ���6�$7w`+�7w�e�lj>�6SZ[��M�͗��w��LEw8���Bڧ�d�})��eoc=�*�o��򡚝 +�}5!������|����3m;������Yޥ���2G��i~ж���~ׁ����D9��o˯9Ԣ�e�n\�+[����nԵ�:��W�mqn +&��VL��`ME����E��X������Y-��#+ȁF?s�ѩq��=�J�,�Ūv�ftm 6�6��.���8����i�����O�BS�qr�bs�ѽq)�ɍ1�3� �F���V�И��E��O���qc� +W�tl]ZC(�'э�$�̺�٦]Ơ�Zchcn��qAc��}�dN�2F5~��f�n,k�R�[ǡ�Fs���o�&�)&��\�fLl<��kLi���4��n�k +ܯ�R!�I�n�g����������v�)�5��Ѵ�u#�Ӎ]���L㹦��l㥦��\�զ��"�FU�>������M�[?6>h�T�\��r�h9q����oʯjo�5;U]lR�k��E�SM[�{ۡj�)���ZExM{�_[Eͩ��m55g[f�5�\l nk���2��]���\oY�v��y��gkn�,n�(�mC[��V:�Z�U�S*=���m�pJ��[���+�В�v�Vْ�v�VӲ��n�SKz��ZזL,E�uo�6��z���ܣJ|n�Q +y�Q'�9�N{ԕ����M�zM0�WLG��H�BVã����?��hك +�N֤�~~�쎎��qttGG��w�)�k/��kC�:�Z�Ӳ�h���)٩G���Ѹڀ�2\���I�6���hbmh��h��9�d1�����k9s4�r�����(��Y_������6��|4�6����͵�-'�n��o�x?�-){~��ƒh��#���=E�{4�~����76W`�^���'�]a�e� +K��^�4h�`�8��9��� +b`+L���� +�@1�W� ^K��C�B���3X����&�n��� +=��s>�.7�� �\0� + ��\.|ɇ�/���k|4��o�9�����l�0�e�^����Ta7L|J�ȍM����t�<���^��8�$�I�T�4n�r��En�2L��2Y�6�B�Q�ǭV)�p;l�U㹏T����.�$�$�j�*��L��%�*\���E�[��{� +Tz�[�WUǏS5���s�w�� u���M]���w�m��ɿ��j�M��ߦ9�9��Vs\s���|��?�9�9�_�\�\��.�~�K�[!U � 5��֌�[k�6mm�ھ�Jg�^�zc׷��zw�� �Pfh2�2\1e��� � �f���� ���l~F�{��]�.p׸k�q׹��s��w���\7� +J�k�k�!���x�[ޞ�G_r�A˻�.���G�#��{�?�C�/� +�~0�+���6��K�e�/�w�CL���Ù��l�<�ّٕy�K�W3o�|;�;���w��:�����q���#$�?3 3hGxfh�̈��Q�љq���)����9s{fVfΎe��̽�v�f�츾�^!Hww���gcNe��f�}Lq�tG� ;�w���ٱ �Ў�;w�ڑ�cώ�wT츲�fGӎ��;N�8���;g�Zӥ�X �u0�ѳg�At,��1P/�(��8>���^ ��~����UŪbxE��cX�:����*U��է�O!JeP�*U,U��L���3x]�;��pLq�G��'�TF�a�J�:�Ș�m��m!�¶�o�ܶl[춄m�ۦn[�mӶ�m;��ږ�m϶�m��V��f[Ӷ� sFy�񌘌�g2.d\θ�q3�NF|ƽ����m�mI���l��s��m3�32���3�nk����Fq6�6'�7���������?��3ßa\�k��ת_� �I�I�����,p����/M�|?m�&� � +�b�i�7��$ +O�^_е{S���v�,��{W����w�)��]\�`�A=��^��B��]�w�ݤw�ݦ��n׏�}J�Kóz����w_���}]��~������Ź�_�����j��N�\W}j��~c��>��>������\}nn����A�}4=T�1�Ch��,7B_��7�{���8�97Q<7E27M&wsA!�lK�v�.7K?.7GLu��NDk":X�E��Dҭ�R-W��@�[��I���FZ�t��v�Dgj��u�����~D�Y���BD�s���K��W�ө}n���-J�s[�wr�3�}���Q;�.�&!�����.�2�^��0�/t!�G�c �TW󴅣H�Զ�N{�0�Y�Lt!>��V�IC]�xjbKH�'6��#�i -�"�竟��W8���������a��©y� +g�Z��Ե7���k�=R�7��A�B}f�����a�N�mrH��*N��]2F��"���{mR�{�v������oi/O�����/�m^Lax~��60�͓T�,/�06�Xx0���P��6��0�����o���G��nhg�f�0�T_<����o -vh���]H�0_��zc{,~h�{���sdN$�u�;q�Q�����@;�>g���_/�� ���}~N}�X +-~o��V~�W��_�-�q��{C���\@��9,P��ȼn �ZB����Ȁ����h�=��2�X���x�X�(ϗ/p��t2����-��cr����س�U?��Ud]$�e\�a2^�f -~d��`@H�&s)K�/�����X�`���d�Wd-���8w�e��y��9�$/�pSﺏz��fX�^�F|��#E�;I���+�E|;�����=y���/���������w����+�daSޙ�6K�H�^�Yx1�Ba;�[��>E���� +�Z +��;u�u,(:�;���F��X��@A��Y�-s�e,���9� +u'6�� �OK����K�EW{׷�s��9�@�5d�/?�.X� +R�nP;�c� ��v��nB��ay��n�?�4�^ʲ����=Y���Sy� +�R��)��w��z�>������辋�s��=�>)_,���.���P��ߑ1n�ϑyեHI��QE�|�"���E���(b�;!���D| �ɟZ�?�ȇ�y?�X49?��߲/�+ +�/ +"6ɏ, +��!di�L���- m%�#���E��O(��m���'E�/���T���Q����(-W������{���r����-h��t˾�`{у���9?V���=��������!"!� B�A4��1� AD@DED!�P�H�"��"��k +1�j��c,��X��k��b���Zj��k���c��w���1�{�?~�g�,֬Y�f͚��g��/y5�i�ڸ�i� �/�r�^���g�Xṉ�}a�K�/փ��nKcO�6�7p��/w� ���R� �`?'��q:|��߆�٦<7�|G?b�1�ep��k�a9ď� �u�}m2�Ll3�9�XK_8�R���k +�ẩ�/�})��������m�����wܟsN�������/kŀ���Hp�e�d�nˣ�ےe +4�Dz �P�i���'���9��o���y:�| wO� +wO*p�d3��wON���i�=9��'��r�=Q�����{�L�'�}|�D�L׽��Ρ{ %�H,�T][�P�R�V�Y�S��²�����k%u%kK֗4�l.QK��l/_��dOIT���C%GK���(�*9Sr��B��ޒ�D���/��R�R��R�Ҡ������%Vo +~�!�Y��� �{��܇]ۨ�D +]��� ���Ż���wORxH�R��=/��$2q����4B-M+Zk�t�4n��q%���r +k��OOEkwQ�sJ�<=���Ca�ӂ�T��s��v�1�t ��g��-_R��~Nj�w����}�p#�ⅧH��%)������x���X ҄/yg���{�D9�;E5�@QKa�h�Dm��'yI^�.!��M�Cm�(���|� m�0[��%��im�[�-�6ߖN1�(ݖW�k+(^��wy��Ȗ]�`+��l��5�u���&�-�m���V�>�A�{؎��u�N�N���(��ZHjI:I +Wm�F`)�p��K�� +��Zq��++Bl�����1��W�w2������fێ��g���T�t�w�_qa��ߊIQŅ� +�ED���-7���M )$�FZX +$œv�I��id����E��9E���<�1�\NJ%ˊ +���k �(�G����(�E� +#+�H��Ԇ�+�W4Vl�5Ul��n[W��bO���CG+��~�'*��u��{�+�U���:�����#(\�9I���wW.b������u�̭̯�6�5t���L�,�\�=���坕� +%�*7Tn�l^�[���sEcqa�uy_�)֧�wys��ݕ{+T�l#�n��[X�*��R�U�K1ipUXUDU$ۼjZU ��䢂���U�܎닫����(TU�U�(�V��ZW��h~�ƪ&�-U۪v��U�V�C����� [rehe8y~6y,FQ��ʩ�#��+�h �V&V�p����j�Y�����5Wj�jn�ʵ�Z�Z�Z�ElS������EE�a4߬��5�F�F"N���5�8�6�6�$p\�G�F�>B=��!G����[Ks����lHH��?Y����-��)2�>���S�����P��om�>^}�����3��/T_�^��FTu,�1�x��p�����Кp�&��L��^W�XR��dm��^�Q�Z}�࢚�5��j�k +kJkV��j�Q����f����\��fG�5�Y��p��U�<�����َԴմז��l���k���Ԯ��X�D�TF33����*4W����_�R��vg�o-�ѵ�j��=V�A�k�֞'�ګ��j�W�����W�Q\�j�ͶjҪ�UѫbW%�:����LZ)�V�Z�vg�3��U)��U�V�*_�������i��i�b܁�ڈ�󅴴E�.�]�~i����'�˗�-ݲ4s��|u鮥9K���d���˖"����Ǘ�/=Z�Ү�K���?��n�|�|��k��zd�~�ϨM������̥]�I,$;�S�<&��4� ��_��T�Fi*������֬J��Jq��s)�S,�XJq%�j��(n���b��n����n�{)�x�"�n��N���)��{(^�x���(ި[S'S���N��5x(�P �f�EP��8�b �x��8�=�t�k��*v�8�â����b]:�d�κl���A/�Q,�u�}� ]��b��q�C���V6��z�}��l�����:`�Ö�FJr� +{u�u� }:R򏺍�\�x�!�7�Di]�����sH7v۪��`j�}�ѿ�n3���ml�N���9�9�-#t��v; O ���nh\ +�/��@c��f^�G���6�;: �dg���i ���}u�>~ڜ6�W��R}���ج'=� �8���2���Y7��܋u;�H�� S �gR̩ڧQ\�D�a��8�}�}��e�)��T}���s�W+u�V�Q\Kq����qu�y +F ���Y���c����)����Cq�n�Շ�~�wh�=�����c�p6��a� ����.�g(��x��e���S�&�}(����S��>�����z�A�8�g�zꍱ��[����탶���}l�}�F��7�}������vr�9���N��æ� �~tq�_���F?��uC��q`��fNs���;�׏fc^���Y�U�s�.>A�����E:�T� ]�$�D�y��)�Q,�XD����b��?�5� ��K�F#6<M�y-��v꼠�겁�3d�x��1#v�B2d��E��gdp�s��Ȱ�62d9��n� +S�(�F���c���Ʒ��P�ߦ*�R�n�;CG�R� �'�'�$�)�)q���M1Y��1_����8=@+�i����'<�)#@�1XH)DžJQ�h-���B��~�Ɣ��挲�)��S�B�># +��G�f�Gd��?�+#2#=� cア�}�l-G2Φ�e��\��3�#�|��B|�����|pF2�u��Y_�oƴ�쌢�����_pF?���j�5�;�qAQ�_f`FkfH�w�x.A��ze�AZ�$�ʌf~�ve�f&@����2�Qz-C�L��������ĩϖ���_�2�P�g��r�W��3��M#�ߑ�H(�x$W(�d�.�W��&Q�iC�%�ϊQ����`�R(f�J{�ƣy����ҋ��h?��%7�����?"Q�˯���,��E~C~C�r��&4��=�=O���|I�T���eBv��4,2]q�L[0Ϧ�G��!9Z�y�H�-ŖzE�������|=��>�������ίu�V����Ɂt�\Ԗ����<׼pRݵGa߼�ۜ�G:8�e���C]��{+�N#\��v=�o��.�faѕ�g?{�����v�;��vn���q�K�%�]Rl�vah���v9��ʢ+d�+� �2��aQ(�y-s:�`���Nv�v)kM׃�]�2��'������h �(�(��e;�� �/МI�E�9�%A���{b�ۛno����𕹹�7��7��Mg�i4c������ +�%e�m��O�Ɗ�Nrn�|������3�f�Mʞ��<�����]ї4?�wF!�$K̝�g�70���#K�B�0eFa�nWr�<�Q��,QH�\���e�L_.S�eF��s�$Y{�C�4��f2�۞�M��Q��,�g&��a����d�=����3[�l ���V��h��t�}t�^ֹ� ����l=�{u�:P�\�jf�/� +��ML]Q�3�Pl�ö��-�H��3й�l;�::��2Ol@�Q껀�g������p�j��"��a��B)�Ŗ/;Wv}���+ +Wԏ��HJ�.�|���E+JsGR�;�,ƭ8�}�b�ފ�=ܮ��Tf��+VR��þꊇ�x>�?��̟ ~���b��zgw�՗���H�����:䙱�7��O�C��y��,�.�[��DR� +�".)=�oE�6��;��WlH�]��m_ᡷ�(��4,�>�����rEb�!'�G�jb�03){��6�ʋ +��ΨgO�Q��aː%��1�GnY�����R���4�u�>��e[fg���(���R,ٱ�4����h�ۙ�C��í �}e�gs]]�u�s��}��?;s&�$�hZq��pE��I�d�n���&�}z��+�u;'����&�L��Z$Y���(�����M�"�ъ�M�Š8��*�Tc�:݆�3\繿�����U0o���к����t�HWݤ�zZͷ�v����w��P��d� J7]���N�㴳bB��� � '�V�{J�p����(�ZVb7�Hɧ�͢ˉ�F�Z +G������D�_�r�'�����:�*QO��n�ܶ����Vr�V`���X޿�B��"��;�6����Q ��2�j�f����\���.S��m����u�i +�dq��ԛ�Ы���@��.q��;�(�v�M� +�9I�G���$Z�$,��$4�t�AI�;I��bqeZ�$a<�D%i�����i�� ��BͰ�� ϱ/`&�R��~U��_x�/F�/|�/6��^ӽ����/�\�^^���D�-U,"��;=utML%�/��c`�C��<&��́��?�w+3Ɨ�^��i�)�v�tec���$q�M!�.�x��S�4H�o�ӕ#��Mm�j���U��]���i�i�vZ#�3yQLu(Q��ڄ��JS�C�z��B�v��U� +�A�U��5���r��59�j�B��l��t��AV�BW�J-�nQ��ie.+��4ʣ5N +Q� +�J9I�_!+()�gQ�J�o(de2��%��J��,��i�����!M�#2�'�je��� s��C��� C��:HLV���|O]>By�Ծ�R��R�N���q%O�v(����2y��@�>J��7TR�&_�i� �U�+1C%i� +�O�4[��F%�!� �:��i �W�C��Gn�.R�?I�"��/:��N�ý+��}r�.�.9Wڣ߽� �fy���i�/�\$%��Ь�ɓ��R�<^�Y[�A�Kd�CI)]��]`��/�� r�6�4�Z�wv�dMB�.��?)����_*!Kmr��nZei��h�3�b�nii|�W\Z�%�.�^�R��4�I�R�C�<)Ol��J�����R����9��?)Ajv(!��PA�Q"� +YG�|D�d�j�����R�ODӎ"+�,�r�U������4�Ƚ�=���;V�7��h}�r�\9޳z�l�Nj����{B�`�pW�1��‰;"�L�1q�� +7LɌ��6�3��Ć���O������:%jb�W&1�㓥QS�uCT+� �q�ҩ�D���)��N�+�i%Z�=���q�2��o��Ӎe@gC'�>�t�r,��Ag��a�� +y�'�4coTG^ +deN��։A=uaY�����,5�fi�����s������S��i/��j���{#8� r�Gm�_[�Q��'����wY��߉T㼎���8��(�g~�I_=e +/�2���]?!|x:�������" n���z�hd +��ȓ7��f=�}�񉿸��CO��C��x��{s�s��f�#�_���q����9���6w~ndn�`�F�c$�K7p=/��]��ӌ�ɟ#��ǿoˍ�.+�9m�Z+Z��z�7sO�� ��]�/z���w���β���{�� +��;�n�4J7�{<������?>�U��D#ޛ��O��"�x��~�a�q�������K�|m�wRi�z��9��;nrN�y^��Wr�#dj ��{ -灶o�mq�ͧ+Q^�i��n�m�����9�|E��%�ݲ%6Z��{^ ��x�E�d]�z}��V;�;�з�A_����P���[�w������84�̊X�� ;�Wh��ݱw���e�ޘ��ƃ��}�����1-���ϣ����G/���eϏ��˾ɷ�e��rJ߿��ّ|6�};���e��t�� +>;��U.�s�W�B?W|5.�s�W;B?�v8�X2��%����Xk�'BZ�i�$ �!��Ұ(邅����6�K + �0�y\sh��q}��6l�'H�:ő>��= +�����;��ɹ � +�0fa-qP`��\Khc`g�oځI=�^� ��5 ����� ]�G�4�3�‚qq�� �C���c�vȵ��Y�F�0~����z\�Աu��rjQ���2�:�L�t[X�0;,L���2~b)�.po�������P.C�RA <��G�G�H��&���y�#�O�����P"�/Q��(tNL��ul�w��5 ��ʀ�!~w +X�1`�]��j]� ��+�. +(��=Ҟ��cݽ;��ݻ�<� ��2�� (u�wf~O��ԍw +�b +�d����!-�ƚX��H����^K�l��O����!}���r��ۋr���lj1T�`9D� ����5�m(�Rө��cW�]9v� ��]�#�ڥ�5v�3����-M,�s��� n�k����cӓ�Q��1���t��%_�Ž!����쟣�Na��5��>G��(o��4H�8(%(A�:Ǐ�RW�X9_����bK'�:�h�j�,'G&OC�I�1��` +Vy���j�(�ʯ�w�Xn*��0������o�E���[�?M3�;���$I�R��?(�X��1�X�\�\�yb�I����g��e��B2%�U��� ���R��D�ߍ)����;�� +8{g��e?N�lS}gΘ�1;�f�G���cv N7hT��ߧw��Δ;S|.s�˲�Tf+x�I���,Ӑ ^�x3�Hz�k���u���J��S��I��R).J���:f:��f�1;��d�5��3� +]Hѷ&MOZL�r�����\����D�X4�#�N +A���kFg��}�H)ޑzG��+�.������>/�~}���jڨi���1ʗ�g]��������N٫ӯ���Q1A�A��m��4¦!y�b���ۥ�$�3$��(=\�/v�Q�n5?>�/S������w~>Orn��Y1��g%Ϛ?+}V�<�� +� +�� �hV��f�Ί�^6kͬu�6�j��B�� ;o��G��b��[��͹�JD�l�:F��O�Z�7���k�P����� +_��뒾b�w<�/%.p�4:٭rt���Q��Իۻ��n�ܶ�4�-���[������s�7��,���=^�3$e���(���E[��E�E���/zƙ�f\���~E�W��8� �DL���A�)~ޖZ�v=�㗝��z�sFR?�����'GP-B����P+>jt���+�n<��w�%��Z�6��e�dW�+[\R�>[M�jpU�ڏ]Q����^}o��w�ͅ�ݥ��e.����^��–�˥�%��W\RkFP��� +���[DMt�/�kK� +�r��@x/�GL�L������Hs!�+��I0]\Ox�h�� �J�3#�����{<�j3�E���c�e�9��sB-�:��ʹ����$�az/���z�Be��.އ�u3�Ʋ���c>���h�g� ?�)��^>G/�2.g2T������z]�|�q��d� ��� �r�Ġ�1�d _q^7�M����<vX���;m�ۿ�(�2���$�7l�V���n ���F��w�|j]1�� +|+�*���7z��D��昣a1�oB� +(�ǁ%�+�m<�b49���� ��h�]��,|�����,K�-�a��L�/���—6�սЪ�t��ЧV��+q�W 3B�4�(B����-9�#���Г�Qvq_�J�G�;��{3�p�Ϥ�F��$xN�|`�%��ހ��׃�zO����"IT��|�{A9�C���-I�O�ə�w��g�T<g�Gn�+HI��/�ə�w���G�d�53ro0d\>h��!8w0T�&��Pe4`8�-�&܏����r;Q�B��>=t2CPj+`�*�!��O�����2�$ȫ��Z�D��)��HE���P�̧S��g(�#��2K�+�{��KqBsQ�S�;����� +�צ�a�Y %�{�V9Tz�g0i �I�"-O �"���wK�"���/�� ��qEy�tΒ�(�a�q��s����� N�xM����(4� ��:K��YQ�[���O��࿃�Y�;�%s�3�?���˿ �q�?ynQ�G��'����3r���3���e�.�wn��O#m�I�Y�A*[-S[�'`�9���5�����cSS^��H���$�إ���*�]����*�a�Beͳ�:�s�B-R� <_YKu=ʚ(+6�o+&X������ +���/��x���X�+j +C%��_AC���mL�3�g=I�"�}��*@2Aurs�$��!'2�4�;�1����'hEz{y6V���b(��$��%��A�]�c�]����4P�_/HxBU�Sz;Q{� ++`�΃󰂟��E$xx�t ePv����<�?�;_�?�o��R�́>�F��9� +{��Pj%8#@�d�GP �u��R2�o����r����Z0}�(��=�Q�t�!-� +��3�-�O�K��к�xw�:��vT�E]��h��s���Գ�����W=ؑ��tS��-�o��&�Y��� ���y?(�:�~�r6@�YP��7�3��-���!��?��ǧM��i��7M���^�|F�U���:�����NP�"��S�����<�}�Z�������� �*�Q���~�]��M����.�����ð��łw���,� χ���E��%��x��1�`L��uf��.�B�yE;�׀��-�Ӌ��`�}��k�_C/�[� �#9�����[��Zm�z ������ƶ�����V����9��=�Zq�;kJ����4rs1S��\� �w�e�j�>�c�"�b�6~��a�x�+��d�9ƥX��šHs`� �㬿�+��a�"�9���7��E�g� 9�uk#��[��f*�8�Q�J������EP�������y.(;�l��41��ӯ�� ɂ{JO���b�ڥ�o̩���5�\OƵ�@�2i�E15^Fn&C� +����m��S��|K���"���O�j3C�~=ޅz������u.K���:�3Qv�Ŝ扨�7�?��Y�E_�>��;�I+JMA�OA9��薁>ȕ A�����z�����9����+w��1���(�2O����L��w�4~i�5��Lm'j�� Y�9��>�h0�ݰg�� �F�ه``C�(��%���>��� +��F� ��'�^���8�灿���� �ǐ��qP��O��0j�n�8��2��� ~� +8W�8r͠�]�/N�L�%������>C��5W��{��3x�^s +x>=��9��A�ݺ�����Y�������A�-��+Z�[�H8؋Z��>�+zOA�8�y�۠zJ��W���=M'��A�a[ +�oy��� +��F� ��'�^���8�灿���� �ǐ��qP��O��0j�n�8\�,|������s%� � �#� ���2�С��~�G+�5���h;�s��C���&S��+ Z������L� +`=������6�N�?��z��x~��E�С���_� �����'F"Wo�7(�і�Ӑ N|��1�"����Z`&�/�z]%�<�(�+��-��q����*�O�ըż��QVM����0���g� �/��&���wA�&��� ih��Ԟ�䟂���`~n~�~��C�)�: |U} }]`��wJ�['�eݘm���tcM��*֍��O7V�n�k����\ԍ5�kb7�n�A�X˺�uc���LՍ���c7V�n̊L�> +��è��jՍ��{��?~�+�_�fP�.����L�C>Za�A��$@�9��}j�m�;�hj@�D{�^�z<�BC���o�ؐ��n����c������ ��h��~����*�s��t�e< zY;�7A�>�ɀ���[� +�j���E�4���1�L��E������ � �^W (��#J� +�hK ���($� +�Sh5j1o=t�U��@<> id����}�� ʻ�@�AȌ�4�Z�gjOB�OAG[L�� +o7�|?Z�!䔂r���p �G�@.�K��_��� o `C�"p re�c��^c�o���;k�?�x<��KSw3TN�t�=��z)�R2ʦ2�4�^��&�(��o�~��C5���_�qW.�ȹ�Eƥ��+~�_�6�,lG����0㤿K�"�%aP�A9|C�v3A��a*~s���G�����}X���jA�A������=zˡC9Z:V +��6����w���e����-���4�|�<�;�]_� +z��~öls�9ЭQ���9��}�P��E-�������˭�1N;|�×p�%��ah��(P��� �+\�ߞ +z*x����=���O�g���}t�"�}� +�ø��0���_��z;��� }����c���< +2!a�<]>���b7t{rRA? �F��� ���v�����$(��|A�>M(��N< +ɧq�#�}�xt~=�.z��><��>~x�iH�:䷁���M�"��><��'Y�������o�����w��K�C�����<�2�Q*���rHk��&H+���< ��,�,�"�/5�.����fh�g�1��6|�Ļ�c��z�HԵ����n���p��.h + ����sZ��O/<�M�.�:o��#T�B��2�4������CƳM����S�=J� +�t�W�}��M}Dy�q����-��@� +_텇�B��0ӯ MoK�p�3Y���>J��\��#ĿL�7F`������f���nbH���N��������|8/@~ +�Z���q5�S����h��/�c��L� ���!�jF�Gy~�R�~�Sԛ�8��>�v�/\��}JK`����� tN�\�U�eH8S�uȜ�q�iN�K����u� ��w���3'����`�x���An�� xT�L7[�&j+Zz�8W|��f�Md[?�ܜ�m$ wa�b�����2�T��z��D��������t����{�GϢջЮn��i&�3F�A�W��QV&�ZC-�B]G� ;A9 ��N�U,��&����N��E�Q�A�Mhu���U���i�=;p��m�3��Or.i����܋mnh˵�����X��j +,_ +?�Ε� �|�����T���ߘ~}��:����X�q���̰���=���Z��p��䅲�p���X]O��4F�4���Ϸ2T�?��� +�G +F�9����3�_ �`���T��K���x��9��/{ �Eр}\���#�^m/kN�,�s����Mւ'e���zO꾴e�!3�a}��=�ʅ�0^� �� ��zSf�|��� +����?L;&���W3�f�.���*��Ă�bX�y�޻sE=�}(���~�ׯ�\��2/̙X�Xg�n�S�� g,� m9 �$j��� +��b����K� �5ǎ��� �QJ>$o�?��Y�u/Kv���,�����f~� +6�Ɯp���{܏�=hK/t������-��󺖓�����f�0̮a�g,̔�n��\��� +�/p-4��r +c�ֈ �.P�/�腇�dX�(ʟMA��x���:knj_�i�7��V�� +�I3*׻����V̖S0��5�]�6��ΔE�+*�O��:�i5_�a~> +���W[������[�#�p���5Q|>G��o��o�7nЏ�R<�M(�L�.�b�/V堯Ǚ� +�,4β��6�0����� �Ĕ�9Sw��0ި�=�0L��x�U�����l�Z�H�Ʃn�I��V�s���� 9��� �ߡB��R���|g�[ ��ZP�Eh��t�>t�^���� +���J��_~�|�9X xgKZ�Z�y� �^�#����8���Y~�� ƙ +�+��� +��24<��gb��~�G���/�< ���a}�׀^��f�ɋq팁��H�ϱ0E���4_�T��-K8�� �&t���i��u�-F�z�2��~_�s+���x��S\����-�i��V�ehA/X0FL]��n�7CsS��� +�'�ߎ����/A�f��-��Q?#��\l� +K^��`;w�P���x~%,�;6L!~��y7���o�� +�+��G� �\��揁s�F�SR�迪'�O᫉�%=��dz$����0�Z�rt�7�sV�&e�(蓋֭1�7�k�Sd��}��>���O���]����R�Ŧ�$˛-%�"�fܽ�O2���_�M'���)�p/[LZ����B���4[��h���}�)�>!c]���H�4���Kh?��d� �q���P�c>7�}Dx�6@���s5���t;8=@ ��V��� +U3i+���t�ǼO�f�dc���_H&�WI��a�g�K�;r?�S�#LxƄ5‚��<��<���끋��=�5~���+�Z���o� +}1�[�����>`h����'~����p2v�3�:�e��8��J�`���G +᳦8+x�m��9�^�����[^:���ǔ~<!�|���$�L8 ����V�c�� +?���~�[���L㩨~�O���k>Ƴ$�8;=�M*���I�M8��8����1퍾�����}8�f�瓏1e��O�IG�����/aH�r+f6��xb�x9�i��n��<�e��| +��!�:�>p�� +�Dg|�a%���y�|��\Հ �=��}�i�c�d��0��s+ŀi �'�@�L�$0 ��2C�i�6,�:�B|���F�� +��8 }p��N���9�xΥ'H��L�ǧ���Ǡ� l��b�} o�b7p�^�0�hL��)3���YkH��kN4I�J�fN�L� J�~ + ��zob��w�+�:^'CC��58�@`z� �R��u6<�(��_ℒ��%��E���� x^Do��%���|�(�u����Z�G��i.%��7/#G�i ��=\LSD����Q��5V�� �~1U|��ȳ�ALc���=m��`~���,�)�3,b�W�bړO�Ii���9�K�=���b��X�� p+`'���K +�~]�x��,-�ހ��K����C�'N]Z��L��� +�h�7�.������'䕀��w>�d����a�6���O-Y*w����Ȣ�+�}�7*�R��<��c�P��u����yJ �|yR0yF�X(�L��x�p��I�K�Q��R�a�0~W��!�ȣz}"��� ��+�����x:T`m�:���O�"I4�f�M좽�AqT�����-H!R�)EKqR��&-��eR��,m�Z���a�C��� 9L�$O�c�9UN�s�|�H.�w�{��E�|]�S��0e�2U�Q�T%]�Q�"�\�V�(�MJ��]٭�S)mJ�0��N��ۧ��(�E���a&�k�K���X֭�$���� �iK����#�c��:��{=�yt{�yZ<=#=�=�=�=�x�x�z�<�y�K���$�y�W�W�^�W A��v�#m���"��=�_|�4(P�"(���f�;P�O�Gpp����w�-�>d��{��m�����ԯ��0���˽ +�6�%�;�=�K���G +� ����Ɔw�_��N�0uB�� ��O�>��S�F�"#�"R"�"l��#�F����11lb����e'���'�i����>�#M.���|�H��t�=�ݢ�qF���4������m�k�;w.��L��3f.�Y/Q/7/�H/���&�/�@���&�1��4j�)�-'˴��Sd~��B���e�kB5���q��7t��g>m>-���b��L��v�M�Z�����i�Q���׉)yO��Oy<%�y�xK<�� �_�|���co)D�R�L�ݣE�Hib���D���PD��"v�V�Om�Ct�n�#.�^q�6��<(n}n��JH�Ye�Z�׭*��r�jH�e5!�f5#��jAz�Jc�ri��v��ݑ������V/�׭���՛��G#���5��Z}�^��F�Z����};�Y�^�ށ�Ck���;���0��b���L D��c +��gX&ذ�]TO�5İ�݆]B +��c�%̰�W ��7,r�a�p�"`��" +�L2,r�a�ɆE�E" +�|հH�a�)�E�y�S,�I���b�M-2Ͱȃ�E� +�|Ͱ�t�"�"1�EfkX�a�2q�ef�c� +��2�`�e�a�D�"I�E� +��1,�bXd.,�jXd�a��EI3,��sX�X��"i7]�%�u�a�G ���0,�iX�QXd�a�,�"نE3,�cX�qX$װ��E� �yҰ��2O�c� +�|ݰO�a���]��Z�v�a�B�.� +��v���4h�b�"%�EJ +�|ӰH�a��H�a�oYiX�� �� �T�"��E� �T�1,RkXd,RgXd�a�z�"��ư̷�1k +�d�0�OG�x�*2=h�57�w�)56ף�kD[e`s=�k�j��Q��1��x�y(�٧Q���t�K�~��k=� ��������`M +�5}g��u�5=g��ca[��D{���z4k!�K�I��軃m��{�m���A�5zaP�̓�<�Q�F� jD�$M�&��}���"�+��u�K��5B��N���`�qR0�\��/w�cY�U�0��r����&��*�F��~�,ڸ��U�7�K�%t��u~]-W�%4զV ���pW��n�"%���ҕI �0�Fa�(�񷕮#�,Mx(>B���N5��٠d�B�V�,��e�%!��dP2��[Û'�� +1ezQ�?<Q�Q��se,���9���^֏Jgp9�L��e�k�\���z��=4E����ꟅE�#m�ؖ|�Z:o�2 +_��(�o�'h��E��bv�J�q�;����{�R�S���~W�U���"'���J�����Q�w��@!����dNF�%z���Ie'�&���_q�I>qU�;�ge��G�e�W��nG�b���̛�d�P ���N2�"�MD��̍�ߛ�(3�������d +�('�Q���A�$�/�)���$�E=���k�ow����/��_���:i�[ta# �S�Ϸ1ZyAyA�(/)/�1�+�+�W��q��C��OyUyUܮ���&�ו��ʏ���'�Oĝ��"P��31V��s����%�)�T~)��_+�w)o+o��]�]q��[�4c�^�G���i�;�H�h�C��GD�5�bB�!�����& `BADTt +W"�"IEDAE�1!bX��9�5���齻7�o���|���OwuM�����n�F��j����&��>BM�'�d�=㞡f� �jν�^!+R��"k�4���|1R�%| ��K�Rd�_�!{�9�o������O�'��� g�� +��D�� f1�Za�5��z� +��\�+Q[\ +WCn���v� �!w\�A�q}\u�p#�[bK䁭�5���Ď�u���u�.�uŭqk� +�bW��a7�ݱ;�;��{`�{bO� w�]Po� +wC}��B}�7�F>���a���x ���!h ���h�A���#�`����C�P���0<OF~x����t< +�3�L@����(G�h4/�K�H���(���h��Acp2NF�8���8g�q8g���sP(��yh<���( �B4���P8>����>�"� |M�E�MƧ�i4��gQ$.��h*.�%h.ť�'| _B��|��W�U4��7�,|�FQ� ����#�����+��G.=h����>�o��p;Z �{��žb_�P @��d1E��b:�3� +f��h��#�%b������b>Z&��h�x@<���#��B<&C�� �Z)�E(�>�K��Z�$^B��U�*Z#�o��b�X���s��:��%����(E|-�F��{�=J?��P��M��+X�6(�zh��@a�2�B@��)��Y�I� m�fI�P�4W������|�--���R��r���b�MZ.-Gۥ��J�+%J�(OZ+�E;�u�:�SJ�R�.)MJC��Fi#�-m���=�Vi+*�K�Q�t\:��J��Sh�tN:��K� �tY��J�w��Q�K_��舒Q2�(i(S* +�q���� eUeUtRY]Y)P��N)T��N+k+k�3�jc�b�z\ +�*��5�l8{>�[�-�Vr��:.����r��n?Q���)�w���]�nqw�Tȑo���2�a6� +l�MpM\ �c �7�*�������}���p��$�8 +�� q,^���j��S��g��x'�ß��z�����3����X���*n7���vq��G�'O��b�xE�.��Ň�S��V� ~Q �PHS��l�gi��BZ%��6IY�6�tR:#��.J�H�J���JN���U���D���#PyT�}Ǡ�z�������h�ڭ�@����U@��@���FW�6�6��m +]4�&h���f��?�F��� +]Թ.��9�r=����c4��m +��1(lPئ������@a���Z��Z��ڀª@amA +�@ +�A +@ +[�:�:�:��5t5lj�԰ +��+�a[PC7P�v���A +;�v5�5�j� j�԰ �aWP�n���A +�@ +{�z��]����(Z_P4P�~�e�A��~ +��� �5�k��PЯa�_~�_��V�A�@�A��@�F�Z��j5�j �U0��XP�q�V!�V��V�A��@�&�B��BMm�=�z4�h +�N$��TНi�;?��Lݙ�3tg�N��lН9�;sAw����Y��3��BНE�;���ϙp���%����\4��K��p�\:���q�\!w�;�Ns�\)w�����ʹ��s}J�|˟��WH ��!�pU\��k�z�!n���-n���x0�Á�ލ�!x�����L�l</‹�r�'�u8 +o�[�V��w��>���lj�HDe��N7^,�č�q��+� ���a�x^�(�"����G�3��N�(~U0 +���i�Li��PZ&�K�� +�f)[�.����R�tI�*}��(��W(J#�����T�*�?���*�L�>�g��W�K�wӃ7 -�6EGZ9i�I��1�Pc�4�0�TM !�.�x8��Ǖa�UBzjtt���-`o#��ݗ��I%7������p�����Z�����R���γ�󒅧x��CZ�a����]��Z�z��> +xN�Ξy�^N�~b�t�o��'�r�]j����]H�N�%����8��&����9��[��W��l�#�a=*�F� hX{D$�>`�&:� b+!���D�X�������v`>�؝�� �m�6��U�kN��$�gu�*V���F�c�ɼ�{�8�6s�Y]ɠo�X}�1ǘ�$]������ +A[~L6�ʐ|fL`B�}!��;��Z�%1ә9d������F��<&������%:L0Ӎqcz ]ѝ�e0Ѱ^�ӈ�~<��2I�(GF �`Z����(��j��K�RE�9��p�=�]ٮ��Đ��l"R��=���N2�w�V%-c3��F�l�l���ݬ��@ݶ��_}{)�&��U�A�M�[�{ 5f��eȖ����a�ar���Al�[{���Vwv= �F�Gk>�ݴ��t/R1��('O4j}��sAKX}f��)/�wNC(P +�K[ �#�HzLM���c��UU҄u���nHJIo'E���^D�e�t՞U����MϢRt�F�a��RoyR�F�̙�Lƚq`\H�� ��ӟ�0��P&���D1 �X&�Y�$3�LR�,)��1DCX�������.Zv)Kt�]�.'��� +���e����x��,Q�(�U47Hi�l"�;,oO������pQU�� r!V g �,���EX +j�L g�w�B�K� +���=�+A��Y���EX%�&�Z ��5�k ��& ��:!�`��B0�(8+� +i��Y!���h���mì����Y�6�Dj:+l&5�%�D\A�6.ƓZϒ�ߎ ������Unp�j�� �|�2C�q +��C4E����(��|Ƅ��'�OJ8��a��r�[��c��A�L��y�Y�!�r��'�͍��pI\>W�=��xsޅ�Ï��|!��l�]q���|_�o�zM���|�"��m�;�wS�~5������#����O��105Pt10�n�`����}Cdhf�`�e8�0�p��N�b��/���^B�0����Tx.���֢�*.��}��B�h�pS T�+b�C���d)u��H��eR�tL�-}R�(���J�4e�2��RO�+�-��j�`b���1���+c���2f 0K�Y"c����2f0ˀY&c����2&�8`�d� +`V�B��L������`%�L0 2f0��Y%c�I&Q�$� L��I&�� +L*0�2& +�4`�dL:0��˘��f����`6Ș��lf���&� � �M�l�1��� �f��-�l�1��d�)c���&K�d� +L��� +�V`�ʘ`r�ɑ1ۀ��6����l�1����+c��&O��f0;d�N`v�S��f0�dL>0���˘���f����`�Ș` +�)�1��S(c����2� 0�9(cs�C2�00��9,c�s�#2�(0G�9*c�s �c2�80ǁ9.cNs�2�$0'�9)c��)�HƜ� 0gd�Y`�sVƜ�0�dL10��˘��漌)��s� �\�1��S*c.s��2�0���$c.s��2� +0W��"c~�`~�1W�� +�Us +�k�\�1ׁ��us��ܐ17�� �Ms �[�ܒ1��� +�ms�;�ܑ1e�S&c�s��2��r`�e�=`�sO���>0�e�`�@��~�M�}�e��+DSdjC�7C�7C�������T ��h<A桀-��"�<��P���v�� �P���Cd +x��x(��C/=ZE�y(�G �2��h<A桀�-��"�<���P��=�h<A�@� ZE�y(�c��H��2||A�@�"�"a�Ș��f��I& �$5D�"�j�T������h|$A�#A�&ZI��H�ˉ�Gd>�|������h|$A�#A)ZI��H�k��Gd>������h|$A�#A�+ZI��H�H�H��GA��������_3��� �1C��3��� �1À�0��0~2�`�e �ڏ(k?"�ڏ(k?"�ڏ(k?��*DSdV2m�iL� +�+0�2�-0m�i+c܀q�Mƴ�0�d�;0���"���a,� +�Y�X��{A߹7���xP_҃ނ|`��]�0z?��� +�M썘��'�i�HK���Ν"c��C�6Kr�i�D����.��K&\ǚ1�&��SǞ �x���:օЦ2I趦Ϊ�a U�8�M�/C���]�Ou�:��*���Vk��7 �!-��n +m�Ύj�,��әv)_f��N@i��[3�t�9�>Ð�=�7���yv�;fw���:s�\a +�r�؋�j�`o������k�!%\�6���ح�V��\C;Dj%�^"m���5�D��3]Њ`Ί�O�S� h��2� gL���i��ļ9m�1�]!6�z=p$ Grp$Gb8R�!��w�I��DA��\���5�J:�m�z���`����Ωu��*Q���V{1��~f���~�����)�#�_�Igd�b5 q,�YW����t�����!�י����:�|c����u�t�F���dV:3������Jks�=�\ٚȬ�ʎƑ+[M��?�1ӒM%-B]�����9�"^����Dk��j��J�H�m��ϭ�Ю�`��h�0ʀ_�.Q�C�. +ۄ�ϐ"��_��71U�/�O���p&����c��e�O"��f&���2���Y��� ++˞2���7�gֈ�I�� k�:�.���vc{��i��͆��4X1K�N��m %���g�G�"���~��2�!�}�~���)�j\M�g�:r�9wΓ���p�a\̅q����n!�����p�\��y��w�;͕pW��� +<�^r�/<��Jބ7���F|sގw&e�JH]Z����.�2c��� +@(ʒM�,i6J��e�D�4�t@(]v�F� �M���fffn���00p�N�]����<x�0������< Xx�,�9�b��%�K/^� x������� x �6��2�����>���Sԇ�f�c�K�eB� P����T��B� P����Ӓ��u;_ +u@X��h�P7��ʖ/@��nP7�� +��m)�8p��������ek�6���m���S����,%��ɿ�q��Y���l�*ʬ@��r��_%F�M�2�$� �alE��n��X3�T~zB3=�g��X�O��j�c��Zgf-r��M@!�a +D��ߕ~T�t"�M��t����sv�_[����U=J�VEq[�9�aYc� [�����@�T�6� &�����z�l�޶ƪ�t��X��7a�q#�C����Ԩo��+0`lȸ�:�Z�"W�>jxXȄ��p��!a�!a~���Tu)�׬��h�;�ol��w�v�:5$[{�����J�l�b �tP9j7U�r�#)�T"�Ec�{�^��U +՛uƵ:20̼C��{{��;wloe�j�`�d��`�P�@�j��/�1jx�*����� F\S��F1 �g��%�7/��p���u!�?j���JCו�6�nt���f��<�ܔ���yQ����I��<=��^�B���)S�_y:�˙���o�K�<áOڝ۲�aP��]5?N6�<��"{ߟ��8���$����S�Ό�_��o�mq�j���M?r��#��v�;|Z9�×�)�Z�����!3O�9�_��{�q�s�v�u�R����1[�F,����M�:��/J6�UuϬ����u�����}ݢ��{̰9g4جc���P �q�`ߒ�a��繤�[�Ͱ� iQ�!���M����7�M�vu����\���9|@�Y͠�n��T��4i���^��3���s��n�[EՇ�P�����)���#��C]ll��[��('��!cmBnj�V�а�����'�h���""���dU=�01�g����ʳb[��k�9�I�~��a'�p�1MoC^�*�� ~� 9ZK��{'_��U�m]aC3��#�[mS�h��P�QO/t;��zB���sأk���~˫��co��o���3�-�]�8dO�~�⌒��t�����=~�r{l�P�W-k}lZ����z���u4���Fk7�=��є���#]��1�����*��� �M㗄u���j���f ��\�p��۩3�(��-�u�l�p�ʨ�������e>��zW���-f�16��ey��5�}fdU��m:^���E�?���7�6?z��V;�CY���6����o��Ym"cO�����XNխ¢�V�n� ��VƦ�GĢ����ћ����G�Gb�2[;;;{{�j!s�n�f��!d�ݹ?�� +�í���҇&� +��YϟDd6�����O�����]߳�C����mj��t���Y S��#�G,�i�r��'w.7�X���Ɖo>X%�sl&�}��j�n߉�M{u-�?�����w��֮�����6����ϝ3�����K��b�W�B���w�N_m�F���mjq=����]K�QלW�v�Rd�;�GZ[f��YWYg硭yJ�›���v�0e��kg?�Nm��ɷlzn�&��ܮ2���,���>9~�ˉ���\�~����m=���a$G|��r:j5`��ݯ&���>�ξ���ڽV�tU��E����oˇ����-�m[�l��!�/H��dk�`�d���go��H6��Z��;8���TՇE%y��N�����|��CE$0�H༎����Lj2��CU�V�Vv*[H�@ �Rԑ@�N� ����;���,��uq�']J;t7Hz>���A���c�F�LZ��F<<#5�U�=+Z~�n�I|;آʏ1 ��L��u6�d��;�dQ�O#�$}��ӿW4��Ե�7}����Ǩ1I�,�\}�|kB��f�]�^M;`2��L��>�l�|�����HN9Ұ�Gv勪ܞ��>ʝ��d�.e��o��~O�]��l~�o۴�%n��� �7y���.r��޺gv��]6������;}q��1�__8���}De��.�;W�lt.o��` ��B�w�j������f�[� +�!.k������L9��?�jȌ��r��R5S�E�.� + !�@ +jTШ�~���&�� >Č8`�vv�-�툘�i6���_���H�� +��A����a���"z��x)��W��|[ijt�K�l�]6�vO��<����b�֢��sQ�y�/Gfv��~�;�_����ډ �m��a��Y���}�~ҷ��Ymn7��l�� >�jĕm�|)bh�Ig�u6-�0�*�~�(��?�ߖ�7-���s�D5�CI���S'�z�z�nl\�:�ԨI��N^m���,9��7���'��%����r��J��_ul� ���HI:?(�Q����8���9)o���I1��.�i}0�p(w�B����B��a��Xő/��]%�bU� +ϓ8OUM�P�5���"&����X�����h�; �Ze؆lh]x�J�v'�W�Po4�tgڣv2-SfF +s�i��^C�/�w��+�����Z�Y�I�1�}r�ym�y-��a�jS 룣b�*"�:*��8r��W����2h@K��<�> q�f�c��͸�ο>:�Y�VV��g��N=��Mkpz�w��z�3��tۓ���nhA~އ);:����݌�;��N�_cn�I�>�s��n����R*���v�®�^�p_��͋�w��uh���e�s-ӣj-/�ӯ���CtJ�C��K�N�X�8l���fj��}i����}k�I���x��>R{���(��ύD�c��o�f�Fٍ�¸�ɨ�R��;��H��ڻ�O�:ǽ��ۥ����œ�k�la:���ڝc��e9t��ܨ�|�Šzg�>����1Vi��fZS�5a��|��oY���b����z.m����M��Ü�� +��zD��^�c�M�(�0��6�G�����.|n~��¤L�qc���w6��(��)p��W��S�g�S��ckʹ�[��s�^��{����{�ZOۏ�E��h�x���W����X/[�]�25{��ي�VcP��צSߛζؽ���N�6�����2������'�k~R��Lk��u�}Tb|�Q�Q�����mTQz�D�_T��H��Z�~��T*��-�U����M��&�]w����m��y.��6��;{��]ճ�w��5�,��Y�ʯJ>��ϧ랲����������`A����R6�]��9��![�s��ԏ������G�y��xX7Μףo/E9����%KT���Z�i�뭜������c{�u\��u�T�qӠ����fuI�8gc�N&�Q��<�;������\d��x��f��#V}�m�3���Ӊ�Z�^����-m��k�v�l�}�ć��꽅��ƿ�޿������z R�JP��%�Y1�/�)������3�hJ�iJ���Y�&��ol�����S]w��F+��:8�x��5���)=�3۬���0�rv����֥�R�����cOy�{���V֯`k�յ��f�eL~���i+�yپ�>�Y�w�=�,+3��̃��^����-�������ɫ��_��B kz��#���Oi�f��ў����mM��-�7��xڶK�m�fa�ǡm���o�b_^ί��kь�-� +I����'�}ji�z�UE�}15e�U��w�w�ϵ�y�q��=}� +� �l٭���kF�7}����Ao����6u�֍z)o^p�}O�q7=#�E���� +�5�[�?У�IannN�'ֹ�9��̤ꪠ��Ն��H�_���f� +�z�n^z�nf�F��C>�y��檵E.!{g5׫�<���Ĩ�����6���)~y�R�7����e��� 킷���Dt��A{�֞_-�mc�u����z�v� +ϛ�����Ό�Y?yKnr�D�_��7�X��.�`\���_�)�w�I�'W?�|�W&0�g��N��x�ʳ�M�+����ǔ+�l��Z�5s�8�mO�0��ein�����&���ɳ�PwMS +9[��5I@�h�T�թ3Xq oKD����EǍ����Y��_y[!򲙵*@�����O���&�;���0��A(��>h + +%[#�ݏ�F�))�fZ�ac +�2"�/t���\T�(e5~Q�,Y/��Ԡo��ա {_o:��uq���&�<�Y�H?�Ŗ΁fy�m��5��5��R����ƿv)N���yVy���@�E��dV�}����>���F<6nxk�EvpF���/���lc��rn}0e��7U�'�;�Ro��4O��U�H1ϯ427�Χ�}��#��u?� ZaYڶΙ�\��5g��4:c�wFH����-��k��4�e� ����G���wqt|��c={d��;p�����Vq�ӏ��lc���#���j������R���T���)QlUkQYFz�Qlub� +�2�/�~FB�NV�ԭ�b�� +CN�e�mts�u�ul���4�ojd���)�i�ޗ�6�����öW���^Ӻ{���`�>ױ; 7��2vL�󋫋81o��7zy=/��J�70̢��.E~_|C�~j� �x�2���G���?�^Ttf�F���$���R�A��]���Z�d<п�*�� �ߺo�3�ǽ�)��!� H�kzb��g��q�1�w��4�`}~�۶%��l�[�����鋽�X�;��ʩʪ|�)��N� +H�tm�p���s7�>Ъ����A\��N����vƜ�k�a:�K����e�^�n���04qZ�Q�=bV/�w�[|��\��PK���b��PK�rGUDocuments/1/Resources/Fonts/1FB72A15-96C1-4AAA-948A-3CD37F439BCD.odttf/[1].last.piecePKPK�rGDiscardControl.xml/[1].piece]�A� @ѫ�H +��.�0����Ċ�q����n�&���޴�u����s ��BI*yQ�u5%8�P�{^��}�0\� +z��00v�Ѩ�c4Vh��B�k[�)�39�PK�ފ�s�PK�rGDiscardControl.xml/[2].piece�q�,NN,JQN�+��K� HLO�U�w�O.� +�ꃄ���� +� %��Ģ��45A���E�@un�`7's#GCS]K3gC]GGG]K G]cgcs7cK'g��4%};PK��j�r�PK�rGDocuments/1/Pages/1.fpage�[]o�6}^���l�L�TH�+�lAӮݰ5V��J��׏ԥ)t�=�m ��K�&�sϽ�g�m�8M.��}�(�ơ&2 ~K�˫b,L�v�̷��(�����U�J�h��o���E��׫���vH1C _8X&��8���g?> ��� �ӳ`�>�Y�yL��tS����ɯ�4O7I�.���m����%ƈH�y0�A'I�)�o�|�n�n�|{�ެ�YG�X�ŻM6� �!�I���y����Lc�c1PӉp6#��u<`�cAf�l6��h�(� N*�/�Wg��t2���apV�-ӳlu�L +�����< +�?6�e�� +Lj�ꃿ��:_d��!ő�#1b_舅�<;_/ҳ�Ni���B��Y��86� �k8ډ�CWVC�%b���΀��S�; �R�͟�FR��i Q�"brd�3��='C�.�J-�����p�� ̽�h�KDy=�HW���@��o��k�Я����y���ߞ:�=��LG�4�~�8��E�cQV�!i1nm{�أ��_Q����z�i����0��T�A,'d���1�G6�25�,~9��? a8GZ�~�:�7�b��N༙�]�lL�w.ޑ��+O�J�Y=U���V��]2 +2��f}�-�BC�����us�[3 �veg���V| +G�pM���Z�ٕ�|�kǷ��M�|�;є9�4>�)�:�~M1A��D32^��_���[\��2�������Tx��2cZ�*�4��[s䖆��w���c�d=E�.�!��F>5A�h��Q�ݺ��[n��έ��������s��5<����R +�I,|C�TLQk h�*+���@mͬ�.v\��֌�E�~����pZA)//!���)��q����fBqޔJ~B*� Θ�%u��l��e���˻�L�L������Q�)������*��;�f�-g;��E�.�j#�%��R�lζw>�Q�='���~�3k�/;�뤌�e��w(%����mk�H���>�Hܬ}~��ߎ�`���?. �[��K�wo'��r�Hs���6��s�b��c2���6�2�7L��ߨv��1��1FRJ��e�RFh�@i?BJm�w6����7�4Ǹ�U�m���$�D7�{�@�'��9e�b�}�(������n���s��r�5 S�����{�����A��C/����΋��w��]�N74�ܜ��uu㛑N��79�L]?��Q��vO�E�A��M�U-@�u�t��4�p|��k��C���ų��F_<�PK�/��=:PK�rG.Documents/1/Pages/_rels/1.fpage.rels/[4].piece��J�I,���+��,(�PKg!PK�rG3Documents/1/Pages/_rels/1.fpage.rels/[5].last.piecePKPK�rG(Documents/1/FixedDocument.fdoc/[1].piece��wˬHMq�O.�M�+�PK^�=CPK�rG-Documents/1/FixedDocument.fdoc/[2].last.piecePKPK�rG3Documents/1/_rels/FixedDocument.fdoc.rels/[2].piece��J�I,���+��,(�PKg!PK�rG8Documents/1/_rels/FixedDocument.fdoc.rels/[3].last.piecePKPK�rG%FixedDocumentSequence.fdseq/[1].piece��wˬHMq�O.�M�+ N-,M�KN�PK&XaPK�rG*FixedDocumentSequence.fdseq/[2].last.piecePKPK�rG0_rels/FixedDocumentSequence.fdseq.rels/[2].piece��J�I,���+��,(�PKg!PK�rG5_rels/FixedDocumentSequence.fdseq.rels/[3].last.piecePKPK�rGDiscardControl.xml/[3].piece��w�,NN,Jq��+)�ϱPK1.��PK�rG!DiscardControl.xml/[4].last.piecePKPK�rG_rels/.rels/[4].piece��J�I,���+��,(�PKg!PK�rG_rels/.rels/[5].last.piecePKPK�rG[Content_Types].xml/[14].piece���,H-�PK��8 +PK�rG#[Content_Types].xml/[15].last.piecePKPK-�rG��X�jq[Content_Types].xml/[0].piecePK-�rGK�jbl�[Content_Types].xml/[1].piecePK-�rG�BpJlyb_rels/.rels/[0].piecePK-�rG4 u�_rels/.rels/[1].piecePK-�rG��[Pm{�[Content_Types].xml/[2].piecePK-�rG��x:��%�FixedDocumentSequence.fdseq/[0].piecePK-�rG�s�}hv[[Content_Types].xml/[3].piecePK-�rG ���(Documents/1/FixedDocument.fdoc/[0].piecePK-�rG�jfm�[Content_Types].xml/[4].piecePK-�rG� 1�p��[Content_Types].xml/[5].piecePK-�rG�BpJly.TDocuments/1/Pages/_rels/1.fpage.rels/[0].piecePK-�rG(�Ѱ��.Documents/1/Pages/_rels/1.fpage.rels/[1].piecePK-�rGk���� + [Content_Types].xml/[6].piecePK-�rGL���.� Documents/1/Pages/_rels/1.fpage.rels/[2].piecePK-�rG�n���� +[Content_Types].xml/[7].piecePK-�rG�+��t�� [Content_Types].xml/[8].piecePK-�rG�BpJly0g _rels/FixedDocumentSequence.fdseq.rels/[0].piecePK-�rGn� +ks01 +_rels/FixedDocumentSequence.fdseq.rels/[1].piecePK-�rG�~�u`f� +[Content_Types].xml/[9].piecePK-�rG��Y�y �Metadata/Job_PT.xmlPK-�rGJ�g�s��[Content_Types].xml/[10].piecePK-�rG�BpJly3_Documents/1/_rels/FixedDocument.fdoc.rels/[0].piecePK-�rG�?tz3,Documents/1/_rels/FixedDocument.fdoc.rels/[1].piecePK-�rG�L��gm[Content_Types].xml/[11].piecePK-�rG�C��T�Metadata/MXDC_Empty_PT.xmlPK-�rGe��sy.�Documents/1/Pages/_rels/1.fpage.rels/[3].piecePK-�rG���R��{_rels/.rels/[2].piecePK-�rG��0XZA[Content_Types].xml/[12].piecePK-�rGI�X�  (�Documents/1/Metadata/Page1_Thumbnail.JPGPK-�rG��juC!_rels/.rels/[3].piecePK-�rG@�~^l�![Content_Types].xml/[13].piecePK-�rG�,��kv�"DiscardControl.xml/[0].piecePK-�rG�eG����PO#Documents/1/Resources/Fonts/F1D97895-7DC8-43F1-BC7E-3DE51FE3FF2E.odttf/[0].piecePK-�rGU�Documents/1/Resources/Fonts/F1D97895-7DC8-43F1-BC7E-3DE51FE3FF2E.odttf/[1].last.piecePK-�rG���b��P5Documents/1/Resources/Fonts/1FB72A15-96C1-4AAA-948A-3CD37F439BCD.odttf/[0].piecePK-�rGU�Documents/1/Resources/Fonts/1FB72A15-96C1-4AAA-948A-3CD37F439BCD.odttf/[1].last.piecePK-�rG�ފ�s���DiscardControl.xml/[1].piecePK-�rG��j�r�W�DiscardControl.xml/[2].piecePK-�rG�/��=:�Documents/1/Pages/1.fpagePK-�rGg!. +�Documents/1/Pages/_rels/1.fpage.rels/[4].piecePK-�rG3{�Documents/1/Pages/_rels/1.fpage.rels/[5].last.piecePK-�rG^�=C(��Documents/1/FixedDocument.fdoc/[1].piecePK-�rG-F�Documents/1/FixedDocument.fdoc/[2].last.piecePK-�rGg!3��Documents/1/_rels/FixedDocument.fdoc.rels/[2].piecePK-�rG8�Documents/1/_rels/FixedDocument.fdoc.rels/[3].last.piecePK-�rG&Xa%~�FixedDocumentSequence.fdseq/[1].piecePK-�rG*��FixedDocumentSequence.fdseq/[2].last.piecePK-�rGg!0E�_rels/FixedDocumentSequence.fdseq.rels/[2].piecePK-�rG5��_rels/FixedDocumentSequence.fdseq.rels/[3].last.piecePK-�rG1.���DiscardControl.xml/[3].piecePK-�rG!w�DiscardControl.xml/[4].last.piecePK-�rGg!��_rels/.rels/[4].piecePK-�rG�_rels/.rels/[5].last.piecePK-�rG��8 +g�[Content_Types].xml/[14].piecePK-�rG#��[Content_Types].xml/[15].last.piecePK77)� From 912c02521f0a463db4e6f7f72fb731ab4bd118b4 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 1 Feb 2016 10:42:32 +0700 Subject: [PATCH 24/44] path Add path to ~/.bashrc open using vim $ vim ~/.bashrc --- path | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 path diff --git a/path b/path new file mode 100644 index 0000000..05e9574 --- /dev/null +++ b/path @@ -0,0 +1,2 @@ +# add extra paths +export PATH=$PATH:~/Scripts From e3341175d65ac535c3a2bd3883fa84e4714410f6 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 1 Feb 2016 12:00:20 +0700 Subject: [PATCH 25/44] env coffee no: #107 --- md/usr/bin/env coffee | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 md/usr/bin/env coffee diff --git a/md/usr/bin/env coffee b/md/usr/bin/env coffee new file mode 100644 index 0000000..adc4e98 --- /dev/null +++ b/md/usr/bin/env coffee @@ -0,0 +1,28 @@ +#!/usr/bin/env coffee + +username = 'name' + +host = 'localhost' +port = '8808' +pass = '5555' + +sh = require('child_process').execSync + +# weekend +process.exit 0 if new Date().getDay() in [6, 0] + +# no sessions +process.exit 0 unless new RegExp(username).test sh('who -q').toString() + +conn = require('net').createConnection port, host + +setTimeout -> + conn.write "#{pass}\nsys brew\n" + setTimeout -> + conn.end 'sys pour' + process.exit 0 + , 2 * 1000 +, 1 * 1000 + +# alert +sh 'say come here and take your fucking coffee' From f3cb5bad0159f143749b26da23dbc73f92992d1c Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Mon, 1 Feb 2016 15:22:49 +0700 Subject: [PATCH 26/44] .rb --- md/vendor/.rb | 1 + 1 file changed, 1 insertion(+) create mode 100644 md/vendor/.rb diff --git a/md/vendor/.rb b/md/vendor/.rb new file mode 100644 index 0000000..caa593a --- /dev/null +++ b/md/vendor/.rb @@ -0,0 +1 @@ +SimpleCov.start do add_filter "/vendor/" # Ignores any file containing "/vendor/" in its path. add_filter "/lib/myfile.rb" # Ignores a specific file. end From 32bd540d89a4150d35ee24fe5358b84865158632 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 2 Feb 2016 08:43:53 +0700 Subject: [PATCH 27/44] people.yml Example: Accessing a specific authorPermalink Pages and posts can also access a specific data item. The example below shows how to access a specific item: _data/people.yml: --- RDoc/_data/people.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 RDoc/_data/people.yml diff --git a/RDoc/_data/people.yml b/RDoc/_data/people.yml new file mode 100644 index 0000000..f9dde2b --- /dev/null +++ b/RDoc/_data/people.yml @@ -0,0 +1,11 @@ +--- +title: sample post +author: GistIcon +--- + +{% assign author = site.data.people[page.author] %} + From 37884659883f57b289f3d7c2083e66e5cf780ea3 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 2 Feb 2016 18:10:17 +0700 Subject: [PATCH 28/44] .php sh-4.3$ sh-4.3$ java -Xjava -Xmx128Mmx128M -Xms -Xms16M H16M HelloWelloWorld orld Error: Could not find or load main class HelloWorld Error: Could not find or load main class HelloWorld sh-4.3$ sh-4.3$ --- resource/.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 resource/.php diff --git a/resource/.php b/resource/.php new file mode 100644 index 0000000..3c93a89 --- /dev/null +++ b/resource/.php @@ -0,0 +1,6 @@ +private class HelloWorld{ + + private static void main(String [class]args){ + System.out.println("Hello World"); + } +} From 7e601de8ba45a6b1a354af3004a074f346ddf322 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 2 Feb 2016 18:49:20 +0700 Subject: [PATCH 29/44] .cobbol Dynamic Access Dynamic access supports both sequential and random access in the same program. With dynamic access, one file definition is used to perform both sequential and random processing like accessing some records in sequential order and others records by their keys. With relative and indexed files, the dynamic access mode allows you to switch back and forth between sequential access mode and random access mode while reading a file by using the NEXT phrase on the READ statement. NEXT and READ functionalities will be discussed in the next chapter. Syntax Following is the syntax of dynamic access mode: --- md/.cobbol | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 md/.cobbol diff --git a/md/.cobbol b/md/.cobbol new file mode 100644 index 0000000..8506d71 --- /dev/null +++ b/md/.cobbol @@ -0,0 +1,17 @@ +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT .cobbol ASSIGN TO dd-name + ORGANIZATION IS SEQUENTIAL + ACCESS MODE IS DYNAMIC + RECORD KEY IS rec-key1 + ALTERNATE RECORD KEY IS rec-key2 + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + FILE-CONTROL. + SELECT .cobbol ASSIGN TO dd-name + ORGANIZATION IS RELATIVE + ACCESS MODE IS DYNAMIC + RELATIVE KEY IS rec-key1 From a6079290c1acf8305fb3c578adcc2fe0bea427bb Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Tue, 2 Feb 2016 19:11:12 +0700 Subject: [PATCH 30/44] Syntax.rb The File.new Method: You can create a File object using File.new method for reading, writing, or both, according to the mode string. Finally, you can use File.close method to close that file. --- md/rb/Syntax.rb | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 md/rb/Syntax.rb diff --git a/md/rb/Syntax.rb b/md/rb/Syntax.rb new file mode 100644 index 0000000..1ddd833 --- /dev/null +++ b/md/rb/Syntax.rb @@ -0,0 +1,3 @@ +aFile = File.new("filename", "mode") + # ... process the file +aFile.close From 826f167fddd387fcb4cb95e3353a51b04a525583 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 02:19:15 +0700 Subject: [PATCH 31/44] manifest.json Authors are encouraged to use the HTTP cache directives to explicitly cache the manifest. For example, the following response would cause a cached manifest to be used one year from the time the response is sent: --- md/usr/bin/manifest.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 md/usr/bin/manifest.json diff --git a/md/usr/bin/manifest.json b/md/usr/bin/manifest.json new file mode 100644 index 0000000..ed097a6 --- /dev/null +++ b/md/usr/bin/manifest.json @@ -0,0 +1,11 @@ +HTTP/1.1 200 OK +Cache-Control: max-age=31536000 +Content-Type: application/manifest+json + +{ + "lang": "en", + "name": "GistIcon", + "start_url": "/start.html", + "display": "fullscreen", + "orientation": "landscape" +} From 2210ab5930242071d889c35fe9b6a62d86a1fb46 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 03:34:58 +0700 Subject: [PATCH 32/44] .rb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To get musical symbols you need 32-bit Unicode support. Emoji are scattered all over the map, not collected togethir in a block the way everything else is. In Java, you get at the exotic characters by encoding them in hex in your strings like this: \u00f7\u2713 to produce ÷ ✓. See String literals for more details. In HTML (Hypertext Markup Language), you get at the exotic characters by encoding them as entities such as ÷✓ to produce ÷ ✓. --- ,rb => .rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename ,rb => .rb (82%) diff --git a/,rb b/.rb similarity index 82% rename from ,rb rename to .rb index 0ae4ac3..fbf5ee6 100644 --- a/,rb +++ b/.rb @@ -1,5 +1,5 @@ -/pattern/ -/pattern/im # option can be specified +/pattern/ '\uf000' +/pattern/im # option can be specified '\u2713' %r!/usr/local! # general delimited regular expression #!/usr/bin/ruby From d3008761a50a81974b3d5c286de3e70e2ac3255c Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 03:58:21 +0700 Subject: [PATCH 33/44] .js Java does not have 32-bit String literals, like C style code points e.g. \U0001d504. Note the capital U vs the usual \ud504 I wrote the SurrogatePair applet to convert C-style code points to a arcane surrogate pairs to let you use 32-bit Unicode glyphs in your programs. --- GET/repos/owner/repo/.js | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 GET/repos/owner/repo/.js diff --git a/GET/repos/owner/repo/.js b/GET/repos/owner/repo/.js new file mode 100644 index 0000000..27f1c69 --- /dev/null +++ b/GET/repos/owner/repo/.js @@ -0,0 +1,48 @@ +/* + * [TestHexLiterals.java] + * + * Summary: Demonstrate how to use hex literals in Java. + * + * Copyright: (c) 2013-2016 Roedy Green, Canadian Mind Products, http://mindprod.com + * + * Licence: This software may be copied and used freely for any purpose but military. + * http://mindprod.com/contact/nonmil.html + * + * Requires: JDK 1.8+ + * + * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ + * + * Version History: + * 1.0 2013-01-05 initial version. + */ +package com.mindprod.example; + +import static java.lang.System.*; + +/** + * Demonstrate how to use hex literals in Java. + * + * @author Roedy Green, Canadian Mind Products + * @version 1.0 2013-01-05 initial version. + * @since 2013-01-05 + */ +public final class TestHexLiterals + { + /** + * Test harness + * + * @param args not used + */ + public static void main( String[] args ) + { + byte b = ( byte ) 0x20; + char c = '\u00c9'; + short s = ( short ) 0x0fab; + int i = 0xffab; + long l = 0xffabL; + float f = 0x1.0abcdefp3F; // p3 means times 8 i.e. 2 to the power 3 + double d = 0x1.0abcdefp3D; + out.println( b + " " + c + " " + s + " " + i + " " + l + " " + f + " " + d ); + // displays 32 É 4011 65451 65451 8.335555 8.335555523633957 + } + } From aab14975a54c5699389dbfd951c5572944e442b5 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 10:56:33 +0700 Subject: [PATCH 34/44] main.tex Arbitrary-precision decimal floating-point number library. --- md/root/latex/main.tex | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 md/root/latex/main.tex diff --git a/md/root/latex/main.tex b/md/root/latex/main.tex new file mode 100644 index 0000000..1a6ea5d --- /dev/null +++ b/md/root/latex/main.tex @@ -0,0 +1,34 @@ +\documentclass{article} +\usepackage{graphicx} + +\begin{document} + +\title{Introduction to \LaTeX{}} +\author{GistIcon} + +\maketitle + +\begin{abstract} +The abstract text goes here. +\end{abstract} + +\section{Introduction} + + +\begin{equation} + \label{simple_equation} + \alpha = \sqrt{ \beta } +\end{equation} + +\subsection{Subsection Heading Here} +Write your subsection text here. +Example: Accessing a specific authorPermalink + +Pages and posts can also access a specific data item. The example below shows how to access a specific item: + + +\section{Conclusion} +The File.new Method: +You can create a File object using File.new method for reading, writing, or both, according to the mode string. Finally, you can use File.close method to close that file. + +\end{document} From f7fc4d0b727fd7946c4dcbfb45cf233993dfbde7 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 5 Feb 2016 01:13:25 +0700 Subject: [PATCH 35/44] index.iso --- md/index.iso | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 md/index.iso diff --git a/md/index.iso b/md/index.iso new file mode 100644 index 0000000..2c37594 --- /dev/null +++ b/md/index.iso @@ -0,0 +1,4 @@ + + From be178fa0bb517544d572d83c1d9043298bcf71b2 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 5 Feb 2016 03:54:09 +0700 Subject: [PATCH 36/44] handle.rb There is an unsafe tainted string vulnerability in Fiddle and DL. This issue was originally reported and fixed with (CVE-2009-5147)[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147] in DL, but reappeared after DL was reimplemented using Fiddle and libffi. And, about DL, (CVE-2009-5147)[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147] was fixed at Ruby 1.9.1, but not fixed at other branches, then rubies which bundled DL except Ruby 1.9.1 are still vulnerable. Impacted code looks something like this: --- md/root/test/ruby/handle.rb | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 md/root/test/ruby/handle.rb diff --git a/md/root/test/ruby/handle.rb b/md/root/test/ruby/handle.rb new file mode 100644 index 0000000..5f4d471 --- /dev/null +++ b/md/root/test/ruby/handle.rb @@ -0,0 +1,2 @@ +handle = Fiddle::Handle.new(some_library) +function_pointer = handle[dangerous_user_input] From e4d7dcebaa9950bd1be1275f7890837945d84885 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 6 Feb 2016 13:48:31 +0700 Subject: [PATCH 37/44] class::Filddle.rb Fiddle::Handle The "fiddle" pattern had its origins in France about 1675, but is not found in English silver until a century later. Its handle's shape resembles a fiddle (violin) with the stem like a finger-board and the body with smooth parallel sides extending towards a rounded terminal. This pattern was also very common in American coin silver, was highly popular in the early part of the 19th century and generally replaced the Old English as the most popular pattern. The fiddle pattern has many variants: - fiddle thread, whith a border motif of one or two thin closely spaced lines along the entire lenght of both edges of the stem - fiddle shell, with a relief shell at the terminal of the handle - fiddle thread and shell, combining the preceding two forms --- md/root/test/ruby/Library/class::Filddle.rb | 76 +++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 md/root/test/ruby/Library/class::Filddle.rb diff --git a/md/root/test/ruby/Library/class::Filddle.rb b/md/root/test/ruby/Library/class::Filddle.rb new file mode 100644 index 0000000..d01a6f8 --- /dev/null +++ b/md/root/test/ruby/Library/class::Filddle.rb @@ -0,0 +1,76 @@ +**// new(lib = nil, flags = Fiddle::RTLD_LAZY | Fiddle::RTLD_GLOBAL) +**// Create a new handler that opens library named lib with flags. If no library is specified, RTLD_DEFAULT is used + + static VALUE +rb_fiddle_handle_initialize(int argc, VALUE argv[], VALUE self) +{ + void *ptr; + struct dl_handle *fiddle_handle; + VALUE lib, flag; + char *clib; + int cflag; + const char *err; + + switch( rb_scan_args(argc, argv, "02", &lib, &flag) ){ + case 0: + clib = NULL; + cflag = RTLD_LAZY | RTLD_GLOBAL; + break; + case 1: + clib = NIL_P(lib) ? NULL : SafeStringValueCStr(lib); + cflag = RTLD_LAZY | RTLD_GLOBAL; + break; + case 2: + clib = NIL_P(lib) ? NULL : SafeStringValueCStr(lib); + cflag = NUM2INT(flag); + break; + default: + rb_bug("rb_fiddle_handle_new"); + } + + rb_secure(2); + +#if defined(_WIN32) + if( !clib ){ + HANDLE rb_libruby_handle(void); + ptr = rb_libruby_handle(); + } + else if( STRCASECMP(clib, "libc") == 0 +# ifdef RUBY_COREDLL + || STRCASECMP(clib, RUBY_COREDLL) == 0 + || STRCASECMP(clib, RUBY_COREDLL".dll") == 0 +# endif + ){ +# ifdef _WIN32_WCE + ptr = dlopen("coredll.dll", cflag); +# else + ptr = w32_coredll(); +# endif + } + else +#endif + ptr = dlopen(clib, cflag); +#if defined(HAVE_DLERROR) + if( !ptr && (err = dlerror()) ){ + rb_raise(rb_eFiddleError, "%s", err); + } +#else + if( !ptr ){ + err = dlerror(); + rb_raise(rb_eFiddleError, "%s", err); + } +#endif + TypedData_Get_Struct(self, struct dl_handle, &fiddle_handle_data_type, fiddle_handle); + if( fiddle_handle->ptr && fiddle_handle->open && fiddle_handle->enable_close ){ + dlclose(fiddle_handle->ptr); + } + fiddle_handle->ptr = ptr; + fiddle_handle->open = 1; + fiddle_handle->enable_close = 0; + + if( rb_block_given_p() ){ + rb_ensure(rb_yield, self, rb_fiddle_handle_close, self); + } + + return Qnil; +} From d36f5523912c65fc686ce2092f21fdf1ab85c143 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 6 Feb 2016 19:51:55 +0700 Subject: [PATCH 38/44] CONTRIBUTTING.MD var self=this;this.get('/searchengine/contentSiteSetup.json',{nocache:true,params:{content_site_version:0.2},callback:function(data){self.passback_timeout=data.passback_timeout;self.content_site_setup_data=data;self.injection_id=priamSearchEngine.generateUniqueSearchId();if(data.banner_ad_enabled&&data.banner_source){self.initDefaultListener();self.banner_source=data.banner_source;self.banner_source.backfilled=null;self.banner_source.backfilled_attempt=0;priamDebug('list of partners to try '+self.banner_source.leaderboard_priorities.join(','));self.insertTopBannerContainer();} if(data.widgets&&data.widgets.length>0){priamjQuery.each(data.widgets,function(i,widget){if(widget.enable){self.initWidget(widget);}});} function receiveMessage(event){if(event.data.iframe_backfill){self.banner_source.leaderboard_priorities=event.data.leaderboard_priorities;self.banner_source.leaderboard_tried=event.data.leaderboard_tried;self.backfillLeaderboard();} if(event.data=='priam_close_leaderboard'&&priamSearchEngine.domain.indexOf(event.origin)!==1){priamSearchEngine.closeBannerAd();}} window.addEventListener('message',receiveMessage,false);}});},initWidget:function(widget){if(typeof widget==='string'){priamjQuery.each(priamSearchEngine.content_site_setup_data.widgets,function(i,el){if(el.partner==widget){widget=el;return false;}});} priamDebug('init widget '+widget.partner);var el=document.createElement('script');el.text=widget.value;document.getElementsByTagName('head')[0].appendChild(el);if(widget.partner=='imonomy'&&typeof this.initImonomyListener==='function'){this.initImonomyListener();} else if(widget.partner=='am_widgets'&&typeof this.initAdoptMediaListener==='function'){this.initAdoptMediaListener();} else if(widget.partner=='future_ads'&&typeof this.initFutureAdsListener==='function'){this.initFutureAdsListener();} else if(widget.partner=='first_offer'&&typeof this.initFirstOfferListener==='function'){this.initFirstOfferListener();} else{priamSearchEngine.trackDefaultInjection(widget.partner);}},insertTopBannerContainer:function(){if(this.banner_source.leaderboard_priorities.length==0){priamDebug('partners list exhausted');return;} --- CONTRIBUTTING/CONTRIBUTTING.MD | 291 +++++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 CONTRIBUTTING/CONTRIBUTTING.MD diff --git a/CONTRIBUTTING/CONTRIBUTTING.MD b/CONTRIBUTTING/CONTRIBUTTING.MD new file mode 100644 index 0000000..26f43b0 --- /dev/null +++ b/CONTRIBUTTING/CONTRIBUTTING.MD @@ -0,0 +1,291 @@ +# Contributing to AngularJS + +We'd love for you to contribute to our source code and to make AngularJS even better than it is +today! Here are the guidelines we'd like you to follow: + + - [Code of Conduct](#coc) + - [Question or Problem?](#question) + - [Issues and Bugs](#issue) + - [Feature Requests](#feature) + - [Submission Guidelines](#submit) + - [Coding Rules](#rules) + - [Commit Message Guidelines](#commit) + - [Signing the CLA](#cla) + - [Further Info](#info) + +## Code of Conduct +Help us keep Angular open and inclusive. Please read and follow our [Code of Conduct][coc]. + +## Got a Question or Problem? + +If you have questions about how to use AngularJS, please direct these to the [Google Group][groups] +discussion list or [StackOverflow][stackoverflow]. We are also available on [IRC][irc] and [Gitter][gitter]. + +## Found an Issue? +If you find a bug in the source code or a mistake in the documentation, you can help us by +submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request +with a fix. + +***Localization Issue:*** *Angular.js uses the [Google Closure I18N library], to generate its own I18N files. This means that +any changes to these files would be lost the next time that we import the library. The recommended +approach is to submit a patch to the I18N project directly, instead of submitting it here.* + +**Please see the Submission Guidelines below**. + +## Want a Feature? +You can request a new feature by submitting an issue to our [GitHub Repository][github]. If you +would like to implement a new feature then consider what kind of change it is: + +* **Major Changes** that you wish to contribute to the project should be discussed first on our +[dev mailing list][angular-dev] or [IRC][irc] so that we can better coordinate our efforts, prevent +duplication of work, and help you to craft the change so that it is successfully accepted into the +project. +* **Small Changes** can be crafted and submitted to the [GitHub Repository][github] as a Pull Request. + + +## Want a Doc Fix? +If you want to help improve the docs, it's a good idea to let others know what you're working on to +minimize duplication of effort. Before starting, check out the issue queue for +[Milestone:Docs Only](https://github.com/angular/angular.js/issues?milestone=24&state=open). +Comment on an issue to let others know what you're working on, or create a new issue if your work +doesn't fit within the scope of any of the existing doc fix projects. + +For large fixes, please build and test the documentation before submitting the PR to be sure you haven't +accidentally introduced any layout or formatting issues. You should also make sure that your commit message +is labeled "docs:" and follows the **Git Commit Guidelines** outlined below. + +If you're just making a small change, don't worry about filing an issue first. Use the friendly blue "Improve this doc" button at the top right of the doc page to fork the repository in-place and make a quick change on the fly. When naming the commit, it is advised to still label it according to the commit guidelines below, by starting the commit message with **docs** and referencing the filename. Since this is not obvious and some changes are made on the fly, this is not strictly necessary and we will understand if this isn't done the first few times. + +## Submission Guidelines + +### Submitting an Issue +Before you submit your issue search the archive, maybe your question was already answered. + +If your issue appears to be a bug, and hasn't been reported, open a new issue. +Help us to maximize the effort we can spend fixing issues and adding new +features, by not reporting duplicate issues. Providing the following information will increase the +chances of your issue being dealt with quickly: + +* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps +* **Motivation for or Use Case** - explain why this is a bug for you +* **Angular Version(s)** - is it a regression? +* **Browsers and Operating System** - is this a problem with all browsers or only IE8? +* **Reproduce the Error** - provide a live example (using [Plunker][plunker] or + [JSFiddle][jsfiddle]) or an unambiguous set of steps. +* **Related Issues** - has a similar issue been reported before? +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be + causing the problem (line of code or commit) + +Here is a great example of a well defined issue: https://github.com/angular/angular.js/issues/5069 + +**If you get help, help others. Good karma rulez!** + +### Submitting a Pull Request +Before you submit your pull request consider the following guidelines: + +* Search [GitHub](https://github.com/angular/angular.js/pulls) for an open or closed Pull Request + that relates to your submission. You don't want to duplicate effort. +* Please sign our [Contributor License Agreement (CLA)](#cla) before sending pull + requests. We cannot accept code without this. +* Make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch master + ``` + +* Create your patch, **including appropriate test cases**. +* Follow our [Coding Rules](#rules). +* Run the full Angular test suite, as described in the [developer documentation][dev-doc], + and ensure that all tests pass. +* Commit your changes using a descriptive commit message that follows our + [commit message conventions](#commit-message-format) and passes our commit message presubmit hook + `validate-commit-msg.js`. Adherence to the [commit message conventions](#commit-message-format) + is required because release notes are automatically generated from these messages. + + ```shell + git commit -a + ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. + +* Build your changes locally to ensure all the tests pass: + + ```shell + grunt test + ``` + +* Push your branch to GitHub: + + ```shell + git push origin my-fix-branch + ``` + +* In GitHub, send a pull request to `angular:master`. +* If we suggest changes then: + * Make the required updates. + * Re-run the Angular test suite to ensure tests are still passing. + * Commit your changes to your branch (e.g. `my-fix-branch`). + * Push the changes to your GitHub repository (this will update your Pull Request). + +If the PR gets too outdated we may ask you to rebase and force push to update the PR: + + ```shell + git rebase master -i + git push origin my-fix-branch -f + ``` + +*WARNING. Squashing or reverting commits and forced push thereafter may remove GitHub comments +on code that were previously made by you and others in your commits.* + +That's it! Thank you for your contribution! + +#### After your pull request is merged + +After your pull request is merged, you can safely delete your branch and pull the changes +from the main (upstream) repository: + +* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: + + ```shell + git push origin --delete my-fix-branch + ``` + +* Check out the master branch: + + ```shell + git checkout master -f + ``` + +* Delete the local branch: + + ```shell + git branch -D my-fix-branch + ``` + +* Update your master with the latest upstream version: + + ```shell + git pull --ff upstream master + ``` + +## Coding Rules +To ensure consistency throughout the source code, keep these rules in mind as you are working: + +* All features or bug fixes **must be tested** by one or more [specs][unit-testing]. +* All public API methods **must be documented** with ngdoc, an extended version of jsdoc (we added + support for markdown and templating via @ngdoc tag). To see how we document our APIs, please check + out the existing ngdocs and see [this wiki page][ngDocs]. +* With the exceptions listed below, we follow the rules contained in + [Google's JavaScript Style Guide][js-style-guide]: + * **Do not use namespaces**: Instead, wrap the entire angular code base in an anonymous closure and + export our API explicitly rather than implicitly. + * Wrap all code at **100 characters**. + * Instead of complex inheritance hierarchies, we **prefer simple objects**. We use prototypal + inheritance only when absolutely necessary. + * We **love functions and closures** and, whenever possible, prefer them over objects. + * To write concise code that can be better minified, we **use aliases internally** that map to the + external API. See our existing code to see what we mean. + * We **don't go crazy with type annotations** for private internal APIs unless it's an internal API + that is used throughout AngularJS. The best guidance is to do what makes the most sense. + +## Git Commit Guidelines + +We have very precise rules over how our git commit messages can be formatted. This leads to **more +readable messages** that are easy to follow when looking through the **project history**. But also, +we use the git commit messages to **generate the AngularJS change log**. + +The commit message formatting can be added using a typical git workflow or through the use of a CLI wizard ([Commitizen](https://github.com/commitizen/cz-cli)). To use the wizard, run `npm run commit` in your terminal after staging your changes in git. + +### Commit Message Format +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +format that includes a **type**, a **scope** and a **subject**: + +``` +(): + + + +